37 #ifndef OMPL_BASE_PATH_
38 #define OMPL_BASE_PATH_
40 #include "ompl/util/ClassForward.h"
41 #include "ompl/base/Cost.h"
43 #include <boost/noncopyable.hpp>
51 OMPL_CLASS_FORWARD(SpaceInformation);
55 OMPL_CLASS_FORWARD(OptimizationObjective);
60 OMPL_CLASS_FORWARD(Path);
67 class Path :
private boost::noncopyable
88 virtual double length(
void)
const = 0;
95 virtual bool check(
void)
const = 0;
98 virtual void print(std::ostream &out)
const = 0;
virtual ~Path(void)
Destructor.
Path(const SpaceInformationPtr &si)
Constructor. A path must always know the space information it is part of.
const SpaceInformationPtr & getSpaceInformation(void) const
Get the space information associated to this class.
virtual bool check(void) const =0
Check if the path is valid.
SpaceInformationPtr si_
The space information this path is part of.
virtual Cost cost(const OptimizationObjectivePtr &obj) const
Return the cost of the path with respect to a specified optimization objective.
Definition of a cost value. Can represent the cost of a motion or the cost of a state.
Abstract definition of a path.
virtual void print(std::ostream &out) const =0
Print the path to a stream.
A boost shared pointer wrapper for ompl::base::OptimizationObjective.
virtual double length(void) const =0
Return the length of a path.