]> rtime.felk.cvut.cz Git - hubacji1/rrts.git/blob - incl/rrtsp.hh
c79fdc0994c59828ef16f7c019629701133134a1
[hubacji1/rrts.git] / incl / rrtsp.hh
1 /*
2  * SPDX-FileCopyrightText: 2021 Jiri Vlasak <jiri.vlasak.2@cvut.cz>
3  *
4  * SPDX-License-Identifier: GPL-3.0-only
5  */
6
7 /*! \brief RRT* planners.
8  *
9  * This file contains _to be used_ RRT* planners consisting of the RRT*
10  * extensions.
11  *
12  * RRT* planners have no implementation.
13  *
14  * \file
15  */
16 #ifndef RRTS_RRTCE_H
17 #define RRTS_RRTCE_H
18
19 #include "rrtext.hh"
20
21 namespace rrts {
22
23 class P39 : public RRTExt2, public RRTExt8, public RRTExt10, public RRTExt14,
24                 public RRTExt15, public RRTExt16, public RRTExt17,
25                 public RRTExt13 {
26 public:
27         Json::Value json() const
28         {
29                 auto jvo = RRTExt13::json();
30                 auto json15 = RRTExt15::json();
31                 jvo["log_path_cost"] = json15["log_path_cost"];
32                 return jvo;
33         }
34         void json(Json::Value jvi)
35         {
36                 RRTExt2::json(jvi);
37         }
38         void reset()
39         {
40                 RRTExt8::reset();
41                 RRTExt14::reset();
42                 RRTExt13::reset();
43         }
44 };
45
46 class P38 : public RRTExt2, public RRTExt8, public RRTExt10, public RRTExt14,
47                 public RRTExt15, public RRTExt16, public RRTExt18,
48                 public RRTExt13 {
49 public:
50         Json::Value json() const
51         {
52                 auto jvo = RRTExt13::json();
53                 auto json15 = RRTExt15::json();
54                 jvo["log_path_cost"] = json15["log_path_cost"];
55                 return jvo;
56         }
57         void json(Json::Value jvi)
58         {
59                 RRTExt2::json(jvi);
60         }
61         void reset()
62         {
63                 RRTExt8::reset();
64                 RRTExt14::reset();
65                 RRTExt13::reset();
66         }
67 };
68
69 class P37 : public RRTExt2, public RRTExt8, public RRTExt10, public RRTExt14,
70                 public RRTExt15, public RRTExt16, public RRTExt18 {
71 public:
72         Json::Value json() const
73         {
74                 return RRTExt15::json();
75         }
76         void json(Json::Value jvi)
77         {
78                 RRTExt2::json(jvi);
79         }
80         void reset()
81         {
82                 RRTExt8::reset();
83                 RRTExt14::reset();
84         }
85 };
86
87 class P36 : public RRTExt2, public RRTExt8, public RRTExt10, public RRTExt14,
88                 public RRTExt15, public RRTExt16, public RRTExt17 {
89 public:
90         Json::Value json() const
91         {
92                 return RRTExt15::json();
93         }
94         void json(Json::Value jvi)
95         {
96                 RRTExt2::json(jvi);
97         }
98         void reset()
99         {
100                 RRTExt8::reset();
101                 RRTExt14::reset();
102         }
103 };
104
105 } // namespace rrts
106 #endif /* RRTS_RRTCE_H */