37 #ifndef OMPL_BASE_GOAL_
38 #define OMPL_BASE_GOAL_
40 #include "ompl/base/State.h"
41 #include "ompl/base/SpaceInformation.h"
42 #include "ompl/util/ClassForward.h"
43 #include "ompl/base/GoalTypes.h"
46 #include <boost/concept_check.hpp>
55 OMPL_CLASS_FORWARD(Goal);
67 Goal &operator=(
const Goal &) =
delete;
80 BOOST_CONCEPT_ASSERT((boost::Convertible<T *, Goal *>));
82 return static_cast<T *
>(
this);
90 BOOST_CONCEPT_ASSERT((boost::Convertible<T *, Goal *>));
92 return static_cast<const T *
>(
this);
104 return (
type_ & type) == type;
142 virtual void print(std::ostream &out = std::cout)
const;
Definition of an abstract state.
virtual void print(std::ostream &out=std::cout) const
Print information about the goal.
SpaceInformationPtr si_
The space information for this goal.
GoalType getType() const
Return the goal type.
T * as()
Cast this instance to a desired type.
virtual ~Goal()=default
Destructor.
const SpaceInformationPtr & getSpaceInformation() const
Get the space information this goal is for.
bool hasType(GoalType type) const
Check if this goal can be cast to a particular goal type.
virtual bool isSatisfied(const State *st) const =0
Return true if the state satisfies the goal constraints.
const T * as() const
Cast this instance to a desired type.
Abstract definition of goals.
virtual bool isStartGoalPairValid(const State *, const State *) const
Since there can be multiple starting states (and multiple goal states) it is possible certain pairs a...
GoalType
The type of goal.
Main namespace. Contains everything in this library.