Diligent Engine  v.2.4.g
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Diligent::Matrix4x4< T > Struct Template Reference

#include <BasicMath.hpp>

Public Member Functions

 Matrix4x4 (T value)
 
 Matrix4x4 ()
 
 Matrix4x4 (T i11, T i12, T i13, T i14, T i21, T i22, T i23, T i24, T i31, T i32, T i33, T i34, T i41, T i42, T i43, T i44)
 
 Matrix4x4 (const Vector4< T > &Row0, const Vector4< T > &Row1, const Vector4< T > &Row2, const Vector4< T > &Row3)
 
bool operator== (const Matrix4x4 &r) const
 
bool operator!= (const Matrix4x4 &r) const
 
T * operator[] (size_t row)
 
const T * operator[] (size_t row) const
 
T * Data ()
 
const T * Data () const
 
Matrix4x4operator*= (T s)
 
Matrix4x4operator*= (const Matrix4x4 &right)
 
Matrix4x4 Transpose () const
 
void SetNearFarClipPlanes (T zNear, T zFar, T bIsGL)
 
void GetNearFarClipPlanes (T &zNear, T &zFar, bool bIsGL) const
 
Determinant () const
 
Matrix4x4 Inverse () const
 
Matrix4x4 RemoveTranslation () const
 

Static Public Member Functions

template<typename Y >
static Matrix4x4 MakeMatrix (const Y &vals)
 
static Matrix4x4 Identity ()
 
static Matrix4x4 Translation (T x, T y, T z)
 
static Matrix4x4 Translation (const Vector3< T > &v)
 
static Matrix4x4 Scale (T x, T y, T z)
 
static Matrix4x4 Scale (const Vector3< T > &v)
 
static Matrix4x4 Scale (T s)
 
static Matrix4x4 RotationX (T angleInRadians)
 
static Matrix4x4 RotationY (T angleInRadians)
 
static Matrix4x4 RotationZ (T angleInRadians)
 
static Matrix4x4 RotationArbitrary (Vector3< T > axis, T angleInRadians)
 
static Matrix4x4 ViewFromBasis (const Vector3< T > &f3X, const Vector3< T > &f3Y, const Vector3< T > &f3Z)
 
static Matrix4x4 Projection (T fov, T aspectRatio, T zNear, T zFar, bool bIsGL)
 
static Matrix4x4 OrthoOffCenter (T left, T right, T bottom, T top, T zNear, T zFar, bool bIsGL)
 
static Matrix4x4 Ortho (T width, T height, T zNear, T zFar, bool bIsGL)
 
static Matrix4x4 Mul (const Matrix4x4 &m1, const Matrix4x4 &m2)
 

Public Attributes

union {
   struct {
      T   _11
 
      T   _12
 
      T   _13
 
      T   _14
 
      T   _21
 
      T   _22
 
      T   _23
 
      T   _24
 
      T   _31
 
      T   _32
 
      T   _33
 
      T   _34
 
      T   _41
 
      T   _42
 
      T   _43
 
      T   _44
 
   } 
 
   struct {
      T   m00
 
      T   m01
 
      T   m02
 
      T   m03
 
      T   m10
 
      T   m11
 
      T   m12
 
      T   m13
 
      T   m20
 
      T   m21
 
      T   m22
 
      T   m23
 
      T   m30
 
      T   m31
 
      T   m32
 
      T   m33
 
   } 
 
   T   m [4][4]
 
}; 
 

Constructor & Destructor Documentation

◆ Matrix4x4() [1/4]

template<class T >
Diligent::Matrix4x4< T >::Matrix4x4 ( value)
inlineexplicit

◆ Matrix4x4() [2/4]

template<class T >
Diligent::Matrix4x4< T >::Matrix4x4 ( )
inline

◆ Matrix4x4() [3/4]

template<class T >
Diligent::Matrix4x4< T >::Matrix4x4 ( i11,
i12,
i13,
i14,
i21,
i22,
i23,
i24,
i31,
i32,
i33,
i34,
i41,
i42,
i43,
i44 
)
inline

