MRPT logo

mrpt::math::CQuaternion< T > Class Template Reference

#include <mrpt/math/CQuaternion.h>

Inheritance diagram for mrpt::math::CQuaternion< T >:

mrpt::math::CVectorTemplate< T >

List of all members.

Public Member Functions

 CQuaternion ()
 General functions for quaternion.
 CQuaternion (const T &r, const T &x, const T &y, const T &z)
 Construct a quaternion based on his parameters 'qr', 'qx', 'qy', 'qz'.
 CQuaternion (const CQuaternion &qin)
 Construct a quaternion as copy of an input quaternion.
 CQuaternion (const CVectorTemplate< T > &in)
 Construct a quaternion from a 3D input vector.
r () const
 Return r coordinate of the quaternion.
x () const
 Return x coordinate of the quaternion.
y () const
 Return y coordinate of the quaternion.
z () const
 Return z coordinate of the quaternion.
void r (const T &r)
 Set r coordinate of the quaternion.
void x (const T &x)
 Set x coordinate of the quaternion.
void y (const T &y)
 Set y coordinate of the quaternion.
void z (const T &z)
 Set z coordinate of the quaternion.
void q_conv (const CVectorTemplate< T > &in)
 Calculate the quaternion associated to a vector.
void q_prod (const CQuaternion &qin1, const CQuaternion &qin2)
 Calculate the cross product of two quaternion.
void q_normalise ()
 Normalised quaternion.
void q_normJac (CMatrixTemplateNumeric< T > &J)
 Calculate the normalized Jacobian of a quaternion.
void q_rotation_matrix (CMatrixTemplateNumeric< T > &M)
 Calculate de rotation matrix associated to a quaternion.
CQuaternion q_conj ()
 Change a quaternion by his conjugate.
void rpy (T &r, T &p, T &y)
 Return the roll, pitch and yaw angle associated to quaternion.
CQuaternion operator* (const T &factor)


Detailed Description

template<class T>
class mrpt::math::CQuaternion< T >

Definition at line 42 of file CQuaternion.h.


Constructor & Destructor Documentation

template<class T >
mrpt::math::CQuaternion< T >::CQuaternion (  )  [inline]

General functions for quaternion.

This quaternion class represents a 3D rotation as a complex vector with 3 imaginary parts x, y, z and 1 real part r. Where q = r + ix + jy + kz. Default constructor. Construct an empty quaternion

Definition at line 55 of file CQuaternion.h.

template<class T >
mrpt::math::CQuaternion< T >::CQuaternion ( const T &  r,
const T &  x,
const T &  y,
const T &  z 
) [inline]

Construct a quaternion based on his parameters 'qr', 'qx', 'qy', 'qz'.

Definition at line 63 of file CQuaternion.h.

template<class T >
mrpt::math::CQuaternion< T >::CQuaternion ( const CQuaternion< T > &  qin  )  [inline]

Construct a quaternion as copy of an input quaternion.

Definition at line 75 of file CQuaternion.h.

template<class T >
mrpt::math::CQuaternion< T >::CQuaternion ( const CVectorTemplate< T > &  in  )  [inline]

Construct a quaternion from a 3D input vector.

Definition at line 84 of file CQuaternion.h.

References THROW_EXCEPTION, mrpt::math::CQuaternion< T >::x(), mrpt::math::CQuaternion< T >::y(), and mrpt::math::CQuaternion< T >::z().


Member Function Documentation

template<class T >
CQuaternion mrpt::math::CQuaternion< T >::operator* ( const T &  factor  )  [inline]

Definition at line 270 of file CQuaternion.h.

template<class T >
CQuaternion mrpt::math::CQuaternion< T >::q_conj (  )  [inline]

Change a quaternion by his conjugate.

Definition at line 246 of file CQuaternion.h.

template<class T >
void mrpt::math::CQuaternion< T >::q_conv ( const CVectorTemplate< T > &  in  )  [inline]

Calculate the quaternion associated to a vector.

Definition at line 152 of file CQuaternion.h.

