2 simplex mesh
![]() | getCenter () const return the mesh center |
![]() | getRadius () const return the mesh radius of the circumscribed sphere |
![]() | newVertex (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) Creates new vertex |
![]() | newVertex (const SM2Vertex& org) Creates new vertex by copy |
![]() | newEdge ( SM2VertexTopology *v1, SM2VertexTopology *v2, SM2FaceTopology *f1 = 0, SM2FaceTopology *f2 = 0) creates a new edge |
![]() | newFace (SM2EdgeTopology *edge, unsigned int orientation, SM2ZoneTopology *zone = 0) creates a new face |
![]() | append (const SM2& mesh) add in the current mesh a copy of a given mesh |
![]() | refine (void) Refines the mesh (approx |
![]() | refineOld (void) Refines the mesh (twice more faces) returns the new number of faces |
![]() | decimate (void) Decimates the mesh (half less faces if possible) returns the new number of faces |
![]() | checkContourTopology (void) const tests if the contour definition on a simplex mesh is coherent: prints error on cerr otherwise |
![]() | 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 |
![]() | setStopFunction (SM2_STOP_FUNCTION _stop) set the new function that estimates if the mesh should be active |
![]() | getStopFunction () const get the new function that estimates if the mesh should be active |
![]() | setStopDistance (const double d) set the distance use to decide if the mesh shoud be active or not |
![]() | getStopDistance () const get the distance use to decide if the mesh shoud be active or not |
![]() | setStopClientData (void *clientData) set the data structure (void pointer) used as a parameter to the stop function |
![]() | getStopClientData () const get the data structure (void pointer) used as a parameter to the stop function |
![]() | testSM2Displacement (SM2 *mesh, void *clientData=0) a stop function that tests if the maximum dispacement |position-previousPosition| is greater than a threshold) |
![]() | getVolume (void) const returns model volume |
![]() | assembleContour (int tag) throw(SM2Contour3D::CannotCreateContour) create a closed contour on a 2-simplex mesh given a label |
![]() | getGlobalTransformation (void) const returns global transformation type |
![]() | getDeformationType (void) const returns mesh deformation type |
![]() | setGlobalTransformation (Transformation::Type type) set global transformation type |
![]() | setDeformationType (DeformationType type) set model deformation type |
![]() | setSurfaceChanged (bool b) set surfaceChanged flag |
![]() | getSurfaceChanged (void) const returns surfaceChanged flag |
![]() | getFileName (void) const returns mesh file name |
![]() | setFileName (const char *name) set new mesh file name |
![]() | getUseReferenceShape (void) const returns reference shape flag |
![]() | setUseReferenceShape (bool rs) set reference shape flag |
![]() | getRangeInformation () const get the range information applied on all vertices |
![]() | setRangeInformation ( RangeInformation * ri) set the range information applied on all vertices |
![]() | translate (const Vec3 translates the object |
![]() | rotate (const Rotation3D& rotation) rotates the object |
![]() | scale (const double scale) scales the object |
![]() | getSelectionMode (void) const returns model subobject selection mode |
![]() | setSelectionMode (SELECTION_MODE mode) set model subobject selection mode |
![]() | redraw (Camera3D *) all graphics objects can be drawn |
![]() | updateCenter (Vec3 Returns the graphic object center and weight |
![]() | updateRadius (const Vec3 Returns the graphic object radius given its center |
![]() | computeClosestDistance (DataTypes::MouseClick& mc) const The routine that allows the camera to select an object by computing the distance of an object from its radial line |
![]() | selectObject (const Vec2 looks for closest subobject from click point |
![]() | grabCallback (const Vec2 grab vertices from a mouse click in a 3D camera |
![]() | grab (const Vec3 grab vertices towards a 3D point |
![]() | grab2D (const Vec3 grab vertices towards a point in a slice |
![]() | setSelectedFace (SM2Face *f) returns mesh selected face |
![]() | setSelectedZone (SM2Zone *z) returns mesh selected zone |
![]() | setSelectedEdge (SM2Edge *e) returns mesh selected edge |
![]() | setSelectedVertex (SM2Vertex *v) returns mesh selected edge |
![]() | getSelectedVertex (void) const returns mesh selected vertex |
![]() | getSelectedEdge (void) const returns mesh selected edge |
![]() | getSelectedFace (void) const returns mesh selected face |
![]() | getSelectedZone (void) const returns mesh selected zone |
![]() | selected (void) function called when this object is selected |
![]() | unselected (void) function called when this object is unselected |
![]() | unselect (void) unselects any subobject |
![]() | select (SM2Vertex *v) select given vertex |
![]() | select (SM2Edge *e) select given edge |
![]() | select (SM2Face *e) select given face |
![]() | select (SM2Zone *e) select given zone |
![]() | selectVertex (int ref) select given vertex |
![]() | selectEdge (int ref) select given edge |
![]() | selectFace (int ref) select given face |
![]() | selectZone (int ref) select given zone |
![]() | setRendering (const TclString& n) set surface rendering mode |
![]() | getGrabRange (void) const returns model grab range |
![]() | setMaximumRigidity (void) computes and store each vertex maximum rigidity |
![]() | getMaximumRigidity (void) const returns mesh maximum rigidity |
![]() | computeSimplexAngle (void) computes all vertices simplex angle |
![]() | computeMeanCurvature (void) computes all vertices mean curvature |
![]() | setScene (Scene3D *scene) move model in new scene, resynchronize model traces in cameras |
![]() | setLocality (double locality) set the locality of all model vertices to given value and switch to corresponding deformation mode |
![]() | firstVertex (void) const returns an iterator on vertices, initialized on first vertex |
![]() | lastVertex (void) const returns an iterator on vertices, initialized on last vertex |
![]() | firstEdge (void) const returns an iterator on edges, initialized on first edge |
![]() | lastEdge (void) const returns an iterator on edges, initialized on last edge |
![]() | firstFace (void) const returns an iterator on faces, initialized on first face |
![]() | lastFace (void) const returns an iterator on faces, initialized on last face |
![]() | firstZone (void) const returns an iterator on zones, initialized on first zone |
![]() | lastZone (void) const returns an iterator on zones, initialized on last zone |
![]() | firstContour () const returns an iterator on the contour list |
![]() | lastContour () const returns an iterator on the contour list |
![]() | getFirstVertex (void) const returns first mesh vertex |
![]() | getFirstEdge (void) const returns first mesh edge |
![]() | getFirstFace (void) const returns first mesh face |
![]() | getFirstZone (void) const returns first mesh zone |
![]() | getLastVertex (void) const returns last mesh vertex |
![]() | getLastEdge (void) const returns last mesh edge |
![]() | getLastFace (void) const returns last mesh face |
![]() | getLastZone (void) const returns last mesh zone |
![]() | iterate (const unsigned int n) model deformation callback |
![]() | apply (void (SM2Vertex::*ptr)(void)) apply member function on each mesh vertex |
![]() | apply (void (SM2Vertex::*ptr)(int), int val) apply member function on each mesh vertex |
![]() | apply (void (SM2Vertex::*ptr)(const unsigned int), const unsigned int val) apply member function on each mesh vertex |
![]() | apply (void (SM2Vertex::*ptr)(float), float val) apply member function on each mesh vertex |
![]() | apply (void (SM2Vertex::*ptr)(const double), const double val) apply member function on each mesh vertex |
![]() | apply (void (SM2Vertex::*ptr)(void *), void *val) apply member function on each mesh vertex |
![]() | apply (void (SM2Edge::*ptr)(void)) apply member function on each mesh edge |
![]() | apply (void (SM2Face::*ptr)(void)) apply member function on each mesh face |
![]() | setInternalForce (InternalForce3DType *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 |
![]() | getInternalForceType () const returns the internal force type applying on the whole contour |
![]() | flipNormals (void) flip every model normals |
![]() | areNormalsFlipped () const whether the direction normal vector at each vertex and each face should be flipped for display purposes |
![]() | getVertex (unsigned int i) const get vertex by index |
![]() | getEdge (unsigned int i) const get edge by index |
![]() | getFace (unsigned int i) const get face by index |
![]() | getZone (unsigned int i) const get zone by index |
![]() | intersectWithPlane (const Vec3 compute model surface intersection with a plane |
![]() | getSurfaceSliceableName () const returns the string identifying the Tcl name of simplex mesh |
![]() | drawVector (const Vec3 draw an arrow |
![]() | getInterface (void) const returns simplex mesh interface |
![]() | constructors
| ||||
![]() | destructor
|
![]() | contours the list of contours |
![]() | filename name under which the file is saved |
![]() | meshname name of this mesh (could have several meshes in a file) |
![]() | maximumRigidity maximum possible rigidity in the 2-simplex mesh |
![]() | stopFct the fonction to be called to decide if the mesh should still be iterated or not |
![]() | stopClientData some parameters used by the stop function |
![]() | stopDistance some distance used to decide if the mesh should still be active or not |
![]() | damping 2-simplex mesh damping coefficient for evolution law |
![]() | deformationType type of deformation used |
![]() | globalTransformation type of global transformation used |
![]() | balloonForce whether to use balloon force |
![]() | balloonCoefficient balloon force weight |
![]() | useReferenceShape whether to compute shape spring forces |
![]() | rangeInformation the range information used for all vertices |
![]() | referenceCenter 2-simplex mesh reference (stored) center |
![]() | surfaceChanged whether 2simplex mesh was deformed |
![]() | displayNormals whether to display surface normal at vertices |
![]() | displayTopologyConstraint whether to display structures built for a topology constraint |
![]() | displayFaceEdges whether to display all face edges of the data structure built for a topology constraint * |
![]() | displaySimplifiedEdges whether to display all simplified edges of the data structure built for a topology constraint * |
![]() | displayIntersections whether to display all intersection lines of the data structure built for a topology constraint * |
![]() | displayVoxelIntersections whether to display the voxels where intersections occur in the data structure built for a topology constraint * |
![]() | displayIntersectionContours whether to display intersection contours * |
![]() | 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 |
![]() | flipNormal whether we should flip normal for display |
![]() | 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 |
![]() | selectionMode model subobject selection mode |
![]() | grabRange mouse grab extension |
![]() | faceDisplayList The face display list for picking and LIE collision |
![]() | selectedVertex pointer on selected vertex (0 if no vertex is selected) |
![]() | selectedFace pointer on selected face (0 if no face is selected) |
![]() | selectedEdge pointer on selected edge (0 if no edge is selected) |
![]() | selectedZone pointer on selected zone (0 if no zone is selected) |
![]() | center 2-simplex mesh center |
![]() | radius sphere that include the 2simplex mesh radius |
![]() | mainInternalForce internal force used for all vertices internal force computation |
![]() | globalMatrix cumulated global transformations |
![]() | buildFaceDisplayList () build the face display list when needed |
![]() | surfaceHasChanged () function called when the surface geometry or topology has changed |
![]() | init (GeneralFormatModuleVersion::INPUTREADFUNCTION readFct = (GeneralFormatModuleVersion::INPUTREADFUNCTION) &SM2::readMainModule) constructors common code |
![]() | renumber (void) const renumber mesh vertices, faces, edges and zones |
![]() | readMainModule (GFInput &input) general format read function for main module |
![]() | skipMainModule (GFInput &input) general format skip function for main module |
![]() | writeMainModule (GFOutput &output) general format write function for main module |
![]() | readRangeInformation (GFInput &input) general format read function for range information |
![]() | skipRangeInformation (GFInput &input) general format skip function for range information |
![]() | writeRangeInformation (GFOutput &output) general format write function for range information |
![]() | setShapeInternalForce (void) initialization method for shape internal forces |
![]() | setSpringInternalForce (void) initialization method for spring internal forces |
![]() | computeEdgesLengthAndDirection (void) computes all edges length and direction |
![]() | SM2 (Scene3D *scene) creates an empty mesh |
![]() | copy (const SM2& org, SM2Vertex **vertexTable, int *refs) part of copy constructor (after vertices have been copied) |
![]() | readMainModule2 (GFInput &input, int nbVertices) general format read function for main module |
![]() | compute model surface intersection with a volumetric image |
constructor
2 simplex mesh
LOCAL
GLOBALLY_CONSTRAINED
EDIT_ZONE
SELECT_SUBOBJECT
TclString filename
TclString meshname
unsigned int maximumRigidity
SM2_STOP_FUNCTION stopFct
void* stopClientData
double stopDistance
double damping
DeformationType deformationType
Transformation::Type globalTransformation
bool balloonForce
double balloonCoefficient
bool useReferenceShape
RangeInformation* rangeInformation
Vec3
bool surfaceChanged
bool displayNormals
bool displayTopologyConstraint
bool displayFaceEdges
bool displaySimplifiedEdges
bool displayIntersections
bool displayVoxelIntersections
bool displayIntersectionContours
int displayForces
static Color normalsColor
static float normalsWidth
static double normalsScale
static Color forcesColor[6]
static float forcesWidth
static double forcesScale
bool flipNormal
bool displayGrabArrow
Vec3
Vec3
static Color grabArrowColor
SELECTION_MODE selectionMode
unsigned short int grabRange
GLuint faceDisplayList
void buildFaceDisplayList()
void surfaceHasChanged()
SM2Vertex* selectedVertex
SM2Face* selectedFace
SM2Edge* selectedEdge
SM2Zone* selectedZone
Vec3
double radius
Vec3
double getRadius() const
InternalForce3DType* mainInternalForce
Matrix4x4
void init(GeneralFormatModuleVersion::INPUTREADFUNCTION readFct = (GeneralFormatModuleVersion::INPUTREADFUNCTION) &SM2::readMainModule)
void renumber(void) const
void readMainModule(GFInput &input)
void skipMainModule(GFInput &input)
void writeMainModule(GFOutput &output)
void readRangeInformation(GFInput &input)
void skipRangeInformation(GFInput &input)
void writeRangeInformation(GFOutput &output)
void setShapeInternalForce(void)
void setSpringInternalForce(void)
void computeEdgesLengthAndDirection(void)
constructors
SM2(const TclString& name, Scene3D *scene=0, GeneralFormatModuleVersion::INPUTREADFUNCTION readFct = (GeneralFormatModuleVersion::INPUTREADFUNCTION) &SM2::readMainModule)
scene - scene to build object in
readFct - read main module function (if default one should
be overloaded by a child) destructor
virtual SM2VertexTopology* newVertex(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)
n1 - second neighbor,
n2 - third neighbor,
f0 - first face,
f1 - second face,
f2 - third face,
e0 - first edge,
e1 - second edge,
e2 - third edge virtual SM2Vertex* newVertex(const SM2Vertex& org)
virtual SM2EdgeTopology* newEdge( SM2VertexTopology *v1, SM2VertexTopology *v2, SM2FaceTopology *f1 = 0, SM2FaceTopology *f2 = 0)
v1 - first edge vertex
v2 - second edge vertex
f1 - first edge face
f2 - second edge face virtual SM2FaceTopology* newFace(SM2EdgeTopology *edge, unsigned int orientation, SM2ZoneTopology *zone = 0)
zone - zone face belongs to void append(const SM2& mesh)
void refine(void)
void refineOld(void)
void decimate(void)
void checkContourTopology(void) const
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 setStopFunction(SM2_STOP_FUNCTION _stop)
SM2_STOP_FUNCTION getStopFunction() const
void setStopDistance(const double d)
double getStopDistance() const