summaryrefslogtreecommitdiff
path: root/engine-ocean/Graphics/modeltransform.h
diff options
context:
space:
mode:
Diffstat (limited to 'engine-ocean/Graphics/modeltransform.h')
-rw-r--r--engine-ocean/Graphics/modeltransform.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/engine-ocean/Graphics/modeltransform.h b/engine-ocean/Graphics/modeltransform.h
new file mode 100644
index 0000000..46f5b73
--- /dev/null
+++ b/engine-ocean/Graphics/modeltransform.h
@@ -0,0 +1,34 @@
+#pragma once
+
+#include "glm/glm.hpp"
+#include "glm/ext.hpp"
+
+class ModelTransform{
+public:
+ ModelTransform();
+ ~ModelTransform();
+
+ void setPos(glm::vec3 pos);
+ void translate(glm::vec3 delta);
+ glm::vec3 getPos();
+ void setScale(glm::vec3 scale);
+ void setScale(float scale);
+ void scale(glm::vec3 scale);
+ void scale(float scale);
+ glm::vec3 getScale();
+ void setRotation(float angle, glm::vec3 axis);
+ void setRotation(glm::mat4 r);
+ void rotate(float angle, glm::vec3 axis);
+ void rotate(glm::mat4 r);
+ glm::mat4 getRotation();
+ glm::mat4 getModelMatrix();
+ void clear();
+
+ float getYRotationAngle();
+
+
+private:
+ glm::vec3 m_pos;
+ glm::vec3 m_scale;
+ glm::mat4 m_rotation = glm::mat4(1);
+};