]> rtime.felk.cvut.cz Git - hubacji1/rrts.git/blobdiff - api/rrtext.h
Add reset method, remove debug print
[hubacji1/rrts.git] / api / rrtext.h
index ddc8d1685b1f3e87b260a2e02420b00c27ff9170..4e1f825cbef208dfc7488f04e7f6fc7ba4831db5 100644 (file)
 /*! Use Dijkstra-based path optimization, goal zone for interesting nodes. */
 class RRTExt13 : public virtual RRTS {
         private:
+        public:
+                void reset();
                 std::vector<RRTNode *> orig_path_;
                 double orig_path_cost_ = 9999;
                 std::vector<RRTNode *> first_optimized_path_;
                 double first_optimized_path_cost_ = 9999;
-        public:
-                std::vector<RRTNode *> first_path_optimization();
-                std::vector<RRTNode *> second_path_optimization();
-                std::vector<RRTNode *> path();
+                void first_path_optimization();
+                void second_path_optimization();
+                void compute_path();
                 Json::Value json();
                 void json(Json::Value jvi);
 
@@ -159,8 +160,21 @@ class RRTExt8 : public virtual RRTS {
                 void delete_kd_nodes(KdNode *n);
                 void store_node(RRTNode *n, KdNode *&r, int l);
                 void nn(RRTNode *&n, RRTNode &t, KdNode *r, int l, double &d);
+                void nv(
+                        std::vector<RRTNode*>& n,
+                        RRTNode &t,
+                        KdNode *r,
+                        int l,
+                        double const& d
+                );
         public:
+                void delete_kd_nodes()
+                {
+                    this->delete_kd_nodes(this->kdroot_);
+                    this->kdroot_ = nullptr;
+                }
                 void init();
+                void reset();
                 void deinit();
                 void store_node(RRTNode n);
                 RRTNode *nn(RRTNode &t);
@@ -274,14 +288,15 @@ class RRTExt4 : public virtual RRTS {
 */
 class RRTExt3 : public virtual RRTS {
         private:
+        public:
+                void reset();
                 std::vector<RRTNode *> orig_path_;
                 double orig_path_cost_ = 9999;
                 std::vector<RRTNode *> first_optimized_path_;
                 double first_optimized_path_cost_ = 9999;
-        public:
-                std::vector<RRTNode *> first_path_optimization();
-                std::vector<RRTNode *> second_path_optimization();
-                std::vector<RRTNode *> path();
+                void first_path_optimization();
+                void second_path_optimization();
+                void compute_path();
                 Json::Value json();
                 void json(Json::Value jvi);