Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

Last change on this file since 221 was 221, checked in by landauf, 12 years ago
  • made ObjectList double-linked to allow forward- and backward-iterating. its now a LI(F/L)O list.
  • added an iterator to iterate through object-lists. you can iterate forwards and backwards.

iterating forwards is easy: you get "0 1 2 … last"
iterating backwards is a bit tricky: you still get "0" first, but then "last … 2 1".
thats caused by the structure of the for-loop: you get the first element before the iterator knows if you'll increase or decrease it

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            std::string name_; // test
67
68    };
69}
70
71#endif
Note: See TracBrowser for help on using the repository browser.