#include <TopologyHandler.h>
A class that will interact on a topological Data
Protected Attributes | |
std::string | m_prefix |
use to define engine name. More... | |
std::string | m_data_name |
use to define data handled name. More... | |
std::set< sofa::geometry::ElementType > | m_registeredElements |
Set to store the information which topology element this handler is linked. I.e in which handler list this handler is registered inside the Topology. More... | |
sofa::core::topology::TopologyContainer * | m_topology |
std::map< core::topology::TopologyChangeType, TopologyChangeCallback > | m_callbackMap |
Protected Attributes inherited from sofa::core::objectmodel::DDGNode | |
DDGLinkContainer | inputs |
DDGLinkContainer | outputs |
Public Member Functions | |
virtual void | handleTopologyChange () |
void | update () override |
Update this value. More... | |
virtual void | ApplyTopologyChanges (const std::list< const core::topology::TopologyChange * > &_topologyChangeEvents, const Size _dataSize) |
virtual void | ApplyTopologyChange (const core::topology::EndingEvent *) |
virtual void | ApplyTopologyChange (const core::topology::PointsIndicesSwap *) |
virtual void | ApplyTopologyChange (const core::topology::PointsAdded *) |
Apply adding points elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::PointsRemoved *) |
Apply removing points elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::PointsRenumbering *) |
Apply renumbering on points elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::PointsMoved *) |
Apply moving points elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::EdgesIndicesSwap *) |
virtual void | ApplyTopologyChange (const core::topology::EdgesAdded *) |
Apply adding edges elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::EdgesRemoved *) |
Apply removing edges elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::EdgesMoved_Removing *) |
Apply removing function on moved edges elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::EdgesMoved_Adding *) |
Apply adding function on moved edges elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::EdgesRenumbering *) |
Apply renumbering on edges elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::TrianglesIndicesSwap *) |
virtual void | ApplyTopologyChange (const core::topology::TrianglesAdded *) |
Apply adding triangles elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::TrianglesRemoved *) |
Apply removing triangles elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::TrianglesMoved_Removing *) |
Apply removing function on moved triangles elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::TrianglesMoved_Adding *) |
Apply adding function on moved triangles elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::TrianglesRenumbering *) |
Apply renumbering on triangles elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::QuadsIndicesSwap *) |
virtual void | ApplyTopologyChange (const core::topology::QuadsAdded *) |
Apply adding quads elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::QuadsRemoved *) |
Apply removing quads elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::QuadsMoved_Removing *) |
Apply removing function on moved quads elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::QuadsMoved_Adding *) |
Apply adding function on moved quads elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::QuadsRenumbering *) |
Apply renumbering on quads elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::TetrahedraIndicesSwap *) |
virtual void | ApplyTopologyChange (const core::topology::TetrahedraAdded *) |
Apply adding tetrahedron elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::TetrahedraRemoved *) |
Apply removing tetrahedron elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::TetrahedraMoved_Removing *) |
Apply removing function on moved tetrahedron elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::TetrahedraMoved_Adding *) |
Apply adding function on moved tetrahedron elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::TetrahedraRenumbering *) |
Apply renumbering on tetrahedron elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::HexahedraIndicesSwap *) |
virtual void | ApplyTopologyChange (const core::topology::HexahedraAdded *) |
Apply adding hexahedron elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::HexahedraRemoved *) |
Apply removing hexahedron elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::HexahedraMoved_Removing *) |
Apply removing function on moved hexahedron elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::HexahedraMoved_Adding *) |
Apply adding function on moved hexahedron elements. More... | |
virtual void | ApplyTopologyChange (const core::topology::HexahedraRenumbering *) |
Apply renumbering on hexahedron elements. More... | |
virtual void | ApplyTopologyChange (const TopologyChangeElementInfo< Topology::Point >::EMoved_Adding *) |
virtual void | ApplyTopologyChange (const TopologyChangeElementInfo< Topology::Point >::EMoved_Removing *) |
virtual void | ApplyTopologyChange (const TopologyChangeElementInfo< Topology::Edge >::EMoved *) |
virtual void | ApplyTopologyChange (const TopologyChangeElementInfo< Topology::Triangle >::EMoved *) |
virtual void | ApplyTopologyChange (const TopologyChangeElementInfo< Topology::Quad >::EMoved *) |
virtual void | ApplyTopologyChange (const TopologyChangeElementInfo< Topology::Tetrahedron >::EMoved *) |
virtual void | ApplyTopologyChange (const TopologyChangeElementInfo< Topology::Hexahedron >::EMoved *) |
void | unregisterTopologyHandler () |
Method to notify that this topologyHandler is not anymore registerd into a Topology Container. More... | |
bool | isTopologyHandlerRegistered () const |
Method to get the information if this topologyHandler is registered into a Topology Container. More... | |
size_t | getNumberOfTopologicalChanges () |
void | setNamePrefix (const std::string &s) |
std::string | getName () |
virtual bool | registerTopology (sofa::core::topology::BaseMeshTopology *_topology, bool printLog=false) |
void | addCallBack (core::topology::TopologyChangeType type, TopologyChangeCallback callback) |
Public Member Functions inherited from sofa::core::objectmodel::DDGNode | |
DDGNode () | |
Constructor. More... | |
virtual | ~DDGNode () |
Destructor. Automatically remove remaining links. More... | |
void | addInput (DDGNode *n) |
Add a new input to this node. More... | |
void | delInput (DDGNode *n) |
Remove an input from this node. More... | |
void | addOutput (DDGNode *n) |
Add a new output to this node. More... | |
void | delOutput (DDGNode *n) |
Remove an output from this node. More... | |
const DDGLinkContainer & | getInputs () |
Get the list of inputs for this DDGNode. More... | |
const DDGLinkContainer & | getOutputs () |
Get the list of outputs for this DDGNode. More... | |
bool | isDirty () const |
Returns true if the DDGNode needs to be updated. More... | |
virtual void | setDirtyValue () |
Indicate the value needs to be updated. More... | |
virtual void | setDirtyOutputs () |
Indicate the outputs needs to be updated. This method must be called after changing the value of this node. More... | |
void | cleanDirty () |
Set dirty flag to false. More... | |
virtual void | notifyEndEdit () |
Notify links that the DGNode has been modified. More... | |
void | updateIfDirty () const |
Utility method to call update if necessary. This method should be called before reading of writing the value of this node. More... | |
Protected Member Functions | |
TopologyHandler () | |
Protected Member Functions inherited from sofa::core::objectmodel::DDGNode | |
virtual void | doAddInput (DDGNode *n) |
virtual void | doDelInput (DDGNode *n) |
virtual void | doAddOutput (DDGNode *n) |
virtual void | doDelOutput (DDGNode *n) |
void | cleanDirtyOutputsOfInputs () |
the dirtyOutputs flags of all the inputs will be set to false More... | |
|
protected |
|
protected |
use to define data handled name.
|
protected |
use to define engine name.
|
protected |
Set to store the information which topology element this handler is linked. I.e in which handler list this handler is registered inside the Topology.
|
protected |
|
protected |
void sofa::core::topology::TopologyHandler::addCallBack | ( | core::topology::TopologyChangeType | type, |
TopologyChangeCallback | callback | ||
) |
Method to add a CallBack method to be used when a
|
inlinevirtual |
Apply adding edges elements.
|
inlinevirtual |
Functions on Edges ////////////////////////////////////// Apply swap between edges indices elements.
|
inlinevirtual |
Apply adding function on moved edges elements.
|
inlinevirtual |
Apply removing function on moved edges elements.
|
inlinevirtual |
Apply removing edges elements.
|
inlinevirtual |
Apply renumbering on edges elements.
|
inlinevirtual |
|
inlinevirtual |
Apply adding hexahedron elements.
|
inlinevirtual |
Functions on Hexahedron ////////////////////////////////////// Apply swap between hexahedron indices elements.
|
inlinevirtual |
Apply adding function on moved hexahedron elements.
|
inlinevirtual |
Apply removing function on moved hexahedron elements.
|
inlinevirtual |
Apply removing hexahedron elements.
|
inlinevirtual |
Apply renumbering on hexahedron elements.
|
inlinevirtual |
Apply adding points elements.
|
inlinevirtual |
Functions on Points ////////////////////////////////////// Apply swap between point indicPointes elements.
|
inlinevirtual |
Apply moving points elements.
|
inlinevirtual |
Apply removing points elements.
|
inlinevirtual |
Apply renumbering on points elements.
|
inlinevirtual |
Apply adding quads elements.
|
inlinevirtual |
Functions on Quads ////////////////////////////////////// Apply swap between quads indices elements.
|
inlinevirtual |
Apply adding function on moved quads elements.
|
inlinevirtual |
Apply removing function on moved quads elements.
|
inlinevirtual |
Apply removing quads elements.
|
inlinevirtual |
Apply renumbering on quads elements.
|
inlinevirtual |
Apply adding tetrahedron elements.
|
inlinevirtual |
Functions on Tetrahedron ////////////////////////////////////// Apply swap between tetrahedron indices elements.
|
inlinevirtual |
Apply adding function on moved tetrahedron elements.
|
inlinevirtual |
Apply removing function on moved tetrahedron elements.
|
inlinevirtual |
Apply removing tetrahedron elements.
|
inlinevirtual |
Apply renumbering on tetrahedron elements.
|
inlinevirtual |
Apply adding triangles elements.
|
inlinevirtual |
Functions on Triangles ////////////////////////////////////// Apply swap between triangles indices elements.
|
inlinevirtual |
Apply adding function on moved triangles elements.
|
inlinevirtual |
Apply removing function on moved triangles elements.
|
inlinevirtual |
Apply removing triangles elements.
|
inlinevirtual |
Apply renumbering on triangles elements.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
|
inline |
size_t sofa::core::topology::TopologyHandler::getNumberOfTopologicalChanges | ( | ) |
|
inlinevirtual |
Reimplemented in sofa::core::topology::TopologyDataHandler< ElementType, VecT >.
|
inline |
Method to get the information if this topologyHandler is registered into a Topology Container.
|
virtual |
Function to link the topological Data with the engine and the current topology. And init everything. This function should be used at the end of the all declaration link to this Data while using it in a component.
|
inline |
|
inline |
Method to notify that this topologyHandler is not anymore registerd into a Topology Container.
|
overridevirtual |
Update this value.
Implements sofa::core::objectmodel::DDGNode.