From d2ef0accc44e3b8300ad1435789af1eabb610ad0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matt=C3=A9o=20Delabre?= Date: Wed, 9 Mar 2016 19:53:08 +0100 Subject: [PATCH] Ajout de getters/setters sur [Physics]Object et constructeurs --- object.cpp | 4 ++++ object.hpp | 8 ++++++++ physics_object.cpp | 16 ++++++++++++++++ physics_object.hpp | 24 ++++++++++++++++++++++++ 4 files changed, 52 insertions(+) diff --git a/object.cpp b/object.cpp index 614a8ae..6bf913a 100644 --- a/object.cpp +++ b/object.cpp @@ -7,3 +7,7 @@ sf::Vector2f Object::getPosition() { int Object::getCharge() { return charge; } + +void Object::setCharge(int set_charge) { + charge = set_charge; +} diff --git a/object.hpp b/object.hpp index 8e55df9..1ac986a 100644 --- a/object.hpp +++ b/object.hpp @@ -11,6 +11,9 @@ protected: int charge; public: + Object(sf::Vector2f init_position) : + position(init_position), charge(0) {} + /** * Dessine l'objet dans la fenêtre donnée */ @@ -36,6 +39,11 @@ public: * Récupère la charge de l'objet */ int getCharge(); + + /** + * Modifie la charge de l'objet + */ + void setCharge(int set_charge); }; /** diff --git a/physics_object.cpp b/physics_object.cpp index 1d90430..a829659 100644 --- a/physics_object.cpp +++ b/physics_object.cpp @@ -6,6 +6,22 @@ void PhysicsObject::update(State state) { // TODO: intégrer le vecteur force dans la vitesse puis la position } +sf::Vector2f getVelocity() { + return velocity; +} + +void setVelocity(sf::Vector2f set_velocity) { + velocity = set_velocity; +} + +int getMass() { + return mass; +} + +void setMass(int set_mass) { + mass = set_mass; +} + sf::Vector2f PhysicsObject::getForces(State state) { sf::Vector2f forces(0, 0); diff --git a/physics_object.hpp b/physics_object.hpp index 862cc37..78f10ff 100644 --- a/physics_object.hpp +++ b/physics_object.hpp @@ -19,11 +19,35 @@ protected: static constexpr float GRAVITY = 10; public: + PhysicsObject(sf::Vector2f position) : + Object(position), mass(1) {} + /** * Met à jour la physique de l'objet juste avant le dessin d'une frame * Reçoit l'état actuel du moteur */ void update(State state); + + /** + * Récupère la vitesse de l'objet + */ + sf::Vector2f getVelocity(); + + /** + * Modifie la vitesse de l'objet + * (à utiliser avec précaution, préférer modifier les forces) + */ + void setVelocity(sf::Vector2f set_velocity); + + /** + * Récupère la masse de l'objet + */ + int getMass(); + + /** + * Modifie la masse de l'objet + */ + void setMass(int set_mass); }; #endif