◆ Matrix4x4() [4/4]

template<class T >
Diligent::Matrix4x4< T >::Matrix4x4 ( const Vector4< T > &  Row0,
const Vector4< T > &  Row1,
const Vector4< T > &  Row2,
const Vector4< T > &  Row3 
)
inline

Member Function Documentation

◆ Data() [1/2]

template<class T >
T* Diligent::Matrix4x4< T >::Data ( )
inline

◆ Data() [2/2]

template<class T >
const T* Diligent::Matrix4x4< T >::Data ( ) const
inline

◆ Determinant()

template<class T >
T Diligent::Matrix4x4< T >::Determinant ( ) const
inline

◆ GetNearFarClipPlanes()

template<class T >
void Diligent::Matrix4x4< T >::GetNearFarClipPlanes ( T &  zNear,
T &  zFar,
bool  bIsGL 
) const
inline

◆ Identity()

template<class T >
static Matrix4x4 Diligent::Matrix4x4< T >::Identity ( )
inlinestatic

◆ Inverse()

template<class T >
Matrix4x4 Diligent::Matrix4x4< T >::Inverse ( ) const
inline

◆ MakeMatrix()

template<class T >
template<typename Y >
static Matrix4x4 Diligent::Matrix4x4< T >::MakeMatrix ( const Y &  vals)
inlinestatic

◆ Mul()

template<class T >
static Matrix4x4 Diligent::Matrix4x4< T >::Mul ( const Matrix4x4< T > &  m1,
const Matrix4x4< T > &  m2 
)
inlinestatic

◆ operator!=()

template<class T >
bool Diligent::Matrix4x4< T >::operator!= ( const Matrix4x4< T > &  r) const
inline

◆ operator*=() [1/2]

template<class T >
Matrix4x4& Diligent::Matrix4x4< T >::operator*= ( const Matrix4x4< T > &  right)
inline

◆ operator*=() [2/2]

template<class T >
Matrix4x4& Diligent::Matrix4x4< T >::operator*= ( s)
inline

◆ operator==()

template<class T >
bool Diligent::Matrix4x4< T >::operator== ( const Matrix4x4< T > &  r) const
inline

◆ operator[]() [1/2]

template<class T >
T* Diligent::Matrix4x4< T >::operator[] ( size_t  row)
inline

◆ operator[]() [2/2]

template<class T >
const T* Diligent::Matrix4x4< T >::operator[] ( size_t  row) const
inline

◆ Ortho()

template<class T >
static Matrix4x4 Diligent::Matrix4x4< T >::Ortho ( width,
height,
zNear,
zFar,
bool  bIsGL 
)
inlinestatic

◆ OrthoOffCenter()

template<class T >
static Matrix4x4 Diligent::Matrix4x4< T >::OrthoOffCenter ( left,
right,
bottom,
top,
zNear,
zFar,
bool  bIsGL 
)
inlinestatic

◆ Projection()

template<class T >
static Matrix4x4 Diligent::Matrix4x4< T >::Projection ( fov,
aspectRatio,
zNear,
zFar,
bool  bIsGL 
)
inlinestatic

◆ RemoveTranslation()

template<class T >
Matrix4x4 Diligent::Matrix4x4< T >::RemoveTranslation ( ) const
inline

◆ RotationArbitrary()

template<class T >
static Matrix4x4 Diligent::Matrix4x4< T >::RotationArbitrary ( Vector3< T >  axis,
angleInRadians 
)
inlinestatic

◆ RotationX()

template<class T >
static Matrix4x4 Diligent::Matrix4x4< T >::RotationX ( angleInRadians)
inlinestatic

◆ RotationY()

template<class T >
static Matrix4x4 Diligent::Matrix4x4< T >::RotationY ( angleInRadians)
inlinestatic

◆ RotationZ()

template<class T >
static Matrix4x4 Diligent::Matrix4x4< T >::RotationZ ( angleInRadians)
inlinestatic

◆ Scale() [1/3]

template<class T >
static Matrix4x4 Diligent::Matrix4x4< T >::Scale ( const Vector3< T > &  v)
inlinestatic

