From 67f6823f7393469bc3847f21fd2887ff380141d4 Mon Sep 17 00:00:00 2001 From: Christian Walther Date: Wed, 18 Apr 2012 20:45:52 +0200 Subject: [PATCH] More 'const', so that Rotate(vector) can be called on a const hsQuat&. --- Sources/Plasma/CoreLib/hsQuat.cpp | 4 ++-- Sources/Plasma/CoreLib/hsQuat.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Sources/Plasma/CoreLib/hsQuat.cpp b/Sources/Plasma/CoreLib/hsQuat.cpp index da9c1667..4b8556b9 100644 --- a/Sources/Plasma/CoreLib/hsQuat.cpp +++ b/Sources/Plasma/CoreLib/hsQuat.cpp @@ -65,14 +65,14 @@ hsQuat::hsQuat(float rad, const hsVector3* axis) fZ = axis->fZ*s; } -hsQuat hsQuat::Inverse() +hsQuat hsQuat::Inverse() const { hsQuat q2 = Conjugate(); float msInv = 1.0f/q2.MagnitudeSquared(); return (q2 * msInv); } -hsPoint3 hsQuat::Rotate(const hsScalarTriple* v) +hsPoint3 hsQuat::Rotate(const hsScalarTriple* v) const { hsQuat qInv = Inverse(); hsQuat qVec(v->fX, v->fY, v->fZ, 0); diff --git a/Sources/Plasma/CoreLib/hsQuat.h b/Sources/Plasma/CoreLib/hsQuat.h index a61f484e..3153c194 100644 --- a/Sources/Plasma/CoreLib/hsQuat.h +++ b/Sources/Plasma/CoreLib/hsQuat.h @@ -71,7 +71,7 @@ public: { fX = X; fY = Y; fZ = Z; fW = W; } void GetAngleAxis(float *rad, hsVector3 *axis) const; void SetAngleAxis(const float rad, const hsVector3 &axis); - hsPoint3 Rotate(const hsScalarTriple* v); + hsPoint3 Rotate(const hsScalarTriple* v) const; // Access operators float& operator[](int i) { return (&fX)[i]; } @@ -94,7 +94,7 @@ public: float MagnitudeSquared(); hsQuat Conjugate() const { return hsQuat(-fX,-fY,-fZ,fW); } - hsQuat Inverse(); + hsQuat Inverse() const; // Binary operators hsQuat operator-(const hsQuat&) const; hsQuat operator+(const hsQuat&) const;