diff options
Diffstat (limited to 'yage/physics/particlebody.cpp')
-rw-r--r-- | yage/physics/particlebody.cpp | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/yage/physics/particlebody.cpp b/yage/physics/particlebody.cpp deleted file mode 100644 index 3ccba546..00000000 --- a/yage/physics/particlebody.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* ---------------------------------------------------------------------------- - * particlebody.cpp - * - * Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License - * See file LICENSE for more details - * ---------------------------------------------------------------------------- - */ - -#include <yage/physics/particlebody.h> - -#include <cmath> -#include <iostream> - -namespace yage -{ - -ParticleBody::ParticleBody(const Vector2d &position, double mass, - const Vector2d &velocity, bool gravity) - : Body(position, mass, velocity, gravity) -{ -} - -void ParticleBody::applyForce(const Vector2d &force) -{ - force_ += force; -} - -void ParticleBody::update() -{ - // set the time_step for 60fps - double time_step = 1.0 / 60.0; - - // set the last acceleration - Vector2d last_acceleration = acceleration_; - - // update the position of the body - 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_); - } - - Vector2d avg_acceleration = (acceleration_ + last_acceleration) / 2.0; - - // update the velocity of the body - velocity_ += avg_acceleration * time_step; -} - -} // namespace yage |