Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/objecthierarchie/src/BaseObject.h @ 220

Last change on this file since 220 was 220, checked in by landauf, 16 years ago
  • fixed a small bug in the object hierarchy
  • new objects are now added to all class-lists they're derived from (until now they were only added to the list of their class). this means: i'm replacing the tree-structure by a mountain-one, which costs more memory but allows faster iteration.
File size: 3.7 KB
Line 
1#ifndef _BaseObject_H__
2#define _BaseObject_H__
3
4#include "IdentifierIncludes.h"
5
6namespace orxonox
7{
8    class BaseObject : virtual public OrxonoxClass
9    {
10        public:
11            BaseObject();
12            virtual ~BaseObject();
13
14            inline bool isA(Identifier* identifier)
15                { this->getIdentifier()->isA(identifier); }
16            inline bool isDirectlyA(Identifier* identifier)
17                { this->getIdentifier()->isDirectlyA(identifier); }
18            inline bool isChildOf(Identifier* identifier)
19                { this->getIdentifier()->isChildOf(identifier); }
20            inline bool isDirectChildOf(Identifier* identifier)
21                { this->getIdentifier()->isDirectChildOf(identifier); }
22            inline bool isParentOf(Identifier* identifier)
23                { this->getIdentifier()->isParentOf(identifier); }
24            inline bool isDirectParentOf(Identifier* identifier)
25                { this->getIdentifier()->isDirectParentOf(identifier); }
26
27            inline bool isA(BaseIdentifier<class B>* identifier)
28                { this->getIdentifier()->isA(identifier->getIdentifier()); }
29            inline bool isDirectlyA(BaseIdentifier<class B>* identifier)
30                { this->getIdentifier()->isDirectlyA(identifier->getIdentifier()); }
31            inline bool isChildOf(BaseIdentifier<class B>* identifier)
32                { this->getIdentifier()->isChildOf(identifier->getIdentifier()); }
33            inline bool isDirectChildOf(BaseIdentifier<class B>* identifier)
34                { this->getIdentifier()->isDirectChildOf(identifier->getIdentifier()); }
35            inline bool isParentOf(BaseIdentifier<class B>* identifier)
36                { this->getIdentifier()->isParentOf(identifier->getIdentifier()); }
37            inline bool isDirectParentOf(BaseIdentifier<class B>* identifier)
38                { this->getIdentifier()->isDirectParentOf(identifier->getIdentifier()); }
39
40            inline bool isA(BaseIdentifier<class B> identifier)
41                { this->getIdentifier()->isA(identifier.getIdentifier()); }
42            inline bool isDirectlyA(BaseIdentifier<class B> identifier)
43                { this->getIdentifier()->isDirectlyA(identifier.getIdentifier()); }
44            inline bool isChildOf(BaseIdentifier<class B> identifier)
45                { this->getIdentifier()->isChildOf(identifier.getIdentifier()); }
46            inline bool isDirectChildOf(BaseIdentifier<class B> identifier)
47                { this->getIdentifier()->isDirectChildOf(identifier.getIdentifier()); }
48            inline bool isParentOf(BaseIdentifier<class B> identifier)
49                { this->getIdentifier()->isParentOf(identifier.getIdentifier()); }
50            inline bool isDirectParentOf(BaseIdentifier<class B> identifier)
51                { this->getIdentifier()->isDirectParentOf(identifier.getIdentifier()); }
52
53            inline bool isA(OrxonoxClass* object)
54                { this->getIdentifier()->isA(object->getIdentifier()); }
55            inline bool isDirectlyA(OrxonoxClass* object)
56                { this->getIdentifier()->isDirectlyA(object->getIdentifier()); }
57            inline bool isChildOf(OrxonoxClass* object)
58                { this->getIdentifier()->isChildOf(object->getIdentifier()); }
59            inline bool isDirectChildOf(OrxonoxClass* object)
60                { this->getIdentifier()->isDirectChildOf(object->getIdentifier()); }
61            inline bool isParentOf(OrxonoxClass* object)
62                { this->getIdentifier()->isParentOf(object->getIdentifier()); }
63            inline bool isDirectParentOf(OrxonoxClass* object)
64                { this->getIdentifier()->isDirectParentOf(object->getIdentifier()); }
65
66    };
67}
68
69#endif
Note: See TracBrowser for help on using the repository browser.