}
namespace world {
+class Creature;
class Simulation;
class Body {
void Cache() noexcept;
+ // body takes over ownership of given pointer
+ void AddCreature(Creature *);
+ std::vector<Creature *> &Creatures() noexcept { return creatures; }
+ const std::vector<Creature *> &Creatures() const noexcept { return creatures; }
+
private:
void AddChild(Body &);
void RemoveChild(Body &);
glm::dmat4 local;
glm::dmat4 inverse_local;
+ std::vector<Creature *> creatures;
+
};
}