]> rtime.felk.cvut.cz Git - hubacji1/rrts.git/blob - incl/rrtsp.hh
Add planner 38
[hubacji1/rrts.git] / incl / rrtsp.hh
1 /*! \brief RRT* planners.
2  *
3  * This file contains _to be used_ RRT* planners consisting of the RRT*
4  * extensions.
5  *
6  * RRT* planners have no implementation.
7  *
8  * \file
9  */
10 #ifndef RRTS_RRTCE_H
11 #define RRTS_RRTCE_H
12
13 #include "rrtext.hh"
14
15 namespace rrts {
16
17 class P38 : public RRTExt2, public RRTExt8, public RRTExt10, public RRTExt14,
18                 public RRTExt15, public RRTExt16, public RRTExt18,
19                 public RRTExt13 {
20 public:
21         Json::Value json() const
22         {
23                 auto jvo = RRTExt13::json();
24                 auto json15 = RRTExt15::json();
25                 jvo["log_path_cost"] = json15["log_path_cost"];
26                 return jvo;
27         }
28         void json(Json::Value jvi)
29         {
30                 RRTExt2::json(jvi);
31         }
32         void reset()
33         {
34                 RRTExt8::reset();
35                 RRTExt14::reset();
36                 RRTExt13::reset();
37         }
38 };
39
40 class P37 : public RRTExt2, public RRTExt8, public RRTExt10, public RRTExt14,
41                 public RRTExt15, public RRTExt16, public RRTExt18 {
42 public:
43         Json::Value json() const
44         {
45                 return RRTExt15::json();
46         }
47         void json(Json::Value jvi)
48         {
49                 RRTExt2::json(jvi);
50         }
51         void reset()
52         {
53                 RRTExt8::reset();
54                 RRTExt14::reset();
55         }
56 };
57
58 class P36 : public RRTExt2, public RRTExt8, public RRTExt10, public RRTExt14,
59                 public RRTExt15, public RRTExt16, public RRTExt17 {
60 public:
61         Json::Value json() const
62         {
63                 return RRTExt15::json();
64         }
65         void json(Json::Value jvi)
66         {
67                 RRTExt2::json(jvi);
68         }
69         void reset()
70         {
71                 RRTExt8::reset();
72                 RRTExt14::reset();
73         }
74 };
75
76 } // namespace rrts
77 #endif /* RRTS_RRTCE_H */