SOFA API  ca70b0f0
Open source framework for multi-physics simuation
sofa::component::mapping::linear::CenterOfMassMultiMapping< TIn, TOut > Class Template Reference

#include <CenterOfMassMultiMapping.h>

Inheritance diagram for sofa::component::mapping::linear::CenterOfMassMultiMapping< TIn, TOut >:

Protected Attributes

type::vector< const core::behavior::BaseMass * > inputBaseMass
 
InVecCoord inputWeightedCOM
 
InVecDeriv inputWeightedForce
 
type::vector< double > inputTotalMass
 
double invTotalMass
 

Public Member Functions

 SOFA_CLASS (SOFA_TEMPLATE2(CenterOfMassMultiMapping, TIn, TOut), SOFA_TEMPLATE2(LinearMultiMapping, TIn, TOut))
 
void apply (const core::MechanicalParams *mparams, const type::vector< OutDataVecCoord * > &dataVecOutPos, const type::vector< const InDataVecCoord * > &dataVecInPos) override
 
void applyJ (const core::MechanicalParams *mparams, const type::vector< OutDataVecDeriv * > &dataVecOutVel, const type::vector< const InDataVecDeriv * > &dataVecInVel) override
 
void applyJT (const core::MechanicalParams *mparams, const type::vector< InDataVecDeriv * > &dataVecOutForce, const type::vector< const OutDataVecDeriv * > &dataVecInForce) override
 
void applyDJT (const core::MechanicalParams *, core::MultiVecDerivId, core::ConstMultiVecDerivId) override
 
void init () override
 
void draw (const core::visual::VisualParams *vparams) override
 
- Public Member Functions inherited from sofa::component::mapping::linear::crtp::CRTPLinearMapping< TMapping >
 SOFA_CLASS (SOFA_TEMPLATE(CRTPLinearMapping, TMapping), TMapping)
 
virtual bool isLinear () const override
 

Protected Member Functions

 CenterOfMassMultiMapping ()
 
virtual ~CenterOfMassMultiMapping ()
 

Attribute details

◆ inputBaseMass

template<class TIn , class TOut >
type::vector<const core::behavior::BaseMass*> sofa::component::mapping::linear::CenterOfMassMultiMapping< TIn, TOut >::inputBaseMass
protected

◆ inputTotalMass

template<class TIn , class TOut >
type::vector<double> sofa::component::mapping::linear::CenterOfMassMultiMapping< TIn, TOut >::inputTotalMass
protected

◆ inputWeightedCOM

template<class TIn , class TOut >
InVecCoord sofa::component::mapping::linear::CenterOfMassMultiMapping< TIn, TOut >::inputWeightedCOM
protected

◆ inputWeightedForce

template<class TIn , class TOut >
InVecDeriv sofa::component::mapping::linear::CenterOfMassMultiMapping< TIn, TOut >::inputWeightedForce
protected

◆ invTotalMass

template<class TIn , class TOut >
double sofa::component::mapping::linear::CenterOfMassMultiMapping< TIn, TOut >::invTotalMass
protected

Constructor details

◆ CenterOfMassMultiMapping()

template<class TIn , class TOut >
sofa::component::mapping::linear::CenterOfMassMultiMapping< TIn, TOut >::CenterOfMassMultiMapping ( )
inlineprotected

◆ ~CenterOfMassMultiMapping()

template<class TIn , class TOut >
virtual sofa::component::mapping::linear::CenterOfMassMultiMapping< TIn, TOut >::~CenterOfMassMultiMapping ( )
inlineprotectedvirtual

Function details

◆ apply()

template<class TIn , class TOut >
void sofa::component::mapping::linear::CenterOfMassMultiMapping< TIn, TOut >::apply ( const core::MechanicalParams mparams,
const type::vector< OutDataVecCoord * > &  dataVecOutPos,
const type::vector< const InDataVecCoord * > &  dataVecInPos 
)
override

◆ applyDJT()

template<class TIn , class TOut >
void sofa::component::mapping::linear::CenterOfMassMultiMapping< TIn, TOut >::applyDJT ( const core::MechanicalParams ,
core::MultiVecDerivId  ,
core::ConstMultiVecDerivId   
)
inlineoverride

◆ applyJ()

template<class TIn , class TOut >
void sofa::component::mapping::linear::CenterOfMassMultiMapping< TIn, TOut >::applyJ ( const core::MechanicalParams mparams,
const type::vector< OutDataVecDeriv * > &  dataVecOutVel,
const type::vector< const InDataVecDeriv * > &  dataVecInVel 
)
override

◆ applyJT()

template<class TIn , class TOut >
void sofa::component::mapping::linear::CenterOfMassMultiMapping< TIn, TOut >::applyJT ( const core::MechanicalParams mparams,
const type::vector< InDataVecDeriv * > &  dataVecOutForce,
const type::vector< const OutDataVecDeriv * > &  dataVecInForce 
)
override

◆ draw()

template<class TIn , class TOut >
void sofa::component::mapping::linear::CenterOfMassMultiMapping< TIn, TOut >::draw ( const core::visual::VisualParams vparams)
override

◆ init()

template<class TIn , class TOut >
void sofa::component::mapping::linear::CenterOfMassMultiMapping< TIn, TOut >::init ( void  )
override

◆ SOFA_CLASS()

template<class TIn , class TOut >
sofa::component::mapping::linear::CenterOfMassMultiMapping< TIn, TOut >::SOFA_CLASS ( SOFA_TEMPLATE2(CenterOfMassMultiMapping< TIn, TOut >, TIn, TOut)  ,
SOFA_TEMPLATE2(LinearMultiMapping, TIn, TOut)   
)