3D active triangulation class
![]() | SparseMatrix the type of sparse matrix used to store the rigidity matrix |
![]() | selectObject (const Vec2 The callback function called when a mouse is clicked to select the closest edge, zone, vertex or triangle |
![]() | redraw (Camera3D *) redraw active triangulation 3D |
![]() | getRangeInformation (void) const returns local information |
![]() | setRangeInformation (RangeInformation * ri ) set local information |
![]() | newTriangle (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 *zone = 0) creates a new triangle |
![]() | newVertex (TriangulationEdge *edge=0, unsigned int orientation=0 ) creates a new vertex |
![]() | getSelectedVertex (void) const returns mesh selected vertex |
![]() | getSelectedEdge (void) const returns mesh selected edge |
![]() | getSelectedTriangle (void) const returns mesh selected face |
![]() | getSelectedZone (void) const returns mesh selected zone |
![]() | firstVertex (void) const returns an iterator on vertices, initialized on first vertex |
![]() | lastVertex (void) const returns an iterator on vertices, initialized on last vertex |
![]() | firstZone (void) const returns an iterator on zones, initialized on first zone |
![]() | lastZone (void) const returns an iterator on zones, initialized on last zone |
![]() | firstTriangle (void) const returns an iterator on triangles, initialized on first face |
![]() | lastTriangle (void) const returns an iterator on triangles, initialized on last face |
![]() | firstEdge (void) const returns an iterator on triangle edges, initialized on first edge |
![]() | lastEdge (void) const returns an iterator on triangle edges, initialized on last edge |
![]() | getFirstVertex (void) const returns first mesh vertex |
![]() | getFirstTriangle (void) const returns first mesh face |
![]() | apply (void (ActiveTriangulationVertex3D::*ptr)(void)) apply member function on each mesh vertex |
![]() | apply (void (ActiveTriangulationVertex3D::*ptr)(const int), const int val) apply member function on each mesh vertex |
![]() | applyUnsignedInt (void (ActiveTriangulationVertex3D::*ptr)(const unsigned int), const unsigned int val) apply member function on each mesh vertex |
![]() | apply (void (ActiveTriangulationVertex3D::*ptr)(const float), const float val) apply member function on each mesh vertex |
![]() | applyDouble (void (ActiveTriangulationVertex3D::*ptr)(const double), const double val) apply member function on each mesh vertex |
![]() | apply (void (ActiveTriangulationVertex3D::*ptr)(void *), void *val) apply member function on each mesh vertex |
![]() | apply (void (ActiveTriangulationEdge3D::*ptr)(void)) apply member function on each mesh edge |
![]() | apply (void (ActiveTriangulationEdge3D::*ptr)(void) const) apply member function on each mesh edge |
![]() | apply (double (ActiveTriangulationEdge3D::*ptr)(void)) apply member function on each mesh edge |
![]() | applyDouble (void (ActiveTriangulationTriangle3D::*ptr)(const double), const double) apply member function on each mesh triangle |
![]() | apply (void (ActiveTriangulationTriangle3D::*ptr)(void) const) apply member function on each mesh triangle |
![]() | apply (void (ActiveTriangulationTriangle3D::*ptr)(void)) apply member function on each mesh face |
![]() | setLocality (double _locality) set the locality parameter on all triangulation vertices |
![]() | computeInternalForces (void) computes all vertices internal forces |
![]() | computeExternalForces (void) computes all vertices external forces |
![]() | computeAveragedExternalForces (void) computes all vertices averaged forces |
![]() | computeGlobalForces (void) computes all vertices global forces |
![]() | computeGloballyConstrainedForces (void) computes all vertices globally constrained forces |
![]() | computeTotalForces (void) computes all vertices total forces |
![]() | updatePosition (void) updates all vertices position |
![]() | computeForces (void) computes all vertices forces |
![]() | allocRigidityMatrix (unsigned int nb) allocate the rigidity of size n*n as well as the force and result vector |
![]() | getRigidityMatrix () returns the current rigidity Matrix |
![]() | getForceVector () returns the current force vector |
![]() | getResultVector () returns the current result vector |
![]() | resetIndexMap () empty the index map |
![]() | addIndexMap (const unsigned int _i, ActiveTriangulationVertex3D *v) add an entry in the index map |
![]() | getFirstIndex () returns the first iterator of the index map |
![]() | getLastIndex () returns the end iterator of the index map |
![]() | getGlobalTransformation (void) const returns global transformation type |
![]() | getDeformationType (void) const returns mesh deformation type |
![]() | getTimeStep () const returns the time Step associated with the triangulation mesh |
![]() | setTimeStep (const double ts) set the time Step associated with the triangulation mesh |
![]() | getNumberCGIterations () const return the maximum number of iterations to perform in the conjugated gradient algorithm |
![]() | setNumberCGIterations (const unsigned int _nbCGIter) set the maximum number of iterations to perform in the conjugated gradient algorithm |
![]() | setDiscretizationScheme (const TimeDiscretizationScheme ds) set the way the pde is discretized |
![]() | getDiscretizationScheme () const set the way the pde is discretized |
![]() | setGlobalTransformation (Transformation::Type type) set global transformation type |
![]() | setDeformationType (DeformationType type) set model deformation type |
![]() | getUseReferenceShape (void) const returns reference shape flag |
![]() | setUseReferenceShape (bool rs) set reference shape flag |
![]() | grab (const Vec2 grab vertices from a mouse click in a 3D camera |
![]() | grab2D (const Vec3 grab vertices from a mouse click in a 2D camera |
![]() | drawVector (const Vec3 draw an arrow |
![]() | getGrabRange (void) const returns model grab range |
![]() | setMaximumRigidity (void) computes and store each vertex maximum rigidity |
![]() | getMaximumRigidity (void) const returns mesh maximum rigidity |
![]() | iterate (const unsigned int n) model deformation callback |
![]() | setInternalForce (InternalForceTriangulation3D *ft) set a given internal force as the main internal force applying on all vertices : if it exists call the ft->setInternalForce() |
![]() | setInternalForce (char *forceName) find the internal force corresponding that matches a given string and call setInternalForce() |
![]() | getInternalForceType () const returns the internal force type applying on the whole triangulation |
![]() | getInternalEnergy () returns the internal energy |
![]() | constructors
| ||
![]() | destructor
| ||
![]() | initialization method for shape internal forces |
![]() | timeScheme the time discretization scheme may be implicit or explicit |
![]() | timeStep time step used in computing interface forces |
![]() | maximumRigidity maximum possible rigidity in the active triangulation |
![]() | deformationType type of deformation used |
![]() | globalTransformation type of global transformation used |
![]() | useReferenceShape whether to compute shape spring forces |
![]() | fixedVertexList the list of fixed vertex |
![]() | rangeInformation the range information used for all vertices |
![]() | numberCGIterations maximum number of iterations to perform in the conjugated gradient algorithm |
![]() | indexMap the map that gives the vertex associated with a given index in the rigidity matrix |
![]() | rigidityMatrix rigidity matrix used by implicit scheme resolution |
![]() | forceVector vector used to store all external forces applied on vertices |
![]() | resultVector vector used to store the solution of the linear equation used by implicit scheme resolution |
![]() | displayNormals whether to display surface normal at vertices |
![]() | displayForces whether to display each force type |
![]() | normalsColor normal display color |
![]() | normalsWidth normal display width |
![]() | normalsScale normals arrows display scale |
![]() | forcesColor [6] each force display color |
![]() | forcesWidth each force display width |
![]() | forcesScale force display scale |
![]() | displayGrabArrow whether mouse grab arrow should be displayed on next redraw |
![]() | grabOrg mouse grab arrow origin |
![]() | grabArrow mouse grab arrow |
![]() | grabArrowColor grab arrow display color |
![]() | grabRange mouse grab extension |
![]() | internalForce internal force used |
![]() | globalMatrix cumulated global transformations |
![]() | updateImplicitScheme () compute the new position using an explicit scheme : it requires solving a linear system |
![]() | readMainModuleActive3D (GFInput &input) general format read function for main module |
![]() | readMobility (GFInput &input) general format read function for mobility module : indicates the indices of fixed vertices |
![]() | skipMobility (GFInput &input) general format skip function for mobility module : indicates the indices of fixed vertices |
![]() | writeMobility (GFOutput &output) general format write function for mobility module : indicates the indices of fixed vertices |
![]() | initGeneralFormat () constructors common code for the I/O routines |
![]() | initInternalForce () constructors common code for creating internal force InternalTriangulationForce3D objects |
![]() | initDisplay () constructors common code for initialising display variables |
exceptions
Exception classes
constructor
3D active triangulation class
constructors
destructor
enum TimeDiscretizationScheme
enum DeformationType
NONE
LOCAL
GLOBALLY_CONSTRAINED
TimeDiscretizationScheme timeScheme
double timeStep
unsigned int maximumRigidity
DeformationType deformationType
Transformation::Type globalTransformation
bool useReferenceShape
DPList <ActiveTriangulationVertex3D> fixedVertexList
RangeInformation* rangeInformation
unsigned int numberCGIterations
std::map
SparseMatrix* rigidityMatrix
mtl::dense1D
mtl::dense1D
bool displayNormals
int displayForces
static Color normalsColor
static float normalsWidth
static double normalsScale
static Color forcesColor[6]
static float forcesWidth
static double forcesScale
bool displayGrabArrow
Vec3
Vec3
static Color grabArrowColor
unsigned short int grabRange
void updateImplicitScheme()
InternalForceTriangulation3D* internalForce
Matrix4x4
void readMainModuleActive3D(GFInput &input)
void readMobility(GFInput &input)
void skipMobility(GFInput &input)
void writeMobility(GFOutput &output)
void initGeneralFormat()
void initInternalForce()
void initDisplay()
virtual void selectObject(const Vec2
cam - click point camera virtual void redraw(Camera3D *)
RangeInformation* getRangeInformation(void) const
void setRangeInformation(RangeInformation * ri )
virtual TriangulationTriangle* newTriangle(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 *zone = 0)
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,
zone - zone face belongs to virtual TriangulationVertex* newVertex(TriangulationEdge *edge=0, unsigned int orientation=0 )
orientation - vertex orientation versus edge orientation (0 or 1) ActiveTriangulationVertex3D* getSelectedVertex(void) const
ActiveTriangulationEdge3D* getSelectedEdge(void) const
ActiveTriangulationTriangle3D* getSelectedTriangle(void) const
TriangulationZone3D* getSelectedZone(void) const
ActiveTriangulationVertex3DIterator firstVertex(void) const
ActiveTriangulationVertex3DIterator lastVertex(void) const
ActiveTriangulationZone3DIterator firstZone(void) const
ActiveTriangulationZone3DIterator lastZone(void) const
ActiveTriangulationTriangle3DIterator firstTriangle(void) const
ActiveTriangulationTriangle3DIterator lastTriangle(void) const
ActiveTriangulationEdge3DIterator firstEdge(void) const
ActiveTriangulationEdge3DIterator lastEdge(void) const
ActiveTriangulationVertex3D* getFirstVertex(void) const
ActiveTriangulationTriangle3D* getFirstTriangle(void) const
void apply(void (ActiveTriangulationVertex3D::*ptr)(void))
void apply(void (ActiveTriangulationVertex3D::*ptr)(const int), const int val)
val - integer value to transmit as argument void applyUnsignedInt(void (ActiveTriangulationVertex3D::*ptr)(const unsigned int), const unsigned int val)
val - unsigned integer value to transmit as argument void apply(void (ActiveTriangulationVertex3D::*ptr)(const float), const float val)
val - float value to transmit as argument void applyDouble(void (ActiveTriangulationVertex3D::*ptr)(const double), const double val)
val - double value to transmit as argument void apply(void (ActiveTriangulationVertex3D::*ptr)(void *), void *val)
val - pointer to transmit as argument void apply(void (ActiveTriangulationEdge3D::*ptr)(void))
void apply(void (ActiveTriangulationEdge3D::*ptr)(void) const)
void apply(double (ActiveTriangulationEdge3D::*ptr)(void))
void applyDouble(void (ActiveTriangulationTriangle3D::*ptr)(const double), const double)
void apply(void (ActiveTriangulationTriangle3D::*ptr)(void) const)
void apply(void (ActiveTriangulationTriangle3D::*ptr)(void))
void setLocality(double _locality)
void computeInternalForces(void)
void computeExternalForces(void)
void computeAveragedExternalForces(void)
void computeGlobalForces(void)
void computeGloballyConstrainedForces(void)
void computeTotalForces(void)
void updatePosition(void)
void computeForces(void)
void allocRigidityMatrix(unsigned int nb)
SparseMatrix* getRigidityMatrix()
mtl::dense1D