]> git.localhorst.tv Git - blobs.git/blob - src/world/Simulation.hpp
concerning orbits
[blobs.git] / src / world / Simulation.hpp
1 #ifndef BLOBS_WORLD_SIMULATION_HPP_
2 #define BLOBS_WORLD_SIMULATION_HPP_
3
4
5 namespace blobs {
6 namespace world {
7
8 class Body;
9
10 class Simulation {
11
12 public:
13         explicit Simulation(Body &root);
14         ~Simulation();
15
16         Simulation(const Simulation &) = delete;
17         Simulation &operator =(const Simulation &) = delete;
18
19         Simulation(Simulation &&) = delete;
20         Simulation &operator =(Simulation &&) = delete;
21
22 public:
23         void Tick();
24
25         Body &Root() { return root; }
26         const Body &Root() const { return root; }
27
28         double Time() const noexcept { return time; }
29
30 private:
31         Body &root;
32         double time;
33
34 };
35
36 }
37 }
38
39 #endif