Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

Last change on this file since 219 was 219, checked in by landauf, 16 years ago
  • removed the "ClassHierarchy" manager-class and put its sole feature (bIsCreatingClassHierarchy_) directly into the Identifier.
  • added a dynamic_cast from OrxonoxClass to BaseObject to the Factory. OrxonoxClass is needed because several classes use Interfaces, but all classes are derived at least from BaseObject, so the cast will work.
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.