Commit | Line | Data |
---|---|---|
ad9f1fb6 PG |
1 | #ifndef PHYSICS_H |
2 | #define PHYSICS_H | |
3 | ||
4 | #include "Entity.h" | |
5 | #include "../Vector2.h" | |
6 | ||
617dcc71 | 7 | |
ad9f1fb6 | 8 | /// ***** Header Class ***** |
617dcc71 | 9 | |
ad9f1fb6 PG |
10 | class PhysicsEntity: public Entity |
11 | { | |
6aad402a PG |
12 | protected: |
13 | PhysicsEntity(const Vector2&); | |
ad9f1fb6 | 14 | |
6aad402a PG |
15 | public: |
16 | virtual ~PhysicsEntity(); | |
ad9f1fb6 | 17 | |
6aad402a | 18 | virtual void update(float); |
ad9f1fb6 | 19 | |
6aad402a PG |
20 | virtual Vector2 positionAt(float) const; |
21 | virtual Vector2 velocityAt(float) const; | |
ad9f1fb6 | 22 | |
6aad402a PG |
23 | virtual void applyForce(const Vector2&); |
24 | virtual void applyImpulse(const Vector2&); | |
ad9f1fb6 | 25 | |
6aad402a PG |
26 | protected: |
27 | Vector2 force; | |
ad9f1fb6 | 28 | |
6aad402a | 29 | float mass; |
ad9f1fb6 | 30 | |
6aad402a PG |
31 | // Coefficient of Restitution |
32 | float CoR; | |
ad9f1fb6 PG |
33 | }; |
34 | ||
35 | #endif // PHYSICS_H |