Parasol Planning Library (PPL)
BoundaryConstraint Class Reference

#include <BoundaryConstraint.h>

Inheritance diagram for BoundaryConstraint:
Inheritance graph
[legend]
Collaboration diagram for BoundaryConstraint:
Collaboration graph
[legend]

Public Member Functions

Construction
 BoundaryConstraint (Robot *const _r, std::unique_ptr< Boundary > &&_b)
 
 BoundaryConstraint (Robot *const _r, XMLNode &_node)
 
 BoundaryConstraint (const BoundaryConstraint &_other)
 
virtual ~BoundaryConstraint ()
 
virtual std::unique_ptr< ConstraintClone () const override
 
Constraint Interface
virtual const BoundaryGetBoundary () const override
 
virtual bool Satisfied (const Cfg &_c) const override
 
- Public Member Functions inherited from Constraint
virtual void SetRobot (Robot *const _r)
 
 Constraint (Robot *const _r)
 
virtual ~Constraint ()
 

Protected Attributes

Internal State
std::unique_ptr< Boundarym_boundary
 The boundary for this constraint. More...
 
- Protected Attributes inherited from Constraint
Robotm_robot {nullptr}
 The subject of this constraint. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Constraint
static std::unique_ptr< ConstraintFactory (Robot *const _r, XMLNode &_node, Environment *_env=nullptr)
 

Detailed Description

A robot satisfies this constraint if it passes the 'is inside' boundary check. Various boundary types may be considered.

Constructor & Destructor Documentation

◆ BoundaryConstraint() [1/3]

BoundaryConstraint::BoundaryConstraint ( Robot *const  _r,
std::unique_ptr< Boundary > &&  _b 
)
explicit

Construct a constraint from a specific boundary.

Parameters
_rThe robot to constrain.
_bThe boundary.

◆ BoundaryConstraint() [2/3]

BoundaryConstraint::BoundaryConstraint ( Robot *const  _r,
XMLNode _node 
)
explicit

Construct a constraint from an XML node.

Parameters
_rThe robot to constrain.
_nodeThe node to parse.

◆ BoundaryConstraint() [3/3]

BoundaryConstraint::BoundaryConstraint ( const BoundaryConstraint _other)

◆ ~BoundaryConstraint()

BoundaryConstraint::~BoundaryConstraint ( )
virtualdefault

Member Function Documentation

◆ Clone()

std::unique_ptr< Constraint > BoundaryConstraint::Clone ( ) const
overridevirtual

Copy this constraint.

Returns
A copy of this constraint.

Implements Constraint.

Reimplemented in CSpaceConstraint.

◆ GetBoundary()

const Boundary * BoundaryConstraint::GetBoundary ( ) const
overridevirtual

Get a sampling boundary that describes the subset of CSpace allowed by this constraint.

Note
Many constraints can be described in terms of boundaries, but some cannot (such as constraints with ordering requirements). If the constraint can't be represented as a boundary, this will return a null pointer.

Implements Constraint.

◆ Satisfied()

bool BoundaryConstraint::Satisfied ( const Cfg _c) const
overridevirtual

Determine whether a given configuration of the robot satisfies this constraint.

Parameters
_cThe configuration to check.
Returns
True if _c satisfies this constraint.

Implements Constraint.

Field Documentation

◆ m_boundary

std::unique_ptr<Boundary> BoundaryConstraint::m_boundary
protected

The boundary for this constraint.


The documentation for this class was generated from the following files: