PPL API Reference
Overview Core Algorithm Abstractions Utilities Parallel Methods
Modules Class Hierarchy Classes Functions
Todo List Bug List Dead Code
List of all members
BoundaryConstraint Class Reference

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
 
Constraint Interface
virtual void SetRobot (Robot *const _r)
 

Static Public Member Functions

Construction
static std::unique_ptr< ConstraintFactory (Robot *const _r, XMLNode &_node)
 

Protected Attributes

Internal State
std::unique_ptr< Boundarym_boundary
 The boundary for this constraint.
 
Internal State
Robotm_robot {nullptr}
 The subject of this constraint.
 

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/2]

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/2]

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

Construct a constraint from an XML node.

Parameters
_rThe robot to constrain.
_nodeThe node to parse.

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.

◆ Factory()

std::unique_ptr< Constraint > Constraint::Factory ( Robot *const  _r,
XMLNode _node 
)
staticinherited

Construct a constraint of the appropriate type from an XML node.

Parameters
_rThe robot to which the constraint applies.
_nodeThe XML node to parse.
Returns
A constraint for _r of the type/parameters described by _node.

◆ SetRobot()

void Constraint::SetRobot ( Robot *const  _r)
virtualinherited

Change the subject of this constraint.

Parameters
_rThe new robot to constrain, or null to represent any robot.

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