]> rtime.felk.cvut.cz Git - hubacji1/rrts.git/blob - incl/rrtce.hh
Rewrite rrtce, add rrtce 36, 37
[hubacji1/rrts.git] / incl / rrtce.hh
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  * \file
9  */
10 #ifndef RRTS_RRTCE_H
11 #define RRTS_RRTCE_H
12
13 #include "rrtext.hh"
14
15 namespace rrts {
16
17 class RRTCE37 : public RRTExt2, public RRTExt8, public RRTExt10,
18                 public RRTExt14, public RRTExt15, public RRTExt16,
19                 public RRTExt18 {
20 public:
21         Json::Value json() const
22         {
23                 return RRTExt15::json();
24         }
25         void json(Json::Value jvi)
26         {
27                 RRTExt2::json(jvi);
28         }
29         void reset()
30         {
31                 RRTExt8::reset();
32                 RRTExt14::reset();
33         }
34 };
35
36 class RRTCE36 : public RRTExt2, public RRTExt8, public RRTExt10,
37                 public RRTExt14, public RRTExt15, public RRTExt16,
38                 public RRTExt17 {
39 public:
40         Json::Value json() const
41         {
42                 return RRTExt15::json();
43         }
44         void json(Json::Value jvi)
45         {
46                 RRTExt2::json(jvi);
47         }
48         void reset()
49         {
50                 RRTExt8::reset();
51                 RRTExt14::reset();
52         }
53 };
54
55 #if 0
56 class RRTCE35
57         : public RRTExt2
58         , public RRTExt11
59         , public RRTExt13
60         , public RRTExt8
61         , public RRTExt10
62 {
63         public:
64                 void init()
65                 {
66                         RRTExt2::init();
67                         RRTExt8::init();
68                 }
69                 void deinit()
70                 {
71                         RRTExt2::deinit();
72                         RRTExt8::deinit();
73                 }
74                 void reset()
75                 {
76                     RRTExt8::reset();
77                     RRTExt13::reset();
78                 }
79 };
80 class RRTCE34
81         : public RRTExt2
82         , public RRTExt11
83         , public RRTExt3
84         , public RRTExt8
85         , public RRTExt10
86         , public RRTExt12
87 {
88         public:
89                 void init()
90                 {
91                         RRTExt2::init();
92                         RRTExt8::init();
93                 }
94                 void deinit()
95                 {
96                         RRTExt2::deinit();
97                         RRTExt8::deinit();
98                 }
99                 void reset()
100                 {
101                     RRTExt8::reset();
102                     RRTExt3::reset();
103                 }
104 };
105 class RRTCE33
106         : public RRTExt2
107         , public RRTExt11
108         , public RRTExt3
109         , public RRTExt8
110         , public RRTExt10
111 {
112         public:
113                 void init()
114                 {
115                         RRTExt2::init();
116                         RRTExt8::init();
117                 }
118                 void deinit()
119                 {
120                         RRTExt2::deinit();
121                         RRTExt8::deinit();
122                 }
123                 void reset()
124                 {
125                     RRTExt8::reset();
126                     RRTExt3::reset();
127                 }
128 };
129 class RRTCE32
130         : public RRTExt2
131         , public RRTExt11
132         , public RRTExt3
133         , public RRTExt8
134         , public RRTExt1
135 {
136         public:
137                 void init()
138                 {
139                         RRTExt2::init();
140                         RRTExt8::init();
141                 }
142                 void deinit()
143                 {
144                         RRTExt2::deinit();
145                         RRTExt8::deinit();
146                 }
147                 void reset()
148                 {
149                     RRTExt8::reset();
150                     RRTExt3::reset();
151                 }
152 };
153 class RRTCE31
154         : public RRTExt2
155         , public RRTExt11
156         , public RRTExt3
157         , public RRTExt8
158         , public RRTExt5
159 {
160         public:
161                 void init()
162                 {
163                         RRTExt2::init();
164                         RRTExt8::init();
165                 }
166                 void deinit()
167                 {
168                         RRTExt2::deinit();
169                         RRTExt8::deinit();
170                 }
171                 void reset()
172                 {
173                     RRTExt8::reset();
174                     RRTExt3::reset();
175                 }
176 };
177 class RRTCE30
178         : public RRTExt2
179         , public RRTExt11
180         , public RRTExt3
181         , public RRTExt8
182         , public RRTExt6
183 {
184         public:
185                 void init()
186                 {
187                         RRTExt2::init();
188                         RRTExt8::init();
189                 }
190                 void deinit()
191                 {
192                         RRTExt2::deinit();
193                         RRTExt8::deinit();
194                 }
195                 void reset()
196                 {
197                     RRTExt8::reset();
198                     RRTExt3::reset();
199                 }
200 };
201
202 class RRTCE29
203         : public RRTExt2
204         , public RRTExt11
205         , public RRTExt3
206         , public RRTExt9
207         , public RRTExt10
208 {
209         public:
210                 void init()
211                 {
212                         RRTExt2::init();
213                         RRTExt9::init();
214                 }
215                 void deinit()
216                 {
217                         RRTExt2::deinit();
218                         RRTExt9::deinit();
219                 }
220 };
221 class RRTCE28
222         : public RRTExt2
223         , public RRTExt11
224         , public RRTExt3
225         , public RRTExt9
226         , public RRTExt1
227 {
228         public:
229                 void init()
230                 {
231                         RRTExt2::init();
232                         RRTExt9::init();
233                 }
234                 void deinit()
235                 {
236                         RRTExt2::deinit();
237                         RRTExt9::deinit();
238                 }
239 };
240 class RRTCE27
241         : public RRTExt2
242         , public RRTExt11
243         , public RRTExt3
244         , public RRTExt9
245         , public RRTExt5
246 {
247         public:
248                 void init()
249                 {
250                         RRTExt2::init();
251                         RRTExt9::init();
252                 }
253                 void deinit()
254                 {
255                         RRTExt2::deinit();
256                         RRTExt9::deinit();
257                 }
258 };
259 class RRTCE26
260         : public RRTExt2
261         , public RRTExt11
262         , public RRTExt3
263         , public RRTExt9
264         , public RRTExt6
265 {
266         public:
267                 void init()
268                 {
269                         RRTExt2::init();
270                         RRTExt9::init();
271                 }
272                 void deinit()
273                 {
274                         RRTExt2::deinit();
275                         RRTExt9::deinit();
276                 }
277 };
278
279 class RRTCE25
280         : public RRTExt2
281         , public RRTExt11
282         , public RRTExt3
283         , public RRTExt7
284         , public RRTExt10
285 {
286         public:
287                 void init()
288                 {
289                         RRTExt2::init();
290                         RRTExt7::init();
291                 }
292                 void deinit()
293                 {
294                         RRTExt2::deinit();
295                         RRTExt7::deinit();
296                 }
297 };
298 class RRTCE24
299         : public RRTExt2
300         , public RRTExt11
301         , public RRTExt3
302         , public RRTExt7
303         , public RRTExt1
304 {
305         public:
306                 void init()
307                 {
308                         RRTExt2::init();
309                         RRTExt7::init();
310                 }
311                 void deinit()
312                 {
313                         RRTExt2::deinit();
314                         RRTExt7::deinit();
315                 }
316 };
317 class RRTCE23
318         : public RRTExt2
319         , public RRTExt11
320         , public RRTExt3
321         , public RRTExt7
322         , public RRTExt5
323 {
324         public:
325                 void init()
326                 {
327                         RRTExt2::init();
328                         RRTExt7::init();
329                 }
330                 void deinit()
331                 {
332                         RRTExt2::deinit();
333                         RRTExt7::deinit();
334                 }
335 };
336 class RRTCE22
337         : public RRTExt2
338         , public RRTExt11
339         , public RRTExt3
340         , public RRTExt7
341         , public RRTExt6
342 {
343         public:
344                 void init()
345                 {
346                         RRTExt2::init();
347                         RRTExt7::init();
348                 }
349                 void deinit()
350                 {
351                         RRTExt2::deinit();
352                         RRTExt7::deinit();
353                 }
354 };
355
356 class RRTCE21
357         : public RRTExt2
358         , public RRTExt11
359         , public RRTExt3
360         , public RRTExt4
361         , public RRTExt10
362 {
363         public:
364                 void init()
365                 {
366                         RRTExt2::init();
367                         RRTExt4::init();
368                 }
369                 void deinit()
370                 {
371                         RRTExt2::deinit();
372                         RRTExt4::deinit();
373                 }
374 };
375 class RRTCE20
376         : public RRTExt2
377         , public RRTExt11
378         , public RRTExt3
379         , public RRTExt4
380         , public RRTExt1
381 {
382         public:
383                 void init()
384                 {
385                         RRTExt2::init();
386                         RRTExt4::init();
387                 }
388                 void deinit()
389                 {
390                         RRTExt2::deinit();
391                         RRTExt4::deinit();
392                 }
393 };
394 class RRTCE19
395         : public RRTExt2
396         , public RRTExt11
397         , public RRTExt3
398         , public RRTExt4
399         , public RRTExt5
400 {
401         public:
402                 void init()
403                 {
404                         RRTExt2::init();
405                         RRTExt4::init();
406                 }
407                 void deinit()
408                 {
409                         RRTExt2::deinit();
410                         RRTExt4::deinit();
411                 }
412 };
413 class RRTCE18
414         : public RRTExt2
415         , public RRTExt11
416         , public RRTExt3
417         , public RRTExt4
418         , public RRTExt6
419 {
420         public:
421                 void init()
422                 {
423                         RRTExt2::init();
424                         RRTExt4::init();
425                 }
426                 void deinit()
427                 {
428                         RRTExt2::deinit();
429                         RRTExt4::deinit();
430                 }
431 };
432
433 class RRTCE17
434         : public RRTExt2
435         , public RRTExt11
436         , public RRTExt3
437         , public RRTExt10
438 {};
439
440 class RRTCE16
441         : public RRTExt2
442         , public RRTExt3
443         , public RRTExt9
444         , public RRTExt1
445 {
446         public:
447                 void init()
448                 {
449                         RRTExt2::init();
450                         RRTExt9::init();
451                 }
452                 void deinit()
453                 {
454                         RRTExt2::deinit();
455                         RRTExt9::deinit();
456                 }
457 };
458 class RRTCE15
459         : public RRTExt2
460         , public RRTExt3
461         , public RRTExt9
462         , public RRTExt6
463 {
464         public:
465                 void init()
466                 {
467                         RRTExt2::init();
468                         RRTExt9::init();
469                 }
470                 void deinit()
471                 {
472                         RRTExt2::deinit();
473                         RRTExt9::deinit();
474                 }
475 };
476 class RRTCE14
477         : public RRTExt2
478         , public RRTExt3
479         , public RRTExt8
480         , public RRTExt1
481 {
482         public:
483                 void init()
484                 {
485                         RRTExt2::init();
486                         RRTExt8::init();
487                 }
488                 void deinit()
489                 {
490                         RRTExt2::deinit();
491                         RRTExt8::deinit();
492                 }
493                 void reset()
494                 {
495                     RRTExt8::reset();
496                     RRTExt3::reset();
497                 }
498 };
499 class RRTCE13
500         : public RRTExt2
501         , public RRTExt3
502         , public RRTExt8
503         , public RRTExt6
504 {
505         public:
506                 void init()
507                 {
508                         RRTExt2::init();
509                         RRTExt8::init();
510                 }
511                 void deinit()
512                 {
513                         RRTExt2::deinit();
514                         RRTExt8::deinit();
515                 }
516                 void reset()
517                 {
518                     RRTExt8::reset();
519                     RRTExt3::reset();
520                 }
521 };
522 class RRTCE12
523         : public RRTExt2
524         , public RRTExt3
525         , public RRTExt7
526         , public RRTExt1
527 {
528         public:
529                 void init()
530                 {
531                         RRTExt2::init();
532                         RRTExt7::init();
533                 }
534                 void deinit()
535                 {
536                         RRTExt2::deinit();
537                         RRTExt7::deinit();
538                 }
539 };
540 class RRTCE11
541         : public RRTExt2
542         , public RRTExt3
543         , public RRTExt7
544         , public RRTExt5
545 {
546         public:
547                 void init()
548                 {
549                         RRTExt2::init();
550                         RRTExt7::init();
551                 }
552                 void deinit()
553                 {
554                         RRTExt2::deinit();
555                         RRTExt7::deinit();
556                 }
557 };
558 class RRTCE10
559         : public RRTExt2
560         , public RRTExt3
561         , public RRTExt7
562         , public RRTExt6
563 {
564         public:
565                 void init()
566                 {
567                         RRTExt2::init();
568                         RRTExt7::init();
569                 }
570                 void deinit()
571                 {
572                         RRTExt2::deinit();
573                         RRTExt7::deinit();
574                 }
575 };
576 class RRTCE9
577         : public RRTExt2
578         , public RRTExt3
579         , public RRTExt4
580         , public RRTExt1
581 {
582         public:
583                 void init()
584                 {
585                         RRTExt2::init();
586                         RRTExt4::init();
587                 }
588                 void deinit()
589                 {
590                         RRTExt2::deinit();
591                         RRTExt4::deinit();
592                 }
593 };
594 class RRTCE8
595         : public RRTExt2
596         , public RRTExt3
597         , public RRTExt4
598         , public RRTExt6
599 {
600         public:
601                 void init()
602                 {
603                         RRTExt2::init();
604                         RRTExt4::init();
605                 }
606                 void deinit()
607                 {
608                         RRTExt2::deinit();
609                         RRTExt4::deinit();
610                 }
611 };
612 class RRTCE7
613         : public RRTExt2
614         , public RRTExt3
615         , public RRTExt4
616         , public RRTExt5
617 {
618         public:
619                 void init()
620                 {
621                         RRTExt2::init();
622                         RRTExt4::init();
623                 }
624                 void deinit()
625                 {
626                         RRTExt2::deinit();
627                         RRTExt4::deinit();
628                 }
629 };
630 class RRTCE6 : public RRTExt2, public RRTExt6, public RRTExt4 {
631         public:
632                 void init()
633                 {
634                         RRTExt2::init();
635                         RRTExt4::init();
636                 }
637                 void deinit()
638                 {
639                         RRTExt2::deinit();
640                         RRTExt4::deinit();
641                 }
642 };
643 class RRTCE5 : public RRTExt2, public RRTExt5, public RRTExt4 {
644         public:
645                 void init()
646                 {
647                         RRTExt2::init();
648                         RRTExt4::init();
649                 }
650                 void deinit()
651                 {
652                         RRTExt2::deinit();
653                         RRTExt4::deinit();
654                 }
655 };
656 class RRTCE4 : public RRTExt1, public RRTExt2, public RRTExt4 {
657         public:
658                 void init()
659                 {
660                         RRTExt2::init();
661                         RRTExt4::init();
662                 }
663                 void deinit()
664                 {
665                         RRTExt2::deinit();
666                         RRTExt4::deinit();
667                 }
668 };
669 class RRTCE3
670         : public RRTExt2
671         , public RRTExt11
672         , public RRTExt3
673         , public RRTExt6
674 {};
675 class RRTCE2
676         : public RRTExt2
677         , public RRTExt11
678         , public RRTExt3
679         , public RRTExt5
680 {};
681 class RRTCE1
682         : public RRTExt2
683         , public RRTExt11
684         , public RRTExt3
685         , public RRTExt1
686 {};
687 #endif
688
689 } // namespace rrts
690 #endif /* RRTS_RRTCE_H */