EPSWrite Class Reference

Generates an Postcript program to display the mesh in EPS format. More...

#include </usr1/tp517/Tumble/trunk/src/tumble/epswrite.h>

Collaboration diagram for EPSWrite:

[legend]
List of all members.

Public Member Functions

 EPSWrite (BezierMesh *_bezier_mesh, BoundaryMesh *_bdry_mesh)
int map_rgbcolor (int idx, const Color &color)
int map_grayscale (int idx, float scale)
int set_border_draw (int mode)
int set_border_ink (unsigned linewidth, float shade)
int set_border_ink (unsigned linewidth, const Color &rgbcolor)
int set_edge_draw (int mode)
int set_edge_ink (unsigned linewidth, float shade)
int set_edge_ink (unsigned linewidth, const Color &rgbcolor)
int set_bdry_draw (int mode)
int set_bdry_ink (unsigned linewidth, float shade)
int set_bdry_ink (unsigned linewidth, const Color &rgbcolor)
int set_face_draw (int mode)
int set_page_dim (unsigned xmin, unsigned ymin, unsigned xmax, unsigned ymax, unsigned margin)
int set_page_dim_inch (float xmin, float ymin, float xmax, float ymax, float margin)
int set_world_view (const Point2D &bot, const Point2D &top)
int write (char *epsfilename)

Private Member Functions

void print_header ()
void set_options ()
void set_clip ()
void set_ink (const PSDrawMode &mode)
PSCoord convert_coords (const Point2D &pt)
void project_to_canvas ()
void draw_edge (BezierEdge *e)
void shade_triangle (BezierTriangle *t)
void draw_edges ()
void draw_bdry ()
void draw_border ()
void draw_faces ()

Private Attributes

BezierMeshbezier_mesh
BoundaryMeshbdry_mesh
FILE * epsfile
Point2D world_bot
Point2D world_top
double world_width
double world_height
Point2D view_bot
Point2D view_top
double view_height
double view_width
PSCoord page_bot
PSCoord page_top
unsigned page_width
unsigned page_height
unsigned margin_width
PSCoord canvas_bot
PSCoord canvas_top
unsigned canvas_width
unsigned canvas_height
PSDrawMode bdry
PSDrawMode edges
PSDrawMode border
int shade_face_mode
GrayscaleMap grayscale_map
ColorMap rgb_map

Detailed Description

Generates an Postcript program to display the mesh in EPS format.

Definition at line 44 of file epswrite.h.


Constructor & Destructor Documentation

EPSWrite::EPSWrite ( BezierMesh _bezier_mesh,
BoundaryMesh _bdry_mesh 
)

Definition at line 24 of file epswrite.C.

References BoundaryMesh::bbox(), bdry_mesh, bezier_mesh, Point2D::coords, default_eps_grayscale_map(), default_eps_rgb_map(), DRAW_OFF, grayscale_map, rgb_map, set_bdry_draw(), set_border_ink(), set_edge_ink(), set_face_draw(), set_page_dim(), set_world_view(), Point2D::x(), and Point2D::y().

Here is the call graph for this function:


Member Function Documentation

void EPSWrite::print_header (  )  [private]

Definition at line 317 of file epswrite.C.

References epsfile, page_bot, page_top, PSCoord::x, and PSCoord::y.

Referenced by write().

void EPSWrite::set_options (  )  [private]

Definition at line 327 of file epswrite.C.

References epsfile.

Referenced by write().

void EPSWrite::set_clip (  )  [private]

Definition at line 334 of file epswrite.C.

References canvas_bot, canvas_top, epsfile, PSCoord::x, and PSCoord::y.

Referenced by write().

void EPSWrite::set_ink ( const PSDrawMode mode  )  [private]

Definition at line 347 of file epswrite.C.

References Color::B(), DRAW_GRAYSCALE, DRAW_RGB, epsfile, Color::G(), PSDrawMode::grayscale, PSDrawMode::linewidth, PSDrawMode::mode, Color::R(), and PSDrawMode::rgbcolor.

Referenced by draw_bdry(), draw_border(), draw_edges(), and shade_triangle().

Here is the call graph for this function:

PSCoord EPSWrite::convert_coords ( const Point2D pt  )  [private]

