In file triangulation/ActiveTriangulationTriangle3D.h:

class ActiveTriangulationTriangle3D : public TriangulationTriangle3D

a triangle of a 3D triangulation

Inheritance:


Public Methods

ActiveTriangulationTriangle3D* getNeighbor (unsigned int i) const
returns one of its 3D triangle neighbor from its index
double getCotangentAlpha (const unsigned int i) const
returns the cotangent of angle alpha i
double getCosineAlpha (const unsigned int i) const
returns the cosine of angle alpha i at rest position
double getSineProduct () const
returns the sine product divided by the area
ActiveTriangulationVertex3D* getVertex (unsigned int i) const
returns a 3D active triangle vertex from its index
ActiveTriangulationEdge3D* getEdge (unsigned int i) const
returns a 3D active triangle edge from its index
ActiveTriangulationZone3D* getZone (void) const
returns the 3D active zone associated with that triangle
ActiveTriangulation3D* getTriangulation () const
returns the 3D triangulation the triangle belongs to
void storeDotProductRestVertex ()
store the dot product of the triangle vectors in its rest position
double getLambda () const
returns the first Lamé coefficient of the triangle
double getMu () const
returns the second Lamé coefficient of the triangle
void setLambda (const double l)
set the first Lamé coefficient of the triangle
void setMu (const double m)
set the first Lamé coefficient of the triangle
void storeRestArea ()
compute and store the square Area of the triangle in its rest position
double getRestArea ()
returns the square Rest Area
double getDotProductRestVertex (const unsigned int i) const
get the dot product of the triangle vectors in its rest position
void computeCotangentAlpha ()
compute the 3 cotangent of the 3 angles at rest position necessary for the mean curvature force
void getCotangentAlpha (double cotangentArray[3])
get the 3 cotangent of the 3 angles of the current triangle shape necessary for the mean curvature force
void storeCosineAlpha ()
store the 3 cosine of the 3 angles necessary for the quadratic membrane force
void storeSineProduct ()
store the sine product constant for the quadratic membrane force
static void setMeanCurvatureTexture (TriangulationTriangle3D *t, double c[3])
set the texture coordinate as a function of mean curevature */
static void setGaussianCurvatureTexture (TriangulationTriangle3D *t, double c[3])
set the texture coordinate as a function of gaussian curvature */

Public

constructors
ActiveTriangulationTriangle3D (Triangulation *mesh, bool empty=false, TriangulationTriangle *n0 = 0, TriangulationTriangle *n1 = 0, TriangulationTriangle *n2 = 0, TriangulationVertex *v0 = 0, TriangulationVertex *v1 = 0, TriangulationVertex *v2 = 0, TriangulationEdge *e0 = 0, TriangulationEdge *e1 = 0, TriangulationEdge *e2 = 0, TriangulationZone *z=0)
constructor
destructor
virtual ~ActiveTriangulationTriangle3D ()
empty destructor

Protected Fields

double restArea
the area of the rest triangle
double dotProductRestVertex [3]
array used when computing the membrane force : it is equal to (Pj - Pi)
double cotangentAlpha [3]
array used to compute the mean curvature motion force : it is equal to (P[i+1] -P[i])
double cosineAlpha [3]
array used to compute the quadratic membrane force : it is equal to ( P[i+1] -P[i])
double sineProduct
constant evaluated at rest position that is used for the quadratic membrane force
double lambda
the first Lamé coefficient used by the membrane force
double mu
the second Lamé coefficient used by the membrane force

Inherited from TriangulationTriangle3D:

Public Methods

Vec3 getNormal() const
void setTextureCoordinate(unsigned int i, unsigned int j, double value)
double getTextureCoordinate(int i, int j)
double getArea() const
void computeNormal()
std::list <TriangulationLandmark *> ::iterator firstLandmark()
std::list <TriangulationLandmark *> ::iterator lastLandmark()
void addLandmark( TriangulationLandmark *l)

Protected Fields

Vec3 normal
double textCoord[3][4]
std::list <TriangulationLandmark *> landmarkList

Inherited from TriangulationTriangle:

Public Methods

void setNeighboringTriangle(int i, TriangulationTriangle *t)
void setEdge(int i, TriangulationEdge *e)
void setVertex(int i, TriangulationVertex *v)
void setWhichNeighbor(unsigned int i, unsigned int j)
void setWhichNeighbor(void)
int getRef(void) const
int getWhichNeighbor(int i) const
int getWhichNeighbor(const TriangulationTriangle *v) const
int neighborIndex(const TriangulationTriangle *v) const
bool isReal() const
void setReal()
void setVirtual()
void zoneRemoved(TriangulationZone *z)
void setZone(TriangulationZone *z)
void swapNeighbors(unsigned int i, unsigned int j)

Protected Fields

TriangulationTriangle* neighbor[3]
TriangulationVertex* vertex[3]
TriangulationEdge* edge[3]
bool empty
unsigned int whichNeighbor[3]
int ref
Triangulation* triangulation
TriangulationZone* zone
VertexContour* vertexContour
SM2VertexTopology* vertexWindow
std::vector * neighborhood
unsigned int neighborhoodSize

Documentation

a triangle of a 3D triangulation
double restArea
the area of the rest triangle

double dotProductRestVertex[3]
array used when computing the membrane force : it is equal to (Pj - Pi) . (Pk - Pi) for the rest position

double cotangentAlpha[3]
array used to compute the mean curvature motion force : it is equal to (P[i+1] -P[i]).(P[i]-P[i-1])/area

double cosineAlpha[3]
array used to compute the quadratic membrane force : it is equal to ( P[i+1] -P[i]).(P[i]-P[i-1])/(|P[i+1] -P[i]|*|P[i] -P[i-1]|)

double sineProduct
constant evaluated at rest position that is used for the quadratic membrane force. It is equal to (l_0^2*l_1^2*l_2^2)/16 A^4

double lambda
the first Lamé coefficient used by the membrane force

double mu
the second Lamé coefficient used by the membrane force

constructors

ActiveTriangulationTriangle3D(Triangulation *mesh, bool empty=false, TriangulationTriangle *n0 = 0, TriangulationTriangle *n1 = 0, TriangulationTriangle *n2 = 0, TriangulationVertex *v0 = 0, TriangulationVertex *v1 = 0, TriangulationVertex *v2 = 0, TriangulationEdge *e0 = 0, TriangulationEdge *e1 = 0, TriangulationEdge *e2 = 0, TriangulationZone *z=0)
constructor
Parameters:
mesh - the triangulation where the triangle is inserted
empty - if the triangle is real or virtual
n0 - first triangle neighbor,
n1 - second triangle neighbor,
n2 - third triangle neighbor,
v0 - first vertex,
v1 - second vertex,
v2 - third vertex,
e0 - first edge,
e1 - second edge,
e2 - third edge,
z - zone the triangle belongs

destructor

virtual ~ActiveTriangulationTriangle3D()
empty destructor

ActiveTriangulationTriangle3D* getNeighbor(unsigned int i) const
returns one of its 3D triangle neighbor from its index
Parameters:
i - neighbor number (0, 1 or 2)

double getCotangentAlpha(const unsigned int i) const
returns the cotangent of angle alpha i

double getCosineAlpha(const unsigned int i) const
returns the cosine of angle alpha i at rest position

double getSineProduct() const
returns the sine product divided by the area

ActiveTriangulationVertex3D* getVertex(unsigned int i) const
returns a 3D active triangle vertex from its index
Parameters:
i - vertex index (0, 1 or 2)

ActiveTriangulationEdge3D* getEdge(unsigned int i) const
returns a 3D active triangle edge from its index
Parameters:
i - vertex index (0, 1 or 2)

ActiveTriangulationZone3D* getZone(void) const
returns the 3D active zone associated with that triangle

ActiveTriangulation3D* getTriangulation() const
returns the 3D triangulation the triangle belongs to

void storeDotProductRestVertex()
store the dot product of the triangle vectors in its rest position

double getLambda() const
returns the first Lamé coefficient of the triangle

double getMu() const
returns the second Lamé coefficient of the triangle

void setLambda(const double l)
set the first Lamé coefficient of the triangle

void setMu(const double m)
set the first Lamé coefficient of the triangle

void storeRestArea()
compute and store the square Area of the triangle in its rest position

double getRestArea()
returns the square Rest Area

double getDotProductRestVertex(const unsigned int i) const
get the dot product of the triangle vectors in its rest position

void computeCotangentAlpha()
compute the 3 cotangent of the 3 angles at rest position necessary for the mean curvature force

void getCotangentAlpha(double cotangentArray[3])
get the 3 cotangent of the 3 angles of the current triangle shape necessary for the mean curvature force

void storeCosineAlpha()
store the 3 cosine of the 3 angles necessary for the quadratic membrane force

void storeSineProduct()
store the sine product constant for the quadratic membrane force

static void setMeanCurvatureTexture(TriangulationTriangle3D *t, double c[3])
set the texture coordinate as a function of mean curevature */

static void setGaussianCurvatureTexture(TriangulationTriangle3D *t, double c[3])
set the texture coordinate as a function of gaussian curvature */


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