#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 | ) |