#include <MeshTopology.h>
Classes | |
class | PrimitiveUpdate |
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... | |
void | computeCrossElementBuffers () override |
Method called by component Init method. Will create all the topology buffers. 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... | |
![]() | |
virtual | ~IntrusiveObject ()=default |
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) |
sofa::core::objectmodel::lifecycle::RenamedData<bool> sofa::component::topology::container::constant::MeshTopology::_drawEdges |
sofa::core::objectmodel::lifecycle::RenamedData<bool> sofa::component::topology::container::constant::MeshTopology::_drawHexa |
sofa::core::objectmodel::lifecycle::RenamedData<bool> sofa::component::topology::container::constant::MeshTopology::_drawQuads |
sofa::core::objectmodel::lifecycle::RenamedData<bool> sofa::component::topology::container::constant::MeshTopology::_drawTetra |
sofa::core::objectmodel::lifecycle::RenamedData<bool> sofa::component::topology::container::constant::MeshTopology::_drawTriangles |
Option to call method computeCrossElementBuffers. False by default.
if true, draw the topology Edges
if true, draw the topology hexahedra
if true, draw the topology Quads
if true, draw the topology Tetrahedra
if true, draw the topology Triangles
List of edge indices.
Data<SeqHexahedra> sofa::component::topology::container::constant::MeshTopology::d_seqHexahedra |
List of hexahedron indices.
List of point positions.
List of quad indices.
Data<SeqTetrahedra> sofa::component::topology::container::constant::MeshTopology::d_seqTetrahedra |
List of tetrahedron indices.
Data<SeqTriangles> sofa::component::topology::container::constant::MeshTopology::d_seqTriangles |
List of triangle indices.
List of uv coordinates.
|
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 |
sofa::core::objectmodel::lifecycle::RenamedData<SeqEdges> sofa::component::topology::container::constant::MeshTopology::seqEdges |
sofa::core::objectmodel::lifecycle::RenamedData<SeqHexahedra> sofa::component::topology::container::constant::MeshTopology::seqHexahedra |
sofa::core::objectmodel::lifecycle::RenamedData< SeqPoints > sofa::component::topology::container::constant::MeshTopology::seqPoints |
sofa::core::objectmodel::lifecycle::RenamedData<SeqQuads> sofa::component::topology::container::constant::MeshTopology::seqQuads |
sofa::core::objectmodel::lifecycle::RenamedData<SeqTetrahedra> sofa::component::topology::container::constant::MeshTopology::seqTetrahedra |
sofa::core::objectmodel::lifecycle::RenamedData<SeqTriangles> sofa::component::topology::container::constant::MeshTopology::seqTriangles |
sofa::core::objectmodel::lifecycle::RenamedData<SeqUV> sofa::component::topology::container::constant::MeshTopology::seqUVs |
|
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.
|
overridevirtual |
Method called by component Init method. Will create all the topology buffers.
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::SparseGridTopology, and sofa::component::topology::container::grid::GridTopology.
|
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::SparseGridTopology, sofa::component::topology::container::grid::SparseGridRamificationTopology, sofa::component::topology::container::grid::SparseGridMultipleTopology, sofa::component::topology::container::grid::RegularGridTopology, and sofa::component::topology::container::grid::GridTopology.
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 |