Index: /code/branches/presentation3/data/levels/templates/lodinformation.oxt
===================================================================
--- /code/branches/presentation3/data/levels/templates/lodinformation.oxt	(revision 7019)
+++ /code/branches/presentation3/data/levels/templates/lodinformation.oxt	(revision 7020)
@@ -4,5 +4,6 @@
 	  <MeshLodInformation mesh=Carrier.mesh lodQuality=1.8 />
 	  <MeshLodInformation mesh=assff.mesh lodQuality=3 />
-          <MeshLodInformation mesh=Transporter.mesh lodQuality=100 />
+          <MeshLodInformation mesh=Transporter.mesh lodQuality=5 />
+          <MeshLodInformation mesh=rocket.mesh lodQuality=5 enabled=true />
 	</lodinformation>
   </Level>
Index: /code/branches/presentation3/src/orxonox/graphics/MeshLodInformation.cc
===================================================================
--- /code/branches/presentation3/src/orxonox/graphics/MeshLodInformation.cc	(revision 7019)
+++ /code/branches/presentation3/src/orxonox/graphics/MeshLodInformation.cc	(revision 7020)
@@ -41,5 +41,5 @@
 
     MeshLodInformation::MeshLodInformation(BaseObject* creator) 
-	: BaseObject(creator), lodLevel_(-1)
+	: BaseObject(creator), lodLevel_(-1), bEnabled_(true)
     {
         RegisterObject(MeshLodInformation);
@@ -55,4 +55,5 @@
         XMLPortParam(MeshLodInformation, "mesh", setMeshSource, getMeshSource, xmlelement, mode);
         XMLPortParam(MeshLodInformation, "lodQuality", setLodLevel, getLodLevel, xmlelement, mode);
+        XMLPortParam(MeshLodInformation, "enabled", setEnabled, getEnabled, xmlelement, mode);
     }
     
Index: /code/branches/presentation3/src/orxonox/graphics/MeshLodInformation.h
===================================================================
--- /code/branches/presentation3/src/orxonox/graphics/MeshLodInformation.h	(revision 7019)
+++ /code/branches/presentation3/src/orxonox/graphics/MeshLodInformation.h	(revision 7020)
@@ -40,19 +40,23 @@
     class _OrxonoxExport MeshLodInformation : public BaseObject
     {
-		private:
-			void setLodLevel(float lodLevel);
-			void setMeshSource(std::string meshSource);
-			std::string getMeshSource();
-			std::string meshSource_;
-			float lodLevel_;
-		
         public:
             MeshLodInformation(BaseObject* creator);
             virtual ~MeshLodInformation();
             
-			float getLodLevel();
+            float getLodLevel();
             std::string getMeshName();
+            bool getEnabled(){ return this->bEnabled_; }
+            
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
 
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+        private:
+            void setLodLevel(float lodLevel);
+            void setMeshSource(std::string meshSource);
+            void setEnabled( bool enabled ){ this->bEnabled_ = true; }
+            std::string getMeshSource();
+            std::string meshSource_;
+            float lodLevel_;
+            bool bEnabled_;
+
     };
 }
