hpp::manipulation::GraphPathValidation Class Reference

Path validation for a constraint graph. More...

#include <hpp/manipulation/graph-path-validation.hh>

Inheritance diagram for hpp::manipulation::GraphPathValidation:
[legend]
Collaboration diagram for hpp::manipulation::GraphPathValidation:
[legend]

Public Member Functions

virtual bool validate (const PathPtr_t &path, bool reverse, PathPtr_t &validPart, PathValidationReportPtr_t &report)
 Check that path is valid regarding the constraint graph. More...
 
void innerValidation (const PathValidationPtr_t &pathValidation)
 Set the encapsulated path validator. More...
 
const PathValidationPtr_tinnerValidation ()
 Get the encapsulated path validator. More...
 
void constraintGraph (const graph::GraphPtr_t &graph)
 Set the graph of constraints. More...
 
graph::GraphPtr_t constraintGraph () const
 Get the graph of constraints. More...
 
void addObstacle (const hpp::core::CollisionObjectPtr_t &)
 
virtual void removeObstacleFromJoint (const JointPtr_t &joint, const pinocchio::CollisionObjectPtr_t &obstacle)
 Remove a collision pair between a joint and an obstacle. More...
 
- Public Member Functions inherited from hpp::core::PathValidation
virtual bool validate (const PathPtr_t &path, bool reverse, PathPtr_t &validPart, PathValidationReportPtr_t &report)=0
 
virtual void addObstacle (const CollisionObjectConstPtr_t &)
 
virtual void removeObstacleFromJoint (const JointPtr_t &, const CollisionObjectConstPtr_t &)
 
virtual void filterCollisionPairs (const RelativeMotion::matrix_type &)
 
virtual ~PathValidation ()
 

Static Public Member Functions

static GraphPathValidationPtr_t create (const PathValidationPtr_t &pathValidation)
 Create a new instance of this class. More...
 
template<typename T >
static GraphPathValidationPtr_t create (const pinocchio::DevicePtr_t &robot, const value_type &stepSize)
 

Protected Member Functions

 GraphPathValidation (const PathValidationPtr_t &pathValidation)
 Constructor. More...
 
- Protected Member Functions inherited from hpp::core::PathValidation
 PathValidation ()
 

Detailed Description

Path validation for a constraint graph.

This class encapsulates another path validation class. The encapsulated path validation is responsible for collision checking, whereas this class checks if a path is valid regarding the constraint graph.

Constructor & Destructor Documentation

hpp::manipulation::GraphPathValidation::GraphPathValidation ( const PathValidationPtr_t pathValidation)
protected

Constructor.

Member Function Documentation

void hpp::manipulation::GraphPathValidation::addObstacle ( const hpp::core::CollisionObjectPtr_t )
void hpp::manipulation::GraphPathValidation::constraintGraph ( const graph::GraphPtr_t graph)
inline

Set the graph of constraints.

graph::GraphPtr_t hpp::manipulation::GraphPathValidation::constraintGraph ( ) const
inline

Get the graph of constraints.

References create().

static GraphPathValidationPtr_t hpp::manipulation::GraphPathValidation::create ( const PathValidationPtr_t pathValidation)
static

Create a new instance of this class.

Parameters
pathValidationa PathValidation that is responsible for collision

Referenced by create(), and removeObstacleFromJoint().

void hpp::manipulation::GraphPathValidation::innerValidation ( const PathValidationPtr_t pathValidation)
inline

Set the encapsulated path validator.

const PathValidationPtr_t& hpp::manipulation::GraphPathValidation::innerValidation ( )
inline

Get the encapsulated path validator.

virtual void hpp::manipulation::GraphPathValidation::removeObstacleFromJoint ( const JointPtr_t joint,
const pinocchio::CollisionObjectPtr_t obstacle 
)
inlinevirtual

Remove a collision pair between a joint and an obstacle.

Parameters
jointthe joint that holds the inner objects,
obstaclethe obstacle to remove. collision configuration validation needs to know about obstacles. This virtual method does nothing for configuration validation methods that do not care about obstacles.

References create().

virtual bool hpp::manipulation::GraphPathValidation::validate ( const PathPtr_t path,
bool  reverse,
PathPtr_t validPart,
PathValidationReportPtr_t report 
)
virtual

Check that path is valid regarding the constraint graph.

Parameters
paththe path to check for validity,
reverseif true check from the end,
Return values
theextracted valid part of the path, pointer to path if path is valid,
reportinformation about the validation process. unused in this case,
Returns
whether the whole path is valid. Call the encapsulated PathValidation::validate.