From: Jiri Vlasak Date: Sun, 29 Mar 2020 18:34:10 +0000 (+0200) Subject: Add rrtext3 to compound extensions 18 - 33 X-Git-Tag: v0.4.0~6 X-Git-Url: https://rtime.felk.cvut.cz/gitweb/hubacji1/rrts.git/commitdiff_plain/86b5725afc8eacb22ad2719763273fed617f2b2b Add rrtext3 to compound extensions 18 - 33 --- diff --git a/CHANGELOG.md b/CHANGELOG.md index 81db65f..40b0d60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/README.md b/README.md index 08623a9..3bd2f9e 100644 --- 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]. diff --git a/api/rrtce.h b/api/rrtce.h index e62f74f..e7ac61e 100644 --- a/api/rrtce.h +++ b/api/rrtce.h @@ -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 */ diff --git a/api/rrtext.h b/api/rrtext.h index 6350bf2..2597f1e 100644 --- a/api/rrtext.h +++ b/api/rrtext.h @@ -225,6 +225,8 @@ class RRTExt3 : public virtual RRTS { double orig_path_cost_; public: std::vector path(); + Json::Value json(); + void json(Json::Value jvi); // getter, setter std::vector &orig_path() diff --git a/src/rrtext3.cc b/src/rrtext3.cc index f8c694c..4261372 100644 --- a/src/rrtext3.cc +++ b/src/rrtext3.cc @@ -105,3 +105,32 @@ std::vector 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); +}