pinocchio  3.3.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > Struct Template Reference
Inheritance diagram for JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl >:
Collaboration diagram for JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl >:

Public Types

typedef JointModelBase< JointModelCompositeTplBase
 
typedef InertiaTpl< Scalar, Options > Inertia
 
typedef JointCollectionTpl< Scalar, Options > JointCollection
 
typedef JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > JointDerived
 
typedef JointModelTpl< Scalar, Options, JointCollectionTpl > JointModelVariant
 
typedef MotionTpl< Scalar, Options > Motion
 
typedef SE3Tpl< Scalar, Options > SE3
 
- Public Types inherited from JointModelBase< JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > >
typedef traits< JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::JointDerived JointDerived
 
- Public Types inherited from NumericalBase< Derived >
typedef traits< Derived >::Scalar Scalar
 

Public Member Functions

 JointModelCompositeTpl ()
 Default contructor.
 
template<typename JointModel >
 JointModelCompositeTpl (const JointModelBase< JointModel > &jmodel, const SE3 &placement=SE3::Identity())
 Constructor with one joint. More...
 
 JointModelCompositeTpl (const JointModelCompositeTpl &other)
 Copy constructor. More...
 
 JointModelCompositeTpl (const size_t size)
 Default contructor with a defined size.
 
template<typename JointModel >
JointModelDerived & addJoint (const JointModelBase< JointModel > &jmodel, const SE3 &placement=SE3::Identity())
 Add a joint to the vector of joints. More...
 
template<typename TangentVectorType >
void calc (JointDataDerived &data, const Blank blank, const Eigen::MatrixBase< TangentVectorType > &vs) const
 
template<typename ConfigVectorType >
void calc (JointDataDerived &data, const Eigen::MatrixBase< ConfigVectorType > &qs) const
 
template<typename ConfigVectorType , typename TangentVectorType >
void calc (JointDataDerived &data, const Eigen::MatrixBase< ConfigVectorType > &qs, const Eigen::MatrixBase< TangentVectorType > &vs) const
 
template<typename VectorLike , typename Matrix6Like >
void calc_aba (JointDataDerived &data, const Eigen::MatrixBase< VectorLike > &armature, const Eigen::MatrixBase< Matrix6Like > &I, const bool update_I) const
 
template<typename NewScalar >
JointModelCompositeTpl< NewScalar, Options, JointCollectionTpl > cast () const
 
JointDataDerived createData () const
 
const std::vector< bool > hasConfigurationLimit () const
 
const std::vector< bool > hasConfigurationLimitInTangent () const
 
JointIndex id () const
 
int idx_q () const
 
int idx_v () const
 
bool isEqual (const JointModelBase< Derived > &other) const
 
template<class OtherDerived >
bool isEqual (const JointModelBase< OtherDerived > &) const
 
bool isEqual (const JointModelCompositeTpl &other) const
 
template<typename D >
SizeDepType< NV >::template ColsReturn< D >::ConstType jointCols (const Eigen::MatrixBase< D > &A) const
 
template<typename D >
SizeDepType< NV >::template ColsReturn< D >::Type jointCols (Eigen::MatrixBase< D > &A) const
 
template<typename D >
SizeDepType< Eigen::Dynamic >::template ColsReturn< D >::ConstType jointCols_impl (const Eigen::MatrixBase< D > &A) const
 
template<typename D >
SizeDepType< Eigen::Dynamic >::template ColsReturn< D >::Type jointCols_impl (Eigen::MatrixBase< D > &A) const
 
template<typename D >
SizeDepType< NQ >::template SegmentReturn< D >::ConstType jointConfigSelector (const Eigen::MatrixBase< D > &a) const
 
template<typename D >
SizeDepType< NQ >::template SegmentReturn< D >::Type jointConfigSelector (Eigen::MatrixBase< D > &a) const
 
template<typename D >
SizeDepType< Eigen::Dynamic >::template SegmentReturn< D >::ConstType jointConfigSelector_impl (const Eigen::MatrixBase< D > &a) const
 
template<typename D >
SizeDepType< Eigen::Dynamic >::template SegmentReturn< D >::Type jointConfigSelector_impl (Eigen::MatrixBase< D > &a) const
 
template<typename D >
SizeDepType< NV >::template SegmentReturn< D >::ConstType jointVelocitySelector (const Eigen::MatrixBase< D > &a) const
 
template<typename D >
SizeDepType< NV >::template SegmentReturn< D >::Type jointVelocitySelector (Eigen::MatrixBase< D > &a) const
 
