3#include <game/mLib/m_angle.hpp>
4#include <game/mLib/m_vec.hpp>
5#include <lib/nw4r/math/vec.hpp>
6#include <lib/nw4r/math/mtx.hpp>
17 mMtx_c(
float _00,
float _01,
float _02,
float _03,
float _10,
float _11,
float _12,
float _13,
float _20,
float _21,
float _22,
float _23);
20 operator Mtx*() {
return &mtx; }
23 operator const Mtx*()
const {
return &mtx; }
39 mVec3_c getTranslation()
const {
40 float x = mData[0][3];
41 float y = mData[1][3];
42 float z = mData[2][3];
47 mMtx_c &trans(
const mVec3_c &v) {
PSMTXTrans(*
this, v.x, v.y, v.z);
return *
this; }
48 mMtx_c &trans(
float x,
float y,
float z) {
PSMTXTrans(*
this, x, y, z);
return *
this; }
50 float transX()
const {
return getTranslation().x; }
51 float transY()
const {
return getTranslation().y; }
52 float transZ()
const {
return getTranslation().z; }
A three-dimensional short angle vector.
mMtx_c()
Constructs an empty matrix.
void ZrotS(mAng angle)
Generates a rotation matrix for the Z axis with the given angle.
void XYZrotM(mAng xRot, mAng yRot, mAng zRot)
Rotates the matrix on the Z, Y and X axes by the given angles.
void toRot(mAng3_c &out) const
Extracts the rotation vector from the matrix.
void multVecZero(nw4r::math::VEC3 &out) const
Extracts the translation vector from the matrix.
void ZrotM(mAng angle)
Rotates the matrix on the Z axis by the given angle.
void XrotS(mAng angle)
Generates a rotation matrix for the X axis with the given angle.
void YrotS(mAng angle)
Generates a rotation matrix for the Y axis with the given angle.
void ZXYrotM(mAng xRot, mAng yRot, mAng zRot)
Rotates the matrix on the Y, X and Z axes by the given angles.
static mMtx_c Identity
The identity matrix.
void XrotM(mAng angle)
Rotates the matrix on the X axis by the given angle.
void zero()
Zeroes out the matrix.
void YrotM(mAng angle)
Rotates the matrix on the Y axis by the given angle.
A three-dimensional floating point vector.
void PSMTXTrans(Mtx *mtx, float x, float y, float z)
Sets a translation matrix with the given components.
void PSMTXConcat(const Mtx *a, const Mtx *b, Mtx *out)
Concatenates two matrices.
float Mtx[3][4]
A 3x4 matrix.
A one-dimensional short angle vector.
A three-dimensional floating point vector.