1 #ifndef PPL_DECOMPOSITION_H_
2 #define PPL_DECOMPOSITION_H_
53 void AddTask(std::shared_ptr<SemanticTask> _task);
76 const std::unordered_map<std::string,std::shared_ptr<
103 std::unordered_map<std::string,std::shared_ptr<
107 std::vector<SemanticTask*> m_motionTasks;
110 std::vector<SemanticTask*> m_groupMotionTasks;
119 Robot* m_coordinator;
122 bool m_complete{
false};
125 std::unique_ptr<SubtaskFlow> m_subtaskFlow;
Definition: Decomposition.h:9
Robot * GetCoordinator() const
Return the robot responsible for the decomposition.
Definition: Decomposition.cpp:61
void AddTask(std::shared_ptr< SemanticTask > _task)
Definition: Decomposition.cpp:85
Decomposition()
Definition: Decomposition.cpp:8
void SetComplete(bool _complete=true)
Definition: Decomposition.cpp:186
bool IsComplete()
Checks if the decompsition has been marked complete.
Definition: Decomposition.cpp:192
void AddGroupMotionTask(SemanticTask *_task)
Definition: Decomposition.cpp:127
std::vector< SemanticTask * > & GetMotionTasks()
Return the set of tasks with corresponding motion tasks.
Definition: Decomposition.cpp:109
const std::string GetLabel() const
Return the label for the decomposition.
Definition: Decomposition.cpp:55
const std::unordered_map< std::string, std::shared_ptr< SemanticTask > > & GetTaskMap() const
Return the map of all semantic tasks in the decomposition.
Definition: Decomposition.cpp:133
void SetCoordinator(Robot *_robot)
Definition: Decomposition.cpp:67
std::vector< SemanticTask * > & GetGroupMotionTasks()
Definition: Decomposition.cpp:115
void SetRootTask(SemanticTask *_task)
Definition: Decomposition.cpp:79
SemanticTask * GetTask(std::string _label)
Definition: Decomposition.cpp:95
~Decomposition()
Definition: Decomposition.cpp:49
SemanticTask * GetRootTask()
Return the root task in the decomposition tree.
Definition: Decomposition.cpp:73
void AddMotionTask(SemanticTask *_task)
Definition: Decomposition.cpp:121
Definition: MPProblem.h:34
Definition: SemanticTask.h:13