]> rtime.felk.cvut.cz Git - hubacji1/rrts.git/commitdiff
Add rrtext3 to compound extensions 18 - 33
authorJiri Vlasak <hubacji1@fel.cvut.cz>
Sun, 29 Mar 2020 18:34:10 +0000 (20:34 +0200)
committerJiri Vlasak <hubacji1@fel.cvut.cz>
Sun, 29 Mar 2020 18:34:10 +0000 (20:34 +0200)
CHANGELOG.md
README.md
api/rrtce.h
api/rrtext.h
src/rrtext3.cc

index 81db65fcda30ab32ebf2263df299baafdfcf698f..40b0d60aa17ea40ff3ec47fbd12d497a7869f9c8 100644 (file)
@@ -15,6 +15,7 @@ The format is based on [Keep a Changelog][] and this project adheres to
 
 ### Changed
 - Reformat lists in readme.
+- Add `RRTExt3` to compound extensions 18 - 33.
 
 ## 0.3.1 - 2020-01-03
 ### Fixed
index 08623a9b075ba6b54143cd404d7929808bfecfb6..3bd2f9e460ae426ec20793e57bd616901db6d90c 100644 (file)
--- a/README.md
+++ b/README.md
@@ -54,9 +54,9 @@ number accomply to file `src/rrtextN.cc` where `N` is:
 There is a list of classes with reference to extensions used. The extensio
 number accomply to class `RRTCEn` where `n` is:
 
-1.  cute, RS-H.
-2.  cute, RS-E.
-3.  cute, RS-RS.
+1.  cute, Dijkstra, RS-H.
+2.  cute, Dijkstra, RS-E.
+3.  cute, Dijkstra, RS-RS.
 4.  RS-H, cute, 2D grid.
 5.  cute, 2D grid, RS-E.
 6.  cute, 2D grid, RS-RS.
@@ -70,27 +70,27 @@ number accomply to class `RRTCEn` where `n` is:
 14. cute, Dijkstra, 3D tree, RS-H.
 15. cute, Dijkstra, 3D grid, RS-RS.
 16. cute, Dijkstra, 3D grid, RS-H.
-17. cute, RS-B.
-
-18. cute, 2D grid, RS-RS
-19. cute, 2D grid, RS-E
-20. cute, 2D grid, RS-H
-21. cute, 2D grid, RS-B
-
-22. cute, 2D tree, RS-RS
-23. cute, 2D tree, RS-E
-24. cute, 2D tree, RS-H
-25. cute, 2D tree, RS-B
-
-26. cute, 3D grid, RS-RS
-27. cute, 3D grid, RS-E
-28. cute, 3D grid, RS-H
-29. cute, 3D grid, RS-B
-
-30. cute, 3D tree, RS-RS
-31. cute, 3D tree, RS-E
-32. cute, 3D tree, RS-H
-33. cute, 3D tree, RS-B
+17. cute, Dijkstra, RS-B.
+
+18. cute, Dijkstra, 2D grid, RS-RS
+19. cute, Dijkstra, 2D grid, RS-E
+20. cute, Dijkstra, 2D grid, RS-H
+21. cute, Dijkstra, 2D grid, RS-B
+
+22. cute, Dijkstra, 2D tree, RS-RS
+23. cute, Dijkstra, 2D tree, RS-E
+24. cute, Dijkstra, 2D tree, RS-H
+25. cute, Dijkstra, 2D tree, RS-B
+
+26. cute, Dijkstra, 3D grid, RS-RS
+27. cute, Dijkstra, 3D grid, RS-E
+28. cute, Dijkstra, 3D grid, RS-H
+29. cute, Dijkstra, 3D grid, RS-B
+
+30. cute, Dijkstra, 3D tree, RS-RS
+31. cute, Dijkstra, 3D tree, RS-E
+32. cute, Dijkstra, 3D tree, RS-H
+33. cute, Dijkstra, 3D tree, RS-B
 
 # Contribute
 Use [OneFlow][3] branching model and keep the [changelog][4].
index e62f74f282aa48fa62b74fba3a100f71fcedde51..e7ac61e49008eb1f8dd6372a96ee91c45efa2d96 100644 (file)
@@ -13,6 +13,7 @@ Compound extensions have no implementation.
 
 class RRTCE33
         : public RRTExt2
+        , public RRTExt3
         , public RRTExt8
         , public RRTExt10
 {
@@ -30,6 +31,7 @@ class RRTCE33
 };
 class RRTCE32
         : public RRTExt2
+        , public RRTExt3
         , public RRTExt8
         , public RRTExt1
 {
@@ -47,6 +49,7 @@ class RRTCE32
 };
 class RRTCE31
         : public RRTExt2
+        , public RRTExt3
         , public RRTExt8
         , public RRTExt5
 {
@@ -64,6 +67,7 @@ class RRTCE31
 };
 class RRTCE30
         : public RRTExt2
