Crocoddyl
Loading...
Searching...
No Matches
ImpulseModelAbstractTpl< _Scalar > Class Template Referenceabstract
Inheritance diagram for ImpulseModelAbstractTpl< _Scalar >:
ImpulseModelBaseImpulseModel3DTpl< _Scalar >ImpulseModel6DTpl< _Scalar >

Public Types

typedef ImpulseDataAbstractTpl< Scalar > ImpulseDataAbstract
typedef MathBaseTpl< Scalar > MathBase
typedef MathBase::MatrixXs MatrixXs
typedef StateMultibodyTpl< Scalar > StateMultibody
typedef MathBase::VectorXs VectorXs

Public Member Functions

 ImpulseModelAbstractTpl (std::shared_ptr< StateMultibody > state, const pinocchio::ReferenceFrame type, const std::size_t nc)
virtual void calc (const std::shared_ptr< ImpulseDataAbstract > &data, const Eigen::Ref< const VectorXs > &x)=0
virtual void calcDiff (const std::shared_ptr< ImpulseDataAbstract > &data, const Eigen::Ref< const VectorXs > &x)=0
virtual std::shared_ptr< ImpulseDataAbstractcreateData (pinocchio::DataTpl< Scalar > *const data)
 DEPRECATED ("Use constructor that passes the type type of contact, this assumes is " "pinocchio::LOCAL", ImpulseModelAbstractTpl(std::shared_ptr< StateMultibody > state, const std::size_t nc);) virtual ~ImpulseModelAbstractTpl()=default
DEPRECATED("Use get_nc().", std::size_t get_ni() const ;) std pinocchio::FrameIndex get_id () const
 Return the reference frame id.
std::size_t get_nc () const
const std::shared_ptr< StateMultibody > & get_state () const
pinocchio::ReferenceFrame get_type () const
 Return the type of contact.
virtual void print (std::ostream &os) const
 Print relevant information of the impulse model.
void set_id (const pinocchio::FrameIndex id)
 Modify the reference frame id.
void set_type (const pinocchio::ReferenceFrame type)
 Modify the type of contact.
void setZeroForce (const std::shared_ptr< ImpulseDataAbstract > &data) const
void setZeroForceDiff (const std::shared_ptr< ImpulseDataAbstract > &data) const
virtual void updateForce (const std::shared_ptr< ImpulseDataAbstract > &data, const VectorXs &force)=0
void updateForceDiff (const std::shared_ptr< ImpulseDataAbstract > &data, const MatrixXs &df_dx) const

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar

Protected Attributes

pinocchio::FrameIndex id_
 Reference frame id of the contact.
std::size_t nc_
std::shared_ptr< StateMultibodystate_
pinocchio::ReferenceFrame type_
 Type of contact.

Friends

template<class Scalar>
std::ostream & operator<< (std::ostream &os, const ImpulseModelAbstractTpl< Scalar > &model)
 Print information on the impulse model.

Detailed Description

template<typename _Scalar>
class crocoddyl::ImpulseModelAbstractTpl< _Scalar >

Definition at line 28 of file impulse-base.hpp.

Member Typedef Documentation

◆ MathBase

template<typename _Scalar>
typedef MathBaseTpl<Scalar> MathBase

Definition at line 33 of file impulse-base.hpp.

◆ ImpulseDataAbstract

template<typename _Scalar>
typedef ImpulseDataAbstractTpl<Scalar> ImpulseDataAbstract

Definition at line 34 of file impulse-base.hpp.

◆ StateMultibody

template<typename _Scalar>
typedef StateMultibodyTpl<Scalar> StateMultibody

Definition at line 35 of file impulse-base.hpp.

◆ VectorXs

template<typename _Scalar>
typedef MathBase::VectorXs VectorXs

Definition at line 36 of file impulse-base.hpp.

◆ MatrixXs

template<typename _Scalar>
typedef MathBase::MatrixXs MatrixXs

Definition at line 37 of file impulse-base.hpp.

Constructor & Destructor Documentation

◆ ImpulseModelAbstractTpl()

template<typename _Scalar>
ImpulseModelAbstractTpl()
inlineprotected

Definition at line 109 of file impulse-base.hpp.

Member Function Documentation

◆ calc()

template<typename _Scalar>
virtual void calc(const std::shared_ptr< ImpulseDataAbstract > &data,
const Eigen::Ref< const VectorXs > &x )
pure virtual

◆ calcDiff()

template<typename _Scalar>
virtual void calcDiff(const std::shared_ptr< ImpulseDataAbstract > &data,
const Eigen::Ref< const VectorXs > &x )
pure virtual

◆ updateForce()

template<typename _Scalar>
virtual void updateForce(const std::shared_ptr< ImpulseDataAbstract > &data,
const VectorXs &force )
pure virtual

◆ createData()

template<typename _Scalar>
virtual std::shared_ptr< ImpulseDataAbstract > createData(pinocchio::DataTpl< Scalar > *constdata)
virtual

◆ print()

template<typename _Scalar>
virtual void print(std::ostream &os)const
virtual

Print relevant information of the impulse model.

Parameters
[out]osOutput stream object

Reimplemented in ImpulseModel3DTpl< _Scalar >, ImpulseModel3DTpl< double >, ImpulseModel6DTpl< _Scalar >, and ImpulseModel6DTpl< double >.

Member Data Documentation

◆ Scalar

template<typename _Scalar>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar

Definition at line 32 of file impulse-base.hpp.

◆ state_

template<typename _Scalar>
std::shared_ptr<StateMultibody> state_
protected

Definition at line 105 of file impulse-base.hpp.

◆ nc_

template<typename _Scalar>
std::size_t nc_
protected

Definition at line 106 of file impulse-base.hpp.

◆ id_

template<typename _Scalar>
pinocchio::FrameIndex id_
protected

Reference frame id of the contact.

Definition at line 107 of file impulse-base.hpp.

◆ type_

template<typename _Scalar>
pinocchio::ReferenceFrame type_
protected

Type of contact.

Definition at line 108 of file impulse-base.hpp.


The documentation for this class was generated from the following files: