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

## Protected Attributes

GoalType type_
Goal type.

SpaceInformationPtr si_
The space information for this goal.

## Detailed Description

Abstract definition of goals.

Definition at line 62 of file Goal.h.

## ◆ 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 77 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 87 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
 st the state to check for validity distance location 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: