Public Member Functions | Protected Member Functions | Protected Attributes

MC_Draw Class Reference

List of all members.

Public Member Functions

 MC_Draw ()
 constructor
 ~MC_Draw ()
void set_method (const bool originalMC=false)
realcube ()
Pointspace ()
data_access *& dat_access ()
bool tesselate_cube (real iso)

Protected Member Functions

bool process_cube ()
bool test_face (schar face)
bool test_interior (schar s)
bool compute_intersection_points ()
bool add_vertex (char i, char j)
bool comp_c_vertex ()
void draw_triangle (const char *trig, char n, int v12=-1)
void print_cube ()

Protected Attributes

bool _originalMC
real _cube [8]
Point _space [8]
Point _verts [8][8]
Point _c_vert
uchar _lut_entry
uchar _case
uchar _config
uchar _subconfig
data_access_dat_access

Constructor & Destructor Documentation

MC_Draw::MC_Draw (  )  [inline]

constructor

Main and default constructor

MC_Draw::~MC_Draw (  )  [inline]

Destructor


Member Function Documentation

bool MC_Draw::add_vertex ( char  i,
char  j 
) [protected]

adds a vertex on edge cube[i] cube[j]

bool MC_Draw::comp_c_vertex (  )  [protected]

compute a vertex inside the current cube

bool MC_Draw::compute_intersection_points (  )  [protected]

computes almost all the vertices of the mesh by interpolation along the cubes edges

real* MC_Draw::cube (  )  [inline]

retrieves the isovalues at the cube vertices

data_access*& MC_Draw::dat_access (  )  [inline]

retrieves the data accessor

void MC_Draw::draw_triangle ( const char *  trig,
char  n,
int  v12 = -1 
) [protected]

routine to add a triangle to the mesh

Parameters:
trig the code for the triangle as a sequence of edges index
n the number of triangles to produce
v12 the index of the interior vertex to use, if necessary
void MC_Draw::print_cube (  )  [protected]

prints cube for debug

bool MC_Draw::process_cube (  )  [protected]

tesselates one cube

void MC_Draw::set_method ( const bool  originalMC = false  )  [inline]

selects wether the algorithm will use the enhanced topologically controlled lookup table or the original MarchingCubes

Parameters:
originalMC true for the original Marching Cubes
Point* MC_Draw::space (  )  [inline]

retrieves the geometry of the cube

bool MC_Draw::tesselate_cube ( real  iso  ) 

Main algorithm

Parameters:
iso isovalue
bool MC_Draw::test_face ( schar  face  )  [protected]

tests if the components of the tesselation of the cube should be connected by the interior of an ambiguous face

bool MC_Draw::test_interior ( schar  s  )  [protected]

tests if the components of the tesselation of the cube should be connected through the interior of the cube


Member Data Documentation

Point MC_Draw::_c_vert [protected]

coordinates of the central vertex

uchar MC_Draw::_case [protected]

case of the active cube in [0..15]

uchar MC_Draw::_config [protected]

configuration of the active cube

real MC_Draw::_cube[8] [protected]

values of the implicit function on the active cube

data accessor

uchar MC_Draw::_lut_entry [protected]

cube sign representation in [0..255]

bool MC_Draw::_originalMC [protected]

selects wether the algorithm will use the enhanced topologically controlled lookup table or the original MarchingCubes

Point MC_Draw::_space[8] [protected]

coordinates of the active cube

uchar MC_Draw::_subconfig [protected]

subconfiguration of the active cube

Point MC_Draw::_verts[8][8] [protected]

coordinates of the vertices, per edge


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Defines