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

FX::FXQuatd Class Reference

#include <FXQuatd.h>

Inheritance diagram for FX::FXQuatd:
FX::FXVec4d

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
 
- Public Member Functions inherited from FX::FXVec4d
 FXVec4d ()
 
 FXVec4d (const FXVec4d &v)
 
 FXVec4d (const FXVec3d &v, FXdouble ww=1.0)
 
 FXVec4d (const FXdouble v[])
 
 FXVec4d (FXdouble xx, FXdouble yy, FXdouble zz, FXdouble ww=1.0)
 
 FXVec4d (FXColor color)
 
FXdoubleoperator[] (FXint i)
 
const FXdoubleoperator[] (FXint i) const
 
FXVec4doperator= (FXColor color)
 
FXVec4doperator= (const FXVec3d &v)
 
FXVec4doperator= (const FXVec4d &v)
 
FXVec4doperator= (const FXdouble v[])
 
FXVec4dset (const FXVec4d &v)
 
FXVec4dset (const FXdouble v[])
 
FXVec4dset (FXdouble xx, FXdouble yy, FXdouble zz, FXdouble ww)
 
FXVec4doperator*= (FXdouble n)
 
FXVec4doperator/= (FXdouble n)
 
FXVec4doperator+= (const FXVec4d &v)
 
FXVec4doperator-= (const FXVec4d &v)
 
 operator FXdouble * ()
 
 operator const FXdouble * () const
 
 operator FXVec3d & ()
 
 operator const FXVec3d & () const
 
 operator FXColor () const
 
FXVec4d operator+ () const
 
FXVec4d operator- () const
 
FXVec4d operator+ (const FXVec4d &v) const
 
FXVec4d operator- (const FXVec4d &v) const
 
FXVec4d operator* (const FXMat4d &m) const
 
FXdouble operator* (const FXVec4d &v) const
 
bool operator! () const
 
bool operator== (const FXVec4d &v) const
 
bool operator!= (const FXVec4d &v) const
 
bool operator< (const FXVec4d &v) const
 
bool operator<= (const FXVec4d &v) const
 
bool operator> (const FXVec4d &v) const
 
bool operator>= (const FXVec4d &v) const
 
FXdouble length2 () const
 
FXdouble length () const
 
FXVec4dclamp (FXdouble lo, FXdouble hi)
 
FXdouble distance (const FXVec3d &p) const
 
bool crosses (const FXVec3d &a, const FXVec3d &b) const
 

Additional Inherited Members

- Public Attributes inherited from FX::FXVec4d
FXdouble x
 
FXdouble y
 
FXdouble z
 
FXdouble w
 

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