Hermes
hermes::Matrix4x4< T > Class Template Reference

4x4 Matrix representation More...

+ Inheritance diagram for hermes::Matrix4x4< T >:

Public Member Functions

HERMES_DEVICE_CALLABLE Matrix4x4 (bool is_identity=false)
 
HERMES_DEVICE_CALLABLE Matrix4x4 (std::initializer_list< T > values, bool columnMajor=false)
 
HERMES_DEVICE_CALLABLE Matrix4x4 (const T mat[16], bool columnMajor=false)
 
HERMES_DEVICE_CALLABLE Matrix4x4 (T mat[4][4])
 
HERMES_DEVICE_CALLABLE Matrix4x4 (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)
 
HERMES_DEVICE_CALLABLE Matrix4x4< T > operator* (const Matrix4x4< T > &B) const
 
HERMES_DEVICE_CALLABLE Vector4< T > operator* (const Vector4< T > &v) const
 
HERMES_DEVICE_CALLABLE Matrix4x4< T > & operator*= (T s)
 
HERMES_DEVICE_CALLABLE bool operator== (const Matrix4x4< T > &B) const
 
HERMES_DEVICE_CALLABLE bool operator!= (const Matrix4x4< T > &B) const
 
HERMES_DEVICE_CALLABLE void setIdentity ()
 
HERMES_DEVICE_CALLABLE void row_major (T *a) const
 
HERMES_DEVICE_CALLABLE void column_major (T *a) const
 
HERMES_DEVICE_CALLABLE bool isIdentity () const
 
HERMES_DEVICE_CALLABLE T * operator[] (u32 row_index)
 
HERMES_DEVICE_CALLABLE const T * operator[] (u32 row_index) const
 

Static Public Member Functions

static HERMES_DEVICE_CALLABLE Matrix4x4 I ()
 Creates an identity matrix. More...
 
- Static Public Member Functions inherited from hermes::MathElement< T, 16 >
static constexpr u64 componentCount ()
 Gets the number of dimensional components. More...
 
static constexpr u64 numericTypeSizeInBytes ()
 Gets the size in bytes of underlying data type. More...
 
static MemoryDumper::RegionLayout memoryDumpLayout ()
 Gets memory layout. More...
 

Additional Inherited Members

- Static Public Attributes inherited from hermes::MathElement< T, 16 >
static T numeric_data
 Underlying data type.
 

Detailed Description

template<typename T>
class hermes::Matrix4x4< T >

4x4 Matrix representation

Template Parameters
T

Constructor & Destructor Documentation

◆ Matrix4x4() [1/5]

template<typename T >
HERMES_DEVICE_CALLABLE hermes::Matrix4x4< T >::Matrix4x4 ( bool  is_identity = false)
inlineexplicit
Parameters
is_identity[optional | def = true] initialize as an identity matrix

◆ Matrix4x4() [2/5]

template<typename T >
HERMES_DEVICE_CALLABLE hermes::Matrix4x4< T >::Matrix4x4 ( std::initializer_list< T >  values,
bool  columnMajor = false 
)
inline
Parameters
valueslist of values
isColumnMajor[optional | default = false] values configuration

◆ Matrix4x4() [3/5]

template<typename T >
HERMES_DEVICE_CALLABLE hermes::Matrix4x4< T >::Matrix4x4 ( const T  mat[16],
bool  columnMajor = false 
)
inlineexplicit
Parameters
matlist of values
isColumnMajor[optional | default = false] values configuration

◆ Matrix4x4() [4/5]

template<typename T >
HERMES_DEVICE_CALLABLE hermes::Matrix4x4< T >::Matrix4x4 ( mat[4][4])
inlineexplicit
Parameters
matmatrix entries in [ROW][COLUMN] form

◆ Matrix4x4() [5/5]

template<typename T >
HERMES_DEVICE_CALLABLE hermes::Matrix4x4< T >::Matrix4x4 ( m00,
m01,
m02,
m03,
m10,
m11,
m12,
m13,
m20,
m21,
m22,
m23,
m30,
m31,
m32,
m33 
)
inline
Parameters
m00value of entry at row 0 column 0
m01value of entry at row 0 column 1
m02value of entry at row 0 column 2
m03value of entry at row 0 column 3
m10value of entry at row 1 column 0
m11value of entry at row 1 column 1
m12value of entry at row 1 column 2
m13value of entry at row 1 column 3
m20value of entry at row 2 column 0
m21value of entry at row 2 column 1
m22value of entry at row 2 column 2
m23value of entry at row 2 column 3
m30value of entry at row 3 column 0
m31value of entry at row 3 column 1
m32value of entry at row 3 column 2
m33value of entry at row 3 column 3

Member Function Documentation

◆ column_major()

template<typename T >
HERMES_DEVICE_CALLABLE void hermes::Matrix4x4< T >::column_major ( T *  a) const
inline
Parameters
a

◆ I()

template<typename T >
static HERMES_DEVICE_CALLABLE Matrix4x4 hermes::Matrix4x4< T >::I ( )
inlinestatic

Creates an identity matrix.

Returns

◆ isIdentity()

template<typename T >
HERMES_DEVICE_CALLABLE bool hermes::Matrix4x4< T >::isIdentity ( ) const
inline
Returns

◆ row_major()

template<typename T >
HERMES_DEVICE_CALLABLE void hermes::Matrix4x4< T >::row_major ( T *  a) const
inline
Parameters
a

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