Bike-X  0.8
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
OVR_Math.h File Reference
#include <assert.h>
#include <stdlib.h>
#include <math.h>
#include "OVR_Types.h"
#include "OVR_RefCount.h"
#include "OVR_Std.h"
#include "OVR_Alg.h"
Include dependency graph for OVR_Math.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  OVR::WorldAxes
 
class  OVR::Quat< T >
 
class  OVR::Size< T >
 
class  OVR::Rect< T >
 
class  OVR::Vector2< T >
 
class  OVR::Vector3< T >
 
class  OVR::Matrix3< T >
 
class  OVR::Matrix4< T >
 
class  OVR::Transform< T >
 
class  OVR::PoseState< T >
 
struct  OVR::CompatibleTypes< C >
 
struct  OVR::CompatibleTypes< Quat< float > >
 
struct  OVR::CompatibleTypes< Quat< double > >
 
struct  OVR::CompatibleTypes< Matrix3< double > >
 
struct  OVR::CompatibleTypes< Matrix4< float > >
 
struct  OVR::CompatibleTypes< Size< int > >
 
struct  OVR::CompatibleTypes< Size< float > >
 
struct  OVR::CompatibleTypes< Rect< int > >
 
struct  OVR::CompatibleTypes< Vector2< int > >
 
struct  OVR::CompatibleTypes< Vector2< float > >
 
struct  OVR::CompatibleTypes< Vector3< float > >
 
struct  OVR::CompatibleTypes< Vector3< double > >
 
struct  OVR::CompatibleTypes< Transform< float > >
 
struct  OVR::CompatibleTypes< PoseState< float > >
 
struct  OVR::CompatibleTypes< Transform< double > >
 
struct  OVR::CompatibleTypes< PoseState< double > >
 
class  OVR::Math< Type >
 
class  OVR::Math< float >
 
class  OVR::Math< double >
 
class  OVR::Quat< T >
 
class  OVR::Vector2< T >
 
class  OVR::Vector3< T >
 
struct  OVR::Vector4f
 
class  OVR::Size< T >
 
class  OVR::Rect< T >
 
class  OVR::Quat< T >
 
class  OVR::Transform< T >
 
class  OVR::Matrix4< T >
 
class  OVR::SymMat3< T >
 
class  OVR::Matrix3< T >
 
class  OVR::SymMat3< T >
 
class  OVR::Angle< T >
 
class  OVR::Plane< T >
 

Namespaces

 OVR
 

Macros

#define AJB_ARBC(r, c)   (a(r,0)*b(0,c)+a(r,1)*b(1,c)+a(r,2)*b(2,c))
 
#define AJB_ARBC(r, c)   (a(r,0)*b(0,c)+a(r,1)*b(1,c)+a(r,2)*b(2,c))
 

Typedefs

typedef struct ovrQuatf_ ovrQuatf
 
typedef struct ovrQuatd_ ovrQuatd
 
typedef struct ovrSizei_ ovrSizei
 
typedef struct ovrSizef_ ovrSizef
 
typedef struct ovrRecti_ ovrRecti
 
typedef struct ovrVector2i_ ovrVector2i
 
typedef struct ovrVector2f_ ovrVector2f
 
typedef struct ovrVector3f_ ovrVector3f
 
typedef struct ovrVector3d_ ovrVector3d
 
typedef struct ovrMatrix3d_ ovrMatrix3d
 
typedef struct ovrMatrix4f_ ovrMatrix4f
 
typedef struct ovrPosef_ ovrPosef
 
typedef struct ovrPosed_ ovrPosed
 
typedef struct ovrPoseStatef_ ovrPoseStatef
 
typedef struct ovrPoseStated_ ovrPoseStated
 
typedef Math< float > OVR::Mathf
 
typedef Math< double > OVR::Mathd
 
typedef Vector2< float > OVR::Vector2f
 
typedef Vector2< double > OVR::Vector2d
 
typedef Vector2< int > OVR::Vector2i
 
typedef Vector3< float > OVR::Vector3f
 
typedef Vector3< double > OVR::Vector3d
 
typedef Vector3< SInt32 > OVR::Vector3i
 
typedef Size< int > OVR::Sizei
 
typedef Size< unsigned > OVR::Sizeu
 
typedef Size< float > OVR::Sizef
 
typedef Size< double > OVR::Sized
 
typedef Rect< int > OVR::Recti
 
typedef Quat< float > OVR::Quatf
 
typedef Quat< double > OVR::Quatd
 
typedef Transform< float > OVR::Transformf
 
