Parasol Planning Library (PPL)
|
#include <Constraint.h>
Public Member Functions | |
Constraint Interface | |
virtual void | SetRobot (Robot *const _r) |
virtual const Boundary * | GetBoundary () const =0 |
virtual bool | Satisfied (const Cfg &_c) const =0 |
Protected Attributes | |
Internal State | |
Robot * | m_robot {nullptr} |
The subject of this constraint. More... | |
Construction | |
Constraint (Robot *const _r) | |
virtual | ~Constraint () |
virtual std::unique_ptr< Constraint > | Clone () const =0 |
static std::unique_ptr< Constraint > | Factory (Robot *const _r, XMLNode &_node, Environment *_env=nullptr) |
An abstract base class representing the required interface for a constraint on the state of a robot. The Constraint interface requires plain jane Cfg's to ensure that they are usable by reactive agents.
Constraints may apply to specific robots, or they may be more general criterion on any robot. In the later case, the robot pointer for the constraint will be null.
|
explicit |
Create a constraint for a robot.
_r | The robot to constrain. |
|
virtualdefault |
|
pure virtual |
Copy this constraint.
Implemented in CSpaceConstraint, and BoundaryConstraint.
|
static |
Construct a constraint of the appropriate type from an XML node.
_r | The robot to which the constraint applies. |
_node | The XML node to parse. |
|
pure virtual |
Get a sampling boundary that describes the subset of CSpace allowed by this constraint.
Implemented in BoundaryConstraint.
|
pure virtual |
Determine whether a given configuration of the robot satisfies this constraint.
_c | The configuration to check. |
Implemented in BoundaryConstraint.
|
virtual |
Change the subject of this constraint.
_r | The new robot to constrain, or null to represent any robot. |
|
protected |
The subject of this constraint.