hpp-core: Porting notes

hpp-core 9.0.2 Implement basic classes for canonical path planning for kinematic chains.

Loading...
Searching...
No Matches
Porting notes

how to upgrade user's code when switching to a more recent version of hpp-core.

# Porting from version 3.1 to version 3.2

## Modification in validation

reports

Validation reports used to be passed by reference to validation methods. This avoided unnecessary dynamic allocation since the user would create a report of the right type and call the validation method. This strategy however is not scalable to an extension of the hierarchy of validation methods and of validation reports. For this reason the following modifications have been done.

The following methods related to configuration validation have been removed

- virtual bool ConfigValidation::validate (const Configuration_t&
  config, bool throwIfInValid) = 0
- virtual bool
  ConfigValidation::validate (const Configuration_t& config, ValidationReport&
  validationReport, bool throwIfInValid) = 0

- virtual bool ConfigValidations::validate (const Configuration_t&
  config, bool throwIfInValid)
- virtual bool
  ConfigValidations::validate (const Configuration_t& config, ValidationReport&
  validationReport, bool throwIfInValid)

- virtual bool CollisionValidation::validate (const Configuration_t&
  config, bool throwIfInValid)
- virtual bool
  CollisionValidation::validate (const Configuration_t& config, ValidationReport&
  validationReport, bool throwIfInValid)

- virtual bool JointBoundValidation::validate (const Configuration_t&
  config, bool throwIfInValid)
- virtual bool
  JointBoundValidation::validate (const Configuration_t& config, ValidationReport&
  validationReport, bool throwIfInValid)

Methods taking a `ValidationReportPtr_t&` as second argument should be used instead.

The following methods related to path validation have been removed

- virtual bool PathValidation::validate (const PathPtr_t& path, bool
  reverse, PathPtr_t& validPart) = 0
- virtual bool
  PathValidation::validate (const PathPtr_t& path, bool reverse, PathPtr_t&
  validPart, ValidationReport& report) = 0

- virtual bool DiscretizedCollisionChecking::validate (const PathPtr_t&
  path, bool reverse, PathPtr_t& validPart)
- virtual bool
  DiscretizedCollisionChecking::validate (const PathPtr_t& path, bool reverse,
  PathPtr_t& validPart, ValidationReport& validationReport)

- virtual bool continuousCollisionChecking::Dichotomy::validate (const
  PathPtr_t& path, bool reverse, PathPtr_t& validPart)
- virtual
  bool continuousCollisionChecking::Dichotomy::validate (const PathPtr_t& path,
  bool reverse, PathPtr_t& validPart, ValidationReport& validationReport)

- virtual bool continuousCollisionChecking::Progressive::validate (const
  PathPtr_t& path, bool reverse, PathPtr_t& validPart)
- virtual
  bool continuousCollisionChecking::Progressive::validate (const PathPtr_t& path,
  bool reverse, PathPtr_t& validPart, ValidationReport& validationReport)

Methods taking a reference to a `PathValidationReportPtr_t` as fourth argument should be used instead.