sead
Loading...
Searching...
No Matches
sead::Matrix44< T > Class Template Reference

#include <seadMatrix.h>

Inherits sead::Policies< T >::Mtx44Base.

Public Member Functions

 Matrix44 ()
 Matrix44 (T a00, T a01, T a02, T a03, T a10, T a11, T a12, T a13, T a20, T a21, T a22, T a23, T a30, T a31, T a32, T a33)
 Matrix44 (const Mtx33 &mtx33, const Vec3 &t=Vec3::zero, const Vec4 &vw=Vec4::ew)
 Matrix44 (const Mtx34 &mtx34, const Vec4 &vw=Vec4::ew)
operator() (s32 i, s32 j) const
T & operator() (s32 i, s32 j)
Selfoperator= (const Self &n)
void makeIdentity ()
void makeZero ()
void setInverse (const Self &n)
void setInverseTranspose (const Self &n)
void setMul (const Self &a, const Self &b)
void setMul (const Mtx34 &a, const Self &b)
void setMul (const Self &a, const Mtx34 &b)
void setTranspose (const Self &n)
void transpose ()
void fromQuat (const Quat &q)
void makeR (const Vec3 &r)
void makeRIdx (u32 xr, u32 yr, u32 zr)
void makeRzxyIdx (u32 xr, u32 yr, u32 zr)
void toQuat (Quat &q) const
void scaleAllElements (T s)
void scaleBases (T sx, T sy, T sz, T sw)
void getCol (Vec4 &o, s32 axis) const
Vec4 getCol (s32 axis) const
void getRow (Vec4 &o, s32 row) const
Vec4 getRow (s32 row) const
void setCol (s32 axis, const Vec4 &v)
void setRow (s32 row, const Vec4 &v)
const Matrix44< f32 > zero (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
const Matrix44< f32 > ident (1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
const Matrix44< f64 > zero (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
const Matrix44< f64 > ident (1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)

Static Public Attributes

static const Matrix44 zero
static const Matrix44 ident

Private Types

typedef Matrix44< T > Self
typedef Matrix33< T > Mtx33
typedef Matrix34< T > Mtx34
typedef Quat< T > Quat
typedef Vector3< T > Vec3
typedef Vector4< T > Vec4

Additional Inherited Members

Public Attributes inherited from sead::Policies< T >::Mtx44Base
union { 
   T   m [4][4] 
   T   a [16] 
}; 

Member Typedef Documentation

◆ Self

template<typename T>
typedef Matrix44<T> sead::Matrix44< T >::Self
private

◆ Mtx33

template<typename T>
typedef Matrix33<T> sead::Matrix44< T >::Mtx33
private

◆ Mtx34

template<typename T>
typedef Matrix34<T> sead::Matrix44< T >::Mtx34
private

◆ Quat

template<typename T>
typedef Quat<T> sead::Matrix44< T >::Quat
private

◆ Vec3

template<typename T>
typedef Vector3<T> sead::Matrix44< T >::Vec3
private

◆ Vec4

template<typename T>
typedef Vector4<T> sead::Matrix44< T >::Vec4
private

Constructor & Destructor Documentation

◆ Matrix44() [1/4]

template<typename T>
sead::Matrix44< T >::Matrix44 ( )
inline

◆ Matrix44() [2/4]

template<typename T>
sead::Matrix44< T >::Matrix44 ( T a00,
T a01,
T a02,
T a03,
T a10,
T a11,
T a12,
T a13,
T a20,
T a21,
T a22,
T a23,
T a30,
T a31,
T a32,
T a33 )
inline

◆ Matrix44() [3/4]

template<typename T>
sead::Matrix44< T >::Matrix44 ( const Mtx33 & mtx33,
const Vec3 & t = Vec3::zero,
const Vec4 & vw = Vec4::ew )
inline

◆ Matrix44() [4/4]

template<typename T>
sead::Matrix44< T >::Matrix44 ( const Mtx34 & mtx34,
const Vec4 & vw = Vec4::ew )
inline

Member Function Documentation

◆ operator()() [1/2]

template<typename T>
T sead::Matrix44< T >::operator() ( s32 i,
s32 j ) const
inline

◆ operator()() [2/2]

template<typename T>
T & sead::Matrix44< T >::operator() ( s32 i,
s32 j )
inline

◆ operator=()

template<typename T>
Matrix44< T > & sead::Matrix44< T >::operator= ( const Self & n)
inline

◆ makeIdentity()

template<typename T>
void sead::Matrix44< T >::makeIdentity ( )
inline

◆ makeZero()

template<typename T>
void sead::Matrix44< T >::makeZero ( )
inline

◆ setInverse()

template<typename T>
void sead::Matrix44< T >::setInverse ( const Self & n)
inline

◆ setInverseTranspose()

template<typename T>
void sead::Matrix44< T >::setInverseTranspose ( const Self & n)

◆ setMul() [1/3]

template<typename T>
void sead::Matrix44< T >::setMul ( const Self & a,
const Self & b )
inline

◆ setMul() [2/3]

template<typename T>
void sead::Matrix44< T >::setMul ( const Mtx34 & a,
const Self & b )
inline

◆ setMul() [3/3]

template<typename T>
void sead::Matrix44< T >::setMul ( const Self & a,
const Mtx34 & b )
inline

◆ setTranspose()

template<typename T>
void sead::Matrix44< T >::setTranspose ( const Self & n)
inline

◆ transpose()

template<typename T>
void sead::Matrix44< T >::transpose ( )
inline

◆ fromQuat()

template<typename T>
void sead::Matrix44< T >::fromQuat ( const Quat & q)
inline

◆ makeR()

template<typename T>
void sead::Matrix44< T >::makeR ( const Vec3 & r)
inline

◆ makeRIdx()

template<typename T>
void sead::Matrix44< T >::makeRIdx ( u32 xr,
u32 yr,
u32 zr )
inline

◆ makeRzxyIdx()

template<typename T>
void sead::Matrix44< T >::makeRzxyIdx ( u32 xr,
u32 yr,
u32 zr )
inline

◆ toQuat()

template<typename T>
void sead::Matrix44< T >::toQuat ( Quat & q) const
inline

◆ scaleAllElements()

template<typename T>
void sead::Matrix44< T >::scaleAllElements ( T s)
inline

◆ scaleBases()

template<typename T>
void sead::Matrix44< T >::scaleBases ( T sx,
T sy,
T sz,
T sw )
inline

◆ getCol() [1/2]

template<typename T>
void sead::Matrix44< T >::getCol ( Vec4 & o,
s32 axis ) const
inline

◆ getCol() [2/2]

template<typename T>
Matrix44< T >::Vec4 sead::Matrix44< T >::getCol ( s32 axis) const
inline

◆ getRow() [1/2]

template<typename T>
void sead::Matrix44< T >::getRow ( Vec4 & o,
s32 row ) const
inline

◆ getRow() [2/2]

template<typename T>
Matrix44< T >::Vec4 sead::Matrix44< T >::getRow ( s32 row) const
inline

◆ setCol()

template<typename T>
void sead::Matrix44< T >::setCol ( s32 axis,
const Vec4 & v )
inline

◆ setRow()

template<typename T>
void sead::Matrix44< T >::setRow ( s32 row,
const Vec4 & v )
inline

◆ zero() [1/2]

const Matrix44< f32 > sead::Matrix44< f32 >::zero ( 0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0  )

◆ ident() [1/2]

const Matrix44< f32 > sead::Matrix44< f32 >::ident ( 1 ,
0 ,
0 ,
0 ,
0 ,
1 ,
0 ,
0 ,
0 ,
0 ,
1 ,
0 ,
0 ,
0 ,
0 ,
1  )

◆ zero() [2/2]

const Matrix44< f64 > sead::Matrix44< f64 >::zero ( 0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0  )

◆ ident() [2/2]

const Matrix44< f64 > sead::Matrix44< f64 >::ident ( 1 ,
0 ,
0 ,
0 ,
0 ,
1 ,
0 ,
0 ,
0 ,
0 ,
1 ,
0 ,
0 ,
0 ,
0 ,
1  )

Member Data Documentation

◆ zero

template<typename T>
const Matrix44 sead::Matrix44< T >::zero
static

◆ ident

template<typename T>
const Matrix44 sead::Matrix44< T >::ident
static