ompl::control::PlannerData Class Reference

This class assumes edges are derived from PlannerDataEdgeControl. If this is not the case, see base::PlannerData. More...

#include <ompl/control/PlannerData.h>

Inheritance diagram for ompl::control::PlannerData:

List of all members.

Public Member Functions

 PlannerData (const SpaceInformationPtr &siC)
 Constructor. Accepts a SpaceInformationPtr for the space planned in.
virtual ~PlannerData ()
 Destructor.
virtual bool removeVertex (const base::PlannerDataVertex &st)
 Removes the vertex associated with the given data. If the vertex does not exist, false is returned. This method has O(n) complexity in the number of vertices.
virtual bool removeVertex (unsigned int vIndex)
 Removes the vertex with the given index. If the index is out of range, false is returned. This method has O(n) complexity in the number of vertices.
virtual bool removeEdge (unsigned int v1, unsigned int v2)
 Removes the edge between vertex indexes v1 and v2. Success is returned.
virtual bool removeEdge (const base::PlannerDataVertex &v1, const base::PlannerDataVertex &v2)
 Removes the edge between the vertices associated with the given vertex data. Success is returned.
virtual void clear ()
 Clears the entire data structure.
virtual void decoupleFromPlanner ()
 Creates a deep copy of the states contained in the vertices of this PlannerData structure so that when the planner that created this instance goes out of scope, all data remains intact.
const SpaceInformationPtrgetSpaceInformation () const
 Return the instance of SpaceInformation used in this PlannerData.
virtual bool hasControls () const
 Returns true if this PlannerData instance has controls associated with it.

Protected Attributes

SpaceInformationPtr siC_
 The instance of control::SpaceInformation associated with this data.
std::set< Control * > decoupledControls_
 A list of controls that are allocated during the decoupleFromPlanner method. These controls are freed by PlannerData in the destructor.

Detailed Description

This class assumes edges are derived from PlannerDataEdgeControl. If this is not the case, see base::PlannerData.

Object containing planner generated vertex and edge data. It is assumed that all vertices are unique, and only a single directed edge connects two vertices.

Note:
The storage for states this class maintains belongs to the planner instance that filled the data (by default; see PlannerData::decoupleFromPlanner())

Definition at line 111 of file PlannerData.h.


Member Function Documentation

Creates a deep copy of the states contained in the vertices of this PlannerData structure so that when the planner that created this instance goes out of scope, all data remains intact.

Remarks:
Shallow state pointers inside of the PlannerDataVertex objects already in this PlannerData will be replaced with clones which are scoped to this PlannerData object. A subsequent call to this method is necessary after any other vertices are added to ensure that this PlannerData instance is fully decoupled.

Reimplemented from base::PlannerData.

Definition at line 112 of file PlannerData.cpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines