All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions
tf::Quaternion Class Reference

The Quaternion implements quaternion to perform linear algebra rotations in combination with Matrix3x3, Vector3 and Transform. More...

#include <Quaternion.h>

List of all members.

Public Member Functions

tfScalar angle (const Quaternion &q) const
 Return the ***half*** angle between this quaternion and the other.
tfScalar angleShortestPath (const Quaternion &q) const
 Return the angle between this quaternion and the other along the shortest path.
TFSIMD_FORCE_INLINE btQuaternion as_bt () const __attribute__((deprecated))
 return a btQuaternion
TFSIMD_FORCE_INLINE btQuaternion asBt () const
tfScalar dot (const Quaternion &q) const
 Return the dot product between this quaternion and another.
TFSIMD_FORCE_INLINE Quaternion farthest (const Quaternion &qd) const
tfScalar getAngle () const
 Return the angle of rotation represented by this quaternion.
tfScalar getAngleShortestPath () const
 Return the angle of rotation represented by this quaternion along the shortest path.
Vector3 getAxis () const
 Return the axis of the rotation represented by this quaternion.
TFSIMD_FORCE_INLINE const
tfScalar
getW () const
Quaternion inverse () const
 Return the inverse of this quaternion.
tfScalar length () const
 Return the length of the quaternion.
tfScalar length2 () const
 Return the length squared of the quaternion.
TFSIMD_FORCE_INLINE Quaternion nearest (const Quaternion &qd) const
Quaternionnormalize ()
 Normalize the quaternion Such that x^2 + y^2 + z^2 +w^2 = 1.
Quaternion normalized () const
 Return a normalized version of this quaternion.
TFSIMD_FORCE_INLINE Quaternion operator* (const tfScalar &s) const
 Return a scaled version of this quaternion.
Quaternionoperator*= (const tfScalar &s)
 Scale this quaternion.
Quaternionoperator*= (const Quaternion &q)
 Multiply this quaternion by q on the right.
TFSIMD_FORCE_INLINE Quaternion operator+ (const Quaternion &q2) const
 Return the sum of this quaternion and the other.
TFSIMD_FORCE_INLINE Quaternionoperator+= (const Quaternion &q)
 Add two quaternions.
TFSIMD_FORCE_INLINE Quaternion operator- (const Quaternion &q2) const
 Return the difference between this quaternion and the other.
TFSIMD_FORCE_INLINE Quaternion operator- () const
 Return the negative of this quaternion This simply negates each element.
Quaternionoperator-= (const Quaternion &q)
 Sutfract out a quaternion.
Quaternion operator/ (const tfScalar &s) const
 Return an inversely scaled versionof this quaternion.
Quaternionoperator/= (const tfScalar &s)
 Inversely scale this quaternion.
TFSIMD_FORCE_INLINE Quaternionoperator= (const btQuaternion &q)
 Assignment from btQuaternion.
 Quaternion ()
 No initialization constructor.
TFSIMD_FORCE_INLINE Quaternion (const btQuaternion &q)
 Constructor from btQuaternion.
 Quaternion (const tfScalar &x, const tfScalar &y, const tfScalar &z, const tfScalar &w)
 Constructor from scalars.
 Quaternion (const Vector3 &axis, const tfScalar &angle)
 Axis angle Constructor.
 Quaternion (const tfScalar &yaw, const tfScalar &pitch, const tfScalar &roll) __attribute__((deprecated))
 Constructor from Euler angles.
void setEuler (const tfScalar &yaw, const tfScalar &pitch, const tfScalar &roll)
 Set the quaternion using Euler angles.
void setEulerZYX (const tfScalar &yaw, const tfScalar &pitch, const tfScalar &roll) __attribute__((deprecated))
 Set the quaternion using euler angles.
void setRotation (const Vector3 &axis, const tfScalar &angle)
 Set the rotation using axis angle notation.
void setRPY (const tfScalar &roll, const tfScalar &pitch, const tfScalar &yaw)
 Set the quaternion using fixed axis RPY.
Quaternion slerp (const Quaternion &q, const tfScalar &t) const
 Return the quaternion which is the result of Spherical Linear Interpolation between this and the other quaternion.

Static Public Member Functions

