Pioneer
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Friends | List of all members
matrix4x4< T > Class Template Reference

#include <matrix4x4.h>

Public Member Functions

 matrix4x4 ()
 
 matrix4x4 (T val)
 
 matrix4x4 (const T *vals)
 
 matrix4x4 (const matrix3x3< T > &m)
 
 matrix4x4 (const matrix3x3< T > &m, const vector3< T > &v)
 
 matrix4x4 (const matrix4x4< other_float_t > &m)
 
void SetTranslate (const vector3< T > &v)
 
vector3< T > GetTranslate () const
 
void SetRotationOnly (const matrix4x4 &m)
 
matrix3x3< T > GetOrient () const
 
void LoadFrom3x3Matrix (const T *r)
 
void SaveTo3x3Matrix (T *r) const
 
void Scale (T x, T y, T z)
 
void Scale (T s)
 
void Rotate (T ang, T x, T y, T z)
 
void RotateZ (T radians)
 
void RotateY (T radians)
 
void RotateX (T radians)
 
void Renormalize ()
 
void ClearToRotOnly ()
 
T & operator[] (const size_t i)
 
const T & operator[] (const size_t i) const
 
const T * Data () const
 
T * Data ()
 
vector3< T > InvTransform (const vector3< T > &inVec)
 
vector3< T > ApplyRotationOnly (const vector3< T > &v) const
 
void Translate (const vector3< T > &t)
 
void Translate (T x, T y, T z)
 
matrix4x4 Inverse () const
 
matrix4x4 Transpose () const
 
void Print () const
 
vector3< T > Right () const
 
vector3< T > Up () const
 
vector3< T > Back () const
 

Static Public Member Functions

static matrix4x4 Identity ()
 
static matrix4x4 ScaleMatrix (T x, T y, T z)
 
static matrix4x4 ScaleMatrix (T scale)
 
static matrix4x4 MakeRotMatrix (const vector3< T > &rx, const vector3< T > &ry, const vector3< T > &rz)
 
static matrix4x4 MakeInvRotMatrix (const vector3< T > &rx, const vector3< T > &ry, const vector3< T > &rz)
 
static matrix4x4 FrustumMatrix (T left, T right, T bottom, T top, T znear, T zfar)
 
static matrix4x4 PerspectiveMatrix (T fovR, T aspect, T znear, T zfar, bool fovX=false)
 
static matrix4x4 InfinitePerspectiveMatrix (T fovR, T aspect, T znear, bool fovX=false)
 
static matrix4x4 OrthoFrustum (T left, T right, T bottom, T top, T znear, T zfar)
 
static matrix4x4 OrthoMatrix (T width, T height, T znear, T zfar)
 
static matrix4x4 RotateMatrix (T ang, T x, T y, T z)
 
static matrix4x4 RotateXMatrix (T radians)
 
static matrix4x4 RotateYMatrix (T radians)
 
static matrix4x4 RotateZMatrix (T radians)
 
static matrix4x4 Translation (const vector3< T > &v)
 
static matrix4x4 Translation (T x, T y, T z)
 

Friends

matrix4x4 operator+ (const matrix4x4 &a, const matrix4x4 &b)
 
matrix4x4 operator- (const matrix4x4 &a, const matrix4x4 &b)
 
matrix4x4 operator- (const matrix4x4 &a)
 
matrix4x4 operator* (const matrix4x4 &a, const matrix4x4 &b)
 
vector3< T > operator* (const matrix4x4 &a, const vector3< T > &v)
 
vector3< T > operator* (const vector3< T > &v, const matrix4x4 &a)
 
matrix4x4 operator* (const matrix4x4 &a, T v)
 
matrix4x4 operator* (T v, const matrix4x4 &a)
 

Constructor & Destructor Documentation

◆ matrix4x4() [1/6]

template<typename T >
matrix4x4< T >::matrix4x4 ( )
inline

◆ matrix4x4() [2/6]

template<typename T >
matrix4x4< T >::matrix4x4 ( val)
inlineexplicit

◆ matrix4x4() [3/6]

template<typename T >
matrix4x4< T >::matrix4x4 ( const T *  vals)
inlineexplicit

◆ matrix4x4() [4/6]

