Move Vectormath main
C++20 game and graphics mathematics
Loading...
Searching...
No Matches
mv::math::Mat4< T > Class Template Reference

#include <mv/math/Mat4.hpp>

Public Types

using Component = T
 
using RowVector = Vec4< T >
 

Public Member Functions

constexpr Mat4 () noexcept
 
constexpr Mat4 (const RowVector &row0, const RowVector &row1, const RowVector &row2, const RowVector &row3) noexcept
 
constexpr Mat4 (T m11, T m12, T m13, T m14, T m21, T m22, T m23, T m24, T m31, T m32, T m33, T m34, T m41, T m42, T m43, T m44) noexcept
 
constexpr const RowVector & Row (std::size_t index) const noexcept
 
constexpr RowVector Column (std::size_t index) const noexcept
 
constexpr T Element (std::size_t row, std::size_t column) const noexcept
 
RowVector TransformHomogeneous (const RowVector &vector) const noexcept
 
Mat4 operator* (const Mat4 &right) const noexcept
 
Mat4 Transposed () const noexcept
 
T Determinant () const noexcept
 
std::optional< Mat4 > TryInverse () const noexcept
 
bool IsFinite () const noexcept
 

Static Public Member Functions

static constexpr Mat4 Identity () noexcept
 
static constexpr Mat4 Zero () noexcept
 

Detailed Description

template<typename T>
requires std::is_floating_point_v<T>
class mv::math::Mat4< T >

Definition at line 16 of file Mat4.hpp.

Member Typedef Documentation

◆ Component

template<typename T >
using mv::math::Mat4< T >::Component = T

Definition at line 19 of file Mat4.hpp.

◆ RowVector

template<typename T >
using mv::math::Mat4< T >::RowVector = Vec4<T>

Definition at line 20 of file Mat4.hpp.

Constructor & Destructor Documentation

◆ Mat4() [1/3]

template<typename T >
constexpr mv::math::Mat4< T >::Mat4 ( )
inlineconstexprnoexcept

Definition at line 22 of file Mat4.hpp.

◆ Mat4() [2/3]

template<typename T >
constexpr mv::math::Mat4< T >::Mat4 ( const RowVector &  row0,
const RowVector &  row1,
const RowVector &  row2,
const RowVector &  row3 
)
inlineconstexprnoexcept

Definition at line 30 of file Mat4.hpp.

◆ Mat4() [3/3]

template<typename T >
constexpr mv::math::Mat4< T >::Mat4 ( T  m11,
T  m12,
T  m13,
T  m14,
T  m21,
T  m22,
T  m23,
T  m24,
T  m31,
T  m32,
T  m33,
T  m34,
T  m41,
T  m42,
T  m43,
T  m44 
)
inlineconstexprnoexcept

Definition at line 38 of file Mat4.hpp.

Member Function Documentation

◆ Column()

template<typename T >
constexpr RowVector mv::math::Mat4< T >::Column ( std::size_t  index) const
inlineconstexprnoexcept

Definition at line 78 of file Mat4.hpp.

◆ Determinant()

template<typename T >
T mv::math::Mat4< T >::Determinant ( ) const
inlinenoexcept

Definition at line 139 of file Mat4.hpp.

◆ Element()

template<typename T >
constexpr T mv::math::Mat4< T >::Element ( std::size_t  row,
std::size_t  column 
) const
inlineconstexprnoexcept

Definition at line 87 of file Mat4.hpp.

◆ Identity()

template<typename T >
static constexpr Mat4 mv::math::Mat4< T >::Identity ( )
inlinestaticconstexprnoexcept

Definition at line 61 of file Mat4.hpp.

◆ IsFinite()

template<typename T >
bool mv::math::Mat4< T >::IsFinite ( ) const
inlinenoexcept

Definition at line 204 of file Mat4.hpp.

◆ operator*()

template<typename T >
Mat4 mv::math::Mat4< T >::operator* ( const Mat4< T > &  right) const
inlinenoexcept

Definition at line 109 of file Mat4.hpp.

◆ Row()

template<typename T >
constexpr const RowVector & mv::math::Mat4< T >::Row ( std::size_t  index) const
inlineconstexprnoexcept

Definition at line 71 of file Mat4.hpp.

◆ TransformHomogeneous()

template<typename T >
RowVector mv::math::Mat4< T >::TransformHomogeneous ( const RowVector &  vector) const
inlinenoexcept

Definition at line 93 of file Mat4.hpp.

◆ Transposed()

template<typename T >
Mat4 mv::math::Mat4< T >::Transposed ( ) const
inlinenoexcept

Definition at line 127 of file Mat4.hpp.

◆ TryInverse()

template<typename T >
std::optional< Mat4 > mv::math::Mat4< T >::TryInverse ( ) const
inlinenoexcept

Definition at line 155 of file Mat4.hpp.

◆ Zero()

template<typename T >
static constexpr Mat4 mv::math::Mat4< T >::Zero ( )
inlinestaticconstexprnoexcept

Definition at line 66 of file Mat4.hpp.


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