Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
ph::math::TMatrix3< T > Class Template Referencefinal

Represents a 3x3 matrix. More...

#include <TMatrix3.h>

Inheritance diagram for ph::math::TMatrix3< T >:
ph::math::TMatrixNBase< TMatrix3< T >, T, 3 > ph::math::TMatrixMxNBase< TMatrix3< T >, T, N, N >

Public Member Functions

 TMatrix3 ()=default
 
 TMatrix3 (const TMatrix3 &other)=default
 
 TMatrix3 (TMatrix3 &&other)=default
 
TMatrix3operator= (const TMatrix3 &rhs)=default
 
TMatrix3operator= (TMatrix3 &&rhs)=default
 
 ~TMatrix3 ()=default
 
template<typename U >
 TMatrix3 (const TMatrix3< U > &other)
 
 TMatrix3 (T m00, T m01, T m02, T m10, T m11, T m12, T m20, T m21, T m22)
 
TVector3< T > mul (const TVector3< T > &rhsColVector) const
 
TMatrix3 inverse () const
 
determinant () const
 
TVector3< T > operator* (const TVector3< T > &rhsColVector) const
 
- Public Member Functions inherited from ph::math::TMatrixNBase< TMatrix3< T >, T, 3 >
TMatrix3< T > & setIdentity ()
 Sets the matrix to be an identity matrix.
 
TMatrix3< T > & setScale (const TRawColVector< T, N > &scaleFactor)
 
TMatrix3< T > mul (const TMatrix3< T > &rhsMatrix) const
 
void mul (const TMatrix3< T > &rhsMatrix, TMatrix3< T > *out_result) const
 
TMatrix3< T > & mulLocal (const TMatrix3< T > &rhsMatrix)
 
TMatrix3< T > mulTransposed (const TMatrix3< T > &rhsMatrix) const
 
void mulTransposed (const TMatrix3< T > &rhsMatrix, TMatrix3< T > *out_result) const
 
TMatrix3< T > & mulTransposedLocal (const TMatrix3< T > &rhsMatrix)
 
TMatrix3< T > transpose () const
 
TMatrix3< T > & transposeLocal ()
 
- Public Member Functions inherited from ph::math::TMatrixMxNBase< TMatrix3< T >, T, N, N >
 TMatrixMxNBase (T elements)
 
 TMatrixMxNBase (Elements elements)
 

Additional Inherited Members

- Public Types inherited from ph::math::TMatrixMxNBase< TMatrix3< T >, T, N, N >
using Elements
 
- Protected Member Functions inherited from ph::math::TMatrixNBase< TMatrix3< T >, T, 3 >
 PH_DEFINE_INLINE_RULE_OF_5_MEMBERS (TMatrixNBase)
 
- Protected Member Functions inherited from ph::math::TMatrixMxNBase< TMatrix3< T >, T, N, N >
 PH_DEFINE_INLINE_RULE_OF_5_MEMBERS (TMatrixMxNBase)
 
constexpr std::size_t numRows () const noexcept
 
constexpr std::size_t numCols () const noexcept
 
TMatrix3< T > mul (T constantValue) const
 
TMatrix3< T > & mulLocal (T constantValue)
 
TMatrix3< T > & set (T constantValue)
 
TRawColVector< T, M > multiplyVector (const TRawColVector< T, M > &rhsColVector) const
 
void multiplyMatrix (const TRawMatrix< T, N, K > &rhsMatrix, TRawMatrix< T, M, K > *out_result) const
 
void multiplyTransposedMatrix (const TRawMatrix< T, K, N > &rhsMatrix, TRawMatrix< T, M, K > *out_result) const
 
TRawMatrix< T, N, M > transposeMatrix () const
 
TRawRowVector< T, N > & operator[] (std::size_t rowIndex)
 
const TRawRowVector< T, N > & operator[] (std::size_t rowIndex) const
 
std::string toString () const
 
- Protected Attributes inherited from ph::math::TMatrixMxNBase< TMatrix3< T >, T, N, N >
TRawMatrix< T, M, N > m
 
- Static Protected Attributes inherited from ph::math::TMatrixMxNBase< TMatrix3< T >, T, N, N >
static constexpr auto NUM_ROWS
 
static constexpr auto NUM_COLS
 

Detailed Description

template<typename T>
class ph::math::TMatrix3< T >

Represents a 3x3 matrix.

Constructor & Destructor Documentation

◆ TMatrix3() [1/5]

template<typename T >
ph::math::TMatrix3< T >::TMatrix3 ( )
inlinedefault

◆ TMatrix3() [2/5]

template<typename T >
ph::math::TMatrix3< T >::TMatrix3 ( const TMatrix3< T > & other)
inlinedefault

◆ TMatrix3() [3/5]

template<typename T >
ph::math::TMatrix3< T >::TMatrix3 ( TMatrix3< T > && other)
inlinedefault

◆ ~TMatrix3()

template<typename T >
ph::math::TMatrix3< T >::~TMatrix3 ( )
inlinedefault

◆ TMatrix3() [4/5]

template<typename T >
template<typename U >
ph::math::TMatrix3< T >::TMatrix3 ( const TMatrix3< U > & other)
inlineexplicit

◆ TMatrix3() [5/5]

template<typename T >
ph::math::TMatrix3< T >::TMatrix3 ( T m00,
T m01,
T m02,
T m10,
T m11,
T m12,
T m20,
T m21,
T m22 )
inline

Member Function Documentation

◆ determinant()

template<typename T >
T ph::math::TMatrix3< T >::determinant ( ) const
inline

◆ inverse()

template<typename T >
TMatrix3< T > ph::math::TMatrix3< T >::inverse ( ) const
inline

◆ mul()

template<typename T >
TVector3< T > ph::math::TMatrix3< T >::mul ( const TVector3< T > & rhsColVector) const
inline

◆ operator*()

template<typename T >
TVector3< T > ph::math::TMatrix3< T >::operator* ( const TVector3< T > & rhsColVector) const
inline

◆ operator=() [1/2]

template<typename T >
TMatrix3 & ph::math::TMatrix3< T >::operator= ( const TMatrix3< T > & rhs)
inlinedefault

◆ operator=() [2/2]

template<typename T >
TMatrix3 & ph::math::TMatrix3< T >::operator= ( TMatrix3< T > && rhs)
inlinedefault

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