#include <MeshTopology.h>
Classes | |
class | PrimitiveUpdate |
Public Attributes | |
Data< SeqPoints > | seqPoints |
List of point positions. More... | |
Data< SeqEdges > | seqEdges |
List of edge indices. More... | |
Data< SeqTriangles > | seqTriangles |
List of triangle indices. More... | |
Data< SeqQuads > | seqQuads |
List of quad indices. More... | |
Data< SeqTetrahedra > | seqTetrahedra |
List of tetrahedron indices. More... | |
Data< SeqHexahedra > | seqHexahedra |
List of hexahedron indices. More... | |
Data< SeqUV > | seqUVs |
List of uv coordinates. More... | |
int | revision |
Data< bool > | _drawEdges |
if true, draw the topology Edges More... | |
Data< bool > | _drawTriangles |
if true, draw the topology Triangles More... | |
Data< bool > | _drawQuads |
if true, draw the topology Quads More... | |
Data< bool > | _drawTetra |
if true, draw the topology Tetrahedra More... | |
Data< bool > | _drawHexa |
if true, draw the topology hexahedra More... | |
![]() | |
Data< bool > | f_listening |
if true, handle the events, otherwise ignore the events More... | |
![]() | |
std::vector< lifecycle::DeprecatedData * > | m_oldAttributes |
Data< int > | d_messageLogCount |
Data< std::string > | name |
Name of the object. More... | |
Data< bool > | f_printLog |
if true, emits extra messages at runtime. More... | |
Data< sofa::core::objectmodel::TagSet > | f_tags |
list of the subsets the objet belongs to More... | |
Data< sofa::type::BoundingBox > | f_bbox |
this object bounding box More... | |
Data< sofa::core::objectmodel::ComponentState > | d_componentState |
the object state More... | |
std::string | m_definitionSourceFileName {""} |
int | m_definitionSourceFilePos {-1} |
std::string | m_instanciationSourceFileName {""} |
int | m_instanciationSourceFilePos {-1} |
Public Member Functions | |
SOFA_CLASS (MeshTopology, core::topology::BaseMeshTopology) | |
void | init () override |
Initialization method called at graph creation and modification, during top-down traversal. More... | |
Size | getNbPoints () const override |
void | setNbPoints (Size n) override |
const SeqEdges & | getEdges () override |
const SeqTriangles & | getTriangles () override |
const SeqQuads & | getQuads () override |
const SeqTetrahedra & | getTetrahedra () override |
const SeqHexahedra & | getHexahedra () override |
Size | getNbEdges () override |
Size | getNbTriangles () override |
Size | getNbQuads () override |
Size | getNbTetrahedra () override |
Size | getNbHexahedra () override |
const Edge | getEdge (EdgeID i) override |
const Triangle | getTriangle (TriangleID i) override |
const Quad | getQuad (QuadID i) override |
const Tetra | getTetrahedron (TetraID i) override |
const Hexa | getHexahedron (HexaID i) override |
virtual const SeqUV & | getUVs () |
virtual Size | getNbUVs () |
virtual const UV | getUV (UVID i) |
void | addUV (SReal u, SReal v) |
SReal | getPosX (Index i) const |
SReal | getPosY (Index i) const |
SReal | getPosZ (Index i) const |
bool | hasPos () const override |
SReal | getPX (Index i) const override |
SReal | getPY (Index i) const override |
SReal | getPZ (Index i) const override |
void | clear () override |
void | addPoint (SReal px, SReal py, SReal pz) override |
void | addEdge (Index a, Index b) override |
void | addTriangle (Index a, Index b, Index c) override |
void | addQuad (Index a, Index b, Index c, Index d) override |
void | addTetra (Index a, Index b, Index c, Index d) override |
void | addHexa (Index a, Index b, Index c, Index d, Index e, Index f, Index g, Index h) override |
int | getRevision () const override |
get the current revision of this mesh (use to detect changes) More... | |
void | draw (const core::visual::VisualParams *vparams) override |
Render internal data of this object, for debugging purposes. More... | |
virtual bool | hasVolume () |
virtual bool | hasSurface () |
virtual bool | hasLines () |
virtual bool | isVolume () |
virtual bool | isSurface () |
virtual bool | isLines () |
virtual const EdgesAroundVertex & | getOrientedEdgesAroundVertex (PointID i) |
Returns the set of edges adjacent to a given vertex. More... | |
virtual const TrianglesAroundVertex & | getOrientedTrianglesAroundVertex (PointID i) |
Returns the set of oriented triangle adjacent to a given vertex. More... | |
virtual const QuadsAroundVertex & | getOrientedQuadsAroundVertex (PointID i) |
Returns the set of oriented quad adjacent to a given vertex. More... | |
int | computeRelativeOrientationInTri (const PointID ind_p0, const PointID ind_p1, const PointID ind_t) |
int | computeRelativeOrientationInQuad (const PointID ind_p0, const PointID ind_p1, const PointID ind_q) |
void | reOrientateTriangle (TriangleID id) override |
Will change order of vertices in triangle: t[1] <=> t[2]. More... | |
EdgeID | getEdgeIndex (PointID v1, PointID v2) override |
Returns the index of the edge joining vertex v1 and vertex v2; returns InvalidID if no edge exists. More... | |
TriangleID | getTriangleIndex (PointID v1, PointID v2, PointID v3) override |
QuadID | getQuadIndex (PointID v1, PointID v2, PointID v3, PointID v4) override |
Returns the index of the quad joining vertex v1, v2, v3 and v4; returns InvalidID if none. More... | |
TetrahedronID | getTetrahedronIndex (PointID v1, PointID v2, PointID v3, PointID v4) override |
Returns the index of the tetrahedron given four vertex indices; returns InvalidID if none. More... | |
HexahedronID | getHexahedronIndex (PointID v1, PointID v2, PointID v3, PointID v4, PointID v5, PointID v6, PointID v7, PointID v8) override |
Returns the index of the hexahedron given eight vertex indices; returns InvalidID if none. More... | |
int | getVertexIndexInTriangle (const Triangle &t, PointID vertexIndex) const override |
Returns the index (either 0, 1 ,2 or 3) of the vertex whose global index is vertexIndex. Returns -1 if none. More... | |
int | getEdgeIndexInTriangle (const EdgesInTriangle &t, EdgeID edgeIndex) const override |
Returns the index (either 0, 1 ,2) of the edge whose global index is edgeIndex. Returns -1 if none. More... | |
int | getVertexIndexInQuad (const Quad &t, PointID vertexIndex) const override |
Returns the index (either 0, 1 ,2 or 3) of the vertex whose global index is vertexIndex. Returns -1 if none. More... | |
int | getEdgeIndexInQuad (const EdgesInQuad &t, EdgeID edgeIndex) const override |
Returns the index (either 0, 1 ,2, 3) of the edge whose global index is edgeIndex. Returns -1 if none. More... | |
int | getVertexIndexInTetrahedron (const Tetra &t, PointID vertexIndex) const override |
Returns the index (either 0, 1 ,2 or 3) of the vertex whose global index is vertexIndex. Returns -1 if none. More... | |
int | getEdgeIndexInTetrahedron (const EdgesInTetrahedron &t, EdgeID edgeIndex) const override |
Returns the index (either 0, 1 ,2 ,3, 4, 5) of the edge whose global index is edgeIndex. Returns -1 if none. More... | |
int | getTriangleIndexInTetrahedron (const TrianglesInTetrahedron &t, TriangleID triangleIndex) const override |
Returns the index (either 0, 1 ,2 ,3) of the triangle whose global index is triangleIndex. Returns -1 if none. More... | |
int | getVertexIndexInHexahedron (const Hexa &t, PointID vertexIndex) const override |
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. More... | |
int | getEdgeIndexInHexahedron (const EdgesInHexahedron &t, EdgeID edgeIndex) const override |
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. More... | |
int | getQuadIndexInHexahedron (const QuadsInHexahedron &t, QuadID quadIndex) const override |
Returns the index (either 0, 1 ,2 ,3, 4, 5) of the quad whose global index is quadIndex. Returns -1 if none. More... | |
Edge | getLocalEdgesInTetrahedron (const HexahedronID i) const override |
Returns for each index (between 0 and 5) the two vertex indices that are adjacent to that edge. More... | |
Edge | getLocalEdgesInHexahedron (const HexahedronID i) const override |
Returns for each index (between 0 and 12) the two vertex indices that are adjacent to that edge. More... | |
sofa::geometry::ElementType | getTopologyType () const override |
void | invalidate () |
virtual void | updateTetrahedra () |
virtual void | updateHexahedra () |
neighbors queries for Edge Topology | |
Returns the set of edges adjacent to a given vertex. | |
const EdgesAroundVertex & | getEdgesAroundVertex (PointID i) override |
Returns the set of edges adjacent to a given vertex. More... | |
const type::vector< EdgesAroundVertex > & | getEdgesAroundVertexArray () |
Returns the TrianglesAroundVertex array (i.e. provide the triangles indices adjacent to each vertex). More... | |
neighbors queries for Triangle Topology | |
Returns the set of triangle adjacent to a given vertex. | |
const TrianglesAroundVertex & | getTrianglesAroundVertex (PointID i) override |
Returns the set of triangles adjacent to a given vertex. More... | |
const type::vector< TrianglesAroundVertex > & | getTrianglesAroundVertexArray () |
Returns the TrianglesAroundVertex array (i.e. provide the triangles indices adjacent to each vertex). More... | |
const EdgesInTriangle & | getEdgesInTriangle (TriangleID i) override |
Returns the set of 3 edge indices of a given triangle. More... | |
const type::vector< EdgesInTriangle > & | getEdgesInTriangleArray () |
Returns the EdgesInTriangle array (i.e. provide the 3 edge indices for each triangle). More... | |
const TrianglesAroundEdge & | getTrianglesAroundEdge (EdgeID i) override |
Returns the set of triangle adjacent to a given edge. More... | |
const type::vector< TrianglesAroundEdge > & | getTrianglesAroundEdgeArray () |
Returns the TrianglesAroundEdge array (i.e. provide the triangles indices adjacent to each edge). More... | |
neighbors queries for Quad Topology | |
Returns the set of quad adjacent to a given vertex. | |
const QuadsAroundVertex & | getQuadsAroundVertex (PointID i) override |
Returns the set of quads adjacent to a given vertex. More... | |
const type::vector< QuadsAroundVertex > & | getQuadsAroundVertexArray () |
Returns the QuadsAroundVertex array (i.e. provide the quad indices adjacent to each vertex). More... | |
const EdgesInQuad & | getEdgesInQuad (QuadID i) override |
Returns the set of edges adjacent to a given quad. More... | |
const type::vector< EdgesInQuad > & | getEdgesInQuadArray () |
Returns the EdgesInQuadArray array (i.e. provide the 4 edge indices for each quad) More... | |
const QuadsAroundEdge & | getQuadsAroundEdge (EdgeID i) override |
Returns the set of quad adjacent to a given edge. More... | |
const type::vector< QuadsAroundEdge > & | getQuadsAroundEdgeArray () |
Returns the QuadsAroundEdge array (i.e. provide the quad indices adjacent to each edge). More... | |
neighbors queries for Tetrahedron Topology | |
Returns the set of tetrahedra adjacent to a given vertex. | |
const TetrahedraAroundVertex & | getTetrahedraAroundVertex (PointID i) override |
Returns the set of tetrahedra adjacent to a given vertex. More... | |
const type::vector< TetrahedraAroundVertex > & | getTetrahedraAroundVertexArray () |
Returns the TetrahedraAroundVertex array (i.e. provide the tetrahedron indices adjacent to each vertex). More... | |
const EdgesInTetrahedron & | getEdgesInTetrahedron (TetraID i) override |
Returns the set of edges adjacent to a given tetrahedron. More... | |
const type::vector< EdgesInTetrahedron > & | getEdgesInTetrahedronArray () |
Returns the EdgesInTetrahedron array (i.e. provide the 6 edge indices for each tetrahedron). More... | |
const TetrahedraAroundEdge & | getTetrahedraAroundEdge (EdgeID i) override |
Returns the set of tetrahedra adjacent to a given edge. More... | |
const type::vector< TetrahedraAroundEdge > & | getTetrahedraAroundEdgeArray () |
Returns the TetrahedraAroundEdge array (i.e. provide the tetrahedron indices adjacent to each edge). More... | |
const TrianglesInTetrahedron & | getTrianglesInTetrahedron (TetraID i) override |
Returns the set of triangles adjacent to a given tetrahedron. More... | |
const type::vector< TrianglesInTetrahedron > & | getTrianglesInTetrahedronArray () |
Returns the TrianglesInTetrahedron array (i.e. provide the 4 triangle indices for each tetrahedron). More... | |
const TetrahedraAroundTriangle & | getTetrahedraAroundTriangle (TriangleID i) override |
Returns the set of tetrahedra adjacent to a given triangle. More... | |
const type::vector< TetrahedraAroundTriangle > & | getTetrahedraAroundTriangleArray () |
Returns the TetrahedraAroundTriangle array (i.e. provide the tetrahedron indices adjacent to each triangle). More... | |
neighbors queries for Hexhaedron Topology | |
Returns the set of hexahedra adjacent to a given vertex. | |
const HexahedraAroundVertex & | getHexahedraAroundVertex (PointID i) override |
Returns the set of hexahedra adjacent to a given vertex. More... | |
const type::vector< HexahedraAroundVertex > & | getHexahedraAroundVertexArray () |
Returns the HexahedraAroundVertex array (i.e. provide the hexahedron indices adjacent to each vertex). More... | |
const EdgesInHexahedron & | getEdgesInHexahedron (HexaID i) override |
Returns the set of edges adjacent to a given hexahedron. More... | |
const type::vector< EdgesInHexahedron > & | getEdgesInHexahedronArray () |
Returns the EdgesInHexahedron array (i.e. provide the 12 edge indices for each hexahedron). More... | |
const HexahedraAroundEdge & | getHexahedraAroundEdge (EdgeID i) override |
Returns the set of hexahedra adjacent to a given edge. More... | |
const type::vector< HexahedraAroundEdge > & | getHexahedraAroundEdgeArray () |
Returns the HexahedraAroundEdge array (i.e. provide the hexahedron indices adjacent to each edge). More... | |
const QuadsInHexahedron & | getQuadsInHexahedron (HexaID i) override |
Returns the set of quads adjacent to a given hexahedron. More... | |
const type::vector< QuadsInHexahedron > & | getQuadsInHexahedronArray () |
Returns the QuadsInHexahedron array (i.e. provide the 8 quad indices for each hexahedron). More... | |
const HexahedraAroundQuad & | getHexahedraAroundQuad (QuadID i) override |
Returns the set of hexahedra adjacent to a given quad. More... | |
const type::vector< HexahedraAroundQuad > & | getHexahedraAroundQuadArray () |
Returns the HexahedraAroundQuad array (i.e. provide the hexahedron indices adjacent to each quad). More... | |
bool | checkConnexity () override |
Checks if the topology has only one connected component. More... | |
Size | getNumberOfConnectedComponent () override |
Returns the number of connected component. More... | |
virtual const type::vector< Index > | getConnectedElement (Index elem) override |
Returns the set of element indices connected to an input one (i.e. which can be reached by topological links) More... | |
virtual const type::vector< Index > | getElementAroundElement (Index elem) override |
Returns the set of element indices adjacent to a given element (i.e. sharing a link) More... | |
virtual const type::vector< Index > | getElementAroundElements (type::vector< Index > elems) override |
Returns the set of element indices adjacent to a given list of elements (i.e. sharing a link) More... | |
![]() | |
SOFA_ABSTRACT_CLASS (BaseMeshTopology, core::topology::Topology) | |
void | init () override |
Initialization method called at graph creation and modification, during top-down traversal. More... | |
virtual bool | load (const char *filename) |
virtual std::string | getFilename () const |
virtual Triangle | getLocalTrianglesInTetrahedron (const PointID i) const |
Returns for each index (between 0 and 3) the three local vertices indices that are adjacent to that triangle. More... | |
virtual Quad | getLocalQuadsInHexahedron (const PointID i) const |
Returns for each index (between 0 and 6) the four vertices indices that are adjacent to that quad. More... | |
virtual const sofa::type::vector< TriangleID > & | getTrianglesOnBorder () |
Returns the set of triangles on the border of the triangulation. More... | |
virtual const sofa::type::vector< EdgeID > & | getEdgesOnBorder () |
Returns the set of edges on the border of the triangulation. More... | |
virtual const sofa::type::vector< PointID > & | getPointsOnBorder () |
Returns the set of points on the border of the triangulation. More... | |
bool | insertInNode (objectmodel::BaseNode *node) override |
bool | removeInNode (objectmodel::BaseNode *node) override |
virtual Size | getNbTetras () |
virtual Size | getNbHexas () |
virtual Tetra | getTetra (TetraID i) |
virtual Hexa | getHexa (HexaID i) |
virtual const SeqTetrahedra & | getTetras () |
virtual const SeqHexahedra & | getHexas () |
virtual const VerticesAroundVertex | getVerticesAroundVertex (PointID i) |
Returns the set of vertices adjacent to a given vertex (i.e. sharing an edge) More... | |
const SeqLines & | getLines () |
Size | getNbLines () |
Line | getLine (LineID i) |
bool | hasPos () const override |
SReal | getPX (Index) const override |
SReal | getPY (Index) const override |
SReal | getPZ (Index) const override |
void | addLine (Index a, Index b) |
virtual bool | checkTopology () const |
Checks if the topology is coherent. More... | |
virtual std::list< const TopologyChange * >::const_iterator | beginChange () const |
Provides an iterator on the first element in the list of TopologyChange objects. More... | |
virtual std::list< const TopologyChange * >::const_iterator | endChange () const |
Provides an iterator on the last element in the list of TopologyChange objects. More... | |
virtual std::list< const TopologyChange * >::const_iterator | beginStateChange () const |
Provides an iterator on the first element in the list of StateChange objects. More... | |
virtual std::list< const TopologyChange * >::const_iterator | endStateChange () const |
Provides an iterator on the last element in the list of StateChange objects. More... | |
![]() | |
SOFA_CLASS (Topology, core::objectmodel::BaseObject) | |
bool | insertInNode (objectmodel::BaseNode *node) override |
bool | removeInNode (objectmodel::BaseNode *node) override |
![]() | |
SOFA_CLASS (BaseObject, Base) | |
virtual void | computeBBox (const core::ExecParams *, bool=false) |
void | setSrc (const std::string &v, std::vector< std::string > *attributeList=nullptr) |
Sets a source Object and parses it to collect dependent Data. More... | |
void | setSrc (const std::string &v, const BaseObject *loader, std::vector< std::string > *attributeList=nullptr) |
Base * | findLinkDestClass (const BaseClass *destType, const std::string &path, const BaseLink *link) override |
virtual std::string | getPathName () const override |
Return the full path name of this object. More... | |
SReal | getTime () const |
Current time. More... | |
const BaseContext * | getContext () const |
BaseContext * | getContext () |
const BaseObject * | getMaster () const |
BaseObject * | getMaster () |
const VecSlaves & | getSlaves () const |
BaseObject * | getSlave (const std::string &name) const |
virtual void | addSlave (BaseObject::SPtr s) |
virtual void | removeSlave (BaseObject::SPtr s) |
virtual void | handleEvent (Event *) |
Handle an event. More... | |
virtual void | handleTopologyChange () |
virtual void | handleTopologyChange (core::topology::Topology *t) |
void | parse (BaseObjectDescription *arg) override |
Parse the given description to assign values to this object's fields and potentially other parameters. More... | |
virtual void | bwdInit () |
Initialization method called at graph creation and modification, during bottom-up traversal. More... | |
virtual void | reinit () |
Update method called when variables used in precomputation are modified. More... | |
void | updateInternal () |
Update method called when variables (used to compute other internal variables) are modified. More... | |
virtual void | storeResetState () |
Save the initial state for later uses in reset() More... | |
virtual void | reset () |
Reset to initial state. More... | |
virtual void | cleanup () |
![]() | |
virtual const BaseClass * | getClass () const |
void | addDeprecatedAttribute (lifecycle::DeprecatedData *attribute) |
void | addUpdateCallback (const std::string &name, std::initializer_list< BaseData * > inputs, std::function< sofa::core::objectmodel::ComponentState(const DataTracker &)> function, std::initializer_list< BaseData * > outputs) |
void | addOutputsToCallback (const std::string &name, std::initializer_list< BaseData * > outputs) |
const std::string & | getName () const |
Accessor to the object name. More... | |
void | setName (const std::string &n) |
Set the name of this object. More... | |
void | setName (const std::string &n, int counter) |
Set the name of this object, adding an integer counter. More... | |
std::string | getTypeName () const |
Get the type name of this object (i.e. class and template types) More... | |
virtual std::string | getClassName () const |
Get the class name of this object. More... | |
virtual std::string | getTemplateName () const final |
Get the template type names (if any) used to instantiate this object. More... | |
std::string | getNameSpaceName () const |
Get the template type names (if any) used to instantiate this object. More... | |
void | setDefinitionSourceFileName (const std::string &sourceFileName) |
Set the source filename (where the component is implemented) More... | |
const std::string & | getDefinitionSourceFileName () const |
Get the source filename (where the component is implemented) More... | |
void | setDefinitionSourceFilePos (const int) |
Set the source location (where the component is implemented) More... | |
int | getDefinitionSourceFilePos () const |
Get the source location (where the component is implemented) More... | |
void | setInstanciationSourceFileName (const std::string &sourceFileName) |
const std::string & | getInstanciationSourceFileName () const |
void | setInstanciationSourceFilePos (const int) |
int | getInstanciationSourceFilePos () const |
void | addMessage (const sofa::helper::logging::Message &m) const |
size_t | countLoggedMessages (sofa::helper::logging::Message::TypeSet t=sofa::helper::logging::Message::AnyTypes) const |
const std::deque< sofa::helper::logging::Message > & | getLoggedMessages () const |
const std::string | getLoggedMessagesAsString (sofa::helper::logging::Message::TypeSet t=sofa::helper::logging::Message::AnyTypes) const |
void | clearLoggedMessages () const |
bool | notMuted () const |
const sofa::core::objectmodel::TagSet & | getTags () const |
Represents the subsets the object belongs to. More... | |
bool | hasTag (Tag t) const |
Return true if the object belong to the given subset. More... | |
void | addTag (Tag t) |
Add a subset qualification to the object. More... | |
void | removeTag (Tag t) |
Remove a subset qualification to the object. More... | |
ComponentState | getComponentState () const |
bool | isComponentStateValid () const |
virtual bool | parseField (const std::string &attribute, const std::string &value) |
Assign one field value (Data or Link) More... | |
virtual bool | hasField (const std::string &attribute) const |
Check if a given Data field or Link exists. More... | |
void | parseFields (const std::list< std::string > &str) |
Assign the field values stored in the given list of name + value pairs of strings. More... | |
virtual void | parseFields (const std::map< std::string, std::string * > &str) |
Assign the field values stored in the given map of name -> value pairs. More... | |
void | writeDatas (std::map< std::string, std::string * > &str) |
Write the current field values to the given map of name -> value pairs. More... | |
void | writeDatas (std::ostream &out, const std::string &separator=" ") |
BaseData * | findData (const std::string &name) const |
std::vector< BaseData * > | findGlobalField (const std::string &name) const |
Find data fields given a name: several can be found as we look into the alias map. More... | |
BaseLink * | findLink (const std::string &name) const |
std::vector< BaseLink * > | findLinks (const std::string &name) const |
Find link fields given a name: several can be found as we look into the alias map. More... | |
virtual void | updateLinks (bool logErrors=true) |
Update pointers in case the pointed-to objects have appeared. More... | |
template<class T > | |
BaseData::BaseInitData | initData (::sofa::core::objectmodel::Data< T > *field, const char *name, const char *help, ::sofa::core::objectmodel::BaseData::DataFlags dataflags) |
Helper method used to initialize a data field containing a value of type T. More... | |
template<class T > | |
BaseData::BaseInitData | initData (Data< T > *field, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
Helper method used to initialize a data field containing a value of type T. More... | |
template<class T > | |
Data< T >::InitData | initData (Data< T > *field, const T &value, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
Helper method used to initialize a data field containing a value of type T. More... | |
void | addData (BaseData *f, const std::string &name) |
void | addData (BaseData *f) |
void | removeData (BaseData *f) |
Remove a data field. More... | |
void | addAlias (BaseData *field, const char *alias) |
Add an alias to a Data. More... | |
void | addLink (BaseLink *l) |
Add a link. More... | |
void | addAlias (BaseLink *link, const char *alias) |
Add an alias to a Link. More... | |
const VecData & | getDataFields () const |
Accessor to the vector containing all the fields of this object. More... | |
const MapData & | getDataAliases () const |
Accessor to the map containing all the aliases of this object. More... | |
const VecLink & | getLinks () const |
Accessor to the vector containing all the fields of this object. More... | |
const MapLink & | getLinkAliases () const |
Accessor to the map containing all the aliases of this object. More... | |
virtual bool | findDataLinkDest (BaseData *&ptr, const std::string &path, const BaseLink *link) |
template<class T > | |
bool | findLinkDest (T *&ptr, const std::string &path, const BaseLink *link) |
Protected Member Functions | |
MeshTopology () | |
void | createEdgesAroundVertexArray () |
Creates the EdgeSetIndex. More... | |
void | createEdgesInTriangleArray () |
Creates the array of edge indices for each triangle. More... | |
void | createEdgesInQuadArray () |
Creates the array of edge indices for each quad. More... | |
void | createEdgesInTetrahedronArray () |
Creates the array of edge indices for each tetrahedron. More... | |
void | createEdgesInHexahedronArray () |
Creates the array of edge indices for each hexahedron. More... | |
void | createTrianglesAroundVertexArray () |
Creates the TrianglesAroundVertex Array. More... | |
void | createOrientedTrianglesAroundVertexArray () |
Creates the oriented Triangle Vertex Shell Array. More... | |
void | createTrianglesAroundEdgeArray () |
Creates the TrianglesAroundEdge Array. More... | |
void | createTrianglesInTetrahedronArray () |
Creates the array of triangle indices for each tetrahedron. More... | |
void | createQuadsAroundVertexArray () |
Creates the QuadsAroundVertex Array. More... | |
void | createOrientedQuadsAroundVertexArray () |
Creates the Quad Vertex Shell Array. More... | |
void | createQuadsAroundEdgeArray () |
Creates the quadsAroundEdge Array. More... | |
void | createQuadsInHexahedronArray () |
Creates the array of quad indices for each hexahedron. More... | |
void | createTetrahedraAroundVertexArray () |
Creates the TetrahedraAroundVertex Array. More... | |
void | createTetrahedraAroundEdgeArray () |
Creates the TetrahedraAroundEdge Array. More... | |
void | createTetrahedraAroundTriangleArray () |
Creates the TetrahedraAroundTriangle Array. More... | |
void | createHexahedraAroundVertexArray () |
Creates the HexahedraAroundVertex Array. More... | |
void | createHexahedraAroundEdgeArray () |
Creates the HexahedraAroundEdge Array. More... | |
void | createHexahedraAroundQuadArray () |
Creates the HexahedraAroundQuad Array. More... | |
![]() | |
BaseMeshTopology () | |
![]() | |
Topology () | |
virtual | ~Topology () |
![]() | |
BaseObject () | |
~BaseObject () override | |
virtual void | doUpdateInternal () |
Implementation of the internal update. More... | |
void | changeContextLink (BaseContext *before, BaseContext *&after) |
void | changeSlavesLink (BaseObject::SPtr ptr, std::size_t, bool add) |
This method insures that slaves objects have master and context links set correctly. More... | |
void | trackInternalData (const BaseData &data) |
Method called to add the Data to the DataTracker (listing the Data to track) More... | |
void | cleanTracker () |
bool | hasDataChanged (const BaseData &data) |
Method called to know if a tracked Data has changed. More... | |
![]() | |
Base () | |
virtual | ~Base () |
void | initData0 (BaseData *field, BaseData::BaseInitData &res, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
Helper method used by initData() More... | |
void | initData0 (BaseData *field, BaseData::BaseInitData &res, const char *name, const char *help, BaseData::DataFlags dataFlags) |
Helper method used by initData() More... | |
template<class T > | |
void | initData0 (Data< T > *field, typename Data< T >::InitData &res, const T &value, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
Helper method used by initData() More... | |
Additional Inherited Members | |
![]() | |
static constexpr EdgesInTriangle | InvalidEdgesInTriangles = type::makeHomogeneousArray<EdgesInTriangle>(sofa::InvalidID) |
static constexpr EdgesInQuad | InvalidEdgesInQuad = type::makeHomogeneousArray<EdgesInQuad>(sofa::InvalidID) |
static constexpr TrianglesInTetrahedron | InvalidTrianglesInTetrahedron = type::makeHomogeneousArray<TrianglesInTetrahedron>(sofa::InvalidID) |
static constexpr EdgesInTetrahedron | InvalidEdgesInTetrahedron = type::makeHomogeneousArray<EdgesInTetrahedron>(sofa::InvalidID) |
static constexpr QuadsInHexahedron | InvalidQuadsInHexahedron = type::makeHomogeneousArray<QuadsInHexahedron>(sofa::InvalidID) |
static constexpr EdgesInHexahedron | InvalidEdgesInHexahedron = type::makeHomogeneousArray<EdgesInHexahedron>(sofa::InvalidID) |
![]() | |
static constexpr Index | InvalidID = sofa::InvalidID |
static const auto | InvalidSet = sofa::topology::InvalidSet |
static constexpr auto | InvalidEdge = sofa::topology::InvalidEdge |
static constexpr auto | InvalidTriangle = sofa::topology::InvalidTriangle |
static constexpr auto | InvalidQuad = sofa::topology::InvalidQuad |
static constexpr auto | InvalidTetrahedron = sofa::topology::InvalidTetrahedron |
static constexpr auto | InvalidPentahedron = sofa::topology::InvalidPentahedron |
static constexpr auto | InvalidHexahedron = sofa::topology::InvalidHexahedron |
static constexpr auto | InvalidPyramid = sofa::topology::InvalidPyramid |
![]() | |
template<class T > | |
static bool | canCreate (T *, BaseContext *, BaseObjectDescription *) |
Pre-construction check method called by ObjectFactory. More... | |
template<class T > | |
static T::SPtr | create (T *, BaseContext *context, BaseObjectDescription *arg) |
Construction method called by ObjectFactory. More... | |
![]() | |
static const BaseClass * | GetClass () |
template<class T > | |
static std::string | shortName (const T *ptr=nullptr, BaseObjectDescription *=nullptr) |
Data< bool > sofa::component::topology::container::constant::MeshTopology::_drawEdges |
if true, draw the topology Edges
Data< bool > sofa::component::topology::container::constant::MeshTopology::_drawHexa |
if true, draw the topology hexahedra
Data< bool > sofa::component::topology::container::constant::MeshTopology::_drawQuads |
if true, draw the topology Quads
Data< bool > sofa::component::topology::container::constant::MeshTopology::_drawTetra |
if true, draw the topology Tetrahedra
Data< bool > sofa::component::topology::container::constant::MeshTopology::_drawTriangles |
if true, draw the topology Triangles
|
protected |
the array that stores the set of edge-vertex shells, ie for each vertex gives the set of adjacent edges
|
protected |
provides the set of edges for each hexahedron
|
protected |
provides the 4 edges in each quad
|
protected |
provides the set of edges for each tetrahedron
|
protected |
the array that stores the set of edge-triangle shells, ie for each triangle gives the 3 adjacent edges
|
protected |
for each edge provides the set of tetrahedra adjacent to that edge
|
protected |
for each quad provides the set of hexahedrons adjacent to that quad
|
protected |
provides the set of hexahedrons for each vertex
|
protected |
the array that stores the set of oriented edge-vertex shells, ie for each vertex gives the set of adjacent edges
|
protected |
for each vertex provides the set of oriented quads adjacent to that vertex
|
protected |
for each vertex provides the set of oriented triangles adjacent to that vertex
|
protected |
for each edge provides the set of quads adjacent to that edge
|
protected |
for each vertex provides the set of quads adjacent to that vertex
|
protected |
provides the set of quads adjacents to each hexahedron
|
protected |
for each edge provides the set of tetrahedra adjacent to that edge
|
protected |
for each triangle provides the set of tetrahedrons adjacent to that triangle
|
protected |
provides the set of tetrahedrons adjacents to each vertex
|
protected |
for each edge provides the set of triangles adjacent to that edge
|
protected |
for each vertex provides the set of triangles adjacent to that vertex
|
protected |
provides the set of triangles adjacent to each tetrahedron
|
protected |
Type of higher topology element contains in this container.
|
protected |
int sofa::component::topology::container::constant::MeshTopology::revision |
List of edge indices.
Data<SeqHexahedra> sofa::component::topology::container::constant::MeshTopology::seqHexahedra |
List of hexahedron indices.
List of point positions.
List of quad indices.
Data<SeqTetrahedra> sofa::component::topology::container::constant::MeshTopology::seqTetrahedra |
List of tetrahedron indices.
Data<SeqTriangles> sofa::component::topology::container::constant::MeshTopology::seqTriangles |
List of triangle indices.
List of uv coordinates.
|
protected |
|
protected |
|
protected |
|
overridevirtual |
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Checks if the topology has only one connected component.
Get information about connexity of the mesh
Get information about connexity of the mesh
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Procedural creation methods
Reimplemented from sofa::core::topology::BaseMeshTopology.
int sofa::component::topology::container::constant::MeshTopology::computeRelativeOrientationInQuad | ( | const PointID | ind_p0, |
const PointID | ind_p1, | ||
const PointID | ind_q | ||
) |
int sofa::component::topology::container::constant::MeshTopology::computeRelativeOrientationInTri | ( | const PointID | ind_p0, |
const PointID | ind_p1, | ||
const PointID | ind_t | ||
) |
|
protected |
Creates the EdgeSetIndex.
This function is only called if the EdgesAroundVertex member is required. m_edgesAroundVertex[i] contains the indices of all edges having the ith DOF as one of their ends.
|
protected |
Creates the array of edge indices for each hexahedron.
This function is only called if the EdgesInHexahedron array is required. m_edgesInHexahedron[i] contains the 12 indices of the 12 edges of each hexahedron.
|
protected |
Creates the array of edge indices for each quad.
This function is only called if the EdgesInQuad array is required. m_edgesInQuad[i] contains the 4 indices of the 4 edges composing the ith quad.
|
protected |
Creates the array of edge indices for each tetrahedron.
This function is only called if the EdgesInTetrahedrone array is required. m_edgesInTetrahedron[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
|
protected |
Creates the array of edge indices for each triangle.
This function is only called if the EdgesInTriangle array is required. m_edgesInTriangle[i] contains the 3 indices of the 3 edges composing the ith triangle.
|
protected |
Creates the HexahedraAroundEdge Array.
This function is only called if the HexahedraAroundEdge array is required. m_hexahedraAroundEdge[i] contains the indices of all hexahedra adjacent to the ith edge.
|
protected |
Creates the HexahedraAroundQuad Array.
This function is only called if the HexahedraAroundQuad array is required. m_hexahedraAroundQuad[i] contains the indices of all hexahedra adjacent to the ith quad.
|
protected |
Creates the HexahedraAroundVertex Array.
This function is only called if the HexahedraAroundVertex array is required. m_hexahedraAroundVertex[i] contains the indices of all hexahedra adjacent to the ith vertex.
|
protected |
Creates the Quad Vertex Shell Array.
This function is only called if the QuadsAroundVertex array is required. m_quadsAroundVertex[i] contains the indices of all quads adjacent to the ith vertex
|
protected |
Creates the oriented Triangle Vertex Shell Array.
This function is only called if the OrientedTrianglesAroundVertex array is required. m_orientedTrianglesAroundVertex[i] contains the indices of all triangles adjacent to the ith vertex
|
protected |
Creates the quadsAroundEdge Array.
This function is only called if the QuadsAroundVertex array is required. m_quadsAroundEdge[i] contains the indices of all quads adjacent to the ith edge
|
protected |
Creates the QuadsAroundVertex Array.
This function is only called if the QuadsAroundVertex array is required. m_quadsAroundVertex[i] contains the indices of all quads adjacent to the ith vertex.
|
protected |
Creates the array of quad indices for each hexahedron.
This function is only called if the QuadsInHexahedron array is required. m_quadsInHexahedron[i] contains the 6 indices of the 6 quads of each hexahedron.
|
protected |
Creates the TetrahedraAroundEdge Array.
This function is only called if the TetrahedraAroundEdge array is required. m_tetrahedraAroundEdge[i] contains the indices of all tetrahedra adjacent to the ith edge.
|
protected |
Creates the TetrahedraAroundTriangle Array.
This function is only called if the TetrahedraAroundTriangle array is required. m_tetrahedraAroundTriangle[i] contains the indices of all tetrahedra adjacent to the ith triangle.
|
protected |
Creates the TetrahedraAroundVertex Array.
This function is only called if the TetrahedraAroundVertex array is required. m_tetrahedraAroundVertex[i] contains the indices of all tetrahedra adjacent to the ith vertex.
|
protected |
Creates the TrianglesAroundEdge Array.
This function is only called if the TrianglesAroundVertex array is required. m_trianglesAroundEdge[i] contains the indices of all triangles adjacent to the ith edge.
|
protected |
Creates the TrianglesAroundVertex Array.
This function is only called if the TrianglesAroundVertex array is required. m_trianglesAroundVertex[i] contains the indices of all triangles adjacent to the ith DOF.
|
protected |
Creates the array of triangle indices for each tetrahedron.
This function is only called if the TrianglesInTetrahedron array is required. m_trianglesInTetrahedron[i] contains the 4 indices of the 4 triangles composing the ith tetrahedron.
|
overridevirtual |
Render internal data of this object, for debugging purposes.
Reimplemented from sofa::core::objectmodel::BaseObject.
|
overridevirtual |
Returns the set of element indices connected to an input one (i.e. which can be reached by topological links)
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns the index of the edge joining vertex v1 and vertex v2; returns InvalidID if no edge exists.
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
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.
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns the index (either 0, 1 ,2, 3) of the edge whose global index is edgeIndex. Returns -1 if none.
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns the index (either 0, 1 ,2 ,3, 4, 5) of the edge whose global index is edgeIndex. Returns -1 if none.
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns the index (either 0, 1 ,2) of the edge whose global index is edgeIndex. Returns -1 if none.
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Complete sequence accessors
Implements sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns the set of edges adjacent to a given vertex.
Reimplemented from sofa::core::topology::BaseMeshTopology.
const vector< MeshTopology::EdgesAroundVertex > & sofa::component::topology::container::constant::MeshTopology::getEdgesAroundVertexArray | ( | ) |
Returns the TrianglesAroundVertex array (i.e. provide the triangles indices adjacent to each vertex).
|
overridevirtual |
Returns the set of edges adjacent to a given hexahedron.
Reimplemented from sofa::core::topology::BaseMeshTopology.
const vector< MeshTopology::EdgesInHexahedron > & sofa::component::topology::container::constant::MeshTopology::getEdgesInHexahedronArray | ( | ) |
Returns the EdgesInHexahedron array (i.e. provide the 12 edge indices for each hexahedron).
|
overridevirtual |
Returns the set of edges adjacent to a given quad.
Reimplemented from sofa::core::topology::BaseMeshTopology.
const vector< MeshTopology::EdgesInQuad > & sofa::component::topology::container::constant::MeshTopology::getEdgesInQuadArray | ( | ) |
Returns the EdgesInQuadArray array (i.e. provide the 4 edge indices for each quad)
|
overridevirtual |
Returns the set of edges adjacent to a given tetrahedron.
Reimplemented from sofa::core::topology::BaseMeshTopology.
const vector< MeshTopology::EdgesInTetrahedron > & sofa::component::topology::container::constant::MeshTopology::getEdgesInTetrahedronArray | ( | ) |
Returns the EdgesInTetrahedron array (i.e. provide the 6 edge indices for each tetrahedron).
|
overridevirtual |
Returns the set of 3 edge indices of a given triangle.
Reimplemented from sofa::core::topology::BaseMeshTopology.
const vector< MeshTopology::EdgesInTriangle > & sofa::component::topology::container::constant::MeshTopology::getEdgesInTriangleArray | ( | ) |
Returns the EdgesInTriangle array (i.e. provide the 3 edge indices for each triangle).
|
overridevirtual |
Returns the set of element indices adjacent to a given element (i.e. sharing a link)
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns the set of element indices adjacent to a given list of elements (i.e. sharing a link)
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Implements sofa::core::topology::BaseMeshTopology.
Reimplemented in sofa::component::topology::container::grid::SparseGridTopology.
|
overridevirtual |
Returns the set of hexahedra adjacent to a given edge.
Reimplemented from sofa::core::topology::BaseMeshTopology.
const vector< MeshTopology::HexahedraAroundEdge > & sofa::component::topology::container::constant::MeshTopology::getHexahedraAroundEdgeArray | ( | ) |
Returns the HexahedraAroundEdge array (i.e. provide the hexahedron indices adjacent to each edge).
|
overridevirtual |
Returns the set of hexahedra adjacent to a given quad.
Reimplemented from sofa::core::topology::BaseMeshTopology.
const vector< MeshTopology::HexahedraAroundQuad > & sofa::component::topology::container::constant::MeshTopology::getHexahedraAroundQuadArray | ( | ) |
Returns the HexahedraAroundQuad array (i.e. provide the hexahedron indices adjacent to each quad).
|
overridevirtual |
Returns the set of hexahedra adjacent to a given vertex.
Reimplemented from sofa::core::topology::BaseMeshTopology.
const vector< MeshTopology::HexahedraAroundVertex > & sofa::component::topology::container::constant::MeshTopology::getHexahedraAroundVertexArray | ( | ) |
Returns the HexahedraAroundVertex array (i.e. provide the hexahedron indices adjacent to each vertex).
|
overridevirtual |
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns the index of the hexahedron given eight vertex indices; returns InvalidID if none.
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns for each index (between 0 and 12) the two vertex indices that are adjacent to that edge.
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns for each index (between 0 and 5) the two vertex indices that are adjacent to that edge.
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Random accessors
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Reimplemented from sofa::core::topology::BaseMeshTopology.
Reimplemented in sofa::component::topology::container::grid::SparseGridTopology, and sofa::component::topology::container::grid::GridTopology.
|
overridevirtual |
Reimplemented from sofa::core::topology::Topology.
Reimplemented in sofa::component::topology::container::grid::SparseGridTopology.
|
overridevirtual |
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
virtual |
|
overridevirtual |
Returns the number of connected component.
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
virtual |
Returns the set of edges adjacent to a given vertex.
|
virtual |
Returns the set of oriented quad adjacent to a given vertex.
|
virtual |
Returns the set of oriented triangle adjacent to a given vertex.
|
overridevirtual |
Reimplemented from sofa::core::topology::Topology.
Reimplemented in sofa::component::topology::container::grid::GridTopology.
|
overridevirtual |
Reimplemented from sofa::core::topology::Topology.
Reimplemented in sofa::component::topology::container::grid::GridTopology.
|
overridevirtual |
Reimplemented from sofa::core::topology::Topology.
Reimplemented in sofa::component::topology::container::grid::GridTopology.
|
overridevirtual |
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns the index of the quad joining vertex v1, v2, v3 and v4; returns InvalidID if none.
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns the index (either 0, 1 ,2 ,3, 4, 5) of the quad whose global index is quadIndex. Returns -1 if none.
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Implements sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns the set of quad adjacent to a given edge.
Reimplemented from sofa::core::topology::BaseMeshTopology.
const vector< MeshTopology::QuadsAroundEdge > & sofa::component::topology::container::constant::MeshTopology::getQuadsAroundEdgeArray | ( | ) |
Returns the QuadsAroundEdge array (i.e. provide the quad indices adjacent to each edge).
|
overridevirtual |
Returns the set of quads adjacent to a given vertex.
Returns the set of quad adjacent to a given vertex.
Reimplemented from sofa::core::topology::BaseMeshTopology.
const vector< MeshTopology::QuadsAroundVertex > & sofa::component::topology::container::constant::MeshTopology::getQuadsAroundVertexArray | ( | ) |
Returns the QuadsAroundVertex array (i.e. provide the quad indices adjacent to each vertex).
|
overridevirtual |
Returns the set of quads adjacent to a given hexahedron.
Reimplemented from sofa::core::topology::BaseMeshTopology.
const vector< MeshTopology::QuadsInHexahedron > & sofa::component::topology::container::constant::MeshTopology::getQuadsInHexahedronArray | ( | ) |
Returns the QuadsInHexahedron array (i.e. provide the 8 quad indices for each hexahedron).
|
inlineoverridevirtual |
get the current revision of this mesh (use to detect changes)
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Implements sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns the set of tetrahedra adjacent to a given edge.
Reimplemented from sofa::core::topology::BaseMeshTopology.
const vector< MeshTopology::TetrahedraAroundEdge > & sofa::component::topology::container::constant::MeshTopology::getTetrahedraAroundEdgeArray | ( | ) |
Returns the TetrahedraAroundEdge array (i.e. provide the tetrahedron indices adjacent to each edge).
|
overridevirtual |
Returns the set of tetrahedra adjacent to a given triangle.
Reimplemented from sofa::core::topology::BaseMeshTopology.
const vector< MeshTopology::TetrahedraAroundTriangle > & sofa::component::topology::container::constant::MeshTopology::getTetrahedraAroundTriangleArray | ( | ) |
Returns the TetrahedraAroundTriangle array (i.e. provide the tetrahedron indices adjacent to each triangle).
|
overridevirtual |
Returns the set of tetrahedra adjacent to a given vertex.
Reimplemented from sofa::core::topology::BaseMeshTopology.
const vector< MeshTopology::TetrahedraAroundVertex > & sofa::component::topology::container::constant::MeshTopology::getTetrahedraAroundVertexArray | ( | ) |
Returns the TetrahedraAroundVertex array (i.e. provide the tetrahedron indices adjacent to each vertex).
|
overridevirtual |
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns the index of the tetrahedron given four vertex indices; returns InvalidID if none.
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
inlineoverridevirtual |
\ brief returns the topologyType
Implements sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns the indices of a triangle given three vertex indices : returns InvalidID if none
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns the index (either 0, 1 ,2 ,3) of the triangle whose global index is triangleIndex. Returns -1 if none.
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Implements sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns the set of triangle adjacent to a given edge.
Reimplemented from sofa::core::topology::BaseMeshTopology.
const vector< MeshTopology::TrianglesAroundEdge > & sofa::component::topology::container::constant::MeshTopology::getTrianglesAroundEdgeArray | ( | ) |
Returns the TrianglesAroundEdge array (i.e. provide the triangles indices adjacent to each edge).
|
overridevirtual |
Returns the set of triangles adjacent to a given vertex.
Returns the set of triangle adjacent to a given vertex.
Reimplemented from sofa::core::topology::BaseMeshTopology.
const vector< MeshTopology::TrianglesAroundVertex > & sofa::component::topology::container::constant::MeshTopology::getTrianglesAroundVertexArray | ( | ) |
Returns the TrianglesAroundVertex array (i.e. provide the triangles indices adjacent to each vertex).
|
overridevirtual |
Returns the set of triangles adjacent to a given tetrahedron.
Reimplemented from sofa::core::topology::BaseMeshTopology.
const vector< MeshTopology::TrianglesInTetrahedron > & sofa::component::topology::container::constant::MeshTopology::getTrianglesInTetrahedronArray | ( | ) |
Returns the TrianglesInTetrahedron array (i.e. provide the 4 triangle indices for each tetrahedron).
|
virtual |
|
virtual |
|
overridevirtual |
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.
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns the index (either 0, 1 ,2 or 3) of the vertex whose global index is vertexIndex. Returns -1 if none.
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns the index (either 0, 1 ,2 or 3) of the vertex whose global index is vertexIndex. Returns -1 if none.
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Returns the index (either 0, 1 ,2 or 3) of the vertex whose global index is vertexIndex. Returns -1 if none.
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
inlinevirtual |
|
overridevirtual |
Reimplemented from sofa::core::topology::Topology.
Reimplemented in sofa::component::topology::container::grid::GridTopology, and sofa::component::topology::container::grid::SparseGridTopology.
|
inlinevirtual |
|
inlinevirtual |
|
overridevirtual |
Initialization method called at graph creation and modification, during top-down traversal.
Reimplemented from sofa::core::objectmodel::BaseObject.
Reimplemented in sofa::component::topology::container::grid::GridTopology, sofa::component::topology::container::grid::RegularGridTopology, sofa::component::topology::container::grid::SparseGridMultipleTopology, sofa::component::topology::container::grid::SparseGridRamificationTopology, and sofa::component::topology::container::grid::SparseGridTopology.
void sofa::component::topology::container::constant::MeshTopology::invalidate | ( | ) |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
overridevirtual |
Will change order of vertices in triangle: t[1] <=> t[2].
Reimplemented from sofa::core::topology::BaseMeshTopology.
|
overridevirtual |
Reimplemented from sofa::core::topology::Topology.
sofa::component::topology::container::constant::MeshTopology::SOFA_CLASS | ( | MeshTopology | , |
core::topology::BaseMeshTopology | |||
) |
|
virtual |
|
virtual |