static const QuaterniongetIdentity ()

Detailed Description

The Quaternion implements quaternion to perform linear algebra rotations in combination with Matrix3x3, Vector3 and Transform.

Definition at line 30 of file Quaternion.h.


Constructor & Destructor Documentation

No initialization constructor.

Definition at line 33 of file Quaternion.h.

TFSIMD_FORCE_INLINE tf::Quaternion::Quaternion ( const btQuaternion &  q) [inline]

Constructor from btQuaternion.

Parameters:
thebtQuaternion to copy

Definition at line 38 of file Quaternion.h.

tf::Quaternion::Quaternion ( const tfScalar x,
const tfScalar y,
const tfScalar z,
const tfScalar w 
) [inline]

Constructor from scalars.

Definition at line 46 of file Quaternion.h.

tf::Quaternion::Quaternion ( const Vector3 &  axis,
const tfScalar angle 
) [inline]

Axis angle Constructor.

Parameters:
axisThe axis which the rotation is around
angleThe magnitude of the rotation around the angle (Radians)

Definition at line 52 of file Quaternion.h.

tf::Quaternion::Quaternion ( const tfScalar yaw,
const tfScalar pitch,
const tfScalar roll 
) [inline]

Constructor from Euler angles.

Parameters:
yawAngle around Y unless TF_EULER_DEFAULT_ZYX defined then Z
pitchAngle around X unless TF_EULER_DEFAULT_ZYX defined then Y
rollAngle around Z unless TF_EULER_DEFAULT_ZYX defined then X

Definition at line 60 of file Quaternion.h.


Member Function Documentation

tfScalar tf::Quaternion::angle ( const Quaternion q) const [inline]

Return the ***half*** angle between this quaternion and the other.

Parameters:
qThe other quaternion

Definition at line 240 of file Quaternion.h.

tfScalar tf::Quaternion::angleShortestPath ( const Quaternion q) const [inline]

Return the angle between this quaternion and the other along the shortest path.

Parameters:
qThe other quaternion

Definition at line 248 of file Quaternion.h.

TFSIMD_FORCE_INLINE btQuaternion tf::Quaternion::as_bt ( ) const [inline]

return a btQuaternion

Definition at line 147 of file Quaternion.h.

TFSIMD_FORCE_INLINE btQuaternion tf::Quaternion::asBt ( void  ) const [inline]

Definition at line 148 of file Quaternion.h.

tfScalar tf::Quaternion::dot ( const Quaternion q) const [inline]

Return the dot product between this quaternion and another.

Parameters:
qThe other quaternion

Definition at line 184 of file Quaternion.h.

Todo:
document this and it's use

Definition at line 318 of file Quaternion.h.

tfScalar tf::Quaternion::getAngle ( ) const [inline]

Return the angle of rotation represented by this quaternion.

Definition at line 258 of file Quaternion.h.

Return the angle of rotation represented by this quaternion along the shortest path.

Definition at line 265 of file Quaternion.h.

Vector3 tf::Quaternion::getAxis ( ) const [inline]

Return the axis of the rotation represented by this quaternion.

Definition at line 277 of file Quaternion.h.

static const Quaternion& tf::Quaternion::getIdentity ( ) [inline, static]

Definition at line 370 of file Quaternion.h.

Definition at line 376 of file Quaternion.h.

Quaternion tf::Quaternion::inverse ( ) const [inline]

Return the inverse of this quaternion.

Definition at line 287 of file Quaternion.h.

tfScalar tf::Quaternion::length ( ) const [inline]

Return the length of the quaternion.

Definition at line 196 of file Quaternion.h.

tfScalar tf::Quaternion::length2 ( ) const [inline]

Return the length squared of the quaternion.

Definition at line 190 of file Quaternion.h.

Todo:
document this and it's use

Definition at line 329 of file Quaternion.h.

Normalize the quaternion Such that x^2 + y^2 + z^2 +w^2 = 1.

Definition at line 203 of file Quaternion.h.

Return a normalized version of this quaternion.

Definition at line 234 of file Quaternion.h.

TFSIMD_FORCE_INLINE Quaternion tf::Quaternion::operator* ( const tfScalar s) const [inline]

Return a scaled version of this quaternion.