template<typename T >
matrix4x4< T >::matrix4x4 ( const matrix3x3< T > &  m)
inline
Here is the call graph for this function:

◆ matrix4x4() [5/6]

template<typename T >
matrix4x4< T >::matrix4x4 ( const matrix3x3< T > &  m,
const vector3< T > &  v 
)
inline
Here is the call graph for this function:

◆ matrix4x4() [6/6]

template<typename T >
matrix4x4< T >::matrix4x4 ( const matrix4x4< other_float_t > &  m)
inlineexplicit

Member Function Documentation

◆ ApplyRotationOnly()

template<typename T >
vector3< T > matrix4x4< T >::ApplyRotationOnly ( const vector3< T > &  v) const
inline

◆ Back()

template<typename T >
vector3< T > matrix4x4< T >::Back ( ) const
inline

◆ ClearToRotOnly()

template<typename T >
void matrix4x4< T >::ClearToRotOnly ( )
inline

◆ Data() [1/2]

template<typename T >
T * matrix4x4< T >::Data ( )
inline

◆ Data() [2/2]

template<typename T >
const T * matrix4x4< T >::Data ( ) const
inline

◆ FrustumMatrix()

template<typename T >
static matrix4x4 matrix4x4< T >::FrustumMatrix ( left,
right,
bottom,
top,
znear,
zfar 
)
inlinestatic
Here is the call graph for this function:

◆ GetOrient()

template<typename T >
matrix3x3< T > matrix4x4< T >::GetOrient ( ) const
inline

◆ GetTranslate()

template<typename T >
vector3< T > matrix4x4< T >::GetTranslate ( ) const
inline

◆ Identity()

template<typename T >
static matrix4x4 matrix4x4< T >::Identity ( )
inlinestatic
Here is the call graph for this function:

◆ InfinitePerspectiveMatrix()

template<typename T >
static matrix4x4 matrix4x4< T >::InfinitePerspectiveMatrix ( fovR,
aspect,
znear,
bool  fovX = false 
)
inlinestatic
Here is the call graph for this function:

◆ Inverse()

template<typename T >
matrix4x4 matrix4x4< T >::Inverse ( ) const
inline

◆ InvTransform()

template<typename T >
vector3< T > matrix4x4< T >::InvTransform ( const vector3< T > &  inVec)
inline
Here is the call graph for this function:

◆ LoadFrom3x3Matrix()

template<typename T >
void matrix4x4< T >::LoadFrom3x3Matrix ( const T *  r)
inline

◆ MakeInvRotMatrix()

template<typename T >
static matrix4x4 matrix4x4< T >::MakeInvRotMatrix ( const vector3< T > &  rx,
const vector3< T > &  ry,
const vector3< T > &  rz 
)
inlinestatic

◆ MakeRotMatrix()

template<typename T >
static matrix4x4 matrix4x4< T >::MakeRotMatrix ( const vector3< T > &  rx,
const vector3< T > &  ry,
const vector3< T > &  rz 
)
inlinestatic

◆ operator[]() [1/2]

template<typename T >
T & matrix4x4< T >::operator[] ( const size_t  i)
inline

◆ operator[]() [2/2]

template<typename T >
const T & matrix4x4< T >::operator[] ( const size_t  i) const
inline

◆ OrthoFrustum()

template<typename T >
static matrix4x4 matrix4x4< T >::OrthoFrustum ( left,
right,
bottom,
top,
znear,
zfar 
)
inlinestatic

◆ OrthoMatrix()

template<typename T >
static matrix4x4 matrix4x4< T >::OrthoMatrix ( width,
height,
znear,
zfar 
)
inlinestatic

◆ PerspectiveMatrix()

template<typename T >
static matrix4x4 matrix4x4< T >::PerspectiveMatrix ( fovR,
aspect,
znear,
zfar,
bool  fovX = false 
)
inlinestatic
Here is the call graph for this function:

◆ Print()

template<typename T >
void matrix4x4< T >::Print ( ) const
inline

◆ Renormalize()

template<typename T >
void matrix4x4< T >::Renormalize ( )
inline
Here is the call graph for this function:

◆ Right()

template<typename T >
vector3< T > matrix4x4< T >::Right ( ) const
inline

◆ Rotate()

template<typename T >
void matrix4x4< T >::Rotate ( ang,
x,
y,
z 
)
inline
Here is the call graph for this function:

◆ RotateMatrix()

template<typename T >
static matrix4x4 matrix4x4< T >::RotateMatrix ( ang,
x,
y,
z 
)
inlinestatic

◆ RotateX()

template<typename T >
void matrix4x4< T >::RotateX ( radians)
inline
Here is the call graph for this function:

◆ RotateXMatrix()

template<typename T >
static matrix4x4 matrix4x4< T >::RotateXMatrix ( radians)
inlinestatic

◆ RotateY()

template<typename T >
void matrix4x4< T >::RotateY ( radians)
inline
Here is the call graph for this function:

◆ RotateYMatrix()

template<typename T >
static matrix4x4 matrix4x4< T >::RotateYMatrix ( radians)
inlinestatic

◆ RotateZ()

template<typename T >
void matrix4x4< T >::RotateZ ( radians)
inline
Here is the call graph for this function:

◆ RotateZMatrix()

template<typename T >
static matrix4x4 matrix4x4< T >::RotateZMatrix ( radians)
inlinestatic

◆ SaveTo3x3Matrix()

template<typename T >
void matrix4x4< T >::SaveTo3x3Matrix ( T *  r) const
inline

◆ Scale() [1/2]

template<typename T >
void matrix4x4< T >::Scale ( s)
inline
Here is the call graph for this function:

◆ Scale() [2/2]

template<typename T >
void matrix4x4< T >::Scale ( x,
y,
z 
)
inline
Here is the call graph for this function:

◆ ScaleMatrix() [1/2]

template<typename T >
static matrix4x4 matrix4x4< T >::ScaleMatrix ( scale)
inlinestatic

◆ ScaleMatrix() [2/2]

template<typename T >
static matrix4x4 matrix4x4< T >::ScaleMatrix ( x,
y,
z 
)
inlinestatic

◆ SetRotationOnly()

template<typename T >
void matrix4x4< T >::SetRotationOnly ( const matrix4x4< T > &  m)
inline

◆ SetTranslate()

template<typename T >
void matrix4x4< T >::SetTranslate ( const vector3< T > &  v)
inline

◆ Translate() [1/2]

template<typename T >
void matrix4x4< T >::Translate ( const vector3< T > &  t)
inline
Here is the call graph for this function:

◆ Translate() [2/2]

template<typename T >
void matrix4x4< T >::Translate ( x,
y,
z 
)
inline
Here is the call graph for this function:

◆ Translation() [1/2]

template<typename T >
static matrix4x4 matrix4x4< T >::Translation ( const vector3< T > &  v)
inlinestatic
Here is the call graph for this function:

◆ Translation() [2/2]

template<typename T >
static matrix4x4 matrix4x4< T >::Translation ( x,
y,
z 
)
inlinestatic
Here is the call graph for this function:

◆ Transpose()

template<typename T >
matrix4x4 matrix4x4< T >::Transpose ( ) const
inline

◆ Up()

template<typename T >
vector3< T > matrix4x4< T >::Up ( ) const
inline

Friends And Related Symbol Documentation

◆ operator* [1/5]

template<typename T >
matrix4x4 operator* ( const matrix4x4< T > &  a,
const matrix4x4< T > &  b 
)
friend

◆ operator* [2/5]

template<typename T >
vector3< T > operator* ( const matrix4x4< T > &  a,
const vector3< T > &  v 
)
friend

◆ operator* [3/5]

template<typename T >
matrix4x4 operator* ( const matrix4x4< T > &  a,
v 
)
friend

◆ operator* [4/5]

template<typename T >
vector3< T > operator* ( const vector3< T > &  v,
const matrix4x4< T > &  a 
)
friend

◆ operator* [5/5]

template<typename T >
matrix4x4 operator* ( v,
const matrix4x4< T > &  a 
)
friend

◆ operator+

template<typename T >
matrix4x4 operator+ ( const matrix4x4< T > &  a,
const matrix4x4< T > &  b 
)
friend

◆ operator- [1/2]

template<typename T >
matrix4x4 operator- ( const matrix4x4< T > &  a)
friend

◆ operator- [2/2]

template<typename T >
matrix4x4 operator- ( const matrix4x4< T > &  a,
const matrix4x4< T > &  b 
)
friend

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