Definition at line 309 of file epswrite.C.

References canvas_bot, canvas_height, canvas_width, view_bot, view_height, view_width, Point2D::x(), PSCoord::x, Point2D::y(), and PSCoord::y.

Referenced by draw_edge(), and shade_triangle().

Here is the call graph for this function:

void EPSWrite::project_to_canvas (  )  [private]

Definition at line 225 of file epswrite.C.

References Point2D::assign(), canvas_height, canvas_width, Point2D::coords, view_bot, view_height, view_top, view_width, world_bot, world_height, world_top, world_width, Point2D::x(), and Point2D::y().

Referenced by set_page_dim(), and set_world_view().

Here is the call graph for this function:

void EPSWrite::draw_edge ( BezierEdge e  )  [private]

Definition at line 375 of file epswrite.C.

References convert_coords(), epsfile, BezierEdge::get_cp(), PSCoord::x, and PSCoord::y.

Referenced by draw_bdry(), and draw_edges().

Here is the call graph for this function:

void EPSWrite::shade_triangle ( BezierTriangle t  )  [private]

Definition at line 392 of file epswrite.C.

References bezier_mesh, convert_coords(), DRAW_OFF, CellTuple< Vertex, Edge, Face >::e, edges, epsfile, BezierTriangle::get_color(), BezierEdge::get_cp(), BezierVertex::get_cp(), CellComplex< Vertex, Edge, Face, Tuple >::get_tuple(), PSDrawMode::grayscale, grayscale_map, PSDrawMode::linewidth, PSDrawMode::mode, rgb_map, PSDrawMode::rgbcolor, set_ink(), shade_face_mode, CellComplex< Vertex, Edge, Face, Tuple >::Switch(), CellTuple< Vertex, Edge, Face >::v, PSCoord::x, and PSCoord::y.

Referenced by draw_faces().

Here is the call graph for this function:

void EPSWrite::draw_edges (  )  [private]

Definition at line 299 of file epswrite.C.

References bezier_mesh, draw_edge(), edges, CellComplex< Vertex, Edge, Face, Tuple >::get_edges_begin(), CellComplex< Vertex, Edge, Face, Tuple >::get_edges_end(), and set_ink().

Referenced by write().

Here is the call graph for this function:

void EPSWrite::draw_bdry (  )  [private]

Definition at line 280 of file epswrite.C.

References bdry, bezier_mesh, draw_edge(), CellComplex< Vertex, Edge, Face, Tuple >::get_edges_begin(), CellComplex< Vertex, Edge, Face, Tuple >::get_edges_end(), and set_ink().

Referenced by write().

Here is the call graph for this function:

void EPSWrite::draw_border (  )  [private]

Definition at line 361 of file epswrite.C.

References border, canvas_bot, canvas_top, epsfile, PSDrawMode::linewidth, set_ink(), PSCoord::x, and PSCoord::y.

Referenced by write().

Here is the call graph for this function:

void EPSWrite::draw_faces (  )  [private]

Definition at line 290 of file epswrite.C.

References bezier_mesh, CellComplex< Vertex, Edge, Face, Tuple >::get_faces_begin(), CellComplex< Vertex, Edge, Face, Tuple >::get_faces_end(), and shade_triangle().

Referenced by write().

Here is the call graph for this function:

int EPSWrite::map_rgbcolor ( int  idx,
const Color color 
)

Definition at line 81 of file epswrite.C.

References Color::is_valid(), and rgb_map.

Here is the call graph for this function:

int EPSWrite::map_grayscale ( int  idx,
float  scale 
)

Definition at line 88 of file epswrite.C.

References grayscale_map.

int EPSWrite::set_border_draw ( int  mode  ) 

Definition at line 95 of file epswrite.C.

References border, DRAW_GRAYSCALE, DRAW_OFF, DRAW_RGB, and PSDrawMode::mode.

int EPSWrite::set_border_ink ( unsigned  linewidth,
float  shade 
)

Definition at line 104 of file epswrite.C.

References border, DRAW_GRAYSCALE, PSDrawMode::grayscale, PSDrawMode::linewidth, and PSDrawMode::mode.

Referenced by EPSWrite().

