16#ifdef TRENDERINTERFACE_DX8
17# include <d3dx8math.h>
37 :
m_f11( a_rMatrix.
m_f11 ),
m_f12( a_rMatrix.
m_f12 ),
m_f13( a_rMatrix.
m_f13 ),
m_f14( a_rMatrix.
m_f14 ),
m_f21( a_rMatrix.
m_f21 ),
m_f22( a_rMatrix.
m_f22 ),
m_f23( a_rMatrix.
m_f23 ),
m_f24( a_rMatrix.
m_f24 ),
m_f31( a_rMatrix.
m_f31 ),
m_f32( a_rMatrix.
m_f32 ),
m_f33( a_rMatrix.
m_f33 ),
m_f34( a_rMatrix.
m_f34 ),
m_f41( a_rMatrix.
m_f41 ),
m_f42( a_rMatrix.
m_f42 ),
m_f43( a_rMatrix.
m_f43 ),
m_f44( a_rMatrix.
m_f44 )
58 :
m_f11( a_f11 ),
m_f12( a_f12 ),
m_f13( a_f13 ),
m_f14( a_f14 ),
m_f21( a_f21 ),
m_f22( a_f22 ),
m_f23( a_f23 ),
m_f24( a_f24 ),
m_f31( a_f31 ),
m_f32( a_f32 ),
m_f33( a_f33 ),
m_f34( a_f34 ),
m_f41( a_f41 ),
m_f42( a_f42 ),
m_f43( a_f43 ),
m_f44( a_f44 )
205 Scale( a_fScale, a_fScale, a_fScale );
217 return !( ( ( 0.01 <= fVar6 * fVar6 + fVar2 * fVar2 + fVar1 * fVar1 + fVar4 * fVar4 + fVar5 * fVar5 + fVar3 * fVar3 ) || (
m_f14 != 0.0 ) ) || (
m_f24 != 0.0 ) ) || ( (
m_f34 != 0.0 || (
m_f44 != 1.0 ) ) );
244 a_rcSourcePlane.
GetD() +
273 a_rOutVector.
x = fVar17 * fVar18 + fVar15 * fVar16 + fVar13 * fVar14;
274 a_rOutVector.
y = fVar5 * fVar6 + fVar3 * fVar4 + fVar1 * fVar2;
275 a_rOutVector.
z = fVar11 * fVar12 + fVar9 * fVar10 + fVar7 * fVar8;
276 a_rOutVector.
w = a_rVector.
w;
296 a_rOutVector.
x = a_rMatrix.
m_f11 * a_rVector.
x + a_rMatrix.
m_f21 * a_rVector.
y + a_rMatrix.
m_f31 * a_rVector.
z + a_rMatrix.
m_f41;
297 a_rOutVector.
y = fVar5 * fVar6 + fVar3 * fVar4 + fVar1 * fVar2 + fVar7;
298 a_rOutVector.
z = fVar12 * fVar13 + fVar10 * fVar11 + fVar8 * fVar9 + fVar14;
328 a_rOutVector.
w = a_rMatrix.
m_f24 * a_rVector.
y + a_rMatrix.
m_f34 * a_rVector.
z + a_rMatrix.
m_f14 * a_rVector.
x + a_rMatrix.
m_f44 * a_rVector.
w;
329 a_rOutVector.
x = fVar23 * fVar24 + fVar21 * fVar22 + fVar19 * fVar20 + fVar17 * fVar18;
330 a_rOutVector.
y = fVar7 * fVar8 + fVar5 * fVar6 + fVar3 * fVar4 + fVar1 * fVar2;
331 a_rOutVector.
z = fVar15 * fVar16 + fVar13 * fVar14 + fVar11 * fVar12 + fVar9 * fVar10;
344#ifdef TRENDERINTERFACE_DX8
345 operator D3DXMATRIX*()
350 operator const D3DXMATRIX*()
const
@ BASISVECTOR_TRANSLATION
Quaternion implementation for the Toshi engine.
#define TREINTERPRETCAST(TYPE, VALUE)
#define TOSHI_NAMESPACE_START
#define TOSHI_NAMESPACE_END
TVector3 & GetTranslation3()
constexpr void Set(const TMatrix44 &a_rcMatrix)
static constexpr void TransformVector(TVector3 &a_rOutVector, const TMatrix44 &a_rMatrix, const TVector3 &a_rVector)
void RotateZ(TFLOAT a_fAngle)
constexpr void Scale(TFLOAT a_fScale)
TVector4 & AsBasisVector4(BASISVECTOR a_iIndex)
constexpr TBOOL IsOrthonormal() const
void RotateX(TFLOAT a_fAngle)
constexpr void Scale(TFLOAT a_fScalar1, TFLOAT a_fScalar2, TFLOAT a_fScalar3)
void LookAtTarget(const TVector4 &a_rTarget, const TVector4 &a_rUp)
static void TransformPlaneOrthogonal(TPlane &a_rOutPlane, const TMatrix44 &a_rMatrix, const TPlane &a_rcSourcePlane)
constexpr void Identity()
TBOOL Invert(const TMatrix44 &a_rRight)
void LookAtDirection(const TVector4 &a_rVec, const TVector4 &a_rVec2)
static constinit TMatrix44 IDENTITY
constexpr TMatrix44(const TMatrix44 &a_rMatrix)
constexpr void operator=(const TMatrix44 &a_rcMatrix)
const TVector3 & AsBasisVector3(BASISVECTOR a_iIndex) const
TMatrix44 & PushQuaternion(const TQuaternion &a_rQuaternion, const TMatrix44 &a_rMatrix, const TVector3 &a_rOrigin)
constexpr TMatrix44(TFLOAT a_f11, TFLOAT a_f12, TFLOAT a_f13, TFLOAT a_f14, TFLOAT a_f21, TFLOAT a_f22, TFLOAT a_f23, TFLOAT a_f24, TFLOAT a_f31, TFLOAT a_f32, TFLOAT a_f33, TFLOAT a_f34, TFLOAT a_f41, TFLOAT a_f42, TFLOAT a_f43, TFLOAT a_f44)
constexpr void Set(TFLOAT a_f11, TFLOAT a_f12, TFLOAT a_f13, TFLOAT a_f14, TFLOAT a_f21, TFLOAT a_f22, TFLOAT a_f23, TFLOAT a_f24, TFLOAT a_f31, TFLOAT a_f32, TFLOAT a_f33, TFLOAT a_f34, TFLOAT a_f41, TFLOAT a_f42, TFLOAT a_f43, TFLOAT a_f44)
void SetTranslation(const TVector4 &a_rTranslation)
TVector4 & GetTranslation()
static constexpr void RotateVector(TVector4 &a_rOutVector, const TMatrix44 &a_rMatrix, const TVector4 &a_rVector)
const TVector3 & GetTranslation3() const
void RotateY(TFLOAT a_fAngle)
constexpr TMatrix44()=default
void GetEulerXYZ(TVector3 &a_rOutVec) const
TVector3 & AsBasisVector3(BASISVECTOR a_iIndex)
const TVector4 & AsBasisVector4(BASISVECTOR a_iIndex) const
TMatrix44 & SetFromQuaternion(const TQuaternion &a_rQuaternion)
static constexpr void TransformVector(TVector4 &a_rOutVector, const TMatrix44 &a_rMatrix, const TVector4 &a_rVector)
const TVector4 & GetTranslation() const
constexpr void Scale(const TVector4 &a_rScalars)
void Multiply(const TMatrix44 &a_rLeft, const TMatrix44 &a_rRight)
TFORCEINLINE TVector4 & AsVector4()
TFORCEINLINE constexpr TFLOAT GetD() const
TFORCEINLINE constexpr void SetD(TFLOAT a_fDistance)
TFLOAT constexpr DotProduct3(const TVector4 &vec) const