Loading...
Searching...
No Matches
ompl::base::StateValidityChecker Class Referenceabstract

Abstract definition for a class checking the validity of states. The implementation of this class must be thread safe. More...

#include <ompl/base/StateValidityChecker.h>

Inheritance diagram for ompl::base::StateValidityChecker:

Public Member Functions

 StateValidityChecker (SpaceInformation *si)
 Constructor.
 StateValidityChecker (const SpaceInformationPtr &si)
 Constructor.
virtual bool isValid (const State *state) const =0
 Return true if the state state is valid. Usually, this means at least collision checking. If it is possible that ompl::base::StateSpace::interpolate() or ompl::control::ControlSpace::propagate() return states that are outside of bounds, this function should also make a call to ompl::base::SpaceInformation::satisfiesBounds().
virtual bool isValid (const State *state, double &dist) const
 Return true if the state state is valid. In addition, set dist to the distance to the nearest invalid state.
virtual bool isValid (const State *state, double &dist, State *validState, bool &validStateAvailable) const
 Return true if the state state is valid. In addition, set dist to the distance to the nearest invalid state (using clearance()). If a direction that moves state away from being invalid is available, a valid state in that direction is also set (validState). validStateAvailable is set to true if validState is updated.
virtual double clearance (const State *) const
 Report the distance to the nearest invalid state when starting from state. If the distance is negative, the value of clearance is the penetration depth.
virtual double clearance (const State *state, State *, bool &validStateAvailable) const
 Report the distance to the nearest invalid state when starting from state, and if possible, also specify a valid state validState in the direction that moves away from the colliding state. The validStateAvailable flag is set to true if validState is updated.
const StateValidityCheckerSpecsgetSpecs () const
 Return the specifications (capabilities of this state validity checker)
virtual bool operator== (const StateValidityChecker &) const
 Checks for equivalence between two Statevaliditycheckers.
bool operator!= (const StateValidityChecker &rhs) const

Protected Attributes

SpaceInformationsi_
 The instance of space information this state validity checker operates on.
StateValidityCheckerSpecs specs_
 The specifications of the state validity checker (its capabilities)

Detailed Description

Abstract definition for a class checking the validity of states. The implementation of this class must be thread safe.

Definition at line 90 of file StateValidityChecker.h.

Constructor & Destructor Documentation

◆ StateValidityChecker() [1/2]

ompl::base::StateValidityChecker::StateValidityChecker ( SpaceInformation * si)
inline

Constructor.

Definition at line 94 of file StateValidityChecker.h.

◆ StateValidityChecker() [2/2]

ompl::base::StateValidityChecker::StateValidityChecker ( const SpaceInformationPtr & si)
inline

Constructor.

Definition at line 99 of file StateValidityChecker.h.

Member Function Documentation

◆ clearance() [1/2]

virtual double ompl::base::StateValidityChecker::clearance ( const State * ) const
inlinevirtual

Report the distance to the nearest invalid state when starting from state. If the distance is negative, the value of clearance is the penetration depth.

Definition at line 136 of file StateValidityChecker.h.

◆ clearance() [2/2]

virtual double ompl::base::StateValidityChecker::clearance ( const State * state,
State * ,
bool & validStateAvailable ) const
inlinevirtual

Report the distance to the nearest invalid state when starting from state, and if possible, also specify a valid state validState in the direction that moves away from the colliding state. The validStateAvailable flag is set to true if validState is updated.

Definition at line 144 of file StateValidityChecker.h.

◆ getSpecs()

const StateValidityCheckerSpecs & ompl::base::StateValidityChecker::getSpecs ( ) const
inline

Return the specifications (capabilities of this state validity checker)

Definition at line 151 of file StateValidityChecker.h.

◆ isValid() [1/3]

virtual bool ompl::base::StateValidityChecker::isValid ( const State * state) const
pure virtual

Return true if the state state is valid. Usually, this means at least collision checking. If it is possible that ompl::base::StateSpace::interpolate() or ompl::control::ControlSpace::propagate() return states that are outside of bounds, this function should also make a call to ompl::base::SpaceInformation::satisfiesBounds().

Implemented in HyperCubeValidityChecker, KinematicChainValidityChecker, ompl::base::AllValidStateValidityChecker, ompl::base::MorseStateValidityChecker, ompl::control::OpenDEStateValidityChecker, PlanarManipulatorCollisionChecker, R2CollisionChecker, and SE2CollisionChecker.

◆ isValid() [2/3]

virtual bool ompl::base::StateValidityChecker::isValid ( const State * state,
double & dist ) const
inlinevirtual

Return true if the state state is valid. In addition, set dist to the distance to the nearest invalid state.

Definition at line 115 of file StateValidityChecker.h.

◆ isValid() [3/3]

virtual bool ompl::base::StateValidityChecker::isValid ( const State * state,
double & dist,
State * validState,
bool & validStateAvailable ) const
inlinevirtual

Return true if the state state is valid. In addition, set dist to the distance to the nearest invalid state (using clearance()). If a direction that moves state away from being invalid is available, a valid state in that direction is also set (validState). validStateAvailable is set to true if validState is updated.

Definition at line 128 of file StateValidityChecker.h.

◆ operator!=()

bool ompl::base::StateValidityChecker::operator!= ( const StateValidityChecker & rhs) const
inline

Definition at line 162 of file StateValidityChecker.h.

◆ operator==()

virtual bool ompl::base::StateValidityChecker::operator== ( const StateValidityChecker & ) const
inlinevirtual

Checks for equivalence between two Statevaliditycheckers.

Definition at line 158 of file StateValidityChecker.h.

Member Data Documentation

◆ si_

SpaceInformation* ompl::base::StateValidityChecker::si_
protected

The instance of space information this state validity checker operates on.

Definition at line 170 of file StateValidityChecker.h.

◆ specs_

StateValidityCheckerSpecs ompl::base::StateValidityChecker::specs_
protected

The specifications of the state validity checker (its capabilities)

Definition at line 173 of file StateValidityChecker.h.


The documentation for this class was generated from the following file: