summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2023-04-23 21:08:41 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2023-04-23 21:08:41 +0100
commit4dafa2b53578c8d82eec6c3363568b5bfd7ac183 (patch)
tree224a84a5d2926cb45d5ebed89b079274a7283e2d /lib
parentClear world objects explicitly (diff)
downloadilt-4dafa2b53578c8d82eec6c3363568b5bfd7ac183.tar.bz2
ilt-4dafa2b53578c8d82eec6c3363568b5bfd7ac183.tar.xz
ilt-4dafa2b53578c8d82eec6c3363568b5bfd7ac183.zip
Add getTransform to Location; wraps the standard mat4 calculations
Diffstat (limited to 'lib')
-rw-r--r--lib/location.cpp9
-rw-r--r--lib/location.hpp5
2 files changed, 13 insertions, 1 deletions
diff --git a/lib/location.cpp b/lib/location.cpp
new file mode 100644
index 0000000..bff27a2
--- /dev/null
+++ b/lib/location.cpp
@@ -0,0 +1,9 @@
+#include "location.hpp"
+#include "maths.h"
+#include <glm/gtx/transform.hpp>
+
+glm::mat4
+Location::getTransform() const
+{
+ return glm::translate(pos) * rotate_ypr(rot);
+}
diff --git a/lib/location.hpp b/lib/location.hpp
index 1360c47..078f5d3 100644
--- a/lib/location.hpp
+++ b/lib/location.hpp
@@ -1,11 +1,14 @@
#pragma once
-#include <glm/glm.hpp>
+#include <glm/mat4x4.hpp>
+#include <glm/vec3.hpp>
class Location {
public:
explicit Location(glm::vec3 pos = {}, glm::vec3 rot = {}) : pos {pos}, rot {rot} { }
+ glm::mat4 getTransform() const;
+
glm::vec3 pos;
glm::vec3 rot;
};