Class of a 3D Tetrahedrisation
![]() | FileNotFound : public Exception unable to open file |
![]() | NotAManifold : public Exception mesh is not a manifold (triangle shared by more than 2 tetrahedra,...) |
![]() | triangleList ObjectsList |
![]() | filename name under which the file is saved |
![]() | createTetrahedrisation ( unsigned int nbVertices, Vec3 create a tetrahedrisation data structure from a table of vertex position and a table of tetrahedron description |
![]() | readMainModule (GFInput &input) create a tetrahedrisation from a General Format file |
![]() | readFile (const TclString name) read tetra from e file |
![]() | computeCenter () compute the center, radius and bounding box of the triangulation |
![]() | renumber () set the reference number at vertices,edges, triangles and tetrahedra such that they are continuous |
![]() | topologyCheck () check if the topological relationships between vertices, edges, triangles and tetrahedra are valid |
![]() | topologyCheck2 () new check if the topological relationships between vertices, edges, triangles and tetrahedra are valid |
![]() | newZone (char *zoneName) create a new zone with a given name |
![]() | newSurfaceZone (char *zoneName) create a new surface zone with a given name |
![]() | saveAsGHS3D (char *name) save the current tetrahedrisation in the GHS3D format |
![]() | saveAsTr (char *name) save the current tetrahedrisation in the Tr format |
![]() | saveAsPrecomputedTr (char *name) save the current tetrahedrisation in the precomputed Tr format |
![]() | readMainModule3D (GFInput &input) read the main information (vertex, triangle, edge, tetrahedron) of the tetrahedrisation |
![]() | skipMainModule (GFInput &input) skip the main information (vertex, triangle, edge, tetrahedron) of the tetrahedrisation |
![]() | writeMainModule (GFOutput &output) write the main information (vertex, triangle, edge, tetrahedron of the tetrahedrisation |
![]() | readTextureModule (GFInput &input) read the texture information of the tetrahedrisation |
![]() | skipTextureModule (GFInput &input) skip the texture information of the tetrahedrisation |
![]() | writeTextureModule (GFOutput &output) write the texture information of the tetrahedrisation |
![]() | translate (const Vec3 translates the object |
![]() | rotate (const Rotation3D& rotation) rotates the object |
![]() | scale (const double scale) scales the object |
![]() | redraw (Camera3D *) all graphics objects can be drawn |
![]() | 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 finds the closest edge, zone, vertex or triangle from click point |
![]() | unselect (void) unselects any subobject |
![]() | select (TetraVertex3D *v) select given vertex |
![]() | select (TetraEdge3D *e) select given edge |
![]() | select (TetraTriangle3D *t) select given face |
![]() | select (TetraTetrahedron3D *t) select given tetrahedron |
![]() | select (TetraZone3D *z) select given zone |
![]() | select (TetraSurfaceZone3D *z) select given surface zone |
![]() | selectVertex (int ref) select given vertex |
![]() | selectEdge (int ref) select given edge |
![]() | selectTriangle (int ref) select given triangle |
![]() | selectTetrahedron (int ref) select given tetrahedron |
![]() | selectZone (int ref) select given zone |
![]() | selectSurfaceZone (int ref) select given surface zone |
![]() | unselectVertex () unselect the current selected vertex |
![]() | unselectEdge () unselect the current selected edge |
![]() | unselectTriangle () unselect the current selected triangle |
![]() | 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 surface zone |
![]() | setSurfaceChanged () indicates that the surface topology or geometry has changed |
![]() | updateCenter (Vec3 Returns the graphic object center and weight |
![]() | updateRadius (const Vec3 Returns the graphic object radius given its center |
![]() | getCuttingSurfaceZone (void) const returns cutting surface zone |
![]() | setCuttingSurfaceZone ( TetraSurfaceZone3D * sz) set cutting surface zone |
![]() | firstVertex (void) const returns an iterator on vertices, initialized on first vertex |
![]() | lastVertex (void) const returns an iterator on vertices, initialized on first vertex |
![]() | firstVirtualVertex (void) returns an iterator on virtual vertices, initialized on first vertex |
![]() | lastVirtualVertex (void) returns an iterator on virtual 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 surface zones, initialized on first surface zone |
![]() | lastSurfaceZone (void) const returns an iterator on surface zones, initialized on last surface zone |
![]() | 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 |
![]() | surfaceHasChanged () called when the geometry or mesh topology has changed |
![]() | intersectWithPlane (const Vec3 compute model surface intersection with a plane |
![]() | getSurfaceSliceableName () const returns a string giving the name of the Tcl interface of the mesh |
![]() | newTetrahedron (TetraVertex3D *v0, TetraVertex3D *v1, TetraVertex3D *v2, TetraVertex3D *v3, bool orientation = true) create new 3D tetrahedron |
![]() | newTriangle (TetraVertex3D *v0, TetraVertex3D *v1, TetraVertex3D *v2) create new 3D triangle |
![]() | newEdge (TetraVertex3D *v0, TetraVertex3D *v1) create new 3D edge |
![]() | newVertex (Vec3 create new 3D vertex |
![]() | computeVerticesAverageEdgeSize () comute vertices average edge size value |
![]() | getInterface (void) const returns 3D tetrahedrisation interface |
![]() | SELECTION_MODE model subobject selection mode
|
![]() | virtualVertexList list of virtual vertices |
![]() | tetrahedronList list of tetrahedra |
![]() | edgeList list of edges |
![]() | vertexList list of vertices |
![]() | zoneList list of zones |
![]() | surfaceZoneList list of surface zones |
![]() | cuttingSurfaceZone surface zone given to new surface triangles |
![]() | tetrahedrisationname name of this tetrahedrisation (could have several meshes in a file) |
![]() | center tetrahedrisation mesh center |
![]() | referenceCenter tetrahedrisation mesh reference (stored) center |
![]() | radius sphere that include the 2simplex mesh radius |
![]() | surfaceChanged whether 2simplex mesh was deformed |
![]() | displayNormals whether to display surface normal at vertices |
![]() | normalsColor normal display color |
![]() | normalsWidth normal display width |
![]() | normalScale normals arrows display scale |
![]() | flipNormal whether we should flip normal for display |
![]() | selectionMode model subobject selection mode |
![]() | selectedMaterial the material used to draw selected triangle or zone |
![]() | triangleDisplayList The triangle display list for picking and LIE collision |
![]() | edgeDisplayList The surface edge display list for picking |
![]() | volumeEdgeDisplayList The edge display list for volumetric display |
![]() | vertexDisplayList The vertex display list for picking |
![]() | Sphere sphere to display selected points |
![]() | selectedVertex pointer on selected vertex (0 if no vertex is selected) |
![]() | selectedTriangle pointer on selected face (0 if no face is selected) |
![]() | selectedEdge pointer on selected edge (0 if no edge is selected) |
![]() | selectedTetrahedron pointer on selected etrahedron (0 if no tetrahedron is selected) |
![]() | selectedZone pointer on selected zone (0 if no zone is selected) |
![]() | selectedSurfaceZone pointer on selected surface zone (0 if no surface zone is selected) |
![]() | initDisplay () constructors common code for display variables |
![]() | buildTriangleDisplayList () build the triangle display list when needed |
![]() | buildEdgeDisplayList () build the edge display list when needed |
![]() | buildVolumeEdgeDisplayList () build the edge display list when needed |
![]() | buildVertexDisplayList () build the vertex display list when needed |
![]() | volumeWireframeRedraw (Camera3D *cam) redraw function called when the "volumewireframe" mode is selected |
![]() | initGeneralFormat () init the general file format variables |
![]() | findSurfaceTriangleList (std::map updates the list of surface triangles |
![]() | addVertex (TetraVertex3D *v) add vertex in the vertex list |
![]() | addEdge (TetraEdge3D *e) add edge in the edge list |
![]() | addTriangle (TetraTriangle3D *t) add triangle in the triangle list |
![]() | addTetrahedron (TetraTetrahedron3D *t) add tetrahedron in the tetrahedron list |
![]() | addZone (TetraZone3D *z) add zone in the zone list |
![]() | addSurfaceZone (TetraSurfaceZone3D *z) add surfacezone in the zone list |
![]() | list of triangles |
![]() | iterator on 3D Zones |
Class of a 3D Tetrahedrisation
class FileNotFound: public Exception
class NotAManifold: public Exception
std::set <TetraVertex3D *> virtualVertexList
ObjectsList <TetraTetrahedron3D> tetrahedronList
TetraTriangleMap triangleList
TetraEdgeMap edgeList
ObjectsList <TetraVertex3D> vertexList
ObjectsList <TetraZone3D> zoneList
ObjectsList <TetraSurfaceZone3D> surfaceZoneList
TetraSurfaceZone3D* cuttingSurfaceZone
constructors
destructor
TclString filename
TclString tetrahedrisationname
Vec3
Vec3
double radius
enum SELECTION_MODE
SELECT_ZONE
SELECT_SURFACE_ZONE
SELECT_EDGE
SELECT_VERTEX
SELECT_TRIANGLE
EDIT_ZONE
EDIT_SURFACE_ZONE
bool surfaceChanged
bool displayNormals
static Color normalsColor
static float normalsWidth
static double normalScale
bool flipNormal
SELECTION_MODE selectionMode
Material selectedMaterial
GLuint triangleDisplayList
GLuint edgeDisplayList
GLuint volumeEdgeDisplayList
GLuint vertexDisplayList
GLUquadricObj* Sphere
void initDisplay()
void buildTriangleDisplayList()
void buildEdgeDisplayList()
void buildVolumeEdgeDisplayList()
void buildVertexDisplayList()
void volumeWireframeRedraw(Camera3D *cam)
TetraVertex3D* selectedVertex
TetraTriangle3D* selectedTriangle
TetraEdge3D* selectedEdge
TetraTetrahedron3D* selectedTetrahedron
TetraZone3D* selectedZone
TetraSurfaceZone3D* selectedSurfaceZone
void initGeneralFormat()
void findSurfaceTriangleList(std::map
void addVertex(TetraVertex3D *v)
void addEdge(TetraEdge3D *e)
void addTriangle(TetraTriangle3D *t)
void addTetrahedron(TetraTetrahedron3D *t)
void addZone(TetraZone3D *z)
void addSurfaceZone(TetraSurfaceZone3D *z)
void createTetrahedrisation( unsigned int nbVertices, Vec3
positionTable - an array of size nbVertices where the position of each vertex is stored
nbTetrahedra - the number of tetrahedra
vertexTetrahedronTable - an array of size [4][nbTetrahedra] where the
4 vertices of each tetrahedron is described void readMainModule(GFInput &input)
void readFile(const TclString name)
void computeCenter()
virtual void renumber()
void topologyCheck()
bool topologyCheck2()
virtual TetraZone3D* newZone(char *zoneName)
virtual TetraSurfaceZone3D* newSurfaceZone(char *zoneName)
void saveAsGHS3D(char *name)
void saveAsTr(char *name)
void saveAsPrecomputedTr(char *name)
void readMainModule3D(GFInput &input)
void skipMainModule(GFInput &input)
void writeMainModule(GFOutput &output)
void readTextureModule(GFInput &input)
void skipTextureModule(GFInput &input)
void writeTextureModule(GFOutput &output)
virtual void translate(const Vec3
virtual void rotate(const Rotation3D& rotation)
virtual void scale(const double scale)
virtual void redraw(Camera3D *)
virtual double computeClosestDistance(DataTypes::MouseClick& mc) const
virtual void selectObject(const Vec2
cam - click point camera void unselect(void)
void select(TetraVertex3D *v)
void select(TetraEdge3D *e)