From de9909df038d1b6bb47bcc82fea5f8dc9dec2491 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Tue, 28 Dec 2021 15:42:50 +0000 Subject: Initial implementation for being able to click in the main window to select something --- lib/maths.cpp | 6 ++++++ lib/maths.h | 7 +++++++ 2 files changed, 13 insertions(+) (limited to 'lib') diff --git a/lib/maths.cpp b/lib/maths.cpp index 4d9f8d4..b8dbd34 100644 --- a/lib/maths.cpp +++ b/lib/maths.cpp @@ -70,6 +70,12 @@ rotate_ypr(glm::vec3 a) return rotate_yaw(a.y) * rotate_pitch(a.x) * rotate_roll(a.z); } +glm::mat4 +rotate_yp(glm::vec2 a) +{ + return rotate_yaw(a.y) * rotate_pitch(a.x); +} + float vector_yaw(const glm::vec3 & diff) { diff --git a/lib/maths.h b/lib/maths.h index ad2f3e5..a75c7a8 100644 --- a/lib/maths.h +++ b/lib/maths.h @@ -51,6 +51,7 @@ glm::mat2 rotate_flat(float); glm::mat4 rotate_roll(float); glm::mat4 rotate_yaw(float); glm::mat4 rotate_pitch(float); +glm::mat4 rotate_yp(glm::vec2); glm::mat4 rotate_ypr(glm::vec3); float vector_yaw(const glm::vec3 & diff); @@ -84,6 +85,12 @@ operator^(const glm::vec2 & v, float z) return {v.x, v.y, z}; } +constexpr inline glm::vec4 +operator^(const glm::vec3 & v, float w) +{ + return {v.x, v.y, v.z, w}; +} + constexpr inline glm::vec3 operator!(const glm::vec2 & v) { -- cgit v1.2.3