From daa9dc84d7fb6e7c8f84b1ee3adfaacaad7de72f Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Sun, 23 Jul 2017 14:19:28 +0100 Subject: Fixing gravity --- src/body.cpp | 10 +++++----- src/particlebody.cpp | 8 ++++---- src/rigidbody.cpp | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/body.cpp b/src/body.cpp index 23360988..e942d617 100644 --- a/src/body.cpp +++ b/src/body.cpp @@ -8,17 +8,17 @@ const double Body::GRAVITY=-9.81; Body::~Body() {} -float Body::xPosition() const +double Body::xPosition() const { - return position_.x; + return position_[0]; } -float Body::yPosition() const +double Body::yPosition() const { - return position_.y; + return position_[1]; } -Body::Body(const glm::vec2 &position, double mass, const glm::vec2 &velocity, bool gravity) : +Body::Body(const Vector2d &position, double mass, const Vector2d &velocity, bool gravity) : position_(position), mass_(mass), velocity_(velocity), gravity_(gravity) {} diff --git a/src/particlebody.cpp b/src/particlebody.cpp index f882f279..7435737c 100644 --- a/src/particlebody.cpp +++ b/src/particlebody.cpp @@ -1,5 +1,6 @@ #include "Physics/particlebody.hpp" +#include #include namespace yage @@ -26,16 +27,15 @@ void ParticleBody::update() Vector2d last_acceleration=acceleration_; // update the position of the body - //position_.x+=velocity_.x*time_step+(0.5*last_acceleration.x*std::pow(time_step, 2)); - //position_.y+=velocity_.y*time_step+(0.5*last_acceleration.y*std::pow(time_step, 2)); - position_+=velocity_*time_step+(0.5*last_acceleration*std::pow(time_step, 2)); // update the acceleration if(gravity_) acceleration_=Vector2d(force_.x()/mass_, (GRAVITY+force_.y())/mass_); else - acceleration_=Vector2d(force_.x()/mass_, force_.y()/mass_); + acceleration_=Vector2d(force_.x()/mass_, force_.y()/mass_); + + std::cout<