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});
|
||||
}
|
||||
|
||||
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 {
|
||||
float m[3][4]; /* 4th row for union-alignment */
|
||||
struct
|
||||
|
@ -268,6 +268,9 @@ public:
|
||||
|
||||
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 const float& operator[](size_t idx) const { return (&w)[idx]; }
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user