template<typename D >
SizeDepType< Eigen::Dynamic >::template SegmentReturn< D >::ConstType jointVelocitySelector_impl (const Eigen::MatrixBase< D > &a) const
 
template<typename D >
SizeDepType< Eigen::Dynamic >::template SegmentReturn< D >::Type jointVelocitySelector_impl (Eigen::MatrixBase< D > &a) const
 
int nq () const
 
int nq_impl () const
 
int nv () const
 
int nv_impl () const
 
JointModelCompositeTploperator= (const JointModelCompositeTpl &other)
 
typedef PINOCCHIO_ALIGNED_STD_VECTOR (JointModelVariant) JointModelVector
 
 PINOCCHIO_ALIGNED_STD_VECTOR (SE3) jointPlacements
 Vector of joint placements. Those placements correspond to the origin of the joint relatively to their parent.
 
 PINOCCHIO_JOINT_TYPEDEF_TEMPLATE (JointDerived)
 
void setIndexes (JointIndex id, int q, int v)
 
void setIndexes_impl (JointIndex id, int q, int v)
 Update the indexes of subjoints in the stack.
 
std::string shortname () const
 
- Public Member Functions inherited from JointModelBase< JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > >
void calc (JointDataDerived &data, const Blank not_used, const Eigen::MatrixBase< TangentVectorType > &vs) const
 
void calc (JointDataDerived &data, const Eigen::MatrixBase< ConfigVectorType > &qs) const
 
void calc (JointDataDerived &data, const Eigen::MatrixBase< ConfigVectorType > &qs, const Eigen::MatrixBase< TangentVectorType > &vs) const
 
void calc_aba (JointDataDerived &data, const Eigen::MatrixBase< VectorLike > &armature, const Eigen::MatrixBase< Matrix6Like > &I, const bool update_I=false) const
 
CastType< NewScalar, JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::type cast () const
 
JointDataDerived createData () const
 
JointModelDerived & derived ()
 
const JointModelDerived & derived () const
 
void disp (std::ostream &os) const
 
const std::vector< bool > hasConfigurationLimit () const
 
const std::vector< bool > hasConfigurationLimitInTangent () const
 
bool hasSameIndexes (const JointModelBase< OtherDerived > &other) const
 
JointIndex id () const
 
JointIndex id_impl () const
 
int idx_q () const
 
int idx_q_impl () const
 
int idx_v () const
 
int idx_v_impl () const
 
bool isEqual (const JointModelBase< JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > > &other) const
 
bool isEqual (const JointModelBase< OtherDerived > &) const
 
SizeDepType< NV >::template BlockReturn< D >::ConstType jointBlock (const Eigen::MatrixBase< D > &Mat) const
 Returns a block of dimension nv()xnv() located at position idx_v(),idx_v() in the matrix Mat.
 
SizeDepType< NV >::template BlockReturn< D >::Type jointBlock (Eigen::MatrixBase< D > &Mat) const
 
SizeDepType< NV >::template BlockReturn< D >::ConstType jointBlock_impl (const Eigen::MatrixBase< D > &Mat) const
 
SizeDepType< NV >::template BlockReturn< D >::Type jointBlock_impl (Eigen::MatrixBase< D > &Mat) const
 
SizeDepType< NV >::template ColsReturn< D >::ConstType jointCols (const Eigen::MatrixBase< D > &A) const
 
SizeDepType< NV >::template ColsReturn< D >::Type jointCols (Eigen::MatrixBase< D > &A) const
 
SizeDepType< NV >::template ColsReturn< D >::ConstType jointCols_impl (const Eigen::MatrixBase< D > &A) const
 
SizeDepType< NV >::template ColsReturn< D >::Type jointCols_impl (Eigen::MatrixBase< D > &A) const
 
SizeDepType< NQ >::template SegmentReturn< D >::ConstType jointConfigSelector (const Eigen::MatrixBase< D > &a) const
 
SizeDepType< NQ >::template SegmentReturn< D >::Type jointConfigSelector (Eigen::MatrixBase< D > &a) const
 
SizeDepType< NQ >::template SegmentReturn< D >::ConstType jointConfigSelector_impl (const Eigen::MatrixBase< D > &a) const
 
SizeDepType< NQ >::template SegmentReturn< D >::Type jointConfigSelector_impl (Eigen::MatrixBase< D > &a) const
 
SizeDepType< NV >::template RowsReturn< D >::ConstType jointRows (const Eigen::MatrixBase< D > &A) const
 
SizeDepType< NV >::template RowsReturn< D >::Type jointRows (Eigen::MatrixBase< D > &A) const
 
