Class of a 3D active Tetrahedrisation
![]() | getInternalForceType () const returns the internal force type applying on the whole tetrahedrisation |
![]() | getIntegrationMethod (void) const return the integration method |
![]() | setIntegrationMethod (const INTEGRATION_METHOD im) set the integration method |
![]() | getUnit (void) const return the integration method |
![]() | setUnit (const POSITION_UNIT un) set the unit used to store vertex position |
![]() | setTimeStep (const double ts) set the time step |
![]() | getUnitScale () const returns the scale factor used to compute physical parameters in SI |
![]() | allocRigidityMatrix (unsigned int nb, bool symmetric=true) allocate the rigidity of size n*n as well as the force and result vector |
![]() | getRigidityMatrix () returns the current symmetric rigidity Matrix |
![]() | getNonSymmetricRigidityMatrix () returns the current rigidity Matrix |
![]() | getForceVector () returns the current force vector |
![]() | getResultVector () returns the current result vector |
![]() | 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 |
![]() | 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 |
![]() | 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 |
![]() | getGrabRange (void) const returns model grab range |
![]() | drawVector (const Vec3 draw an arrow |
![]() | newZone (char *zoneName) create a new zone with a given name |
![]() | newSurfaceZone (char *zoneName) create a new zone with a given name |
![]() | computeEdgesLengthAndDirection (void) pre-computation fuction for spring internal forces |
![]() | computeEdgesSquareLengthVariation (void) pre-computation function for non-linear elastic forces |
![]() | updateTimeStep (void) Automatic computation of the time step |
![]() | computeInternalForces (void) computes all vertices internal forces |
![]() | computeExternalForces (void) compute external forces |
![]() | updatePosition (void) updates all vertices position |
![]() | computeStiffnessMatrix (void) assembly stiffness matrix |
![]() | computeMassOnVertices () compute the mass associated to each vertex |
![]() | computeRenumbering (void) compute renumbering of vertices which displacement is not imposed |
![]() | computeInducedForce (MTLVec &F) compute force induced by the displacement of some vertices |
![]() | solveSystem (MTLVec &F, MTLSymSparse *, MTLVec &, int, double) solve the system F=K*U and return U, displacement of vertices which displacement is not imposed |
![]() | updatePosition (MTLVec &U) update position of vertices knowing their rest position and their displacement |
![]() | computeDisplacement (int, double) compute displacement of all vertices given some displacements and external forces |
![]() | getBarycentricCoordinates (Vec3 return tetrahedron in which the given point is @first param : coordinates of the given point in the image @second param : barycentric coordinates of the given point |
![]() | setMassDensity (const double r) set mass density |
![]() | getMassDensity (void) get mass density |
![]() | iterate (const unsigned int n) model deformation callback |
![]() | asynchronousIterate (const unsigned int n) asynchronous deformation callback |
![]() | setInternalForce (InternalForceTetra3D *ft) set a given internal force as the main internal force applying on all vertices : updates the internalForceType field of all vertices and eventually call the ft->setGlobalFunction() |
![]() | setInternalForce (char *forceName) find the internal force corresponding to its name |
![]() | apply (void (ActiveTetraVertex3D::*ptr)(void)) apply member function on each mesh vertex |
![]() | apply (void (ActiveTetraVertex3D::*ptr)(void) const) apply member function on each mesh vertex |
![]() | apply (void (ActiveTetraVertex3D::*ptr)(int), int val) apply member function on each mesh vertex |
![]() | apply (void (ActiveTetraVertex3D::*ptr)(double), double) apply member function on each mesh vertex |
![]() | apply (void (ActiveTetraVertex3D::*ptr)(unsigned int), unsigned int val) apply member function on each mesh vertex |
![]() | apply (void (ActiveTetraVertex3D::*ptr)(float), float val) apply member function on each mesh vertex |
![]() | applyDouble (void (ActiveTetraVertex3D::*ptr)(const double), const double val) apply member function on each mesh vertex |
![]() | apply (void (ActiveTetraVertex3D::*ptr)(void *), void *val) apply member function on each mesh vertex |
![]() | apply (void (ActiveTetraEdge3D::*ptr)(void)) apply member function on each mesh edge |
![]() | apply (void (ActiveTetraEdge3D::*ptr)(void) const) apply member function on each mesh edge |
![]() | apply (void (ActiveTetraTriangle3D::*ptr)(void)) apply member function on each mesh triangle |
![]() | apply (void (ActiveTetraTriangle3D::*ptr)(void) const) apply member function on each mesh triangle |
![]() | apply (void (ActiveTetraTriangle3D::*ptr)(bool), bool) apply member function on each mesh triangle |
![]() | apply (void (ActiveTetraTetrahedron3D::*ptr)(void)) apply member function on each mesh tetrahedron |
![]() | apply (void (ActiveTetraTetrahedron3D::*ptr)(void) const) apply member function on each mesh tetrahedron |
![]() | apply (void (ActiveTetraTetrahedron3D::*ptr)(bool), bool) apply member function on each mesh tetrahedron |
![]() | applyDouble (void (ActiveTetraTetrahedron3D::*ptr)(const double), const double) apply member function on each mesh tetrahedron |
![]() | applyVect (void (ActiveTetraTetrahedron3D::*ptr)(const Vec3 apply member function on each mesh tetrahedron |
![]() | getVertex (const unsigned int n) const returns mesh vertex given its reference |
![]() | getEdge (const unsigned int n) const returns mesh edge given its reference |
![]() | getTriangle (const unsigned int n) const returns mesh triangle given its reference |
![]() | getTetrahedron (const unsigned int n) const returns mesh tetrahedron given its reference |
![]() | getZone (const unsigned int n) const returns mesh zone given its reference |
![]() | getSurfaceZone (const unsigned int n) const returns mesh surface zone given its reference |
![]() | getSelectedVertex (void) const returns mesh selected vertex |
![]() | getSelectedEdge (void) const returns mesh selected edge |
![]() | getSelectedTriangle (void) const returns mesh selected triangle |
![]() | getSelectedTetrahedron (void) const returns mesh selected tetrahedron |
![]() | getSelectedZone (void) const returns mesh selected zone |
![]() | getSelectedSurfaceZone (void) const returns mesh selected surfacezone |
![]() | firstVertex (void) const returns an iterator on vertices, initialized on first vertex |
![]() | lastVertex (void) const returns an iterator on vertices, initialized on first vertex |
![]() | firstEdge (void) returns an iterator on edges, initialized on first edge |
![]() | lastEdge (void) returns an iterator on edges, initialized on first edge |
![]() | firstTriangle (void) returns an iterator on triangles, initialized on first triangle |
![]() | lastTriangle (void) returns an iterator on triangles, initialized on first triangle |
![]() | firstTetrahedron (void) const returns an iterator on tetrahedra, initialized on first tetrahedron |
![]() | lastTetrahedron (void) const returns an iterator on tetrahedra, initialized on first tetrahedron |
![]() | firstZone (void) const returns an iterator on zones, initialized on first zone |
![]() | lastZone (void) const returns an iterator on zones, initialized on first zone |
![]() | firstSurfaceZone (void) const returns an iterator on zones, initialized on first zone |
![]() | lastSurfaceZone (void) const returns an iterator on zones, initialized on last zone |
![]() | setRestPosition () set the current Tetrahedrisation geometry as the geometry at rest position |
![]() | resetElasticTensors () reset all elastic tensor in order to recompute them |
![]() | getTimeStep () const return the time step for the integration of the internal force |
![]() | newTetrahedron (TetraVertex3D* v0, TetraVertex3D* v1, TetraVertex3D* v2, TetraVertex3D* v3, bool orientation=true) creat new 3D tetrahedron |
![]() | newTriangle (TetraVertex3D *v0, TetraVertex3D *v1, TetraVertex3D *v2) create new 3D triangle |
![]() | newEdge (TetraVertex3D *v0, TetraVertex3D *v1=0) create new 3D edge |
![]() | newVertex (Vec3 create new 3D vertex |
![]() | getInterface (void) const returns 3D tetrahedrisation interface |
![]() | unitScale constants that is used to convert physical parameters into SI units |
![]() | asynchCoeff coeff used for asynchronous |
![]() | priorityStat priorityStat |
![]() | priorityQueue priority queue |
![]() | timeStep time step for integration of the partial differential equation (in s) |
![]() | initializedElasticForce whether the edge and vertex tensor has been initialized |
![]() | mainInternalForce internal force used for all vertices internal force computation |
![]() | numberCGIterations maximum number of iterations to perform in the conjugated gradient algorithm |
![]() | stiffnessMatrix symmetric stiffness matrix (in kg/s^2) |
![]() | stiffnessMatrix2 non symmetric stiffness matrix (in kg/s^2) |
![]() | preconditioner cholesky preconditioner |
![]() | 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 |
![]() | renum store renumbering for stiffness matrix |
![]() | displacementList store list of vertices which displacement is imposed |
![]() | rangeInformation the range information used for all vertices |
![]() | massDensity mass density (in kg/m^3) |
![]() | integrationMethod chosen integration Method |
![]() | positionUnit chosen unit to store vertex position |
![]() | meshChanged whether to recompute some data (mass, stiffness, time step) |
![]() | texture1DFunction texture 1D function |
![]() | displayClosestPoint whether the closest point of each vertex should be displayed |
![]() | displayNormals whether to display surface normal at vertices |
![]() | displayForces whether to display surface forces at vertices |
![]() | 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 |
![]() | globalTimer Some data to compute simulation frequencies |
![]() | readMainModuleActive3D (GFInput &input) general format read function for main module |
![]() | readPositionConstraintModule (GFInput &input) general format read function for position constraint module |
![]() | readMobilityModule (GFInput &input) general format read function for mobility module |
![]() | skipPositionConstraintModule (GFInput &input) general format skip function for position constraint module |
![]() | skipMobilityModule (GFInput &input) general format skip function for mobility module |
![]() | writePositionConstraintModule (GFOutput &output) general format write function for position constraint module |
![]() | writeMobilityModule (GFOutput &output) general format write function for mobility module |
![]() | readForceConstraintModule (GFInput &input) general format read function for force constraint module |
![]() | skipForceConstraintModule (GFInput &input) general format skip function for force constraint module |
![]() | writeForceConstraintModule (GFOutput &output) general format write function for force constraint module |
![]() | readRestPositionModule (GFInput &input) general format read function for rest position module |
![]() | skipRestPositionModule (GFInput &input) general format skip function for rest position module |
![]() | writeRestPositionModule (GFOutput &output) general format write function for rest position module |
![]() | readPreviousPositionModule (GFInput &input) general format read function for rest position module |
![]() | skipPreviousPositionModule (GFInput &input) general format skip function for rest position module |
![]() | writePreviousPositionModule (GFOutput &output) general format write function for rest position module |
![]() | readPositionConstraint (TclString name, GFInput &input) read function for position constraint module |
![]() | skipPositionConstraint (TclString name, GFInput &input) skip function for position constraint module |
![]() | writePositionConstraint (Constraint *c, GFOutput &output) write function for position constraint module |
![]() | readForceConstraint (TclString name, GFInput &input) read function for force constraint module |
![]() | skipForceConstraint (TclString name, GFInput &input) skip function for force constraint module |
![]() | writeForceConstraint (Constraint *c, GFOutput &output) write function for force constraint module |
![]() | init () constructors common code |
![]() | initGeneralFormat () constructors common code for the I/O routines |
![]() | initInternalForce () constructors common code for creating internal force InternalTriangulationForce3D objects |
![]() | getInternalEnergy () returns the internal energy |
![]() | initDisplay () constructors common code for initialising display variables |
exceptions
Class of a 3D active Tetrahedrisation
NO_UNIT
METER_UNIT
MILLIMETER_UNIT POSITION_UNIT
typedef enum
EXPLICIT
IMPLICIT
HOUBOLT
ASYNCHRONOUS INTEGRATION_METHOD
double unitScale
double asynchCoeff
std::vector
std::vector <ActiveTetraVertex3D*> priorityQueue
double timeStep
bool initializedElasticForce
InternalForceTetra3D* mainInternalForce
unsigned int numberCGIterations
MTLSymSparse* stiffnessMatrix
MTLSparse* stiffnessMatrix2
itl::cholesky
MTLVec* forceVector
MTLVec* resultVector
std::map <ActiveTetraVertex3D*, unsigned int> renum
std::map <ActiveTetraVertex3D*,Vec3
RangeInformation* rangeInformation
double massDensity
INTEGRATION_METHOD integrationMethod
POSITION_UNIT positionUnit
bool meshChanged
SET_TETRAHEDRISATION_1D_TEXTURE_COORDINATES texture1DFunction
bool displayClosestPoint
bool displayNormals
bool 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 readMainModuleActive3D(GFInput &input)
void readPositionConstraintModule(GFInput &input)
void readMobilityModule(GFInput &input)
void skipPositionConstraintModule(GFInput &input)
void skipMobilityModule(GFInput &input)
void writePositionConstraintModule(GFOutput &output)
void writeMobilityModule(GFOutput &output)
void readForceConstraintModule(GFInput &input)
void skipForceConstraintModule(GFInput &input)
void writeForceConstraintModule(GFOutput &output)
void readRestPositionModule(GFInput &input)
void skipRestPositionModule(GFInput &input)
void writeRestPositionModule(GFOutput &output)
void readPreviousPositionModule(GFInput &input)
void skipPreviousPositionModule(GFInput &input)
void writePreviousPositionModule(GFOutput &output)
virtual void readPositionConstraint(TclString name, GFInput &input)
virtual void skipPositionConstraint(TclString name, GFInput &input)
virtual void writePositionConstraint(Constraint *c, GFOutput &output)
virtual void readForceConstraint(TclString name, GFInput &input)
virtual void skipForceConstraint(TclString name, GFInput &input)
virtual void writeForceConstraint(Constraint *c, GFOutput &output)
void init()
void initGeneralFormat()
void initInternalForce()
double getInternalEnergy()
void initDisplay()
Timer globalTimer
constructors
destructor
inline InternalForceTetra3D* getInternalForceType() const
INTEGRATION_METHOD getIntegrationMethod(void) const
void setIntegrationMethod(const INTEGRATION_METHOD im)
POSITION_UNIT getUnit(void) const
void setUnit(const POSITION_UNIT un)
void setTimeStep(const double ts)
double getUnitScale() const
void allocRigidityMatrix(unsigned int nb, bool symmetric=true)
MTLSymSparse* getRigidityMatrix()
MTLSparse* getNonSymmetricRigidityMatrix()