libmove3d-planners
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Groups Pages
taskManager.hpp
1 #ifndef TASKMANAGER_HPP
2 #define TASKMANAGER_HPP
3 
4 //using namespace tr1;
5 
6 #include "GTPTools/worldState.hpp"
7 #include "GTPTools/solutionTools/gtpPlan.hpp"
8 #include "GTP/GTPTools/geometricTools/geometricComputations.hpp"
9 #include "GTP/GTPTools/geometricTools/geometricForms-pkg.hpp"
10 #include "GTP/GTPTools/solutionTools/taskSolution.hpp"
11 #include "GTP/GTPTools/solutionTools/taskSubSolution.hpp"
12 #include "Tasks/task.hpp"
13 #include "Tasks/task-pkg.hpp"
14 #include "GTPTools/taskConstraints.hpp"
15 
16 
17 
18 
20 {
21  MOVE3D_STATIC_LOGGER;
22 public:
23  TaskManager();
24  ~TaskManager();
25  void init();
26 
27  PlanNode *computeTask(TasksId task,
28  std::multimap<std::string,std::string> agents_name,
29  std::multimap<std::string,std::string> objects_name,
30  std::multimap<std::string, p3d_point> point3d,
31  std::multimap<std::string, std::string> additionalData,
32  WorldState *WC, bool computeMP, TaskConstraints *taskConst);
33 
34  double computeTaskHeuristic(TasksId taskId,
35  std::multimap<std::string,std::string> agents_name,
36  std::multimap<std::string,std::string> objects_name,
37  std::multimap<std::string, p3d_point> point3d,
38  std::multimap<std::string, std::string> additionalData,
39  WorldState *WC, bool computeMP, TaskConstraints *taskConst);
40 
41  PlanNode *findTaskAlternative(int taskId, bool computeMP);
42 
43  Task* createTask(TasksId task);
44  Task* createHumanTask(TasksId taskId);
45 
46  bool computeTrajInTasks(int taskId, int alternativeId);
47 
48  Task* getTask(int id);
49 
50  bool setArm(armLabel a);
51 
52  void clearTasks();
53 
54  int addWorldState(WorldState* WC);
55  WorldState* getWorldStateById(int id);
56  WorldState* popWorldStateWithId(int id);
57  void clearWorldStates();
58 
59  TasksId getTaskIdFromString(std::string value);
60  TasksId getTaskIdFromString(char* value);
61 
62 
63  bool forceArmChoice;
64 
65  PlanTree* getPlanTree() {return _PT;}
66  OnePlan* getOnePlan() {return _OP;}
67 
68  void printAllTasks(bool verbose);
69  void printOnePlan(bool verbose);
70  std::string printAllTextNeeded();
71 
72  std::vector<Task*> getTaskList() { return task_list;}
73  void addTask(Task* t) {task_list.push_back(t);}
74 
75  void printTd(type_data td);
76 
77  void setCurrentId(int t){current_id = t;}
78 
79  void setRequestToSolutionData(Task *t,
80  std::multimap<std::string,std::string> agents_name,
81  std::multimap<std::string,std::string> objects_name,
82  std::multimap<std::string, p3d_point> point3d,
83  std::multimap<std::string, std::string> additionalData,
84  TaskConstraints *);
85 
86 private:
87  armLabel arm_l;
88 
89  int current_id;
90  std::vector<Task*> task_list;
91  std::vector<WorldState*> worldState_list;
92 
93  int current_worldState_id;
94 
95  PlanTree* _PT;
96  OnePlan* _OP;
97 
98 };
99 
100 #endif // TASKMANAGER_HPP
Definition: taskConstraints.hpp:34
Definition: planNode.hpp:12
Definition: structTools.hpp:54
Definition: gtpPlan.hpp:14
Definition: taskManager.hpp:19
Definition: onePlan.hpp:9
Definition: worldState.hpp:30
Definition: task.hpp:44