base::Goal Class Reference

Abstract definition of goals. More...

#include <ompl/base/Goal.h>

Inheritance diagram for base::Goal:

List of all members.

Public Member Functions

 Goal (const SpaceInformationPtr &si)
 Constructor. The goal must always know the space information it is part of.
virtual ~Goal ()
 Destructor.
template<class T >
T * as ()
 Cast this instance to a desired type.
template<class T >
const T * as () const
 Cast this instance to a desired type.
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 SpaceInformationPtr & getSpaceInformation () 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.
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 63 of file Goal.h.


Member Function Documentation

template<class T >
T* 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.

template<class T >
const T* 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.

bool 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 base::GoalRegion.

Definition at line 45 of file Goal.cpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines