#include <TetrahedronSetTopologyModifier.h>
A class that modifies the topology by adding and removing tetrahedra
Public Member Functions | |
SOFA_CLASS (TetrahedronSetTopologyModifier, TriangleSetTopologyModifier) | |
void | init () override |
Initialization method called at graph creation and modification, during top-down traversal. More... | |
void | reinit () override |
Update method called when variables used in precomputation are modified. More... | |
virtual void | addTetrahedra (const sofa::type::vector< Tetrahedron > &tetrahedra) |
add a set of tetrahedra More... | |
virtual void | addTetrahedra (const sofa::type::vector< Tetrahedron > &tetrahedra, const sofa::type::vector< sofa::type::vector< TetrahedronID > > &ancestors, const sofa::type::vector< sofa::type::vector< SReal > > &baryCoefs) |
add a set of tetrahedra More... | |
void | addTetrahedronProcess (Tetrahedron e) |
Add a tetrahedron. More... | |
virtual void | removeTetrahedra (const sofa::type::vector< TetrahedronID > &tetrahedraIds, const bool removeIsolatedItems=true) |
Remove a set of tetrahedra. More... | |
void | removeItems (const sofa::type::vector< TetrahedronID > &items) override |
Generic method to remove a list of items. More... | |
void | RemoveTetraBall (TetrahedronID ind_ta, TetrahedronID ind_tb) |
Removes all tetrahedra in the ball of center "ind_ta" and of radius dist(ind_ta, ind_tb) More... | |
![]() | |
SOFA_CLASS (TriangleSetTopologyModifier, EdgeSetTopologyModifier) | |
void | init () override |
Initialization method called at graph creation and modification, during top-down traversal. More... | |
void | reinit () override |
Update method called when variables used in precomputation are modified. More... | |
virtual void | addTriangles (const sofa::type::vector< Triangle > &triangles) |
add a set of triangles More... | |
virtual void | addTriangles (const sofa::type::vector< Triangle > &triangles, const sofa::type::vector< sofa::type::vector< TriangleID > > &ancestors, const sofa::type::vector< sofa::type::vector< SReal > > &baryCoefs) |
add a set of triangles More... | |
void | addTriangleProcess (Triangle t) |
Effectively add a triangle to the topology. More... | |
void | removeItems (const sofa::type::vector< TriangleID > &items) override |
Generic method to remove a list of items. More... | |
virtual void | removeTriangles (const sofa::type::vector< TriangleID > &triangleIds, const bool removeIsolatedEdges, const bool removeIsolatedPoints) |
Remove a set of triangles. More... | |
virtual void | addRemoveTriangles (const sofa::Size nTri2Add, const sofa::type::vector< Triangle > &triangles2Add, const sofa::type::vector< TriangleID > &trianglesIndex2Add, const sofa::type::vector< sofa::type::vector< TriangleID > > &ancestors, const sofa::type::vector< sofa::type::vector< SReal > > &baryCoefs, sofa::type::vector< TriangleID > &trianglesIndex2remove) |
Add and remove a subset of triangles. Eventually remove isolated edges and vertices. More... | |
virtual int | InciseAlongEdge (EdgeID edge, int *createdPoints=nullptr) |
Duplicates the given edge. Only works if at least one of its points is adjacent to a border. More... | |
![]() | |
SOFA_CLASS (EdgeSetTopologyModifier, PointSetTopologyModifier) | |
virtual void | addEdges (const sofa::type::vector< Edge > &edges) |
add a set of edges More... | |
virtual void | addEdges (const sofa::type::vector< Edge > &edges, const sofa::type::vector< sofa::type::vector< EdgeID > > &ancestors, const sofa::type::vector< sofa::type::vector< SReal > > &baryCoefs) |
add a set of edges More... | |
virtual void | addEdges (const sofa::type::vector< Edge > &edges, const sofa::type::vector< core::topology::EdgeAncestorElem > &ancestorElems) |
add a set of edges More... | |
void | addEdgeProcess (Edge e) |
Effectively add an edge. More... | |
virtual void | swapEdgesProcess (const sofa::type::vector< sofa::type::vector< EdgeID > > &edgesPairs) |
Swap the edges. More... | |
virtual void | fuseEdgesProcess (const sofa::type::vector< sofa::type::vector< EdgeID > > &edgesPairs, const bool removeIsolatedPoints=true) |
Fuse the edges. More... | |
virtual void | splitEdgesProcess (sofa::type::vector< EdgeID > &indices, const bool removeIsolatedPoints=true) |
Split the edges. More... | |
virtual void | splitEdgesProcess (sofa::type::vector< EdgeID > &indices, const sofa::type::vector< sofa::type::vector< SReal > > &baryCoefs, const bool removeIsolatedPoints=true) |
Split the edges. More... | |
virtual void | removeEdges (const sofa::type::vector< EdgeID > &edgeIds, const bool removeIsolatedPoints=true) |
Remove a set of edges. More... | |
virtual void | swapEdges (const sofa::type::vector< sofa::type::vector< EdgeID > > &edgesPairs) |
Swap a list of pair edges, replacing each edge pair ((p11, p12), (p21, p22)) by the edge pair ((p11, p21), (p12, p22)) More... | |
virtual void | fuseEdges (const sofa::type::vector< sofa::type::vector< EdgeID > > &edgesPairs, const bool removeIsolatedPoints=true) |
Fuse a list of pair edges, replacing each edge pair ((p11, p12), (p21, p22)) by one edge (p11, p22) More... | |
virtual void | splitEdges (sofa::type::vector< EdgeID > &indices, const bool removeIsolatedPoints=true) |
Split an array of edges, replacing each edge (p1, p2) by two edges (p1, p3) and (p3, p2) where p3 is the new vertex On each edge, a vertex is created based on its barycentric coordinates. More... | |
virtual void | splitEdges (sofa::type::vector< EdgeID > &indices, const sofa::type::vector< sofa::type::vector< SReal > > &baryCoefs, const bool removeIsolatedPoints=true) |
Split an array of edges, replacing each edge (p1, p2) by two edges (p1, p3) and (p3, p2) where p3 is the new vertex On each edge, a vertex is created based on its barycentric coordinates. More... | |
virtual void | resortCuthillMckee (sofa::type::vector< int > &inverse_permutation) |
Gives the optimal vertex permutation according to the Reverse CuthillMckee algorithm (use BOOST GRAPH LIBRARY) More... | |
virtual bool | removeConnectedComponents (EdgeID elemID) |
Given an element indice, it will remove all the connected component in which this element belongs to. Warning: if there is only one connected component in the model. All the object will be removed. More... | |
virtual bool | removeConnectedElements (EdgeID elemID) |
Given an element indice, it will remove all elements directly connected to the input one. More... | |
virtual bool | removeIsolatedElements () |
If several connected components are detected, it will keep only the biggest one and remove all the rest. Warning: if two connected components have the same number of element and are the biggest. It will keep the first one. More... | |
virtual bool | removeIsolatedElements (sofa::Size scaleElem) |
If several connected components are detected, it will remove all connected component with less than a given number of elements. More... | |
![]() | |
SOFA_CLASS (PointSetTopologyModifier, core::topology::TopologyModifier) | |
virtual void | swapPoints (const Index i1, const Index i2) |
Swap points i1 and i2. More... | |
virtual void | renumberPoints (const sofa::type::vector< PointID > &index, const sofa::type::vector< PointID > &inv_index, const bool renumberDOF=true) |
Generic method for points renumbering. More... | |
virtual void | addPoints (const sofa::Size nPoints, const bool addDOF=true) |
Add a set of points. More... | |
virtual void | addPoints (const sofa::Size nPoints, const sofa::type::vector< sofa::type::vector< PointID > > &ancestors, const sofa::type::vector< sofa::type::vector< SReal > > &coefs, const bool addDOF=true) |
Add a set of points. More... | |
virtual void | addPoints (const sofa::Size nPoints, const sofa::type::vector< core::topology::PointAncestorElem > &ancestorElems, const bool addDOF=true) |
Add a set of points according to their ancestors topology elements. More... | |
virtual void | removePoints (sofa::type::vector< PointID > &indices, const bool removeDOF=true) |
Generic method to remove a list of point. More... | |
void | propagateStateChanges () override |
Called by a topology to warn the Mechanical Object component that points have been added or will be removed. More... | |
void | notifyEndingEvent () override |
![]() | |
SOFA_CLASS (TopologyModifier, BaseTopologyObject) | |
void | init () override |
Initialization method called at graph creation and modification, during top-down traversal. More... | |
![]() | |
SOFA_CLASS (BaseTopologyObject, core::objectmodel::BaseObject) | |
bool | insertInNode (objectmodel::BaseNode *node) override |
bool | removeInNode (objectmodel::BaseNode *node) override |
![]() | |
SOFA_CLASS (BaseObject, Base) | |
virtual void | draw (const core::visual::VisualParams *) |
Render internal data of this object, for debugging purposes. More... | |
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... | |
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 |
bool | isComponentStateInvalid () const |
SOFA_ATTRIBUTE_DEPRECATED__TOBASECONSTRAINT () virtual const behavior | |
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)=delete |
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 | |
TetrahedronSetTopologyModifier () | |
~TetrahedronSetTopologyModifier () override | |
void | addTetrahedraWarning (const size_t nTetrahedra, const sofa::type::vector< Tetrahedron > &tetrahedraList, const sofa::type::vector< TetrahedronID > &tetrahedraIndexList) |
Sends a message to warn that some tetrahedra were added in this topology. More... | |
void | addTetrahedraWarning (const size_t nTetrahedra, const sofa::type::vector< Tetrahedron > &tetrahedraList, const sofa::type::vector< TetrahedronID > &tetrahedraIndexList, const sofa::type::vector< sofa::type::vector< TetrahedronID > > &ancestors, const sofa::type::vector< sofa::type::vector< SReal > > &baryCoefs) |
Sends a message to warn that some tetrahedra were added in this topology. More... | |
virtual void | addTetrahedraProcess (const sofa::type::vector< Tetrahedron > &tetrahedra) |
Actually Add some tetrahedra to this topology. More... | |
void | removeTetrahedraWarning (sofa::type::vector< TetrahedronID > &tetrahedra) |
Sends a message to warn that some tetrahedra are about to be deleted. More... | |
virtual void | removeTetrahedraProcess (const sofa::type::vector< TetrahedronID > &indices, const bool removeIsolatedItems=false) |
Remove a subset of tetrahedra. More... | |
void | addTrianglesProcess (const sofa::type::vector< Triangle > &triangles) override |
Actually Add some triangles to this topology. More... | |
void | removeTrianglesProcess (const sofa::type::vector< TriangleID > &indices, const bool removeIsolatedEdges=false, const bool removeIsolatedPoints=false) override |
Remove a subset of triangles. More... | |
void | addEdgesProcess (const sofa::type::vector< Edge > &edges) override |
Add some edges to this topology. More... | |
void | removeEdgesProcess (const sofa::type::vector< EdgeID > &indices, const bool removeIsolatedItems=false) override |
Remove a subset of edges. More... | |
void | addPointsProcess (const sofa::Size nPoints) override |
Add some points to this topology. More... | |
void | removePointsProcess (const sofa::type::vector< PointID > &indices, const bool removeDOF=true) override |
Remove a subset of points. More... | |
void | renumberPointsProcess (const sofa::type::vector< PointID > &index, const sofa::type::vector< PointID > &, const bool renumberDOF=true) override |
Reorder this topology. More... | |
void | propagateTopologicalEngineChanges () override |
function to propagate topological change events by parsing the list of TopologyHandlers linked to this topology. More... | |
![]() | |
TriangleSetTopologyModifier () | |
~TriangleSetTopologyModifier () override | |
void | addTrianglesWarning (const sofa::Size nTriangles, const sofa::type::vector< Triangle > &trianglesList, const sofa::type::vector< TriangleID > &trianglesIndexList) |
Sends a message to warn that some triangles were added in this topology. More... | |
void | addTrianglesWarning (const sofa::Size nTriangles, const sofa::type::vector< Triangle > &trianglesList, const sofa::type::vector< TriangleID > &trianglesIndexList, const sofa::type::vector< sofa::type::vector< TriangleID > > &ancestors, const sofa::type::vector< sofa::type::vector< SReal > > &baryCoefs) |
Sends a message to warn that some triangles were added in this topology. More... | |
virtual void | removeTrianglesWarning (sofa::type::vector< TriangleID > &triangles) |
Sends a message to warn that some triangles are about to be deleted. More... | |
void | addEdgesWarning (const sofa::Size nEdges, const sofa::type::vector< Edge > &edgesList, const sofa::type::vector< EdgeID > &edgesIndexList) override |
Sends a message to warn that some edges were added in this topology. More... | |
void | addEdgesWarning (const sofa::Size nEdges, const sofa::type::vector< Edge > &edgesList, const sofa::type::vector< EdgeID > &edgesIndexList, const sofa::type::vector< sofa::type::vector< EdgeID > > &ancestors, const sofa::type::vector< sofa::type::vector< SReal > > &baryCoefs) override |
Sends a message to warn that some edges were added in this topology. More... | |
void | addEdgesProcess (const sofa::type::vector< Edge > &edges) override |
Add some edges to this topology. More... | |
void | removeEdgesProcess (const sofa::type::vector< EdgeID > &indices, const bool removeIsolatedItems=false) override |
Remove a subset of edges. More... | |
void | addPointsProcess (const sofa::Size nPoints) override |
Add some points to this topology. More... | |
void | removePointsProcess (const sofa::type::vector< PointID > &indices, const bool removeDOF=true) override |
Remove a subset of points. More... | |
void | movePointsProcess (const sofa::type::vector< PointID > &id, const sofa::type::vector< sofa::type::vector< PointID > > &ancestors, const sofa::type::vector< sofa::type::vector< SReal > > &coefs, const bool moveDOF=true) override |
Move input points indices to input new coords. Also propagate event and update edgesAroundVertex and trianglesAroundVertex for data handling. More... | |
void | renumberPointsProcess (const sofa::type::vector< PointID > &index, const sofa::type::vector< PointID > &inv_index, const bool renumberDOF=true) override |
Reorder this topology. More... | |
void | propagateTopologicalEngineChanges () override |
function to propagate topological change events by parsing the list of TopologyHandlers linked to this topology. More... | |
virtual bool | removeTrianglesPreconditions (const sofa::type::vector< TriangleID > &items) |
Precondition to fulfill before removing triangles. No preconditions are needed in this class. This function should be implemented in children classes. More... | |
virtual void | removeTrianglesPostProcessing (const sofa::type::vector< TriangleID > &edgeToBeRemoved, const sofa::type::vector< TriangleID > &vertexToBeRemoved) |
: Postprocessing to apply to topology triangles. Nothing to do in this class. This function should be implemented in children classes. More... | |
virtual bool | addTrianglesPreconditions (const sofa::type::vector< Triangle > &triangles) |
Precondition to fulfill before adding triangles. No preconditions are needed in this class. This function should be implemented in children classes. More... | |
virtual void | addTrianglesPostProcessing (const sofa::type::vector< Triangle > &triangles) |
: Postprocessing to apply to topology triangles. Nothing to do in this class. This function should be implemented in children classes. More... | |
![]() | |
EdgeSetTopologyModifier () | |
~EdgeSetTopologyModifier () override | |
virtual void | addEdgesWarning (const sofa::Size nEdges) |
Sends a message to warn that some edges were added in this topology. More... | |
virtual void | addEdgesWarning (const sofa::Size nEdges, const sofa::type::vector< Edge > &edgesList, const sofa::type::vector< EdgeID > &edgesIndexList, const sofa::type::vector< sofa::type::vector< EdgeID > > &ancestors) |
Sends a message to warn that some edges were added in this topology. More... | |
virtual void | addEdgesWarning (const sofa::Size nEdges, const sofa::type::vector< Edge > &edgesList, const sofa::type::vector< EdgeID > &edgesIndexList, const sofa::type::vector< core::topology::EdgeAncestorElem > &ancestorElems) |
Sends a message to warn that some edges were added in this topology. More... | |
virtual void | removeEdgesWarning (sofa::type::vector< EdgeID > &edges) |
Sends a message to warn that some edges are about to be deleted. More... | |
![]() | |
PointSetTopologyModifier () | |
~PointSetTopologyModifier () override | |
void | addPointsWarning (const sofa::Size nPoints, const bool addDOF=true) |
Sends a message to warn that some points were added in this topology. More... | |
void | addPointsWarning (const sofa::Size nPoints, const sofa::type::vector< sofa::type::vector< PointID > > &ancestors, const sofa::type::vector< sofa::type::vector< SReal > > &coefs, const bool addDOF=true) |
Sends a message to warn that some points were added in this topology. More... | |
void | addPointsWarning (const sofa::Size nPoints, const sofa::type::vector< core::topology::PointAncestorElem > &ancestorElems, const bool addDOF=true) |
Sends a message to warn that some points were added in this topology. More... | |
void | removePointsWarning (sofa::type::vector< PointID > &indices, const bool removeDOF=true) |
Sends a message to warn that some points are about to be deleted. More... | |
void | renumberPointsWarning (const sofa::type::vector< PointID > &index, const sofa::type::vector< PointID > &inv_index, const bool renumberDOF=true) |
Sends a message to warn that points are about to be reordered. More... | |
void | propagateTopologicalChanges () override |
Called by a topology to warn specific topologies linked to it that TopologyChange objects happened. More... | |
![]() | |
TopologyModifier () | |
Constructor. More... | |
~TopologyModifier () override | |
Destructor. More... | |
void | addTopologyChange (const TopologyChange *topologyChange) |
Adds a TopologyChange object to the list of the topology this object describes. More... | |
void | addStateChange (const TopologyChange *topologyChange) |
Adds a StateChange object to the list of the topology this object describes. More... | |
![]() | |
BaseTopologyObject () | |
~BaseTopologyObject () override | |
![]() | |
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 |
Friends | |
template<class DataTypes > | |
class | TetrahedronSetGeometryAlgorithms |
Additional Inherited Members | |
![]() | |
Data< sofa::type::vector< TriangleID > > | list_Out |
triangles with at least one null values. More... | |
![]() | |
TopologyContainer * | m_topologyContainer |
Contains the actual topology data and give access to it (nature of these data heavily depends on the kind of topology). More... | |
![]() | |
SingleLink< BaseObject, BaseContext, BaseLink::FLAG_DOUBLELINK > | l_context |
LinkSlaves | l_slaves |
SingleLink< BaseObject, BaseObject, BaseLink::FLAG_DOUBLELINK > | l_master |
![]() | |
std::map< std::string, sofa::core::DataTrackerCallback > | m_internalEngine |
VecData | m_vecData |
List of fields (Data instances) More... | |
MapData | m_aliasData |
name -> Data multi-map (includes names and aliases) More... | |
VecLink | m_vecLink |
List of links. More... | |
MapLink | m_aliasLink |
name -> Link multi-map (includes names and aliases) More... | |
![]() | |
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::dynamic::TetrahedronSetTopologyModifier::removeIsolated |
Remove isolated DOFs.
|
inlineprotected |
|
inlineoverrideprotected |
|
overrideprotectedvirtual |
Add some edges to this topology.
Reimplemented from sofa::component::topology::container::dynamic::EdgeSetTopologyModifier.
|
overrideprotectedvirtual |
Add some points to this topology.
Reimplemented from sofa::component::topology::container::dynamic::EdgeSetTopologyModifier.
|
virtual |
add a set of tetrahedra
tetrahedra | an array of vertex indices describing the tetrahedra to be created |
|
virtual |
add a set of tetrahedra
quads | an array of vertex indices describing the tetrahedra to be created |
ancestors | for each tetrahedron to be created provides an array of tetrahedron ancestors (optional) |
baryCoefs | for each tetrahedron provides the barycentric coordinates (sum to 1) associated with each ancestor (optional) |
|
protectedvirtual |
Actually Add some tetrahedra to this topology.
|
protected |
Sends a message to warn that some tetrahedra were added in this topology.
|
protected |
Sends a message to warn that some tetrahedra were added in this topology.
void sofa::component::topology::container::dynamic::TetrahedronSetTopologyModifier::addTetrahedronProcess | ( | Tetrahedron | e | ) |
Add a tetrahedron.
|
overrideprotectedvirtual |
Actually Add some triangles to this topology.
Reimplemented from sofa::component::topology::container::dynamic::TriangleSetTopologyModifier.
|
overridevirtual |
Initialization method called at graph creation and modification, during top-down traversal.
Reimplemented from sofa::component::topology::container::dynamic::EdgeSetTopologyModifier.
|
overrideprotectedvirtual |
function to propagate topological change events by parsing the list of TopologyHandlers linked to this topology.
Reimplemented from sofa::component::topology::container::dynamic::EdgeSetTopologyModifier.
|
overridevirtual |
Update method called when variables used in precomputation are modified.
Reimplemented from sofa::core::objectmodel::BaseObject.
|
overrideprotectedvirtual |
Remove a subset of edges.
Important : some structures might need to be warned BEFORE the points are actually deleted, so always use method removeEdgesWarning before calling removeEdgesProcess.
Important : parameter indices is not const because it is actually sorted from the highest index to the lowest one.
removeIsolatedItems | if true remove isolated vertices |
Reimplemented from sofa::component::topology::container::dynamic::EdgeSetTopologyModifier.
|
overridevirtual |
Generic method to remove a list of items.
Reimplemented from sofa::component::topology::container::dynamic::EdgeSetTopologyModifier.
|
overrideprotectedvirtual |
Remove a subset of points.
Elements corresponding to these points are removed form the mechanical object's state vectors.
Important : some structures might need to be warned BEFORE the points are actually deleted, so always use method removePointsWarning before calling removePointsProcess.
Reimplemented from sofa::component::topology::container::dynamic::EdgeSetTopologyModifier.
void sofa::component::topology::container::dynamic::TetrahedronSetTopologyModifier::RemoveTetraBall | ( | TetrahedronID | ind_ta, |
TetrahedronID | ind_tb | ||
) |
Removes all tetrahedra in the ball of center "ind_ta" and of radius dist(ind_ta, ind_tb)
|
virtual |
Remove a set of tetrahedra.
tetrahedra | an array of tetrahedron indices to be removed (note that the array is not const since it needs to be sorted) |
|
protectedvirtual |
Remove a subset of tetrahedra.
Elements corresponding to these points are removed form the mechanical object's state vectors.
Important : some structures might need to be warned BEFORE the points are actually deleted, so always use method removeEdgesWarning before calling removeEdgesProcess.
removeIsolatedItems | if true remove isolated triangles, edges and vertices |
|
protected |
Sends a message to warn that some tetrahedra are about to be deleted.
Important : parameter indices is not const because it is actually sorted from the highest index to the lowest one.
|
overrideprotectedvirtual |
Remove a subset of triangles.
Important : some structures might need to be warned BEFORE the points are actually deleted, so always use method removeEdgesWarning before calling removeEdgesProcess.
removeIsolatedEdges | if true isolated edges are also removed |
removeIsolatedPoints | if true isolated vertices are also removed |
Reimplemented from sofa::component::topology::container::dynamic::TriangleSetTopologyModifier.
|
overrideprotectedvirtual |
Reorder this topology.
Important : the points are actually renumbered in the mechanical object's state vectors iff (renumberDOF == true)
Reimplemented from sofa::component::topology::container::dynamic::EdgeSetTopologyModifier.
sofa::component::topology::container::dynamic::TetrahedronSetTopologyModifier::SOFA_CLASS | ( | TetrahedronSetTopologyModifier | , |
TriangleSetTopologyModifier | |||
) |
|
friend |