template<typename T>
sead::Matrix34 class

Public static variables

static const Matrix34 zero
static const Matrix34 ident

Constructors, destructors, conversion operators

Matrix34()
Matrix34(const Self& n) defaulted
Matrix34(T _00, T _01, T _02, T _03, T _10, T _11, T _12, T _13, T _20, T _21, T _22, T _23)
Matrix34(const Mtx33& mtx33, const Vec3& t = Vec3::zero)
Matrix34(const Mtx44& mtx44)

Public functions

auto operator()(s32 i, s32 j) const -> T
auto operator()(s32 i, s32 j) -> T&
auto operator=(const Self& n) -> Self&
void makeIdentity()
void makeZero()
auto invert() -> bool
auto invert33() -> bool
auto invertTranspose() -> bool
auto setInverse(const Self& n) -> bool
auto setInverse33(const Self& n) -> bool
auto setInverseTranspose(const Self& n) -> bool
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 QuatT& q)
void makeQT(const QuatT& q, const Vec3& t)
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 makeRzxyTIdx(const Vector3<u32>& r, const Vec3& t)
void makeS(const Vec3& s)
void makeS(T x, T y, T z)
void makeSQT(const Vec3& s, const QuatT& q, const Vec3& t)
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(QuatT& q) const
auto getBase(s32 axis) const -> Vec3
auto getRow(s32 row) const -> Vec4
auto getTranslation() const -> Vec3
auto getRotation() const -> Vec3
void getBase(Vec3& o, s32 axis) const
void getRow(Vec4& o, s32 row) const
void getTranslation(Vec3& o) const
void getRotation(Vec3& o) const
void scaleAllElements(T s)
void scaleBases(T sx, T sy, T sz)
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)
auto zero(0. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f) -> const Matrix34<f32>
auto ident(1. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f, 1. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f, 1. 0f, 0. 0f) -> const Matrix34<f32>
auto zero(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) -> const Matrix34<f64>
auto ident(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0) -> const Matrix34<f64>

Friends

auto operator*(const Self& lhs, const Self& rhs) -> Self
auto operator*(const Mtx33& lhs, const Self& rhs) -> Self

Function documentation

template<typename T>
const Matrix34<f32> sead::Matrix34<T>::zero(0. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f)

template<typename T>
const Matrix34<f32> sead::Matrix34<T>::ident(1. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f, 1. 0f, 0. 0f, 0. 0f, 0. 0f, 0. 0f, 1. 0f, 0. 0f)

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

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