hpp::core::PathValidation Class Referenceabstract

Abstraction of path validation. More...

#include <hpp/core/path-validation.hh>

Inheritance diagram for hpp::core::PathValidation:

Public Member Functions

virtual bool validate (const PathPtr_t &path, bool reverse, PathPtr_t &validPart)=0
 Compute the largest valid interval starting from the path beginning. More...
 
virtual bool validate (const PathPtr_t &path, bool reverse, PathPtr_t &validPart, ValidationReport &report)=0
 Compute the largest valid interval starting from the path beginning. More...
 
virtual void addObstacle (const CollisionObjectPtr_t &)
 Add an obstacle. More...
 
virtual void removeObstacleFromJoint (const JointPtr_t &, const CollisionObjectPtr_t &)
 Remove a collision pair between a joint and an obstacle. More...
 

Protected Member Functions

 PathValidation ()
 

Detailed Description

Abstraction of path validation.

Instances of this class compute the latest valid configuration along a path.

Constructor & Destructor Documentation

◆ PathValidation()

hpp::core::PathValidation::PathValidation ( )
inlineprotected

Member Function Documentation

◆ addObstacle()

virtual void hpp::core::PathValidation::addObstacle ( const CollisionObjectPtr_t )
inlinevirtual

Add an obstacle.

Parameters
objectobstacle added collision path validation need to know about obstacles. This virtual method does nothing for path validation methods that do not care about obstacles.

Reimplemented in hpp::core::continuousCollisionChecking::Progressive, hpp::core::continuousCollisionChecking::Dichotomy, and hpp::core::DiscretizedCollisionChecking.

◆ removeObstacleFromJoint()

virtual void hpp::core::PathValidation::removeObstacleFromJoint ( const JointPtr_t ,
const CollisionObjectPtr_t  
)
inlinevirtual

Remove a collision pair between a joint and an obstacle.

Parameters
thejoint that holds the inner objects,
theobstacle 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.

Reimplemented in hpp::core::continuousCollisionChecking::Progressive, hpp::core::continuousCollisionChecking::Dichotomy, and hpp::core::DiscretizedCollisionChecking.

◆ validate() [1/2]

virtual bool hpp::core::PathValidation::validate ( const PathPtr_t path,
bool  reverse,
PathPtr_t validPart 
)
pure virtual

Compute the largest valid interval starting from the path beginning.

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.
Returns
whether the whole path is valid.

Implemented in hpp::core::continuousCollisionChecking::Dichotomy, hpp::core::continuousCollisionChecking::Progressive, and hpp::core::DiscretizedCollisionChecking.

◆ validate() [2/2]

virtual bool hpp::core::PathValidation::validate ( const PathPtr_t path,
bool  reverse,
PathPtr_t validPart,
ValidationReport report 
)
pure virtual

Compute the largest valid interval starting from the path beginning.

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. The type can be derived for specific implementation
Returns
whether the whole path is valid.

Implemented in hpp::core::continuousCollisionChecking::Progressive, hpp::core::continuousCollisionChecking::Dichotomy, and hpp::core::DiscretizedCollisionChecking.