1 #ifndef PMPL_MP_TASK_TYPE_H_
2 #define PMPL_MP_TASK_TYPE_H_
4 #include "nonstd/status.h"
93 const std::
string&
GetLabel() const noexcept;
97 void SetLabel(const std::
string& _label) noexcept;
101 const nonstd::status&
GetStatus() const noexcept;
106 bool Empty() const noexcept;
211 Robot* m_robot{
nullptr};
214 nonstd::status m_status;
216 std::unique_ptr<Constraint> m_startConstraint;
219 std::string m_capability;
221 double m_startTime{0};
222 double m_finishTime{0};
225 std::pair<double,double> m_releaseWindow;
228 std::pair<double,double> m_deadlineWindow;
Definition: Boundary.h:30
Definition: Constraint.h:23
Definition: Environment.h:137
Definition: MPProblem.h:34
const ConstraintSet & GetPathConstraints() const noexcept
Get all path constraints.
Definition: MPTask.cpp:206
bool EvaluatePathConstraints(const Cfg &_cfg) const
Definition: MPTask.cpp:309
std::vector< std::unique_ptr< Constraint > > ConstraintSet
A set of constraints.
Definition: MPTask.h:54
bool EvaluateGoalConstraints(const Cfg &_cfg) const
Definition: MPTask.cpp:319
void SetLabel(const std::string &_label) noexcept
Definition: MPTask.cpp:142
double GetEstimatedCompletionTime() const noexcept
Get the estimated completion time for the task.
Definition: MPTask.cpp:255
MPTask & operator=(MPTask &&_other)
Move.
const Constraint * GetStartConstraint() const noexcept
Get start constraint.
Definition: MPTask.cpp:199
Robot * GetRobot() const noexcept
Get the robot associated with this task.
Definition: MPTask.cpp:114
void AddGoalConstraint(std::unique_ptr< Constraint > &&_c)
Definition: MPTask.cpp:192
MPTask(MPTask &&_other)
Move.
void AddPathConstraint(std::unique_ptr< Constraint > &&_c)
Definition: MPTask.cpp:185
void SetCapability(const std::string &_capability)
Definition: MPTask.cpp:226
bool Empty() const noexcept
Definition: MPTask.cpp:163
void SetEstimatedStartTime(const double _time) noexcept
Definition: MPTask.cpp:241
const ConstraintSet & GetGoalConstraints() const noexcept
Get all goal constraints.
Definition: MPTask.cpp:213
MPTask & operator=(const MPTask &_other)
Copy.
Definition: MPTask.cpp:83
void SetEstimatedCompletionTime(const double _time) noexcept
Definition: MPTask.cpp:248
std::pair< double, double > GetReleaseWindow() const noexcept
Get the release window.
Definition: MPTask.cpp:279
void SetReleaseWindow(const std::pair< double, double > _release) noexcept
Set release window.
Definition: MPTask.cpp:268
double GetEstimatedStartTime() const noexcept
Get the estimated start time for the task.
Definition: MPTask.cpp:262
void ClearGoalConstraints()
Remove all goal constraints.
Definition: MPTask.cpp:220
void SetStartConstraint(std::unique_ptr< Constraint > &&_c)
Definition: MPTask.cpp:178
MPTask(Robot *const _robot)
Definition: MPTask.cpp:16
nonstd::status & GetStatus() noexcept
Get the status object for this task.
Definition: MPTask.cpp:149
const std::string & GetCapability() const noexcept
Definition: MPTask.cpp:233
bool EvaluateCapability(const Robot *const _r) const
Definition: MPTask.cpp:293
void SetDeadlineWindow(const std::pair< double, double > _deadline) noexcept
Set deadline window.
Definition: MPTask.cpp:273
std::pair< double, double > GetDeadlineWindow() const noexcept
Get the deadline window.
Definition: MPTask.cpp:285
const std::string & GetLabel() const noexcept
Get the semantic label for this task.
Definition: MPTask.cpp:135
size_t GetNumGoals() const noexcept
Get the number of goals in this task.
Definition: MPTask.cpp:170
void SetRobot(Robot *const _r)
Definition: MPTask.cpp:121
bool EvaluateStartConstraints(const Cfg &_cfg) const
Definition: MPTask.cpp:301