In file tetrahedrisation/TetraTetrahedron3D.h:

class TetraTetrahedron3D : public ListElement<TetraTetrahedron3D>

Tetrahedron class of a 3D Tetrahedrisation

Inheritance:


Public Methods

void _do_set_vertices (TetraVertex3D* v0, TetraVertex3D* v1, TetraVertex3D* v2, TetraVertex3D* v3, bool orientation=true)
set the vertices in the tetrahedron @para v0, v1, v2, v3 the vertices @orientation if the orientation of the vertices if correct
inline TetraZone3D* getZone () const
returns the zone containing the tetrahedron
void setZone (TetraZone3D *z, bool force=true)
set the zone containing the tetrahedron
inline Tetra3D* getTetrahedrisation () const
get the mesh containing the vertex
inline bool isReal () const
whether the tetrahedron is real or virtual
void setVirtual ()
set the tetrahedron as a virtual tetrahedron
inline unsigned int getRef () const
returns the vertex unique reference
inline TetraVertex3D* getVertex (const unsigned int i) const
returns a vertex of the tetrahedron
void setVertex (const unsigned int i, TetraVertex3D* v)
set the ith vertex of the tetrahedron
inline TetraEdge3D* getEdge (const unsigned int i) const
returns an edge of the tetrahedron
TetraEdge3D* getAdjacentEdge (const unsigned int i, const unsigned j) const
returns the jth edge (0
unsigned int getAdjacentEdgeIndex (const unsigned int i, const unsigned j) const
returns the index of the jth edge (0
TetraEdge3D* getEdge (const unsigned int i, const unsigned j) const
returns the edge linking the ith and jth vertex
unsigned int getEdgeIndex (const unsigned int i, const unsigned j) const
returns the index of the edge linking the ith and jth vertex
TetraEdge3D* getOppositeEdge (const unsigned int i, const unsigned j) const
returns the jth opposite edge (0
TetraEdge3D* getOppositeEdge (TetraEdge3D*) const
returns the opposite edge of a given edge of the tetrahedron
static void getComplementVertices (const unsigned int i, const unsigned int j, unsigned int &k, unsigned int &l)
return the two complement indices (k,l) of the pair (i,j), 0<=i<4, 0<=j<4 */
static void getEdgeVertexIndex (const unsigned int i, unsigned int &v0, unsigned int &v1)
returns the two vertex indices of the edge no i (0<=i<6)
inline TetraTriangle3D* getTriangle (const unsigned int i) const
returns a triangle of the tetrahedron
inline TetraTetrahedron3D* getNeighboringTetrahedron (const unsigned int i) const
returns a neighboring tetrahedron of the tetrahedron
inline int neighborIndex (const TetraTetrahedron3D *t) const
get array index of a neighbor in neighbors array
int triangleIndex (const TetraTriangle3D *tr) const
get array index of a triangle in triangles array
int vertexIndex (const TetraVertex3D *v) const
get array index of a vertex in vertices array
int edgeIndex (const TetraEdge3D *e) const
get array index of an edge in edges array
void setRef (unsigned int r)
set the tetrahedron unique reference

Public

constructor
TetraTetrahedron3D (Tetra3D *mesh, TetraVertex3D *v0, TetraVertex3D *v1, TetraVertex3D *v2, TetraVertex3D *v3, bool orientation=true)
3D tetrahedron constructor
destructor
virtual ~TetraTetrahedron3D ()
delete tetrahedron

Protected Fields

Tetra3D* tetrahedrisation
the mesh containing the tetrahedron
bool empty
if the tetrahedron is real or virtual
std::list <TetraTetrahedron3D*> * dividedTetra
list of all tetrahedrons of that division
unsigned int ref
unique reference of the tetrahedron
TetraVertex3D* vertex [4]
the 4 vertices in the tetrahedron
TetraEdge3D* edge [6]
the 6 edges in the tetrahedron
TetraTriangle3D* triangle [4]
the 4 triangles in the tetrahedron
TetraTetrahedron3D* neighbor [4]
the 4 adjacent tetrahedra
TetraZone3D* zone
the zone containing the tetrahedron

Protected Methods

void setEdgeTriangleRelationShip ()
set the triangle edge relationship inside the tetrahedron
void setVertexTetrahedronRelationShip ()
set the tetrahedron vertex relationship inside the tetrahedron
virtual void setProperties (TetraTetrahedron3D* t)
set all tetrahedron's properties that can be transmited when refining
virtual void removeFromMesh ()
remove tetrahedron from mesh

Private


code called by constructors

Documentation

Tetrahedron class of a 3D Tetrahedrisation
Tetra3D* tetrahedrisation
the mesh containing the tetrahedron

bool empty
if the tetrahedron is real or virtual

std::list <TetraTetrahedron3D*> * dividedTetra
list of all tetrahedrons of that division

unsigned int ref
unique reference of the tetrahedron

TetraVertex3D* vertex[4]
the 4 vertices in the tetrahedron

TetraEdge3D* edge[6]
the 6 edges in the tetrahedron

TetraTriangle3D* triangle[4]
the 4 triangles in the tetrahedron

TetraTetrahedron3D* neighbor[4]
the 4 adjacent tetrahedra

TetraZone3D* zone
the zone containing the tetrahedron

void setEdgeTriangleRelationShip()
set the triangle edge relationship inside the tetrahedron

void setVertexTetrahedronRelationShip()
set the tetrahedron vertex relationship inside the tetrahedron

virtual void setProperties(TetraTetrahedron3D* t)
set all tetrahedron's properties that can be transmited when refining
Parameters:
t - , the old surrounding tetrahedron

virtual void removeFromMesh()
remove tetrahedron from mesh

code called by constructors

void _do_set_vertices(TetraVertex3D* v0, TetraVertex3D* v1, TetraVertex3D* v2, TetraVertex3D* v3, bool orientation=true)
set the vertices in the tetrahedron @para v0, v1, v2, v3 the vertices @orientation if the orientation of the vertices if correct

constructor

TetraTetrahedron3D(Tetra3D *mesh, TetraVertex3D *v0, TetraVertex3D *v1, TetraVertex3D *v2, TetraVertex3D *v3, bool orientation=true)
3D tetrahedron constructor
Parameters:
mesh - tetrahedrisation containing the tetrahedron
empty - if the tetrahedron is real or virtual
v0 - , v1, v2, v3 the 4 vertices in the tetrahedron

destructor

virtual ~TetraTetrahedron3D()
delete tetrahedron

inline TetraZone3D* getZone() const
returns the zone containing the tetrahedron

void setZone(TetraZone3D *z, bool force=true)
set the zone containing the tetrahedron

inline Tetra3D* getTetrahedrisation() const
get the mesh containing the vertex

inline bool isReal() const
whether the tetrahedron is real or virtual

void setVirtual()
set the tetrahedron as a virtual tetrahedron

inline unsigned int getRef() const
returns the vertex unique reference

inline TetraVertex3D* getVertex(const unsigned int i) const
returns a vertex of the tetrahedron

void setVertex(const unsigned int i, TetraVertex3D* v)
set the ith vertex of the tetrahedron

inline TetraEdge3D* getEdge(const unsigned int i) const
returns an edge of the tetrahedron

TetraEdge3D* getAdjacentEdge(const unsigned int i, const unsigned j) const
returns the jth edge (0

unsigned int getAdjacentEdgeIndex(const unsigned int i, const unsigned j) const
returns the index of the jth edge (0

TetraEdge3D* getEdge(const unsigned int i, const unsigned j) const
returns the edge linking the ith and jth vertex

unsigned int getEdgeIndex(const unsigned int i, const unsigned j) const
returns the index of the edge linking the ith and jth vertex

TetraEdge3D* getOppositeEdge(const unsigned int i, const unsigned j) const
returns the jth opposite edge (0

TetraEdge3D* getOppositeEdge(TetraEdge3D*) const
returns the opposite edge of a given edge of the tetrahedron

static void getComplementVertices(const unsigned int i, const unsigned int j, unsigned int &k, unsigned int &l)
return the two complement indices (k,l) of the pair (i,j), 0<=i<4, 0<=j<4 */

static void getEdgeVertexIndex(const unsigned int i, unsigned int &v0, unsigned int &v1)
returns the two vertex indices of the edge no i (0<=i<6)

inline TetraTriangle3D* getTriangle(const unsigned int i) const
returns a triangle of the tetrahedron

inline TetraTetrahedron3D* getNeighboringTetrahedron(const unsigned int i) const
returns a neighboring tetrahedron of the tetrahedron

inline int neighborIndex(const TetraTetrahedron3D *t) const
get array index of a neighbor in neighbors array
Returns:
j such that this->neighbor[j] == t or -1 if t is not a neighbor of this
Parameters:
t - a tetrahedron of the neighborhood

int triangleIndex(const TetraTriangle3D *tr) const
get array index of a triangle in triangles array
Returns:
j such that this->triangle[j] == tr or -1 if t is not a triangle of this
Parameters:
tr - a vertex

int vertexIndex(const TetraVertex3D *v) const
get array index of a vertex in vertices array
Returns:
j such that this->vertex[j] == v or -1 if v is not a vertex of this
Parameters:
v - a vertex

int edgeIndex(const TetraEdge3D *e) const
get array index of an edge in edges array
Returns:
j such that this->edge[j] == e or -1 if e is not an edge of this
Parameters:
e - an edge

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


Direct child classes:
ActiveTetraTetrahedron3D

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