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]

Default constructor; value is not initialized.

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-2009 Jeroen van der Zijp