In file tetrahedrisation/TetraSurfaceZone3D.h:

class TetraSurfaceZone3D : public ListElement<TetraSurfaceZone3D> ifdef GRAPHICS, public Surface endif

Surface Zone class of a 3D Tetrahedrisation containing a list of triangles

Inheritance:


Public Methods

V* operator* () const
returns current element
V* operator* () const
returns current element
const TclString& getName (void) const
returns zone name
inline unsigned int getRef (void) const
returns zone reference number
inline Tetra3D* getTetrahedrisation () const
get the mesh containing the surface zone
void setName (const TclString& n)
set new zone name
void setRef (unsigned int r)
set the zone unique reference
void set1DTextureCoordinates (SET_TETRAHEDRISATION_1D_TEXTURE_COORDINATES f, bool normalize=false)
set the 1D texture coordinates for each triangle of the zone
void triangleRemoved (TetraTriangle3D *tr)
removes a triangle from the list
void newTriangle (TetraTriangle3D *tr)
adds a triangle to the tetrahedron list
void apply (void (TetraVertex3D::*ptr)(void))
apply vertex member function on each surface zone vertex
void apply (void (TetraVertex3D::*ptr)(const double), const double val)
apply vertex member function on each surface zone vertex
void expand ()
morphological operator that expands the zone to its neighbors
void shrink ()
morphological operator that shrinks the zone
void computeNormalOnVertices ()
compute normal on surface zone vertices
virtual void buildFlat ()
build the display list for flat shading of triangles
virtual void buildSolid ()
build the display list for Gouraud shading of triangles
virtual void buildWireframe ()
build the display list for wireframe display
virtual void setRedrawOrder (unsigned int order)
set object redraw order for transparency sorting
void computeAutomaticTextureCoordinates ()
set the textureCoordonates values of triangles
virtual void computeStripList (void)
compute stripList
inline VertexInformation* getVertexInformation (TetraVertex3D* v) const
return the information about a vertex if the vertex isn't part of the surfaceZone return NULL
Vec3 getVertexNormal (TetraVertex3D* v) const
return the surface normal of a vertex if the vertex isn't part of the surfaceZone return (0,0,0);
double getVertexTextureCoordinate (TetraVertex3D* v, int i) const
return the ith surface texture coordinate of a vertex if the vertex isn't part of the surfaceZone return 0;
void setVertexTextureCoordinate (TetraVertex3D* v, int i, double c)
set the texture coordinate of a vertex if the vertex isn't part of the surfaceZone do nothing;
inline std::set <TetraTriangle3D *> ::iterator getFirstTriangle ()
returns the first element of the list of triangles
inline std::set <TetraTriangle3D *> ::iterator getLastTriangle ()
returns the last element of the list of triangles
void writeVertexList (const TclString file) const
write list of zone's vertices

Public

typedef struct TetraVertex3D* vertex
a struc that compile a surfaceZone's vertex's information
constructor
TetraSurfaceZone3D (Tetra3D *mesh, const TclString& name)
constructors
destructor
virtual ~TetraSurfaceZone3D ()
deletes zone

Protected Fields

TclString name
zone name
Tetra3D* tetrahedrisation
tetrahetrisation where the zone belongs to
unsigned int ref
zone unique reference
std::set <TetraTriangle3D *> triangleList
triangle list of the zone
std::map <TetraVertex3D*,VertexInformation *> vertexInformationMap
vector of VertexInformation
unsigned int redrawOrder
redraw order (for transparency redraw)
bool topologyChanged
whether zone's topology was changed
std::list TetraVertex3D*> > stripList
list of vertices for triangles strips

Documentation

Surface Zone class of a 3D Tetrahedrisation containing a list of triangles
V* operator*() const
returns current element

V* operator*() const
returns current element

typedef struct TetraVertex3D* vertex
a struc that compile a surfaceZone's vertex's information

TclString name
zone name

Tetra3D* tetrahedrisation
tetrahetrisation where the zone belongs to

