libmove3d-planners
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Groups Pages
ent_entityManager.hpp
1 #ifndef ENT_ENTITYMANAGER_H
2 #define ENT_ENTITYMANAGER_H
3 
4 #include "Logging/Logger.h"
5 #include "ent_manipulable.hpp"
6 #include "ent_surface.hpp"
7 #include "ent_agent.hpp"
8 #include "ent_vertical.hpp"
9 #include "ent_virtual.hpp"
10 
11 namespace Ent {
12 
13 
18 {
19  MOVE3D_STATIC_LOGGER;
20 public:
21  EntityManager();
22  ~EntityManager();
23 
24  static EntityManager* mainEntityManager();
25 
26  Manipulable *manipulables() const;
27  void setManipulables(Manipulable *manip);
28 
29  Surface *surfaces() const;
30  void setSurfaces(Surface *surface);
31 
32  Agent *agents() const;
33  void setAgents(Agent *agent);
34 
35  Vertical *verticals() const;
36  void setVerticals(Vertical *vertical);
37 
38  Virtual *virtuals() const;
39  void setVirtuals(Virtual *virtua);
40 
41 
42  std::string globalJsonPath() const;
43  void setGlobalJsonPath(const std::string &globalJsonPath);
44 
45  bool updateEntities();
46  bool fetchData();
47 
48 protected:
49  void createModules();
50 
51 
52 private:
53  static EntityManager *__mainEntityManager;
54 
55  std::string _globalJsonPath;
56 
57  Manipulable* _manipulable;
58  Surface* _surface;
59  Agent* _agent;
60  Vertical* _vertical;
61  Virtual* _virtual;
62 
63 };
64 
65 
66 
67 } //namespace Ent
68 
69 #endif // ENT_ENTITYMANAGER_H
EntityManager: Manage all the entity type reader classes.
Definition: ent_entityManager.hpp:17
Manipulable find the list of manipulable objects and their stable rotations.
Definition: ent_manipulable.hpp:23
This file implements macros to help with the logging, in a way similar to ROS, using log4cxx...
Vertical lists the objects that should stay in a certain orientation (e.g.
Definition: ent_vertical.hpp:18
Virtual distinguish between virtual and normal objects.
Definition: ent_virtual.hpp:18
Agent distinguish between agents and objects.
Definition: ent_agent.hpp:18
Surface Find the list of surfaces per object.
Definition: ent_surface.hpp:24