+        , public RRTExt3
         , public RRTExt8
         , public RRTExt6
 {
@@ -82,6 +86,7 @@ class RRTCE30
 
 class RRTCE29
         : public RRTExt2
+        , public RRTExt3
         , public RRTExt9
         , public RRTExt10
 {
@@ -99,6 +104,7 @@ class RRTCE29
 };
 class RRTCE28
         : public RRTExt2
+        , public RRTExt3
         , public RRTExt9
         , public RRTExt1
 {
@@ -116,6 +122,7 @@ class RRTCE28
 };
 class RRTCE27
         : public RRTExt2
+        , public RRTExt3
         , public RRTExt9
         , public RRTExt5
 {
@@ -133,6 +140,7 @@ class RRTCE27
 };
 class RRTCE26
         : public RRTExt2
+        , public RRTExt3
         , public RRTExt9
         , public RRTExt6
 {
@@ -151,6 +159,7 @@ class RRTCE26
 
 class RRTCE25
         : public RRTExt2
+        , public RRTExt3
         , public RRTExt7
         , public RRTExt10
 {
@@ -168,6 +177,7 @@ class RRTCE25
 };
 class RRTCE24
         : public RRTExt2
+        , public RRTExt3
         , public RRTExt7
         , public RRTExt1
 {
@@ -185,6 +195,7 @@ class RRTCE24
 };
 class RRTCE23
         : public RRTExt2
+        , public RRTExt3
         , public RRTExt7
         , public RRTExt5
 {
@@ -202,6 +213,7 @@ class RRTCE23
 };
 class RRTCE22
         : public RRTExt2
+        , public RRTExt3
         , public RRTExt7
         , public RRTExt6
 {
@@ -220,6 +232,7 @@ class RRTCE22
 
 class RRTCE21
         : public RRTExt2
+        , public RRTExt3
         , public RRTExt4
         , public RRTExt10
 {
@@ -237,6 +250,7 @@ class RRTCE21
 };
 class RRTCE20
         : public RRTExt2
+        , public RRTExt3
         , public RRTExt4
         , public RRTExt1
 {
@@ -254,6 +268,7 @@ class RRTCE20
 };
 class RRTCE19
         : public RRTExt2
+        , public RRTExt3
         , public RRTExt4
         , public RRTExt5
 {
@@ -271,6 +286,7 @@ class RRTCE19
 };
 class RRTCE18
         : public RRTExt2
+        , public RRTExt3
         , public RRTExt4
         , public RRTExt6
 {
@@ -287,7 +303,7 @@ class RRTCE18
                 }
 };
 
-class RRTCE17 : public RRTExt2, public RRTExt10 {};
+class RRTCE17 : public RRTExt2, public RRTExt3, public RRTExt10 {};
 class RRTCE16
         : public RRTExt2
         , public RRTExt3
@@ -507,8 +523,8 @@ class RRTCE4 : public RRTExt1, public RRTExt2, public RRTExt4 {
                         RRTExt4::deinit();
                 }
 };
-class RRTCE3 : public RRTExt2, public RRTExt6 {};
-class RRTCE2 : public RRTExt2, public RRTExt5 {};
-class RRTCE1 : public RRTExt1, public RRTExt2 {};
+class RRTCE3 : public RRTExt2, public RRTExt3, public RRTExt6 {};
+class RRTCE2 : public RRTExt2, public RRTExt3, public RRTExt5 {};
+class RRTCE1 : public RRTExt2, public RRTExt3, public RRTExt1 {};
 
 #endif /* RRTCE_H */
index 6350bf24300879eb8fde3d43fd352605ed0625e4..2597f1ea4b9d0b7ae40dc3a99e8fbd956922f347 100644 (file)
@@ -225,6 +225,8 @@ class RRTExt3 : public virtual RRTS {
                 double orig_path_cost_;
         public:
                 std::vector<RRTNode *> path();
+                Json::Value json();
+                void json(Json::Value jvi);
 
                 // getter, setter
                 std::vector<RRTNode *> &orig_path()
index f8c694c3f71fb52c9348106e4bd97569f89a4481..426137207104a4ba13fb7f967139069851fb1fc7 100644 (file)
@@ -105,3 +105,32 @@ std::vector<RRTNode *> RRTExt3::path()
         }
         return RRTS::path();
 }
+
+Json::Value RRTExt3::json()
+{
+        Json::Value jvo = RRTS::json();
+        jvo["orig_path_cost"] = this->orig_path_cost();
+        {
+                unsigned int cu = 0;
+                unsigned int co = 0;
+                unsigned int pcnt = 0;
+                for (auto n: this->path()) {
+                        jvo["orig_path"][pcnt][0] = n->x();
+                        jvo["orig_path"][pcnt][1] = n->y();
+                        jvo["orig_path"][pcnt][2] = n->h();
+                        if (n->t(RRTNodeType::cusp))
+                                cu++;
+                        if (n->t(RRTNodeType::connected))
+                                co++;
+                        pcnt++;
+                }
+                jvo["orig_cusps-in-path"] = cu;
+                jvo["orig_connecteds-in-path"] = co;
+        }
+        return jvo;
+}
+
+void RRTExt3::json(Json::Value jvi)
+{
+        return RRTS::json(jvi);
+}