diff --git a/include/zeus/CTransform.hpp b/include/zeus/CTransform.hpp index 35236f8..09d55f4 100644 --- a/include/zeus/CTransform.hpp +++ b/include/zeus/CTransform.hpp @@ -35,7 +35,9 @@ public: CTransform(const CVector3f& c0, const CVector3f& c1, const CVector3f& c2, const CVector3f& c3) : basis(c0, c1, c2), origin(c3) {} - static CTransform Identity() { return CTransform(CMatrix3f::skIdentityMatrix3f); } + static const CTransform skIdentityTransform; + + static const CTransform& Identity() { return skIdentityTransform; } bool operator==(const CTransform& other) const { return origin == other.origin && basis == other.basis; } diff --git a/src/CTransform.cpp b/src/CTransform.cpp index 00e3fdf..a549339 100644 --- a/src/CTransform.cpp +++ b/src/CTransform.cpp @@ -1,6 +1,8 @@ #include "zeus/CTransform.hpp" namespace zeus { +const CTransform CTransform::skIdentityTransform; + CTransform CTransformFromEditorEuler(const CVector3f& eulerVec) { CTransform result; double ti, tj, th, ci, cj, ch, si, sj, sh, cc, cs, sc, ss;