DSC
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros
Public Member Functions | List of all members
CGLA::Quatd Class Reference

A float based Quaterinion class. More...

#include <Quatd.h>

Inheritance diagram for CGLA::Quatd:
CGLA::ArithQuat< double, Vec3d, Quatd >

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.
 

Detailed Description

A float based Quaterinion class.

Quaternions are algebraic entities useful for rotation.


The documentation for this class was generated from the following file: