]> rtime.felk.cvut.cz Git - hubacji1/rrts.git/blob - incl/rrtsp.hh
2b526dcd167cd8976b0da95464d2e7fbd3ccd9b8
[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 P39 : public RRTExt2, public RRTExt8, public RRTExt10, public RRTExt14,
18                 public RRTExt15, public RRTExt16, public RRTExt17,
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 P38 : public RRTExt2, public RRTExt8, public RRTExt10, public RRTExt14,
41                 public RRTExt15, public RRTExt16, public RRTExt18,
42                 public RRTExt13 {
43 public:
44         Json::Value json() const
45         {
46                 auto jvo = RRTExt13::json();
47                 auto json15 = RRTExt15::json();
48                 jvo["log_path_cost"] = json15["log_path_cost"];
49                 return jvo;
50         }
51         void json(Json::Value jvi)
52         {
53                 RRTExt2::json(jvi);
54         }
55         void reset()
56         {
57                 RRTExt8::reset();
58                 RRTExt14::reset();
59                 RRTExt13::reset();
60         }
61 };
62
63 class P37 : public RRTExt2, public RRTExt8, public RRTExt10, public RRTExt14,
64                 public RRTExt15, public RRTExt16, public RRTExt18 {
65 public:
66         Json::Value json() const
67         {
68                 return RRTExt15::json();
69         }
70         void json(Json::Value jvi)
71         {
72                 RRTExt2::json(jvi);
73         }
74         void reset()
75         {
76                 RRTExt8::reset();
77                 RRTExt14::reset();
78         }
79 };
80
81 class P36 : public RRTExt2, public RRTExt8, public RRTExt10, public RRTExt14,
82                 public RRTExt15, public RRTExt16, public RRTExt17 {
83 public:
84         Json::Value json() const
85         {
86                 return RRTExt15::json();
87         }
88         void json(Json::Value jvi)
89         {
90                 RRTExt2::json(jvi);
91         }
92         void reset()
93         {
94                 RRTExt8::reset();
95                 RRTExt14::reset();
96         }
97 };
98
99 } // namespace rrts
100 #endif /* RRTS_RRTCE_H */