vmml::Quaternion< T > Class Template Reference

List of all members.

Public Member Functions

 Quaternion (const T a)
 Quaternion (const T r, const T i, const T j, const T k)
 Quaternion (const T &real, const Vector3< T > &imag)
 Quaternion (const Vector3< T > &v)
 Quaternion (const Matrix3< T > &m)
 Quaternion (const float *values)
 Quaternion (const double *values)
void set (T ww, T xx, T yy, T zz)
void set (const float *values)
void set (const double *values)
const Quaternionoperator= (T a)
const Quaternionoperator= (const Quaternion &a)
bool operator== (const T &a) const
bool operator!= (const T &a) const
bool operator== (const Quaternion &a) const
bool operator!= (const Quaternion &a) const
bool isAkin (const Quaternion &a, const T &delta=std::numeric_limits< T >::epsilon())
T & operator[] (size_t position)
const T & operator[] (size_t position) const
Quaternion conjug () const
abs () const
absSquared () const
normalize ()
normalise ()
void scale (T scale_factor)
Quaternion operator+ (const T a) const
Quaternion operator- (const T a) const
Quaternion operator* (const T a) const
Quaternion operator/ (T a) const
const Quaternionoperator+= (T a)
const Quaternionoperator-= (T a)
const Quaternionoperator*= (T a)
const Quaternionoperator/= (T a)
Quaternion operator+ (const Vector3< T > &a) const
Quaternion operator- (const Vector3< T > &a) const
Quaternion operator* (const Vector3< T > &a) const
const Quaternionoperator+= (const Vector3< T > &a)
const Quaternionoperator-= (const Vector3< T > &a)
const Quaternionoperator*= (const Vector3< T > &a)
Quaternion operator+ (const Quaternion< T > &a) const
Quaternion operator- (const Quaternion< T > &a) const
Quaternion operator* (const Quaternion< T > &a) const
Quaternion operator- () const
const Quaternionoperator+= (const Quaternion< T > &a)
const Quaternionoperator-= (const Quaternion< T > &a)
const Quaternionoperator*= (const Quaternion< T > &a)
Vector3< T > cross (const Quaternion< T > &a) const
Quaternion cross (const Quaternion< T > &a, const Quaternion< T > &b) const
void cross (const Quaternion< T > &a, const Quaternion< T > &b)
dot (const Quaternion< T > &a) const
Quaternion invert ()
void normal (const Quaternion &aa, const Quaternion &bb, const Quaternion &cc, const Quaternion &dd)
Quaternion normal (const Quaternion &aa, const Quaternion &bb, const Quaternion &cc)
void rotate (T theta, const Vector3< T > &a)
void rotatex (T theta)
void rotatey (T theta)
void rotatez (T theta)
Quaternion rotate (T theta, Vector3< T > &axis, const Vector3< T > &a)
Quaternion rotatex (T theta, const Vector3< T > &a)
Quaternion rotatey (T theta, const Vector3< T > &a)
Quaternion rotatez (T theta, const Vector3< T > &a)
Quaternion slerp (T a, Quaternion< T > &p, Quaternion &q)
getMinComponent ()
getMaxComponent ()
Matrix3< T > getRotationMatrix () const

Static Public Member Functions

static T normalize (float *source)
static T normalise (float *source)
static T dot (const Quaternion< T > &a, const Quaternion< T > &b)

Public Attributes

union {
   struct {
      T   w
      T   x
      T   y
      T   z
   } 
   struct {
      T   s
      T   t
      T   u
      T   v
   } 
   T   wxyz [4]
   T   stuv [4]
}; 

Static Public Attributes

static const Quaternion ZERO
static const Quaternion IDENTITY
static const Quaternion QUATERI
static const Quaternion QUATERJ
static const Quaternion QUATERK

Friends

std::ostream & operator<< (std::ostream &os, const Quaternion &q)

template<typename T>
class vmml::Quaternion< T >


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

Generated by  doxygen 1.6.2