SOFA API  1a4bb3e7
Open source framework for multi-physics simuation
sofa::component::mapping::linear::BarycentricMapperTriangleSetTopology< In, Out > Class Template Reference

#include <BarycentricMapperTriangleSetTopology.h>

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

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

Detailed Description

template<class In, class Out>
class sofa::component::mapping::linear::BarycentricMapperTriangleSetTopology< In, Out >

Class allowing barycentric mapping computation on a TriangleSetTopology.

Public Member Functions

 SOFA_CLASS (SOFA_TEMPLATE2(BarycentricMapperTriangleSetTopology, In, Out), SOFA_TEMPLATE4(BarycentricMapperTopologyContainer, In, Out, MappingData, Triangle))
 
 ~BarycentricMapperTriangleSetTopology () override=default
 
Index addPointInTriangle (const Index triangleIndex, const SReal *baryCoords) override
 
Index createPointInTriangle (const typename Out::Coord &p, Index triangleIndex, const typename In::VecCoord *points) override
 

Protected Member Functions

 BarycentricMapperTriangleSetTopology ()
 
 BarycentricMapperTriangleSetTopology (sofa::core::topology::TopologyContainer *fromTopology, core::topology::BaseMeshTopology *toTopology)
 
virtual type::vector< TrianglegetElements () override
 
virtual type::vector< SReal > getBaryCoef (const Real *f) override
 
type::vector< SReal > getBaryCoef (const Real fx, const Real fy)
 
void computeBase (Mat3x3d &base, const typename In::VecCoord &in, const Triangle &element) override
 
void computeCenter (Vec3 &center, const typename In::VecCoord &in, const Triangle &element) override
 
void computeDistance (SReal &d, const Vec3 &v) override
 
void addPointInElement (const Index elementIndex, const SReal *baryCoords) override
 

Constructor details

◆ ~BarycentricMapperTriangleSetTopology()

◆ BarycentricMapperTriangleSetTopology() [1/2]

◆ BarycentricMapperTriangleSetTopology() [2/2]

Function details

◆ addPointInElement()

template<class In , class Out >
void sofa::component::mapping::linear::BarycentricMapperTriangleSetTopology< In, Out >::addPointInElement ( const Index  elementIndex,
const SReal *  baryCoords 
)
overrideprotected

◆ addPointInTriangle()

template<class In , class Out >
BarycentricMapperTriangleSetTopology< In, Out >::Index sofa::component::mapping::linear::BarycentricMapperTriangleSetTopology< In, Out >::addPointInTriangle ( const Index  triangleIndex,
const SReal *  baryCoords 
)
override

◆ computeBase()

template<class In , class Out >
void sofa::component::mapping::linear::BarycentricMapperTriangleSetTopology< In, Out >::computeBase ( Mat3x3d base,
const typename In::VecCoord &  in,
const Triangle element 
)
overrideprotected

◆ computeCenter()

template<class In , class Out >
void sofa::component::mapping::linear::BarycentricMapperTriangleSetTopology< In, Out >::computeCenter ( Vec3 center,
const typename In::VecCoord &  in,
const Triangle element 
)
overrideprotected

◆ computeDistance()

template<class In , class Out >
void sofa::component::mapping::linear::BarycentricMapperTriangleSetTopology< In, Out >::computeDistance ( SReal &  d,
const Vec3 v 
)
overrideprotected

◆ createPointInTriangle()

template<class In , class Out >
BarycentricMapperTriangleSetTopology< In, Out >::Index sofa::component::mapping::linear::BarycentricMapperTriangleSetTopology< In, Out >::createPointInTriangle ( const typename Out::Coord &  p,
Index  triangleIndex,
const typename In::VecCoord *  points 
)
override

◆ getBaryCoef() [1/2]

template<class In , class Out >
type::vector< SReal > sofa::component::mapping::linear::BarycentricMapperTriangleSetTopology< In, Out >::getBaryCoef ( const Real f)
overrideprotectedvirtual

◆ getBaryCoef() [2/2]

template<class In , class Out >
type::vector< SReal > sofa::component::mapping::linear::BarycentricMapperTriangleSetTopology< In, Out >::getBaryCoef ( const Real  fx,
const Real  fy 
)
protected

◆ getElements()

template<class In , class Out >
type::vector< Triangle > sofa::component::mapping::linear::BarycentricMapperTriangleSetTopology< In, Out >::getElements
overrideprotectedvirtual

◆ SOFA_CLASS()

template<class In , class Out >
sofa::component::mapping::linear::BarycentricMapperTriangleSetTopology< In, Out >::SOFA_CLASS ( SOFA_TEMPLATE2(BarycentricMapperTriangleSetTopology< In, Out >, In, Out)  ,
SOFA_TEMPLATE4(BarycentricMapperTopologyContainer, In, Out, MappingData, Triangle  
)