Index: /code/branches/presentation3/src/orxonox/graphics/Model.cc
===================================================================
--- /code/branches/presentation3/src/orxonox/graphics/Model.cc	(revision 7019)
+++ /code/branches/presentation3/src/orxonox/graphics/Model.cc	(revision 7020)
@@ -105,63 +105,65 @@
                     &&this->meshSrc_!="laserbeam.mesh")
                 {
-                    float volume = this->mesh_.getEntity()->getBoundingBox().volume();
-                    float scaleFactor = 1;
-                    
-                    BaseObject* creatorPtr = this;
-                    
-                    while(creatorPtr!=NULL&&orxonox_cast<WorldEntity*>(creatorPtr))
+                    Level* level = this->getLevel();
+                  
+                    assert( level != 0 );
+                    if( level->getLodInfo(this->meshSrc_)!=0 && level->getLodInfo(this->meshSrc_)->getEnabled() )
                     {
-                        scaleFactor *= getBiggestScale(((WorldEntity*) creatorPtr)->getScale3D());
-                        creatorPtr = creatorPtr->getCreator();
-                    }
-//                     COUT(0) << "name: " << this->meshSrc_ << "scaleFactor: " << scaleFactor << ", volume: " << volume << endl;
-                    
-                    Level* level = this->getLevel();
-                    
-                    assert( level != 0 );
-                    if( level->getLodInfo(this->meshSrc_)!=0 )
                         setLodLevel(level->getLodInfo(this->meshSrc_)->getLodLevel());
-                    
-                    COUT(4) << "Setting lodLevel for " << this->meshSrc_<< " with lodLevel_: " << this->lodLevel_ <<" and scale: "<< scaleFactor << ":" << std::endl;
+
+                        float volume = this->mesh_.getEntity()->getBoundingBox().volume();
+    //                     float scaleFactor = 1;
+                        
+    //                     BaseObject* creatorPtr = this;
+    //                     
+    //                     while(creatorPtr!=NULL&&orxonox_cast<WorldEntity*>(creatorPtr))
+    //                     {
+    //                         scaleFactor *= getBiggestScale(((WorldEntity*) creatorPtr)->getScale3D());
+    //                         creatorPtr = creatorPtr->getCreator();
+    //                     }
+    //                     COUT(0) << "name: " << this->meshSrc_ << "scaleFactor: " << scaleFactor << ", volume: " << volume << endl;
+                        
+                        COUT(4) << "Setting lodLevel for " << this->meshSrc_<< " with lodLevel_: " << this->lodLevel_ <<" and volume: "<< volume << ":" << std::endl;
 
 #if OGRE_VERSION >= 0x010700
-                    Ogre::Mesh::LodValueList distList;
+                        Ogre::Mesh::LodValueList distList;
 #else
-                    Ogre::Mesh::LodDistanceList distList;
+                        Ogre::Mesh::LodDistanceList distList;
 #endif
 
-                    if( lodLevel_>0 )
-                    {
-//                         float factor = scaleFactor*5/lodLevel_;
-                        float factor = volume/3/lodLevel_;
-                        
-                        COUT(4)<<"LodLevel set with factor: "<<factor<<std::endl;
+                        if( lodLevel_>0 )
+                        {
+    //                         float factor = scaleFactor*5/lodLevel_;
+                            float factor = volume/3/lodLevel_;
+                            
+                            COUT(4)<<"LodLevel set with factor: "<<factor<<std::endl;
 
-                        distList.push_back(70.0f*factor);
-                        distList.push_back(140.0f*factor);
-                        distList.push_back(170.0f*factor);
-                        distList.push_back(200.0f*factor);
-                        distList.push_back(230.0f*factor);
-                        distList.push_back(250.0f*factor);
-                        distList.push_back(270.0f*factor);
-                        distList.push_back(290.0f*factor);
-                        distList.push_back(310.0f*factor);
-                        distList.push_back(330.0f*factor);
+                            distList.push_back(70.0f*factor);
+                            distList.push_back(140.0f*factor);
+                            distList.push_back(170.0f*factor);
+                            distList.push_back(200.0f*factor);
+                            distList.push_back(230.0f*factor);
+                            distList.push_back(250.0f*factor);
+                            distList.push_back(270.0f*factor);
+                            distList.push_back(290.0f*factor);
+                            distList.push_back(310.0f*factor);
+                            distList.push_back(330.0f*factor);
 
-                        float reductionValue = 0.15f;
+                            float reductionValue = 0.15f;
 
-                        
-                        //Generiert LOD-Levels
-                        this->mesh_.getEntity()->getMesh()->generateLodLevels(distList, Ogre::ProgressiveMesh::VRQ_PROPORTIONAL, reductionValue);
-                    }
-                    else
-                    {
-                        std::string what;
-                        if(lodLevel_>5)
-                            what = ">5";
+                            
+                            //Generiert LOD-Levels
+                            this->mesh_.getEntity()->getMesh()->generateLodLevels(distList, Ogre::ProgressiveMesh::VRQ_PROPORTIONAL, reductionValue);
+                        }
                         else
-                            what = "<0";
-                        
-                        COUT(4)<<"LodLevel not set because lodLevel("<<lodLevel_<<") was "<<what<<"."<<std::endl;
+                        {
+                            std::string what;
+                            if(lodLevel_>5)
+                                what = ">5";
+                            else
+                                what = "<0";
+                            
+                            COUT(4)<<"LodLevel not set because lodLevel("<<lodLevel_<<") was "<<what<<"."<<std::endl;
+                        }
                     }
                 }
