]> git.tdb.fi Git - libs/math.git/commitdiff
Implement the Quaternion::normalize() function
authorMikko Rasa <tdb@tdb.fi>
Mon, 23 Jan 2023 15:07:33 +0000 (17:07 +0200)
committerMikko Rasa <tdb@tdb.fi>
Mon, 23 Jan 2023 15:07:33 +0000 (17:07 +0200)
For some reason it was forgotten when the class was added

source/geometry/quaternion.h

index 809259710884b2f2931ad6674913f65d1909a81d..5cb45fffcbcc6a20f31114a235d534efdaef9394 100644 (file)
@@ -166,6 +166,19 @@ T Quaternion<T>::norm() const
        return sqrt(a*a+b*b+c*c+d*d);
 }
 
+template<typename T>
+Quaternion<T> &Quaternion<T>::normalize()
+{
+       return *this /= norm();
+}
+
+template<typename T>
+Quaternion<T> normalize(const Quaternion<T> &q)
+{
+       Quaternion<T> r = q;
+       return r.normalize();
+}
+
 template<typename T>
 Quaternion<T> Quaternion<T>::inverse() const
 {