KrisLibrary  1.0.0
Public Member Functions | Public Attributes | List of all members
Math::Quaternion Class Reference

Complex quaternion class (w + ix + jy + kz). More...

#include <complex.h>

Inheritance diagram for Math::Quaternion:
Math3D::QuaternionRotation

Public Member Functions

 Quaternion (const Quaternion &)
 
 Quaternion (Real w)
 
 Quaternion (Real w, const Real *im)
 
 Quaternion (Real w, Real x, Real y, Real z)
 
bool operator== (const Quaternion &) const
 
bool operator!= (const Quaternion &) const
 
const Quaternionoperator= (const Quaternion &)
 
void operator+= (const Quaternion &)
 
void operator-= (const Quaternion &)
 
void operator*= (const Quaternion &)
 
void operator/= (const Quaternion &)
 
const Quaternionoperator= (Real)
 
void operator+= (Real)
 
void operator-= (Real)
 
void operator*= (Real)
 
void operator/= (Real)
 
void add (const Quaternion &a, const Quaternion &b)
 
void sub (const Quaternion &a, const Quaternion &b)
 
void mul (const Quaternion &a, const Quaternion &b)
 
void div (const Quaternion &a, const Quaternion &b)
 
void madd (const Quaternion &a, const Quaternion &b)
 
void mul (const Quaternion &a, Real b)
 
void div (const Quaternion &a, Real b)
 
void madd (const Quaternion &a, Real b)
 
void set (const Quaternion &)
 
void set (Real w)
 
void set (Real w, const Real *im)
 
void set (Real w, Real x, Real y, Real z)
 
void setZero ()
 
void setNegative (const Quaternion &)
 
void setNormalized (const Quaternion &)
 
void setConjugate (const Quaternion &)
 
bool setInverse (const Quaternion &)
 
void setExp (const Quaternion &)
 
bool setLog (const Quaternion &, int n=0)
 
void setPow (const Quaternion &, Real)
 
void get (Quaternion &) const
 
void get (Real &w, Real *im) const
 
void get (Real &w, Real &x, Real &y, Real &z) const
 
void getNegative (Quaternion &) const
 
void getNormalized (Quaternion &) const
 
void getConjugate (Quaternion &) const
 
bool getInverse (Quaternion &) const
 
void inplaceNegative ()
 
void inplaceScale (Real)
 
void inplaceNormalize ()
 
void inplaceConjugate ()
 
bool inplaceInverse ()
 
bool isInvertible () const
 
Real norm () const
 
Real normSquared () const
 
Real imNorm () const
 
bool Read (File &)
 
bool Write (File &) const
 

Public Attributes

union {
   Real   data [4]
 
   struct {
      Real   w
 
      Real   x
 
      Real   y
 
      Real   z
 
   } 
 
}; 
 

Detailed Description

Complex quaternion class (w + ix + jy + kz).


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