FX::FXQuatd Class Reference

#include <FXQuatd.h>

Inheritance diagram for FX::FXQuatd:

Inheritance graph
[legend]

List of all members.


Detailed Description

Double-precision quaternion.

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
FXdouble & operator[] (FXint i)
const FXdouble & operator[] (FXint i) const
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 &v) const
FXVec4d operator- () 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 vecdistance (const FXVec3d &p) const
bool veccrosses (const FXVec3d &a, const FXVec3d &b) const

Public Attributes

FXdouble x
FXdouble y
FXdouble z
FXdouble w

Friends

FXVec4d operator* (const FXVec4d &a, FXdouble n)
FXVec4d operator* (FXdouble n, const FXVec4d &a)
FXVec4d operator/ (const FXVec4d &a, FXdouble n)
FXVec4d operator/ (FXdouble n, const FXVec4d &a)
bool operator== (const FXVec4d &a, FXdouble n)
bool operator== (FXdouble n, const FXVec4d &a)
bool operator!= (const FXVec4d &a, FXdouble n)
bool operator!= (FXdouble n, const FXVec4d &a)
bool operator< (const FXVec4d &a, FXdouble n)
bool operator< (FXdouble n, const FXVec4d &a)
bool operator<= (const FXVec4d &a, FXdouble n)
bool operator<= (FXdouble n, const FXVec4d &a)
bool operator> (const FXVec4d &a, FXdouble n)
bool operator> (FXdouble n, const FXVec4d &a)
bool operator>= (const FXVec4d &a, FXdouble n)
bool operator>= (FXdouble n, const FXVec4d &a)
FXVec4d veclo (const FXVec4d &a, const FXVec4d &b)
FXVec4d vechi (const FXVec4d &a, const FXVec4d &b)
FXAPI FXVec4d vecplane (const FXVec4d &vec)
FXAPI FXVec4d vecplane (const FXVec3d &vec, FXdouble dist)
FXAPI FXVec4d vecplane (const FXVec3d &vec, const FXVec3d &p)
FXAPI FXVec4d vecplane (const FXVec3d &a, const FXVec3d &b, const FXVec3d &c)
FXAPI FXVec4d vecnormalize (const FXVec4d &v)
FXAPI FXStreamoperator<< (FXStream &store, const FXVec4d &v)
FXAPI FXStreamoperator>> (FXStream &store, FXVec4d &v)

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::setYawPitchRoll ( FXdouble  yaw,
FXdouble  pitch,
FXdouble  roll 
)

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

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

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

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

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

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

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

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

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

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.

FXdouble& FX::FXVec4d::operator[] ( FXint  i  )  [inline, inherited]

Return a non-const reference to the ith element.

const FXdouble& FX::FXVec4d::operator[] ( FXint  i  )  const [inline, inherited]

Return a const reference to the ith element.

FXVec4d& FX::FXVec4d::set ( const FXVec4d v  )  [inline, inherited]

Set value from another vector.

FXVec4d& FX::FXVec4d::set ( const FXdouble  v[]  )  [inline, inherited]

Set value from array of floats.

FXVec4d& FX::FXVec4d::set ( FXdouble  xx,
FXdouble  yy,
FXdouble  zz,
FXdouble  ww 
) [inline, inherited]

Set value from components.

FXVec4d& FX::FXVec4d::operator*= ( FXdouble  n  )  [inline, inherited]

Assigning operators.

FX::FXVec4d::operator FXdouble * (  )  [inline, inherited]

Conversion.

FX::FXVec4d::operator FXColor (  )  const [inherited]

Convert to color.

FXVec4d FX::FXVec4d::operator+ (  )  const [inline, inherited]

Unary.

FXVec4d FX::FXVec4d::operator+ ( const FXVec4d v  )  const [inline, inherited]

Vector and vector.

References FX::FXVec4d::w, FX::FXVec4d::x, FX::FXVec4d::y, and FX::FXVec4d::z.

FXVec4d FX::FXVec4d::operator* ( const FXMat4d m  )  const [inherited]

Vector and matrix.

FXdouble FX::FXVec4d::operator* ( const FXVec4d v  )  const [inline, inherited]

bool FX::FXVec4d::operator! (  )  const [inline, inherited]

Test if zero.

bool FX::FXVec4d::operator== ( const FXVec4d v  )  const [inline, inherited]

Equality tests.

References FX::FXVec4d::w, FX::FXVec4d::x, FX::FXVec4d::y, and FX::FXVec4d::z.

bool FX::FXVec4d::operator< ( const FXVec4d v  )  const [inline, inherited]

Inequality tests.

References FX::FXVec4d::w, FX::FXVec4d::x, FX::FXVec4d::y, and FX::FXVec4d::z.

FXdouble FX::FXVec4d::length2 (  )  const [inline, inherited]

Length and square of length.

FXVec4d& FX::FXVec4d::clamp ( FXdouble  lo,
FXdouble  hi 
) [inline, inherited]

Clamp values of vector between limits.

FXdouble FX::FXVec4d::vecdistance ( const FXVec3d p  )  const [inherited]

Signed distance normalized plane and point.

bool FX::FXVec4d::veccrosses ( const FXVec3d a,
const FXVec3d b 
) const [inherited]

Return true if edge a-b crosses plane.


Friends And Related Function Documentation

FXVec4d operator* ( const FXVec4d a,
FXdouble  n 
) [friend, inherited]

Scaling.

FXVec4d veclo ( const FXVec4d a,
const FXVec4d b 
) [friend, inherited]

Lowest or highest components.

FXAPI FXVec4d vecplane ( const FXVec4d vec  )  [friend, inherited]

Compute normalized plane equation ax+by+cz+d=0.

FXAPI FXVec4d vecnormalize ( const FXVec4d v  )  [friend, inherited]

Normalize vector.

FXAPI FXStream& operator<< ( FXStream store,
const FXVec4d v 
) [friend, inherited]

Save to a stream.

FXAPI FXStream& operator>> ( FXStream store,
FXVec4d v 
) [friend, inherited]

Load from a stream.


The documentation for this class was generated from the following file:

(C) 2002-2008 Niall Douglas. Some parts (C) to assorted authors.
Generated on Fri Jun 13 22:10:35 2008 for TnFOX by doxygen v1.5.6