#include <TetrahedronSetTopologyContainer.h>


Public Types | |
| typedef Tetra | Tetrahedron |
| typedef TetraEdges | TetrahedronEdges |
| typedef TetraTriangles | TetrahedronTriangles |
Public Member Functions | |
| TetrahedronSetTopologyContainer () | |
| TetrahedronSetTopologyContainer (const sofa::helper::vector< Tetrahedron > &tetrahedra) | |
| virtual | ~TetrahedronSetTopologyContainer () |
| virtual void | init () |
| Initialization method called at graph modification, during bottom-up traversal. | |
| virtual bool | checkTopology () const |
| Checks if the topology is coherent. | |
| unsigned int | getNumberOfTetrahedra () const |
| Returns the number of tetrahedra in this topology. | |
| const sofa::helper::vector < Tetrahedron > & | getTetrahedronArray () |
| Returns the Tetrahedron array. | |
| const sofa::helper::vector < sofa::helper::vector < unsigned int > > & | getTetrahedronVertexShellArray () |
| Returns the Tetrahedron Vertex Shells array. | |
| const sofa::helper::vector < unsigned int > & | getTetrahedronVertexShell (const unsigned int i) |
| Returns the set of tetrahedra adjacent to a given vertex. | |
| const sofa::helper::vector < TetrahedronEdges > & | getTetrahedronEdgeArray () |
| Returns the Tetrahedron Edges array. | |
| const TetrahedronEdges & | getTetrahedronEdges (const unsigned int i) |
| Returns the 6 edges adjacent to a given tetrahedron. | |
| const sofa::helper::vector < TetrahedronTriangles > & | getTetrahedronTriangleArray () |
| Returns the Tetrahedron Triangles array. | |
| const TetrahedronTriangles & | getTetrahedronTriangles (const unsigned int i) |
| Returns the 4 triangles adjacent to a given tetrahedron. | |
| const sofa::helper::vector < sofa::helper::vector < unsigned int > > & | getTetrahedronEdgeShellArray () |
| Returns the Tetrahedron Edge Shells array. | |
| const sofa::helper::vector < unsigned int > & | getTetrahedronEdgeShell (const unsigned int i) |
| Returns the set of tetrahedra adjacent to a given edge. | |
| const sofa::helper::vector < sofa::helper::vector < unsigned int > > & | getTetrahedronTriangleShellArray () |
| Returns the Tetrahedron Triangle Shells array. | |
| const sofa::helper::vector < unsigned int > & | getTetrahedronTriangleShell (const unsigned int i) |
| Returns the set of tetrahedra adjacent to a given triangle. | |
| int | getVertexIndexInTetrahedron (const Tetrahedron &t, unsigned int vertexIndex) const |
| returns the index (either 0, 1 ,2 or 3) of the vertex whose global index is vertexIndex. | |
| int | getEdgeIndexInTetrahedron (const TetrahedronEdges &t, unsigned int edgeIndex) const |
| returns the index (either 0, 1 ,2, 3, 4 or 5) of the edge whose global index is edgeIndex. | |
| int | getTriangleIndexInTetrahedron (const TetrahedronTriangles &t, unsigned int triangleIndex) const |
| returns the index (either 0, 1 ,2 or 3) of the triangle whose global index is triangleIndex. | |
| virtual void | clear () |
| Procedural creation methods. | |
| virtual void | addTetra (int a, int b, int c, int d) |
| const SeqTetras & | getTetras () |
| BaseMeshTopology API. | |
| const TetraEdges & | getEdgeTetraShell (TetraID i) |
| Returns the set of edges adjacent to a given tetrahedron. | |
| const TetraTriangles & | getTriangleTetraShell (TetraID i) |
| Returns the set of triangles adjacent to a given tetrahedron. | |
| const VertexTetras & | getTetraVertexShell (PointID i) |
| Returns the set of tetrahedra adjacent to a given vertex. | |
| const EdgeTetras & | getTetraEdgeShell (EdgeID i) |
| Returns the set of tetrahedra adjacent to a given edge. | |
| const TriangleTetras & | getTetraTriangleShell (TriangleID i) |
| Returns the set of tetrahedra adjacent to a given triangle. | |
| virtual int | getTetrahedronIndex (PointID v1, PointID v2, PointID v3, PointID v4) |
| Returns the indices of a tetrahedron given four vertex indices : returns -1 if none. | |
| virtual Edge | getLocalTetrahedronEdges (const unsigned int i) const |
| Returns for each index (between 0 and 5) the two vertex indices that are adjacent to that edge. | |
Protected Member Functions | |
| virtual void | createEdgeSetArray () |
| Creates the EdgeSet array. | |
| virtual void | createTriangleSetArray () |
| Creates the TriangleSet array. | |
| virtual void | createTetrahedronSetArray () |
| Creates the TetrahedronSet array. | |
| bool | hasTetrahedra () const |
| bool | hasTetrahedronEdges () const |
| bool | hasTetrahedronTriangles () const |
| bool | hasTetrahedronVertexShell () const |
| bool | hasTetrahedronEdgeShell () const |
| bool | hasTetrahedronTriangleShell () const |
| void | clearTetrahedra () |
| void | clearTetrahedronEdges () |
| void | clearTetrahedronTriangles () |
| void | clearTetrahedronVertexShell () |
| void | clearTetrahedronEdgeShell () |
| void | clearTetrahedronTriangleShell () |
| virtual void | loadFromMeshLoader (sofa::component::MeshLoader *loader) |
Protected Attributes | |
| sofa::helper::vector< Tetrahedron > | m_tetrahedron |
| provides the set of tetrahedra | |
| sofa::helper::vector < TetrahedronEdges > | m_tetrahedronEdge |
| provides the set of edges for each tetrahedron | |
| sofa::helper::vector < TetrahedronTriangles > | m_tetrahedronTriangle |
| provides the set of triangles for each tetrahedron | |
| sofa::helper::vector < sofa::helper::vector < unsigned int > > | m_tetrahedronVertexShell |
| for each vertex provides the set of tetrahedra adjacent to that vertex | |
| sofa::helper::vector < sofa::helper::vector < unsigned int > > | m_tetrahedronEdgeShell |
| for each edge provides the set of tetrahedra adjacent to that edge | |
| sofa::helper::vector < sofa::helper::vector < unsigned int > > | m_tetrahedronTriangleShell |
| for each triangle provides the set of tetrahedra adjacent to that edge | |
Private Member Functions | |
| void | createTetrahedronEdgeArray () |
| Creates the array of edge indices for each tetrahedron. | |
| void | createTetrahedronTriangleArray () |
| Creates the array of triangle indices for each tetrahedron. | |
| void | createTetrahedronVertexShellArray () |
| Creates the Tetrahedron Vertex Shell Array. | |
| void | createTetrahedronEdgeShellArray () |
| Creates the Tetrahedron Edge Shell Array. | |
| void | createTetrahedronTriangleShellArray () |
| Creates the Tetrahedron Triangle Shell Array. | |
| sofa::helper::vector< unsigned int > & | getTetrahedronVertexShellForModification (const unsigned int vertexIndex) |
| Returns a non-const tetrahedron vertex shell given a vertex index for subsequent modification. | |
| sofa::helper::vector< unsigned int > & | getTetrahedronEdgeShellForModification (const unsigned int edgeIndex) |
| Returns a non-const tetrahedron edge shell given the index of an edge for subsequent modification. | |
Friends | |
| class | TetrahedronSetTopologyModifier |
| std::ostream & | operator<< (std::ostream &out, const TetrahedronSetTopologyContainer &t) |
| std::istream & | operator>> (std::istream &in, TetrahedronSetTopologyContainer &t) |
Definition at line 61 of file TetrahedronSetTopologyContainer.h.
Definition at line 66 of file TetrahedronSetTopologyContainer.h.
Definition at line 67 of file TetrahedronSetTopologyContainer.h.
| typedef TetraTriangles sofa::component::topology::TetrahedronSetTopologyContainer::TetrahedronTriangles |
Definition at line 68 of file TetrahedronSetTopologyContainer.h.
| sofa::component::topology::TetrahedronSetTopologyContainer::TetrahedronSetTopologyContainer | ( | ) |
Definition at line 49 of file TetrahedronSetTopologyContainer.cpp.
| sofa::component::topology::TetrahedronSetTopologyContainer::TetrahedronSetTopologyContainer | ( | const sofa::helper::vector< Tetrahedron > & | tetrahedra | ) |
Definition at line 53 of file TetrahedronSetTopologyContainer.cpp.
References m_tetrahedron, and sofa::component::topology::PointSetTopologyContainer::nbPoints.
| virtual sofa::component::topology::TetrahedronSetTopologyContainer::~TetrahedronSetTopologyContainer | ( | ) | [inline, virtual] |
Definition at line 74 of file TetrahedronSetTopologyContainer.h.
| void sofa::component::topology::TetrahedronSetTopologyContainer::addTetra | ( | int | a, | |
| int | b, | |||
| int | c, | |||
| int | d | |||
| ) | [virtual] |
Reimplemented from sofa::core::componentmodel::topology::BaseMeshTopology.
Definition at line 67 of file TetrahedronSetTopologyContainer.cpp.
References m_tetrahedron, and sofa::component::topology::PointSetTopologyContainer::nbPoints.
| bool sofa::component::topology::TetrahedronSetTopologyContainer::checkTopology | ( | ) | const [virtual] |
Checks if the topology is coherent.
Check if the shell arrays are coherent
Reimplemented from sofa::component::topology::TriangleSetTopologyContainer.
Definition at line 516 of file TetrahedronSetTopologyContainer.cpp.
References hasTetrahedronEdgeShell(), hasTetrahedronTriangleShell(), hasTetrahedronVertexShell(), m_tetrahedron, m_tetrahedronEdge, m_tetrahedronEdgeShell, m_tetrahedronTriangle, m_tetrahedronTriangleShell, and m_tetrahedronVertexShell.
Referenced by sofa::component::topology::TetrahedronSetTopologyModifier::removeTetrahedra(), and sofa::component::topology::TetrahedronSetTopologyModifier::renumberPoints().
| void sofa::component::topology::TetrahedronSetTopologyContainer::clear | ( | ) | [virtual] |
Procedural creation methods.
Reimplemented from sofa::component::topology::TriangleSetTopologyContainer.
Definition at line 649 of file TetrahedronSetTopologyContainer.cpp.
References clearTetrahedra(), clearTetrahedronEdges(), clearTetrahedronEdgeShell(), clearTetrahedronTriangles(), clearTetrahedronTriangleShell(), and clearTetrahedronVertexShell().
Referenced by createEdgeSetArray(), and createTriangleSetArray().
| void sofa::component::topology::TetrahedronSetTopologyContainer::clearTetrahedra | ( | ) | [protected] |
Definition at line 619 of file TetrahedronSetTopologyContainer.cpp.
References m_tetrahedron.
Referenced by clear().
| void sofa::component::topology::TetrahedronSetTopologyContainer::clearTetrahedronEdges | ( | ) | [protected] |
Definition at line 624 of file TetrahedronSetTopologyContainer.cpp.
References m_tetrahedronEdge.
Referenced by clear(), createEdgeSetArray(), and createTetrahedronEdgeArray().
| void sofa::component::topology::TetrahedronSetTopologyContainer::clearTetrahedronEdgeShell | ( | ) | [protected] |
Definition at line 639 of file TetrahedronSetTopologyContainer.cpp.
References m_tetrahedronEdgeShell.
Referenced by clear(), createEdgeSetArray(), and createTetrahedronEdgeShellArray().
| void sofa::component::topology::TetrahedronSetTopologyContainer::clearTetrahedronTriangles | ( | ) | [protected] |
Definition at line 629 of file TetrahedronSetTopologyContainer.cpp.
References m_tetrahedronTriangle.
Referenced by clear(), createTetrahedronTriangleArray(), and createTriangleSetArray().
| void sofa::component::topology::TetrahedronSetTopologyContainer::clearTetrahedronTriangleShell | ( | ) | [protected] |
Definition at line 644 of file TetrahedronSetTopologyContainer.cpp.
References m_tetrahedronTriangleShell.
Referenced by clear(), createTetrahedronTriangleShellArray(), and createTriangleSetArray().
| void sofa::component::topology::TetrahedronSetTopologyContainer::clearTetrahedronVertexShell | ( | ) | [protected] |
Definition at line 634 of file TetrahedronSetTopologyContainer.cpp.
References m_tetrahedronVertexShell.
Referenced by clear(), and createTetrahedronVertexShellArray().
| void sofa::component::topology::TetrahedronSetTopologyContainer::createEdgeSetArray | ( | ) | [protected, virtual] |
Creates the EdgeSet array.
Create the set of edges when needed.
create the m_edge array at the same time than it fills the m_tetrahedronEdge array
Reimplemented from sofa::component::topology::TriangleSetTopologyContainer.
Definition at line 95 of file TetrahedronSetTopologyContainer.cpp.
References clear(), clearTetrahedronEdges(), clearTetrahedronEdgeShell(), sofa::component::topology::TriangleSetTopologyContainer::clearTriangleEdges(), sofa::component::topology::TriangleSetTopologyContainer::clearTriangleEdgeShell(), sofa::component::topology::EdgeSetTopologyContainer::hasEdges(), sofa::component::topology::EdgeSetTopologyContainer::m_edge, m_tetrahedron, and sofa::component::topology::tetrahedronEdgeArray.
Referenced by createTetrahedronEdgeArray().
| void sofa::component::topology::TetrahedronSetTopologyContainer::createTetrahedronEdgeArray | ( | ) | [private] |
Creates the array of edge indices for each tetrahedron.
This function is only called if the TetrahedronEdge array is required. m_tetrahedronEdge[i] contains the 6 indices of the 6 edges of each tetrahedron The number of each edge is the following : edge 0 links vertex 0 and 1, edge 1 links vertex 0 and 2, edge 2 links vertex 0 and 3, edge 3 links vertex 1 and 2, edge 4 links vertex 1 and 3, edge 5 links vertex 2 and 3
Definition at line 132 of file TetrahedronSetTopologyContainer.cpp.
References clearTetrahedronEdges(), createEdgeSetArray(), sofa::component::topology::EdgeSetTopologyContainer::getEdgeIndex(), getNumberOfTetrahedra(), sofa::component::topology::EdgeSetTopologyContainer::hasEdges(), hasTetrahedronEdges(), m_tetrahedron, m_tetrahedronEdge, and sofa::component::topology::tetrahedronEdgeArray.
Referenced by createTetrahedronEdgeShellArray(), getTetrahedronEdgeArray(), and getTetrahedronEdges().
| void sofa::component::topology::TetrahedronSetTopologyContainer::createTetrahedronEdgeShellArray | ( | ) | [private] |
Creates the Tetrahedron Edge Shell Array.
This function is only called if the TetrahedronEdheShell array is required. m_tetrahedronEdgeShell[i] contains the indices of all tetrahedra adjacent to the ith edge
Definition at line 254 of file TetrahedronSetTopologyContainer.cpp.
References clearTetrahedronEdgeShell(), createTetrahedronEdgeArray(), sofa::component::topology::EdgeSetTopologyContainer::getNumberOfEdges(), hasTetrahedronEdges(), hasTetrahedronEdgeShell(), m_tetrahedron, m_tetrahedronEdge, and m_tetrahedronEdgeShell.
Referenced by getTetrahedronEdgeShell(), getTetrahedronEdgeShellArray(), getTetrahedronEdgeShellForModification(), sofa::component::topology::TetrahedronSetTopologyModifier::removeEdgesProcess(), and sofa::component::topology::TetrahedronSetTopologyModifier::removeTetrahedraProcess().
| void sofa::component::topology::TetrahedronSetTopologyContainer::createTetrahedronSetArray | ( | ) | [protected, virtual] |
Creates the TetrahedronSet array.
This function must be implemented by a derived classes
Definition at line 88 of file TetrahedronSetTopologyContainer.cpp.
Referenced by getTetrahedronArray().
| void sofa::component::topology::TetrahedronSetTopologyContainer::createTetrahedronTriangleArray | ( | ) | [private] |
Creates the array of triangle indices for each tetrahedron.
This function is only called if the TetrahedronTriangle array is required. m_tetrahedronTriangle[i] contains the 4 indices of the 4 triangles opposite to the ith vertex
Definition at line 214 of file TetrahedronSetTopologyContainer.cpp.
References clearTetrahedronTriangles(), createTriangleSetArray(), getNumberOfTetrahedra(), sofa::component::topology::TriangleSetTopologyContainer::getTriangleIndex(), hasTetrahedronTriangles(), sofa::component::topology::TriangleSetTopologyContainer::hasTriangles(), m_tetrahedron, and m_tetrahedronTriangle.
Referenced by createTetrahedronTriangleShellArray(), getTetrahedronTriangleArray(), and getTetrahedronTriangles().
| void sofa::component::topology::TetrahedronSetTopologyContainer::createTetrahedronTriangleShellArray | ( | ) | [private] |
Creates the Tetrahedron Triangle Shell Array.
This function is only called if the TetrahedronTriangleShell array is required. m_tetrahedronTriangleShell[i] contains the indices of all tetrahedra adjacent to the ith edge
Definition at line 274 of file TetrahedronSetTopologyContainer.cpp.
References clearTetrahedronTriangleShell(), createTetrahedronTriangleArray(), sofa::component::topology::TriangleSetTopologyContainer::getNumberOfTriangles(), hasTetrahedronTriangles(), hasTetrahedronTriangleShell(), m_tetrahedron, m_tetrahedronTriangle, and m_tetrahedronTriangleShell.
Referenced by getTetrahedronTriangleShell(), getTetrahedronTriangleShellArray(), sofa::component::topology::TetrahedronSetTopologyModifier::removeTetrahedraProcess(), and sofa::component::topology::TetrahedronSetTopologyModifier::removeTrianglesProcess().
| void sofa::component::topology::TetrahedronSetTopologyContainer::createTetrahedronVertexShellArray | ( | ) | [private] |
Creates the Tetrahedron Vertex Shell Array.
This function is only called if the TetrahedronVertexShell array is required. m_tetrahedronVertexShell[i] contains the indices of all tetrahedra adjacent to the ith vertex
Definition at line 237 of file TetrahedronSetTopologyContainer.cpp.
References clearTetrahedronVertexShell(), sofa::component::topology::PointSetTopologyContainer::getNbPoints(), hasTetrahedronVertexShell(), m_tetrahedron, and m_tetrahedronVertexShell.
Referenced by getTetrahedronIndex(), getTetrahedronVertexShell(), getTetrahedronVertexShellArray(), getTetrahedronVertexShellForModification(), sofa::component::topology::TetrahedronSetTopologyModifier::removePointsProcess(), and sofa::component::topology::TetrahedronSetTopologyModifier::removeTetrahedraProcess().
| void sofa::component::topology::TetrahedronSetTopologyContainer::createTriangleSetArray | ( | ) | [protected, virtual] |
Creates the TriangleSet array.
Create the array of Triangles
create the m_edge array at the same time than it fills the m_tetrahedronEdge array
Reimplemented from sofa::component::topology::TriangleSetTopologyContainer.
Definition at line 156 of file TetrahedronSetTopologyContainer.cpp.
References clear(), clearTetrahedronTriangles(), clearTetrahedronTriangleShell(), sofa::component::topology::TriangleSetTopologyContainer::clearTriangles(), sofa::component::topology::TriangleSetTopologyContainer::hasTriangles(), m_tetrahedron, and sofa::component::topology::TriangleSetTopologyContainer::m_triangle.
Referenced by createTetrahedronTriangleArray().
| int sofa::component::topology::TetrahedronSetTopologyContainer::getEdgeIndexInTetrahedron | ( | const TetrahedronEdges & | t, | |
| unsigned int | edgeIndex | |||
| ) | const |
returns the index (either 0, 1 ,2, 3, 4 or 5) of the edge whose global index is edgeIndex.
Returns -1 if none
Definition at line 462 of file TetrahedronSetTopologyContainer.cpp.
Referenced by sofa::component::topology::TetrahedronSetTopologyModifier::removeEdgesProcess().
| const TetraEdges& sofa::component::topology::TetrahedronSetTopologyContainer::getEdgeTetraShell | ( | TetraID | i | ) | [inline] |
Returns the set of edges adjacent to a given tetrahedron.
Definition at line 93 of file TetrahedronSetTopologyContainer.h.
References getTetrahedronEdges().
| Edge sofa::component::topology::TetrahedronSetTopologyContainer::getLocalTetrahedronEdges | ( | const unsigned int | i | ) | const [virtual] |
Returns for each index (between 0 and 5) the two vertex indices that are adjacent to that edge.
Reimplemented from sofa::core::componentmodel::topology::BaseMeshTopology.
Definition at line 383 of file TetrahedronSetTopologyContainer.cpp.
References sofa::component::topology::tetrahedronEdgeArray.
| unsigned int sofa::component::topology::TetrahedronSetTopologyContainer::getNumberOfTetrahedra | ( | ) | const |
Returns the number of tetrahedra in this topology.
The difference to getNbTetras() is that this method does not generate the tetra array if it does not exist.
Definition at line 346 of file TetrahedronSetTopologyContainer.cpp.
References m_tetrahedron.
Referenced by createTetrahedronEdgeArray(), createTetrahedronTriangleArray(), and sofa::component::topology::TetrahedronSetTopologyModifier::removeTetrahedraProcess().
| const EdgeTetras& sofa::component::topology::TetrahedronSetTopologyContainer::getTetraEdgeShell | ( | EdgeID | i | ) | [inline] |
Returns the set of tetrahedra adjacent to a given edge.
Definition at line 111 of file TetrahedronSetTopologyContainer.h.
References getTetrahedronEdgeShell().
| const sofa::helper::vector< Tetrahedron > & sofa::component::topology::TetrahedronSetTopologyContainer::getTetrahedronArray | ( | ) |
Returns the Tetrahedron array.
Definition at line 294 of file TetrahedronSetTopologyContainer.cpp.
References createTetrahedronSetArray(), sofa::component::topology::PointSetTopologyContainer::getNbPoints(), hasTetrahedra(), and m_tetrahedron.
Referenced by getTetras().
| const sofa::helper::vector< TetrahedronEdges > & sofa::component::topology::TetrahedronSetTopologyContainer::getTetrahedronEdgeArray | ( | ) |
Returns the Tetrahedron Edges array.
Definition at line 375 of file TetrahedronSetTopologyContainer.cpp.
References createTetrahedronEdgeArray(), hasTetrahedronEdges(), and m_tetrahedronEdge.
| const TetrahedronEdges & sofa::component::topology::TetrahedronSetTopologyContainer::getTetrahedronEdges | ( | const unsigned int | i | ) |
Returns the 6 edges adjacent to a given tetrahedron.
Definition at line 427 of file TetrahedronSetTopologyContainer.cpp.
References createTetrahedronEdgeArray(), hasTetrahedronEdges(), and m_tetrahedronEdge.
Referenced by getEdgeTetraShell().
| const sofa::helper::vector< unsigned int > & sofa::component::topology::TetrahedronSetTopologyContainer::getTetrahedronEdgeShell | ( | const unsigned int | i | ) |
Returns the set of tetrahedra adjacent to a given edge.
Definition at line 407 of file TetrahedronSetTopologyContainer.cpp.
References createTetrahedronEdgeShellArray(), hasTetrahedronEdgeShell(), and m_tetrahedronEdgeShell.
Referenced by getTetraEdgeShell().
| const sofa::helper::vector< sofa::helper::vector< unsigned int > > & sofa::component::topology::TetrahedronSetTopologyContainer::getTetrahedronEdgeShellArray | ( | ) |
Returns the Tetrahedron Edge Shells array.
Definition at line 359 of file TetrahedronSetTopologyContainer.cpp.
References createTetrahedronEdgeShellArray(), hasTetrahedronEdgeShell(), and m_tetrahedronEdgeShell.
| sofa::helper::vector< unsigned int > & sofa::component::topology::TetrahedronSetTopologyContainer::getTetrahedronEdgeShellForModification | ( | const unsigned int | edgeIndex | ) | [private] |
Returns a non-const tetrahedron edge shell given the index of an edge for subsequent modification.
Definition at line 496 of file TetrahedronSetTopologyContainer.cpp.
References createTetrahedronEdgeShellArray(), hasTetrahedronEdgeShell(), and m_tetrahedronEdgeShell.
| int sofa::component::topology::TetrahedronSetTopologyContainer::getTetrahedronIndex | ( | PointID | v1, | |
| PointID | v2, | |||
| PointID | v3, | |||
| PointID | v4 | |||
| ) | [virtual] |
Returns the indices of a tetrahedron given four vertex indices : returns -1 if none.
Definition at line 307 of file TetrahedronSetTopologyContainer.cpp.
References createTetrahedronVertexShellArray(), getTetrahedronVertexShell(), and hasTetrahedronVertexShell().
| const sofa::helper::vector< TetrahedronTriangles > & sofa::component::topology::TetrahedronSetTopologyContainer::getTetrahedronTriangleArray | ( | ) |
Returns the Tetrahedron Triangles array.
Definition at line 389 of file TetrahedronSetTopologyContainer.cpp.
References createTetrahedronTriangleArray(), hasTetrahedronTriangles(), and m_tetrahedronTriangle.
| const TetrahedronTriangles & sofa::component::topology::TetrahedronSetTopologyContainer::getTetrahedronTriangles | ( | const unsigned int | i | ) |
Returns the 4 triangles adjacent to a given tetrahedron.
Definition at line 437 of file TetrahedronSetTopologyContainer.cpp.
References createTetrahedronTriangleArray(), hasTetrahedronTriangles(), and m_tetrahedronTriangle.
Referenced by getTriangleTetraShell().
| const sofa::helper::vector< unsigned int > & sofa::component::topology::TetrahedronSetTopologyContainer::getTetrahedronTriangleShell | ( | const unsigned int | i | ) |
Returns the set of tetrahedra adjacent to a given triangle.
Definition at line 417 of file TetrahedronSetTopologyContainer.cpp.
References createTetrahedronTriangleShellArray(), hasTetrahedronTriangleShell(), and m_tetrahedronTriangleShell.
Referenced by getTetraTriangleShell().
| const sofa::helper::vector< sofa::helper::vector< unsigned int > > & sofa::component::topology::TetrahedronSetTopologyContainer::getTetrahedronTriangleShellArray | ( | ) |
Returns the Tetrahedron Triangle Shells array.
Definition at line 367 of file TetrahedronSetTopologyContainer.cpp.
References createTetrahedronTriangleShellArray(), hasTetrahedronTriangleShell(), and m_tetrahedronTriangleShell.
| const sofa::helper::vector< unsigned int > & sofa::component::topology::TetrahedronSetTopologyContainer::getTetrahedronVertexShell | ( | const unsigned int | i | ) |
Returns the set of tetrahedra adjacent to a given vertex.
Definition at line 397 of file TetrahedronSetTopologyContainer.cpp.
References createTetrahedronVertexShellArray(), hasTetrahedronVertexShell(), and m_tetrahedronVertexShell.
Referenced by getTetrahedronIndex(), and getTetraVertexShell().
| const sofa::helper::vector< sofa::helper::vector< unsigned int > > & sofa::component::topology::TetrahedronSetTopologyContainer::getTetrahedronVertexShellArray | ( | ) |
Returns the Tetrahedron Vertex Shells array.
Definition at line 351 of file TetrahedronSetTopologyContainer.cpp.
References createTetrahedronVertexShellArray(), hasTetrahedronVertexShell(), and m_tetrahedronVertexShell.
| sofa::helper::vector< unsigned int > & sofa::component::topology::TetrahedronSetTopologyContainer::getTetrahedronVertexShellForModification | ( | const unsigned int | vertexIndex | ) | [private] |
Returns a non-const tetrahedron vertex shell given a vertex index for subsequent modification.
Definition at line 506 of file TetrahedronSetTopologyContainer.cpp.
References createTetrahedronVertexShellArray(), hasTetrahedronVertexShell(), and m_tetrahedronVertexShell.
Referenced by sofa::component::topology::TetrahedronSetTopologyModifier::addTetrahedronProcess().
| const SeqTetras& sofa::component::topology::TetrahedronSetTopologyContainer::getTetras | ( | ) | [inline, virtual] |
BaseMeshTopology API.
Reimplemented from sofa::core::componentmodel::topology::TopologyContainer.
Definition at line 87 of file TetrahedronSetTopologyContainer.h.
References getTetrahedronArray().
| const TriangleTetras& sofa::component::topology::TetrahedronSetTopologyContainer::getTetraTriangleShell | ( | TriangleID | i | ) | [inline] |
Returns the set of tetrahedra adjacent to a given triangle.
Definition at line 117 of file TetrahedronSetTopologyContainer.h.
References getTetrahedronTriangleShell().
| const VertexTetras& sofa::component::topology::TetrahedronSetTopologyContainer::getTetraVertexShell | ( | PointID | i | ) | [inline] |
Returns the set of tetrahedra adjacent to a given vertex.
Definition at line 105 of file TetrahedronSetTopologyContainer.h.
References getTetrahedronVertexShell().
| int sofa::component::topology::TetrahedronSetTopologyContainer::getTriangleIndexInTetrahedron | ( | const TetrahedronTriangles & | t, | |
| unsigned int | triangleIndex | |||
| ) | const |
returns the index (either 0, 1 ,2 or 3) of the triangle whose global index is triangleIndex.
Returns -1 if none
Definition at line 481 of file TetrahedronSetTopologyContainer.cpp.
Referenced by sofa::component::topology::TetrahedronSetTopologyModifier::removeTrianglesProcess().
| const TetraTriangles& sofa::component::topology::TetrahedronSetTopologyContainer::getTriangleTetraShell | ( | TetraID | i | ) | [inline] |
Returns the set of triangles adjacent to a given tetrahedron.
Definition at line 99 of file TetrahedronSetTopologyContainer.h.
References getTetrahedronTriangles().
| int sofa::component::topology::TetrahedronSetTopologyContainer::getVertexIndexInTetrahedron | ( | const Tetrahedron & | t, | |
| unsigned int | vertexIndex | |||
| ) | const |
returns the index (either 0, 1 ,2 or 3) of the vertex whose global index is vertexIndex.
Returns -1 if none
Definition at line 447 of file TetrahedronSetTopologyContainer.cpp.
Referenced by sofa::component::topology::TetrahedronSetTopologyModifier::removePointsProcess().
| bool sofa::component::topology::TetrahedronSetTopologyContainer::hasTetrahedra | ( | ) | const [protected] |
Definition at line 589 of file TetrahedronSetTopologyContainer.cpp.
References m_tetrahedron.
Referenced by getTetrahedronArray(), sofa::component::topology::TetrahedronSetTopologyModifier::removePointsProcess(), sofa::component::topology::TetrahedronSetTopologyModifier::removeTetrahedraProcess(), and sofa::component::topology::TetrahedronSetTopologyModifier::renumberPointsProcess().
| bool sofa::component::topology::TetrahedronSetTopologyContainer::hasTetrahedronEdges | ( | ) | const [protected] |
Definition at line 594 of file TetrahedronSetTopologyContainer.cpp.
References m_tetrahedronEdge.
Referenced by sofa::component::topology::TetrahedronSetTopologyModifier::addTetrahedronProcess(), createTetrahedronEdgeArray(), createTetrahedronEdgeShellArray(), getTetrahedronEdgeArray(), getTetrahedronEdges(), sofa::component::topology::TetrahedronSetTopologyModifier::removeEdgesProcess(), and sofa::component::topology::TetrahedronSetTopologyModifier::removeTetrahedraProcess().
| bool sofa::component::topology::TetrahedronSetTopologyContainer::hasTetrahedronEdgeShell | ( | ) | const [protected] |
Definition at line 609 of file TetrahedronSetTopologyContainer.cpp.
References m_tetrahedronEdgeShell.
Referenced by sofa::component::topology::TetrahedronSetTopologyModifier::addEdgesProcess(), sofa::component::topology::TetrahedronSetTopologyModifier::addTetrahedronProcess(), checkTopology(), createTetrahedronEdgeShellArray(), getTetrahedronEdgeShell(), getTetrahedronEdgeShellArray(), getTetrahedronEdgeShellForModification(), sofa::component::topology::TetrahedronSetTopologyModifier::removeEdgesProcess(), and sofa::component::topology::TetrahedronSetTopologyModifier::removeTetrahedraProcess().
| bool sofa::component::topology::TetrahedronSetTopologyContainer::hasTetrahedronTriangles | ( | ) | const [protected] |
Definition at line 599 of file TetrahedronSetTopologyContainer.cpp.
References m_tetrahedronTriangle.
Referenced by sofa::component::topology::TetrahedronSetTopologyModifier::addTetrahedronProcess(), createTetrahedronTriangleArray(), createTetrahedronTriangleShellArray(), getTetrahedronTriangleArray(), getTetrahedronTriangles(), sofa::component::topology::TetrahedronSetTopologyModifier::removeTetrahedraProcess(), and sofa::component::topology::TetrahedronSetTopologyModifier::removeTrianglesProcess().
| bool sofa::component::topology::TetrahedronSetTopologyContainer::hasTetrahedronTriangleShell | ( | ) | const [protected] |
Definition at line 614 of file TetrahedronSetTopologyContainer.cpp.
References m_tetrahedronTriangleShell.
Referenced by sofa::component::topology::TetrahedronSetTopologyModifier::addTetrahedronProcess(), sofa::component::topology::TetrahedronSetTopologyModifier::addTrianglesProcess(), checkTopology(), createTetrahedronTriangleShellArray(), getTetrahedronTriangleShell(), getTetrahedronTriangleShellArray(), sofa::component::topology::TetrahedronSetTopologyModifier::removeTetrahedraProcess(), and sofa::component::topology::TetrahedronSetTopologyModifier::removeTrianglesProcess().
| bool sofa::component::topology::TetrahedronSetTopologyContainer::hasTetrahedronVertexShell | ( | ) | const [protected] |
Definition at line 604 of file TetrahedronSetTopologyContainer.cpp.
References m_tetrahedronVertexShell.
Referenced by sofa::component::topology::TetrahedronSetTopologyModifier::addPointsProcess(), sofa::component::topology::TetrahedronSetTopologyModifier::addTetrahedronProcess(), checkTopology(), createTetrahedronVertexShellArray(), getTetrahedronIndex(), getTetrahedronVertexShell(), getTetrahedronVertexShellArray(), getTetrahedronVertexShellForModification(), sofa::component::topology::TetrahedronSetTopologyModifier::removePointsProcess(), sofa::component::topology::TetrahedronSetTopologyModifier::removeTetrahedraProcess(), and sofa::component::topology::TetrahedronSetTopologyModifier::renumberPointsProcess().
| void sofa::component::topology::TetrahedronSetTopologyContainer::init | ( | void | ) | [virtual] |
Initialization method called at graph modification, during bottom-up traversal.
Reimplemented from sofa::component::topology::TriangleSetTopologyContainer.
Definition at line 76 of file TetrahedronSetTopologyContainer.cpp.
| void sofa::component::topology::TetrahedronSetTopologyContainer::loadFromMeshLoader | ( | sofa::component::MeshLoader * | loader | ) | [protected, virtual] |
Reimplemented from sofa::component::topology::TriangleSetTopologyContainer.
Definition at line 81 of file TetrahedronSetTopologyContainer.cpp.
References sofa::component::MeshLoader::getTetras(), and m_tetrahedron.
| std::ostream& operator<< | ( | std::ostream & | out, | |
| const TetrahedronSetTopologyContainer & | t | |||
| ) | [friend] |
Definition at line 207 of file TetrahedronSetTopologyContainer.h.
| std::istream& operator>> | ( | std::istream & | in, | |
| TetrahedronSetTopologyContainer & | t | |||
| ) | [friend] |
Definition at line 231 of file TetrahedronSetTopologyContainer.h.
friend class TetrahedronSetTopologyModifier [friend] |
Definition at line 63 of file TetrahedronSetTopologyContainer.h.
sofa::helper::vector<Tetrahedron> sofa::component::topology::TetrahedronSetTopologyContainer::m_tetrahedron [protected] |
provides the set of tetrahedra
Definition at line 356 of file TetrahedronSetTopologyContainer.h.
Referenced by addTetra(), sofa::component::topology::TetrahedronSetTopologyModifier::addTetrahedronProcess(), checkTopology(), clearTetrahedra(), createEdgeSetArray(), createTetrahedronEdgeArray(), createTetrahedronEdgeShellArray(), createTetrahedronTriangleArray(), createTetrahedronTriangleShellArray(), createTetrahedronVertexShellArray(), createTriangleSetArray(), getNumberOfTetrahedra(), getTetrahedronArray(), hasTetrahedra(), loadFromMeshLoader(), sofa::component::topology::TetrahedronSetTopologyModifier::removePointsProcess(), sofa::component::topology::TetrahedronSetTopologyModifier::removeTetrahedraProcess(), sofa::component::topology::TetrahedronSetTopologyModifier::renumberPointsProcess(), and TetrahedronSetTopologyContainer().
sofa::helper::vector<TetrahedronEdges> sofa::component::topology::TetrahedronSetTopologyContainer::m_tetrahedronEdge [protected] |
provides the set of edges for each tetrahedron
Definition at line 358 of file TetrahedronSetTopologyContainer.h.
Referenced by sofa::component::topology::TetrahedronSetTopologyModifier::addTetrahedronProcess(), checkTopology(), clearTetrahedronEdges(), createTetrahedronEdgeArray(), createTetrahedronEdgeShellArray(), getTetrahedronEdgeArray(), getTetrahedronEdges(), hasTetrahedronEdges(), sofa::component::topology::TetrahedronSetTopologyModifier::removeEdgesProcess(), and sofa::component::topology::TetrahedronSetTopologyModifier::removeTetrahedraProcess().
sofa::helper::vector< sofa::helper::vector< unsigned int > > sofa::component::topology::TetrahedronSetTopologyContainer::m_tetrahedronEdgeShell [protected] |
for each edge provides the set of tetrahedra adjacent to that edge
Definition at line 365 of file TetrahedronSetTopologyContainer.h.
Referenced by sofa::component::topology::TetrahedronSetTopologyModifier::addEdgesProcess(), sofa::component::topology::TetrahedronSetTopologyModifier::addTetrahedronProcess(), checkTopology(), clearTetrahedronEdgeShell(), createTetrahedronEdgeShellArray(), getTetrahedronEdgeShell(), getTetrahedronEdgeShellArray(), getTetrahedronEdgeShellForModification(), hasTetrahedronEdgeShell(), sofa::component::topology::TetrahedronSetTopologyModifier::removeEdgesProcess(), and sofa::component::topology::TetrahedronSetTopologyModifier::removeTetrahedraProcess().
sofa::helper::vector<TetrahedronTriangles> sofa::component::topology::TetrahedronSetTopologyContainer::m_tetrahedronTriangle [protected] |
provides the set of triangles for each tetrahedron
Definition at line 360 of file TetrahedronSetTopologyContainer.h.
Referenced by sofa::component::topology::TetrahedronSetTopologyModifier::addTetrahedronProcess(), checkTopology(), clearTetrahedronTriangles(), createTetrahedronTriangleArray(), createTetrahedronTriangleShellArray(), getTetrahedronTriangleArray(), getTetrahedronTriangles(), hasTetrahedronTriangles(), sofa::component::topology::TetrahedronSetTopologyModifier::removeTetrahedraProcess(), and sofa::component::topology::TetrahedronSetTopologyModifier::removeTrianglesProcess().
sofa::helper::vector< sofa::helper::vector< unsigned int > > sofa::component::topology::TetrahedronSetTopologyContainer::m_tetrahedronTriangleShell [protected] |
for each triangle provides the set of tetrahedra adjacent to that edge
Definition at line 367 of file TetrahedronSetTopologyContainer.h.
Referenced by sofa::component::topology::TetrahedronSetTopologyModifier::addTetrahedronProcess(), sofa::component::topology::TetrahedronSetTopologyModifier::addTrianglesProcess(), checkTopology(), clearTetrahedronTriangleShell(), createTetrahedronTriangleShellArray(), getTetrahedronTriangleShell(), getTetrahedronTriangleShellArray(), hasTetrahedronTriangleShell(), sofa::component::topology::TetrahedronSetTopologyModifier::removeTetrahedraProcess(), and sofa::component::topology::TetrahedronSetTopologyModifier::removeTrianglesProcess().
sofa::helper::vector< sofa::helper::vector< unsigned int > > sofa::component::topology::TetrahedronSetTopologyContainer::m_tetrahedronVertexShell [protected] |
for each vertex provides the set of tetrahedra adjacent to that vertex
Definition at line 363 of file TetrahedronSetTopologyContainer.h.
Referenced by sofa::component::topology::TetrahedronSetTopologyModifier::addPointsProcess(), checkTopology(), clearTetrahedronVertexShell(), createTetrahedronVertexShellArray(), getTetrahedronVertexShell(), getTetrahedronVertexShellArray(), getTetrahedronVertexShellForModification(), hasTetrahedronVertexShell(), sofa::component::topology::TetrahedronSetTopologyModifier::removePointsProcess(), sofa::component::topology::TetrahedronSetTopologyModifier::removeTetrahedraProcess(), and sofa::component::topology::TetrahedronSetTopologyModifier::renumberPointsProcess().
1.5.7.1