]> rtime.felk.cvut.cz Git - hubacji1/rrts.git/blob - api/rrtce.h
Merge branch 'feature/use-drivable-in-goal-zone'
[hubacji1/rrts.git] / api / rrtce.h
1 /*! \brief RRT compound extensions.
2
3 This file contains compound extensions. The goal is to merge multiple
4 extensions from `rrtext.h` in one.
5
6 Compound extensions have no implementation.
7 */
8 #ifndef RRTCE_H
9 #define RRTCE_H
10
11 #include "rrts.h"
12 #include "rrtext.h"
13
14 class RRTCE33
15         : public RRTExt2
16         , public RRTExt11
17         , public RRTExt3
18         , public RRTExt8
19         , public RRTExt10
20 {
21         public:
22                 void init()
23                 {
24                         RRTExt2::init();
25                         RRTExt8::init();
26                 }
27                 void deinit()
28                 {
29                         RRTExt2::deinit();
30                         RRTExt8::deinit();
31                 }
32 };
33 class RRTCE32
34         : public RRTExt2
35         , public RRTExt11
36         , public RRTExt3
37         , public RRTExt8
38         , public RRTExt1
39 {
40         public:
41                 void init()
42                 {
43                         RRTExt2::init();
44                         RRTExt8::init();
45                 }
46                 void deinit()
47                 {
48                         RRTExt2::deinit();
49                         RRTExt8::deinit();
50                 }
51 };
52 class RRTCE31
53         : public RRTExt2
54         , public RRTExt11
55         , public RRTExt3
56         , public RRTExt8
57         , public RRTExt5
58 {
59         public:
60                 void init()
61                 {
62                         RRTExt2::init();
63                         RRTExt8::init();
64                 }
65                 void deinit()
66                 {
67                         RRTExt2::deinit();
68                         RRTExt8::deinit();
69                 }
70 };
71 class RRTCE30
72         : public RRTExt2
73         , public RRTExt11
74         , public RRTExt3
75         , public RRTExt8
76         , public RRTExt6
77 {
78         public:
79                 void init()
80                 {
81                         RRTExt2::init();
82                         RRTExt8::init();
83                 }
84                 void deinit()
85                 {
86                         RRTExt2::deinit();
87                         RRTExt8::deinit();
88                 }
89 };
90
91 class RRTCE29
92         : public RRTExt2
93         , public RRTExt11
94         , public RRTExt3
95         , public RRTExt9
96         , public RRTExt10
97 {
98         public:
99                 void init()
100                 {
101                         RRTExt2::init();
102                         RRTExt9::init();
103                 }
104                 void deinit()
105                 {
106                         RRTExt2::deinit();
107                         RRTExt9::deinit();
108                 }
109 };
110 class RRTCE28
111         : public RRTExt2
112         , public RRTExt11
113         , public RRTExt3
114         , public RRTExt9
115         , public RRTExt1
116 {
117         public:
118                 void init()
119                 {
120                         RRTExt2::init();
121                         RRTExt9::init();
122                 }
123                 void deinit()
124                 {
125                         RRTExt2::deinit();
126                         RRTExt9::deinit();
127                 }
128 };
129 class RRTCE27
130         : public RRTExt2
131         , public RRTExt11
132         , public RRTExt3
133         , public RRTExt9
134         , public RRTExt5
135 {
136         public:
137                 void init()
138                 {
139                         RRTExt2::init();
140                         RRTExt9::init();
141                 }
142                 void deinit()
143                 {
144                         RRTExt2::deinit();
145                         RRTExt9::deinit();
146                 }
147 };
148 class RRTCE26
149         : public RRTExt2
150         , public RRTExt11
151         , public RRTExt3
152         , public RRTExt9
153         , public RRTExt6
154 {
155         public:
156                 void init()
157                 {
158                         RRTExt2::init();
159                         RRTExt9::init();
160                 }
161                 void deinit()
162                 {
163                         RRTExt2::deinit();
164                         RRTExt9::deinit();
165                 }
166 };
167
168 class RRTCE25
169         : public RRTExt2
170         , public RRTExt11
171         , public RRTExt3
172         , public RRTExt7
173         , public RRTExt10
174 {
175         public:
176                 void init()
177                 {
178                         RRTExt2::init();
179                         RRTExt7::init();
180                 }
181                 void deinit()
182                 {
183                         RRTExt2::deinit();
184                         RRTExt7::deinit();
185                 }
186 };
187 class RRTCE24
188         : public RRTExt2
189         , public RRTExt11
190         , public RRTExt3
191         , public RRTExt7
192         , public RRTExt1
193 {
194         public:
195                 void init()
196                 {
197                         RRTExt2::init();
198                         RRTExt7::init();
199                 }
200                 void deinit()
201                 {
202                         RRTExt2::deinit();
203                         RRTExt7::deinit();
204                 }
205 };
206 class RRTCE23
207         : public RRTExt2
208         , public RRTExt11
209         , public RRTExt3
210         , public RRTExt7
211         , public RRTExt5
212 {
213         public:
214                 void init()
215                 {
216                         RRTExt2::init();
217                         RRTExt7::init();
218                 }
219                 void deinit()
220                 {
221                         RRTExt2::deinit();
222                         RRTExt7::deinit();
223                 }
224 };
225 class RRTCE22
226         : public RRTExt2
227         , public RRTExt11
228         , public RRTExt3
229         , public RRTExt7
230         , public RRTExt6
231 {
232         public:
233                 void init()
234                 {
235                         RRTExt2::init();
236                         RRTExt7::init();
237                 }
238                 void deinit()
239                 {
240                         RRTExt2::deinit();
241                         RRTExt7::deinit();
242                 }
243 };
244
245 class RRTCE21
246         : public RRTExt2
247         , public RRTExt11
248         , public RRTExt3
249         , public RRTExt4
250         , public RRTExt10
251 {
252         public:
253                 void init()
254                 {
255                         RRTExt2::init();
256                         RRTExt4::init();
257                 }
258                 void deinit()
259                 {
260                         RRTExt2::deinit();
261                         RRTExt4::deinit();
262                 }
263 };
264 class RRTCE20
265         : public RRTExt2
266         , public RRTExt11
267         , public RRTExt3
268         , public RRTExt4
269         , public RRTExt1
270 {
271         public:
272                 void init()
273                 {
274                         RRTExt2::init();
275                         RRTExt4::init();
276                 }
277                 void deinit()
278                 {
279                         RRTExt2::deinit();
280                         RRTExt4::deinit();
281                 }
282 };
283 class RRTCE19
284         : public RRTExt2
285         , public RRTExt11
286         , public RRTExt3
287         , public RRTExt4
288         , public RRTExt5
289 {
290         public:
291                 void init()
292                 {
293                         RRTExt2::init();
294                         RRTExt4::init();
295                 }
296                 void deinit()
297                 {
298                         RRTExt2::deinit();
299                         RRTExt4::deinit();
300                 }
301 };
302 class RRTCE18
303         : public RRTExt2
304         , public RRTExt11
305         , public RRTExt3
306         , public RRTExt4
307         , public RRTExt6
308 {
309         public:
310                 void init()
311                 {
312                         RRTExt2::init();
313                         RRTExt4::init();
314                 }
315                 void deinit()
316                 {
317                         RRTExt2::deinit();
318                         RRTExt4::deinit();
319                 }
320 };
321
322 class RRTCE17
323         : public RRTExt2
324         , public RRTExt11
325         , public RRTExt3
326         , public RRTExt10
327 {};
328
329 class RRTCE16
330         : public RRTExt2
331         , public RRTExt3
332         , public RRTExt9
333         , public RRTExt1
334 {
335         public:
336                 void init()
337                 {
338                         RRTExt2::init();
339                         RRTExt9::init();
340                 }
341                 void deinit()
342                 {
343                         RRTExt2::deinit();
344                         RRTExt9::deinit();
345                 }
346 };
347 class RRTCE15
348         : public RRTExt2
349         , public RRTExt3
350         , public RRTExt9
351         , public RRTExt6
352 {
353         public:
354                 void init()
355                 {
356                         RRTExt2::init();
357                         RRTExt9::init();
358                 }
359                 void deinit()
360                 {
361                         RRTExt2::deinit();
362                         RRTExt9::deinit();
363                 }
364 };
365 class RRTCE14
366         : public RRTExt2
367         , public RRTExt3
368         , public RRTExt8
369         , public RRTExt1
370 {
371         public:
372                 void init()
373                 {
374                         RRTExt2::init();
375                         RRTExt8::init();
376                 }
377                 void deinit()
378                 {
379                         RRTExt2::deinit();
380                         RRTExt8::deinit();
381                 }
382 };
383 class RRTCE13
384         : public RRTExt2
385         , public RRTExt3
386         , public RRTExt8
387         , public RRTExt6
388 {
389         public:
390                 void init()
391                 {
392                         RRTExt2::init();
393                         RRTExt8::init();
394                 }
395                 void deinit()
396                 {
397                         RRTExt2::deinit();
398                         RRTExt8::deinit();
399                 }
400 };
401 class RRTCE12
402         : public RRTExt2
403         , public RRTExt3
404         , public RRTExt7
405         , public RRTExt1
406 {
407         public:
408                 void init()
409                 {
410                         RRTExt2::init();
411                         RRTExt7::init();
412                 }
413                 void deinit()
414                 {
415                         RRTExt2::deinit();
416                         RRTExt7::deinit();
417                 }
418 };
419 class RRTCE11
420         : public RRTExt2
421         , public RRTExt3
422         , public RRTExt7
423         , public RRTExt5
424 {
425         public:
426                 void init()
427                 {
428                         RRTExt2::init();
429                         RRTExt7::init();
430                 }
431                 void deinit()
432                 {
433                         RRTExt2::deinit();
434                         RRTExt7::deinit();
435                 }
436 };
437 class RRTCE10
438         : public RRTExt2
439         , public RRTExt3
440         , public RRTExt7
441         , public RRTExt6
442 {
443         public:
444                 void init()
445                 {
446                         RRTExt2::init();
447                         RRTExt7::init();
448                 }
449                 void deinit()
450                 {
451                         RRTExt2::deinit();
452                         RRTExt7::deinit();
453                 }
454 };
455 class RRTCE9
456         : public RRTExt2
457         , public RRTExt3
458         , public RRTExt4
459         , public RRTExt1
460 {
461         public:
462                 void init()
463                 {
464                         RRTExt2::init();
465                         RRTExt4::init();
466                 }
467                 void deinit()
468                 {
469                         RRTExt2::deinit();
470                         RRTExt4::deinit();
471                 }
472 };
473 class RRTCE8
474         : public RRTExt2
475         , public RRTExt3
476         , public RRTExt4
477         , public RRTExt6
478 {
479         public:
480                 void init()
481                 {
482                         RRTExt2::init();
483                         RRTExt4::init();
484                 }
485                 void deinit()
486                 {
487                         RRTExt2::deinit();
488                         RRTExt4::deinit();
489                 }
490 };
491 class RRTCE7
492         : public RRTExt2
493         , public RRTExt3
494         , public RRTExt4
495         , public RRTExt5
496 {
497         public:
498                 void init()
499                 {
500                         RRTExt2::init();
501                         RRTExt4::init();
502                 }
503                 void deinit()
504                 {
505                         RRTExt2::deinit();
506                         RRTExt4::deinit();
507                 }
508 };
509 class RRTCE6 : public RRTExt2, public RRTExt6, public RRTExt4 {
510         public:
511                 void init()
512                 {
513                         RRTExt2::init();
514                         RRTExt4::init();
515                 }
516                 void deinit()
517                 {
518                         RRTExt2::deinit();
519                         RRTExt4::deinit();
520                 }
521 };
522 class RRTCE5 : public RRTExt2, public RRTExt5, public RRTExt4 {
523         public:
524                 void init()
525                 {
526                         RRTExt2::init();
527                         RRTExt4::init();
528                 }
529                 void deinit()
530                 {
531                         RRTExt2::deinit();
532                         RRTExt4::deinit();
533                 }
534 };
535 class RRTCE4 : public RRTExt1, public RRTExt2, public RRTExt4 {
536         public:
537                 void init()
538                 {
539                         RRTExt2::init();
540                         RRTExt4::init();
541                 }
542                 void deinit()
543                 {
544                         RRTExt2::deinit();
545                         RRTExt4::deinit();
546                 }
547 };
548 class RRTCE3
549         : public RRTExt2
550         , public RRTExt11
551         , public RRTExt3
552         , public RRTExt6
553 {};
554 class RRTCE2
555         : public RRTExt2
556         , public RRTExt11
557         , public RRTExt3
558         , public RRTExt5
559 {};
560 class RRTCE1
561         : public RRTExt2
562         , public RRTExt11
563         , public RRTExt3
564         , public RRTExt1
565 {};
566
567 #endif /* RRTCE_H */