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;
82 BOOST_CONCEPT_ASSERT((boost::Convertible<T*, Goal*>));
84 return static_cast<T*
>(
this);
92 BOOST_CONCEPT_ASSERT((boost::Convertible<T*, Goal*>));
94 return static_cast<const T*
>(
this);
106 return (
type_ & type) == type;
144 virtual void print(std::ostream &out = std::cout)
const;
virtual void print(std::ostream &out=std::cout) const
Print information about the goal.
const T * as() const
Cast this instance to a desired type.
Abstract definition of goals.
bool hasType(GoalType type) const
Check if this goal can be cast to a particular goal type.
virtual ~Goal()
Destructor.
Main namespace. Contains everything in this library.
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...
T * as()
Cast this instance to a desired type.
Definition of an abstract state.
virtual bool isSatisfied(const State *st) const =0
Return true if the state satisfies the goal constraints.
SpaceInformationPtr si_
The space information for this goal.
GoalType
The type of goal.
const SpaceInformationPtr & getSpaceInformation() const
Get the space information this goal is for.
GoalType getType() const
Return the goal type.