unsigned int ref
zone unique reference

std::set <TetraTriangle3D *> triangleList
triangle list of the zone

std::map <TetraVertex3D*,VertexInformation *> vertexInformationMap
vector of VertexInformation

unsigned int redrawOrder
redraw order (for transparency redraw)

bool topologyChanged
whether zone's topology was changed

std::list TetraVertex3D*> > stripList
list of vertices for triangles strips

constructor

TetraSurfaceZone3D(Tetra3D *mesh, const TclString& name)
constructors
Parameters:
mesh - zone tetrahedrisation
name - zone name

destructor

virtual ~TetraSurfaceZone3D()
deletes zone

const TclString& getName(void) const
returns zone name

inline unsigned int getRef(void) const
returns zone reference number

inline Tetra3D* getTetrahedrisation() const
get the mesh containing the surface zone

void setName(const TclString& n)
set new zone name
Parameters:
n - new zone name

void setRef(unsigned int r)
set the zone unique reference

void set1DTextureCoordinates(SET_TETRAHEDRISATION_1D_TEXTURE_COORDINATES f, bool normalize=false)
set the 1D texture coordinates for each triangle of the zone
Parameters:
f - a function that returns 1 texture coordinate for each triangle vertex
normalize - if the texture coordinates should be scaled between 0 and 1 (computes min and max value)

void triangleRemoved(TetraTriangle3D *tr)
removes a triangle from the list
Parameters:
tr - triangle to remove from the list

void newTriangle(TetraTriangle3D *tr)
adds a triangle to the tetrahedron list
Parameters:
tr - triangle to add in list

void apply(void (TetraVertex3D::*ptr)(void))
apply vertex member function on each surface zone vertex
Parameters:
ptr - vertex member function without any arguments

void apply(void (TetraVertex3D::*ptr)(const double), const double val)
apply vertex member function on each surface zone vertex
Parameters:
ptr - vertex member function with a double value argument
val - the argument passed to the member function

void expand()
morphological operator that expands the zone to its neighbors

void shrink()
morphological operator that shrinks the zone

void computeNormalOnVertices()
compute normal on surface zone vertices

virtual void buildFlat()
build the display list for flat shading of triangles

virtual void buildSolid()
build the display list for Gouraud shading of triangles

virtual void buildWireframe()
build the display list for wireframe display

virtual void setRedrawOrder(unsigned int order)
set object redraw order for transparency sorting
Parameters:
order - redraw order (should be 1 or 2)

void computeAutomaticTextureCoordinates()
set the textureCoordonates values of triangles

virtual void computeStripList(void)
compute stripList

inline VertexInformation* getVertexInformation(TetraVertex3D* v) const
return the information about a vertex if the vertex isn't part of the surfaceZone return NULL
Parameters:
v - the vertex

Vec3 getVertexNormal(TetraVertex3D* v) const
return the surface normal of a vertex if the vertex isn't part of the surfaceZone return (0,0,0);
Parameters:
ref - the ref of the vertex

double getVertexTextureCoordinate(TetraVertex3D* v, int i) const
return the ith surface texture coordinate of a vertex if the vertex isn't part of the surfaceZone return 0;
Parameters:
ref - the ref of the vertex
i - the index of the coordinate (i in [0..3])

void setVertexTextureCoordinate(TetraVertex3D* v, int i, double c)
set the texture coordinate of a vertex if the vertex isn't part of the surfaceZone do nothing;
Parameters:
ref - the ref of the vertex
i - the index of the coordinate (i in [0..3])
c - the coordinate

inline std::set <TetraTriangle3D *> ::iterator getFirstTriangle()
returns the first element of the list of triangles

inline std::set <TetraTriangle3D *> ::iterator getLastTriangle()
returns the last element of the list of triangles

void writeVertexList(const TclString file) const
write list of zone's vertices


Direct child classes:
ActiveTetraSurfaceZone3D

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de