Bike-X  0.8
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
OVR::Quat< T > Class Template Reference

#include "OVR_Math.h"

Inheritance diagram for OVR::Quat< T >:
Inheritance graph
Collaboration diagram for OVR::Quat< T >:
Collaboration graph

Public Member Functions

 Quat ()
 
 Quat (T x_, T y_, T z_, T w_)
 
 Quat (const Quat< typename Math< T >::OtherFloatType > &src)
 
 Quat (const typename CompatibleTypes< Quat< T > >::Type &s)
 
 operator typename CompatibleTypes< Quat< T > >::Type () const
 
 Quat (const Vector3< T > &axis, T angle)
 
 Quat (Axis A, T angle, RotateDirection d=Rotate_CCW, HandedSystem s=Handed_R)
 
void GetAxisAngle (Vector3< T > *axis, T *angle) const
 
 Quat (const Matrix4< T > &m)
 
 Quat (const Matrix3< T > &m)
 
bool operator== (const Quat &b) const
 
bool operator!= (const Quat &b) const
 
Quat operator+ (const Quat &b) const
 
Quatoperator+= (const Quat &b)
 
Quat operator- (const Quat &b) const
 
Quatoperator-= (const Quat &b)
 
Quat operator* (T s) const
 
Quatoperator*= (T s)
 
Quat operator/ (T s) const
 
Quatoperator/= (T s)
 
Vector3< T > Imag () const
 
Length () const
 
LengthSq () const
 
Distance (const Quat &q) const
 
DistanceSq (const Quat &q) const
 
Dot (const Quat &q) const
 
Angle (const Quat &q) const
 
bool IsNormalized () const
 
void Normalize ()
 
Quat Normalized () const
 
Quat Conj () const
 
Quat operator* (const Quat &b) const
 
Quat PowNormalized (T p) const
 
Quat Nlerp (const Quat &other, T a)
 
Vector3< T > Rotate (const Vector3< T > &v) const
 
Quat Inverted () const
 
void Invert ()
 
template<Axis A1, Axis A2, Axis A3, RotateDirection D, HandedSystem S>
void GetEulerAngles (T *a, T *b, T *c) const
 
template<Axis A1, Axis A2, Axis A3, RotateDirection D>
void GetEulerAngles (T *a, T *b, T *c) const
 
template<Axis A1, Axis A2, Axis A3>
void GetEulerAngles (T *a, T *b, T *c) const
 
template<Axis A1, Axis A2, RotateDirection D, HandedSystem S>
void GetEulerAnglesABA (T *a, T *b, T *c) const
 

Data Fields

x
 
y
 
z
 
w
 

Detailed Description

template<class T>
class OVR::Quat< T >

Definition at line 121 of file OVR_Math.h.

Constructor & Destructor Documentation

template<class T>
OVR::Quat< T >::Quat ( )
inline

Definition at line 700 of file OVR_Math.h.

template<class T>
OVR::Quat< T >::Quat ( x_,
y_,
z_,
w_ 
)
inline

Definition at line 701 of file OVR_Math.h.

template<class T>
OVR::Quat< T >::Quat ( const Quat< typename Math< T >::OtherFloatType > &  src)
inlineexplicit

Definition at line 702 of file OVR_Math.h.

template<class T>
OVR::Quat< T >::Quat ( const typename CompatibleTypes< Quat< T > >::Type &  s)
inline

Definition at line 706 of file OVR_Math.h.

template<class T>
OVR::Quat< T >::Quat ( const Vector3< T > &  axis,
angle 
)
inline

Definition at line 719 of file OVR_Math.h.

template<class T>
OVR::Quat< T >::Quat ( Axis  A,
angle,
RotateDirection  d = Rotate_CCW,
HandedSystem  s = Handed_R 
)
inline

Definition at line 740 of file OVR_Math.h.

template<class T>
OVR::Quat< T >::Quat ( const Matrix4< T > &  m)
inlineexplicit

Definition at line 773 of file OVR_Math.h.

template<class T>
OVR::Quat< T >::Quat ( const Matrix3< T > &  m)
inlineexplicit

Definition at line 815 of file OVR_Math.h.

Member Function Documentation

template<class T>
T OVR::Quat< T >::Angle ( const Quat< T > &  q) const
inline

Definition at line 900 of file OVR_Math.h.

template<class T>
Quat OVR::Quat< T >::Conj ( ) const
inline

Definition at line 923 of file OVR_Math.h.

template<class T>
T OVR::Quat< T >::Distance ( const Quat< T > &  q) const
inline

Definition at line 880 of file OVR_Math.h.

template<class T>
T OVR::Quat< T >::DistanceSq ( const Quat< T > &  q) const
inline

Definition at line 887 of file OVR_Math.h.

template<class T>
T OVR::Quat< T >::Dot ( const Quat< T > &  q) const
inline

Definition at line 894 of file OVR_Math.h.

template<class T>
void OVR::Quat< T >::GetAxisAngle ( Vector3< T > *  axis,
T *  angle 
) const
inline

Definition at line 754 of file OVR_Math.h.

template<class T>
template<Axis A1, Axis A2, Axis A3, RotateDirection D, HandedSystem S>
void OVR::Quat< T >::GetEulerAngles ( T *  a,
T *  b,
T *  c 
) const
inline

Definition at line 977 of file OVR_Math.h.

template<class T>
template<Axis A1, Axis A2, Axis A3, RotateDirection D>
void OVR::Quat< T >::GetEulerAngles ( T *  a,
T *  b,
T *  c 
) const
inline

Definition at line 1021 of file OVR_Math.h.

template<class T>
template<Axis A1, Axis A2, Axis A3>
void OVR::Quat< T >::GetEulerAngles ( T *  a,
T *  b,
T *  c 
) const
inline

Definition at line 1025 of file OVR_Math.h.

template<class T>
template<Axis A1, Axis A2, RotateDirection D, HandedSystem S>
void OVR::Quat< T >::GetEulerAnglesABA ( T *  a,
T *  b,
T *  c 
) const
inline

Definition at line 1038 of file OVR_Math.h.

template<class T>
Vector3<T> OVR::Quat< T >::Imag ( ) const
inline

Definition at line 871 of file OVR_Math.h.

template<class T>
void OVR::Quat< T >::Invert ( )
inline

Definition at line 963 of file OVR_Math.h.

template<class T>
Quat OVR::Quat< T >::Inverted ( ) const
inline

Definition at line 957 of file OVR_Math.h.

template<class T>
bool OVR::Quat< T >::IsNormalized ( ) const
inline

Definition at line 906 of file OVR_Math.h.

template<class T>
T OVR::Quat< T >::Length ( ) const
inline

Definition at line 874 of file OVR_Math.h.

template<class T>
T OVR::Quat< T >::LengthSq ( ) const
inline

Definition at line 877 of file OVR_Math.h.

template<class T>
Quat OVR::Quat< T >::Nlerp ( const Quat< T > &  other,
a 
)
inline

Definition at line 943 of file OVR_Math.h.

template<class T>
void OVR::Quat< T >::Normalize ( )
inline

Definition at line 908 of file OVR_Math.h.

template<class T>
Quat OVR::Quat< T >::Normalized ( ) const
inline

Definition at line 915 of file OVR_Math.h.

template<class T>
OVR::Quat< T >::operator typename CompatibleTypes< Quat< T > >::Type ( ) const
inline

Definition at line 708 of file OVR_Math.h.

template<class T>
bool OVR::Quat< T >::operator!= ( const Quat< T > &  b) const
inline

Definition at line 857 of file OVR_Math.h.

template<class T>
Quat OVR::Quat< T >::operator* ( s) const
inline

Definition at line 864 of file OVR_Math.h.

template<class T>
Quat OVR::Quat< T >::operator* ( const Quat< T > &  b) const
inline

Definition at line 927 of file OVR_Math.h.

template<class T>
Quat& OVR::Quat< T >::operator*= ( s)
inline

Definition at line 865 of file OVR_Math.h.

template<class T>
Quat OVR::Quat< T >::operator+ ( const Quat< T > &  b) const
inline

Definition at line 859 of file OVR_Math.h.

template<class T>
Quat& OVR::Quat< T >::operator+= ( const Quat< T > &  b)
inline

Definition at line 860 of file OVR_Math.h.

template<class T>
Quat OVR::Quat< T >::operator- ( const Quat< T > &  b) const
inline

Definition at line 861 of file OVR_Math.h.

template<class T>
Quat& OVR::Quat< T >::operator-= ( const Quat< T > &  b)
inline

Definition at line 862 of file OVR_Math.h.

template<class T>
Quat OVR::Quat< T >::operator/ ( s) const
inline

Definition at line 866 of file OVR_Math.h.

template<class T>
Quat& OVR::Quat< T >::operator/= ( s)
inline

Definition at line 867 of file OVR_Math.h.

template<class T>
bool OVR::Quat< T >::operator== ( const Quat< T > &  b) const
inline

Definition at line 856 of file OVR_Math.h.

template<class T>
Quat OVR::Quat< T >::PowNormalized ( p) const
inline

Definition at line 934 of file OVR_Math.h.

template<class T>
Vector3<T> OVR::Quat< T >::Rotate ( const Vector3< T > &  v) const
inline

Definition at line 951 of file OVR_Math.h.

Field Documentation

template<class T>
T OVR::Quat< T >::w

Definition at line 698 of file OVR_Math.h.

template<class T>
T OVR::Quat< T >::x

Definition at line 698 of file OVR_Math.h.

template<class T>
T OVR::Quat< T >::y

Definition at line 698 of file OVR_Math.h.

template<class T>
T OVR::Quat< T >::z

Definition at line 698 of file OVR_Math.h.


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