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

A float based Quaterinion class. More...

#include <Quatf.h>

Inheritance diagram for CGLA::Quatf:
CGLA::ArithQuat< float, Vec3f, Quatf >

Public Member Functions

 Quatf (const Vec3f &imaginary, float double=1.0f)
 Construct quaternion from vector and scalar.
 
 Quatf (float x, float y, float z, float _qw)
 Construct quaternion from four scalars.
 
 Quatf (const Vec4f &v)
 Construct quaternion from a 4D vector.
 
Mat3x3f get_Mat3x3f () const
 Get a 3x3 rotation matrix from a quaternion.
 
Mat4x4f get_Mat4x4f () const
 Get a 4x4 rotation matrix from a quaternion.
 
Quatf identity_Quatf ()
 Create an identity quaternion.
 
- Public Member Functions inherited from CGLA::ArithQuat< float, Vec3f, Quatf >
 ArithQuat ()
 Construct undefined quaternion.
 
 ArithQuat (const Vec3f &imaginary, floatreal=1.0f)
 Construct quaternion from vector and scalar.
 
 ArithQuat (floatx, floaty, floatz, float_qw)
 Construct quaternion from four scalars.
 
void set (const Vec3f &imaginary, floatreal=1.0f)
 Assign values to a quaternion.
 
void set (floatx, floaty, floatz, float_qw)
 
void get (float &x, float &y, float &z, float &_qw) const
 Get values from a quaternion.
 
Vec3f get_imaginary_part () const
 Get imaginary part of a quaternion.
 
float get_real_part () const
 Get real part of a quaternion.
 
void get_rot (float &angle, Vec3f &v)
 Obtain angle of rotation and axis.
 
void make_rot (floatangle, const Vec3f &v)
 Construct a Quaternion from an angle and axis of rotation.
 
void make_rot (const Vec3f &s, const Vec3f &t)
 
void make_rot (ArithSqMatFloat< VT, MT, ROWS > &m)
 Construct a Quaternion from a rotation matrix.
 
bool operator== (const ArithQuat< float, Vec3f, Quatf > &q) const
 
bool operator!= (const ArithQuat< float, Vec3f, Quatf > &q) const
 
Quatf operator* (const ArithQuat< float, Vec3f, Quatf > &q) const
 Multiply two quaternions. (Combine their rotation)
 
Quatf operator* (floatscalar) const
 Multiply scalar onto quaternion.
 
Quatf operator+ (const ArithQuat< float, Vec3f, Quatf > &q) const
 Add two quaternions.
 
Quatf operator- () const
 Compute the additive inverse of the quaternion.
 
float norm () const
 Compute norm of quaternion.
 
Quatf conjugate () const
 Return conjugate quaternion.
 
Quatf inverse () const
 Compute the multiplicative inverse of the quaternion.
 
Quatf normalize ()
 Normalize quaternion.
 
Vec3f apply (const Vec3f &vec) const
 Rotate vector according to quaternion.
 
Vec3f apply_unit (const Vec3f &vec) const
 Rotate vector according to unit quaternion.
 

Additional Inherited Members

- Public Attributes inherited from CGLA::ArithQuat< float, Vec3f, Quatf >
Vec3f qv
 Vector part of quaternion.
 
float 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: