All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fcl::Matrix3fX< T > Class Template Reference

Matrix2 class wrapper. the core data is in the template parameter class. More...

#include <hpp/fcl/math/matrix_3f.h>

Collaboration diagram for fcl::Matrix3fX< T >:

Public Types

typedef T::meta_type U
 
typedef T::vector_type S
 

Public Member Functions

 Matrix3fX ()
 
 Matrix3fX (U xx, U xy, U xz, U yx, U yy, U yz, U zx, U zy, U zz)
 
 Matrix3fX (const Vec3fX< S > &v1, const Vec3fX< S > &v2, const Vec3fX< S > &v3)
 
 Matrix3fX (const Matrix3fX< T > &other)
 
 Matrix3fX (const T &data_)
 
Vec3fX< SgetColumn (size_t i) const
 
Vec3fX< SgetRow (size_t i) const
 
U operator() (size_t i, size_t j) const
 
Uoperator() (size_t i, size_t j)
 
Vec3fX< Soperator* (const Vec3fX< S > &v) const
 
Matrix3fX< T > operator* (const Matrix3fX< T > &m) const
 
Matrix3fX< T > operator+ (const Matrix3fX< T > &other) const
 
Matrix3fX< T > operator- (const Matrix3fX< T > &other) const
 
Matrix3fX< T > operator+ (U c) const
 
Matrix3fX< T > operator- (U c) const
 
Matrix3fX< T > operator* (U c) const
 
Matrix3fX< T > operator/ (U c) const
 
Matrix3fX< T > & operator*= (const Matrix3fX< T > &other)
 
Matrix3fX< T > & operator+= (const Matrix3fX< T > &other)
 
Matrix3fX< T > & operator-= (const Matrix3fX< T > &other)
 
Matrix3fX< T > & operator+= (U c)
 
Matrix3fX< T > & operator-= (U c)
 
Matrix3fX< T > & operator*= (U c)
 
Matrix3fX< T > & operator/= (U c)
 
void setIdentity ()
 
bool isIdentity () const
 
void setZero ()
 
void setEulerZYX (FCL_REAL eulerX, FCL_REAL eulerY, FCL_REAL eulerZ)
 Set the matrix from euler angles YPR around ZYX axes. More...
 
void setEulerYPR (FCL_REAL yaw, FCL_REAL pitch, FCL_REAL roll)
 Set the matrix from euler angles using YPR around YXZ respectively. More...
 
U determinant () const
 
Matrix3fX< T > & transpose ()
 
Matrix3fX< T > & inverse ()
 
Matrix3fX< T > & abs ()
 
Matrix3fX< T > transposeTimes (const Matrix3fX< T > &other) const
 
Matrix3fX< T > timesTranspose (const Matrix3fX< T > &other) const
 
Vec3fX< StransposeTimes (const Vec3fX< S > &v) const
 
Matrix3fX< T > tensorTransform (const Matrix3fX< T > &m) const
 
U transposeDotX (const Vec3fX< S > &v) const
 
U transposeDotY (const Vec3fX< S > &v) const
 
U transposeDotZ (const Vec3fX< S > &v) const
 
U transposeDot (size_t i, const Vec3fX< S > &v) const
 
U dotX (const Vec3fX< S > &v) const
 
U dotY (const Vec3fX< S > &v) const
 
U dotZ (const Vec3fX< S > &v) const
 
U dot (size_t i, const Vec3fX< S > &v) const
 
void setValue (U xx, U xy, U xz, U yx, U yy, U yz, U zx, U zy, U zz)
 
void setValue (U x)
 

Static Public Member Functions

static const Matrix3fX< T > & getIdentity ()
 

Public Attributes

data
 

Detailed Description

template<typename T>
class fcl::Matrix3fX< T >

Matrix2 class wrapper. the core data is in the template parameter class.

Member Typedef Documentation

template<typename T>
typedef T::vector_type fcl::Matrix3fX< T >::S
template<typename T>
typedef T::meta_type fcl::Matrix3fX< T >::U

Constructor & Destructor Documentation

template<typename T>
fcl::Matrix3fX< T >::Matrix3fX ( )
inline
template<typename T>
fcl::Matrix3fX< T >::Matrix3fX ( U  xx,
U  xy,
U  xz,
U  yx,
U  yy,
U  yz,
U  zx,
U  zy,
U  zz 
)
inline
template<typename T>
fcl::Matrix3fX< T >::Matrix3fX ( const Vec3fX< S > &  v1,
const Vec3fX< S > &  v2,
const Vec3fX< S > &  v3 
)
inline
template<typename T>
fcl::Matrix3fX< T >::Matrix3fX ( const Matrix3fX< T > &  other)
inline
template<typename T>
fcl::Matrix3fX< T >::Matrix3fX ( const T &  data_)
inline

Member Function Documentation

