hpp::core::PathValidation Class Referenceabstract

Abstraction of path validation. More...

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

Inheritance diagram for hpp::core::PathValidation:
[legend]

Public Member Functions

virtual bool validate (const PathPtr_t &path, bool reverse, PathPtr_t &validPart, PathValidationReportPtr_t &report)=0
 Compute the largest valid interval starting from the path beginning. More...
 
virtual void addObstacle (const CollisionObjectConstPtr_t &)
 Add an obstacle. More...
 
virtual void removeObstacleFromJoint (const JointPtr_t &, const CollisionObjectConstPtr_t &)
 Remove a collision pair between a joint and an obstacle. More...
 
virtual void filterCollisionPairs (const RelativeMotion::matrix_type &)
 
virtual ~PathValidation ()
 

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

virtual hpp::core::PathValidation::~PathValidation ( )
inlinevirtual

◆ PathValidation()

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

Member Function Documentation

◆ addObstacle()

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

Add an obstacle.

Parameters
objectobstacle added
Note
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::ContinuousValidation, hpp::core::pathValidation::Discretized, and hpp::core::PathValidations.

◆ filterCollisionPairs()

virtual void hpp::core::PathValidation::filterCollisionPairs ( const RelativeMotion::matrix_type )
inlinevirtual

◆ removeObstacleFromJoint()

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

Remove a collision pair between a joint and an obstacle.

Parameters
thejoint that holds the inner objects,
theobstacle to remove.
Note
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::ContinuousValidation, hpp::core::pathValidation::Discretized, and hpp::core::PathValidations.

◆ validate()

virtual bool hpp::core::PathValidation::validate ( const PathPtr_t path,
bool  reverse,
PathPtr_t validPart,
PathValidationReportPtr_t 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. A report is allocated if the path is not valid.
Returns
whether the whole path is valid.

Implemented in hpp::core::ContinuousValidation, hpp::core::pathValidation::Discretized, and hpp::core::PathValidations.