/* ---------------------------------------------------------------------------- * collider.hpp * * Copyright (c) 2017 Yann Herklotz Grave -- MIT License * See file LICENSE for more details * ---------------------------------------------------------------------------- */ #ifndef YAGE_PHYSICS_COLLIDER_HPP #define YAGE_PHYSICS_COLLIDER_HPP #include namespace yage { // The Collider class helps collision detection by providing a general shape // for different shapes to have their own collision algorithms. class Collider { protected: // position of the object glm::vec2 position_; // size of the object glm::vec2 size_; public: Collider(const glm::vec2& position, const glm::vec2& size) : position_(position), size_(size) {} // function that checks if two colliders are colliding virtual bool collides(const Collider& collider) const = 0; // function that returns if a point is inside the shape virtual bool inside(const glm::vec2& point) const = 0; }; } // namespace yage #endif