A float based Quaterinion class. More...
#include <Quatd.h>
Public Member Functions | |
| Quatd (const Vec3d &imaginary, double double=1.0) | |
| Construct quaternion from vector and scalar. | |
| Quatd (double x, double y, double z, double _qw) | |
| Construct quaternion from four scalars. | |
| Quatd (const Vec4d &v) | |
| Construct quaternion from a 4D vector. | |
| Mat3x3d | get_Mat3x3d () const |
| Get a 3x3 rotation matrix from a quaternion. | |
| Mat4x4d | get_Mat4x4d () const |
| Get a 4x4 rotation matrix from a quaternion. | |
| Quatd | identity_Quatd () |
| Create an identity quaternion. | |
Public Member Functions inherited from CGLA::ArithQuat< double, Vec3d, Quatd > | |
| ArithQuat () | |
| Construct undefined quaternion. | |
| ArithQuat (const Vec3d &imaginary, doublereal=1.0f) | |
| Construct quaternion from vector and scalar. | |
| ArithQuat (doublex, doubley, doublez, double_qw) | |
| Construct quaternion from four scalars. | |
| void | set (const Vec3d &imaginary, doublereal=1.0f) |
| Assign values to a quaternion. | |
| void | set (doublex, doubley, doublez, double_qw) |
| void | get (double &x, double &y, double &z, double &_qw) const |
| Get values from a quaternion. | |
| Vec3d | get_imaginary_part () const |
| Get imaginary part of a quaternion. | |
| double | get_real_part () const |
| Get real part of a quaternion. | |
| void | get_rot (double &angle, Vec3d &v) |
| Obtain angle of rotation and axis. | |
| void | make_rot (doubleangle, const Vec3d &v) |
| Construct a Quaternion from an angle and axis of rotation. | |
| void | make_rot (const Vec3d &s, const Vec3d &t) |
| void | make_rot (ArithSqMatFloat< VT, MT, ROWS > &m) |
| Construct a Quaternion from a rotation matrix. | |
| bool | operator== (const ArithQuat< double, Vec3d, Quatd > &q) const |
| bool | operator!= (const ArithQuat< double, Vec3d, Quatd > &q) const |
| Quatd | operator* (const ArithQuat< double, Vec3d, Quatd > &q) const |
| Multiply two quaternions. (Combine their rotation) | |
| Quatd | operator* (doublescalar) const |
| Multiply scalar onto quaternion. | |
| Quatd | operator+ (const ArithQuat< double, Vec3d, Quatd > &q) const |
| Add two quaternions. | |
| Quatd | operator- () const |
| Compute the additive inverse of the quaternion. | |
| double | norm () const |
| Compute norm of quaternion. | |
| Quatd | conjugate () const |
| Return conjugate quaternion. | |
| Quatd | inverse () const |
| Compute the multiplicative inverse of the quaternion. | |
| Quatd | normalize () |
| Normalize quaternion. | |
| Vec3d | apply (const Vec3d &vec) const |
| Rotate vector according to quaternion. | |
| Vec3d | apply_unit (const Vec3d &vec) const |
| Rotate vector according to unit quaternion. | |
Additional Inherited Members | |
Public Attributes inherited from CGLA::ArithQuat< double, Vec3d, Quatd > | |
| Vec3d | qv |
| Vector part of quaternion. | |
| double | qw |
| Scalar part of quaternion. | |
A float based Quaterinion class.
Quaternions are algebraic entities useful for rotation.
1.8.6