#include <FXQuatd.h>
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) | |
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 |
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 |
FXQuatd & | arc (const FXVec3d &a, const FXVec3d &b) |
FXQuatd & | lerp (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 |
FXVec4d & | set (const FXVec4d &v) |
FXVec4d & | set (const FXdouble v[]) |
FXVec4d & | set (FXdouble xx, FXdouble yy, FXdouble zz, FXdouble ww) |
FXVec4d & | operator*= (FXdouble n) |
FXVec4d & | operator/= (FXdouble n) |
FXVec4d & | operator+= (const FXVec4d &v) |
FXVec4d & | operator-= (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 |
FXVec4d & | clamp (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 FXStream & | operator<< (FXStream &store, const FXVec4d &v) |
FXAPI FXStream & | operator>> (FXStream &store, FXVec4d &v) |
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).
Construct quaternion from two unit vectors.
Construct quaternion from three axes.
FX::FXQuatd::FXQuatd | ( | const FXMat3d & | mat | ) |
Construct quaternion from 3x3 matrix.
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).
Set quaternion from 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.
Construct quaternion from arc a->b on unit sphere.
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 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.
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] |
bool FX::FXVec4d::operator< | ( | const FXVec4d & | v | ) | const [inline, inherited] |
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.
Return true if edge a-b crosses plane.
Lowest or highest components.
Compute normalized plane equation ax+by+cz+d=0.
Save to a stream.
Load from a stream.