ompl::base::Goal Class Referenceabstract

Abstract definition of goals. More...

#include <ompl/base/Goal.h>

Inheritance diagram for ompl::base::Goal:

Public Member Functions

 Goal (const Goal &)=delete
 
Goaloperator= (const Goal &)=delete
 
 Goal (SpaceInformationPtr si)
 Constructor. The goal must always know the space information it is part of.
 
virtual ~Goal ()=default
 Destructor.
 
template<class T >
T * as ()
 Cast this instance to a desired type. More...
 
template<class T >
const T * as () const
 Cast this instance to a desired type. More...
 
GoalType getType () const
 Return the goal type.
 
bool hasType (GoalType type) const
 Check if this goal can be cast to a particular goal type.
 
const SpaceInformationPtrgetSpaceInformation () const
 Get the space information this goal is for.
 
virtual bool isSatisfied (const State *st) const =0
 Return true if the state satisfies the goal constraints.
 
virtual bool isSatisfied (const State *st, double *distance) const
 Return true if the state satisfies the goal constraints and compute the distance between the state given as argument and the goal (even if the goal is not satisfied). This distance can be an approximation. It can even be set to a constant, if such a computation is not possible. More...
 
virtual bool isStartGoalPairValid (const State *, const State *) const
 Since there can be multiple starting states (and multiple goal states) it is possible certain pairs are not to be allowed. By default we however assume all such pairs are allowed. Note: if this function returns true, isSatisfied() need not be called.
 
virtual void print (std::ostream &out=std::cout) const
 Print information about the goal.
 

Protected Attributes

GoalType type_
 Goal type.
 
SpaceInformationPtr si_
 The space information for this goal.
 

Detailed Description

Abstract definition of goals.

Definition at line 126 of file Goal.h.

Member Function Documentation

◆ as() [1/2]

template<class T >
T* ompl::base::Goal::as ( )
inline

Cast this instance to a desired type.

Make sure the type we are casting to is indeed a goal

Definition at line 141 of file Goal.h.

◆ as() [2/2]

template<class T >
const T* ompl::base::Goal::as ( ) const
inline

Cast this instance to a desired type.

Make sure the type we are casting to is indeed a goal

Definition at line 151 of file Goal.h.

◆ isSatisfied()

bool ompl::base::Goal::isSatisfied ( const State st,
double *  distance 
) const
virtual

Return true if the state satisfies the goal constraints and compute the distance between the state given as argument and the goal (even if the goal is not satisfied). This distance can be an approximation. It can even be set to a constant, if such a computation is not possible.

Parameters
stthe state to check for validity
distancelocation at which distance to goal will be stored
Note
The default implementation sets the distance to a constant.
If this function returns true, isStartGoalPairValid() need not be called.

Reimplemented in ompl::base::MorseGoal, and ompl::base::GoalRegion.

Definition at line 45 of file Goal.cpp.


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