basic gravity working through effects
[physics.git] / src / Entities / PhysicsEntity.h
1 #ifndef PHYSICS_H
2 #define PHYSICS_H
3
4 #include "Entity.h"
5 #include "../Effects/Effect.h"
6 #include "../Vector2.h"
7
8 /// ***** Header Class *****
9 class PhysicsEntity: public Entity
10 {
11   protected:
12     PhysicsEntity(const Vector2&);
13
14   public:
15     virtual ~PhysicsEntity();
16
17     virtual void update(float);
18
19     virtual Vector2 positionAt(float) const;
20     virtual Vector2 velocityAt(float) const;
21
22     virtual void applyForce(const Vector2&);
23     virtual void applyImpulse(const Vector2&);
24
25   protected:
26     Vector2 force;
27
28     float mass;
29
30     // Coefficient of Restitution
31     float CoR;
32
33     Effect* g;
34 };
35
36 #endif // PHYSICS_H