References ASSERT_, mrpt::math::CQuaternion< T >::x(), mrpt::math::CQuaternion< T >::y(), and mrpt::math::CQuaternion< T >::z().

template<class T >
void mrpt::math::CQuaternion< T >::q_normalise (  )  [inline]

Normalised quaternion.

Definition at line 197 of file CQuaternion.h.

template<class T >
void mrpt::math::CQuaternion< T >::q_normJac ( CMatrixTemplateNumeric< T > &  J  )  [inline]

Calculate the normalized Jacobian of a quaternion.

Definition at line 208 of file CQuaternion.h.

References mrpt::math::CMatrixTemplateNumeric< T >::setSize().

template<class T >
void mrpt::math::CQuaternion< T >::q_prod ( const CQuaternion< T > &  qin1,
const CQuaternion< T > &  qin2 
) [inline]

Calculate the cross product of two quaternion.

The result is an other quaternion

Definition at line 170 of file CQuaternion.h.

References mrpt::math::CQuaternion< T >::r(), mrpt::math::CQuaternion< T >::x(), mrpt::math::CQuaternion< T >::y(), and mrpt::math::CQuaternion< T >::z().

template<class T >
void mrpt::math::CQuaternion< T >::q_rotation_matrix ( CMatrixTemplateNumeric< T > &  M  )  [inline]

Calculate de rotation matrix associated to a quaternion.

Definition at line 229 of file CQuaternion.h.

References mrpt::math::CMatrixTemplateNumeric< T >::setSize().

template<class T >
void mrpt::math::CQuaternion< T >::r ( const T &  r  )  [inline]

Set r coordinate of the quaternion.

Definition at line 135 of file CQuaternion.h.

template<class T >
T mrpt::math::CQuaternion< T >::r (  )  const [inline]

Return r coordinate of the quaternion.

Definition at line 119 of file CQuaternion.h.

Referenced by mrpt::math::CQuaternion< T >::q_prod().

template<class T >
void mrpt::math::CQuaternion< T >::rpy ( T &  r,
T &  p,
T &  y 
) [inline]

Return the roll, pitch and yaw angle associated to quaternion.

Definition at line 259 of file CQuaternion.h.

template<class T >
void mrpt::math::CQuaternion< T >::x ( const T &  x  )  [inline]

Set x coordinate of the quaternion.

Definition at line 139 of file CQuaternion.h.

template<class T >
T mrpt::math::CQuaternion< T >::x (  )  const [inline]

Return x coordinate of the quaternion.

Definition at line 123 of file CQuaternion.h.

Referenced by mrpt::math::CQuaternion< T >::CQuaternion(), mrpt::math::CQuaternion< T >::q_conv(), and mrpt::math::CQuaternion< T >::q_prod().

template<class T >
void mrpt::math::CQuaternion< T >::y ( const T &  y  )  [inline]

Set y coordinate of the quaternion.

Definition at line 143 of file CQuaternion.h.

template<class T >
T mrpt::math::CQuaternion< T >::y (  )  const [inline]

Return y coordinate of the quaternion.

Definition at line 127 of file CQuaternion.h.

Referenced by mrpt::math::CQuaternion< T >::CQuaternion(), mrpt::math::CQuaternion< T >::q_conv(), and mrpt::math::CQuaternion< T >::q_prod().

template<class T >
void mrpt::math::CQuaternion< T >::z ( const T &  z  )  [inline]

Set z coordinate of the quaternion.

Definition at line 147 of file CQuaternion.h.

template<class T >
T mrpt::math::CQuaternion< T >::z (  )  const [inline]

Return z coordinate of the quaternion.

Definition at line 131 of file CQuaternion.h.

Referenced by mrpt::math::CQuaternion< T >::CQuaternion(), mrpt::math::CQuaternion< T >::q_conv(), and mrpt::math::CQuaternion< T >::q_prod().




Page generated by Doxygen 1.5.9 for MRPT 0.6.5 SVN: at Sun Aug 2 11:39:56 CDT 2009