hpp::core::PathValidation Class Reference

Abstraction of path validation. More...

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

Inheritance diagram for hpp::core::PathValidation:

List of all members.

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.
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.
virtual void addObstacle (const CollisionObjectPtr_t &)
 Add an obstacle.
virtual void removeObstacleFromJoint (const JointPtr_t &, const CollisionObjectPtr_t &)
 Remove a collision pair between a joint and an obstacle.

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

hpp::core::PathValidation::PathValidation ( ) [inline, protected]

Member Function Documentation

virtual void hpp::core::PathValidation::addObstacle ( const CollisionObjectPtr_t ) [inline, virtual]

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.

virtual void hpp::core::PathValidation::removeObstacleFromJoint ( const JointPtr_t ,
const CollisionObjectPtr_t  
) [inline, virtual]

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.

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.

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.