|
Public Types |
| typedef double | value_type |
Public Member Functions |
| | Quat () |
| | Quat (value_type x, value_type y, value_type z, value_type w) |
| | Quat (const Vec4f &v) |
| | Quat (const Vec4d &v) |
| | Quat (value_type angle, const Vec3f &axis) |
| | Quat (value_type angle, const Vec3d &axis) |
| | Quat (value_type angle1, const Vec3f &axis1, value_type angle2, const Vec3f &axis2, value_type angle3, const Vec3f &axis3) |
| | Quat (value_type angle1, const Vec3d &axis1, value_type angle2, const Vec3d &axis2, value_type angle3, const Vec3d &axis3) |
| Quat & | operator= (const Quat &v) |
| bool | operator== (const Quat &v) const |
| bool | operator!= (const Quat &v) const |
| bool | operator< (const Quat &v) const |
| Vec4d | asVec4 () const |
| Vec3d | asVec3 () const |
| void | set (value_type x, value_type y, value_type z, value_type w) |
| void | set (const osg::Vec4f &v) |
| void | set (const osg::Vec4d &v) |
| void | set (const Matrixf &matrix) |
| void | set (const Matrixd &matrix) |
| void | get (Matrixf &matrix) const |
| void | get (Matrixd &matrix) const |
| value_type & | operator[] (int i) |
| value_type | operator[] (int i) const |
| value_type & | x () |
| value_type & | y () |
| value_type & | z () |
| value_type & | w () |
| value_type | x () const |
| value_type | y () const |
| value_type | z () const |
| value_type | w () const |
| bool | zeroRotation () const |
| | return true if the Quat represents a zero rotation, and therefore can be ignored in computations.
|
| const Quat | operator * (value_type rhs) const |
| | Multiply by scalar.
|
| Quat & | operator *= (value_type rhs) |
| | Unary multiply by scalar.
|
| const Quat | operator * (const Quat &rhs) const |
| | Binary multiply.
|
| Quat & | operator *= (const Quat &rhs) |
| | Unary multiply.
|
| Quat | operator/ (value_type rhs) const |
| | Divide by scalar.
|
| Quat & | operator/= (value_type rhs) |
| | Unary divide by scalar.
|
| const Quat | operator/ (const Quat &denom) const |
| | Binary divide.
|
| Quat & | operator/= (const Quat &denom) |
| | Unary divide.
|
| const Quat | operator+ (const Quat &rhs) const |
| | Binary addition.
|
| Quat & | operator+= (const Quat &rhs) |
| | Unary addition.
|
| const Quat | operator- (const Quat &rhs) const |
| | Binary subtraction.
|
| Quat & | operator-= (const Quat &rhs) |
| | Unary subtraction.
|
| const Quat | operator- () const |
| | Negation operator - returns the negative of the quaternion.
|
| value_type | length () const |
| | Length of the quaternion = sqrt( vec . vec ).
|
| value_type | length2 () const |
| | Length of the quaternion = vec . vec.
|
| Quat | conj () const |
| | Conjugate.
|
| const Quat | inverse () const |
| | Multiplicative inverse method: q^(-1) = q^*/(q.q^*).
|
| void | makeRotate (value_type angle, value_type x, value_type y, value_type z) |
| void | makeRotate (value_type angle, const Vec3f &vec) |
| void | makeRotate (value_type angle, const Vec3d &vec) |
| void | makeRotate (value_type angle1, const Vec3f &axis1, value_type angle2, const Vec3f &axis2, value_type angle3, const Vec3f &axis3) |
| void | makeRotate (value_type angle1, const Vec3d &axis1, value_type angle2, const Vec3d &axis2, value_type angle3, const Vec3d &axis3) |
| void | makeRotate (const Vec3f &vec1, const Vec3f &vec2) |
| | Make a rotation Quat which will rotate vec1 to vec2.
|
| void | makeRotate (const Vec3d &vec1, const Vec3d &vec2) |
| | Make a rotation Quat which will rotate vec1 to vec2.
|
| void | makeRotate_original (const Vec3d &vec1, const Vec3d &vec2) |
| void | getRotate (value_type &angle, value_type &x, value_type &y, value_type &z) const |
| | Return the angle and vector components represented by the quaternion.
|
| void | getRotate (value_type &angle, Vec3f &vec) const |
| | Return the angle and vector represented by the quaternion.
|
| void | getRotate (value_type &angle, Vec3d &vec) const |
| | Return the angle and vector represented by the quaternion.
|
| void | slerp (value_type t, const Quat &from, const Quat &to) |
| | Spherical Linear Interpolation.
|
| Vec3f | operator * (const Vec3f &v) const |
| | Rotate a vector by this quaternion.
|
| Vec3d | operator * (const Vec3d &v) const |
| | Rotate a vector by this quaternion.
|
Public Attributes |
| value_type | _v [4] |
It can be used to represent an orientation in 3D space.