Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FX::FXQuatd Class Reference

Double-precision quaternion. More...

#include <FXQuatd.h>

Inheritance diagram for FX::FXQuatd:

FX::FXVec4d List of all members.

Public Member Functions

 FXQuatd ()
 FXQuatd (const FXQuatd &q)
 FXQuatd (FXdouble xx, FXdouble yy, FXdouble zz, FXdouble ww)
 FXQuatd (const FXdouble v[])
 FXQuatd (const FXVec3d &axis, FXdouble phi=0.0)
 FXQuatd (FXdouble roll, FXdouble pitch, FXdouble yaw)
 FXQuatd (const FXVec3d &fr, const FXVec3d &to)
 FXQuatd (const FXVec3d &ex, const FXVec3d &ey, const FXVec3d &ez)
 FXQuatd (const FXMat3d &mat)
FXQuatdadjust ()
void setAxisAngle (const FXVec3d &axis, FXdouble phi=0.0)
void getAxisAngle (FXVec3d &axis, FXdouble &phi) const
void setRollPitchYaw (FXdouble roll, FXdouble pitch, FXdouble yaw)
void getRollPitchYaw (FXdouble &roll, FXdouble &pitch, FXdouble &yaw) const
void setYawPitchRoll (FXdouble yaw, FXdouble pitch, FXdouble roll)
void getYawPitchRoll (FXdouble &yaw, FXdouble &pitch, FXdouble &roll) const
void setRollYawPitch (FXdouble roll, FXdouble yaw, FXdouble pitch)
void getRollYawPitch (FXdouble &roll, FXdouble &yaw, FXdouble &pitch) const
void setPitchRollYaw (FXdouble pitch, FXdouble roll, FXdouble yaw)
void getPitchRollYaw (FXdouble &pitch, FXdouble &roll, FXdouble &yaw) const
void setPitchYawRoll (FXdouble pitch, FXdouble yaw, FXdouble roll)
void getPitchYawRoll (FXdouble &pitch, FXdouble &yaw, FXdouble &roll) const
void setYawRollPitch (FXdouble yaw, FXdouble roll, FXdouble pitch)
void getYawRollPitch (FXdouble &yaw, FXdouble &roll, FXdouble &pitch) const
void setAxes (const FXVec3d &ex, const FXVec3d &ey, const FXVec3d &ez)
void getAxes (FXVec3d &ex, FXVec3d &ey, FXVec3d &ez) const
FXVec3d getXAxis () const
FXVec3d getYAxis () const
FXVec3d getZAxis () const
FXQuatd exp () const
FXQuatd log () const
FXQuatd invert () const
FXQuatd unitinvert () const
FXQuatd conj () const
FXQuatdarc (const FXVec3d &a, const FXVec3d &b)
FXQuatdlerp (const FXQuatd &u, const FXQuatd &v, FXdouble f)
FXQuatd operator * (const FXQuatd &q) const
FXVec3d operator * (const FXVec3d &v) const

Detailed Description

Double-precision quaternion.


Constructor & Destructor Documentation

FX::FXQuatd::FXQuatd  )  [inline]
 

Constructors.

FX::FXQuatd::FXQuatd const FXQuatd q  )  [inline]
 

Copy constructor.

FX::FXQuatd::FXQuatd FXdouble  xx,
FXdouble  yy,
FXdouble  zz,
FXdouble  ww
[inline]
 

Construct from components.

FX::FXQuatd::FXQuatd const FXdouble  v[]  )  [inline]
 

Construct from array of doubles.

FX::FXQuatd::FXQuatd const FXVec3d axis,
FXdouble  phi = 0.0
 

Construct from axis and angle.

FX::FXQuatd::FXQuatd FXdouble  roll,
FXdouble  pitch,
FXdouble  yaw
 

Construct from euler angles yaw (z), pitch (y), and roll (x).

FX::FXQuatd::FXQuatd const FXVec3d fr,
const FXVec3d to
 

Construct quaternion from two unit vectors.

FX::FXQuatd::FXQuatd const FXVec3d ex,
const FXVec3d ey,
const FXVec3d ez
 

Construct quaternion from three axes.

