]> rtime.felk.cvut.cz Git - hubacji1/rrts.git/blob - api/rrtce.h
Add compound extensions 8 and 9
[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 RRTCE1 : public RRTExt1, public RRTExt2 {};
15 class RRTCE2 : public RRTExt2, public RRTExt5 {};
16 class RRTCE3 : public RRTExt2, public RRTExt6 {};
17 class RRTCE4 : public RRTExt1, public RRTExt2, public RRTExt4 {
18         public:
19                 void init()
20                 {
21                         RRTExt2::init();
22                         RRTExt4::init();
23                 }
24                 void deinit()
25                 {
26                         RRTExt2::deinit();
27                         RRTExt4::deinit();
28                 }
29 };
30 class RRTCE5 : public RRTExt2, public RRTExt5, public RRTExt4 {
31         public:
32                 void init()
33                 {
34                         RRTExt2::init();
35                         RRTExt4::init();
36                 }
37                 void deinit()
38                 {
39                         RRTExt2::deinit();
40                         RRTExt4::deinit();
41                 }
42 };
43 class RRTCE6 : public RRTExt2, public RRTExt6, public RRTExt4 {
44         public:
45                 void init()
46                 {
47                         RRTExt2::init();
48                         RRTExt4::init();
49                 }
50                 void deinit()
51                 {
52                         RRTExt2::deinit();
53                         RRTExt4::deinit();
54                 }
55 };
56 class RRTCE7
57         : public RRTExt2
58         , public RRTExt3
59         , public RRTExt4
60         , public RRTExt5
61 {
62         public:
63                 void init()
64                 {
65                         RRTExt2::init();
66                         RRTExt4::init();
67                 }
68                 void deinit()
69                 {
70                         RRTExt2::deinit();
71                         RRTExt4::deinit();
72                 }
73 };
74 class RRTCE8
75         : public RRTExt2
76         , public RRTExt3
77         , public RRTExt4
78         , public RRTExt6
79 {
80         public:
81                 void init()
82                 {
83                         RRTExt2::init();
84                         RRTExt4::init();
85                 }
86                 void deinit()
87                 {
88                         RRTExt2::deinit();
89                         RRTExt4::deinit();
90                 }
91 };
92 class RRTCE9
93         : public RRTExt2
94         , public RRTExt3
95         , public RRTExt4
96         , public RRTExt1
97 {
98         public:
99                 void init()
100                 {
101                         RRTExt2::init();
102                         RRTExt4::init();
103                 }
104                 void deinit()
105                 {
106                         RRTExt2::deinit();
107                         RRTExt4::deinit();
108                 }
109 };
110
111 #endif /* RRTCE_H */