4 std::vector<RRTNode *> RRTExt3::path()
6 if (this->orig_path().size() == 0) {
7 this->orig_path_ = RRTS::path();
9 class DijkstraNode : public RRTNode {
11 DijkstraNode *s = nullptr;
23 using RRTNode::RRTNode;
25 DijkstraNode *p_ = nullptr;
26 DijkstraNode *p() const { return this->p_; }
27 void p(DijkstraNode *p) { this->p_ = p; }
29 class DijkstraNodeComparator {
32 const DijkstraNode &n1,
33 const DijkstraNode &n2
39 std::vector<RRTNode *> path;
40 for (auto n: this->orig_path()) {
41 if (n->t(RRTNodeType::cusp) || n->t(RRTNodeType::connected))
44 path.push_back(this->orig_path().back());
47 std::vector<DijkstraNode>,
48 DijkstraNodeComparator
51 DijkstraNode f = pq.top();