FX::FXQuatd::FXQuatd const FXMat3d mat  ) 
 

Construct quaternion from 3x3 matrix.


Member Function Documentation

FXQuatd& FX::FXQuatd::adjust  ) 
 

Adjust quaternion length.

void FX::FXQuatd::setAxisAngle const FXVec3d axis,
FXdouble  phi = 0.0
 

Set quaternion from axis and angle.

void FX::FXQuatd::getAxisAngle FXVec3d axis,
FXdouble phi
const
 

Obtain axis and angle from quaternion.

void FX::FXQuatd::setRollPitchYaw FXdouble  roll,
FXdouble  pitch,
FXdouble  yaw
 

Set quaternion from roll (x), pitch (y), yaw (z).

void FX::FXQuatd::getRollPitchYaw FXdouble roll,
FXdouble pitch,
FXdouble yaw
const
 

void FX::FXQuatd::setYawPitchRoll FXdouble  yaw,
FXdouble  pitch,
FXdouble  roll
 

Set quaternion from yaw (z), pitch (y), roll (x).

void FX::FXQuatd::getYawPitchRoll FXdouble yaw,
FXdouble pitch,
FXdouble roll
const
 

void FX::FXQuatd::setRollYawPitch FXdouble  roll,
FXdouble  yaw,
FXdouble  pitch
 

Set quaternion from roll (x), yaw (z), pitch (y).

void FX::FXQuatd::getRollYawPitch FXdouble roll,
FXdouble yaw,
FXdouble pitch
const
 

void FX::FXQuatd::setPitchRollYaw FXdouble  pitch,
FXdouble  roll,
FXdouble  yaw
 

Set quaternion from pitch (y), roll (x),yaw (z).

void FX::FXQuatd::getPitchRollYaw FXdouble pitch,
FXdouble roll,
FXdouble yaw
const
 

void FX::FXQuatd::setPitchYawRoll FXdouble  pitch,
FXdouble  yaw,
FXdouble  roll
 

Set quaternion from pitch (y), yaw (z), roll (x).

void FX::FXQuatd::getPitchYawRoll FXdouble pitch,
FXdouble yaw,
FXdouble roll
const
 

void FX::FXQuatd::setYawRollPitch FXdouble  yaw,
FXdouble  roll,
FXdouble  pitch
 

Set quaternion from yaw (z), roll (x), pitch (y).

void FX::FXQuatd::getYawRollPitch FXdouble yaw,
FXdouble roll,
FXdouble pitch
const
 

void FX::FXQuatd::setAxes const FXVec3d ex,
const FXVec3d ey,
const FXVec3d ez
 

Set quaternion from axes.

void FX::FXQuatd::getAxes FXVec3d ex,
FXVec3d ey,
FXVec3d ez
const
 

Get quaternion axes.

FXVec3d FX::FXQuatd::getXAxis  )  const
 

Obtain local x axis.

FXVec3d FX::FXQuatd::getYAxis  )  const
 

Obtain local y axis.

FXVec3d FX::FXQuatd::getZAxis  )  const
 

Obtain local z axis.

FXQuatd FX::FXQuatd::exp  )  const
 

Exponentiate quaternion.

FXQuatd FX::FXQuatd::log  )  const
 

Take logarithm of quaternion.

FXQuatd FX::FXQuatd::invert  )  const
 

Invert quaternion.

FXQuatd FX::FXQuatd::unitinvert  )  const
 

Invert unit quaternion.

FXQuatd FX::FXQuatd::conj  )  const
 

Conjugate quaternion.

FXQuatd& FX::FXQuatd::arc const FXVec3d a,
const FXVec3d b
 

Construct quaternion from arc a->b on unit sphere.

FXQuatd& FX::FXQuatd::lerp const FXQuatd u,
const FXQuatd v,
FXdouble  f
 

Spherical lerp.

FXQuatd FX::FXQuatd::operator * const FXQuatd q  )  const
 

Multiply quaternions.

FXVec3d FX::FXQuatd::operator * const FXVec3d v  )  const
 

Rotation of a vector by a quaternion.

Copyright © 1997-2005 Jeroen van der Zijp