In file triangulation/ActiveTriangulationVertex3D.h:

class ActiveTriangulationVertex3D : public TriangulationVertex3D, public ActiveVertex3D, public DPListElement<ActiveTriangulationVertex3D>

a vertex of a 3D triangulation

Inheritance:


Public Methods

ActiveTriangulation3D* getTriangulation () const
returns an iterator over neighboring triangles
ActiveTriangleVertex3DIterator getTriangleIterator (void) const
returns an iterator over neighboring triangles
ActiveEdgeVertex3DIterator getEdgeIterator (void) const
returns an iterator over neighboring triangles
void* getData () const
return the edge data
void setData (void *pt )
set the edge data to a given value
ActiveVertexVertex3DIterator getVertexIterator (void) const
returns an iterator over neighboring vertices
ActiveTriangulationEdge3D* getFirstEdge () const
returns the first edge associated to that vertex
Vec3 getMeanCurvatureVector () const
returns the mean curvature vector at that vertex
void computeMeanCurvatureVector ()
computes the mean curvature vector at that vertex
void updatePosition (void)
updates vertex position by applying total force
void updatePosition (const Vec3& force)
updates vertex position
double getWeight (void) const
returns the weight used to compute the global transformation
RangeInformation* getLocal (void) const
returns local information
double getDistanceData (void) const
get distance to closest point data
double getMeanCurvature (void) const
get mean curvature at that vertex
double getGaussianCurvature (void) const
get gaussian curvature at that vertex
double getMaxDistance (void) const
get max distance to attractive data
Vec3 getRestPosition (void) const
get the vertex rest position
void storeRestPosition ()
set the vertex rest position as the current position
void setRestPosition (const Vec3 &p)
set the vertex rest position as a given value
void computeLocalQuadrics ()
compute the normal vector and curvatures by fitting a local quadrics
void fixVertex ()
fix this vertex
void freeVertex ()
fix this vertex
virtual void setLocality (const double locality)
set the locality of this vertex and update model deformation mode
void setWeight (const double w)
sets the weight used to compute the global transformation
unsigned int getMatrixIndex () const
returns the vertex index in the rigidity matrix
void setMatrixIndex (const unsigned int _index)
modifies the the vertex index in the rigidity matrix
void grab (const Vec3& G)
grab this vertex toward point G
void storeReferenceShape (void)
set current shape as reference shape
void addScaleInternalForce (const double l)
increment the scale of the internal force
void setScaleInternalForce (const double l)
set the scale of the internal force

Public

Iterator
class NeighborhoodIterator
iterator class on the neighborhood of a given vertex
ActiveTriangulationVertex3D& start
first vertex
std::vector <ActiveTriangulationVertex3D *> ::iterator it
vertex neighborhood
void add (ActiveTriangulationVertex3D& parent, unsigned int level)
neighborhood construction recursive function
NeighborhoodIterator (ActiveTriangulationVertex3D& first, unsigned int nghSize)
Builds a new iterator from first vertex for a nghSize neighborhood
~NeighborhoodIterator ()
empty destructor
void first (void)
set iterator to first vertex
bool isAtEnd (void) const
is iterator at end of neighborhood?
unsigned int getCount (void) const
returns neighborhood number of vertices
ActiveTriangulationVertex3D* operator* (void)
returns current edge
ActiveTriangulationVertex3D* operator++ (void)
set iterator on next vertex and returns it
ActiveTriangulationVertex3D* operator++ (int)
returns current vertex then set iterator on next one
ActiveTriangulationVertex3D* operator-- (void)
set iterator on previous vertex and returns it
ActiveTriangulationVertex3D* operator-- (int)
returns current vertex then set iterator on previous one
constructor
ActiveTriangulationVertex3D (Triangulation *mesh, const Vec3 &_position=Vec3(0, 0, 0), bool empty=false, TriangulationEdge *edge=0, unsigned int orientation=0)
constructor
destructor
virtual ~ActiveTriangulationVertex3D ()
delete vertex

returns the 3D triangulation the vertex belongs to

Protected Fields

void* vertexData
data used for the computation of internal forces
std::vector <ActiveTriangulationVertex3D *> neighborhood
pre-stored neigborhood (if neighborhoodSize > 0)
unsigned int neighborhoodSize
pre-stored neigborhood size
double scaleInternalForce
used to scale the internal when updating position
ActiveTriangulationVertex3D* vertexWindow
used during a recursive search
Vec3 restPosition
the rest position of the vertex
double weight
vertex weight in global force computation
RangeInformation* local
local data information known at this vertex
double maxDistance
maximal distance of attractive data
double distanceData
distance of point to the closest data point
Vec3 closestData
closest point from a 2-simplex vertex to the set of 3D data
Vec3 meanCurvatureVector
the mean curvature vector
double meanCurvature
the mean currvature at a vertex
double gaussianCurvature
the Gaussian currvature at a vertex
int label
used during a recursive search
unsigned int matrixIndex
the vertex index in the rigidity matrix

