mirror of
https://github.com/AxioDL/zeus.git
synced 2025-07-05 04:36:10 +00:00
Various matrix and quaternion imps
This commit is contained in:
parent
988da2267f
commit
a8764732dc
@ -211,6 +211,14 @@ public:
|
|||||||
TVectorUnion{0.f, 0.f, 1.f, 0.f});
|
TVectorUnion{0.f, 0.f, 1.f, 0.f});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float determinant() const
|
||||||
|
{
|
||||||
|
return
|
||||||
|
m[1][0] * (m[2][1] * m[0][2] - m[0][1] * m[2][2]) +
|
||||||
|
m[0][0] * (m[1][1] * m[2][2] - m[2][1] * m[1][2]) +
|
||||||
|
m[2][0] * (m[0][1] * m[1][2] - m[1][1] * m[0][2]);
|
||||||
|
}
|
||||||
|
|
||||||
union {
|
union {
|
||||||
float m[3][4]; /* 4th row for union-alignment */
|
float m[3][4]; /* 4th row for union-alignment */
|
||||||
struct
|
struct
|
||||||
|
@ -268,6 +268,9 @@ public:
|
|||||||
|
|
||||||
CQuaternion buildEquivalent() const;
|
CQuaternion buildEquivalent() const;
|
||||||
|
|
||||||
|
zeus::CVector3f getImaginary() const { return {x, y, z}; }
|
||||||
|
void setImaginary(const zeus::CVector3f& i) { x = i.x; y = i.y; z = i.z; }
|
||||||
|
|
||||||
inline float& operator[](size_t idx) { return (&w)[idx]; }
|
inline float& operator[](size_t idx) { return (&w)[idx]; }
|
||||||
inline const float& operator[](size_t idx) const { return (&w)[idx]; }
|
inline const float& operator[](size_t idx) const { return (&w)[idx]; }
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user