In file tetrahedrisation/ActiveTetraEdge3D.h:

namespace yav class ActiveTetraEdge3D : public TetraEdge3D

an edge of an active 3D Tetrahedrisation

Inheritance:


Public Methods

inline ActiveTetra3D* getTetrahedrisation () const
returns the mesh containing the edge
inline ActiveTetraVertex3D* getVertex (const unsigned int i) const
returns the vertex number i (i=0 or 1 )
inline double getLength () const
returns the edge length
inline double getSquareLength () const
returns the edge length
inline double getSquareRestLength () const
returns the store rest edge length
inline double getSquareLengthVariation () const
returns the edge square length variation
inline Vec3 getEdgeVector (TetraVertex3D *v) const
returns the edge vector
inline Vec3 getDirection () const
returns the edge direction
void computeSpringForce ()
compute the spring force on the 2 connected vertices
inline double getRestLength () const
returns the edge rest length
inline Matrix3x3 & getTensor (void)
return the edge tensor
Matrix3x3 & getOptimizedTensor (const unsigned int i)
return the optimized edge tensor
void computeOptimizedTensors ()
compute the optimized tensor given the edge elastic tensor and the inverse elastic tensors at each vertex : Kii(-1) * Kij
void computeLength ()
compute the edge length
double computeEdgeSquareLength ()
return the edge square length
void computeSquareLengthVariation ()
compute the edge square lenght variation
void computeRestLength ()
compute the edge square lenght variation
void computeLengthAndDirection ()
compute the edge length and unit direction vector
void storeRestLength ()
store the current edge length as the edge rest length
void storeSquareRestLength ()
store the current square edge length as the square edge rest length
void computeRestData ()
compute the rest length and square length according to vertices rest positions
inline void addTensor (const Matrix3x3 &t)
add to the current tensor a given tensor
inline void substractTensor (const Matrix3x3 &t)
substract to the current tensor a given tensor
void computeElasticForce () const
compute elastic force on the two adjacent vertices

Public

constructor
ActiveTetraEdge3D (Tetra3D *mesh, ActiveTetraVertex3D *v0, ActiveTetraVertex3D *v1)
3D active edge constructor
destructor
virtual ~ActiveTetraEdge3D ()
delete edge

Protected Fields

Vec3 direction
the unit edge direction vector
double restLength
edge rest length
double squareRestLength
edge square rest length
double length
edge length
double squareLength
edge square length
double squareLengthVariation
edge square lenth variation
Vec3 eVector
edge vector
Matrix3x3 tensor
elastic tensor
Matrix3x3 optimizedTensor [2]
optimized elastic tensor
bool optimizedTensorValid
indicates if the 2 optimizedTensor are valid or not

Inherited from TetraEdge3D:

Public Classes

enum IntersectionStatus
template class TriangleEdgeIterator
const TetraEdge3D* edge
the edge around which
TetraTriangle3D* currentTriangle
the current triangle
TetraTetrahedron3D* currentTetrahedron
the current triangle
bool updated
whether the iterator has been modified
void next()
find next triangle and tetrahedron
void previous()
find previous triangle and tetrahedron
constructor
TriangleEdgeIterator(const TetraEdge3D *e)
constructor builds a triangle iterator around an edge
destructor
~TriangleEdgeIterator()
delete triangle iterator
bool isAtEnd() const
test we have done a complete turn around the vertex
T* operator)(void)
returns current triangle
T* operator++(void)
set iterator on next triangle and returns it
T* operator++(int)
returns current triangle then set iterator on next one
T* operator--(void)
set iterator on previous triangle and returns it
T* operator--(int)
returns current triangle then set iterator on previous one
TetraTetrahedron3D* getTetrahedron() const
returns the tetrahedron adjacent to the edge

Public Methods

inline bool isReal() const
void setVertex(int i, TetraVertex3D* v)
inline TetraTriangle3D* getTriangle() const
inline unsigned int getRef() const
void setRef(unsigned int r)
inline int vertexIndex(TetraVertex3D* v)
virtual bool remove()
TetraTriangle3D* getAdjacentVirtualTriangle()
TetraVertex3D* getAdjacentVirtualVertex()
void refineEdge()
void split()

Protected Fields

Tetra3D* tetrahedrisation
TetraTriangle3D* triangle
bool isDivided
unsigned short label
unsigned int ref

Protected Methods

virtual void setProperties()
void setTriangle(TetraTriangle3D *t)

Private Fields

TetraVertex3D* vertex[2]
TetraEdge3DIterator edgeListIndex

Documentation

an edge of an active 3D Tetrahedrisation
Vec3 direction
the unit edge direction vector

double restLength
edge rest length

double squareRestLength
edge square rest length

double length
edge length

double squareLength
edge square length

double squareLengthVariation
edge square lenth variation

Vec3 eVector
edge vector

Matrix3x3 tensor
elastic tensor

Matrix3x3 optimizedTensor[2]
optimized elastic tensor

bool optimizedTensorValid
indicates if the 2 optimizedTensor are valid or not

constructor

ActiveTetraEdge3D(Tetra3D *mesh, ActiveTetraVertex3D *v0, ActiveTetraVertex3D *v1)
3D active edge constructor
Parameters:
mesh - tetrahedrisation containing the edge
v0 - first vertex
v1 - second vertex

destructor

virtual ~ActiveTetraEdge3D()
delete edge

inline ActiveTetra3D* getTetrahedrisation() const
returns the mesh containing the edge

inline ActiveTetraVertex3D* getVertex(const unsigned int i) const
returns the vertex number i (i=0 or 1 )

inline double getLength() const
returns the edge length

inline double getSquareLength() const
returns the edge length

inline double getSquareRestLength() const
returns the store rest edge length

inline double getSquareLengthVariation() const
returns the edge square length variation

inline Vec3 getEdgeVector(TetraVertex3D *v) const
returns the edge vector

inline Vec3 getDirection() const
returns the edge direction

void computeSpringForce()
compute the spring force on the 2 connected vertices

inline double getRestLength() const
returns the edge rest length

inline Matrix3x3 & getTensor(void)
return the edge tensor

Matrix3x3 & getOptimizedTensor(const unsigned int i)
return the optimized edge tensor

void computeOptimizedTensors()
compute the optimized tensor given the edge elastic tensor and the inverse elastic tensors at each vertex : Kii(-1) * Kij

void computeLength()
compute the edge length

double computeEdgeSquareLength()
return the edge square length

void computeSquareLengthVariation()
compute the edge square lenght variation

void computeRestLength()
compute the edge square lenght variation

void computeLengthAndDirection()
compute the edge length and unit direction vector

void storeRestLength()
store the current edge length as the edge rest length

void storeSquareRestLength()
store the current square edge length as the square edge rest length

void computeRestData()
compute the rest length and square length according to vertices rest positions

inline void addTensor(const Matrix3x3 &t)
add to the current tensor a given tensor

inline void substractTensor(const Matrix3x3 &t)
substract to the current tensor a given tensor

void computeElasticForce() const
compute elastic force on the two adjacent vertices


This class has no child classes.

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