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

#include <BeamLinearMapping.h>

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

Public Attributes

Data< boollocalCoord
 true if initial coordinates are in the beam local coordinate system (i.e. a point at (10,0,0) is on the DOF number 10, whereas if this is false it is at whatever position on the beam where the distance from the initial DOF is 10) More...
 

Protected Attributes

type::vector< Coordpoints
 
sofa::type::vector< RealbeamLength
 
sofa::type::vector< CoordrotatedPoints0
 
sofa::type::vector< CoordrotatedPoints1
 
std::unique_ptr< MatrixTypematrixJ
 
bool updateJ
 

Public Member Functions

 SOFA_CLASS (SOFA_TEMPLATE2(BeamLinearMapping, TIn, TOut), SOFA_TEMPLATE2(LinearMapping, TIn, TOut))
 
void init () override
 
void apply (const core::MechanicalParams *mparams, Data< typename Out::VecCoord > &out, const Data< typename In::VecCoord > &in) override
 
void applyJ (const core::MechanicalParams *mparams, Data< typename Out::VecDeriv > &out, const Data< typename In::VecDeriv > &in) override
 
void applyJT (const core::MechanicalParams *mparams, Data< typename In::VecDeriv > &out, const Data< typename Out::VecDeriv > &in) override
 
void applyJT (const core::ConstraintParams *cparams, Data< typename In::MatrixDeriv > &out, const Data< typename Out::MatrixDeriv > &in) override
 
const sofa::linearalgebra::BaseMatrixgetJ () 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

 BeamLinearMapping ()
 
virtual ~BeamLinearMapping ()
 

Attribute details

◆ beamLength

template<class TIn , class TOut >
sofa::type::vector<Real> sofa::component::mapping::linear::BeamLinearMapping< TIn, TOut >::beamLength
protected

◆ localCoord

template<class TIn , class TOut >
Data<bool> sofa::component::mapping::linear::BeamLinearMapping< TIn, TOut >::localCoord

true if initial coordinates are in the beam local coordinate system (i.e. a point at (10,0,0) is on the DOF number 10, whereas if this is false it is at whatever position on the beam where the distance from the initial DOF is 10)

◆ matrixJ

template<class TIn , class TOut >
std::unique_ptr<MatrixType> sofa::component::mapping::linear::BeamLinearMapping< TIn, TOut >::matrixJ
protected

◆ points

template<class TIn , class TOut >
type::vector<Coord> sofa::component::mapping::linear::BeamLinearMapping< TIn, TOut >::points
protected

◆ rotatedPoints0

template<class TIn , class TOut >
sofa::type::vector<Coord> sofa::component::mapping::linear::BeamLinearMapping< TIn, TOut >::rotatedPoints0
protected

◆ rotatedPoints1

template<class TIn , class TOut >
sofa::type::vector<Coord> sofa::component::mapping::linear::BeamLinearMapping< TIn, TOut >::rotatedPoints1
protected

◆ updateJ

template<class TIn , class TOut >
bool sofa::component::mapping::linear::BeamLinearMapping< TIn, TOut >::updateJ
protected

Constructor details

◆ BeamLinearMapping()

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

◆ ~BeamLinearMapping()

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

Function details

◆ apply()

template<class TIn , class TOut >
void sofa::component::mapping::linear::BeamLinearMapping< TIn, TOut >::apply ( const core::MechanicalParams mparams,
Data< typename Out::VecCoord > &  out,
const Data< typename In::VecCoord > &  in 
)
override

◆ applyJ()

template<class TIn , class TOut >
void sofa::component::mapping::linear::BeamLinearMapping< TIn, TOut >::applyJ ( const core::MechanicalParams mparams,
Data< typename Out::VecDeriv > &  out,
const Data< typename In::VecDeriv > &  in 
)
override

◆ applyJT() [1/2]

template<class TIn , class TOut >
void sofa::component::mapping::linear::BeamLinearMapping< TIn, TOut >::applyJT ( const core::ConstraintParams cparams,
Data< typename In::MatrixDeriv > &  out,
const Data< typename Out::MatrixDeriv > &  in 
)
override

◆ applyJT() [2/2]

template<class TIn , class TOut >
void sofa::component::mapping::linear::BeamLinearMapping< TIn, TOut >::applyJT ( const core::MechanicalParams mparams,
Data< typename In::VecDeriv > &  out,
const Data< typename Out::VecDeriv > &  in 
)
override

◆ draw()

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

◆ getJ()

template<class TIn , class TOut >
const sofa::linearalgebra::BaseMatrix * sofa::component::mapping::linear::BeamLinearMapping< TIn, TOut >::getJ
override

◆ init()

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

◆ SOFA_CLASS()

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

Enum details

◆ anonymous enum

template<class TIn , class TOut >
anonymous enum
Enumerator

◆ anonymous enum

template<class TIn , class TOut >
anonymous enum
Enumerator
NIn 

◆ anonymous enum

template<class TIn , class TOut >
anonymous enum
Enumerator
NOut