From fdaaf58d20d99e49529bf89f37e1ddda959fdcfb Mon Sep 17 00:00:00 2001 From: lisyarus Date: Wed, 12 Jan 2022 19:18:39 +0300 Subject: [PATCH] Add geom::quaternion::i,j,k --- libs/geom/include/psemek/geom/quaternion.hpp | 21 ++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/libs/geom/include/psemek/geom/quaternion.hpp b/libs/geom/include/psemek/geom/quaternion.hpp index ade080aa..c5199419 100644 --- a/libs/geom/include/psemek/geom/quaternion.hpp +++ b/libs/geom/include/psemek/geom/quaternion.hpp @@ -17,6 +17,9 @@ namespace psemek::geom static quaternion zero(); static quaternion identity(); + static quaternion i(); + static quaternion j(); + static quaternion k(); static quaternion scalar(T value); static quaternion vector(geom::vector const & v); static quaternion rotation(T angle, geom::vector const & axis); @@ -48,6 +51,24 @@ namespace psemek::geom return quaternion{{T(0), T(0), T(0), T(1)}}; } + template + quaternion quaternion::i() + { + return quaternion{{T(1), T(0), T(0), T(0)}}; + } + + template + quaternion quaternion::j() + { + return quaternion{{T(0), T(1), T(0), T(0)}}; + } + + template + quaternion quaternion::k() + { + return quaternion{{T(0), T(0), T(1), T(0)}}; + } + template quaternion quaternion::scalar(T value) {