1 #ifndef PMPL_GROUP_TASK_H_
2 #define PMPL_GROUP_TASK_H_
6 #include "nonstd/status.h"
16 #include <unordered_map>
96 const std::
string&
GetLabel() const noexcept;
99 void SetLabel(const std::
string& _label) noexcept;
102 size_t Size() const noexcept;
106 bool Empty() const noexcept;
110 const nonstd::status&
GetStatus() const noexcept;
206 nonstd::status m_status;
Definition: Boundary.h:30
Definition: Constraint.h:23
Definition: GenericStateGraph.h:67
Definition: GroupCfg.h:39
Definition: GroupTask.h:44
std::vector< MPTask > TaskSet
A set of individual tasks.
Definition: GroupTask.h:52
nonstd::status & GetStatus() noexcept
Get the status object for this task.
Definition: GroupTask.cpp:147
void SetRobotGroup(RobotGroup *const _r)
Definition: GroupTask.cpp:98
static std::unique_ptr< GroupTask > Factory(MPProblem *const _problem, XMLNode &_node)
Definition: GroupTask.cpp:72
void AddTask(const MPTask &_t)
Definition: GroupTask.cpp:173
void SetLabel(const std::string &_label) noexcept
Set the semantic label for this task.
Definition: GroupTask.cpp:119
RobotGroup * GetEndEffectorGroup() const noexcept
Get the optional manipulator robot group associated with this task.
Definition: GroupTask.cpp:216
const std::string & GetLabel() const noexcept
Get the semantic label for this task.
Definition: GroupTask.cpp:112
size_t GetNumGoals() const noexcept
Get the number of goals in the longest (most goals) task.
Definition: GroupTask.cpp:162
iterator begin() noexcept
Definition: GroupTask.cpp:187
RobotGroup * GetManipulatorGroup() const noexcept
Get the optional manipulator robot group associated with this task.
Definition: GroupTask.cpp:223
RobotGroup * GetRobotGroup() const noexcept
Get the robot associated with this task.
Definition: GroupTask.cpp:91
iterator end() noexcept
Definition: GroupTask.cpp:194
void GetStartConstraintCenter(GroupCfgType &_center) const noexcept
Definition: GroupTask.cpp:255
size_t Size() const noexcept
Get the number of individual tasks within this group task.
Definition: GroupTask.cpp:126
bool EvaluatePathConstraints(const GroupCfgType &_cfg) const
Definition: GroupTask.cpp:289
TaskSet::iterator iterator
Definition: GroupTask.h:57
bool Empty() const noexcept
Definition: GroupTask.cpp:133
Robot * GetManipulatorRobot()
Get the robot pointer for the (optional) manipulator for this group task.
Definition: GroupTask.cpp:229
GroupCfg< IndividualRoadmap > GroupCfgType
Definition: GroupTask.h:55
Robot * GetEndEffectorRobot()
Get the robot pointer for the (optional) end effector for the group task.
Definition: GroupTask.cpp:241
bool EvaluateStartConstraints(const GroupCfgType &_cfg) const
Definition: GroupTask.cpp:268
TaskSet::const_iterator const_iterator
Definition: GroupTask.h:58
GroupTask(RobotGroup *const _robotGroup)
Definition: GroupTask.cpp:18
bool EvaluateGoalConstraints(const GroupCfgType &_cfg) const
Definition: GroupTask.cpp:310
GenericStateGraph< Cfg, DefaultWeight< Cfg > > IndividualRoadmap
Definition: GroupTask.h:54
iterator RemoveTask(iterator _iter)
Definition: GroupTask.cpp:180
Definition: MPProblem.h:34
A group of one or more robots.
Definition: RobotGroup.h:17