diff options
author | leyla_linden <none@none> | 2011-02-23 16:38:45 -0800 |
---|---|---|
committer | leyla_linden <none@none> | 2011-02-23 16:38:45 -0800 |
commit | b0e64098ba7dabec0b14d0129efa87b5e5a29df2 (patch) | |
tree | 1efebf171b17a4eb5a47cfba224a268dfe54e337 /indra/llmath | |
parent | 9f537ad93fe7992bb6d652473a4ac3680320cab5 (diff) | |
parent | 34428b305a437256f5db170db91506e2d94440e9 (diff) |
Merge
Diffstat (limited to 'indra/llmath')
-rw-r--r-- | indra/llmath/m4math.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/indra/llmath/m4math.h b/indra/llmath/m4math.h index 10c88464e5..3588f36758 100644 --- a/indra/llmath/m4math.h +++ b/indra/llmath/m4math.h @@ -132,6 +132,7 @@ public: // various useful matrix functions const LLMatrix4& setIdentity(); // Load identity matrix + bool isIdentity() const; const LLMatrix4& setZero(); // Clears matrix to all zeros. const LLMatrix4& initRotation(const F32 angle, const F32 x, const F32 y, const F32 z); // Calculate rotation matrix by rotating angle radians about (x, y, z) @@ -262,6 +263,30 @@ inline const LLMatrix4& LLMatrix4::setIdentity() return (*this); } +inline bool LLMatrix4::isIdentity() const +{ + return + mMatrix[0][0] == 1.f && + mMatrix[0][1] == 0.f && + mMatrix[0][2] == 0.f && + mMatrix[0][3] == 0.f && + + mMatrix[1][0] == 0.f && + mMatrix[1][1] == 1.f && + mMatrix[1][2] == 0.f && + mMatrix[1][3] == 0.f && + + mMatrix[2][0] == 0.f && + mMatrix[2][1] == 0.f && + mMatrix[2][2] == 1.f && + mMatrix[2][3] == 0.f && + + mMatrix[3][0] == 0.f && + mMatrix[3][1] == 0.f && + mMatrix[3][2] == 0.f && + mMatrix[3][3] == 1.f; +} + /* inline LLMatrix4 operator*(const LLMatrix4 &a, const LLMatrix4 &b) |