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

#include <mv/math/Mat3.hpp>

Public Types

using Component = T
 
using RowVector = Vec3< T >
 

Public Member Functions

 Mat3 () noexcept
 
 Mat3 (RowVector row0, RowVector row1, RowVector row2) noexcept
 
 Mat3 (T m11, T m12, T m13, T m21, T m22, T m23, T m31, T m32, T m33) noexcept
 
const RowVector & Row (std::size_t index) const noexcept
 
RowVector Column (std::size_t index) const noexcept
 
T Element (std::size_t row, std::size_t column) const noexcept
 
Mat3 Transposed () const noexcept
 
T Determinant () const noexcept
 
std::optional< Mat3 > TryInverse () const noexcept
 
bool IsFinite () const noexcept
 
RowVector TransformVector (const RowVector &vector) const noexcept
 
Mat3 operator* (const Mat3 &right) const noexcept
 

Static Public Member Functions

static Mat3 Identity () noexcept
 
static Mat3 Zero () noexcept
 
static Mat3 Scale (RowVector scale) noexcept
 
static Mat3 FromRotation (const Rotation3< T > &rotation) noexcept
 

Detailed Description

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

Definition at line 17 of file Mat3.hpp.

Member Typedef Documentation

◆ Component

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

Definition at line 20 of file Mat3.hpp.

◆ RowVector

template<typename T >
using mv::math::Mat3< T >::RowVector = Vec3<T>

Definition at line 21 of file Mat3.hpp.

Constructor & Destructor Documentation

◆ Mat3() [1/3]

template<typename T >
mv::math::Mat3< T >::Mat3 ( )
inlinenoexcept

Definition at line 23 of file Mat3.hpp.

◆ Mat3() [2/3]

template<typename T >
mv::math::Mat3< T >::Mat3 ( RowVector  row0,
RowVector  row1,
RowVector  row2 
)
inlinenoexcept

Definition at line 29 of file Mat3.hpp.

◆ Mat3() [3/3]

template<typename T >
mv::math::Mat3< T >::Mat3 ( T  m11,
T  m12,
T  m13,
T  m21,
T  m22,
T  m23,
T  m31,
T  m32,
T  m33 
)
inlinenoexcept

Definition at line 34 of file Mat3.hpp.

Member Function Documentation

◆ Column()

template<typename T >
RowVector mv::math::Mat3< T >::Column ( std::size_t  index) const
inlinenoexcept

Definition at line 107 of file Mat3.hpp.

◆ Determinant()

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

Definition at line 142 of file Mat3.hpp.

◆ Element()

template<typename T >
T mv::math::Mat3< T >::Element ( std::size_t  row,
std::size_t  column 
) const
inlinenoexcept

Definition at line 121 of file Mat3.hpp.

◆ FromRotation()

template<typename T >
static Mat3 mv::math::Mat3< T >::FromRotation ( const Rotation3< T > &  rotation)
inlinestaticnoexcept

Definition at line 65 of file Mat3.hpp.

◆ Identity()

template<typename T >
static Mat3 mv::math::Mat3< T >::Identity ( )
inlinestaticnoexcept

Definition at line 49 of file Mat3.hpp.

◆ IsFinite()

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

Definition at line 225 of file Mat3.hpp.

◆ operator*()

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

Definition at line 243 of file Mat3.hpp.

◆ Row()

template<typename T >
const RowVector & mv::math::Mat3< T >::Row ( std::size_t  index) const
inlinenoexcept

Definition at line 101 of file Mat3.hpp.

◆ Scale()

template<typename T >
static Mat3 mv::math::Mat3< T >::Scale ( RowVector  scale)
inlinestaticnoexcept

Definition at line 59 of file Mat3.hpp.

◆ TransformVector()

template<typename T >
RowVector mv::math::Mat3< T >::TransformVector ( const RowVector &  vector) const
inlinenoexcept

Definition at line 236 of file Mat3.hpp.

◆ Transposed()

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

Definition at line 137 of file Mat3.hpp.

◆ TryInverse()

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

Definition at line 157 of file Mat3.hpp.

◆ Zero()

template<typename T >
static Mat3 mv::math::Mat3< T >::Zero ( )
inlinestaticnoexcept

Definition at line 54 of file Mat3.hpp.


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