Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
mDoMtx_stack_c Class Reference

#include <m_Do_mtx.h>

Public Member Functions

void transS (cXyz const &)
 
void transM (f32, f32, f32)
 
void quatM (Quaternion const *)
 
void ZXYrotM (csXyz const &)
 
void transS (cXyz const &)
 
void scaleM (cXyz const &)
 
void ZXYrotM (csXyz const &)
 
 mDoMtx_stack_c ()
 
 ~mDoMtx_stack_c ()
 

Static Public Member Functions

static bool push ()
 
static bool pop ()
 
static void transS (cXyz const &xyz)
 
static void transM (cXyz const &xyz)
 
static void transM (f32 x, f32 y, f32 z)
 
static void scaleS (cXyz const &xyz)
 
static void scaleM (cXyz const &xyz)
 
static void scaleM (f32 x, f32 y, f32 z)
 
static void XYZrotS (csXyz const &xyz)
 
static void XYZrotM (csXyz const &xyz)
 
static void ZXYrotS (csXyz const &xyz)
 
static void ZXYrotM (csXyz const &xyz)
 
static void quatS (const Quaternion *quat)
 
static void quatM (Quaternion const *)
 
static MtxP get ()
 
static void transS (f32 x, f32 y, f32 z)
 
static void scaleS (f32 x, f32 y, f32 z)
 
static void multVec (const Vec *a, Vec *b)
 
static void multVecSR (const Vec *a, Vec *b)
 
static void multVecZero (Vec *v)
 
static void multVecArray (const Vec *src, Vec *dst, u32 count)
 
static void XYZrotS (s16 x, s16 y, s16 z)
 
static void XYZrotM (s16 x, s16 y, s16 z)
 
static void ZXYrotS (s16 x, s16 y, s16 z)
 
static void ZXYrotM (s16 x, s16 y, s16 z)
 
static void YrotM (s16 y)
 
static void YrotS (s16 y)
 
static void XrotS (s16 x)
 
static void XrotM (s16 x)
 
static void ZrotS (s16 z)
 
static void ZrotM (s16 z)
 
static void inverse ()
 
static void inverseTranspose ()
 
static void concat (const Mtx m)
 
static void revConcat (const Mtx m)
 
static void copy (const Mtx m)
 
static void rotAxisRadS (const Vec *axis, f32 rad)
 

Static Public Attributes

static u8 now [48]
 
static Mtx now
 
static Mtx buffer [16]
 
static Mtxnext = mDoMtx_stack_c::buffer
 
static Mtxend = mDoMtx_stack_c::buffer + 16
 

Constructor & Destructor Documentation

◆ mDoMtx_stack_c()

mDoMtx_stack_c::mDoMtx_stack_c ( )
inline

◆ ~mDoMtx_stack_c()

mDoMtx_stack_c::~mDoMtx_stack_c ( )
inline

Member Function Documentation

◆ concat()

static void mDoMtx_stack_c::concat ( const Mtx  m)
inlinestatic

Concatenates the now matrix with the given Matrix m

Parameters
mThe matrix to concatenate with now

◆ copy()

static void mDoMtx_stack_c::copy ( const Mtx  m)
inlinestatic

Copies a given matrix m to the now matrix

Parameters
mThe source matrix to copy

◆ get()

static MtxP mDoMtx_stack_c::get ( )
inlinestatic

Returns the now Matrix

Returns
The now Matrix

◆ inverse()

static void mDoMtx_stack_c::inverse ( )
inlinestatic

◆ inverseTranspose()

static void mDoMtx_stack_c::inverseTranspose ( )
inlinestatic

◆ multVec()

static void mDoMtx_stack_c::multVec ( const Vec a,
Vec b 
)
inlinestatic

Multiplies a given Vec a by the now Matrix and places the result into Vec b

Parameters
aThe source Vec
bThe output Vec

◆ multVecArray()

static void mDoMtx_stack_c::multVecArray ( const Vec src,
Vec dst,
u32  count 
)
inlinestatic

Multiplies a given Vec array src by the now Matrix and places the result into Vec array dst

Parameters
srcThe source Vec array
dstThe output Vec array
countThe size of the array

◆ multVecSR()

static void mDoMtx_stack_c::multVecSR ( const Vec a,
Vec b 
)
inlinestatic

Multiplies a given Vec a by the now Matrix's "Scale-and-Rotate" component and places the result into Vec b

Parameters
aThe source Vec
bThe output Vec

◆ multVecZero()

static void mDoMtx_stack_c::multVecZero ( Vec v)
inlinestatic

◆ pop()

bool mDoMtx_stack_c::pop ( )
static

◆ push()

bool mDoMtx_stack_c::push ( )
static

◆ quatM() [1/2]

static void mDoMtx_stack_c::quatM ( Quaternion const )
static

◆ quatM() [2/2]

void mDoMtx_stack_c::quatM ( Quaternion const param_0)

◆ quatS()

static void mDoMtx_stack_c::quatS ( const Quaternion quat)
inlinestatic

◆ revConcat()

static void mDoMtx_stack_c::revConcat ( const Mtx  m)
inlinestatic

◆ rotAxisRadS()

static void mDoMtx_stack_c::rotAxisRadS ( const Vec axis,
f32  rad 
)
inlinestatic

◆ scaleM() [1/3]

void mDoMtx_stack_c::scaleM ( cXyz const param_0)

◆ scaleM() [2/3]

static void mDoMtx_stack_c::scaleM ( cXyz const xyz)
static

Scales a new Matrix by the given cXyz and then concatenates it with the now matrix

Parameters
xyzThe xyz scale vector

◆ scaleM() [3/3]

void mDoMtx_stack_c::scaleM ( f32  x,
f32  y,
f32  z 
)
static

