From 7583ad924479b11bbd45122194b53a7b6c8f7a0e Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Wed, 17 May 2017 10:36:59 +0100 Subject: Adding files --- include/YAGE/Physics/body.hpp | 19 ++++++++++++------- include/YAGE/Physics/rigidbody.hpp | 3 ++- 2 files changed, 14 insertions(+), 8 deletions(-) (limited to 'include') diff --git a/include/YAGE/Physics/body.hpp b/include/YAGE/Physics/body.hpp index 170ef491..c781e1d4 100644 --- a/include/YAGE/Physics/body.hpp +++ b/include/YAGE/Physics/body.hpp @@ -1,5 +1,5 @@ -#ifndef YAGE_BODDY_HPP -#define YAGE_BODDY_HPP +#ifndef YAGE_BODY_HPP +#define YAGE_BODY_HPP #include @@ -11,6 +11,10 @@ class Body protected: // current force acting on object glm::vec2 force_; + + // current acceleration + glm::vec2 acceleration_=glm::vec2(0.f, 0.f); + // current velocity of the object glm::vec2 velocity_; @@ -24,16 +28,17 @@ protected: bool gravity_; public: - virtual ~Body() {} + virtual ~Body(); // apply force to the object and update the velocity virtual void applyForce(const glm::vec2 &force)=0; + virtual void update()=0; + + float xPosition() const; + float yPosition() const; protected: // protected constructor to initialize member variables - Body(const glm::vec2 ¢er_of_mass, double mass, const glm::vec2 &force, const glm::vec2 &velocity, bool gravity) : - force_(force), velocity_(velocity), center_of_mass_(center_of_mass), - mass_(mass), gravity_(gravity) - {} + Body(const glm::vec2 ¢er_of_mass, double mass, const glm::vec2 &force, const glm::vec2 &velocity, bool gravity); }; } // yage diff --git a/include/YAGE/Physics/rigidbody.hpp b/include/YAGE/Physics/rigidbody.hpp index 56f089ed..bf729828 100644 --- a/include/YAGE/Physics/rigidbody.hpp +++ b/include/YAGE/Physics/rigidbody.hpp @@ -1,7 +1,7 @@ #ifndef YAGE_RIGID_BODY_HPP #define YAGE_RIGID_BODY_HPP -#include "Physics/body.hpp" +#include "body.hpp" namespace yage { @@ -17,6 +17,7 @@ public: // apply a force to the rigid body virtual void applyForce(const glm::vec2 &force); + virtual void update(); }; } // yage -- cgit