int EPSWrite::set_border_ink ( unsigned  linewidth,
const Color rgbcolor 
)

Definition at line 113 of file epswrite.C.

References border, DRAW_RGB, Color::is_valid(), PSDrawMode::linewidth, PSDrawMode::mode, and PSDrawMode::rgbcolor.

Here is the call graph for this function:

int EPSWrite::set_edge_draw ( int  mode  ) 

Definition at line 149 of file epswrite.C.

References DRAW_GRAYSCALE, DRAW_OFF, DRAW_RGB, edges, and PSDrawMode::mode.

int EPSWrite::set_edge_ink ( unsigned  linewidth,
float  shade 
)

Definition at line 158 of file epswrite.C.

References DRAW_GRAYSCALE, edges, PSDrawMode::grayscale, PSDrawMode::linewidth, and PSDrawMode::mode.

Referenced by EPSWrite().

int EPSWrite::set_edge_ink ( unsigned  linewidth,
const Color rgbcolor 
)

Definition at line 167 of file epswrite.C.

References DRAW_RGB, edges, Color::is_valid(), PSDrawMode::linewidth, PSDrawMode::mode, and PSDrawMode::rgbcolor.

Here is the call graph for this function:

int EPSWrite::set_bdry_draw ( int  mode  ) 

Definition at line 122 of file epswrite.C.

References bdry, DRAW_GRAYSCALE, DRAW_OFF, DRAW_RGB, and PSDrawMode::mode.

Referenced by EPSWrite().

int EPSWrite::set_bdry_ink ( unsigned  linewidth,
float  shade 
)

Definition at line 131 of file epswrite.C.

References bdry, DRAW_GRAYSCALE, PSDrawMode::grayscale, PSDrawMode::linewidth, and PSDrawMode::mode.

int EPSWrite::set_bdry_ink ( unsigned  linewidth,
const Color rgbcolor 
)

Definition at line 140 of file epswrite.C.

References bdry, DRAW_RGB, Color::is_valid(), PSDrawMode::linewidth, PSDrawMode::mode, and PSDrawMode::rgbcolor.

Here is the call graph for this function:

int EPSWrite::set_face_draw ( int  mode  ) 

Definition at line 176 of file epswrite.C.

References DRAW_GRAYSCALE, DRAW_OFF, DRAW_RGB, and shade_face_mode.

Referenced by EPSWrite().

int EPSWrite::set_page_dim ( unsigned  xmin,
unsigned  ymin,
unsigned  xmax,
unsigned  ymax,
unsigned  margin 
)

Definition at line 185 of file epswrite.C.

References canvas_bot, canvas_height, canvas_top, canvas_width, margin_width, page_bot, page_height, page_top, page_width, project_to_canvas(), PSCoord::x, and PSCoord::y.

Referenced by EPSWrite(), and set_page_dim_inch().

Here is the call graph for this function:

int EPSWrite::set_page_dim_inch ( float  xmin,
float  ymin,
float  xmax,
float  ymax,
float  margin 
)

Definition at line 208 of file epswrite.C.

References INCH_TO_PT, and set_page_dim().

Here is the call graph for this function:

int EPSWrite::set_world_view ( const Point2D bot,
const Point2D top 
)

Definition at line 214 of file epswrite.C.

References project_to_canvas(), world_bot, world_height, world_top, world_width, Point2D::x(), and Point2D::y().

Referenced by EPSWrite().

Here is the call graph for this function:

int EPSWrite::write ( char *  epsfilename  ) 

Definition at line 251 of file epswrite.C.

References bdry, bdry_mesh, bezier_mesh, border, canvas_height, canvas_width, draw_bdry(), draw_border(), draw_edges(), draw_faces(), DRAW_OFF, edges, epsfile, PSDrawMode::mode, page_height, page_width, print_header(), set_clip(), set_options(), shade_face_mode, world_bot, world_height, world_top, and world_width.

Referenced by Simulation::to_eps().

Here is the call graph for this function:


Member Data Documentation

BezierMesh* EPSWrite::bezier_mesh [private]

Definition at line 46 of file epswrite.h.

Referenced by draw_bdry(), draw_edges(), draw_faces(), EPSWrite(), shade_triangle(), and write().

