#include <BaseMeshTopology.h>


Public Types | |
| enum | { InvalidID = (unsigned)-1 } |
| typedef unsigned int | index_type |
| typedef index_type | PointID |
| typedef index_type | EdgeID |
| typedef index_type | TriangleID |
| typedef index_type | QuadID |
| typedef index_type | TetraID |
| typedef index_type | HexaID |
| typedef fixed_array< PointID, 2 > | Edge |
| typedef fixed_array< PointID, 3 > | Triangle |
| typedef fixed_array< PointID, 4 > | Quad |
| typedef fixed_array< PointID, 4 > | Tetra |
| typedef fixed_array< PointID, 8 > | Hexa |
| typedef vector< Edge > | SeqEdges |
| typedef vector< Triangle > | SeqTriangles |
| typedef vector< Quad > | SeqQuads |
| typedef vector< Tetra > | SeqTetras |
| typedef vector< Hexa > | SeqHexas |
Deprecated types, for backward-compatibility | |
| typedef EdgeID | LineID |
| typedef Edge | Line |
| typedef SeqEdges | SeqLines |
| typedef fixed_array< EdgeID, 3 > | TriangleEdges |
| fixed-size neighbors arrays | |
| typedef fixed_array< QuadID, 4 > | QuadEdges |
| typedef fixed_array < TriangleID, 4 > | TetraTriangles |
| typedef fixed_array< EdgeID, 6 > | TetraEdges |
| typedef fixed_array< QuadID, 6 > | HexaQuads |
| typedef fixed_array< EdgeID, 12 > | HexaEdges |
| typedef vector< EdgeID > | VertexEdges |
| dynamic-size neighbors arrays | |
| typedef vector< TriangleID > | VertexTriangles |
| typedef vector< QuadID > | VertexQuads |
| typedef vector< TetraID > | VertexTetras |
| typedef vector< HexaID > | VertexHexas |
| typedef vector< TriangleID > | EdgeTriangles |
| typedef vector< QuadID > | EdgeQuads |
| typedef vector< TetraID > | EdgeTetras |
| typedef vector< HexaID > | EdgeHexas |
| typedef vector< TetraID > | TriangleTetras |
| typedef vector< HexaID > | QuadHexas |
Public Member Functions | |
| BaseMeshTopology () | |
| void | parse (core::objectmodel::BaseObjectDescription *arg) |
| Parse the given description to assign values to this object's fields and potentially other parameters. | |
| virtual bool | load (const char *filename) |
| Load the topology from a file. | |
| virtual std::string | getFilename () const |
| virtual int | getEdgeIndex (PointID v1, PointID v2) |
| Returns the index of the edge joining vertex v1 and vertex v2; returns -1 if no edge exists. | |
| virtual int | getTriangleIndex (PointID v1, PointID v2, PointID v3) |
| Returns the index of the triangle given three vertex indices; returns -1 if no triangle exists. | |
| virtual int | getQuadIndex (PointID v1, PointID v2, PointID v3, PointID v4) |
| Returns the index of the quad given four vertex indices; returns -1 if no quad exists. | |
| virtual int | getTetrahedronIndex (PointID v1, PointID v2, PointID v3, PointID v4) |
| Returns the index of the tetrahedron given four vertex indices; returns -1 if no tetrahedron exists. | |
| virtual int | getHexahedronIndex (PointID v1, PointID v2, PointID v3, PointID v4, PointID v5, PointID v6, PointID v7, PointID v8) |
| Returns the index of the hexahedron given eight vertex indices; returns -1 if no hexahedron exists. | |
| virtual int | getVertexIndexInTriangle (const Triangle &t, PointID vertexIndex) const |
| returns the index (either 0, 1 ,2 or 3) of the vertex whose global index is vertexIndex. | |
| virtual int | getEdgeIndexInTriangle (const TriangleEdges &t, EdgeID edgeIndex) const |
| returns the index (either 0, 1 ,2) of the edge whose global index is edgeIndex. | |
| virtual int | getVertexIndexInQuad (Quad &t, PointID vertexIndex) const |
| returns the index (either 0, 1 ,2 or 3) of the vertex whose global index is vertexIndex. | |
| virtual int | getEdgeIndexInQuad (QuadEdges &t, EdgeID edgeIndex) const |
| returns the index (either 0, 1 ,2, 3) of the edge whose global index is edgeIndex. | |
| virtual int | getVertexIndexInTetrahedron (const Tetra &t, PointID vertexIndex) const |
| returns the index (either 0, 1 ,2 or 3) of the vertex whose global index is vertexIndex. | |
| virtual int | getEdgeIndexInTetrahedron (const TetraEdges &t, EdgeID edgeIndex) const |
| returns the index (either 0, 1 ,2 ,3, 4, 5) of the edge whose global index is edgeIndex. | |
| virtual int | getTriangleIndexInTetrahedron (const TetraTriangles &t, TriangleID triangleIndex) const |
| returns the index (either 0, 1 ,2 ,3) of the triangle whose global index is triangleIndex. | |
| virtual int | getVertexIndexInHexahedron (Hexa &t, PointID vertexIndex) const |
| returns the index (either 0, 1 ,2, 3, 4, 5, 6, or 7) of the vertex whose global index is vertexIndex. | |
| virtual int | getEdgeIndexInHexahedron (const HexaEdges &t, EdgeID edgeIndex) const |
| returns the index (either 0, 1 ,2 ,3, 4, 5, 6, 7, 8, 9, 10, 11) of the edge whose global index is edgeIndex. | |
| virtual int | getQuadIndexInHexahedron (const HexaQuads &t, QuadID quadIndex) const |
| returns the index (either 0, 1 ,2 ,3, 4, 5) of the quad whose global index is quadIndex. | |
| 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 | |
| virtual int | getRevision () const |
| get the current revision of this mesh (use to detect changes) | |
| virtual bool | isCubeActive (int) |
| return true if the given cube is active, i.e. | |
| virtual const SeqEdges & | getEdges ()=0 |
| Complete sequence accessors. | |
| virtual const SeqTriangles & | getTriangles ()=0 |
| virtual const SeqQuads & | getQuads ()=0 |
| virtual const SeqTetras & | getTetras ()=0 |
| virtual const SeqHexas & | getHexas ()=0 |
| virtual int | getNbEdges () |
| Random accessors. | |
| virtual int | getNbTriangles () |
| virtual int | getNbQuads () |
| virtual int | getNbTetras () |
| virtual int | getNbHexas () |
| virtual Edge | getEdge (EdgeID i) |
| virtual Triangle | getTriangle (TriangleID i) |
| virtual Quad | getQuad (QuadID i) |
| virtual Tetra | getTetra (TetraID i) |
| virtual Hexa | getHexa (HexaID i) |
neighbors queries | |
Returns the set of edges adjacent to a given vertex. | |
| virtual const VertexEdges & | getEdgeVertexShell (PointID i) |
| Returns the set of edges adjacent to a given vertex. | |
| virtual const TriangleEdges & | getEdgeTriangleShell (TriangleID i) |
| Returns the set of edges adjacent to a given triangle. | |
| virtual const QuadEdges & | getEdgeQuadShell (QuadID i) |
| Returns the set of edges adjacent to a given quad. | |
| virtual const TetraEdges & | getEdgeTetraShell (TetraID i) |
| Returns the set of edges adjacent to a given tetrahedron. | |
| virtual const HexaEdges & | getEdgeHexaShell (HexaID i) |
| Returns the set of edges adjacent to a given hexahedron. | |
| virtual const VertexTriangles & | getTriangleVertexShell (PointID i) |
| Returns the set of triangles adjacent to a given vertex. | |
| virtual const EdgeTriangles & | getTriangleEdgeShell (EdgeID i) |
| Returns the set of triangles adjacent to a given edge. | |
| virtual const TetraTriangles & | getTriangleTetraShell (TetraID i) |
| Returns the set of triangles adjacent to a given tetrahedron. | |
| virtual const VertexQuads & | getQuadVertexShell (PointID i) |
| Returns the set of quads adjacent to a given vertex. | |
| virtual const EdgeQuads & | getQuadEdgeShell (EdgeID i) |
| Returns the set of quads adjacent to a given edge. | |
| virtual const HexaQuads & | getQuadHexaShell (HexaID i) |
| Returns the set of quads adjacent to a given hexahedron. | |
| virtual const VertexTetras & | getTetraVertexShell (PointID i) |
| Returns the set of tetrahedra adjacent to a given vertex. | |
| virtual const EdgeTetras & | getTetraEdgeShell (EdgeID i) |
| Returns the set of tetrahedra adjacent to a given edge. | |
| virtual const TriangleTetras & | getTetraTriangleShell (TriangleID i) |
| Returns the set of tetrahedra adjacent to a given triangle. | |
| virtual const VertexHexas & | getHexaVertexShell (PointID i) |
| Returns the set of hexahedra adjacent to a given vertex. | |
| virtual const EdgeHexas & | getHexaEdgeShell (EdgeID i) |
| Returns the set of hexahedra adjacent to a given edge. | |
| virtual const QuadHexas & | getHexaQuadShell (QuadID i) |
| Returns the set of hexahedra adjacent to a given quad. | |
Deprecated names, for backward-compatibility | |
| const SeqLines & | getLines () |
| int | getNbLines () |
| Line | getLine (LineID i) |
Initial points accessors (only available if the topology was loaded from a file containing this information). | |
Note that this data is only used for initialization and is not maintained afterwards (i.e.
topological changes may not be applied) | |
| virtual bool | hasPos () const |
| virtual double | getPX (int) const |
| virtual double | getPY (int) const |
| virtual double | getPZ (int) const |
| virtual void | clear () |
| Procedural creation methods. | |
| virtual void | addPoint (double px, double py, double pz) |
| virtual void | addEdge (int a, int b) |
| void | addLine (int a, int b) |
| virtual void | addTriangle (int a, int b, int c) |
| virtual void | addQuad (int a, int b, int c, int d) |
| virtual void | addTetra (int a, int b, int c, int d) |
| virtual void | addHexa (int a, int b, int c, int d, int e, int f, int g, int h) |
| virtual std::list< const TopologyChange * > ::const_iterator | firstChange () const |
| Management of topological changes and state changes. | |
| virtual std::list< const TopologyChange * > ::const_iterator | lastChange () const |
| Provides an iterator on the last element in the list of TopologyChange objects. | |
| virtual std::list< const TopologyChange * > ::const_iterator | firstStateChange () const |
| Provides an iterator on the first element in the list of StateChange objects. | |
| virtual std::list< const TopologyChange * > ::const_iterator | lastStateChange () const |
| Provides an iterator on the last element in the list of StateChange objects. | |
Protected Attributes | |
| Data< std::string > | d_filename |
Definition at line 56 of file BaseMeshTopology.h.
| typedef fixed_array<PointID,2> sofa::core::componentmodel::topology::BaseMeshTopology::Edge |
Definition at line 69 of file BaseMeshTopology.h.
Definition at line 113 of file BaseMeshTopology.h.
Definition at line 63 of file BaseMeshTopology.h.
Definition at line 111 of file BaseMeshTopology.h.
Definition at line 112 of file BaseMeshTopology.h.
Definition at line 110 of file BaseMeshTopology.h.
| typedef fixed_array<PointID,8> sofa::core::componentmodel::topology::BaseMeshTopology::Hexa |
Definition at line 73 of file BaseMeshTopology.h.
| typedef fixed_array<EdgeID,12> sofa::core::componentmodel::topology::BaseMeshTopology::HexaEdges |
Definition at line 100 of file BaseMeshTopology.h.
Definition at line 67 of file BaseMeshTopology.h.
| typedef fixed_array<QuadID,6> sofa::core::componentmodel::topology::BaseMeshTopology::HexaQuads |
Definition at line 99 of file BaseMeshTopology.h.
| typedef unsigned int sofa::core::componentmodel::topology::BaseMeshTopology::index_type |
Definition at line 60 of file BaseMeshTopology.h.
Definition at line 84 of file BaseMeshTopology.h.
Definition at line 83 of file BaseMeshTopology.h.
Definition at line 62 of file BaseMeshTopology.h.
| typedef fixed_array<PointID,4> sofa::core::componentmodel::topology::BaseMeshTopology::Quad |
Definition at line 71 of file BaseMeshTopology.h.
| typedef fixed_array<QuadID,4> sofa::core::componentmodel::topology::BaseMeshTopology::QuadEdges |
Definition at line 96 of file BaseMeshTopology.h.
Definition at line 115 of file BaseMeshTopology.h.
Definition at line 65 of file BaseMeshTopology.h.
Definition at line 75 of file BaseMeshTopology.h.
Definition at line 79 of file BaseMeshTopology.h.
Definition at line 85 of file BaseMeshTopology.h.
Definition at line 77 of file BaseMeshTopology.h.
Definition at line 78 of file BaseMeshTopology.h.
Definition at line 76 of file BaseMeshTopology.h.
| typedef fixed_array<PointID,4> sofa::core::componentmodel::topology::BaseMeshTopology::Tetra |
Definition at line 72 of file BaseMeshTopology.h.
| typedef fixed_array<EdgeID,6> sofa::core::componentmodel::topology::BaseMeshTopology::TetraEdges |
Definition at line 98 of file BaseMeshTopology.h.
Definition at line 66 of file BaseMeshTopology.h.
| typedef fixed_array<TriangleID,4> sofa::core::componentmodel::topology::BaseMeshTopology::TetraTriangles |
Definition at line 97 of file BaseMeshTopology.h.
| typedef fixed_array<PointID,3> sofa::core::componentmodel::topology::BaseMeshTopology::Triangle |
Definition at line 70 of file BaseMeshTopology.h.
| typedef fixed_array<EdgeID,3> sofa::core::componentmodel::topology::BaseMeshTopology::TriangleEdges |
Definition at line 64 of file BaseMeshTopology.h.
Definition at line 114 of file BaseMeshTopology.h.
Definition at line 109 of file BaseMeshTopology.h.
Definition at line 107 of file BaseMeshTopology.h.
Definition at line 108 of file BaseMeshTopology.h.
Definition at line 106 of file BaseMeshTopology.h.
| anonymous enum |
| sofa::core::componentmodel::topology::BaseMeshTopology::BaseMeshTopology | ( | ) |
Definition at line 47 of file BaseMeshTopology.cpp.
Reimplemented in sofa::component::topology::EdgeSetTopologyContainer, and sofa::component::topology::MeshTopology.
Definition at line 267 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by addLine(), and sofa::core::componentmodel::topology::DefaultMeshTopologyLoader::addLine().
| void sofa::core::componentmodel::topology::BaseMeshTopology::addHexa | ( | int | a, | |
| int | b, | |||
| int | c, | |||
| int | d, | |||
| int | e, | |||
| int | f, | |||
| int | g, | |||
| int | h | |||
| ) | [virtual] |
Reimplemented in sofa::component::topology::HexahedronSetTopologyContainer, and sofa::component::topology::MeshTopology.
Definition at line 287 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by sofa::core::componentmodel::topology::DefaultMeshTopologyLoader::addCube().
Definition at line 260 of file BaseMeshTopology.h.
References addEdge().
Referenced by SofaFlowVR::FlowVRInputMesh::flowvrBeginIteration().
| void sofa::core::componentmodel::topology::BaseMeshTopology::addPoint | ( | double | px, | |
| double | py, | |||
| double | pz | |||
| ) | [virtual] |
Reimplemented in sofa::component::topology::MeshTopology, and sofa::component::topology::PointSetTopologyContainer.
Definition at line 262 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by sofa::core::componentmodel::topology::DefaultMeshTopologyLoader::addPoint().
| void sofa::core::componentmodel::topology::BaseMeshTopology::addQuad | ( | int | a, | |
| int | b, | |||
| int | c, | |||
| int | d | |||
| ) | [virtual] |
Reimplemented in sofa::component::topology::MeshTopology, and sofa::component::topology::QuadSetTopologyContainer.
Definition at line 277 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by sofa::core::componentmodel::topology::DefaultMeshTopologyLoader::addQuad().
| void sofa::core::componentmodel::topology::BaseMeshTopology::addTetra | ( | int | a, | |
| int | b, | |||
| int | c, | |||
| int | d | |||
| ) | [virtual] |
Reimplemented in sofa::component::topology::MeshTopology, and sofa::component::topology::TetrahedronSetTopologyContainer.
Definition at line 282 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by sofa::core::componentmodel::topology::DefaultMeshTopologyLoader::addTetra().
| void sofa::core::componentmodel::topology::BaseMeshTopology::addTriangle | ( | int | a, | |
| int | b, | |||
| int | c | |||
| ) | [virtual] |
Reimplemented in sofa::component::topology::MeshTopology, and sofa::component::topology::TriangleSetTopologyContainer.
Definition at line 272 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by sofa::core::componentmodel::topology::DefaultMeshTopologyLoader::addTriangle(), and SofaFlowVR::FlowVRInputMesh::flowvrBeginIteration().
| void sofa::core::componentmodel::topology::BaseMeshTopology::clear | ( | ) | [virtual] |
Procedural creation methods.
Reimplemented in sofa::component::topology::EdgeSetTopologyContainer, sofa::component::topology::HexahedronSetTopologyContainer, sofa::component::topology::ManifoldEdgeSetTopologyContainer, sofa::component::topology::MeshTopology, sofa::component::topology::PointSetTopologyContainer, sofa::component::topology::QuadSetTopologyContainer, sofa::component::topology::TetrahedronSetTopologyContainer, and sofa::component::topology::TriangleSetTopologyContainer.
Definition at line 257 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by SofaFlowVR::FlowVRInputMesh::flowvrBeginIteration(), and load().
| std::list< const TopologyChange * >::const_iterator sofa::core::componentmodel::topology::BaseMeshTopology::firstChange | ( | ) | const [virtual] |
Management of topological changes and state changes.
Provides an iterator on the first element in the list of TopologyChange objects.
Reimplemented in sofa::core::componentmodel::topology::TopologyContainer.
Definition at line 292 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by sofa::component::forcefield::VectorSpringForceField< DataTypes >::handleEvent(), sofa::component::visualmodel::VisualModelImpl::handleTopologyChange(), sofa::component::ParticleSource< TDataTypes >::handleTopologyChange(), sofa::component::ParticleSink< TDataTypes >::handleTopologyChange(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::handleTopologyChange(), sofa::component::mapping::BarycentricMapping< BasicMapping >::handleTopologyChange(), sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::handleTopologyChange(), sofa::component::mapping::BarycentricMapperTetrahedronSetTopology< In, Out >::handleTopologyChange(), sofa::component::mapping::BarycentricMapperQuadSetTopology< In, Out >::handleTopologyChange(), sofa::component::mapping::BarycentricMapperTriangleSetTopology< In, Out >::handleTopologyChange(), sofa::component::mapping::BarycentricMapperEdgeSetTopology< In, Out >::handleTopologyChange(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::handleTopologyChange(), sofa::component::forcefield::TriangularQuadraticSpringsForceField< DataTypes >::handleTopologyChange(), sofa::component::forcefield::TriangularFEMForceField< DataTypes >::handleTopologyChange(), sofa::component::forcefield::TriangularBiquadraticSpringsForceField< DataTypes >::handleTopologyChange(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::handleTopologyChange(), sofa::component::forcefield::TrianglePressureForceField< DataTypes >::handleTopologyChange(), sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::handleTopologyChange(), sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::handleTopologyChange(), sofa::component::forcefield::QuadularBendingSprings< DataTypes >::handleTopologyChange(), sofa::component::forcefield::HexahedralFEMForceField< DataTypes >::handleTopologyChange(), sofa::component::forcefield::EdgePressureForceField< DataTypes >::handleTopologyChange(), sofa::component::forcefield::BeamFEMForceField< DataTypes >::handleTopologyChange(), sofa::component::constraint::LinearMovementConstraint< DataTypes >::handleTopologyChange(), sofa::component::constraint::FixedPlaneConstraint< DataTypes >::handleTopologyChange(), sofa::component::constraint::FixedConstraint< DataTypes >::handleTopologyChange(), sofa::component::collision::TriangleModel::handleTopologyChange(), sofa::component::collision::LineModel::handleTopologyChange(), sofa::component::topology::Triangle2EdgeTopologicalMapping::updateTopologicalMapping(), sofa::component::topology::Tetra2TriangleTopologicalMapping::updateTopologicalMapping(), sofa::component::topology::Quad2TriangleTopologicalMapping::updateTopologicalMapping(), sofa::component::topology::Hexa2QuadTopologicalMapping::updateTopologicalMapping(), and sofa::component::topology::Edge2QuadTopologicalMapping::updateTopologicalMapping().
| std::list< const TopologyChange * >::const_iterator sofa::core::componentmodel::topology::BaseMeshTopology::firstStateChange | ( | ) | const [virtual] |
Provides an iterator on the first element in the list of StateChange objects.
Reimplemented in sofa::core::componentmodel::topology::TopologyContainer.
Definition at line 306 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by sofa::component::MechanicalObject< DataTypes >::handleStateChange().
| virtual Edge sofa::core::componentmodel::topology::BaseMeshTopology::getEdge | ( | EdgeID | i | ) | [inline, virtual] |
Definition at line 149 of file BaseMeshTopology.h.
References getEdges().
Referenced by sofa::component::forcefield::VectorSpringForceField< DataTypes >::addDForce(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::addDForce(), sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::addDForce(), sofa::component::forcefield::VectorSpringForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularQuadraticSpringsForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularFEMForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularBiquadraticSpringsForceField< DataTypes >::addForce(), sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::addForce(), sofa::component::forcefield::EdgePressureForceField< DataTypes >::addForce(), sofa::component::topology::ManifoldEdgeSetTopologyContainer::computeConnectedComponent(), sofa::component::topology::EdgeSetGeometryAlgorithms< DataTypes >::computeEdgeLength(), sofa::component::topology::EdgeSetGeometryAlgorithms< DataTypes >::computeRestEdgeLength(), sofa::component::topology::EdgeSetGeometryAlgorithms< DataTypes >::computeRestSquareEdgeLength(), sofa::component::forcefield::VectorSpringForceField< DataTypes >::createDefaultSprings(), sofa::component::mapping::BarycentricMapperEdgeSetTopology< In, Out >::createPointInLine(), sofa::component::forcefield::VectorSpringForceField< DataTypes >::draw(), sofa::component::forcefield::EdgePressureForceField< DataTypes >::draw(), sofa::component::controller::EdgeSetController< DataTypes >::draw(), sofa::component::topology::EdgeSetTopologyModifier::fuseEdgesProcess(), getLine(), sofa::component::topology::ManifoldEdgeSetTopologyContainer::getNextEdge(), sofa::component::topology::ManifoldEdgeSetTopologyContainer::getNextVertex(), sofa::component::topology::ManifoldEdgeSetTopologyContainer::getPreviousEdge(), sofa::component::topology::ManifoldEdgeSetTopologyContainer::getPreviousVertex(), sofa::component::collision::LineModel::handleTopologyChange(), sofa::component::topology::TriangleSetTopologyAlgorithms< DataTypes >::InciseAlongEdge(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::init(), sofa::component::forcefield::TriangularQuadraticSpringsForceField< DataTypes >::init(), sofa::component::forcefield::TriangularBiquadraticSpringsForceField< DataTypes >::init(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::init(), sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::init(), sofa::component::forcefield::QuadularBendingSprings< DataTypes >::init(), sofa::component::collision::LineModel::init(), sofa::component::mass::MassEdgeCreationFunction(), sofa::component::mass::MassEdgeDestroyFunction(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::reinit(), sofa::component::forcefield::EdgePressureForceField< DataTypes >::selectEdgesAlongPlane(), sofa::component::topology::EdgeSetTopologyModifier::splitEdgesProcess(), sofa::component::topology::EdgeSetTopologyModifier::swapEdgesProcess(), sofa::component::collision::Point::testLMD(), sofa::component::collision::LocalMinDistance::testValidity(), sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::TetrahedralTMTetrahedronCreationFunction(), sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::TetrahedralTMTetrahedronDestructionFunction(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::TriangularTMTriangleCreationFunction(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::TriangularTMTriangleDestructionFunction(), sofa::component::collision::LineModel::updateFromTopology(), and sofa::component::topology::Triangle2EdgeTopologicalMapping::updateTopologicalMapping().
| const BaseMeshTopology::HexaEdges & sofa::core::componentmodel::topology::BaseMeshTopology::getEdgeHexaShell | ( | HexaID | i | ) | [virtual] |
Returns the set of edges adjacent to a given hexahedron.
Definition at line 89 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName(), getNbEdges(), and InvalidID.
| int sofa::core::componentmodel::topology::BaseMeshTopology::getEdgeIndex | ( | PointID | v1, | |
| PointID | v2 | |||
| ) | [virtual] |
Returns the index of the edge joining vertex v1 and vertex v2; returns -1 if no edge exists.
Definition at line 320 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by sofa::component::forcefield::VectorSpringForceField< DataTypes >::addSpring(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::computeIntersectedPointsList(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::is_PointinTriangle(), and sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::Prepare_VertexDuplication().
| int sofa::core::componentmodel::topology::BaseMeshTopology::getEdgeIndexInHexahedron | ( | const HexaEdges & | t, | |
| EdgeID | edgeIndex | |||
| ) | const [virtual] |
returns the index (either 0, 1 ,2 ,3, 4, 5, 6, 7, 8, 9, 10, 11) of the edge whose global index is edgeIndex.
Returns -1 if none
Definition at line 398 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
| int sofa::core::componentmodel::topology::BaseMeshTopology::getEdgeIndexInQuad | ( | QuadEdges & | t, | |
| EdgeID | edgeIndex | |||
| ) | const [virtual] |
returns the index (either 0, 1 ,2, 3) of the edge whose global index is edgeIndex.
Returns -1 if none
Definition at line 368 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by sofa::component::forcefield::QuadularBendingSprings< DataTypes >::QuadularBSQuadCreationFunction(), and sofa::component::forcefield::QuadularBendingSprings< DataTypes >::QuadularBSQuadDestructionFunction().
| int sofa::core::componentmodel::topology::BaseMeshTopology::getEdgeIndexInTetrahedron | ( | const TetraEdges & | t, | |
| EdgeID | edgeIndex | |||
| ) | const [virtual] |
returns the index (either 0, 1 ,2 ,3, 4, 5) of the edge whose global index is edgeIndex.
Returns -1 if none
Definition at line 380 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
| int sofa::core::componentmodel::topology::BaseMeshTopology::getEdgeIndexInTriangle | ( | const TriangleEdges & | t, | |
| EdgeID | edgeIndex | |||
| ) | const [virtual] |
returns the index (either 0, 1 ,2) of the edge whose global index is edgeIndex.
Returns -1 if none
Definition at line 356 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by sofa::component::forcefield::TriangularBendingSprings< DataTypes >::TriangularBSTriangleCreationFunction(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::TriangularBSTriangleDestructionFunction(), and sofa::component::topology::Triangle2EdgeTopologicalMapping::updateTopologicalMapping().
| const BaseMeshTopology::QuadEdges & sofa::core::componentmodel::topology::BaseMeshTopology::getEdgeQuadShell | ( | QuadID | i | ) | [virtual] |
Returns the set of edges adjacent to a given quad.
Definition at line 70 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName(), getNbEdges(), and InvalidID.
Referenced by sofa::component::forcefield::QuadularBendingSprings< DataTypes >::handleTopologyChange(), sofa::component::forcefield::QuadularBendingSprings< DataTypes >::QuadularBSQuadCreationFunction(), and sofa::component::forcefield::QuadularBendingSprings< DataTypes >::QuadularBSQuadDestructionFunction().
| virtual const SeqEdges& sofa::core::componentmodel::topology::BaseMeshTopology::getEdges | ( | ) | [pure virtual] |
Complete sequence accessors.
Implemented in sofa::core::componentmodel::topology::TopologyContainer, sofa::component::topology::EdgeSetTopologyContainer, and sofa::component::topology::MeshTopology.
Referenced by sofa::component::mapping::BarycentricMapperEdgeSetTopology< In, Out >::apply(), sofa::component::mapping::BarycentricMapperEdgeSetTopology< In, Out >::applyJ(), sofa::component::mapping::BarycentricMapperEdgeSetTopology< In, Out >::applyJT(), sofa::component::topology::EdgeSetGeometryAlgorithms< DataTypes >::computeEdgeLength(), sofa::component::mapping::BarycentricMapperEdgeSetTopology< In, Out >::draw(), getEdge(), getLines(), getNbEdges(), sofa::component::topology::Triangle2EdgeTopologicalMapping::init(), sofa::component::forcefield::BeamFEMForceField< DataTypes >::init(), sofa::component::topology::Edge2QuadTopologicalMapping::updateTopologicalMapping(), and sofa::component::topology::EdgeSetGeometryAlgorithms< DataTypes >::writeMSHfile().
| const BaseMeshTopology::TetraEdges & sofa::core::componentmodel::topology::BaseMeshTopology::getEdgeTetraShell | ( | TetraID | i | ) | [virtual] |
Returns the set of edges adjacent to a given tetrahedron.
Definition at line 79 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName(), getNbEdges(), and InvalidID.
Referenced by sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::TetrahedralTMTetrahedronCreationFunction(), and sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::TetrahedralTMTetrahedronDestructionFunction().
| const BaseMeshTopology::TriangleEdges & sofa::core::componentmodel::topology::BaseMeshTopology::getEdgeTriangleShell | ( | TriangleID | i | ) | [virtual] |
Returns the set of edges adjacent to a given triangle.
Definition at line 61 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName(), getNbEdges(), and InvalidID.
Referenced by sofa::component::forcefield::TriangularQuadraticSpringsForceField< DataTypes >::addDForce(), sofa::component::forcefield::TriangularBiquadraticSpringsForceField< DataTypes >::addDForce(), sofa::component::forcefield::TriangularQuadraticSpringsForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularBiquadraticSpringsForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::handleTopologyChange(), sofa::component::forcefield::TriangularBiquadraticSpringsForceField< DataTypes >::TRBSTriangleCreationFunction(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::TriangularBSTriangleCreationFunction(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::TriangularBSTriangleDestructionFunction(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::TriangularTMTriangleCreationFunction(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::TriangularTMTriangleDestructionFunction(), sofa::component::forcefield::TriangularQuadraticSpringsForceField< DataTypes >::TRQSTriangleCreationFunction(), and sofa::component::topology::Triangle2EdgeTopologicalMapping::updateTopologicalMapping().
| const BaseMeshTopology::VertexEdges & sofa::core::componentmodel::topology::BaseMeshTopology::getEdgeVertexShell | ( | PointID | i | ) | [virtual] |
Returns the set of edges adjacent to a given vertex.
Definition at line 53 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName(), and getNbEdges().
Referenced by sofa::component::forcefield::TriangularFEMForceField< DataTypes >::addForce(), sofa::component::collision::LineModel::handleTopologyChange(), sofa::component::controller::EdgeSetController< DataTypes >::modifyTopology(), sofa::component::collision::Point::testLMD(), and sofa::component::collision::LocalMinDistance::testValidity().
| virtual std::string sofa::core::componentmodel::topology::BaseMeshTopology::getFilename | ( | ) | const [inline, virtual] |
| virtual Hexa sofa::core::componentmodel::topology::BaseMeshTopology::getHexa | ( | HexaID | i | ) | [inline, virtual] |
Definition at line 153 of file BaseMeshTopology.h.
References getHexas().
Referenced by sofa::component::forcefield::HexahedralFEMForceField< DataTypes >::accumulateForceLarge(), sofa::component::forcefield::HexahedralFEMForceField< DataTypes >::accumulateForcePolar(), sofa::component::forcefield::HexahedralFEMForceField< DataTypes >::addDForce(), sofa::component::forcefield::HexahedralFEMForceField< DataTypes >::draw(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::init(), sofa::component::forcefield::MeshSpringForceField< DataTypes >::init(), sofa::component::forcefield::HexahedralFEMForceField< DataTypes >::initLarge(), sofa::component::forcefield::HexahedralFEMForceField< DataTypes >::initPolar(), and sofa::component::forcefield::HexahedralFEMForceField< DataTypes >::reinit().
| const BaseMeshTopology::EdgeHexas & sofa::core::componentmodel::topology::BaseMeshTopology::getHexaEdgeShell | ( | EdgeID | i | ) | [virtual] |
Returns the set of hexahedra adjacent to a given edge.
Definition at line 180 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName(), and getNbHexas().
| int sofa::core::componentmodel::topology::BaseMeshTopology::getHexahedronIndex | ( | PointID | v1, | |
| PointID | v2, | |||
| PointID | v3, | |||
| PointID | v4, | |||
| PointID | v5, | |||
| PointID | v6, | |||
| PointID | v7, | |||
| PointID | v8 | |||
| ) | [virtual] |
Returns the index of the hexahedron given eight vertex indices; returns -1 if no hexahedron exists.
Definition at line 344 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
| const BaseMeshTopology::QuadHexas & sofa::core::componentmodel::topology::BaseMeshTopology::getHexaQuadShell | ( | QuadID | i | ) | [virtual] |
Returns the set of hexahedra adjacent to a given quad.
Definition at line 188 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName(), and getNbHexas().
Referenced by sofa::component::topology::Hexa2QuadTopologicalMapping::getFromIndex(), sofa::component::topology::Hexa2QuadTopologicalMapping::init(), and sofa::component::topology::Hexa2QuadTopologicalMapping::updateTopologicalMapping().
| virtual const SeqHexas& sofa::core::componentmodel::topology::BaseMeshTopology::getHexas | ( | ) | [pure virtual] |
Implemented in sofa::core::componentmodel::topology::TopologyContainer, sofa::component::topology::HexahedronSetTopologyContainer, sofa::component::topology::MeshTopology, and sofa::component::topology::SparseGridTopology.
Referenced by sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::apply(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::apply(), sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::applyJ(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::applyJ(), sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::applyJT(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::applyJT(), sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::draw(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::draw(), getHexa(), getNbHexas(), sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::handleTopologyChange(), sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::init(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::init(), sofa::component::forcefield::HexahedronFEMForceField< DataTypes >::init(), sofa::gpu::cuda::CudaTestForceField::reinit(), sofa::component::topology::Hexa2QuadTopologicalMapping::updateTopologicalMapping(), and sofa::component::topology::HexahedronSetGeometryAlgorithms< DataTypes >::writeMSHfile().
| const BaseMeshTopology::VertexHexas & sofa::core::componentmodel::topology::BaseMeshTopology::getHexaVertexShell | ( | PointID | i | ) | [virtual] |
Returns the set of hexahedra adjacent to a given vertex.
Definition at line 172 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName(), and getNbHexas().
Definition at line 238 of file BaseMeshTopology.h.
References getEdge().
Referenced by sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::apply(), sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::applyJ(), sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::applyJT(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::createPointInLine(), sofa::filemanager::pml::PMLStiffSpringForceField::FusionBody(), sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::init(), and sofa::component::forcefield::MeshSpringForceField< DataTypes >::init().
| const SeqLines& sofa::core::componentmodel::topology::BaseMeshTopology::getLines | ( | ) | [inline] |
Definition at line 236 of file BaseMeshTopology.h.
References getEdges().
Referenced by sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::apply(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::applyJ(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::applyJT(), and sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::draw().
| BaseMeshTopology::Edge sofa::core::componentmodel::topology::BaseMeshTopology::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 in sofa::component::topology::MeshTopology, and sofa::component::topology::TetrahedronSetTopologyContainer.
Definition at line 410 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::TetrahedralTMTetrahedronCreationFunction(), and sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::TetrahedralTMTetrahedronDestructionFunction().
| virtual int sofa::core::componentmodel::topology::BaseMeshTopology::getNbEdges | ( | ) | [inline, virtual] |
Random accessors.
Reimplemented in sofa::component::topology::MeshTopology.
Definition at line 143 of file BaseMeshTopology.h.
References getEdges().
Referenced by sofa::component::forcefield::VectorSpringForceField< DataTypes >::addDForce(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::addDForce(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::addDForce(), sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::addDForce(), sofa::component::forcefield::QuadularBendingSprings< DataTypes >::addDForce(), sofa::component::forcefield::VectorSpringForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularQuadraticSpringsForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularFEMForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularBiquadraticSpringsForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::addForce(), sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::addForce(), sofa::component::forcefield::QuadularBendingSprings< DataTypes >::addForce(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::computeIntersectedPointsList(), sofa::component::forcefield::VectorSpringForceField< DataTypes >::createDefaultSprings(), sofa::component::controller::EdgeSetController< DataTypes >::draw(), getEdgeHexaShell(), getEdgeQuadShell(), getEdgeTetraShell(), getEdgeTriangleShell(), getEdgeVertexShell(), sofa::component::forcefield::TriangularFEMForceField< DataTypes >::getFracturedEdge(), getNbLines(), sofa::component::forcefield::VectorSpringForceField< DataTypes >::handleEvent(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::handleTopologyChange(), sofa::component::forcefield::QuadularBendingSprings< DataTypes >::handleTopologyChange(), sofa::component::forcefield::EdgePressureForceField< DataTypes >::handleTopologyChange(), sofa::component::collision::LineModel::handleTopologyChange(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::init(), sofa::component::forcefield::TriangularQuadraticSpringsForceField< DataTypes >::init(), sofa::component::forcefield::TriangularBiquadraticSpringsForceField< DataTypes >::init(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::init(), sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::init(), sofa::component::forcefield::QuadularBendingSprings< DataTypes >::init(), sofa::component::forcefield::BeamFEMForceField< DataTypes >::init(), sofa::component::controller::EdgeSetController< DataTypes >::init(), sofa::component::collision::LineModel::init(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::Prepare_VertexDuplication(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::reinit(), sofa::component::forcefield::TriangularFEMForceField< DataTypes >::reinit(), sofa::component::forcefield::EdgePressureForceField< DataTypes >::selectEdgesAlongPlane(), sofa::component::collision::LineModel::updateFromTopology(), sofa::component::topology::Triangle2EdgeTopologicalMapping::updateTopologicalMapping(), and sofa::component::topology::Edge2QuadTopologicalMapping::updateTopologicalMapping().
| virtual int sofa::core::componentmodel::topology::BaseMeshTopology::getNbHexas | ( | ) | [inline, virtual] |
Reimplemented in sofa::component::topology::GridTopology, sofa::component::topology::MeshTopology, and sofa::component::topology::SparseGridTopology.
Definition at line 147 of file BaseMeshTopology.h.
References getHexas().
Referenced by sofa::component::forcefield::HexahedralFEMForceField< DataTypes >::addDForce(), sofa::component::forcefield::HexahedralFEMForceField< DataTypes >::addForce(), sofa::component::mapping::BarycentricMapperMeshTopology< gpu::cuda::CudaVectorTypes< VecIn, VecIn, float >, gpu::cuda::CudaVectorTypes< VecOut, VecOut, float > >::BarycentricMapperMeshTopology(), sofa::component::topology::HexahedronSetGeometryAlgorithms< DataTypes >::computeHexahedronVolume(), sofa::component::forcefield::HexahedralFEMForceField< DataTypes >::draw(), getHexaEdgeShell(), getHexaQuadShell(), getHexaVertexShell(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::init(), sofa::component::forcefield::MeshSpringForceField< DataTypes >::init(), sofa::component::forcefield::HexahedronFEMForceField< DataTypes >::init(), sofa::component::forcefield::HexahedralFEMForceField< DataTypes >::init(), sofa::gpu::cuda::CudaTestForceField::reinit(), sofa::component::forcefield::HexahedralFEMForceField< DataTypes >::reinit(), and sofa::component::collision::PointModel::updateNormals().
| int sofa::core::componentmodel::topology::BaseMeshTopology::getNbLines | ( | ) | [inline] |
Definition at line 237 of file BaseMeshTopology.h.
References getNbEdges().
Referenced by sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::applyJT(), sofa::filemanager::pml::PMLStiffSpringForceField::FusionBody(), sofa::component::mapping::LineSetSkinningMapping< BasicMapping >::init(), and sofa::component::forcefield::MeshSpringForceField< DataTypes >::init().
| virtual int sofa::core::componentmodel::topology::BaseMeshTopology::getNbQuads | ( | ) | [inline, virtual] |
Reimplemented in sofa::component::topology::MeshTopology.
Definition at line 145 of file BaseMeshTopology.h.
References getQuads().
Referenced by sofa::component::topology::QuadSetGeometryAlgorithms< DataTypes >::computeQuadArea(), sofa::component::forcefield::QuadularBendingSprings< DataTypes >::draw(), sofa::filemanager::pml::PMLStiffSpringForceField::FusionBody(), sofa::filemanager::pml::PMLFemForceField::FusionBody(), sofa::component::visualmodel::OgreVisualModel::getNbTriangles(), getQuadEdgeShell(), getQuadHexaShell(), getQuadVertexShell(), sofa::component::visualmodel::VisualModelImpl::handleTopologyChange(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::init(), sofa::component::forcefield::QuadularBendingSprings< DataTypes >::init(), sofa::component::forcefield::MeshSpringForceField< DataTypes >::init(), sofa::component::collision::TriangleModel::updateFromTopology(), sofa::component::collision::PointModel::updateNormals(), sofa::component::topology::Quad2TriangleTopologicalMapping::updateTopologicalMapping(), sofa::component::topology::Hexa2QuadTopologicalMapping::updateTopologicalMapping(), and sofa::component::topology::Edge2QuadTopologicalMapping::updateTopologicalMapping().
| virtual int sofa::core::componentmodel::topology::BaseMeshTopology::getNbTetras | ( | ) | [inline, virtual] |
Reimplemented in sofa::component::topology::MeshTopology.
Definition at line 146 of file BaseMeshTopology.h.
References getTetras().
Referenced by sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::addDForce(), sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::addForce(), sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::addKToMatrix(), sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::addPointInCube(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::addPointInCube(), sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::computeMaterialStiffness(), sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::draw(), sofa::filemanager::pml::PMLFemForceField::FusionBody(), getTetraEdgeShell(), getTetraTriangleShell(), getTetraVertexShell(), sofa::component::collision::TetrahedronModel::handleTopologyChange(), sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::init(), sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::init(), sofa::component::forcefield::MeshSpringForceField< DataTypes >::init(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::reinit(), sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::reinit(), and sofa::component::collision::PointModel::updateNormals().
| virtual int sofa::core::componentmodel::topology::BaseMeshTopology::getNbTriangles | ( | ) | [inline, virtual] |
Reimplemented in sofa::component::topology::MeshTopology.
Definition at line 144 of file BaseMeshTopology.h.
References getTriangles().
Referenced by sofa::component::forcefield::TriangularQuadraticSpringsForceField< DataTypes >::addDForce(), sofa::component::forcefield::TriangularBiquadraticSpringsForceField< DataTypes >::addDForce(), sofa::component::forcefield::TriangularQuadraticSpringsForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularFEMForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularBiquadraticSpringsForceField< DataTypes >::addForce(), sofa::component::mapping::BarycentricMapperQuadSetTopology< In, Out >::addPointInQuad(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::addPointInQuad(), sofa::component::forcefield::TriangularFEMForceField< DataTypes >::applyStiffnessLarge(), sofa::component::forcefield::TriangularFEMForceField< DataTypes >::applyStiffnessSmall(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::draw(), sofa::component::forcefield::TriangularQuadraticSpringsForceField< DataTypes >::draw(), sofa::component::forcefield::TriangularFEMForceField< DataTypes >::draw(), sofa::component::forcefield::TriangularBiquadraticSpringsForceField< DataTypes >::draw(), sofa::component::forcefield::TriangularAnisotropicFEMForceField< DataTypes >::draw(), sofa::filemanager::pml::PMLStiffSpringForceField::FusionBody(), sofa::filemanager::pml::PMLFemForceField::FusionBody(), sofa::component::visualmodel::OgreVisualModel::getNbTriangles(), getTriangleEdgeShell(), getTriangleTetraShell(), getTriangleVertexShell(), sofa::component::visualmodel::VisualModelImpl::handleTopologyChange(), sofa::component::forcefield::TrianglePressureForceField< DataTypes >::handleTopologyChange(), sofa::component::collision::TriangleModel::handleTopologyChange(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::init(), sofa::component::forcefield::TriangularQuadraticSpringsForceField< DataTypes >::init(), sofa::component::forcefield::TriangularFEMForceField< DataTypes >::init(), sofa::component::forcefield::TriangularBiquadraticSpringsForceField< DataTypes >::init(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::init(), sofa::component::forcefield::MeshSpringForceField< DataTypes >::init(), sofa::component::collision::TriangleModel::init(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::reinit(), sofa::component::forcefield::TriangularFEMForceField< DataTypes >::reinit(), sofa::component::forcefield::TrianglePressureForceField< DataTypes >::selectTrianglesAlongPlane(), sofa::component::collision::TriangleModel::updateFromTopology(), sofa::component::collision::PointModel::updateNormals(), sofa::component::topology::Tetra2TriangleTopologicalMapping::updateTopologicalMapping(), and sofa::component::topology::Quad2TriangleTopologicalMapping::updateTopologicalMapping().
| virtual double sofa::core::componentmodel::topology::BaseMeshTopology::getPX | ( | int | ) | const [inline, virtual] |
Reimplemented from sofa::core::componentmodel::topology::Topology.
Reimplemented in sofa::component::topology::CubeTopology, sofa::component::topology::CylinderGridTopology, sofa::component::topology::MeshTopology, sofa::component::topology::PointSetTopologyContainer, and sofa::component::topology::RegularGridTopology.
Definition at line 250 of file BaseMeshTopology.h.
Referenced by sofa::component::visualmodel::VisualModelImpl::computeMesh(), sofa::component::MechanicalObject< DataTypes >::init(), and sofa::component::MappedObject< DataTypes >::init().
| virtual double sofa::core::componentmodel::topology::BaseMeshTopology::getPY | ( | int | ) | const [inline, virtual] |
Reimplemented from sofa::core::componentmodel::topology::Topology.
Reimplemented in sofa::component::topology::CubeTopology, sofa::component::topology::CylinderGridTopology, sofa::component::topology::MeshTopology, sofa::component::topology::PointSetTopologyContainer, and sofa::component::topology::RegularGridTopology.
Definition at line 251 of file BaseMeshTopology.h.
Referenced by sofa::component::visualmodel::VisualModelImpl::computeMesh(), sofa::component::MechanicalObject< DataTypes >::init(), and sofa::component::MappedObject< DataTypes >::init().
| virtual double sofa::core::componentmodel::topology::BaseMeshTopology::getPZ | ( | int | ) | const [inline, virtual] |
Reimplemented from sofa::core::componentmodel::topology::Topology.
Reimplemented in sofa::component::topology::CubeTopology, sofa::component::topology::CylinderGridTopology, sofa::component::topology::MeshTopology, sofa::component::topology::PointSetTopologyContainer, and sofa::component::topology::RegularGridTopology.
Definition at line 252 of file BaseMeshTopology.h.
Referenced by sofa::component::visualmodel::VisualModelImpl::computeMesh(), sofa::component::MechanicalObject< DataTypes >::init(), and sofa::component::MappedObject< DataTypes >::init().
| virtual Quad sofa::core::componentmodel::topology::BaseMeshTopology::getQuad | ( | QuadID | i | ) | [inline, virtual] |
Definition at line 151 of file BaseMeshTopology.h.
References getQuads().
Referenced by sofa::component::topology::QuadSetGeometryAlgorithms< DataTypes >::computeQuadArea(), sofa::component::topology::QuadSetGeometryAlgorithms< DataTypes >::computeQuadNormal(), sofa::component::topology::QuadSetGeometryAlgorithms< DataTypes >::computeRestQuadArea(), sofa::component::mapping::BarycentricMapperQuadSetTopology< In, Out >::createPointInQuad(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::createPointInQuad(), sofa::component::forcefield::QuadularBendingSprings< DataTypes >::draw(), sofa::filemanager::pml::PMLStiffSpringForceField::FusionBody(), sofa::filemanager::pml::PMLFemForceField::FusionBody(), sofa::component::forcefield::QuadularBendingSprings< DataTypes >::handleTopologyChange(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::init(), sofa::component::forcefield::MeshSpringForceField< DataTypes >::init(), sofa::component::topology::QuadSetGeometryAlgorithms< DataTypes >::is_quad_in_plane(), sofa::component::forcefield::QuadularBendingSprings< DataTypes >::QuadularBSQuadCreationFunction(), sofa::component::forcefield::QuadularBendingSprings< DataTypes >::QuadularBSQuadDestructionFunction(), and sofa::component::collision::TriangleModel::updateFromTopology().
| const BaseMeshTopology::EdgeQuads & sofa::core::componentmodel::topology::BaseMeshTopology::getQuadEdgeShell | ( | EdgeID | i | ) | [virtual] |
Returns the set of quads adjacent to a given edge.
Returns the set of quad adjacent to a given edge.
Definition at line 131 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName(), and getNbQuads().
Referenced by sofa::component::forcefield::QuadularBendingSprings< DataTypes >::QuadularBSQuadCreationFunction(), and sofa::component::forcefield::QuadularBendingSprings< DataTypes >::QuadularBSQuadDestructionFunction().
| const BaseMeshTopology::HexaQuads & sofa::core::componentmodel::topology::BaseMeshTopology::getQuadHexaShell | ( | HexaID | i | ) | [virtual] |
Returns the set of quads adjacent to a given hexahedron.
Returns the set of quad adjacent to a given hexahedron.
Definition at line 139 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName(), getNbQuads(), and InvalidID.
Referenced by sofa::component::topology::Hexa2QuadTopologicalMapping::updateTopologicalMapping().
| int sofa::core::componentmodel::topology::BaseMeshTopology::getQuadIndex | ( | PointID | v1, | |
| PointID | v2, | |||
| PointID | v3, | |||
| PointID | v4 | |||
| ) | [virtual] |
Returns the index of the quad given four vertex indices; returns -1 if no quad exists.
Definition at line 332 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
| int sofa::core::componentmodel::topology::BaseMeshTopology::getQuadIndexInHexahedron | ( | const HexaQuads & | t, | |
| QuadID | quadIndex | |||
| ) | const [virtual] |
returns the index (either 0, 1 ,2 ,3, 4, 5) of the quad whose global index is quadIndex.
Returns -1 if none
Definition at line 404 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by sofa::component::topology::Hexa2QuadTopologicalMapping::updateTopologicalMapping().
| virtual const SeqQuads& sofa::core::componentmodel::topology::BaseMeshTopology::getQuads | ( | ) | [pure virtual] |
Implemented in sofa::core::componentmodel::topology::TopologyContainer, sofa::component::topology::MeshTopology, and sofa::component::topology::QuadSetTopologyContainer.
Referenced by sofa::component::mapping::BarycentricMapperQuadSetTopology< In, Out >::apply(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::apply(), sofa::component::mapping::BarycentricMapperQuadSetTopology< In, Out >::applyJ(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::applyJ(), sofa::component::mapping::BarycentricMapperQuadSetTopology< In, Out >::applyJT(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::applyJT(), sofa::component::visualmodel::VisualModelImpl::computeMesh(), sofa::component::visualmodel::OgreVisualModel::computeNormals(), sofa::component::mapping::BarycentricMapperQuadSetTopology< In, Out >::draw(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::draw(), getNbQuads(), getQuad(), sofa::component::topology::Quad2TriangleTopologicalMapping::init(), sofa::component::topology::Hexa2QuadTopologicalMapping::init(), sofa::component::mapping::BarycentricMapperQuadSetTopology< In, Out >::init(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::init(), sofa::component::forcefield::TriangleBendingSprings< DataTypes >::init(), sofa::component::forcefield::QuadBendingSprings< DataTypes >::init(), sofa::component::collision::PointModel::updateNormals(), sofa::component::topology::Quad2TriangleTopologicalMapping::updateTopologicalMapping(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateTopology(), sofa::component::visualmodel::OgreVisualModel::uploadIndices(), and sofa::component::topology::QuadSetGeometryAlgorithms< DataTypes >::writeMSHfile().
| const BaseMeshTopology::VertexQuads & sofa::core::componentmodel::topology::BaseMeshTopology::getQuadVertexShell | ( | PointID | i | ) | [virtual] |
Returns the set of quads adjacent to a given vertex.
Returns the set of quad adjacent to a given vertex.
Definition at line 123 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName(), and getNbQuads().
Referenced by sofa::component::visualmodel::VisualModelImpl::handleTopologyChange(), and sofa::component::forcefield::QuadularBendingSprings< DataTypes >::handleTopologyChange().
| virtual int sofa::core::componentmodel::topology::BaseMeshTopology::getRevision | ( | ) | const [inline, virtual] |
get the current revision of this mesh (use to detect changes)
Reimplemented in sofa::component::topology::MeshTopology.
Definition at line 269 of file BaseMeshTopology.h.
Referenced by sofa::component::visualmodel::VisualModelImpl::computeMesh(), sofa::component::collision::TriangleModel::updateFromTopology(), sofa::component::collision::LineModel::updateFromTopology(), sofa::component::visualmodel::VisualModelImpl::updateVisual(), sofa::component::visualmodel::OgreVisualModel::updateVisual(), and sofa::component::visualmodel::OgreVisualModel::uploadIndices().
| virtual Tetra sofa::core::componentmodel::topology::BaseMeshTopology::getTetra | ( | TetraID | i | ) | [inline, virtual] |
Definition at line 152 of file BaseMeshTopology.h.
References getTetras().
Referenced by sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::accumulateForceLarge(), sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::accumulateForcePolar(), sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::accumulateForceSmall(), sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::addDForce(), sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::addKToMatrix(), sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::CFTetrahedronCreationFunction(), sofa::component::topology::TetrahedronSetGeometryAlgorithms< DataTypes >::computeRestTetrahedronVolume(), sofa::component::topology::TetrahedronSetGeometryAlgorithms< DataTypes >::computeTetrahedronVolume(), sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::draw(), sofa::filemanager::pml::PMLFemForceField::FusionBody(), sofa::component::topology::TetrahedronSetGeometryAlgorithms< DataTypes >::getTetraInBall(), sofa::component::forcefield::MeshSpringForceField< DataTypes >::init(), sofa::component::mass::MassTetrahedronCreationFunction(), sofa::component::mass::MassTetrahedronDestroyFunction(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::reinit(), sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::reinit(), sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::TetrahedralTMTetrahedronCreationFunction(), and sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::TetrahedralTMTetrahedronDestructionFunction().
| const BaseMeshTopology::EdgeTetras & sofa::core::componentmodel::topology::BaseMeshTopology::getTetraEdgeShell | ( | EdgeID | i | ) | [virtual] |
Returns the set of tetrahedra adjacent to a given edge.
Definition at line 156 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName(), and getNbTetras().
| int sofa::core::componentmodel::topology::BaseMeshTopology::getTetrahedronIndex | ( | PointID | v1, | |
| PointID | v2, | |||
| PointID | v3, | |||
| PointID | v4 | |||
| ) | [virtual] |
Returns the index of the tetrahedron given four vertex indices; returns -1 if no tetrahedron exists.
Definition at line 338 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
| virtual const SeqTetras& sofa::core::componentmodel::topology::BaseMeshTopology::getTetras | ( | ) | [pure virtual] |
Implemented in sofa::core::componentmodel::topology::TopologyContainer, sofa::component::topology::MeshTopology, and sofa::component::topology::TetrahedronSetTopologyContainer.
Referenced by sofa::component::visualmodel::OglTetrahedralModel< DataTypes >::addBBox(), sofa::component::mapping::BarycentricMapperTetrahedronSetTopology< In, Out >::apply(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::apply(), sofa::component::mapping::BarycentricMapperTetrahedronSetTopology< In, Out >::applyJ(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::applyJ(), sofa::component::mapping::BarycentricMapperTetrahedronSetTopology< In, Out >::applyJT(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::applyJT(), sofa::component::topology::TetrahedronSetGeometryAlgorithms< DataTypes >::computeTetrahedronVolume(), sofa::component::mapping::BarycentricMapperTetrahedronSetTopology< In, Out >::draw(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::draw(), sofa::component::visualmodel::OglTetrahedralModel< DataTypes >::drawTransparent(), getNbTetras(), getTetra(), sofa::component::mapping::BarycentricMapperTetrahedronSetTopology< In, Out >::init(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::init(), sofa::component::forcefield::TetrahedronFEMForceField< DataTypes >::init(), sofa::component::collision::TetrahedronModel::init(), sofa::component::collision::PointModel::updateNormals(), sofa::component::topology::Tetra2TriangleTopologicalMapping::updateTopologicalMapping(), sofa::component::visualmodel::OglTetrahedralModel< gpu::cuda::CudaVectorTypes< TCoord, TDeriv, TReal > >::updateTopology(), and sofa::component::topology::TetrahedronSetGeometryAlgorithms< DataTypes >::writeMSHfile().
| const BaseMeshTopology::TriangleTetras & sofa::core::componentmodel::topology::BaseMeshTopology::getTetraTriangleShell | ( | TriangleID | i | ) | [virtual] |
Returns the set of tetrahedra adjacent to a given triangle.
Definition at line 164 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName(), and getNbTetras().
Referenced by sofa::component::collision::CarvingManager::doCarve(), sofa::component::topology::Tetra2TriangleTopologicalMapping::getFromIndex(), sofa::component::topology::TetrahedronSetGeometryAlgorithms< DataTypes >::getTetraInBall(), sofa::component::topology::Tetra2TriangleTopologicalMapping::init(), and sofa::component::topology::Tetra2TriangleTopologicalMapping::updateTopologicalMapping().
| const BaseMeshTopology::VertexTetras & sofa::core::componentmodel::topology::BaseMeshTopology::getTetraVertexShell | ( | PointID | i | ) | [virtual] |
Returns the set of tetrahedra adjacent to a given vertex.
Definition at line 148 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName(), and getNbTetras().
| virtual Triangle sofa::core::componentmodel::topology::BaseMeshTopology::getTriangle | ( | TriangleID | i | ) | [inline, virtual] |
Definition at line 150 of file BaseMeshTopology.h.
References getTriangles().
Referenced by sofa::component::forcefield::TriangularFEMForceField< DataTypes >::accumulateForceLarge(), sofa::component::forcefield::TriangularFEMForceField< DataTypes >::accumulateForceSmall(), sofa::component::forcefield::TriangularQuadraticSpringsForceField< DataTypes >::addDForce(), sofa::component::forcefield::TriangularBiquadraticSpringsForceField< DataTypes >::addDForce(), sofa::component::forcefield::TriangularQuadraticSpringsForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularBiquadraticSpringsForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::addForce(), sofa::component::forcefield::TrianglePressureForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularFEMForceField< DataTypes >::applyStiffnessLarge(), sofa::component::forcefield::TriangularFEMForceField< DataTypes >::applyStiffnessSmall(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::closestIndexPair(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::computeIntersectedPointsList(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::computeRestTriangleArea(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::computeSegmentTriangleIntersection(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::computeTriangleArea(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::computeTriangleBarycoefs(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::computeTriangleNormal(), sofa::component::mapping::BarycentricMapperTriangleSetTopology< In, Out >::createPointInTriangle(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::createPointInTriangle(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::draw(), sofa::component::forcefield::TriangularQuadraticSpringsForceField< DataTypes >::draw(), sofa::component::forcefield::TriangularFEMForceField< DataTypes >::draw(), sofa::component::forcefield::TriangularBiquadraticSpringsForceField< DataTypes >::draw(), sofa::component::forcefield::TriangularAnisotropicFEMForceField< DataTypes >::draw(), sofa::component::forcefield::TrianglePressureForceField< DataTypes >::draw(), sofa::filemanager::pml::PMLStiffSpringForceField::FusionBody(), sofa::filemanager::pml::PMLFemForceField::FusionBody(), sofa::component::visualmodel::VisualModelImpl::handleTopologyChange(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::handleTopologyChange(), sofa::component::topology::TriangleSetTopologyAlgorithms< DataTypes >::InciseAlongEdge(), sofa::component::topology::TriangleSetTopologyAlgorithms< DataTypes >::InciseAlongLinesList(), sofa::component::topology::TriangleSetTopologyAlgorithms< DataTypes >::InciseAlongPointsList(), sofa::component::forcefield::TriangularQuadraticSpringsForceField< DataTypes >::init(), sofa::component::forcefield::TriangularBiquadraticSpringsForceField< DataTypes >::init(), sofa::component::forcefield::MeshSpringForceField< DataTypes >::init(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::is_PointinTriangle(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::is_triangle_in_plane(), sofa::component::mass::MassTriangleCreationFunction(), sofa::component::mass::MassTriangleDestroyFunction(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::reinit(), sofa::component::forcefield::TriangularFEMForceField< DataTypes >::reinit(), sofa::component::forcefield::TrianglePressureForceField< DataTypes >::selectTrianglesAlongPlane(), sofa::component::collision::Point::testLMD(), sofa::component::collision::LocalMinDistance::testValidity(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::TriangularBSTriangleCreationFunction(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::TriangularBSTriangleDestructionFunction(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::TriangularTMTriangleCreationFunction(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::TriangularTMTriangleDestructionFunction(), sofa::component::forcefield::TriangularAnisotropicFEMForceField< DataTypes >::TRQSTriangleCreationFunction(), and sofa::component::collision::TriangleModel::updateFromTopology().
| const BaseMeshTopology::EdgeTriangles & sofa::core::componentmodel::topology::BaseMeshTopology::getTriangleEdgeShell | ( | EdgeID | i | ) | [virtual] |
Returns the set of triangles adjacent to a given edge.
Returns the set of triangle adjacent to a given edge.
Definition at line 106 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName(), and getNbTriangles().
Referenced by sofa::component::forcefield::TriangularFEMForceField< DataTypes >::addForce(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::addForce(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::computeIntersectedPointsList(), sofa::component::topology::Triangle2EdgeTopologicalMapping::getFromIndex(), sofa::component::topology::Triangle2EdgeTopologicalMapping::init(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::is_PointinTriangle(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::Prepare_VertexDuplication(), sofa::component::collision::LocalMinDistance::testValidity(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::TriangularBSTriangleCreationFunction(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::TriangularBSTriangleDestructionFunction(), and sofa::component::topology::Triangle2EdgeTopologicalMapping::updateTopologicalMapping().
| int sofa::core::componentmodel::topology::BaseMeshTopology::getTriangleIndex | ( | PointID | v1, | |
| PointID | v2, | |||
| PointID | v3 | |||
| ) | [virtual] |
Returns the index of the triangle given three vertex indices; returns -1 if no triangle exists.
Definition at line 326 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
| int sofa::core::componentmodel::topology::BaseMeshTopology::getTriangleIndexInTetrahedron | ( | const TetraTriangles & | t, | |
| TriangleID | triangleIndex | |||
| ) | const [virtual] |
returns the index (either 0, 1 ,2 ,3) of the triangle whose global index is triangleIndex.
Returns -1 if none
Definition at line 386 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by sofa::component::topology::Tetra2TriangleTopologicalMapping::updateTopologicalMapping().
| virtual const SeqTriangles& sofa::core::componentmodel::topology::BaseMeshTopology::getTriangles | ( | ) | [pure virtual] |
Implemented in sofa::core::componentmodel::topology::TopologyContainer, sofa::component::topology::MeshTopology, and sofa::component::topology::TriangleSetTopologyContainer.
Referenced by sofa::component::mapping::BarycentricMapperTriangleSetTopology< In, Out >::apply(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::apply(), sofa::component::mapping::BarycentricMapperTriangleSetTopology< In, Out >::applyJ(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::applyJ(), sofa::component::mapping::BarycentricMapperTriangleSetTopology< In, Out >::applyJT(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::applyJT(), sofa::component::visualmodel::VisualModelImpl::computeMesh(), sofa::component::visualmodel::OgreVisualModel::computeNormals(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::computeTriangleArea(), sofa::component::mapping::BarycentricMapperTriangleSetTopology< In, Out >::draw(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::draw(), getNbTriangles(), getTriangle(), sofa::component::topology::Tetra2TriangleTopologicalMapping::init(), sofa::component::mapping::BarycentricMapperTriangleSetTopology< In, Out >::init(), sofa::component::mapping::BarycentricMapperMeshTopology< In, Out >::init(), sofa::component::forcefield::TriangleFEMForceField< DataTypes >::init(), sofa::component::forcefield::TriangleBendingSprings< DataTypes >::init(), sofa::component::collision::TriangleModel::init(), sofa::component::collision::TriangleModel::updateFromTopology(), sofa::component::collision::PointModel::updateNormals(), sofa::component::topology::Triangle2EdgeTopologicalMapping::updateTopologicalMapping(), sofa::component::visualmodel::CudaVisualModel< TDataTypes >::updateTopology(), sofa::component::visualmodel::OgreVisualModel::uploadIndices(), and sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::writeMSHfile().
| const BaseMeshTopology::TetraTriangles & sofa::core::componentmodel::topology::BaseMeshTopology::getTriangleTetraShell | ( | TetraID | i | ) | [virtual] |
Returns the set of triangles adjacent to a given tetrahedron.
Returns the set of triangle adjacent to a given tetrahedron.
Definition at line 114 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName(), getNbTriangles(), and InvalidID.
Referenced by sofa::component::topology::TetrahedronSetGeometryAlgorithms< DataTypes >::getTetraInBall(), and sofa::component::topology::Tetra2TriangleTopologicalMapping::updateTopologicalMapping().
| const BaseMeshTopology::VertexTriangles & sofa::core::componentmodel::topology::BaseMeshTopology::getTriangleVertexShell | ( | PointID | i | ) | [virtual] |
Returns the set of triangles adjacent to a given vertex.
Returns the set of triangle adjacent to a given vertex.
Definition at line 98 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName(), and getNbTriangles().
Referenced by sofa::component::forcefield::TriangularFEMForceField< DataTypes >::addForce(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::computeIntersectedPointsList(), sofa::component::visualmodel::VisualModelImpl::handleTopologyChange(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::handleTopologyChange(), sofa::component::collision::TriangleModel::handleTopologyChange(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::is_PointinTriangle(), sofa::component::topology::TriangleSetGeometryAlgorithms< DataTypes >::Prepare_VertexDuplication(), sofa::component::collision::Point::testLMD(), and sofa::component::collision::LocalMinDistance::testValidity().
| int sofa::core::componentmodel::topology::BaseMeshTopology::getVertexIndexInHexahedron | ( | Hexa & | t, | |
| PointID | vertexIndex | |||
| ) | const [virtual] |
returns the index (either 0, 1 ,2, 3, 4, 5, 6, or 7) of the vertex whose global index is vertexIndex.
Returns -1 if none
Definition at line 392 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
| int sofa::core::componentmodel::topology::BaseMeshTopology::getVertexIndexInQuad | ( | Quad & | t, | |
| PointID | vertexIndex | |||
| ) | const [virtual] |
returns the index (either 0, 1 ,2 or 3) of the vertex whose global index is vertexIndex.
Returns -1 if none
Definition at line 362 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by sofa::component::forcefield::QuadularBendingSprings< DataTypes >::handleTopologyChange().
| int sofa::core::componentmodel::topology::BaseMeshTopology::getVertexIndexInTetrahedron | ( | const Tetra & | t, | |
| PointID | vertexIndex | |||
| ) | const [virtual] |
returns the index (either 0, 1 ,2 or 3) of the vertex whose global index is vertexIndex.
Returns -1 if none
Definition at line 374 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
| int sofa::core::componentmodel::topology::BaseMeshTopology::getVertexIndexInTriangle | ( | const Triangle & | t, | |
| PointID | vertexIndex | |||
| ) | const [virtual] |
returns the index (either 0, 1 ,2 or 3) of the vertex whose global index is vertexIndex.
Returns -1 if none
Definition at line 350 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by sofa::component::forcefield::TriangularBendingSprings< DataTypes >::handleTopologyChange().
| virtual bool sofa::core::componentmodel::topology::BaseMeshTopology::hasPos | ( | ) | const [inline, virtual] |
Reimplemented from sofa::core::componentmodel::topology::Topology.
Reimplemented in sofa::component::topology::CubeTopology, sofa::component::topology::CylinderGridTopology, sofa::component::topology::MeshTopology, sofa::component::topology::PointSetTopologyContainer, sofa::component::topology::RegularGridTopology, and sofa::component::topology::SparseGridTopology.
Definition at line 249 of file BaseMeshTopology.h.
Referenced by sofa::component::visualmodel::VisualModelImpl::computeMesh(), sofa::component::MechanicalObject< DataTypes >::init(), and sofa::component::MappedObject< DataTypes >::init().
| virtual bool sofa::core::componentmodel::topology::BaseMeshTopology::isCubeActive | ( | int | ) | [inline, virtual] |
return true if the given cube is active, i.e.
it contains or is surrounded by mapped points.
Reimplemented in sofa::component::topology::MeshTopology.
Definition at line 273 of file BaseMeshTopology.h.
Referenced by sofa::component::forcefield::MeshSpringForceField< DataTypes >::init().
| std::list< const TopologyChange * >::const_iterator sofa::core::componentmodel::topology::BaseMeshTopology::lastChange | ( | ) | const [virtual] |
Provides an iterator on the last element in the list of TopologyChange objects.
Reimplemented in sofa::core::componentmodel::topology::TopologyContainer.
Definition at line 299 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by sofa::component::forcefield::VectorSpringForceField< DataTypes >::handleEvent(), sofa::component::visualmodel::VisualModelImpl::handleTopologyChange(), sofa::component::ParticleSource< TDataTypes >::handleTopologyChange(), sofa::component::ParticleSink< TDataTypes >::handleTopologyChange(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::handleTopologyChange(), sofa::component::mapping::BarycentricMapping< BasicMapping >::handleTopologyChange(), sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::handleTopologyChange(), sofa::component::mapping::BarycentricMapperTetrahedronSetTopology< In, Out >::handleTopologyChange(), sofa::component::mapping::BarycentricMapperQuadSetTopology< In, Out >::handleTopologyChange(), sofa::component::mapping::BarycentricMapperTriangleSetTopology< In, Out >::handleTopologyChange(), sofa::component::mapping::BarycentricMapperEdgeSetTopology< In, Out >::handleTopologyChange(), sofa::component::forcefield::TriangularTensorMassForceField< DataTypes >::handleTopologyChange(), sofa::component::forcefield::TriangularQuadraticSpringsForceField< DataTypes >::handleTopologyChange(), sofa::component::forcefield::TriangularFEMForceField< DataTypes >::handleTopologyChange(), sofa::component::forcefield::TriangularBiquadraticSpringsForceField< DataTypes >::handleTopologyChange(), sofa::component::forcefield::TriangularBendingSprings< DataTypes >::handleTopologyChange(), sofa::component::forcefield::TrianglePressureForceField< DataTypes >::handleTopologyChange(), sofa::component::forcefield::TetrahedralTensorMassForceField< DataTypes >::handleTopologyChange(), sofa::component::forcefield::TetrahedralCorotationalFEMForceField< DataTypes >::handleTopologyChange(), sofa::component::forcefield::QuadularBendingSprings< DataTypes >::handleTopologyChange(), sofa::component::forcefield::HexahedralFEMForceField< DataTypes >::handleTopologyChange(), sofa::component::forcefield::EdgePressureForceField< DataTypes >::handleTopologyChange(), sofa::component::forcefield::BeamFEMForceField< DataTypes >::handleTopologyChange(), sofa::component::constraint::LinearMovementConstraint< DataTypes >::handleTopologyChange(), sofa::component::constraint::FixedPlaneConstraint< DataTypes >::handleTopologyChange(), sofa::component::constraint::FixedConstraint< DataTypes >::handleTopologyChange(), sofa::component::collision::TriangleModel::handleTopologyChange(), sofa::component::collision::LineModel::handleTopologyChange(), sofa::component::topology::Triangle2EdgeTopologicalMapping::updateTopologicalMapping(), sofa::component::topology::Tetra2TriangleTopologicalMapping::updateTopologicalMapping(), sofa::component::topology::Quad2TriangleTopologicalMapping::updateTopologicalMapping(), sofa::component::topology::Hexa2QuadTopologicalMapping::updateTopologicalMapping(), and sofa::component::topology::Edge2QuadTopologicalMapping::updateTopologicalMapping().
| std::list< const TopologyChange * >::const_iterator sofa::core::componentmodel::topology::BaseMeshTopology::lastStateChange | ( | ) | const [virtual] |
Provides an iterator on the last element in the list of StateChange objects.
Reimplemented in sofa::core::componentmodel::topology::TopologyContainer.
Definition at line 313 of file BaseMeshTopology.cpp.
References sofa::core::objectmodel::Base::getClassName().
Referenced by sofa::component::MechanicalObject< DataTypes >::handleStateChange().
| bool sofa::core::componentmodel::topology::BaseMeshTopology::load | ( | const char * | filename | ) | [virtual] |
Load the topology from a file.
The default implementation supports the following formats: obj, gmsh, mesh (custom simple text file), xs3 (deprecated description of mass-springs networks).
Reimplemented in sofa::component::topology::SparseGridTopology.
Definition at line 237 of file BaseMeshTopology.cpp.
References clear(), d_filename, sofa::helper::system::DataRepository, sofa::helper::io::MeshTopologyLoader::load(), and sofa::core::objectmodel::BaseObject::logWarning().
Referenced by parse().
| void sofa::core::componentmodel::topology::BaseMeshTopology::parse | ( | core::objectmodel::BaseObjectDescription * | arg | ) | [virtual] |
Parse the given description to assign values to this object's fields and potentially other parameters.
Reimplemented from sofa::core::objectmodel::Base.
Reimplemented in sofa::component::mapping::ImplicitSurfaceMapping< In, Out >, sofa::component::topology::CubeTopology, sofa::component::topology::GridTopology, and sofa::component::topology::RegularGridTopology.
Definition at line 195 of file BaseMeshTopology.cpp.
References d_filename, sofa::core::objectmodel::BaseObjectDescription::getAttribute(), load(), and sofa::core::objectmodel::BaseObjectDescription::removeAttribute().
Data< std::string > sofa::core::componentmodel::topology::BaseMeshTopology::d_filename [protected] |
Definition at line 299 of file BaseMeshTopology.h.
Referenced by sofa::component::topology::SparseGridTopology::buildAsFinest(), sofa::component::topology::SparseGridTopology::buildVirtualFinerLevels(), getFilename(), sofa::component::topology::SparseGridTopology::load(), load(), and parse().
1.5.7.1