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:
Collaboration diagram for hpp::manipulation::GraphPathValidation:

Public Member Functions

bool validate (const PathPtr_t &path, bool reverse, PathPtr_t &validPart)
 Check that the path is valid regarding the constraint graph and call the encapsulated PathValidation::validate. More...
 
virtual bool validate (const PathPtr_t &path, bool reverse, PathPtr_t &validPart, ValidationReport &report)
 Call the GraphPathValidation::validate without validation report. More...
 
void innerValidation (const PathValidationPtr_t &pathValidation)
 Set the encapsulated path validator. More...
 
const PathValidationPtr_t & innerValidation ()
 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 model::CollisionObjectPtr_t &obstacle)
 Remove a collision pair between a joint and an obstacle. More...
 

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 model::DevicePtr_t &robot, const value_type &stepSize)
 

Protected Member Functions

 GraphPathValidation (const PathValidationPtr_t &pathValidation)
 Constructor. More...
 

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

◆ GraphPathValidation()

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

Constructor.

Member Function Documentation

◆ addObstacle()

void hpp::manipulation::GraphPathValidation::addObstacle ( const hpp::core::CollisionObjectPtr_t &  )

◆ constraintGraph() [1/2]

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

Set the graph of constraints.

◆ constraintGraph() [2/2]

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

Get the graph of constraints.

◆ 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().

◆ innerValidation() [1/2]

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

Set the encapsulated path validator.

◆ innerValidation() [2/2]

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

Get the encapsulated path validator.

◆ removeObstacleFromJoint()

virtual void hpp::manipulation::GraphPathValidation::removeObstacleFromJoint ( const JointPtr_t joint,
const model::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().

◆ validate() [1/2]

bool hpp::manipulation::GraphPathValidation::validate ( const PathPtr_t &  path,
bool  reverse,
PathPtr_t &  validPart 
)

Check that the path is valid regarding the constraint graph and call the encapsulated PathValidation::validate.

◆ validate() [2/2]

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

Call the GraphPathValidation::validate without validation report.

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.