Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/network/src/asylum/orxonox/objects/Test.h @ 1494

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