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

#include <seadMatrix.h>

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

Public Member Functions

 Matrix34 ()
 Matrix34 (T a00, T a01, T a02, T a03, T a10, T a11, T a12, T a13, T a20, T a21, T a22, T a23)
 Matrix34 (const Mtx33 &mtx33, const Vec3 &t=Vec3::zero)
 Matrix34 (const Mtx44 &mtx44)
 Matrix34 (const Matrix34 &other)=default
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 setInverse33 (const Self &n)
void setInverseTranspose (const Self &n)
void setMul (const Self &a, const Self &b)
void setMul (const Mtx33 &a, const Self &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 makeRT (const Vec3 &r, const Vec3 &t)
void makeRTIdx (const Vector3< u32 > &r, const Vec3 &t)
void makeRzxyIdx (u32 xr, u32 yr, u32 zr)
void makeRzxyIdx (const Vector3< u32 > &r)
void makeRzxyTIdx (const Vector3< u32 > &r, const Vec3 &t)
void makeS (const Vec3 &s)
void makeS (T x, T y, T z)
void makeSR (const Vec3 &s, const Vec3 &r)
void makeSRIdx (const Vec3 &s, const Vector3< u32 > &r)
void makeSRT (const Vec3 &s, const Vec3 &r, const Vec3 &t)
void makeSRTIdx (const Vec3 &s, const Vector3< u32 > &r, const Vec3 &t)
void makeSRzxyIdx (const Vec3 &s, const Vector3< u32 > &r)
void makeSRzxyTIdx (const Vec3 &s, const Vector3< u32 > &r, const Vec3 &t)
void makeST (const Vec3 &s, const Vec3 &t)
void makeT (const Vec3 &t)
void makeT (T x, T y, T z)
void toQuat (Quat &q) const
void scaleAllElements (T s)
void scaleBases (T s)
void scaleBases (T sx, T sy, T sz)
void scaleBases (const Vec3 &s)
void multScaleLocal (const Vec3 &s)
void setMultScaleLocal (const Self &n, const Vec3 &s)
void multTranslationLocal (const Vec3 &t)
void setMultTranslationLocal (const Self &n, const Vec3 &t)
void multScaleWorld (const Vec3 &s)
void multScaleWorld (T x, T y, T z)
void setMultScaleWorld (const Vec3 &s, const Self &n)
void setMultScaleWorld (T x, T y, T z, const Self &n)
void multTranslationWorld (const Vec3 &t)
void multTranslationWorld (T x, T y, T z)
void setMultTranslationWorld (const Vec3 &t, const Self &n)
void setMultTranslationWorld (T x, T y, T z, const Self &n)
void getBase (Vec3 &o, s32 axis) const
Vec3 getBase (s32 axis) const
void getRow (Vec4 &o, s32 row) const
Vec4 getRow (s32 row) const
void getTranslation (Vec3 &o) const
Vec3 getTranslation () const
void setBase (s32 axis, const Vec3 &v)
void setRow (s32 row, const Vec4 &v)
void setTranslation (const Vec3 &t)
void setTranslation (T x, T y, T z)
const Matrix34< f32 > zero (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
const Matrix34< f32 > ident (1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
const Matrix34< f64 > zero (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
const Matrix34< f64 > ident (1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0)
void multScaleWorld (f32 x, f32 y, f32 z)
void setMultScaleWorld (f32 x, f32 y, f32 z, const Self &n)
void multTranslationWorld (f32 x, f32 y, f32 z)
void setMultTranslationWorld (f32 x, f32 y, f32 z, const Self &n)

Static Public Attributes

static const Matrix34 zero
static const Matrix34 ident

Private Types

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

Additional Inherited Members

Public Attributes inherited from sead::Policies< T >::Mtx34Base
union { 
   T   m [3][4] 
   T   a [12] 
}; 

Member Typedef Documentation

◆ Self

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

◆ Mtx33

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

◆ Mtx44

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

◆ Quat

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

◆ Vec3

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

◆ Vec4

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

Constructor & Destructor Documentation

◆ Matrix34() [1/5]

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

◆ Matrix34() [2/5]

template<typename T>
sead::Matrix34< T >::Matrix34 ( T a00,
T a01,
T a02,
T a03,
T a10,
T a11,
T a12,
T a13,
T a20,
T a21,
T a22,
T a23 )
inline

◆ Matrix34() [3/5]

template<typename T>
sead::Matrix34< T >::Matrix34 ( const Mtx33 & mtx33,
const Vec3 & t = Vec3::zero )
inline

◆ Matrix34() [4/5]

template<typename T>
sead::Matrix34< T >::Matrix34 ( const Mtx44 & mtx44)
inline

◆ Matrix34() [5/5]

template<typename T>
sead::Matrix34< T >::Matrix34 ( const Matrix34< T > & other)
default

Member Function Documentation

◆ operator()() [1/2]

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

◆ operator()() [2/2]

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

◆ operator=()

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

◆ makeIdentity()

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

◆ makeZero()

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

◆ setInverse()

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

◆ setInverse33()

template<typename T>
void sead::Matrix34< T >::setInverse33 ( const Self & n)
inline

◆ setInverseTranspose()

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

◆ setMul() [1/2]

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

◆ setMul() [2/2]

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

◆ setTranspose()

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

◆ transpose()

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

◆ fromQuat()

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

◆ makeR()

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

◆ makeRIdx()

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

◆ makeRT()

template<typename T>
void sead::Matrix34< T >::makeRT ( const Vec3 & r,
const Vec3 & t )
inline

◆ makeRTIdx()

template<typename T>
void sead::Matrix34< T >::makeRTIdx ( const Vector3< u32 > & r,
const Vec3 & t )
inline

◆ makeRzxyIdx() [1/2]

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

◆ makeRzxyIdx() [2/2]

template<typename T>
void sead::Matrix34< T >::makeRzxyIdx ( const Vector3< u32 > & r)
inline

◆ makeRzxyTIdx()

template<typename T>
void sead::Matrix34< T >::makeRzxyTIdx ( const Vector3< u32 > & r,
const Vec3 & t )
inline

◆ makeS() [1/2]

template<typename T>
void sead::Matrix34< T >::makeS ( const Vec3 & s)
inline

◆ makeS() [2/2]

template<typename T>
void sead::Matrix34< T >::makeS ( T x,
T y,
T z )
inline

◆ makeSR()

template<typename T>
void sead::Matrix34< T >::makeSR ( const Vec3 & s,
const Vec3 & r )
inline

◆ makeSRIdx()

template<typename T>
void sead::Matrix34< T >::makeSRIdx ( const Vec3 & s,
const Vector3< u32 > & r )
inline

◆ makeSRT()

template<typename T>
void sead::Matrix34< T >::makeSRT ( const Vec3 & s,
const Vec3 & r,
const Vec3 & t )
inline

◆ makeSRTIdx()

template<typename T>
void sead::Matrix34< T >::makeSRTIdx ( const Vec3 & s,
const Vector3< u32 > & r,
const Vec3 & t )
inline

◆ makeSRzxyIdx()

template<typename T>
void sead::Matrix34< T >::makeSRzxyIdx ( const Vec3 & s,
const Vector3< u32 > & r )
inline

◆ makeSRzxyTIdx()

template<typename T>
void sead::Matrix34< T >::makeSRzxyTIdx ( const Vec3 & s,
const Vector3< u32 > & r,
const Vec3 & t )
inline

◆ makeST()

template<typename T>
void sead::Matrix34< T >::makeST ( const Vec3 & s,
const Vec3 & t )
inline

◆ makeT() [1/2]

template<typename T>
void sead::Matrix34< T >::makeT ( const Vec3 & t)
inline

◆ makeT() [2/2]

template<typename T>
void sead::Matrix34< T >::makeT ( T x,
T y,
T z )
inline

◆ toQuat()

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

◆ scaleAllElements()

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

◆ scaleBases() [1/3]

template<typename T>
void sead::Matrix34< T >::scaleBases ( T s)
inline

◆ scaleBases() [2/3]

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

◆ scaleBases() [3/3]

template<typename T>
void sead::Matrix34< T >::scaleBases ( const Vec3 & s)
inline

◆ multScaleLocal()

template<typename T>
void sead::Matrix34< T >::multScaleLocal ( const Vec3 & s)
inline

◆ setMultScaleLocal()

template<typename T>
void sead::Matrix34< T >::setMultScaleLocal ( const Self & n,
const Vec3 & s )
inline

◆ multTranslationLocal()

template<typename T>
void sead::Matrix34< T >::multTranslationLocal ( const Vec3 & t)
inline

◆ setMultTranslationLocal()

template<typename T>
void sead::Matrix34< T >::setMultTranslationLocal ( const Self & n,
const Vec3 & t )
inline

◆ multScaleWorld() [1/3]

template<typename T>
void sead::Matrix34< T >::multScaleWorld ( const Vec3 & s)
inline

◆ multScaleWorld() [2/3]

template<typename T>
void sead::Matrix34< T >::multScaleWorld ( T x,
T y,
T z )
inline

◆ setMultScaleWorld() [1/3]

template<typename T>
void sead::Matrix34< T >::setMultScaleWorld ( const Vec3 & s,
const Self & n )
inline

◆ setMultScaleWorld() [2/3]

template<typename T>
void sead::Matrix34< T >::setMultScaleWorld ( T x,
T y,
T z,
const Self & n )
inline

◆ multTranslationWorld() [1/3]

template<typename T>
void sead::Matrix34< T >::multTranslationWorld ( const Vec3 & t)
inline

◆ multTranslationWorld() [2/3]

template<typename T>
void sead::Matrix34< T >::multTranslationWorld ( T x,
T y,
T z )
inline

◆ setMultTranslationWorld() [1/3]

template<typename T>
void sead::Matrix34< T >::setMultTranslationWorld ( const Vec3 & t,
const Self & n )
inline

◆ setMultTranslationWorld() [2/3]

template<typename T>
void sead::Matrix34< T >::setMultTranslationWorld ( T x,
T y,
T z,
const Self & n )
inline

◆ getBase() [1/2]

template<typename T>
void sead::Matrix34< T >::getBase ( Vec3 & o,
s32 axis ) const
inline

◆ getBase() [2/2]

template<typename T>
Matrix34< T >::Vec3 sead::Matrix34< T >::getBase ( s32 axis) const
inline

◆ getRow() [1/2]

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

◆ getRow() [2/2]

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

◆ getTranslation() [1/2]

template<typename T>
void sead::Matrix34< T >::getTranslation ( Vec3 & o) const
inline

◆ getTranslation() [2/2]

template<typename T>
Matrix34< T >::Vec3 sead::Matrix34< T >::getTranslation ( ) const
inline

◆ setBase()

template<typename T>
void sead::Matrix34< T >::setBase ( s32 axis,
const Vec3 & v )
inline

◆ setRow()

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

◆ setTranslation() [1/2]

template<typename T>
void sead::Matrix34< T >::setTranslation ( const Vec3 & t)
inline

◆ setTranslation() [2/2]

template<typename T>
void sead::Matrix34< T >::setTranslation ( T x,
T y,
T z )
inline

◆ zero() [1/2]

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

◆ ident() [1/2]

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

◆ zero() [2/2]

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

◆ ident() [2/2]

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

◆ multScaleWorld() [3/3]

void sead::Matrix34< f32 >::multScaleWorld ( f32 x,
f32 y,
f32 z )
inline

◆ setMultScaleWorld() [3/3]

void sead::Matrix34< f32 >::setMultScaleWorld ( f32 x,
f32 y,
f32 z,
const Self & n )
inline

◆ multTranslationWorld() [3/3]

void sead::Matrix34< f32 >::multTranslationWorld ( f32 x,
f32 y,
f32 z )
inline

◆ setMultTranslationWorld() [3/3]

void sead::Matrix34< f32 >::setMultTranslationWorld ( f32 x,
f32 y,
f32 z,
const Self & n )
inline

Member Data Documentation

◆ zero

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

◆ ident

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