EHS
Loading...
Searching...
No Matches
ehs::Mat4< T > Class Template Reference

#include <Mat4.h>

Public Member Functions

 Mat4 ()
 
 Mat4 (const T *data)
 
template<typename C>
 Mat4 (const Mat3< C > &mat)
 
template<typename C>
 Mat4 (const Mat4< C > &mat)
 
template<typename C>
Mat4< T > & operator= (const Mat4< C > &mat)
 
Vec4< T > operator* (Vec4< T > vec) const
 
Mat4< T > & operator*= (const T scalar)
 
Mat4< T > operator* (const T scalar) const
 
Mat4< T > & operator*= (const Mat4< T > &mat)
 
Mat4< T > operator* (const Mat4< T > &mat) const
 
 operator const T * () const
 
 operator T* ()
 
Vec3< T > GetRight () const
 
Vec3< T > GetUp () const
 
Vec3< T > GetForward () const
 
Mat4< T > GetTranspose () const
 
void Transpose ()
 
Mat3< T > Cut (const UInt_8 row, const UInt_8 column) const
 
Mat4< T > GetMinor () const
 
void Minor ()
 
Mat4< T > GetCofactor () const
 
void Cofactor ()
 
GetDeterminant () const
 
Mat4< T > GetAdjugate () const
 
void Adjugate ()
 
Mat4< T > GetInverse () const
 
void Inverse ()
 

Static Public Member Functions

static Mat4< T > Identity ()
 
static Mat4< T > Scale (const Vec3< T > &scale)
 
static Mat4< T > Translate (const Vec3< T > &pos)
 
static Mat4< T > PitchRotate (const T angle)
 
static Mat4< T > YawRotate (const T angle)
 
static Mat4< T > RollRotate (const T angle)
 
static Mat4< T > Rotate (const Vec3< T > &vec)
 
static Mat4< T > RH_Perspective (const T fov, const T aspect, const T zNear, const T zFar)
 
static Mat4< T > LH_Perspective (const T fov, const T aspect, const T zNear, const T zFar)
 
static Mat4< T > LH_Orthographic (const T left, const T right, const T top, const T bottom, const T zNear, const T zFar)
 

Friends

class GpuUniform
 

Constructor & Destructor Documentation

◆ Mat4() [1/4]

template<typename T = float>
ehs::Mat4< T >::Mat4 ( )
inline

◆ Mat4() [2/4]

template<typename T = float>
ehs::Mat4< T >::Mat4 ( const T * data)
inlineexplicit

◆ Mat4() [3/4]

template<typename T = float>
template<typename C>
ehs::Mat4< T >::Mat4 ( const Mat3< C > & mat)
inline

◆ Mat4() [4/4]

template<typename T = float>
template<typename C>
ehs::Mat4< T >::Mat4 ( const Mat4< C > & mat)
inline

Member Function Documentation

◆ Adjugate()

template<typename T = float>
void ehs::Mat4< T >::Adjugate ( )
inline

◆ Cofactor()

template<typename T = float>
void ehs::Mat4< T >::Cofactor ( )
inline

◆ Cut()

template<typename T = float>
Mat3< T > ehs::Mat4< T >::Cut ( const UInt_8 row,
const UInt_8 column ) const
inline

◆ GetAdjugate()

template<typename T = float>
Mat4< T > ehs::Mat4< T >::GetAdjugate ( ) const
inline

◆ GetCofactor()

template<typename T = float>
Mat4< T > ehs::Mat4< T >::GetCofactor ( ) const
inline

◆ GetDeterminant()

template<typename T = float>
T ehs::Mat4< T >::GetDeterminant ( ) const
inline

◆ GetForward()

template<typename T = float>
Vec3< T > ehs::Mat4< T >::GetForward ( ) const
inline

◆ GetInverse()

template<typename T = float>
Mat4< T > ehs::Mat4< T >::GetInverse ( ) const
inline

◆ GetMinor()

template<typename T = float>
Mat4< T > ehs::Mat4< T >::GetMinor ( ) const
inline

◆ GetRight()

template<typename T = float>
Vec3< T > ehs::Mat4< T >::GetRight ( ) const
inline

◆ GetTranspose()

template<typename T = float>
Mat4< T > ehs::Mat4< T >::GetTranspose ( ) const
inline

◆ GetUp()

template<typename T = float>
Vec3< T > ehs::Mat4< T >::GetUp ( ) const
inline

◆ Identity()

template<typename T = float>
static Mat4< T > ehs::Mat4< T >::Identity ( )
inlinestatic

◆ Inverse()

template<typename T = float>
void ehs::Mat4< T >::Inverse ( )
inline

◆ LH_Orthographic()

template<typename T = float>
static Mat4< T > ehs::Mat4< T >::LH_Orthographic ( const T left,
const T right,
const T top,
const T bottom,
const T zNear,
const T zFar )
inlinestatic

◆ LH_Perspective()

template<typename T = float>
static Mat4< T > ehs::Mat4< T >::LH_Perspective ( const T fov,
const T aspect,
const T zNear,
const T zFar )
inlinestatic

◆ Minor()

template<typename T = float>
void ehs::Mat4< T >::Minor ( )
inline

◆ operator const T *()

template<typename T = float>
ehs::Mat4< T >::operator const T * ( ) const
inline

◆ operator T*()

template<typename T = float>
ehs::Mat4< T >::operator T* ( )
inline

◆ operator*() [1/3]

template<typename T = float>
Mat4< T > ehs::Mat4< T >::operator* ( const Mat4< T > & mat) const
inline

◆ operator*() [2/3]

template<typename T = float>
Mat4< T > ehs::Mat4< T >::operator* ( const T scalar) const
inline

◆ operator*() [3/3]

template<typename T = float>
Vec4< T > ehs::Mat4< T >::operator* ( Vec4< T > vec) const
inline

◆ operator*=() [1/2]

template<typename T = float>
Mat4< T > & ehs::Mat4< T >::operator*= ( const Mat4< T > & mat)
inline

◆ operator*=() [2/2]

template<typename T = float>
Mat4< T > & ehs::Mat4< T >::operator*= ( const T scalar)
inline

◆ operator=()

template<typename T = float>
template<typename C>
Mat4< T > & ehs::Mat4< T >::operator= ( const Mat4< C > & mat)
inline

◆ PitchRotate()

template<typename T = float>
static Mat4< T > ehs::Mat4< T >::PitchRotate ( const T angle)
inlinestatic

◆ RH_Perspective()

template<typename T = float>
static Mat4< T > ehs::Mat4< T >::RH_Perspective ( const T fov,
const T aspect,
const T zNear,
const T zFar )
inlinestatic

◆ RollRotate()

template<typename T = float>
static Mat4< T > ehs::Mat4< T >::RollRotate ( const T angle)
inlinestatic

◆ Rotate()

template<typename T = float>
static Mat4< T > ehs::Mat4< T >::Rotate ( const Vec3< T > & vec)
inlinestatic

◆ Scale()

template<typename T = float>
static Mat4< T > ehs::Mat4< T >::Scale ( const Vec3< T > & scale)
inlinestatic

◆ Translate()

template<typename T = float>
static Mat4< T > ehs::Mat4< T >::Translate ( const Vec3< T > & pos)
inlinestatic

◆ Transpose()

template<typename T = float>
void ehs::Mat4< T >::Transpose ( )
inline

◆ YawRotate()

template<typename T = float>
static Mat4< T > ehs::Mat4< T >::YawRotate ( const T angle)
inlinestatic

Friends And Related Symbol Documentation

◆ GpuUniform

template<typename T = float>
friend class GpuUniform
friend

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