BoundaryMesh* EPSWrite::bdry_mesh [private]

Definition at line 47 of file epswrite.h.

Referenced by EPSWrite(), and write().

FILE* EPSWrite::epsfile [private]

Definition at line 48 of file epswrite.h.

Referenced by draw_border(), draw_edge(), print_header(), set_clip(), set_ink(), set_options(), shade_triangle(), and write().

Point2D EPSWrite::world_bot [private]

Definition at line 50 of file epswrite.h.

Referenced by project_to_canvas(), set_world_view(), and write().

Point2D EPSWrite::world_top [private]

Definition at line 51 of file epswrite.h.

Referenced by project_to_canvas(), set_world_view(), and write().

double EPSWrite::world_width [private]

Definition at line 52 of file epswrite.h.

Referenced by project_to_canvas(), set_world_view(), and write().

double EPSWrite::world_height [private]

Definition at line 53 of file epswrite.h.

Referenced by project_to_canvas(), set_world_view(), and write().

Point2D EPSWrite::view_bot [private]

Definition at line 55 of file epswrite.h.

Referenced by convert_coords(), and project_to_canvas().

Point2D EPSWrite::view_top [private]

Definition at line 55 of file epswrite.h.

Referenced by project_to_canvas().

double EPSWrite::view_height [private]

Definition at line 56 of file epswrite.h.

Referenced by convert_coords(), and project_to_canvas().

double EPSWrite::view_width [private]

Definition at line 56 of file epswrite.h.

Referenced by convert_coords(), and project_to_canvas().

PSCoord EPSWrite::page_bot [private]

Definition at line 58 of file epswrite.h.

Referenced by print_header(), and set_page_dim().

PSCoord EPSWrite::page_top [private]

Definition at line 59 of file epswrite.h.

Referenced by print_header(), and set_page_dim().

unsigned EPSWrite::page_width [private]

Definition at line 60 of file epswrite.h.

Referenced by set_page_dim(), and write().

unsigned EPSWrite::page_height [private]

Definition at line 61 of file epswrite.h.

Referenced by set_page_dim(), and write().

unsigned EPSWrite::margin_width [private]

Definition at line 62 of file epswrite.h.

Referenced by set_page_dim().

PSCoord EPSWrite::canvas_bot [private]

Definition at line 64 of file epswrite.h.

Referenced by convert_coords(), draw_border(), set_clip(), and set_page_dim().

PSCoord EPSWrite::canvas_top [private]

Definition at line 65 of file epswrite.h.

Referenced by draw_border(), set_clip(), and set_page_dim().

unsigned EPSWrite::canvas_width [private]

Definition at line 66 of file epswrite.h.

Referenced by convert_coords(), project_to_canvas(), set_page_dim(), and write().

unsigned EPSWrite::canvas_height [private]

Definition at line 67 of file epswrite.h.

Referenced by convert_coords(), project_to_canvas(), set_page_dim(), and write().

PSDrawMode EPSWrite::bdry [private]

Definition at line 69 of file epswrite.h.

Referenced by draw_bdry(), set_bdry_draw(), set_bdry_ink(), and write().

PSDrawMode EPSWrite::edges [private]

Definition at line 70 of file epswrite.h.

Referenced by draw_edges(), set_edge_draw(), set_edge_ink(), shade_triangle(), and write().

PSDrawMode EPSWrite::border [private]

Definition at line 71 of file epswrite.h.

Referenced by draw_border(), set_border_draw(), set_border_ink(), and write().

int EPSWrite::shade_face_mode [private]

Definition at line 73 of file epswrite.h.

Referenced by set_face_draw(), shade_triangle(), and write().

GrayscaleMap EPSWrite::grayscale_map [private]

Definition at line 74 of file epswrite.h.

Referenced by EPSWrite(), map_grayscale(), and shade_triangle().

ColorMap EPSWrite::rgb_map [private]

Definition at line 75 of file epswrite.h.

Referenced by EPSWrite(), map_rgbcolor(), and shade_triangle().


The documentation for this class was generated from the following files:
Generated on Mon May 24 09:53:34 2010 for TUMBLE by  doxygen 1.5.2