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

#include <SubsetMapping.h>

Compute a subset of input points. More...

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

Detailed Description

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

Compute a subset of input points.

Public Attributes

sofa::core::objectmodel::lifecycle::RenamedData< IndexArrayf_indices
 
sofa::core::objectmodel::lifecycle::RenamedData< Index > f_first
 
sofa::core::objectmodel::lifecycle::RenamedData< Index > f_last
 
sofa::core::objectmodel::lifecycle::RenamedData< Realf_radius
 
sofa::core::objectmodel::lifecycle::RenamedData< boolf_handleTopologyChange
 
sofa::core::objectmodel::lifecycle::RenamedData< boolf_ignoreNotFound
 
sofa::core::objectmodel::lifecycle::RenamedData< boolf_resizeToModel
 
SetIndex d_indices
 
Data< Index > d_first
 first index (use if indices are sequential) More...
 
Data< Index > d_last
 last index (use if indices are sequential) More...
 
Data< Reald_radius
 search radius to find corresponding points in case no indices are given More...
 
Data< boold_handleTopologyChange
 Enable support of topological changes for indices (disable if it is linked from SubsetTopologicalMapping::d_pointD2S) More...
 
Data< boold_ignoreNotFound
 True to ignore points that are not found in the input model, they will be treated as fixed points. More...
 
Data< boold_resizeToModel
 True to resize the output MechanicalState to match the size of indices. More...
 
SubsetMappingInternalData< In, Outdata
 
SingleLink< SubsetMapping< In, Out >, sofa::core::topology::BaseMeshTopology, BaseLink::FLAG_STOREPATH|BaseLink::FLAG_STRONGLINKl_topology
 Link to be set to the topology container in the component graph. More...
 

Protected Attributes

eigen_type eigen
 
js_type js
 
std::unique_ptr< MatrixTypematrixJ
 
bool updateJ
 

Public Member Functions

 SOFA_CLASS (SOFA_TEMPLATE2(SubsetMapping, TIn, TOut), SOFA_TEMPLATE2(LinearMapping, TIn, TOut))
 
void postInit ()
 
void clear (Size reserve)
 
int addPoint (Index index)
 
void init () override
 
virtual ~SubsetMapping ()
 
void apply (const core::MechanicalParams *mparams, OutDataVecCoord &dOut, const InDataVecCoord &dIn) override
 
void applyJ (const core::MechanicalParams *mparams, OutDataVecDeriv &dOut, const InDataVecDeriv &dIn) override
 
void applyJT (const core::MechanicalParams *mparams, InDataVecDeriv &dOut, const OutDataVecDeriv &dIn) override
 
void applyJT (const core::ConstraintParams *, InDataMatrixDeriv &dOut, const OutDataMatrixDeriv &dIn) override
 
const sofa::linearalgebra::BaseMatrixgetJ () override
 
const js_typegetJs () 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

 SubsetMapping ()
 

Attribute details

◆ d_first

template<class TIn , class TOut >
Data< Index > sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::d_first

first index (use if indices are sequential)

◆ d_handleTopologyChange

template<class TIn , class TOut >
Data< bool > sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::d_handleTopologyChange

Enable support of topological changes for indices (disable if it is linked from SubsetTopologicalMapping::d_pointD2S)

◆ d_ignoreNotFound

template<class TIn , class TOut >
Data< bool > sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::d_ignoreNotFound

True to ignore points that are not found in the input model, they will be treated as fixed points.

◆ d_indices

template<class TIn , class TOut >
SetIndex sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::d_indices

◆ d_last

template<class TIn , class TOut >
Data< Index > sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::d_last

last index (use if indices are sequential)

◆ d_radius

template<class TIn , class TOut >
Data< Real > sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::d_radius

search radius to find corresponding points in case no indices are given

◆ d_resizeToModel

template<class TIn , class TOut >
Data< bool > sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::d_resizeToModel

True to resize the output MechanicalState to match the size of indices.

◆ data

template<class TIn , class TOut >
SubsetMappingInternalData<In, Out> sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::data

◆ eigen

template<class TIn , class TOut >
eigen_type sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::eigen
protected

◆ f_first

template<class TIn , class TOut >
sofa::core::objectmodel::lifecycle::RenamedData<Index> sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::f_first

◆ f_handleTopologyChange

template<class TIn , class TOut >
sofa::core::objectmodel::lifecycle::RenamedData<bool> sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::f_handleTopologyChange

◆ f_ignoreNotFound

template<class TIn , class TOut >
sofa::core::objectmodel::lifecycle::RenamedData<bool> sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::f_ignoreNotFound

◆ f_indices

◆ f_last

template<class TIn , class TOut >
sofa::core::objectmodel::lifecycle::RenamedData<Index> sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::f_last

◆ f_radius

◆ f_resizeToModel

template<class TIn , class TOut >
sofa::core::objectmodel::lifecycle::RenamedData<bool> sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::f_resizeToModel

◆ js

template<class TIn , class TOut >
js_type sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::js
protected

◆ l_topology

Link to be set to the topology container in the component graph.

◆ matrixJ

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

◆ updateJ

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

Constructor details

◆ SubsetMapping()

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

◆ ~SubsetMapping()

template<class TIn , class TOut >
sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::~SubsetMapping
virtual

Function details

◆ addPoint()

template<class TIn , class TOut >
int sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::addPoint ( Index  index)

◆ apply()

template<class TIn , class TOut >
void sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::apply ( const core::MechanicalParams mparams,
OutDataVecCoord dOut,
const InDataVecCoord dIn 
)
override

◆ applyJ()

template<class TIn , class TOut >
void sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::applyJ ( const core::MechanicalParams mparams,
OutDataVecDeriv dOut,
const InDataVecDeriv dIn 
)
override

◆ applyJT() [1/2]

template<class TIn , class TOut >
void sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::applyJT ( const core::ConstraintParams ,
InDataMatrixDeriv dOut,
const OutDataMatrixDeriv dIn 
)
override

◆ applyJT() [2/2]

template<class TIn , class TOut >
void sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::applyJT ( const core::MechanicalParams mparams,
InDataVecDeriv dOut,
const OutDataVecDeriv dIn 
)
override

◆ clear()

template<class TIn , class TOut >
void sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::clear ( Size  reserve)

◆ getJ()

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

◆ getJs()

template<class TIn , class TOut >
const SubsetMapping< TIn, TOut >::js_type * sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::getJs
override

◆ init()

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

◆ postInit()

template<class TIn , class TOut >
void sofa::component::mapping::linear::SubsetMapping< TIn, TOut >::postInit

◆ SOFA_CLASS()

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

Enum details

◆ anonymous enum

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

◆ anonymous enum

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