mirror of
https://github.com/PrimeDecomp/prime.git
synced 2025-12-14 20:06:09 +00:00
@@ -5,6 +5,8 @@
|
||||
|
||||
#include "Kyoto/Math/CVector3f.hpp"
|
||||
|
||||
typedef const f32 (*ConstMtxPtr)[4];
|
||||
|
||||
class CInputStream;
|
||||
class CMatrix3f;
|
||||
|
||||
@@ -13,6 +15,8 @@ public:
|
||||
CTransform4f() {
|
||||
// TODO
|
||||
}
|
||||
CTransform4f(const CVector3f& m0, const CVector3f& m1, const CVector3f& m2, const CVector3f& pos)
|
||||
: m0(m0), posX(pos.GetX()), m1(m1), posY(pos.GetY()), m2(m2), posZ(pos.GetZ()) {}
|
||||
CTransform4f(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32);
|
||||
CTransform4f(const CInputStream& in);
|
||||
CTransform4f(const CMatrix3f& rotation, const CVector3f& translation);
|
||||
@@ -23,36 +27,37 @@ public:
|
||||
CVector3f GetRight() const { return CVector3f(m0.GetX(), m1.GetX(), m2.GetX()); }
|
||||
CVector3f GetForward() const { return CVector3f(m0.GetY(), m1.GetY(), m2.GetY()); }
|
||||
CVector3f GetUp() const { return CVector3f(m0.GetZ(), m1.GetZ(), m2.GetZ()); }
|
||||
ConstMtxPtr GetCStyleMatrix() const { return reinterpret_cast<ConstMtxPtr>(this); }
|
||||
|
||||
CMatrix3f BuildMatrix3f() const;
|
||||
// Get00__12CTransform4fCFv
|
||||
// Get01__12CTransform4fCFv
|
||||
// Get02__12CTransform4fCFv
|
||||
// Get03__12CTransform4fCFv
|
||||
// Get10__12CTransform4fCFv
|
||||
// Get11__12CTransform4fCFv
|
||||
// Get12__12CTransform4fCFv
|
||||
// Get13__12CTransform4fCFv
|
||||
// Get20__12CTransform4fCFv
|
||||
// Get21__12CTransform4fCFv
|
||||
// Get22__12CTransform4fCFv
|
||||
// Get23__12CTransform4fCFv
|
||||
f32 Get00() const { return m0.GetX(); }
|
||||
f32 Get01() const { return m0.GetY(); }
|
||||
f32 Get02() const { return m0.GetZ(); }
|
||||
f32 Get03() const { return posX; }
|
||||
f32 Get10() const { return m1.GetX(); }
|
||||
f32 Get11() const { return m1.GetY(); }
|
||||
f32 Get12() const { return m1.GetZ(); }
|
||||
f32 Get13() const { return posY; }
|
||||
f32 Get20() const { return m2.GetX(); }
|
||||
f32 Get21() const { return m2.GetY(); }
|
||||
f32 Get22() const { return m2.GetZ(); }
|
||||
f32 Get23() const { return posZ; }
|
||||
// GetColumn__12CTransform4fCF5EDimX
|
||||
// GetColumn__12CTransform4fCF5EDimY
|
||||
// GetColumn__12CTransform4fCF5EDimZ
|
||||
// GetColumn__12CTransform4fCFi
|
||||
// GetCStyleMatrix__12CTransform4fCFv
|
||||
// GetInverse__12CTransform4fCFv
|
||||
// GetQuickInverse__12CTransform4fCFv
|
||||
CTransform4f GetQuickInverse() const;
|
||||
// GetRotation__12CTransform4fCFv
|
||||
// GetRow__12CTransform4fCF5EDimX
|
||||
// GetRow__12CTransform4fCF5EDimY
|
||||
// GetRow__12CTransform4fCF5EDimZ
|
||||
inline const CVector3f& GetRow(EDimX dim) const { return m0; }
|
||||
inline const CVector3f& GetRow(EDimY dim) const { return m1; }
|
||||
inline const CVector3f& GetRow(EDimZ dim) const { return m2; }
|
||||
// GetRow__12CTransform4fCFi
|
||||
// GetUp__12CTransform4fCFv
|
||||
// LookAt__12CTransform4fFRC9CVector3fRC9CVector3fRC9CVector3f
|
||||
// MakeRotationsBasedOnY__12CTransform4fFRC13CUnitVector3f
|
||||
// MultiplyIgnoreTranslation__12CTransform4fCFRC12CTransform4f
|
||||
CTransform4f MultiplyIgnoreTranslation(const CTransform4f& other) const;
|
||||
// Orthonormalize__12CTransform4fFv
|
||||
// Rotate__12CTransform4fCFRC9CVector3f
|
||||
// RotateLocalX__12CTransform4fFRC9CRelAngle
|
||||
@@ -85,8 +90,8 @@ public:
|
||||
void AddTranslationZ(f32 z) { posZ += z; }
|
||||
|
||||
CTransform4f& operator*=(const CTransform4f& other);
|
||||
CTransform4f& operator*(const CTransform4f& vec);
|
||||
CTransform4f& operator*(const CVector3f& vec);
|
||||
CTransform4f operator*(const CTransform4f& vec) const;
|
||||
CTransform4f operator*(const CVector3f& vec) const;
|
||||
|
||||
static CTransform4f FromColumns(const CVector3f&, const CVector3f&, const CVector3f&, const CVector3f&);
|
||||
static const CTransform4f& Identity() { return sIdentity; }
|
||||
|
||||
Reference in New Issue
Block a user