37 #include "ompl/control/PlannerData.h"
55 unsigned int index = vertexIndex (st);
56 if (index == INVALID_INDEX)
59 std::map<unsigned int, const base::PlannerDataEdge*> edgeMap;
60 getEdges(index, edgeMap);
62 for (std::map<unsigned int, const base::PlannerDataEdge*>::iterator edgemapit = edgeMap.begin(); edgemapit != edgeMap.end(); ++edgemapit)
66 std::set<Control*>::iterator it = decoupledControls_.find(ctrl);
67 if (it != decoupledControls_.end())
69 siC_->freeControl(*it);
70 decoupledControls_.erase(it);
84 unsigned int index1, index2;
85 index1 = vertexIndex(v1);
86 index2 = vertexIndex(v2);
88 if (index1 == INVALID_INDEX || index2 == INVALID_INDEX)
94 std::set<Control*>::iterator it = decoupledControls_.find(ctrl);
95 if (it != decoupledControls_.end())
97 siC_->freeControl(*it);
98 decoupledControls_.erase(it);
109 decoupledControls_.clear();
116 for (
unsigned int i = 0; i < numVertices(); ++i)
118 for (
unsigned int j = 0; j < numVertices(); ++j)
120 if (edgeExists(i, j))
125 if (decoupledControls_.find(ctrl) == decoupledControls_.end())
127 Control *clone = siC_->cloneControl(ctrl);
128 decoupledControls_.insert(clone);
147 void ompl::control::PlannerData::freeMemory(
void)
149 for (std::set<Control*>::iterator it = decoupledControls_.begin(); it != decoupledControls_.end(); ++it)
150 siC_->freeControl(*it);