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