sva::MotionVec< T > Class Template Reference

#include <SpaceVecAlg/fwd.h>

Public Types

typedef Eigen::Vector3< T > vector3_t
 
typedef Eigen::Vector6< T > vector6_t
 

Public Member Functions

 MotionVec ()
 
 MotionVec (const vector6_t &vec)
 
 MotionVec (const vector3_t &angular, const vector3_t &linear)
 
const vector3_tangular () const
 
vector3_tangular ()
 
const vector3_tlinear () const
 
vector3_tlinear ()
 
vector6_t vector () const
 
template<typename T2 >
MotionVec< T2 > cast () const
 
MotionVec< T > operator+ (const MotionVec< T > &mv) const
 
MotionVec< T > operator- (const MotionVec< T > &mv) const
 
MotionVec< T > operator- () const
 
MotionVec< T > & operator+= (const MotionVec< T > &mv)
 
MotionVec< T > & operator-= (const MotionVec< T > &mv)
 
template<typename T2 , typename std::enable_if< std::is_arithmetic< T2 >::value, int >::type = 0>
MotionVec< T > operator* (T2 scalar) const
 
template<typename T2 , typename std::enable_if< std::is_arithmetic< T2 >::value, int >::type = 0>
MotionVec< T > & operator*= (T2 scalar)
 
template<typename T2 >
MotionVec< T > & operator/= (T2 scalar)
 
template<typename T2 >
MotionVec< T > operator/ (T2 scalar) const
 
MotionVec< T > cross (const MotionVec< T > &mv2) const
 
template<typename Derived >
void cross (const Eigen::MatrixBase< Derived > &mv2, Eigen::MatrixBase< Derived > &result) const
 
ForceVec< T > crossDual (const ForceVec< T > &fv2) const
 
template<typename Derived >
void crossDual (const Eigen::MatrixBase< Derived > &fv2, Eigen::MatrixBase< Derived > &result) const
 
dot (const ForceVec< T > &fv2) const
 
bool operator== (const MotionVec< T > &mv) const
 
bool operator!= (const MotionVec< T > &mv) const
 

Static Public Member Functions

static MotionVec< T > Zero ()
 Zero motion vector. More...
 

Friends

class PTransform< T >
 

Detailed Description

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

Spatial Motion Vector compact representations. See Roy Featherstone «Rigid Body Dynamics Algorithms» page 247.

Member Typedef Documentation

◆ vector3_t

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

◆ vector6_t

template<typename T >
typedef Eigen::Vector6<T> sva::MotionVec< T >::vector6_t

Constructor & Destructor Documentation

◆ MotionVec() [1/3]

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

◆ MotionVec() [2/3]

template<typename T >
sva::MotionVec< T >::MotionVec ( const vector6_t vec)
inline
Parameters
vecSpatial motion vector with angular motion in head and linear motion in tail.

◆ MotionVec() [3/3]

template<typename T >
sva::MotionVec< T >::MotionVec ( const vector3_t angular,
const vector3_t linear 
)
inline
Parameters
angularAngular motion.
linearLinear motion.

Member Function Documentation

◆ angular() [1/2]

template<typename T >
vector3_t& sva::MotionVec< T >::angular ( )
inline
Returns
Angular motion

◆ angular() [2/2]

template<typename T >
const vector3_t& sva::MotionVec< T >::angular ( ) const
inline
Returns
Angular motion

◆ cast()

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

◆ cross() [1/2]

template<typename T >
template<typename Derived >
void sva::MotionVec< T >::cross ( const Eigen::MatrixBase< Derived > &  mv2,
Eigen::MatrixBase< Derived > &  result 
) const
inline
See also
cross

◆ cross() [2/2]

template<typename T >
MotionVec< T > sva::MotionVec< T >::cross ( const MotionVec< T > &  mv2) const
inline
Returns
v x v

◆ crossDual() [1/2]

template<typename T >
template<typename Derived >
void sva::MotionVec< T >::crossDual ( const Eigen::MatrixBase< Derived > &  fv2,
Eigen::MatrixBase< Derived > &  result 
) const
inline
See also
crossDual

◆ crossDual() [2/2]

template<typename T >
ForceVec< T > sva::MotionVec< T >::crossDual ( const ForceVec< T > &  fv2) const
inline
Returns
v x* f

◆ dot()

template<typename T >
T sva::MotionVec< T >::dot ( const ForceVec< T > &  fv2) const
inline
Returns
v.v

◆ linear() [1/2]

template<typename T >
vector3_t& sva::MotionVec< T >::linear ( )
inline
Returns
Linear motion

◆ linear() [2/2]

template<typename T >
const vector3_t& sva::MotionVec< T >::linear ( ) const
inline
Returns
Linear motion

◆ operator!=()

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

◆ operator*()

template<typename T >
template<typename T2 , typename std::enable_if< std::is_arithmetic< T2 >::value, int >::type = 0>
MotionVec<T> sva::MotionVec< T >::operator* ( T2  scalar) const
inline

◆ operator*=()

template<typename T >
template<typename T2 , typename std::enable_if< std::is_arithmetic< T2 >::value, int >::type = 0>
MotionVec<T>& sva::MotionVec< T >::operator*= ( T2  scalar)
inline

◆ operator+()

template<typename T >
MotionVec<T> sva::MotionVec< T >::operator+ ( const MotionVec< T > &  mv) const
inline

◆ operator+=()

template<typename T >
MotionVec<T>& sva::MotionVec< T >::operator+= ( const MotionVec< T > &  mv)
inline

◆ operator-() [1/2]

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

◆ operator-() [2/2]

template<typename T >
MotionVec<T> sva::MotionVec< T >::operator- ( const MotionVec< T > &  mv) const
inline

◆ operator-=()

template<typename T >
MotionVec<T>& sva::MotionVec< T >::operator-= ( const MotionVec< T > &  mv)
inline

◆ operator/()

template<typename T >
template<typename T2 >
MotionVec<T> sva::MotionVec< T >::operator/ ( T2  scalar) const
inline

◆ operator/=()

template<typename T >
template<typename T2 >
MotionVec<T>& sva::MotionVec< T >::operator/= ( T2  scalar)
inline

◆ operator==()

template<typename T >
bool sva::MotionVec< T >::operator== ( const MotionVec< T > &  mv) const
inline

◆ vector()

template<typename T >
vector6_t sva::MotionVec< T >::vector ( ) const
inline
Returns
Non compact spatial motion vector.

◆ Zero()

template<typename T >
static MotionVec<T> sva::MotionVec< T >::Zero ( )
inlinestatic

Zero motion vector.

Friends And Related Function Documentation

◆ PTransform< T >

template<typename T >
friend class PTransform< T >
friend

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