sva::ForceVec< T > Class Template Reference

#include <SpaceVecAlg/ForceVec.h>

Public Types

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

Public Member Functions

 ForceVec ()
 
 ForceVec (const vector6_t &vec)
 
 ForceVec (const vector3_t &couple, const vector3_t &force)
 
vector3_tcouple ()
 
const vector3_tcouple () const
 
vector3_tmoment ()
 
const vector3_tmoment () const
 
vector3_tforce ()
 
const vector3_tforce () const
 
vector6_t vector () const
 
template<typename T2 >
ForceVec< T2 > cast () const
 
ForceVec< T > operator+ (const ForceVec< T > &fv) const
 
ForceVec< T > operator- (const ForceVec< T > &fv) const
 
ForceVec< T > operator- () const
 
ForceVec< T > & operator+= (const ForceVec< T > &fv)
 
ForceVec< T > & operator-= (const ForceVec< T > &fv)
 
template<typename T2 , typename std::enable_if< std::is_arithmetic< T2 >::value, int >::type = 0>
ForceVec< T > operator* (T2 scalar) const
 
template<typename T2 >
ForceVec< T > operator/ (T2 scalar) const
 
template<typename T2 , typename std::enable_if< std::is_arithmetic< T2 >::value, int >::type = 0>
ForceVec< T > & operator*= (T2 scalar)
 
template<typename T2 >
ForceVec< T > & operator/= (T2 scalar)
 
bool operator== (const ForceVec< T > &fv) const
 
bool operator!= (const ForceVec< T > &fv) const
 

Static Public Member Functions

static ForceVec< T > Zero ()
 Zero force vector. More...
 

Friends

class PTransform< T >
 

Detailed Description

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

Spatial Force 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::ForceVec< T >::vector3_t

◆ vector6_t

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

Constructor & Destructor Documentation

◆ ForceVec() [1/3]

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

◆ ForceVec() [2/3]

template<typename T >
sva::ForceVec< T >::ForceVec ( const vector6_t vec)
inline
Parameters
vecSpatial force vector with couple in head and force in tail.

◆ ForceVec() [3/3]

template<typename T >
sva::ForceVec< T >::ForceVec ( const vector3_t couple,
const vector3_t force 
)
inline
Parameters
coupleCouple.
forceForce.

Member Function Documentation

◆ cast()

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

◆ couple() [1/2]

template<typename T >
vector3_t& sva::ForceVec< T >::couple ( )
inline
Returns
Couple
Note
The term "couple" is used in SpaceVecAlg with the general meaning of "moment" of a force vector. It should not to be confused with the more precise meaning of a "pure moment" that is also found in mechanics https://en.wikipedia.org/wiki/Couple_(mechanics).
See also
moment()

◆ couple() [2/2]

template<typename T >
const vector3_t& sva::ForceVec< T >::couple ( ) const
inline

◆ force() [1/2]

template<typename T >
vector3_t& sva::ForceVec< T >::force ( )
inline
Returns
Force

◆ force() [2/2]

template<typename T >
const vector3_t& sva::ForceVec< T >::force ( ) const
inline

◆ moment() [1/2]

template<typename T >
vector3_t& sva::ForceVec< T >::moment ( )
inline
Returns
Moment

◆ moment() [2/2]

template<typename T >
const vector3_t& sva::ForceVec< T >::moment ( ) const
inline

◆ operator!=()

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

◆ operator*()

template<typename T >
template<typename T2 , typename std::enable_if< std::is_arithmetic< T2 >::value, int >::type = 0>
ForceVec<T> sva::ForceVec< 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>
ForceVec<T>& sva::ForceVec< T >::operator*= ( T2  scalar)
inline

◆ operator+()

template<typename T >
ForceVec<T> sva::ForceVec< T >::operator+ ( const ForceVec< T > &  fv) const
inline

◆ operator+=()

template<typename T >
ForceVec<T>& sva::ForceVec< T >::operator+= ( const ForceVec< T > &  fv)
inline

◆ operator-() [1/2]

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

◆ operator-() [2/2]

template<typename T >
ForceVec<T> sva::ForceVec< T >::operator- ( const ForceVec< T > &  fv) const
inline

◆ operator-=()

template<typename T >
ForceVec<T>& sva::ForceVec< T >::operator-= ( const ForceVec< T > &  fv)
inline

◆ operator/()

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

◆ operator/=()

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

◆ operator==()

template<typename T >
bool sva::ForceVec< T >::operator== ( const ForceVec< T > &  fv) const
inline

◆ vector()

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

◆ Zero()

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

Zero force 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 file: