Public Types | Public Member Functions | Static Public Member Functions | Public Attributes
fcl::Matrix3fX< T > Class Template Reference

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

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

Collaboration diagram for fcl::Matrix3fX< T >:
[legend]

List of all members.

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.
void setEulerYPR (FCL_REAL yaw, FCL_REAL pitch, FCL_REAL roll)
 Set the matrix from euler angles using YPR around YXZ respectively.
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 ( ) [inline, static]
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>
Matrix3fX<T> fcl::Matrix3fX< T >::transposeTimes ( const Matrix3fX< T > &  other) const [inline]
template<typename T>
Vec3fX<S> fcl::Matrix3fX< T >::transposeTimes ( const Vec3fX< S > &  v) const [inline]

Member Data Documentation

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

Referenced by fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::abs(), fcl::abs(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::determinant(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::dot(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::dotX(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::dotY(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::dotZ(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::getColumn(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::getRow(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::inverse(), fcl::inverse(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::isIdentity(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::operator()(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::operator*(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::operator*=(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::operator+(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::operator+=(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::operator-(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::operator-=(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::operator/(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::operator/=(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::setIdentity(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::setValue(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::setZero(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::timesTranspose(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::transpose(), fcl::transpose(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::transposeDot(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::transposeDotX(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::transposeDotY(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::transposeDotZ(), and fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::transposeTimes().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines