Index: code/branches/objecthierarchy/src/orxonox/core/OrxonoxClass.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/core/OrxonoxClass.cc	(revision 365)
+++ code/branches/objecthierarchy/src/orxonox/core/OrxonoxClass.cc	(revision 366)
@@ -8,9 +8,12 @@
 namespace orxonox
 {
-    /** @brief Constructor: Sets identifier_ and parents_ to zero. */
+    /** @brief Constructor: Sets the default values. */
     OrxonoxClass::OrxonoxClass()
     {
         this->identifier_ = 0;
         this->parents_ = 0;
+
+        this->bActive_ = true;
+        this->bVisible_ = true;
     }
 
Index: code/branches/objecthierarchy/src/orxonox/core/OrxonoxClass.h
===================================================================
--- code/branches/objecthierarchy/src/orxonox/core/OrxonoxClass.h	(revision 365)
+++ code/branches/objecthierarchy/src/orxonox/core/OrxonoxClass.h	(revision 366)
@@ -43,8 +43,58 @@
             inline MetaObjectList& getMetaList() { return this->metaList_; }
 
+            inline bool isA(const Identifier* identifier)
+                { return this->getIdentifier()->isA(identifier); }
+            inline bool isDirectlyA(const Identifier* identifier)
+                { return this->getIdentifier()->isDirectlyA(identifier); }
+            inline bool isChildOf(const Identifier* identifier)
+                { return this->getIdentifier()->isChildOf(identifier); }
+            inline bool isParentOf(const Identifier* identifier)
+                { return this->getIdentifier()->isParentOf(identifier); }
+
+            inline bool isA(const SubclassIdentifier<class B>* identifier)
+                { return this->getIdentifier()->isA(identifier->getIdentifier()); }
+            inline bool isDirectlyA(const SubclassIdentifier<class B>* identifier)
+                { return this->getIdentifier()->isDirectlyA(identifier->getIdentifier()); }
+            inline bool isChildOf(const SubclassIdentifier<class B>* identifier)
+                { return this->getIdentifier()->isChildOf(identifier->getIdentifier()); }
+            inline bool isParentOf(const SubclassIdentifier<class B>* identifier)
+                { return this->getIdentifier()->isParentOf(identifier->getIdentifier()); }
+
+            inline bool isA(const SubclassIdentifier<class B> identifier)
+                { return this->getIdentifier()->isA(identifier.getIdentifier()); }
+            inline bool isDirectlyA(const SubclassIdentifier<class B> identifier)
+                { return this->getIdentifier()->isDirectlyA(identifier.getIdentifier()); }
+            inline bool isChildOf(const SubclassIdentifier<class B> identifier)
+                { return this->getIdentifier()->isChildOf(identifier.getIdentifier()); }
+            inline bool isParentOf(const SubclassIdentifier<class B> identifier)
+                { return this->getIdentifier()->isParentOf(identifier.getIdentifier()); }
+
+            inline bool isA(const OrxonoxClass* object)
+                { return this->getIdentifier()->isA(object->getIdentifier()); }
+            inline bool isDirectlyA(const OrxonoxClass* object)
+                { return this->getIdentifier()->isDirectlyA(object->getIdentifier()); }
+            inline bool isChildOf(const OrxonoxClass* object)
+                { return this->getIdentifier()->isChildOf(object->getIdentifier()); }
+            inline bool isParentOf(const OrxonoxClass* object)
+                { return this->getIdentifier()->isParentOf(object->getIdentifier()); }
+
+
+            inline void setName(const std::string& name) { this->name_ = name; }
+            inline const std::string& getName() const { return this->name_; }
+
+            inline void setActive(bool bActive) { this->bActive_ = bActive; }
+            inline const bool isActive() const { return this->bActive_; }
+
+            inline void setVisible(bool bVisible) { this->bVisible_ = bVisible; }
+            inline const bool isVisible() const { return this->bVisible_; }
+
         private:
             Identifier* identifier_;        //!< The Identifier of the object
             IdentifierList* parents_;       //!< List of all parents of the object
             MetaObjectList metaList_;       //!< MetaObjectList, containing all ObjectLists and ObjectListElements the object is registered in
+
+            std::string name_;
+            bool bActive_;
+            bool bVisible_;
     };
 }
Index: code/branches/objecthierarchy/src/orxonox/objects/BaseObject.h
===================================================================
--- code/branches/objecthierarchy/src/orxonox/objects/BaseObject.h	(revision 365)
+++ code/branches/objecthierarchy/src/orxonox/objects/BaseObject.h	(revision 366)
@@ -11,43 +11,4 @@
             BaseObject();
             virtual ~BaseObject();
