From 36854905fc63d2acaf5b7b6c4255a56a077ce95b Mon Sep 17 00:00:00 2001 From: lisyarus Date: Mon, 27 Dec 2021 11:49:12 +0300 Subject: [PATCH] Add quaternion += and -= --- libs/geom/include/psemek/geom/quaternion.hpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/libs/geom/include/psemek/geom/quaternion.hpp b/libs/geom/include/psemek/geom/quaternion.hpp index 12afb858..606b72b3 100644 --- a/libs/geom/include/psemek/geom/quaternion.hpp +++ b/libs/geom/include/psemek/geom/quaternion.hpp @@ -28,6 +28,9 @@ namespace psemek::geom T & operator[] (std::size_t i) { return coords[i]; } T const & operator[] (std::size_t i) const { return coords[i]; } + + quaternion & operator += (quaternion const & other); + quaternion & operator -= (quaternion const & other); }; template @@ -136,6 +139,20 @@ namespace psemek::geom return r; } + template + quaternion & quaternion::operator += (quaternion const & other) + { + (*this) = (*this) + other; + return *this; + } + + template + quaternion & quaternion::operator -= (quaternion const & other) + { + (*this) = (*this) - other; + return *this; + } + template T norm_sqr(quaternion const & q) {