◆ Scale() [2/3]

template<class T >
static Matrix4x4 Diligent::Matrix4x4< T >::Scale ( s)
inlinestatic

◆ Scale() [3/3]

template<class T >
static Matrix4x4 Diligent::Matrix4x4< T >::Scale ( x,
y,
z 
)
inlinestatic

◆ SetNearFarClipPlanes()

template<class T >
void Diligent::Matrix4x4< T >::SetNearFarClipPlanes ( zNear,
zFar,
bIsGL 
)
inline

◆ Translation() [1/2]

template<class T >
static Matrix4x4 Diligent::Matrix4x4< T >::Translation ( const Vector3< T > &  v)
inlinestatic

◆ Translation() [2/2]

template<class T >
static Matrix4x4 Diligent::Matrix4x4< T >::Translation ( x,
y,
z 
)
inlinestatic

◆ Transpose()

template<class T >
Matrix4x4 Diligent::Matrix4x4< T >::Transpose ( ) const
inline

◆ ViewFromBasis()

template<class T >
static Matrix4x4 Diligent::Matrix4x4< T >::ViewFromBasis ( const Vector3< T > &  f3X,
const Vector3< T > &  f3Y,
const Vector3< T > &  f3Z 
)
inlinestatic

Member Data Documentation

◆ @35

union { ... }

◆ _11

template<class T >
T Diligent::Matrix4x4< T >::_11

◆ _12

template<class T >
T Diligent::Matrix4x4< T >::_12

◆ _13

template<class T >
T Diligent::Matrix4x4< T >::_13

◆ _14

template<class T >
T Diligent::Matrix4x4< T >::_14

◆ _21

template<class T >
T Diligent::Matrix4x4< T >::_21

◆ _22

template<class T >
T Diligent::Matrix4x4< T >::_22

◆ _23

template<class T >
T Diligent::Matrix4x4< T >::_23

◆ _24

template<class T >
T Diligent::Matrix4x4< T >::_24

◆ _31

template<class T >
T Diligent::Matrix4x4< T >::_31

◆ _32

template<class T >
T Diligent::Matrix4x4< T >::_32

◆ _33

template<class T >
T Diligent::Matrix4x4< T >::_33

◆ _34

template<class T >
T Diligent::Matrix4x4< T >::_34

◆ _41

template<class T >
T Diligent::Matrix4x4< T >::_41

◆ _42

template<class T >
T Diligent::Matrix4x4< T >::_42

◆ _43

template<class T >
T Diligent::Matrix4x4< T >::_43

◆ _44

template<class T >
T Diligent::Matrix4x4< T >::_44

◆ m

template<class T >
T Diligent::Matrix4x4< T >::m[4][4]

◆ m00

template<class T >
T Diligent::Matrix4x4< T >::m00

◆ m01

template<class T >
T Diligent::Matrix4x4< T >::m01

◆ m02

template<class T >
T Diligent::Matrix4x4< T >::m02

◆ m03

template<class T >
T Diligent::Matrix4x4< T >::m03

◆ m10

template<class T >
T Diligent::Matrix4x4< T >::m10

◆ m11

template<class T >
T Diligent::Matrix4x4< T >::m11

◆ m12

template<class T >
T Diligent::Matrix4x4< T >::m12

◆ m13

template<class T >
T Diligent::Matrix4x4< T >::m13

◆ m20

template<class T >
T Diligent::Matrix4x4< T >::m20

◆ m21

template<class T >
T Diligent::Matrix4x4< T >::m21

◆ m22

template<class T >
T Diligent::Matrix4x4< T >::m22

◆ m23

template<class T >
T Diligent::Matrix4x4< T >::m23

◆ m30

template<class T >
T Diligent::Matrix4x4< T >::m30

◆ m31

template<class T >
T Diligent::Matrix4x4< T >::m31

◆ m32

template<class T >
T Diligent::Matrix4x4< T >::m32

◆ m33

template<class T >
T Diligent::Matrix4x4< T >::m33

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