YAGE  0.02
Yet Another Game Engine
collider.hpp
1 /* ----------------------------------------------------------------------------
2  * collider.hpp
3  *
4  * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License
5  * See file LICENSE for more details
6  * ----------------------------------------------------------------------------
7  */
8 
9 #ifndef YAGE_PHYSICS_COLLIDER_HPP
10 #define YAGE_PHYSICS_COLLIDER_HPP
11 
12 #include <glm/glm.hpp>
13 
14 namespace yage {
15 
16 // The Collider class helps collision detection by providing a general shape
17 // for different shapes to have their own collision algorithms.
18 class Collider {
19 protected:
20  // position of the object
21  glm::vec2 position_;
22 
23  // size of the object
24  glm::vec2 size_;
25 
26 public:
27  Collider(const glm::vec2& position, const glm::vec2& size)
28  : position_(position), size_(size) {}
29 
30  // function that checks if two colliders are colliding
31  virtual bool collides(const Collider& collider) const = 0;
32 
33  // function that returns if a point is inside the shape
34  virtual bool inside(const glm::vec2& point) const = 0;
35 };
36 
37 } // namespace yage
38 
39 #endif
Definition: camera2d.hpp:17