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 & adjust ()
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

Friends

FXQuatd exp (const FXQuatd &q)
FXQuatd log (const FXQuatd &q)
FXQuatd invert (const FXQuatd &q)
FXQuatd unitinvert (const FXQuatd &q)
FXQuatd conj (const FXQuatd &q)
FXQuatd operator * (const FXQuatd &p, const FXQuatd &q)
FXVec3d operator * (const FXQuatd &quat, const FXVec3d &vec)
FXQuatd arc (const FXVec3d &a, const FXVec3d &b)
FXQuatd lerp (const FXQuatd &u, const FXQuatd &v, FXdouble f)

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 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).


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 yaw (z), pitch (y), and roll (x).

void FX::FXQuatd::getRollPitchYaw (  FXdouble &  roll,
FXdouble &  pitch,
FXdouble &  yaw
)  const
 

Obtain yaw, pitch, and roll from quaternion.


Friends And Related Function Documentation

FXQuatd exp (  const FXQuatd &  q  )  [friend]
 

Exponentiate quaternion.

FXQuatd log (  const FXQuatd &  q  )  [friend]
 

Take logarithm of quaternion.

FXQuatd invert (  const FXQuatd &  q  )  [friend]
 

Invert quaternion.

FXQuatd unitinvert (  const FXQuatd &  q  )  [friend]
 

Invert unit quaternion.

FXQuatd conj (  const FXQuatd &  q  )  [friend]
 

Conjugate quaternion.

FXQuatd operator * (  const FXQuatd &  p,
const FXQuatd &  q
)  [friend]
 

Multiply quaternions.

FXQuatd arc (  const FXVec3d &  a,
const FXVec3d &  b
)  [friend]
 

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

FXQuatd lerp (  const FXQuatd &  u,
const FXQuatd &  v,
FXdouble  f
)  [friend]
 

Spherical lerp.

Copyright © 1997-2004 Jeroen van der Zijp