Parameters:
sThe scale factor

Definition at line 211 of file Quaternion.h.

Quaternion& tf::Quaternion::operator*= ( const tfScalar s) [inline]

Scale this quaternion.

Parameters:
sThe scalar to scale by

Definition at line 165 of file Quaternion.h.

Quaternion& tf::Quaternion::operator*= ( const Quaternion q) [inline]

Multiply this quaternion by q on the right.

Parameters:
qThe other quaternion Equivilant to this = this * q

Definition at line 174 of file Quaternion.h.

TFSIMD_FORCE_INLINE Quaternion tf::Quaternion::operator+ ( const Quaternion q2) const [inline]

Return the sum of this quaternion and the other.

Parameters:
q2The other quaternion

Definition at line 295 of file Quaternion.h.

TFSIMD_FORCE_INLINE Quaternion& tf::Quaternion::operator+= ( const Quaternion q) [inline]

Add two quaternions.

Parameters:
qThe quaternion to add to this one

Definition at line 129 of file Quaternion.h.

TFSIMD_FORCE_INLINE Quaternion tf::Quaternion::operator- ( const Quaternion q2) const [inline]

Return the difference between this quaternion and the other.

Parameters:
q2The other quaternion

Definition at line 304 of file Quaternion.h.

TFSIMD_FORCE_INLINE Quaternion tf::Quaternion::operator- ( ) const [inline]

Return the negative of this quaternion This simply negates each element.

Definition at line 312 of file Quaternion.h.

Quaternion& tf::Quaternion::operator-= ( const Quaternion q) [inline]

Sutfract out a quaternion.

Parameters:
qThe quaternion to sutfract from this one

Definition at line 157 of file Quaternion.h.

Quaternion tf::Quaternion::operator/ ( const tfScalar s) const [inline]

Return an inversely scaled versionof this quaternion.

Parameters:
sThe inverse scale factor

Definition at line 219 of file Quaternion.h.

Quaternion& tf::Quaternion::operator/= ( const tfScalar s) [inline]

Inversely scale this quaternion.

Parameters:
sThe scale factor

Definition at line 227 of file Quaternion.h.

TFSIMD_FORCE_INLINE Quaternion& tf::Quaternion::operator= ( const btQuaternion &  q) [inline]

Assignment from btQuaternion.

Parameters:
thebtQuaternion to copy

Definition at line 139 of file Quaternion.h.

void tf::Quaternion::setEuler ( const tfScalar yaw,
const tfScalar pitch,
const tfScalar roll 
) [inline]

Set the quaternion using Euler angles.

Parameters:
yawAngle around Y
pitchAngle around X
rollAngle around Z

Definition at line 83 of file Quaternion.h.

void tf::Quaternion::setEulerZYX ( const tfScalar yaw,
const tfScalar pitch,
const tfScalar roll 
) [inline]

Set the quaternion using euler angles.

Parameters:
yawAngle around Z
pitchAngle around Y
rollAngle around X

Definition at line 123 of file Quaternion.h.

void tf::Quaternion::setRotation ( const Vector3 &  axis,
const tfScalar angle 
) [inline]

Set the rotation using axis angle notation.

Parameters:
axisThe axis around which to rotate
angleThe magnitude of the rotation in Radians

Definition at line 71 of file Quaternion.h.

void tf::Quaternion::setRPY ( const tfScalar roll,
const tfScalar pitch,
const tfScalar yaw 
) [inline]

Set the quaternion using fixed axis RPY.

Parameters:
rollAngle around X
pitchAngle around Y
yawAngle around Z

Definition at line 103 of file Quaternion.h.

Quaternion tf::Quaternion::slerp ( const Quaternion q,
const tfScalar t 
) const [inline]

Return the quaternion which is the result of Spherical Linear Interpolation between this and the other quaternion.

Parameters:
qThe other quaternion to interpolate with
tThe ratio between this and q to interpolate. If t = 0 the result is this, if t=1 the result is q. Slerp interpolates assuming constant velocity.

Definition at line 344 of file Quaternion.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


tf
Author(s): Tully Foote, Eitan Marder-Eppstein, Wim Meeussen
autogenerated on Thu Aug 22 2013 11:29:02