-
-            inline bool isA(const Identifier* identifier)
-                { this->getIdentifier()->isA(identifier); }
-            inline bool isDirectlyA(const Identifier* identifier)
-                { this->getIdentifier()->isDirectlyA(identifier); }
-            inline bool isChildOf(const Identifier* identifier)
-                { this->getIdentifier()->isChildOf(identifier); }
-            inline bool isParentOf(const Identifier* identifier)
-                { this->getIdentifier()->isParentOf(identifier); }
-
-            inline bool isA(const SubclassIdentifier<class B>* identifier)
-                { this->getIdentifier()->isA(identifier->getIdentifier()); }
-            inline bool isDirectlyA(const SubclassIdentifier<class B>* identifier)
-                { this->getIdentifier()->isDirectlyA(identifier->getIdentifier()); }
-            inline bool isChildOf(const SubclassIdentifier<class B>* identifier)
-                { this->getIdentifier()->isChildOf(identifier->getIdentifier()); }
-            inline bool isParentOf(const SubclassIdentifier<class B>* identifier)
-                { this->getIdentifier()->isParentOf(identifier->getIdentifier()); }
-
-            inline bool isA(const SubclassIdentifier<class B> identifier)
-                { this->getIdentifier()->isA(identifier.getIdentifier()); }
-            inline bool isDirectlyA(const SubclassIdentifier<class B> identifier)
-                { this->getIdentifier()->isDirectlyA(identifier.getIdentifier()); }
-            inline bool isChildOf(const SubclassIdentifier<class B> identifier)
-                { this->getIdentifier()->isChildOf(identifier.getIdentifier()); }
-            inline bool isParentOf(const SubclassIdentifier<class B> identifier)
-                { this->getIdentifier()->isParentOf(identifier.getIdentifier()); }
-
-            inline bool isA(const OrxonoxClass* object)
-                { this->getIdentifier()->isA(object->getIdentifier()); }
-            inline bool isDirectlyA(const OrxonoxClass* object)
-                { this->getIdentifier()->isDirectlyA(object->getIdentifier()); }
-            inline bool isChildOf(const OrxonoxClass* object)
-                { this->getIdentifier()->isChildOf(object->getIdentifier()); }
-            inline bool isParentOf(const OrxonoxClass* object)
-                { this->getIdentifier()->isParentOf(object->getIdentifier()); }
-
-            std::string name_; // test
-
     };
 }
Index: code/branches/objecthierarchy/src/orxonox/orxonox.cc
===================================================================
--- code/branches/objecthierarchy/src/orxonox/orxonox.cc	(revision 365)
+++ code/branches/objecthierarchy/src/orxonox/orxonox.cc	(revision 366)
@@ -474,5 +474,5 @@
         delete test9_06;
 */
-/*
+
         std::cout << "Test 10\n";
         Identifier* test10_01 = Class(A1B2);
@@ -509,6 +509,7 @@
         {
             test10_08 = ID("A2B1C1")->fabricate();
-            test10_08->name_ = "A2B1C1#";
-            test10_08->name_ += ('0' + i);
+            std::string objName = "A2B1C1#";
+            objName += '0' + i;
+            test10_08->setName(objName);
 
             if (i == 0)
@@ -531,9 +532,9 @@
 
         for (Iterator<A2B1C1> it = ObjectList<A2B1C1>::start(); it; ++it)
-            std::cout << "Name: " << it->name_ << "\n";
+            std::cout << "Name: " << it->getName() << "\n";
 
         std::cout << "3\n";
         for (Iterator<A2B1C1> it = ObjectList<A2B1C1>::end(); it; --it)
-            std::cout << "Name: " << it->name_ << "\n";
+            std::cout << "Name: " << it->getName() << "\n";
 
         std::cout << "4\n";
@@ -553,9 +554,9 @@
         std::cout << "5\n";
         for (Iterator<A2B1C1> it = ObjectList<A2B1C1>::start(); it; ++it)
-            std::cout << "Name: " << it->name_ << "\n";
+            std::cout << "Name: " << it->getName() << "\n";
 
         std::cout << "6\n";
         for (Iterator<A2B1C1> it = ObjectList<A2B1C1>::end(); it; --it)
-            std::cout << "Name: " << it->name_ << "\n";
+            std::cout << "Name: " << it->getName() << "\n";
 
         std::cout << "7\n";
@@ -575,9 +576,9 @@
         std::cout << "8\n";
         for (Iterator<A2B1C1> it = ObjectList<A2B1C1>::start(); it; ++it)
-            std::cout << "Name: " << it->name_ << "\n";
+            std::cout << "Name: " << it->getName() << "\n";
 
         std::cout << "9\n";
         for (Iterator<A2B1C1> it = ObjectList<A2B1C1>::end(); it; --it)
-            std::cout << "Name: " << it->name_ << "\n";
+            std::cout << "Name: " << it->getName() << "\n";
 
         std::cout << "10\n";
@@ -597,12 +598,12 @@
         std::cout << "11\n";
         for (Iterator<A2B1C1> it = ObjectList<A2B1C1>::start(); it; ++it)
-            std::cout << "Name: " << it->name_ << "\n";
+            std::cout << "Name: " << it->getName() << "\n";
 
         std::cout << "12\n";
         for (Iterator<A2B1C1> it = ObjectList<A2B1C1>::end(); it; --it)
-            std::cout << "Name: " << it->name_ << "\n";
+            std::cout << "Name: " << it->getName() << "\n";
 
         std::cout << "13\n";
-*/
+
       }
 
