Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/core/src/orxonox/objects/Test.h @ 869

Last change on this file since 869 was 852, checked in by landauf, 16 years ago

removed some includes of CoreIncludes.h from other .h files (included in .cc only)

File size: 3.8 KB
Line 
1/*
2 *   ORXONOX - the hottest 3D action shooter ever to exist
3 *
4 *
5 *   License notice:
6 *
7 *   This program is free software; you can redistribute it and/or
8 *   modify it under the terms of the GNU General Public License
9 *   as published by the Free Software Foundation; either version 2
10 *   of the License, or (at your option) any later version.
11 *
12 *   This program is distributed in the hope that it will be useful,
13 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
14 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 *   GNU General Public License for more details.
16 *
17 *   You should have received a copy of the GNU General Public License
18 *   along with this program; if not, write to the Free Software
19 *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
20 *
21 *   Author:
22 *      Fabian 'x3n' Landau
23 *   Co-authors:
24 *      ...
25 *
26 */
27
28#ifndef _Test_H__
29#define _Test_H__
30
31#include "core/BaseObject.h"
32
33namespace orxonox
34{
35    class Interface1 : virtual public OrxonoxClass
36    {
37        protected:
38            Interface1() { RegisterRootObject(Interface1); }
39    };
40
41    class Interface2 : virtual public OrxonoxClass
42    {
43        protected:
44            Interface2() { RegisterRootObject(Interface2); }
45    };
46
47    class A1 : public BaseObject
48    {
49        public:
50            A1() { RegisterObject(A1); }
51    };
52
53    class A2 : public BaseObject
54    {
55        public:
56            A2() { RegisterObject(A2); }
57    };
58
59    class A3: public BaseObject, public Interface1
60    {
61        public:
62            A3() { RegisterObject(A3); }
63    };
64
65    class A1B1 : public A1
66    {
67        public:
68            A1B1() { RegisterObject(A1B1); }
69    };
70
71    class A1B2 : public A1
72    {
73        public:
74            A1B2() { RegisterObject(A1B2); }
75//            virtual void test() = 0;
76    };
77
78    class A2B1 : public A2
79    {
80        public:
81            A2B1() { RegisterObject(A2B1); }
82    };
83
84    class A2B2 : public A2, Interface1
85    {
86        public:
87            A2B2() { RegisterObject(A2B2); }
88    };
89
90    class A3B1 : public A3
91    {
92        public:
93            A3B1() { RegisterObject(A3B1); }
94    };
95
96    class A3B2 : public A3, Interface2
97    {
98        public:
99            A3B2() { RegisterObject(A3B2); }
100    };
101
102    class A1B1C1 : public A1B1
103    {
104        public:
105            A1B1C1() { RegisterObject(A1B1C1); }
106    };
107
108    class A1B1C2 : public A1B1
109    {
110        public:
111            A1B1C2() { RegisterObject(A1B1C2); }
112    };
113
114    class A1B2C1 : public A1B2
115    {
116        public:
117            A1B2C1() { RegisterObject(A1B2C1); }
118//            void test() { std::cout << "test!\n"; }
119    };
120
121    class A2B1C1 : public A2B1, Interface2
122    {
123        public:
124            A2B1C1() { RegisterObject(A2B1C1); }
125    };
126
127    class A2B2C1 : public A2B2
128    {
129        public:
130            A2B2C1() { RegisterObject(A2B2C1); }
131    };
132
133    class A3B1C1 : public A3B1
134    {
135        public:
136            A3B1C1() { RegisterObject(A3B1C1); }
137    };
138
139    class A3B1C2 : public A3B1, Interface2
140    {
141        public:
142            A3B1C2() { RegisterObject(A3B1C2); }
143    };
144
145    class A3B2C1 : public A3B2
146    {
147        public:
148            A3B2C1() { RegisterObject(A3B2C1); }
149    };
150
151    class A3B2C2 : public A3B2
152    {
153        public:
154            A3B2C2() { RegisterObject(A3B2C2); }
155    };
156
157    CreateFactory(A1);
158    CreateFactory(A2);
159    CreateFactory(A3);
160    CreateFactory(A1B1);
161    CreateFactory(A1B2);
162    CreateFactory(A2B1);
163    CreateFactory(A2B2);
164    CreateFactory(A3B1);
165    CreateFactory(A3B2);
166    CreateFactory(A1B1C1);
167    CreateFactory(A1B1C2);
168    CreateFactory(A1B2C1);
169    CreateFactory(A2B1C1);
170    CreateFactory(A2B2C1);
171    CreateFactory(A3B1C1);
172    CreateFactory(A3B1C2);
173    CreateFactory(A3B2C1);
174    CreateFactory(A3B2C2);
175}
176
177#endif
Note: See TracBrowser for help on using the repository browser.