typedef Transform< double > OVR::Transformd
 
typedef Matrix4< float > OVR::Matrix4f
 
typedef Matrix4< double > OVR::Matrix4d
 
typedef Matrix3< float > OVR::Matrix3f
 
typedef Matrix3< double > OVR::Matrix3d
 
typedef SymMat3< float > OVR::SymMat3f
 
typedef SymMat3< double > OVR::SymMat3d
 
typedef Angle< float > OVR::Anglef
 
typedef Angle< double > OVR::Angled
 
typedef Plane< float > OVR::Planef
 

Enumerations

enum  OVR::Axis { OVR::Axis_X = 0, OVR::Axis_Y = 1, OVR::Axis_Z = 2 }
 
enum  OVR::RotateDirection { OVR::Rotate_CCW = 1, OVR::Rotate_CW = -1 }
 
enum  OVR::HandedSystem { OVR::Handed_R = 1, OVR::Handed_L = -1 }
 
enum  OVR::AxisDirection {
  OVR::Axis_Up = 2, OVR::Axis_Down = -2, OVR::Axis_Right = 1, OVR::Axis_Left = -1,
  OVR::Axis_In = 3, OVR::Axis_Out = -3
}
 

Functions

template<class T >
OVR::RadToDegree (T rads)
 
template<class T >
OVR::DegreeToRad (T rads)
 
template<class T >
OVR::Acos (T val)
 
template<class T >
OVR::Asin (T val)
 
template<typename T >
Matrix3< T > OVR::operator* (const SymMat3< T > &a, const SymMat3< T > &b)
 
template<typename T >
Matrix3< T > OVR::operator* (const Matrix3< T > &a, const SymMat3< T > &b)
 

Data Structure Documentation

struct OVR::CompatibleTypes

template<class C>
struct OVR::CompatibleTypes< C >

Definition at line 133 of file OVR_Math.h.

Collaboration diagram for OVR::CompatibleTypes< C >:
Collaboration graph
Data Fields
typedef float Type
struct OVR::CompatibleTypes< Quat< float > >

template<>
struct OVR::CompatibleTypes< Quat< float > >

Definition at line 141 of file OVR_Math.h.

Collaboration diagram for OVR::CompatibleTypes< Quat< float > >:
Collaboration graph
Data Fields
typedef ovrQuatf Type
struct OVR::CompatibleTypes< Quat< double > >

template<>
struct OVR::CompatibleTypes< Quat< double > >

Definition at line 142 of file OVR_Math.h.

Collaboration diagram for OVR::CompatibleTypes< Quat< double > >:
Collaboration graph
Data Fields
typedef ovrQuatd Type
struct OVR::CompatibleTypes< Matrix3< double > >

template<>
struct OVR::CompatibleTypes< Matrix3< double > >

Definition at line 143 of file OVR_Math.h.

Collaboration diagram for OVR::CompatibleTypes< Matrix3< double > >:
Collaboration graph
Data Fields
typedef ovrMatrix3d Type
struct OVR::CompatibleTypes< Matrix4< float > >

template<>
struct OVR::CompatibleTypes< Matrix4< float > >

Definition at line 144 of file OVR_Math.h.

Collaboration diagram for OVR::CompatibleTypes< Matrix4< float > >:
Collaboration graph
Data Fields
typedef ovrMatrix4f Type
struct OVR::CompatibleTypes< Size< int > >

template<>
struct OVR::CompatibleTypes< Size< int > >

Definition at line 145 of file OVR_Math.h.

Collaboration diagram for OVR::CompatibleTypes< Size< int > >:
Collaboration graph
Data Fields
typedef ovrSizei Type
struct OVR::CompatibleTypes< Size< float > >

template<>
struct OVR::CompatibleTypes< Size< float > >

Definition at line 146 of file OVR_Math.h.

Collaboration diagram for OVR::CompatibleTypes< Size< float > >:
Collaboration graph
Data Fields
typedef ovrSizef Type
struct OVR::CompatibleTypes< Rect< int > >

template<>
struct OVR::CompatibleTypes< Rect< int > >

Definition at line 147 of file OVR_Math.h.

Collaboration diagram for OVR::CompatibleTypes< Rect< int > >:
Collaboration graph
Data Fields
typedef ovrRecti Type
struct OVR::CompatibleTypes< Vector2< int > >

template<>
struct OVR::CompatibleTypes< Vector2< int > >

Definition at line 148 of file OVR_Math.h.