Scales a new Matrix by the given X, Y, and Z values and then concatenates it with the now matrix

Parameters
xThe x-axis scale value
yThe y-axis scale value
zThe z-axis scale value

◆ scaleS() [1/2]

void mDoMtx_stack_c::scaleS ( cXyz const xyz)
static

Scales the now Matrix by the given cXyz

Parameters
xyzThe xyz scale vector

◆ scaleS() [2/2]

static void mDoMtx_stack_c::scaleS ( f32  x,
f32  y,
f32  z 
)
inlinestatic

Scales the now Matrix by the given X, Y, and Z values

Parameters
xThe x-axis scale value
yThe y-axis scale value
zThe z-axis scale value

◆ transM() [1/3]

void mDoMtx_stack_c::transM ( cXyz const xyz)
static

Translates a new Matrix by the given cXyz and then concatenates it with the now matrix

Parameters
xyzThe xyz translation vector

◆ transM() [2/3]

static void mDoMtx_stack_c::transM ( f32  x,
f32  y,
f32  z 
)
static

Translates a new Matrix by the given X, Y, and Z values and then concatenates it with the now matrix

Parameters
xThe x-axis translation value
yThe y-axis translation value
zThe z-axis translation value

◆ transM() [3/3]

void mDoMtx_stack_c::transM ( f32  x,
f32  y,
f32  z 
)

◆ transS() [1/4]

void mDoMtx_stack_c::transS ( cXyz const param_0)

◆ transS() [2/4]

void mDoMtx_stack_c::transS ( cXyz const )

◆ transS() [3/4]

static void mDoMtx_stack_c::transS ( cXyz const xyz)
static

Translates the now Matrix by the given cXyz

Parameters
xyzThe xyz translation vector

◆ transS() [4/4]

static void mDoMtx_stack_c::transS ( f32  x,
f32  y,
f32  z 
)
inlinestatic

Translates the now Matrix by the given X, Y, and Z values

Parameters
xThe x-axis translation value
yThe y-axis translation value
zThe z-axis translation value

◆ XrotM()

static void mDoMtx_stack_c::XrotM ( s16  x)
inlinestatic

Rotates a new matrix on the X-axis then concatenates it with the now matrix

Parameters
xThe rotation value

◆ XrotS()

static void mDoMtx_stack_c::XrotS ( s16  x)
inlinestatic

Rotates the now matrix on the X-axis

Parameters
xThe rotation value

◆ XYZrotM() [1/2]

void mDoMtx_stack_c::XYZrotM ( csXyz const xyz)
static

Rotates the now matrix by the given csXyz in the order Z, Y, X

Parameters
xyzThe xyz rotation vector

◆ XYZrotM() [2/2]

static void mDoMtx_stack_c::XYZrotM ( s16  x,
s16  y,
s16  z 
)
inlinestatic

Rotates the now matrix by the given X, Y, and Z values in the order Z, Y, X

Parameters
xThe x-axis rotation value
yThe y-axis rotation value
zThe z-axis rotation value

◆ XYZrotS() [1/2]

void mDoMtx_stack_c::XYZrotS ( csXyz const xyz)
static

◆ XYZrotS() [2/2]

static void mDoMtx_stack_c::XYZrotS ( s16  x,
s16  y,
s16  z 
)
inlinestatic

◆ YrotM()

static void mDoMtx_stack_c::YrotM ( s16  y)
inlinestatic

Rotates a new matrix on the Y-axis then concatenates it with the now matrix

Parameters
yThe rotation value

◆ YrotS()

static void mDoMtx_stack_c::YrotS ( s16  y)
inlinestatic

Rotates the now matrix on the Y-axis

Parameters
yThe rotation value

◆ ZrotM()

static void mDoMtx_stack_c::ZrotM ( s16  z)
inlinestatic

Rotates a new matrix on the z-axis then concatenates it with the now matrix

Parameters
zThe rotation value

◆ ZrotS()

static void mDoMtx_stack_c::ZrotS ( s16  z)
inlinestatic

Rotates the now matrix on the Z-axis

Parameters
zThe rotation value

◆ ZXYrotM() [1/4]

void mDoMtx_stack_c::ZXYrotM ( csXyz const param_0)

◆ ZXYrotM() [2/4]

void mDoMtx_stack_c::ZXYrotM ( csXyz const )

◆ ZXYrotM() [3/4]

static void mDoMtx_stack_c::ZXYrotM ( csXyz const xyz)
static

Rotates the now matrix by the given csXyz in the order X, Y, Z

Parameters
xyzThe xyz rotation vector

◆ ZXYrotM() [4/4]

static void mDoMtx_stack_c::ZXYrotM ( s16  x,
s16  y,
s16  z 
)
inlinestatic

Rotates the now matrix by the given X, Y, and Z values in the order X, Y, Z

Parameters
xThe x-axis rotation value
yThe y-axis rotation value
zThe z-axis rotation value

◆ ZXYrotS() [1/2]

void mDoMtx_stack_c::ZXYrotS ( csXyz const xyz)
static

◆ ZXYrotS() [2/2]

static void mDoMtx_stack_c::ZXYrotS ( s16  x,
s16  y,
s16  z 
)
inlinestatic

Member Data Documentation

◆ buffer

Mtx mDoMtx_stack_c::buffer
static

◆ end

Mtx * mDoMtx_stack_c::end = mDoMtx_stack_c::buffer + 16
static

◆ next

Mtx * mDoMtx_stack_c::next = mDoMtx_stack_c::buffer
static

◆ now [1/2]

Mtx mDoMtx_stack_c::now
static

◆ now [2/2]

Mtx mDoMtx_stack_c::now
static

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