summaryrefslogtreecommitdiff
path: root/engine-ocean/Game/Components/CollisionComponents/CylinderCollider.h
diff options
context:
space:
mode:
Diffstat (limited to 'engine-ocean/Game/Components/CollisionComponents/CylinderCollider.h')
-rw-r--r--engine-ocean/Game/Components/CollisionComponents/CylinderCollider.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/engine-ocean/Game/Components/CollisionComponents/CylinderCollider.h b/engine-ocean/Game/Components/CollisionComponents/CylinderCollider.h
new file mode 100644
index 0000000..3363b84
--- /dev/null
+++ b/engine-ocean/Game/Components/CollisionComponents/CylinderCollider.h
@@ -0,0 +1,37 @@
+#ifndef CYLINDERCOLLIDER_H
+#define CYLINDERCOLLIDER_H
+
+#include "Game/Components/CollisionComponents/BoundingTriangle.h"
+#include "Graphics/modeltransform.h"
+#include "glm/glm.hpp"
+#include "BoundingShape.h"
+#include <memory>
+
+
+struct Cylinder {
+ glm::vec2 point; // bottom Center
+ float radius;
+
+ // lines
+ float height;
+ float min;
+ float max;
+
+ glm::vec3 aabbDimensions;
+ glm::vec3 aabbCenterPos;
+ Bounds3f bounds;
+};
+
+class CylinderCollider
+{
+public:
+ CylinderCollider(glm::vec3 initial_pos, glm::vec3 initial_scale);
+ Cylinder getCylinder();// override;
+ void updateCollisionPos(glm::vec3 new_pos);
+ void updateBounds();
+private:
+ glm::vec3 m_scale;
+ Cylinder m_cyl;
+};
+
+#endif // CYLINDERCOLLIDER_H