SizeDepType< NV >::template RowsReturn< D >::ConstType jointRows_impl (const Eigen::MatrixBase< D > &A) const
 
SizeDepType< NV >::template RowsReturn< D >::Type jointRows_impl (Eigen::MatrixBase< D > &A) const
 
SizeDepType< NV >::template SegmentReturn< D >::ConstType jointVelocitySelector (const Eigen::MatrixBase< D > &a) const
 
SizeDepType< NV >::template SegmentReturn< D >::Type jointVelocitySelector (Eigen::MatrixBase< D > &a) const
 
SizeDepType< NV >::template SegmentReturn< D >::ConstType jointVelocitySelector_impl (const Eigen::MatrixBase< D > &a) const
 
SizeDepType< NV >::template SegmentReturn< D >::Type jointVelocitySelector_impl (Eigen::MatrixBase< D > &a) const
 
int nq () const
 
int nq_impl () const
 
int nv () const
 
int nv_impl () const
 
bool operator!= (const JointModelBase< OtherDerived > &other) const
 
bool operator== (const JointModelBase< OtherDerived > &other) const
 
 PINOCCHIO_JOINT_TYPEDEF_TEMPLATE (JointDerived)
 
void setIndexes (JointIndex id, int q, int v)
 
void setIndexes_impl (JointIndex id, int q, int v)
 
std::string shortname () const
 

Static Public Member Functions

static std::string classname ()
 
- Static Public Member Functions inherited from JointModelBase< JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > >
static std::string classname ()
 

Public Attributes

JointModelVector joints
 Vector of joints contained in the joint composite.
 
int njoints
 Number of joints contained in the JointModelComposite.
 

Protected Member Functions

void updateJointIndexes ()
 Update the indexes of the joints contained in the composition according to the position of the joint composite.
 
- Protected Member Functions inherited from JointModelBase< JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > >
 JointModelBase ()
 
 JointModelBase (const JointModelBase &clone)
 
JointModelBaseoperator= (const JointModelBase &clone)
 

Protected Attributes

std::vector< int > m_idx_q
 Keep information of both the dimension and the position of the joints in the composition. More...
 
std::vector< int > m_idx_v
 Index in the tangent vector.
 
int m_nq
 Dimensions of the config and tangent space of the composite joint.
 
std::vector< int > m_nqs
 Dimension of the segment in the config vector.
 
int m_nv
 
std::vector< int > m_nvs
 Dimension of the segment in the tangent vector.
 
- Protected Attributes inherited from JointModelBase< JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > >
JointIndex i_id
 
int i_q
 
int i_v
 

Friends

template<typename , int , template< typename S, int O > class, typename , typename >
struct JointCompositeCalcFirstOrderStep
 
template<typename , int , template< typename S, int O > class, typename >
struct JointCompositeCalcZeroOrderStep
 
struct Serialize< JointModelCompositeTpl >
 

Detailed Description

template<typename _Scalar, int _Options, template< typename S, int O > class JointCollectionTpl>
struct pinocchio::JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl >

Definition at line 177 of file joint-composite.hpp.

Constructor & Destructor Documentation

◆ JointModelCompositeTpl() [1/2]

JointModelCompositeTpl ( const JointModelBase< JointModel > &  jmodel,
const SE3 placement = SE3::Identity() 
)
inline

Constructor with one joint.

Parameters
jmodelModel of the first joint.
placementPlacement of the first joint w.r.t. the joint origin.

Definition at line 235 of file joint-composite.hpp.

◆ JointModelCompositeTpl() [2/2]

JointModelCompositeTpl ( const JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > &  other)
inline

Copy constructor.

Parameters
otherJointModel to copy.

Definition at line 254 of file joint-composite.hpp.

Member Function Documentation

◆ addJoint()

JointModelDerived& addJoint ( const JointModelBase< JointModel > &  jmodel,
const SE3 placement = SE3::Identity() 
)
inline

Add a joint to the vector of joints.

Parameters
jmodelModel of the joint to add.
placementPlacement of the joint relatively to its predecessor.
Returns
A reference to *this

Definition at line 278 of file joint-composite.hpp.

◆ cast()

JointModelCompositeTpl<NewScalar, Options, JointCollectionTpl> cast ( ) const
inline
Returns
An expression of *this with the Scalar type casted to NewScalar.

Definition at line 421 of file joint-composite.hpp.

Member Data Documentation

◆ m_idx_q

std::vector<int> m_idx_q
protected

Keep information of both the dimension and the position of the joints in the composition.

Index in the config vector

Definition at line 565 of file joint-composite.hpp.


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