Collaboration diagram for OVR::CompatibleTypes< Vector2< int > >:
Collaboration graph
Data Fields
typedef ovrVector2i Type
struct OVR::CompatibleTypes< Vector2< float > >

template<>
struct OVR::CompatibleTypes< Vector2< float > >

Definition at line 149 of file OVR_Math.h.

Collaboration diagram for OVR::CompatibleTypes< Vector2< float > >:
Collaboration graph
Data Fields
typedef ovrVector2f Type
struct OVR::CompatibleTypes< Vector3< float > >

template<>
struct OVR::CompatibleTypes< Vector3< float > >

Definition at line 150 of file OVR_Math.h.

Collaboration diagram for OVR::CompatibleTypes< Vector3< float > >:
Collaboration graph
Data Fields
typedef ovrVector3f Type
struct OVR::CompatibleTypes< Vector3< double > >

template<>
struct OVR::CompatibleTypes< Vector3< double > >

Definition at line 151 of file OVR_Math.h.

Collaboration diagram for OVR::CompatibleTypes< Vector3< double > >:
Collaboration graph
Data Fields
typedef ovrVector3d Type
struct OVR::CompatibleTypes< Transform< float > >

template<>
struct OVR::CompatibleTypes< Transform< float > >

Definition at line 153 of file OVR_Math.h.

Collaboration diagram for OVR::CompatibleTypes< Transform< float > >:
Collaboration graph
Data Fields
typedef ovrPosef Type
struct OVR::CompatibleTypes< PoseState< float > >

template<>
struct OVR::CompatibleTypes< PoseState< float > >

Definition at line 154 of file OVR_Math.h.

Collaboration diagram for OVR::CompatibleTypes< PoseState< float > >:
Collaboration graph
Data Fields
typedef ovrPoseStatef Type
struct OVR::CompatibleTypes< Transform< double > >

template<>
struct OVR::CompatibleTypes< Transform< double > >

Definition at line 156 of file OVR_Math.h.

Collaboration diagram for OVR::CompatibleTypes< Transform< double > >:
Collaboration graph
Data Fields
typedef ovrPosed Type
struct OVR::CompatibleTypes< PoseState< double > >

template<>
struct OVR::CompatibleTypes< PoseState< double > >

Definition at line 157 of file OVR_Math.h.

Collaboration diagram for OVR::CompatibleTypes< PoseState< double > >:
Collaboration graph
Data Fields
typedef ovrPoseStated Type
class OVR::Math

template<class Type>
class OVR::Math< Type >

Definition at line 165 of file OVR_Math.h.

Collaboration diagram for OVR::Math< Type >:
Collaboration graph
Data Fields
typedef float OtherFloatType

Macro Definition Documentation

#define AJB_ARBC (   r,
 
)    (a(r,0)*b(0,c)+a(r,1)*b(1,c)+a(r,2)*b(2,c))
#define AJB_ARBC (   r,
 
)    (a(r,0)*b(0,c)+a(r,1)*b(1,c)+a(r,2)*b(2,c))

Typedef Documentation

typedef struct ovrMatrix3d_ ovrMatrix3d

Definition at line 111 of file OVR_Math.h.

typedef struct ovrMatrix4f_ ovrMatrix4f

Definition at line 112 of file OVR_Math.h.

typedef struct ovrPosed_ ovrPosed

Definition at line 114 of file OVR_Math.h.

typedef struct ovrPosef_ ovrPosef

Definition at line 113 of file OVR_Math.h.

typedef struct ovrPoseStated_ ovrPoseStated

Definition at line 116 of file OVR_Math.h.

typedef struct ovrPoseStatef_ ovrPoseStatef

Definition at line 115 of file OVR_Math.h.

typedef struct ovrQuatd_ ovrQuatd

Definition at line 103 of file OVR_Math.h.

typedef struct ovrQuatf_ ovrQuatf

Definition at line 102 of file OVR_Math.h.

typedef struct ovrRecti_ ovrRecti

Definition at line 106 of file OVR_Math.h.

typedef struct ovrSizef_ ovrSizef

Definition at line 105 of file OVR_Math.h.

typedef struct ovrSizei_ ovrSizei

Definition at line 104 of file OVR_Math.h.

typedef struct ovrVector2f_ ovrVector2f

Definition at line 108 of file OVR_Math.h.

typedef struct ovrVector2i_ ovrVector2i

Definition at line 107 of file OVR_Math.h.

typedef struct ovrVector3d_ ovrVector3d

Definition at line 110 of file OVR_Math.h.

typedef struct ovrVector3f_ ovrVector3f

Definition at line 109 of file OVR_Math.h.