SOFA API  6a688117
Open source framework for multi-physics simuation
sofa::component::forcefield::TriangularFEMForceFieldOptim< DataTypes >::TFEMFFOTriangleInfoHandler Class Reference

#include <TriangularFEMForceFieldOptim.h>

Inheritance diagram for sofa::component::forcefield::TriangularFEMForceFieldOptim< DataTypes >::TFEMFFOTriangleInfoHandler:

Protected Attributes

TriangularFEMForceFieldOptim< DataTypes > * ff
 
- Protected Attributes inherited from sofa::component::topology::TopologyDataHandler< Triangle, VecTriangleInfo >
sofa::core::topology::BaseTopologyData< VecTriangleInfo > * m_topologyData
 
value_type m_defaultValue
 
- Protected Attributes inherited from sofa::core::topology::TopologyHandler
std::size_t lastElementIndex
 to handle properly the removal of items, the container must know the index of the last element More...
 

Public Member Functions

 TFEMFFOTriangleInfoHandler (TriangularFEMForceFieldOptim< DataTypes > *_ff, topology::TriangleData< VecTriangleInfo > *_data)
 
void applyCreateFunction (Index triangleIndex, TriangleInfo &, const Triangle &t, const sofa::helper::vector< Index > &, const sofa::helper::vector< double > &)
 
- Public Member Functions inherited from sofa::component::topology::TopologyDataHandler< Triangle, VecTriangleInfo >
 TopologyDataHandler (sofa::core::topology::BaseTopologyData< VecTriangleInfo > *_topologyData, value_type defaultValue=value_type())
 
bool isTopologyDataRegistered ()
 
virtual void applyDestroyFunction (index_type, value_type &)
 Apply removing current elementType elements. More...
 
virtual void applyCreateFunction (index_type, value_type &t, const sofa::helper::vector< index_type > &, const sofa::helper::vector< double > &)
 Apply adding current elementType elements. More...
 
virtual void applyCreateFunction (index_type i, value_type &t, const Triangle &, const sofa::helper::vector< index_type > &ancestors, const sofa::helper::vector< double > &coefs)
 
virtual void applyCreateFunction (index_type i, value_type &t, const Triangle &e, const sofa::helper::vector< index_type > &ancestors, const sofa::helper::vector< double > &coefs, const AncestorElem *)
 
void setDefaultValue (const value_type &v)
 
- Public Member Functions inherited from sofa::core::topology::TopologyElementHandler< Triangle >
 TopologyElementHandler ()
 
 ~TopologyElementHandler () override
 
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 EMoved_Adding *event) override
 Apply adding function on moved elements. More...
 
virtual void ApplyTopologyChange (const EMoved_Removing *event) override
 Apply removing function on moved elements. More...
 
- Public Member Functions inherited from sofa::core::topology::TopologyHandler
 TopologyHandler ()
 
virtual ~TopologyHandler ()
 
virtual void ApplyTopologyChanges (const std::list< const core::topology::TopologyChange * > &_topologyChangeEvents, const std::size_t _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 *)
 

Additional Inherited Members

- Protected Member Functions inherited from sofa::component::topology::TopologyDataHandler< Triangle, VecTriangleInfo >
virtual void swap (index_type i1, index_type i2)
 Swaps values at indices i1 and i2. More...
 
virtual void add (const sofa::helper::vector< index_type > &index, const sofa::helper::vector< Triangle > &elems, const sofa::helper::vector< sofa::helper::vector< index_type > > &ancestors, const sofa::helper::vector< sofa::helper::vector< double > > &coefs, const sofa::helper::vector< AncestorElem > &ancestorElems)
 
virtual void remove (const sofa::helper::vector< index_type > &index)
 Remove the values corresponding to the elements removed. More...
 
virtual void renumber (const sofa::helper::vector< index_type > &index)
 Reorder the values. More...
 
virtual void move (const sofa::helper::vector< index_type > &indexList, const sofa::helper::vector< sofa::helper::vector< index_type > > &ancestors, const sofa::helper::vector< sofa::helper::vector< double > > &coefs)
 Move a list of points. More...
 
virtual void addOnMovedPosition (const sofa::helper::vector< index_type > &indexList, const sofa::helper::vector< Triangle > &elems)
 Add Element after a displacement of vertices, ie. add element based on previous position topology revision. More...
 
virtual void removeOnMovedPosition (const sofa::helper::vector< index_type > &indices)
 Remove Element after a displacement of vertices, ie. add element based on previous position topology revision. More...
 
- Protected Member Functions inherited from sofa::core::topology::TopologyElementHandler< Triangle >
void swap (Topology::ElemID, Topology::ElemID) override
 Swaps values at indices i1 and i2. More...
 
virtual void add (Topology::ElemID, const sofa::helper::vector< Triangle > &, const sofa::helper::vector< sofa::helper::vector< Topology::ElemID > > &, const sofa::helper::vector< sofa::helper::vector< double > > &)
 
- Protected Member Functions inherited from sofa::core::topology::TopologyHandler
void setDataSetArraySize (const std::size_t s)
 to handle PointSubsetData More...
 

Attribute details

template<class DataTypes >
TriangularFEMForceFieldOptim<DataTypes>* sofa::component::forcefield::TriangularFEMForceFieldOptim< DataTypes >::TFEMFFOTriangleInfoHandler::ff
protected

Constructor details

template<class DataTypes >
sofa::component::forcefield::TriangularFEMForceFieldOptim< DataTypes >::TFEMFFOTriangleInfoHandler::TFEMFFOTriangleInfoHandler ( TriangularFEMForceFieldOptim< DataTypes > *  _ff,
topology::TriangleData< VecTriangleInfo > *  _data 
)
inline

Function details

template<class DataTypes >
void sofa::component::forcefield::TriangularFEMForceFieldOptim< DataTypes >::TFEMFFOTriangleInfoHandler::applyCreateFunction ( Index  triangleIndex,
TriangleInfo ti,
const Triangle t,
const sofa::helper::vector< Index > &  ,
const sofa::helper::vector< double > &   
)