aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2017-05-17 10:36:59 +0100
committerYann Herklotz <ymherklotz@gmail.com>2017-05-17 10:36:59 +0100
commit7583ad924479b11bbd45122194b53a7b6c8f7a0e (patch)
treef454120b7bd2f5cc344eb221f975321842980a13 /include
parentf7fc06b5066018451b6b456be0dbc46bafe2fd88 (diff)
downloadYAGE-7583ad924479b11bbd45122194b53a7b6c8f7a0e.tar.gz
YAGE-7583ad924479b11bbd45122194b53a7b6c8f7a0e.zip
Adding files
Diffstat (limited to 'include')
-rw-r--r--include/YAGE/Physics/body.hpp19
-rw-r--r--include/YAGE/Physics/rigidbody.hpp3
2 files changed, 14 insertions, 8 deletions
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 <glm/glm.hpp>
@@ -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 &center_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 &center_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