#include <TopologyDataHandler.h>
Protected Attributes | |
t_topologicalData * | m_topologyData |
Apply adding function on moved elements. More... | |
Protected Attributes inherited from sofa::core::topology::TopologyHandler | |
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 | |
TopologyDataHandler (t_topologicalData *_topologicalData, sofa::core::topology::BaseMeshTopology *_topology, value_type defaultValue=value_type()) | |
TopologyDataHandler (t_topologicalData *_topologicalData, value_type defaultValue=value_type()) | |
void | init () |
void | handleTopologyChange () override |
void | registerTopologicalData (t_topologicalData *topologicalData) |
void | linkToTopologyDataArray (sofa::geometry::ElementType elementType) |
Function to link DataEngine with Data array from topology. More... | |
void | unlinkFromTopologyDataArray (sofa::geometry::ElementType elementType) |
void | unlinkFromAllTopologyDataArray () |
virtual void | ApplyTopologyChange (const EIndicesSwap *event) override |
Apply swap between indices elements. More... | |
virtual void | ApplyTopologyChange (const EAdded *event) override |
Apply adding elements. More... | |
virtual void | ApplyTopologyChange (const ERemoved *event) override |
Apply removing elements. More... | |
virtual void | ApplyTopologyChange (const ERenumbering *event) override |
Apply renumbering on elements. More... | |
virtual void | ApplyTopologyChange (const EMoved *event) override |
Apply moving elements. More... | |
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 *) |
Public Member Functions inherited from sofa::core::topology::TopologyHandler | |
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... | |
Additional Inherited Members | |
Protected Member Functions inherited from sofa::core::topology::TopologyHandler | |
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 |
Apply adding function on moved elements.
sofa::core::topology::TopologyDataHandler< ElementType, VecT >::TopologyDataHandler | ( | t_topologicalData * | _topologicalData, |
sofa::core::topology::BaseMeshTopology * | _topology, | ||
value_type | defaultValue = value_type() |
||
) |
sofa::core::topology::TopologyDataHandler< ElementType, VecT >::TopologyDataHandler | ( | t_topologicalData * | _topologicalData, |
value_type | defaultValue = value_type() |
||
) |
|
inline |
Apply adding edges elements.
|
inline |
Functions on Edges ////////////////////////////////////// Apply swap between edges indices elements.
|
inline |
Apply adding function on moved edges elements.
|
inline |
Apply removing function on moved edges elements.
|
inline |
Apply removing edges elements.
|
inline |
Apply renumbering on edges elements.
|
inline |
|
inline |
Apply adding hexahedron elements.
|
inline |
Functions on Hexahedron ////////////////////////////////////// Apply swap between hexahedron indices elements.
|
inline |
Apply adding function on moved hexahedron elements.
|
inline |
Apply removing function on moved hexahedron elements.
|
inline |
Apply removing hexahedron elements.
|
inline |
Apply renumbering on hexahedron elements.
|
inline |
Apply adding points elements.
|
inline |
Functions on Points ////////////////////////////////////// Apply swap between point indicPointes elements.
|
inline |
Apply moving points elements.
|
inline |
Apply removing points elements.
|
inline |
Apply renumbering on points elements.
|
inline |
Apply adding quads elements.
|
inline |
Functions on Quads ////////////////////////////////////// Apply swap between quads indices elements.
|
inline |
Apply adding function on moved quads elements.
|
inline |
Apply removing function on moved quads elements.
|
inline |
Apply removing quads elements.
|
inline |
Apply renumbering on quads elements.
|
inline |
Apply adding tetrahedron elements.
|
inline |
Functions on Tetrahedron ////////////////////////////////////// Apply swap between tetrahedron indices elements.
|
inline |
Apply adding function on moved tetrahedron elements.
|
inline |
Apply removing function on moved tetrahedron elements.
|
inline |
Apply removing tetrahedron elements.
|
inline |
Apply renumbering on tetrahedron elements.
|
inline |
Apply adding triangles elements.
|
inline |
Functions on Triangles ////////////////////////////////////// Apply swap between triangles indices elements.
|
inline |
Apply adding function on moved triangles elements.
|
inline |
Apply removing function on moved triangles elements.
|
inline |
Apply removing triangles elements.
|
inline |
Apply renumbering on triangles elements.
|
overridevirtual |
Apply adding elements.
|
overridevirtual |
Apply swap between indices elements.
|
overridevirtual |
Apply moving elements.
|
overridevirtual |
Apply removing elements.
|
overridevirtual |
Apply renumbering on elements.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Reimplemented from sofa::core::topology::TopologyHandler.
void sofa::core::topology::TopologyDataHandler< ElementType, VecT >::init | ( | void | ) |
void sofa::core::topology::TopologyDataHandler< ElementType, VecT >::linkToTopologyDataArray | ( | sofa::geometry::ElementType | elementType | ) |
Function to link DataEngine with Data array from topology.
|
inline |
void sofa::core::topology::TopologyDataHandler< ElementType, VecT >::unlinkFromAllTopologyDataArray |
void sofa::core::topology::TopologyDataHandler< ElementType, VecT >::unlinkFromTopologyDataArray | ( | sofa::geometry::ElementType | elementType | ) |