Protected Methods

void move (int level, Vec3 move, ActiveTriangulationVertex3D *v1)
recursive move vertex function
void computeAveragedExternalForce (void)
computes vertex averaged force
void setSpringInternalForce (void)
spring internal force initialization
void computeEdgesLengthAndDirection (void)
computes vertex edges length and direction

Private Fields

bool initialized
if the additional properties stored in the vertex

Inherited from TriangulationVertex3D:

Public Fields

double vertexMetric

Public Methods

const Vec3 & getPosition() const
void setPosition(const Vec3 &pos)
Vec3 getNormal() const
void computeNormal()
void computeGaussianCurvature()

Protected Fields

Vec3 position
Vec3 normal

Inherited from TriangulationVertex:

Public Methods

void setEdge(TriangulationEdge *e)
void setOrientation(unsigned int o)
unsigned int getOrientation(void) const
TriangulationTriangle* getFirstTriangle(void) const
bool isAdjacent(TriangulationVertex *v) const
bool isReal() const
static TriangulationEdge* nextEdge(const TriangulationEdge *e, int& orientation)
static TriangulationEdge* previousEdge(const TriangulationEdge *e, int& orientation)
VertexContour* getVertexContour() const
unsigned int getNumberAdjacentTriangles(void) const
unsigned int getNumberAdjacentEdges(void) const
int getRef(void) const
void setVirtualNeighborhood()
void removeVirtualNeighborhood()

Public

vertex iterators

iterators over vertex shell vertices or triangles
class BasicIterator
a basic iterator around a vertex
const TriangulationVertex* vertex
vertex to iterate on
TriangulationEdge* currentEdge
current edge
int currentOrientation
current edge orientation
TriangulationTriangle* start
first triangle around vertex
bool hasChanged
whether the iterator has been modified
void next(void)
get next edge
void previous(void)
get previous edge
constructor
BasicIterator(const TriangulationVertex *v)
constructor builds a new iterator on vertex
destructor
~BasicIterator()
delete vertex
void first(void)
set iterator to first element
void last(void)
set iterator to last element
bool isAtEnd(void)
is iterator at end of vertex?
template class TriangleVertexIterator: public BasicIterator
iterator on vertex triangles
constructor
TriangleVertexIterator(const TriangulationVertex *v)
constructor builds a triangle iterator around a vertex
destructor
~TriangleVertexIterator()
delete vertex
T* operator*(void) const
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
template class VertexIterator: public BasicIterator
basic vertex iterator around a vertex
constructor
VertexIterator(const TriangulationVertex *v)
constructor builds a new iterator on vertex
destructor
~VertexIterator()
delete vertex
T* operator*(void) const
returns current vertex
T* operator++(void)
set iterator on next vertex and returns it
T* operator++(int)
returns current vertex then set iterator on next one
T* operator--(void)
set iterator on previous vertex and returns it
T* operator--(int)
returns current vertex then set iterator on previous one
template class EdgeVertexIterator: public BasicIterator
iterator over vertex edges
constructor
EdgeVertexIterator(const TriangulationVertex *v)
constructor builds an edge iterator around a vertex
destructor
~EdgeVertexIterator()
delete vertex
T* operator*(void) const
returns current edge
T* operator++(void)
set iterator on next edge and returns it
T* operator++(int)
returns current edge then set iterator on next one
T* operator--(void)
set iterator on previous edge and returns it
T* operator--(int)
returns current edge then set iterator on previous one

Protected Fields

Triangulation* triangulation
TriangulationEdge* edge
unsigned int orientation
VertexContour* vertexContour
int ref
bool empty

Documentation

a vertex of a 3D triangulation
bool initialized
if the additional properties stored in the vertex

Iterator

class NeighborhoodIterator
iterator class on the neighborhood of a given vertex

ActiveTriangulationVertex3D& start
first vertex

std::vector <ActiveTriangulationVertex3D *> ::iterator it
vertex neighborhood

void add(ActiveTriangulationVertex3D& parent, unsigned int level)
neighborhood construction recursive function
Parameters:
parent - vertex to add in neighborhood
level - recursion level (>=0)

NeighborhoodIterator(ActiveTriangulationVertex3D& first, unsigned int nghSize)
Builds a new iterator from first vertex for a nghSize neighborhood. first vertex neighborhood is updated if needed. Warning: first itself is not an element of its neighborhood. A 0 size neighborhood is empty.
Parameters:
first - first vertex
nghSize - neighborhood size

~NeighborhoodIterator()
empty destructor

void first(void)
set iterator to first vertex

