SOFA API  99934cbc
Open source framework for multi-physics simuation
sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out > Class Template Reference

#include <BarycentricMapperHexahedronSetTopology.h>

Class allowing barycentric mapping computation on a HexahedronSetTopology. More...

Inheritance diagram for sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >:

Detailed Description

template<class In, class Out>
class sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >

Class allowing barycentric mapping computation on a HexahedronSetTopology.

Protected Attributes

topology::HexahedronSetTopologyContainerm_fromContainer {nullptr}
 
topology::HexahedronSetGeometryAlgorithms< In > * m_fromGeomAlgo {nullptr}
 
std::set< index_type > m_invalidIndex
 

Public Member Functions

 SOFA_CLASS (SOFA_TEMPLATE2(BarycentricMapperHexahedronSetTopology, In, Out), SOFA_TEMPLATE4(BarycentricMapperTopologyContainer, In, Out, MappingData, Hexahedron))
 
 ~BarycentricMapperHexahedronSetTopology () override
 
virtual helper::vector< HexahedrongetElements () override
 
virtual helper::vector< SReal > getBaryCoef (const Real *f) override
 
helper::vector< SReal > getBaryCoef (const Real fx, const Real fy, const Real fz)
 
void computeBase (Mat3x3d &base, const typename In::VecCoord &in, const Hexahedron &element) override
 
void computeCenter (Vector3 &center, const typename In::VecCoord &in, const Hexahedron &element) override
 
void computeDistance (double &d, const Vector3 &v) override
 
void addPointInElement (const index_type elementIndex, const SReal *baryCoords) override
 
index_type addPointInCube (const index_type index, const SReal *baryCoords) override
 
index_type setPointInCube (const index_type pointIndex, const index_type cubeIndex, const SReal *baryCoords) override
 
void applyOnePoint (const index_type &hexaId, typename Out::VecCoord &out, const typename In::VecCoord &in) override
 
void handleTopologyChange (core::topology::Topology *t) override
 
template<>
void handleTopologyChange (core::topology::Topology *t)
 

Protected Member Functions

 BarycentricMapperHexahedronSetTopology ()
 
 BarycentricMapperHexahedronSetTopology (topology::HexahedronSetTopologyContainer *fromTopology, topology::PointSetTopologyContainer *toTopology)
 
void setTopology (topology::HexahedronSetTopologyContainer *topology)
 

Attribute details

template<class In, class Out>
topology::HexahedronSetTopologyContainer* sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::m_fromContainer {nullptr}
protected
template<class In, class Out>
topology::HexahedronSetGeometryAlgorithms<In>* sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::m_fromGeomAlgo {nullptr}
protected
template<class In, class Out>
std::set<index_type> sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::m_invalidIndex
protected

Constructor details

Function details

template<class In , class Out >
BarycentricMapperHexahedronSetTopology< In, Out >::index_type sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::addPointInCube ( const index_type  index,
const SReal *  baryCoords 
)
override
template<class In , class Out >
void sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::addPointInElement ( const index_type  elementIndex,
const SReal *  baryCoords 
)
override
template<class In, class Out>
void sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::applyOnePoint ( const index_type &  hexaId,
typename Out::VecCoord &  out,
const typename In::VecCoord &  in 
)
override
template<class In, class Out >
void sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::computeBase ( Mat3x3d base,
const typename In::VecCoord &  in,
const Hexahedron element 
)
override
template<class In, class Out >
void sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::computeCenter ( Vector3 &  center,
const typename In::VecCoord &  in,
const Hexahedron element 
)
override
template<class In , class Out >
void sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::computeDistance ( double d,
const Vector3 &  v 
)
override
template<class In , class Out >
helper::vector< SReal > sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::getBaryCoef ( const Real f)
overridevirtual
template<class In , class Out >
helper::vector< SReal > sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::getBaryCoef ( const Real  fx,
const Real  fy,
const Real  fz 
)
template<class In , class Out >
helper::vector< Hexahedron > sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::getElements ( )
overridevirtual
template<class In , class Out >
void sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::handleTopologyChange ( core::topology::Topology t)
override
template<class In , class Out >
BarycentricMapperHexahedronSetTopology< In, Out >::index_type sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::setPointInCube ( const index_type  pointIndex,
const index_type  cubeIndex,
const SReal *  baryCoords 
)
override
template<class In , class Out >
void sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::setTopology ( topology::HexahedronSetTopologyContainer topology)
protected
template<class In, class Out>
sofa::component::mapping::BarycentricMapperHexahedronSetTopology< In, Out >::SOFA_CLASS ( SOFA_TEMPLATE2(BarycentricMapperHexahedronSetTopology< In, Out >, In, Out ,
SOFA_TEMPLATE4(BarycentricMapperTopologyContainer, In, Out, MappingData, Hexahedron  
)