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
RevLine 
[132]1#ifndef _BaseObject_H__
2#define _BaseObject_H__
3
[197]4#include "IdentifierIncludes.h"
[132]5
[149]6namespace orxonox
7{
[162]8    class BaseObject : virtual public OrxonoxClass
[132]9    {
10        public:
11            BaseObject();
[176]12            virtual ~BaseObject();
[132]13
[149]14            inline bool isA(Identifier* identifier)
[162]15                { this->getIdentifier()->isA(identifier); }
[172]16            inline bool isDirectlyA(Identifier* identifier)
17                { this->getIdentifier()->isDirectlyA(identifier); }
[149]18            inline bool isChildOf(Identifier* identifier)
[162]19                { this->getIdentifier()->isChildOf(identifier); }
[149]20            inline bool isDirectChildOf(Identifier* identifier)
[162]21                { this->getIdentifier()->isDirectChildOf(identifier); }
[149]22            inline bool isParentOf(Identifier* identifier)
[162]23                { this->getIdentifier()->isParentOf(identifier); }
[149]24            inline bool isDirectParentOf(Identifier* identifier)
[162]25                { this->getIdentifier()->isDirectParentOf(identifier); }
[132]26
[197]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()); }
[132]39
[197]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()); }
[220]52
[197]53            inline bool isA(OrxonoxClass* object)
54                { this->getIdentifier()->isA(object->getIdentifier()); }
55            inline bool isDirectlyA(OrxonoxClass* object)
[220]56                { this->getIdentifier()->isDirectlyA(object->getIdentifier()); }
[197]57            inline bool isChildOf(OrxonoxClass* object)
[220]58                { this->getIdentifier()->isChildOf(object->getIdentifier()); }
[197]59            inline bool isDirectChildOf(OrxonoxClass* object)
[220]60                { this->getIdentifier()->isDirectChildOf(object->getIdentifier()); }
[197]61            inline bool isParentOf(OrxonoxClass* object)
[220]62                { this->getIdentifier()->isParentOf(object->getIdentifier()); }
[197]63            inline bool isDirectParentOf(OrxonoxClass* object)
[220]64                { this->getIdentifier()->isDirectParentOf(object->getIdentifier()); }
65
[132]66    };
[149]67}
[132]68
69#endif
Note: See TracBrowser for help on using the repository browser.