bool isAtEnd(void) const
is iterator at end of neighborhood?

unsigned int getCount(void) const
returns neighborhood number of vertices

ActiveTriangulationVertex3D* operator*(void)
returns current edge

ActiveTriangulationVertex3D* operator++(void)
set iterator on next vertex and returns it

ActiveTriangulationVertex3D* operator++(int)
returns current vertex then set iterator on next one

ActiveTriangulationVertex3D* operator--(void)
set iterator on previous vertex and returns it

ActiveTriangulationVertex3D* operator--(int)
returns current vertex then set iterator on previous one

void* vertexData
data used for the computation of internal forces

std::vector <ActiveTriangulationVertex3D *> neighborhood
pre-stored neigborhood (if neighborhoodSize > 0)

unsigned int neighborhoodSize
pre-stored neigborhood size

double scaleInternalForce
used to scale the internal when updating position

ActiveTriangulationVertex3D* vertexWindow
used during a recursive search

Vec3 restPosition
the rest position of the vertex

double weight
vertex weight in global force computation

RangeInformation* local
local data information known at this vertex

double maxDistance
maximal distance of attractive data

double distanceData
distance of point to the closest data point

Vec3 closestData
closest point from a 2-simplex vertex to the set of 3D data

Vec3 meanCurvatureVector
the mean curvature vector

double meanCurvature
the mean currvature at a vertex

double gaussianCurvature
the Gaussian currvature at a vertex

int label
used during a recursive search

void move(int level, Vec3 move, ActiveTriangulationVertex3D *v1)
recursive move vertex function
Parameters:
level - recursive level
move - extenal force to apply onto vertex
v1 - grabbed vertex that caused move to be called

void computeAveragedExternalForce(void)
computes vertex averaged force

void setSpringInternalForce(void)
spring internal force initialization

void computeEdgesLengthAndDirection(void)
computes vertex edges length and direction

unsigned int matrixIndex
the vertex index in the rigidity matrix

constructor

ActiveTriangulationVertex3D(Triangulation *mesh, const Vec3 &_position=Vec3(0, 0, 0), bool empty=false, TriangulationEdge *edge=0, unsigned int orientation=0)
constructor
Parameters:
mesh - vertex mesh
edge - one face edge
orientation - face orientation versus edge orientation (0 or 1)
_position - the vertex position

destructor

virtual ~ActiveTriangulationVertex3D()
delete vertex

returns the 3D triangulation the vertex belongs to

ActiveTriangulation3D* getTriangulation() const
returns an iterator over neighboring triangles

ActiveTriangleVertex3DIterator getTriangleIterator(void) const
returns an iterator over neighboring triangles

ActiveEdgeVertex3DIterator getEdgeIterator(void) const
returns an iterator over neighboring triangles

void* getData() const
return the edge data

void setData(void *pt )
set the edge data to a given value

ActiveVertexVertex3DIterator getVertexIterator(void) const
returns an iterator over neighboring vertices

ActiveTriangulationEdge3D* getFirstEdge() const
returns the first edge associated to that vertex

Vec3 getMeanCurvatureVector() const
returns the mean curvature vector at that vertex

void computeMeanCurvatureVector()
computes the mean curvature vector at that vertex

void updatePosition(void)
updates vertex position by applying total force

void updatePosition(const Vec3& force)
updates vertex position
Parameters:
force - displacement to apply to vertex

double getWeight(void) const
returns the weight used to compute the global transformation

RangeInformation* getLocal(void) const
returns local information

double getDistanceData(void) const
get distance to closest point data

double getMeanCurvature(void) const
get mean curvature at that vertex

double getGaussianCurvature(void) const
get gaussian curvature at that vertex

double getMaxDistance(void) const
get max distance to attractive data

Vec3 getRestPosition(void) const
get the vertex rest position

void storeRestPosition()
set the vertex rest position as the current position

void setRestPosition(const Vec3 &p)
set the vertex rest position as a given value

void computeLocalQuadrics()
compute the normal vector and curvatures by fitting a local quadrics

void fixVertex()
fix this vertex

void freeVertex()
fix this vertex

virtual void setLocality(const double locality)
set the locality of this vertex and update model deformation mode
Parameters:
locality - new locality value (0.0 means global, 1.0 means local)

void setWeight(const double w)
sets the weight used to compute the global transformation

unsigned int getMatrixIndex() const
returns the vertex index in the rigidity matrix

void setMatrixIndex(const unsigned int _index)
modifies the the vertex index in the rigidity matrix

void grab(const Vec3& G)
grab this vertex toward point G
Parameters:
G - grab point

void storeReferenceShape(void)
set current shape as reference shape

void addScaleInternalForce(const double l)
increment the scale of the internal force

void setScaleInternalForce(const double l)
set the scale of the internal force


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