#include <DeformableOnRigidFrameMapping.h>
Protected Attributes | |
core::State< In > * | m_fromModel |
core::State< Out > * | m_toModel |
core::State< InRoot > * | m_fromRootModel |
InRootCoord | rootX |
Public Member Functions | |
SOFA_CLASS (SOFA_TEMPLATE3(DeformableOnRigidFrameMapping, TIn, TInRoot, TOut), SOFA_TEMPLATE3(LinearMulti2Mapping, TIn, TInRoot, TOut)) | |
int | addPoint (const OutCoord &c) |
int | addPoint (const OutCoord &c, int indexFrom) |
void | init () override |
void | handleTopologyChange (core::topology::Topology *t) override |
bool | sameTopology () const override |
void | apply (OutVecCoord &out, const InVecCoord &in, const InRootVecCoord *inroot) |
void | apply (const core::MechanicalParams *, const type::vector< OutDataVecCoord * > &dataVecOutPos, const type::vector< const InDataVecCoord * > &dataVecInPos, const type::vector< const InRootDataVecCoord * > &dataVecInRootPos) override |
void | applyJ (OutVecDeriv &out, const InVecDeriv &in, const InRootVecDeriv *inroot) |
void | applyJ (const core::MechanicalParams *, const type::vector< OutDataVecDeriv * > &dataVecOutVel, const type::vector< const InDataVecDeriv * > &dataVecInVel, const type::vector< const InRootDataVecDeriv * > &dataVecInRootVel) override |
void | applyJT (InVecDeriv &out, const OutVecDeriv &in, InRootVecDeriv *outroot) |
void | applyJT (const core::MechanicalParams *, const type::vector< InDataVecDeriv * > &dataVecOutForce, const type::vector< InRootDataVecDeriv * > &dataVecOutRootForce, const type::vector< const OutDataVecDeriv * > &dataVecInForce) override |
void | applyDJT (const core::MechanicalParams *mparams, core::MultiVecDerivId inForce, core::ConstMultiVecDerivId outForce) override |
void | applyJT (InMatrixDeriv &out, const OutMatrixDeriv &in, InRootMatrixDeriv *outroot) |
void | applyJT (const core::ConstraintParams *, const type::vector< InDataMatrixDeriv * > &dataMatOutConst, const type::vector< InRootDataMatrixDeriv * > &dataMatOutRootConst, const type::vector< const OutDataMatrixDeriv * > &dataMatInConst) override |
void | recomputeRigidMass () |
MAP the mass: this function recompute the rigid mass (gravity center position and inertia) of the object based on its deformed shape. More... | |
void | draw (const core::visual::VisualParams *vparams) override |
void | clear (int reserve=0) |
void | setRepartition (unsigned int value) |
void | setRepartition (sofa::type::vector< unsigned int > values) |
![]() | |
SOFA_CLASS (SOFA_TEMPLATE(CRTPLinearMapping, TMapping), TMapping) | |
virtual bool | isLinear () const override |
Protected Member Functions | |
DeformableOnRigidFrameMapping () | |
virtual | ~DeformableOnRigidFrameMapping () |
Data< bool > sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::d_globalToLocalCoords |
are the output DOFs initially expressed in global coordinates
Data<unsigned int> sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::d_index |
input DOF index
Data< bool > sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::d_indexFromEnd |
input DOF index starts from the end of input DOFs vector
Data<sofa::type::vector<unsigned int> > sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::d_repartition |
number of dest dofs per entry dof
Data< Real > sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::d_rootAngularForceScaleFactor |
Scale factor applied on the angular force accumulated on the rigid model.
Data< Real > sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::d_rootLinearForceScaleFactor |
Scale factor applied on the linear force accumulated on the rigid model.
DeformableOnRigidFrameMappingInternalData<In, Out> sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::data |
sofa::core::objectmodel::RenamedData<bool> sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::globalToLocalCoords |
sofa::core::objectmodel::RenamedData<unsigned> sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::index |
sofa::core::objectmodel::RenamedData<bool> sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::indexFromEnd |
|
protected |
|
protected |
sofa::core::objectmodel::RenamedData<Real> sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::m_rootAngularForceScaleFactor |
sofa::core::objectmodel::RenamedData<Real> sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::m_rootLinearForceScaleFactor |
|
protected |
sofa::core::objectmodel::RenamedData<sofa::type::vector<unsigned int> > sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::repartition |
|
protected |
OutVecCoord sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::rotatedPoints |
|
protected |
|
inlineprotectedvirtual |
int sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::addPoint | ( | const OutCoord & | c | ) |
int sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::addPoint | ( | const OutCoord & | c, |
int | indexFrom | ||
) |
|
override |
void sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::apply | ( | OutVecCoord & | out, |
const InVecCoord & | in, | ||
const InRootVecCoord * | inroot | ||
) |
|
override |
|
override |
void sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::applyJ | ( | OutVecDeriv & | out, |
const InVecDeriv & | in, | ||
const InRootVecDeriv * | inroot | ||
) |
|
override |
|
override |
void sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::applyJT | ( | InMatrixDeriv & | out, |
const OutMatrixDeriv & | in, | ||
InRootMatrixDeriv * | outroot | ||
) |
void sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::applyJT | ( | InVecDeriv & | out, |
const OutVecDeriv & | in, | ||
InRootVecDeriv * | outroot | ||
) |
void sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::clear | ( | int | reserve = 0 | ) |
|
override |
|
override |
|
override |
void sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::recomputeRigidMass |
MAP the mass: this function recompute the rigid mass (gravity center position and inertia) of the object based on its deformed shape.
|
inlineoverride |
Return true if the destination model has the same topology as the source model.
This is the case for mapping keeping a one-to-one correspondance between input and output DOFs (mostly identity or data-conversion mappings).
void sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::setRepartition | ( | sofa::type::vector< unsigned int > | values | ) |
void sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::setRepartition | ( | unsigned int | value | ) |
sofa::component::mapping::linear::DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >::SOFA_CLASS | ( | SOFA_TEMPLATE3(DeformableOnRigidFrameMapping< TIn, TInRoot, TOut >, TIn, TInRoot, TOut) | , |
SOFA_TEMPLATE3(LinearMulti2Mapping, TIn, TInRoot, TOut) | |||
) |