1 #ifndef BLOBS_WORLD_SIMULATION_HPP_
2 #define BLOBS_WORLD_SIMULATION_HPP_
17 explicit Simulation(Body &root);
20 Simulation(const Simulation &) = delete;
21 Simulation &operator =(const Simulation &) = delete;
23 Simulation(Simulation &&) = delete;
24 Simulation &operator =(Simulation &&) = delete;
30 void AddPlanet(Planet &);
33 Body &Root() noexcept { return root; }
34 const Body &Root() const noexcept { return root; }
36 const std::set<Body *> &Bodies() const noexcept { return bodies; }
37 const std::set<Planet *> &Planets() const noexcept { return planets; }
38 const std::set<Sun *> &Suns() const noexcept { return suns; }
40 double Time() const noexcept { return time; }
44 std::set<Body *> bodies;
45 std::set<Planet *> planets;