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 Quaternion & | operator= (T a) |
|
const Quaternion & | operator= (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 |
|
T | abs () const |
|
T | absSquared () const |
|
T | normalize () |
|
T | 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 Quaternion & | operator+= (T a) |
|
const Quaternion & | operator-= (T a) |
|
const Quaternion & | operator*= (T a) |
|
const Quaternion & | operator/= (T a) |
|
Quaternion | operator+ (const Vector3< T > &a) const |
|
Quaternion | operator- (const Vector3< T > &a) const |
|
Quaternion | operator* (const Vector3< T > &a) const |
|
const Quaternion & | operator+= (const Vector3< T > &a) |
|
const Quaternion & | operator-= (const Vector3< T > &a) |
|
const Quaternion & | operator*= (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 Quaternion & | operator+= (const Quaternion< T > &a) |
|
const Quaternion & | operator-= (const Quaternion< T > &a) |
|
const Quaternion & | operator*= (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) |
|
T | 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) |
|
T | getMinComponent () |
|
T | 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) |