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) |