pinocchio  UNKNOWN
JointModelComposite Struct Reference
Inheritance diagram for JointModelComposite:
[legend]
Collaboration diagram for JointModelComposite:
[legend]

Public Types

enum  {
  NV = traits<JointComposite>::NV,
  NQ = traits<JointComposite>::NQ
}
 
typedef traits< JointComposite >::Scalar Scalar
 
typedef JointModelBase< JointModelCompositeBase
 
typedef JointDataComposite JointData
 
typedef container::aligned_vector< JointModelVariant > JointModelVector
 
typedef traits< JointComposite >::Transformation_t Transformation_t
 
typedef traits< JointComposite >::Constraint_t Constraint_t
 
typedef traits< JointComposite >::ConfigVector_t ConfigVector_t
 
typedef traits< JointComposite >::TangentVector_t TangentVector_t
 

Public Member Functions

 JointModelComposite ()
 Empty contructor.
 
template<typename JointModel >
 JointModelComposite (const JointModelBase< JointModel > &jmodel, const SE3 &placement=SE3::Identity())
 Default constructor with at least one joint. More...
 
 JointModelComposite (const JointModelComposite &other)
 Copy constructor. More...
 
template<typename JointModel >
void addJoint (const JointModelBase< JointModel > &jmodel, const SE3 &placement=SE3::Identity())
 Add a joint to the composition of joints. More...
 
JointData createData () const
 
void calc (JointData &data, const Eigen::VectorXd &qs) const
 
void calc (JointData &data, const Eigen::VectorXd &qs, const Eigen::VectorXd &vs) const
 
void calc_aba (JointData &data, Inertia::Matrix6 &I, const bool update_I) const
 
Scalar finiteDifferenceIncrement () const
 
int nv_impl () const
 
int nq_impl () const
 
void setIndexes_impl (JointIndex id, int q, int v)
 Update the indexes of subjoints in the stack.
 
std::string shortname () const
 
JointModelCompositeoperator= (const JointModelComposite &other)
 
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< 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< 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 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< 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
 
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
 
- Public Member Functions inherited from JointModelBase< JointModelComposite >
JointModelDerived & derived ()
 
const JointModelDerived & derived () const
 
JointDataDerived createData () const
 
void calc (JointDataDerived &data, const Eigen::VectorXd &qs) const
 
void calc (JointDataDerived &data, const Eigen::VectorXd &qs, const Eigen::VectorXd &vs) const
 
void calc_aba (JointDataDerived &data, Inertia::Matrix6 &I, const bool update_I=false) const
 
ConfigVector_t::Scalar finiteDifferenceIncrement () const
 Return the resolution of the finite differerence increment according to the Scalar type. More...
 
int nv () const
 
int nq () const
 
int nv_impl () const
 
int nq_impl () const
 
int idx_q () const
 
int idx_v () const
 
JointIndex id () const
 
void setIndexes (JointIndex id, int q, int v)
 
void setIndexes_impl (JointIndex id, int q, int v)
 
void disp (std::ostream &os) const
 
std::string shortname () const
 
bool operator== (const JointModelBase< OtherDerived > &other) const
 
bool isEqual (const JointModelBase< OtherDerived > &) const
 
bool isEqual (const JointModelBase< JointModelComposite > &other) 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 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
 
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
 

Static Public Member Functions

static std::string classname ()
 
- Static Public Member Functions inherited from JointModelBase< JointModelComposite >
static std::string classname ()
 

Public Attributes

JointModelVector joints
 Vector of joints contained in the joint composite.
 
container::aligned_vector< SE3jointPlacements
 Vector of joint placements. Those placements correspond to the origin of the joint relatively to their parent.
 
int m_nq
 Dimensions of the config and tangent space of the composite joint.
 
int m_nv
 
- Public Attributes inherited from JointModelBase< JointModelComposite >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef traits< JointModelComposite >::JointDerived JointDerived
 
 SE3_JOINT_TYPEDEF_TEMPLATE
 
JointIndex i_id
 
int i_q
 
int i_v
 

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< JointModelComposite >
 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_nqs
 Dimension of the segment in the config vector.
 
std::vector< int > m_idx_v
 Index in the tangent vector.
 
std::vector< int > m_nvs
 Dimension of the segment in the tangent vector.
 

Friends

struct JointCompositeCalcZeroOrderStep
 
struct JointCompositeCalcFirstOrderStep
 

Detailed Description

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

Constructor & Destructor Documentation

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

Default constructor with at least one joint.

Parameters
jmodelModel of the first joint.
placementPlacement of the first joint wrt the joint origin

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

JointModelComposite ( const JointModelComposite other)
inline

Copy constructor.

Parameters
otherModel to copy.

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

Member Function Documentation

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

Add a joint to the composition of joints.

Parameters
jmodelModel of the joint to add.
placementPlacement of the joint relatively to its predecessor

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

References se3::calc_aba(), se3::createData(), se3::finiteDifferenceIncrement(), se3::nq(), and se3::nv().

Member Data Documentation

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 337 of file joint-composite.hpp.


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