]> rtime.felk.cvut.cz Git - hubacji1/iamcar.git/commitdiff
Add deleted nodes vector to RRTBase
authorJiri Hubacek <hubacji1@fel.cvut.cz>
Mon, 17 Sep 2018 15:35:54 +0000 (17:35 +0200)
committerJiri Hubacek <hubacji1@fel.cvut.cz>
Mon, 17 Sep 2018 15:35:54 +0000 (17:35 +0200)
base/rrtbase.cc
incl/rrtbase.h

index 0dc1ac9b5c166822f864c66a5b1fca47ec2bf9bb..91a917feb9bddcadd44c8fd874471873ba2c31e1 100644 (file)
@@ -25,6 +25,9 @@ RRTBase::~RRTBase()
         for (auto n: this->nodes_)
                 if (n != this->root_)
                         delete n;
+        for (auto n: this->dnodes_)
+                if (n != this->root_ && n != this->goal_)
+                        delete n;
         for (auto s: this->samples_)
                 if (s != this->goal_)
                         delete s;
@@ -63,6 +66,11 @@ std::vector<RRTNode *> &RRTBase::nodes()
         return this->nodes_;
 }
 
+std::vector<RRTNode *> &RRTBase::dnodes()
+{
+        return this->dnodes_;
+}
+
 std::vector<RRTNode *> &RRTBase::samples()
 {
         return this->samples_;
index cee16318dc48c0615ac16ce87f12433557e3c215..ba8c0e1d263087aa98b818fb690ef5e827531f81 100644 (file)
@@ -33,6 +33,7 @@ class RRTBase {
                 RRTNode *goal_ = nullptr;
 
                 std::vector<RRTNode *> nodes_;
+                std::vector<RRTNode *> dnodes_;
                 std::vector<RRTNode *> samples_;
                 std::vector<CircleObstacle> *cobstacles_;
                 std::vector<SegmentObstacle> *sobstacles_;
@@ -57,6 +58,7 @@ class RRTBase {
                 RRTNode *root();
                 RRTNode *goal();
                 std::vector<RRTNode *> &nodes();
+                std::vector<RRTNode *> &dnodes();
                 std::vector<RRTNode *> &samples();
                 std::vector<RRTNode *> iy_[IYSIZE];
                 std::vector<CircleObstacle> *cos();