In file SM2/SM2Vertex.h:

class SM2VertexGeometry : public SM2VertexTopology

2 simplex mesh geometrical vertex

Inheritance:


Public Methods

VertexContour3D* getVertexContour () const
returns the pointer on a geometric contour vertex associated with a vertex
void setPosition (const Vec3& pos)
set vertex position and possible the position of its associated contour vertex
virtual void setBarycenter (SM2VertexGeometry *neighbour[], double weight[], int nSize)
set vertex position using barycentric coordinates
const Vec3 & getPosition (void) const
returns vertex position
double getX (void) const
returns X coordinate
double getY (void) const
returns Y coordinate
double getZ (void) const
returns Z coordinate
const Vec3 & getNormal (void) const
returns surface normal
double getSimplexAngle (void) const
returns simplex angle
double getMetricParameter (int i) const
returns metric parameters
double getRadius (void) const
returns circumscribed circle radius
double getMeanCurvature (void) const
returns mean curvature at a vertex
void computeNormal (void)
recomputes vertex normal
void computeMetricParameters (void)
recomputes vertex metric parameters
virtual void computeSimplexAngle (void)
computes vertex simplex angle
virtual void computeMeanCurvature (void)
computes mean curvature at a vertex
SM2VertexGeometry* getNeighbor (unsigned int i) const
returns one of vertex neighbors
SM2Face* getFace (unsigned int i) const
returns one of vertex faces
SM2Edge* getEdge (unsigned int i) const
returns one of vertex edges
SM2* getMesh (void) const
returns vertex mesh
static Vec3 normalizedCrossProduct (const Vec3& v1, const Vec3& v2)
returns normalized cross product from v1 and v2

Public

constructor
SM2VertexGeometry (SM2 *mesh, const Vec3& pos = Vec3(0.0, 0.0, 0.0), SM2VertexGeometry *n0 = 0, SM2VertexGeometry *n1 = 0, SM2VertexGeometry *n2 = 0, SM2Face *f0 = 0, SM2Face *f1 = 0, SM2Face *f2 = 0, SM2Edge *e0 = 0, SM2Edge *e1 = 0, SM2Edge *e2 = 0)
constructor
SM2VertexGeometry (const SM2VertexGeometry& org)
copy constructor: creates an empty vertex without any mesh/neighbors/faces but identical geometric features
destructor

Protected Fields

Vec3 position
vertex position
Vec3 normal
surface normal at this point
double simplexAngle
simplex angle
double metricParameter [3]
barycentric coordinates of the projection on the opposite triangle
double radius
circumscribed circle radius
double meanCurvature
mean curvature at a vertex
double referenceSimplexAngle
reference (stored) simplex angle at the node

Inherited from SM2VertexTopology:

Public Methods

void setVertexTopology(int i, SM2VertexTopology *v)
void setEdgeTopology(int i, SM2EdgeTopology *e)
void setFaceTopology(int i, SM2FaceTopology *f)
void setWhichNeighbor(void)
int getRef(void) const
int getWhichNeighbor(int i) const
int getWhichNeighbor(const SM2VertexTopology *v) const
int neighborIndex(const SM2VertexTopology *v) const
void resetNeighborhood(void)
SM2VertexTopology* getNeighborTopology(unsigned int i) const
SM2FaceTopology* getFaceTopology(unsigned int i) const
SM2EdgeTopology* getEdgeTopology(unsigned int i) const
void swapNeighbors(unsigned int i, unsigned int j)

Public

constructors

SM2VertexTopology(SM2Topology *mesh, SM2VertexTopology *n0 = 0, SM2VertexTopology *n1 = 0, SM2VertexTopology *n2 = 0, SM2FaceTopology *f0 = 0, SM2FaceTopology *f1 = 0, SM2FaceTopology *f2 = 0, SM2EdgeTopology *e0 = 0, SM2EdgeTopology *e1 = 0, SM2EdgeTopology *e2 = 0)
constructor
SM2VertexTopology(const SM2VertexTopology& org)
copy constructor: create an empty vertex without any mesh/neighbors/faces

Protected Fields

SM2VertexTopology* neighbor[3]
SM2FaceTopology* face[3]
SM2EdgeTopology* edge[3]
unsigned int whichNeighbor[3]
int ref
SM2Topology* mesh
VertexContour* vertexContour
SM2VertexTopology* vertexWindow
std::vector <SM2VertexTopology *> * neighborhood
unsigned int neighborhoodSize

Documentation

2 simplex mesh geometrical vertex
Vec3 position
vertex position

Vec3 normal
surface normal at this point

double simplexAngle
simplex angle

double metricParameter[3]
barycentric coordinates of the projection on the opposite triangle

double radius
circumscribed circle radius

double meanCurvature
mean curvature at a vertex

double referenceSimplexAngle
reference (stored) simplex angle at the node

constructor

SM2VertexGeometry(SM2 *mesh, const Vec3& pos = Vec3(0.0, 0.0, 0.0), SM2VertexGeometry *n0 = 0, SM2VertexGeometry *n1 = 0, SM2VertexGeometry *n2 = 0, SM2Face *f0 = 0, SM2Face *f1 = 0, SM2Face *f2 = 0, SM2Edge *e0 = 0, SM2Edge *e1 = 0, SM2Edge *e2 = 0)
constructor
Parameters:
mesh - owner 2 simplex mesh
pos - vertex position
n0 - first neighbor,
n1 - second neighbor,
n2 - third neighbor,
f0 - first face,
f1 - second face,
f2 - third face,
e0 - first edge,
e1 - second edge,
e2 - third edge

SM2VertexGeometry(const SM2VertexGeometry& org)
copy constructor: creates an empty vertex without any mesh/neighbors/faces but identical geometric features

destructor

VertexContour3D* getVertexContour() const
returns the pointer on a geometric contour vertex associated with a vertex. May return NULL

void setPosition(const Vec3& pos)
set vertex position and possible the position of its associated contour vertex

virtual void setBarycenter(SM2VertexGeometry *neighbour[], double weight[], int nSize)
set vertex position using barycentric coordinates

const Vec3 & getPosition(void) const
returns vertex position

double getX(void) const
returns X coordinate

double getY(void) const
returns Y coordinate

double getZ(void) const
returns Z coordinate

const Vec3 & getNormal(void) const
returns surface normal

double getSimplexAngle(void) const
returns simplex angle

double getMetricParameter(int i) const
returns metric parameters
Parameters:
i - metric parameter number (0, 1 or 2)

double getRadius(void) const
returns circumscribed circle radius

double getMeanCurvature(void) const
returns mean curvature at a vertex

void computeNormal(void)
recomputes vertex normal

void computeMetricParameters(void)
recomputes vertex metric parameters

virtual void computeSimplexAngle(void)
computes vertex simplex angle

virtual void computeMeanCurvature(void)
computes mean curvature at a vertex

SM2VertexGeometry* getNeighbor(unsigned int i) const
returns one of vertex neighbors
Parameters:
i - neighbor number (0, 1 or 2)

SM2Face* getFace(unsigned int i) const
returns one of vertex faces
Parameters:
i - face number (0, 1 or 2)

SM2Edge* getEdge(unsigned int i) const
returns one of vertex edges
Parameters:
i - edge number (0, 1 or 2)

SM2* getMesh(void) const
returns vertex mesh

static Vec3 normalizedCrossProduct(const Vec3& v1, const Vec3& v2)
returns normalized cross product from v1 and v2
Returns:
(v1 ^ v2) / || v1 ^ v2 ||
Parameters:
v1 - first vector
v2 - first vector


Direct child classes:
SM2Vertex

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