template<typename T>
Matrix3fX<T>& fcl::Matrix3fX< T >::abs ( )
inline
template<typename T>
U fcl::Matrix3fX< T >::determinant ( ) const
inline
template<typename T>
U fcl::Matrix3fX< T >::dot ( size_t  i,
const Vec3fX< S > &  v 
) const
inline
template<typename T>
U fcl::Matrix3fX< T >::dotX ( const Vec3fX< S > &  v) const
inline
template<typename T>
U fcl::Matrix3fX< T >::dotY ( const Vec3fX< S > &  v) const
inline
template<typename T>
U fcl::Matrix3fX< T >::dotZ ( const Vec3fX< S > &  v) const
inline
template<typename T>
Vec3fX<S> fcl::Matrix3fX< T >::getColumn ( size_t  i) const
inline
template<typename T>
static const Matrix3fX<T>& fcl::Matrix3fX< T >::getIdentity ( )
inlinestatic
template<typename T>
Vec3fX<S> fcl::Matrix3fX< T >::getRow ( size_t  i) const
inline
template<typename T>
Matrix3fX<T>& fcl::Matrix3fX< T >::inverse ( )
inline
template<typename T>
bool fcl::Matrix3fX< T >::isIdentity ( ) const
inline
template<typename T>
U fcl::Matrix3fX< T >::operator() ( size_t  i,
size_t  j 
) const
inline
template<typename T>
U& fcl::Matrix3fX< T >::operator() ( size_t  i,
size_t  j 
)
inline
template<typename T>
Vec3fX<S> fcl::Matrix3fX< T >::operator* ( const Vec3fX< S > &  v) const
inline
template<typename T>
Matrix3fX<T> fcl::Matrix3fX< T >::operator* ( const Matrix3fX< T > &  m) const
inline
template<typename T>
Matrix3fX<T> fcl::Matrix3fX< T >::operator* ( U  c) const
inline
template<typename T>
Matrix3fX<T>& fcl::Matrix3fX< T >::operator*= ( const Matrix3fX< T > &  other)
inline
template<typename T>
Matrix3fX<T>& fcl::Matrix3fX< T >::operator*= ( U  c)
inline
template<typename T>
Matrix3fX<T> fcl::Matrix3fX< T >::operator+ ( const Matrix3fX< T > &  other) const
inline
template<typename T>
Matrix3fX<T> fcl::Matrix3fX< T >::operator+ ( U  c) const
inline
template<typename T>
Matrix3fX<T>& fcl::Matrix3fX< T >::operator+= ( const Matrix3fX< T > &  other)
inline
template<typename T>
Matrix3fX<T>& fcl::Matrix3fX< T >::operator+= ( U  c)
inline
template<typename T>
Matrix3fX<T> fcl::Matrix3fX< T >::operator- ( const Matrix3fX< T > &  other) const
inline
template<typename T>
Matrix3fX<T> fcl::Matrix3fX< T >::operator- ( U  c) const
inline
template<typename T>
Matrix3fX<T>& fcl::Matrix3fX< T >::operator-= ( const Matrix3fX< T > &  other)
inline
template<typename T>
Matrix3fX<T>& fcl::Matrix3fX< T >::operator-= ( U  c)
inline
template<typename T>
Matrix3fX<T> fcl::Matrix3fX< T >::operator/ ( U  c) const
inline
template<typename T>
Matrix3fX<T>& fcl::Matrix3fX< T >::operator/= ( U  c)
inline
template<typename T>
void fcl::Matrix3fX< T >::setEulerYPR ( FCL_REAL  yaw,
FCL_REAL  pitch,
FCL_REAL  roll 
)
inline

Set the matrix from euler angles using YPR around YXZ respectively.

Parameters
yawYaw about Y axis
pitchPitch about X axis
rollRoll about Z axis
template<typename T>
void fcl::Matrix3fX< T >::setEulerZYX ( FCL_REAL  eulerX,
FCL_REAL  eulerY,
FCL_REAL  eulerZ 
)
inline

Set the matrix from euler angles YPR around ZYX axes.

Parameters
eulerXRoll about X axis
eulerYPitch around Y axis
eulerZYaw aboud Z axis

These angles are used to produce a rotation matrix. The euler angles are applied in ZYX order. I.e a vector is first rotated about X then Y and then Z

Referenced by fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::setEulerYPR().

template<typename T>
void fcl::Matrix3fX< T >::setIdentity ( )
inline
template<typename T>
void fcl::Matrix3fX< T >::setValue ( U  xx,
U  xy,
U  xz,
U  yx,
U  yy,
U  yz,
U  zx,
U  zy,
U  zz 
)
inline
template<typename T>
void fcl::Matrix3fX< T >::setValue ( U  x)
inline
template<typename T>
void fcl::Matrix3fX< T >::setZero ( )
inline

Referenced by fcl::Variance3f::sqrt().

template<typename T>
Matrix3fX<T> fcl::Matrix3fX< T >::tensorTransform ( const Matrix3fX< T > &  m) const
inline
template<typename T>
Matrix3fX<T> fcl::Matrix3fX< T >::timesTranspose ( const Matrix3fX< T > &  other) const
inline
template<typename T>
Matrix3fX<T>& fcl::Matrix3fX< T >::transpose ( )
inline
template<typename T>
U fcl::Matrix3fX< T >::transposeDot ( size_t  i,
const Vec3fX< S > &  v 
) const
inline
template<typename T>
U fcl::Matrix3fX< T >::transposeDotX ( const Vec3fX< S > &  v) const
inline
template<typename T>
U fcl::Matrix3fX< T >::transposeDotY ( const Vec3fX< S > &  v) const
inline
template<typename T>
U fcl::Matrix3fX< T >::transposeDotZ ( const Vec3fX< S > &  v) const
inline
template<typename T>
Vec3fX<S> fcl::Matrix3fX< T >::transposeTimes ( const Vec3fX< S > &  v) const
inline

Member Data Documentation