SOFA API  b0896a42
Open source framework for multi-physics simuation
sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut > Class Template Reference

#include <CenterOfMassMulti2Mapping.h>

Inheritance diagram for sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >:

Protected Attributes

type::vector< const core::behavior::BaseMass * > inputBaseMass1
 
type::vector< In1CoordinputWeightedCOM1
 
type::vector< In1DerivinputWeightedForce1
 
type::vector< double > inputTotalMass1
 
type::vector< const core::behavior::BaseMass * > inputBaseMass2
 
type::vector< In2CoordinputWeightedCOM2
 
type::vector< In2DerivinputWeightedForce2
 
type::vector< double > inputTotalMass2
 
double invTotalMass
 

Public Member Functions

 SOFA_CLASS (SOFA_TEMPLATE3(CenterOfMassMulti2Mapping, TIn1, TIn2, TOut), SOFA_TEMPLATE3(LinearMulti2Mapping, TIn1, TIn2, TOut))
 
void apply (const core::MechanicalParams *mparams, const type::vector< OutDataVecCoord * > &dataVecOutPos, const type::vector< const In1DataVecCoord * > &dataVecIn1Pos, const type::vector< const In2DataVecCoord * > &dataVecIn2Pos) override
 
void applyJ (const core::MechanicalParams *mparams, const type::vector< OutDataVecDeriv * > &dataVecOutVel, const type::vector< const In1DataVecDeriv * > &dataVecIn1Vel, const type::vector< const In2DataVecDeriv * > &dataVecIn2Vel) override
 
void applyJT (const core::MechanicalParams *mparams, const type::vector< In1DataVecDeriv * > &dataVecOut1Force, const type::vector< In2DataVecDeriv * > &dataVecOut2Force, const type::vector< const OutDataVecDeriv * > &dataVecInForce) override
 
void applyJT (const core::ConstraintParams *, const type::vector< In1DataMatrixDeriv * > &, const type::vector< In2DataMatrixDeriv * > &, const type::vector< const OutDataMatrixDeriv * > &) 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

 CenterOfMassMulti2Mapping ()
 
virtual ~CenterOfMassMulti2Mapping ()
 

Attribute details

◆ inputBaseMass1

template<class TIn1 , class TIn2 , class TOut >
type::vector<const core::behavior::BaseMass*> sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >::inputBaseMass1
protected

◆ inputBaseMass2

template<class TIn1 , class TIn2 , class TOut >
type::vector<const core::behavior::BaseMass*> sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >::inputBaseMass2
protected

◆ inputTotalMass1

template<class TIn1 , class TIn2 , class TOut >
type::vector<double> sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >::inputTotalMass1
protected

◆ inputTotalMass2

template<class TIn1 , class TIn2 , class TOut >
type::vector<double> sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >::inputTotalMass2
protected

◆ inputWeightedCOM1

template<class TIn1 , class TIn2 , class TOut >
type::vector<In1Coord> sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >::inputWeightedCOM1
protected

◆ inputWeightedCOM2

template<class TIn1 , class TIn2 , class TOut >
type::vector<In2Coord> sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >::inputWeightedCOM2
protected

◆ inputWeightedForce1

template<class TIn1 , class TIn2 , class TOut >
type::vector<In1Deriv> sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >::inputWeightedForce1
protected

◆ inputWeightedForce2

template<class TIn1 , class TIn2 , class TOut >
type::vector<In2Deriv> sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >::inputWeightedForce2
protected

◆ invTotalMass

template<class TIn1 , class TIn2 , class TOut >
double sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >::invTotalMass
protected

Constructor details

◆ CenterOfMassMulti2Mapping()

template<class TIn1 , class TIn2 , class TOut >
sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >::CenterOfMassMulti2Mapping ( )
inlineprotected

◆ ~CenterOfMassMulti2Mapping()

template<class TIn1 , class TIn2 , class TOut >
virtual sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >::~CenterOfMassMulti2Mapping ( )
inlineprotectedvirtual

Function details

◆ apply()

template<class TIn1 , class TIn2 , class TOut >
void sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >::apply ( const core::MechanicalParams mparams,
const type::vector< OutDataVecCoord * > &  dataVecOutPos,
const type::vector< const In1DataVecCoord * > &  dataVecIn1Pos,
const type::vector< const In2DataVecCoord * > &  dataVecIn2Pos 
)
override

◆ applyDJT()

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

◆ applyJ()

template<class TIn1 , class TIn2 , class TOut >
void sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >::applyJ ( const core::MechanicalParams mparams,
const type::vector< OutDataVecDeriv * > &  dataVecOutVel,
const type::vector< const In1DataVecDeriv * > &  dataVecIn1Vel,
const type::vector< const In2DataVecDeriv * > &  dataVecIn2Vel 
)
override

◆ applyJT() [1/2]

template<class TIn1 , class TIn2 , class TOut >
void sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >::applyJT ( const core::ConstraintParams ,
const type::vector< In1DataMatrixDeriv * > &  ,
const type::vector< In2DataMatrixDeriv * > &  ,
const type::vector< const OutDataMatrixDeriv * > &   
)
inlineoverride

◆ applyJT() [2/2]

template<class TIn1 , class TIn2 , class TOut >
void sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >::applyJT ( const core::MechanicalParams mparams,
const type::vector< In1DataVecDeriv * > &  dataVecOut1Force,
const type::vector< In2DataVecDeriv * > &  dataVecOut2Force,
const type::vector< const OutDataVecDeriv * > &  dataVecInForce 
)
override

◆ draw()

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

◆ init()

template<class TIn1 , class TIn2 , class TOut >
void sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >::init ( void  )
override

◆ SOFA_CLASS()

template<class TIn1 , class TIn2 , class TOut >
sofa::component::mapping::linear::CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >::SOFA_CLASS ( SOFA_TEMPLATE3(CenterOfMassMulti2Mapping< TIn1, TIn2, TOut >, TIn1, TIn2, TOut)  ,
SOFA_TEMPLATE3(LinearMulti2Mapping, TIn1, TIn2, TOut)   
)