sva::RBInertia< T > Class Template Reference

#include <SpaceVecAlg/fwd.h>

Public Types

typedef Eigen::Vector3< T > vector3_t
 
typedef Eigen::Matrix3< T > matrix3_t
 
typedef Eigen::Matrix6< T > matrix6_t
 

Public Member Functions

 RBInertia ()
 
 RBInertia (T m, const vector3_t &h, const matrix3_t &I)
 
 RBInertia (T m, const vector3_t &h, const Eigen::TriangularView< matrix3_t, Eigen::Lower > &ltI)
 
mass () const
 
const vector3_tmomentum () const
 
const matrix3_tlowerTriangularInertia () const
 
matrix3_t inertia () const
 
matrix6_t matrix () const
 @retrun Non compact spatial rigid body inertia matrix. More...
 
template<typename T2 >
RBInertia< T2 > cast () const
 
RBInertia< T > operator+ (const RBInertia< T > &rbI) const
 
RBInertia< T > operator- (const RBInertia< T > &rbI) const
 
RBInertia< T > operator- () const
 
RBInertia< T > & operator+= (const RBInertia< T > &rbI)
 
RBInertia< T > & operator-= (const RBInertia< T > &rbI)
 
template<typename T2 >
RBInertia< T > operator* (T2 scalar) const
 
ForceVec< T > operator* (const MotionVec< T > &mv) const
 
template<typename Derived >
void mul (const Eigen::MatrixBase< Derived > &mv, Eigen::MatrixBase< Derived > &result) const
 
bool operator== (const RBInertia< T > &rbI) const
 
bool operator!= (const RBInertia< T > &rbI) const
 

Detailed Description

template<typename T>
class sva::RBInertia< T >

Spatial Rigid Body Inertia compact representation. See Roy Featherstone «Rigid Body Dynamics Algorithms» page 247.

Member Typedef Documentation

◆ matrix3_t

template<typename T >
typedef Eigen::Matrix3<T> sva::RBInertia< T >::matrix3_t

◆ matrix6_t

template<typename T >
typedef Eigen::Matrix6<T> sva::RBInertia< T >::matrix6_t

◆ vector3_t

template<typename T >
typedef Eigen::Vector3<T> sva::RBInertia< T >::vector3_t

Constructor & Destructor Documentation

◆ RBInertia() [1/3]

template<typename T >
sva::RBInertia< T >::RBInertia ( )
inline

◆ RBInertia() [2/3]

template<typename T >
sva::RBInertia< T >::RBInertia ( m,
const vector3_t h,
const matrix3_t I 
)
inline
Parameters
mMass.
hSpatial momentum.
IInertia matrix at body origin.

◆ RBInertia() [3/3]

template<typename T >
sva::RBInertia< T >::RBInertia ( m,
const vector3_t h,
const Eigen::TriangularView< matrix3_t, Eigen::Lower > &  ltI 
)
inline
Parameters
mMass.
hSpatial momentum.
IEigen::Lower triangular view of Inertia matrix at body origin.

Member Function Documentation

◆ cast()

template<typename T >
template<typename T2 >
RBInertia<T2> sva::RBInertia< T >::cast ( ) const
inline

◆ inertia()

template<typename T >
matrix3_t sva::RBInertia< T >::inertia ( ) const
inline
Returns
Inertia matrix.

◆ lowerTriangularInertia()

template<typename T >
const matrix3_t& sva::RBInertia< T >::lowerTriangularInertia ( ) const
inline
Returns
Inertia matrix with a zero upper part.

◆ mass()

template<typename T >
T sva::RBInertia< T >::mass ( ) const
inline
Returns
Mass.

◆ matrix()

template<typename T >
matrix6_t sva::RBInertia< T >::matrix ( ) const
inline

@retrun Non compact spatial rigid body inertia matrix.

◆ momentum()

template<typename T >
const vector3_t& sva::RBInertia< T >::momentum ( ) const
inline
Returns
Spatial momentum.

◆ mul()

template<typename T >
template<typename Derived >
void sva::RBInertia< T >::mul ( const Eigen::MatrixBase< Derived > &  mv,
Eigen::MatrixBase< Derived > &  result 
) const
inline

◆ operator!=()

template<typename T >
bool sva::RBInertia< T >::operator!= ( const RBInertia< T > &  rbI) const
inline

◆ operator*() [1/2]

template<typename T >
ForceVec< T > sva::RBInertia< T >::operator* ( const MotionVec< T > &  mv) const
inline
Returns
I*v

◆ operator*() [2/2]

template<typename T >
template<typename T2 >
RBInertia<T> sva::RBInertia< T >::operator* ( T2  scalar) const
inline

◆ operator+()

template<typename T >
RBInertia<T> sva::RBInertia< T >::operator+ ( const RBInertia< T > &  rbI) const
inline

◆ operator+=()

template<typename T >
RBInertia<T>& sva::RBInertia< T >::operator+= ( const RBInertia< T > &  rbI)
inline

◆ operator-() [1/2]

template<typename T >
RBInertia<T> sva::RBInertia< T >::operator- ( ) const
inline

◆ operator-() [2/2]

template<typename T >
RBInertia<T> sva::RBInertia< T >::operator- ( const RBInertia< T > &  rbI) const
inline

◆ operator-=()

template<typename T >
RBInertia<T>& sva::RBInertia< T >::operator-= ( const RBInertia< T > &  rbI)
inline

◆ operator==()

template<typename T >
bool sva::RBInertia< T >::operator== ( const RBInertia< T > &  rbI) const
inline

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