Public Member Functions |
| Goal (const SpaceInformationPtr &si) |
| Constructor. The goal must always know the space information it is part of.
|
virtual | ~Goal (void) |
| Destructor.
|
template<class T > |
T * | as (void) |
| Cast this instance to a desired type.
|
template<class T > |
const T * | as (void) const |
| Cast this instance to a desired type.
|
GoalType | getType (void) 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 (void) 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.
|
bool | isSatisfied (const State *st, double pathLength, double *distance) const |
| Return true if the state satisfies the goal constraints and the path length is less than the desired maximum length. This call also computes the distance between the state given as argument and the goal.
|
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.
|
double | getMaximumPathLength (void) const |
| Get the maximum length allowed for a solution path.
|
void | setMaximumPathLength (double maximumPathLength) |
| Set the maximum length allowed for a solution path. This value is checked only in the version of isSatisfied() that takes the path length as argument or by isPathLengthSatisfied(). The default maximal path length is infinity.
|
bool | isPathLengthSatisfied (double pathLength) const |
| Check if pathLength is smaller than the value returned by getMaximumPathLength()
|
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.
|
double | maximumPathLength_ |
| The maximum length allowed for a solution path.
|
Abstract definition of goals.
Definition at line 63 of file Goal.h.