![]() |
Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members
|
Single-precision quaternion. More...
#include <FXQuatf.h>
Public Member Functions | |
| FXQuatf () | |
| Default constructor; value is not initialized. | |
| FXQuatf (const FXQuatf &q) | |
| Copy constructor. | |
| FXQuatf (const FXfloat v[]) | |
| Construct from array of four floats. | |
| FXQuatf (FXfloat xx, FXfloat yy, FXfloat zz, FXfloat ww) | |
| Construct from four components. | |
| FXQuatf (const FXVec3f &axis, FXfloat phi) | |
| Construct from rotation axis and angle in radians. | |
| FXQuatf (const FXVec3f &fr, const FXVec3f &to) | |
| Construct quaternion from arc between two unit vectors fm and to. | |
| FXQuatf (FXfloat roll, FXfloat pitch, FXfloat yaw) | |
| Construct from euler angles yaw (z), pitch (y), and roll (x). | |
| FXQuatf (const FXVec3f &ex, const FXVec3f &ey, const FXVec3f &ez) | |
| Construct quaternion from three orthogonal unit vectors. | |
| FXQuatf (const FXVec3f &rot) | |
| Construct quaternion from rotation vector rot, representing a rotation by |rot| radians about a unit vector rot/|rot|. | |
| FXfloat & | operator[] (FXint i) |
| Return a non-const reference to the ith element. | |
| const FXfloat & | operator[] (FXint i) const |
| Return a const reference to the ith element. | |
| FXQuatf & | operator= (const FXQuatf &v) |
| Assignment from other quaternion. | |
| FXQuatf & | operator= (const FXfloat v[]) |
| Assignment from array of four floats. | |
| FXQuatf & | set (const FXQuatf &v) |
| Set value from another quaternion. | |
| FXQuatf & | set (const FXfloat v[]) |
| Set value from array of four floats. | |
| FXQuatf & | set (FXfloat xx, FXfloat yy, FXfloat zz, FXfloat ww) |
| Set value from four components. | |
| FXQuatf & | operator*= (FXfloat n) |
| Assigning operators. | |
| FXQuatf & | operator/= (FXfloat n) |
| FXQuatf & | operator+= (const FXQuatf &v) |
| FXQuatf & | operator-= (const FXQuatf &v) |
| FXQuatf & | operator*= (const FXQuatf &b) |
| FXQuatf & | operator/= (const FXQuatf &b) |
| operator FXfloat * () | |
| Conversion. | |
| operator const FXfloat * () const | |
| operator FXVec3f & () | |
| Conversion to 3-vector, axis of rotation. | |
| operator const FXVec3f & () const | |
| FXbool | operator! () const |
| Test if zero. | |
| FXQuatf | operator+ () const |
| Unary. | |
| FXQuatf | operator- () const |
| FXfloat | length2 () const |
| Length and square of length. | |
| FXfloat | length () const |
| FXQuatf & | adjust () |
| Adjust quaternion length. | |
| void | setAxisAngle (const FXVec3f &axis, FXfloat phi) |
| Set quaternion from axis and angle. More... | |
| void | getAxisAngle (FXVec3f &axis, FXfloat &phi) const |
| Obtain axis and angle from quaternion. More... | |
| void | setRotation (const FXVec3f &rot) |
| Set quaternion from rotation vector rot, representing a rotation by |rot| radians about a unit vector rot/|rot|. More... | |
| FXVec3f | getRotation () const |
| Get rotation vector from quaternion, representing a rotation of |rot| radians about an axis rot/|rot|. More... | |
| void | setMRP (const FXVec3f &m) |
| Set unit quaternion to modified rodrigues parameters. More... | |
| FXVec3f | getMRP () const |
| Return modified rodrigues parameters from unit quaternion. | |
| void | setRollPitchYaw (FXfloat roll, FXfloat pitch, FXfloat yaw) |
| Set quaternion from roll (x), pitch (y), yaw (z), in that order. | |
| void | getRollPitchYaw (FXfloat &roll, FXfloat &pitch, FXfloat &yaw) const |
| Return the roll (x), pitch (y), yaw (z) angles represented by the quaternion. | |
| void | setYawPitchRoll (FXfloat yaw, FXfloat pitch, FXfloat roll) |
| Set quaternion from yaw (z), pitch (y), roll (x), in that order. | |
| void | getYawPitchRoll (FXfloat &yaw, FXfloat &pitch, FXfloat &roll) const |
| Return the yaw (z), pitch (y), roll (x) angles represented by the quaternion. | |
| void | setRollYawPitch (FXfloat roll, FXfloat yaw, FXfloat pitch) |
| Set quaternion from roll (x), yaw (z), pitch (y), in that order. | |
| void | getRollYawPitch (FXfloat &roll, FXfloat &yaw, FXfloat &pitch) const |
| Return the roll (x), yaw (z), pitch (y) angles represented by the quaternion. | |
| void | setPitchRollYaw (FXfloat pitch, FXfloat roll, FXfloat yaw) |
| Set quaternion from pitch (y), roll (x),yaw (z), in that order. | |
| void | getPitchRollYaw (FXfloat &pitch, FXfloat &roll, FXfloat &yaw) const |
| Return the pitch (y), roll (x),yaw (z) angles represented by the quaternion. | |
| void | setPitchYawRoll (FXfloat pitch, FXfloat yaw, FXfloat roll) |
| Set quaternion from pitch (y), yaw (z), roll (x), in that order. | |
| void | getPitchYawRoll (FXfloat &pitch, FXfloat &yaw, FXfloat &roll) const |
| Return the pitch (y), yaw (z), roll (x) angles represented by the quaternion. | |
| void | setYawRollPitch (FXfloat yaw, FXfloat roll, FXfloat pitch) |
| Set quaternion from yaw (z), roll (x), pitch (y), in that order. | |
| void | getYawRollPitch (FXfloat &yaw, FXfloat &roll, FXfloat &pitch) const |
| Return the yaw (z), roll (x), pitch (y) angles represented by the quaternion. | |
| void | setAxes (const FXVec3f &ex, const FXVec3f &ey, const FXVec3f &ez) |
| Set quaternion from axes. | |
| void | getAxes (FXVec3f &ex, FXVec3f &ey, FXVec3f &ez) const |
| Get quaternion axes. | |
| FXVec3f | getXAxis () const |
| Obtain local x axis. | |
| FXVec3f | getYAxis () const |
| Obtain local y axis. | |
| FXVec3f | getZAxis () const |
| Obtain local z axis. | |
| FXQuatf | exp () const |
| Exponentiate quaternion. | |
| FXQuatf | log () const |
| Take logarithm of quaternion. | |
| FXQuatf | pow (FXfloat t) const |
| Power of quaternion. | |
| FXQuatf | conj () const |
| Conjugate quaternion. | |
| FXQuatf | unitinvert () const |
| Invert unit quaternion. | |
| FXQuatf | invert () const |
| Invert quaternion. | |
| ~FXQuatf () | |
| Destructor. | |
Public Attributes | |
| FXfloat | x |
| FXfloat | y |
| FXfloat | z |
| FXfloat | w |
Single-precision quaternion.
| void FX::FXQuatf::getAxisAngle | ( | FXVec3f & | axis, |
| FXfloat & | phi | ||
| ) | const |
Obtain axis and angle from quaternion.
Return unit vector and angle of rotation phi, in radians. If identity quaternion (0,0,0,1), return axis as (1,0.0).
| FXVec3f FX::FXQuatf::getRotation | ( | ) | const |
Get rotation vector from quaternion, representing a rotation of |rot| radians about an axis rot/|rot|.
If quaternion is identity quaternion (0,0,0,1), return (0,0,0).
| void FX::FXQuatf::setAxisAngle | ( | const FXVec3f & | axis, |
| FXfloat | phi | ||
| ) |
Set quaternion from axis and angle.
Quaternion represents a rotation of phi radians about unit vector axis.
| void FX::FXQuatf::setMRP | ( | const FXVec3f & | m | ) |
Set unit quaternion to modified rodrigues parameters.
Modified Rodriques parameters are defined as MRP = tan(theta/4)*E, where theta is rotation angle (radians), and E is unit axis of rotation.
| void FX::FXQuatf::setRotation | ( | const FXVec3f & | rot | ) |
Set quaternion from rotation vector rot, representing a rotation by |rot| radians about a unit vector rot/|rot|.
Set to the identity quaternion (0,0,0,1) if the rotation vector is equal to (0,0,0).
|
|