37 #ifndef OMPL_BASE_PLANNER_DATA_
38 #define OMPL_BASE_PLANNER_DATA_
44 #include "ompl/base/State.h"
45 #include "ompl/base/SpaceInformation.h"
46 #include "ompl/util/ClassForward.h"
47 #include <boost/noncopyable.hpp>
48 #include <boost/function.hpp>
49 #include <boost/serialization/access.hpp>
92 return !(*
this == rhs);
98 friend class boost::serialization::access;
99 template <
class Archive>
100 void serialize(Archive & ar,
const unsigned int version)
134 return !(*
this == rhs);
139 friend class boost::serialization::access;
140 template <
class Archive>
141 void serialize(Archive & ar,
const unsigned int version)
147 OMPL_CLASS_FORWARD(PlannerData);
154 class PlannerData : boost::noncopyable
164 typedef boost::function<double (const PlannerDataVertex&, const PlannerDataVertex&, const PlannerDataEdge&)>
EdgeWeightFn;
217 virtual bool addEdge (
unsigned int v1,
unsigned int v2,
226 virtual bool removeEdge (
unsigned int v1,
unsigned int v2);
231 virtual void clear (
void);
300 bool edgeExists (
unsigned int v1,
unsigned int v2)
const;
310 unsigned int getEdges (
unsigned int v, std::vector<unsigned int>& edgeList)
const;
313 unsigned int getEdges (
unsigned int v, std::map<unsigned int, const PlannerDataEdge*> &edgeMap)
const;
316 unsigned int getIncomingEdges (
unsigned int v, std::vector<unsigned int>& edgeList)
const;
320 unsigned int getIncomingEdges (
unsigned int v, std::map<unsigned int, const PlannerDataEdge*> &edgeMap)
const;
323 double getEdgeWeight (
unsigned int v1,
unsigned int v2)
const;
326 bool setEdgeWeight (
unsigned int v1,
unsigned int v2,
double weight);
339 void printGraphML (std::ostream& out = std::cout)
const;
397 void freeMemory(
void);