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

#include <IdentityMultiMapping.h>

concatanate several entire mechanical states together More...

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

Detailed Description

template<class TIn, class TOut>
class sofa::component::mapping::linear::IdentityMultiMapping< TIn, TOut >

concatanate several entire mechanical states together

Protected Attributes

type::vector< linearalgebra::BaseMatrix * > baseMatrices
 Jacobian of the mapping, in a vector. More...
 

Public Member Functions

 SOFA_CLASS (SOFA_TEMPLATE2(IdentityMultiMapping, TIn, TOut), SOFA_TEMPLATE2(LinearMultiMapping, TIn, TOut))
 
void init () override
 
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 applyJT (const core::ConstraintParams *cparams, const type::vector< InDataMatrixDeriv * > &dataMatOutConst, const type::vector< const OutDataMatrixDeriv * > &dataMatInConst) override
 
virtual const type::vector< sofa::linearalgebra::BaseMatrix * > * getJs () 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

 IdentityMultiMapping ()
 
virtual ~IdentityMultiMapping ()
 

Attribute details

◆ baseMatrices

template<class TIn , class TOut >
type::vector<linearalgebra::BaseMatrix*> sofa::component::mapping::linear::IdentityMultiMapping< TIn, TOut >::baseMatrices
protected

Jacobian of the mapping, in a vector.

Constructor details

◆ IdentityMultiMapping()

template<class TIn , class TOut >
sofa::component::mapping::linear::IdentityMultiMapping< TIn, TOut >::IdentityMultiMapping
protected

◆ ~IdentityMultiMapping()

template<class TIn , class TOut >
sofa::component::mapping::linear::IdentityMultiMapping< TIn, TOut >::~IdentityMultiMapping
protectedvirtual

Function details

◆ apply()

template<class TIn , class TOut >
void sofa::component::mapping::linear::IdentityMultiMapping< 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::IdentityMultiMapping< TIn, TOut >::applyDJT ( const core::MechanicalParams ,
core::MultiVecDerivId  ,
core::ConstMultiVecDerivId   
)
inlineoverride

◆ applyJ()

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

◆ applyJT() [1/2]

template<class TIn , class TOut >
void sofa::component::mapping::linear::IdentityMultiMapping< TIn, TOut >::applyJT ( const core::ConstraintParams cparams,
const type::vector< InDataMatrixDeriv * > &  dataMatOutConst,
const type::vector< const OutDataMatrixDeriv * > &  dataMatInConst 
)
override

◆ applyJT() [2/2]

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

◆ getJs()

template<class TIn , class TOut >
const type::vector< sofa::linearalgebra::BaseMatrix * > * sofa::component::mapping::linear::IdentityMultiMapping< TIn, TOut >::getJs
overridevirtual

◆ init()

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

◆ SOFA_CLASS()

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