Index: code/branches/lod/src/libraries/core/BaseObject.cc
===================================================================
--- code/branches/lod/src/libraries/core/BaseObject.cc	(revision 6827)
+++ code/branches/lod/src/libraries/core/BaseObject.cc	(revision 6828)
@@ -75,4 +75,5 @@
             this->setScene(this->creator_->getScene(), this->creator_->getSceneID());
             this->setGametype(this->creator_->getGametype());
+	    this->setLevel(this->creator_->getLevel());
         }
         else
@@ -83,4 +84,5 @@
             this->sceneID_ = OBJECTID_UNKNOWN;
             this->gametype_ = 0;
+	    this->level_ = 0;
         }
     }
Index: code/branches/lod/src/libraries/core/BaseObject.h
===================================================================
--- code/branches/lod/src/libraries/core/BaseObject.h	(revision 6827)
+++ code/branches/lod/src/libraries/core/BaseObject.h	(revision 6828)
@@ -51,4 +51,5 @@
     class Scene;
     class Gametype;
+    class Level;
 
     //! The BaseObject is the parent of all classes representing an instance in the game.
@@ -153,4 +154,15 @@
             inline Gametype* getOldGametype() const { return this->oldGametype_; }
             virtual void changedGametype() {}
+            
+            inline void setLevel(const SmartPtr<Level>& level)
+            {
+                if (level != this->level_)
+                {
+                    this->level_ = level;
+                    this->changedLevel();
+                }
+            }
+            inline const SmartPtr<Level>& getLevel() const { return this->level_; }
+            virtual void changedLevel() {}
 
             void addEventSource(BaseObject* source, const std::string& state);
@@ -210,4 +222,5 @@
             SmartPtr<Gametype>     gametype_;
             Gametype*              oldGametype_;
+	    SmartPtr<Level>        level_;
             std::set<Template*>    templates_;
 
Index: code/branches/lod/src/orxonox/Level.cc
===================================================================
--- code/branches/lod/src/orxonox/Level.cc	(revision 6827)
+++ code/branches/lod/src/orxonox/Level.cc	(revision 6828)
@@ -32,5 +32,5 @@
 #include "core/CoreIncludes.h"
 #include "core/Loader.h"
-#include "core/template.h"
+#include "core/Template.h"
 #include "core/XMLFile.h"
 #include "core/XMLPort.h"
@@ -126,4 +126,5 @@
         this->objects_.push_back(object);
         object->setGametype(this->getGametype());
+	object->setLevel(this);
     }
 
Index: code/branches/lod/src/orxonox/graphics/Model.cc
===================================================================
--- code/branches/lod/src/orxonox/graphics/Model.cc	(revision 6827)
+++ code/branches/lod/src/orxonox/graphics/Model.cc	(revision 6828)
@@ -29,5 +29,5 @@
 #include "Model.h"
 
-#include <OgreEntity.h>
+#include <OGRE/OgreEntity.h>
 
 #include "core/CoreIncludes.h"
@@ -92,13 +92,13 @@
                     &&this->lodLevel_!=0)
                 {
-					Vector3 scale3d = this->getScale3D();
+                    Vector3 scale3d = this->getScale3D();
                     float scaleFactor = scale3d.x;
-					if(scale3d.y>scaleFactor)
-						scaleFactor = scale3d.y;
-					if(scale3d.z>scaleFactor)
-						scaleFactor = scale3d.z;
-						
+                    if(scale3d.y>scaleFactor)
+                        scaleFactor = scale3d.y;
+                    if(scale3d.z>scaleFactor)
+                        scaleFactor = scale3d.z;
+
                     COUT(0) << this->meshSrc_<< " lodLevel_: " << this->lodLevel_ <<" scale: "<< scaleFactor << std::endl;
-                    //Für Asteroiden perfekt
+                    //Fuer Asteroiden perfekt
 
 #if OGRE_VERSION >= 0x010700
@@ -108,6 +108,6 @@
 #endif
 
-					float factor = scaleFactor;
-					COUT(0)<<"scaleFactor:"<<scaleFactor<<std::endl;
+                    float factor = scaleFactor;
+                    COUT(0)<<"scaleFactor:"<<scaleFactor<<std::endl;
 
                     distList.push_back(70.0f*factor);
