Index: GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreBoundingBoxConverter.h
===================================================================
--- GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreBoundingBoxConverter.h	(revision 1621)
+++ GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreBoundingBoxConverter.h	(revision 1623)
@@ -66,4 +66,19 @@
 	}
 	
+	//-------------------------------------------------------------------------
+	inline static AxisAlignedBox ScaleBox(const AxisAlignedBox &box)
+	{
+		const float scale = 1.5f;
+        Vector3 max = box.getMaximum();
+        Vector3 min = box.getMinimum();
+		Vector3 size = max - min;
+		Vector3 newSize = size*(scale*0.5f);
+		Vector3 center = 0.5f * (min + max); 
+
+		Vector3 min = center - newSize;
+		Vector3 max = center + newSize;
+
+		return AxisAlignedBox(min, max);
+	}
 	/** find object which fits best to this bounding box
 	*/
@@ -89,4 +104,5 @@
 {
 	list<SceneNode *> sceneNodeList;
+	AxisAlignedBox3 enlargedBox = 
 	AxisAlignedBox mybox = EnlargeBox(box);
 		
@@ -154,5 +170,5 @@
 }
 //-----------------------------------------------------------------------
-template<typename T>
+/*template<typename T>
 void PlatFormBoundingBoxConverter<T>::FindIntersectingObjects(const AxisAlignedBox &box,
 															  EntityContainer &objects) const
@@ -161,12 +177,12 @@
 			
 	// get intersecting scene nodes (= candidates)
-	//AxisAlignedBox mybox = EnlargeBox(box);
-	//mSceneMgr->findNodesIn(mybox, sceneNodeList, NULL);
-	mSceneMgr->findNodesIn(box, sceneNodeList, NULL);
+	AxisAlignedBox mybox = EnlargeBox(box);
+	mSceneMgr->findNodesIn(mybox, sceneNodeList, NULL);
+	//mSceneMgr->findNodesIn(box, sceneNodeList, NULL);
 
 	list<SceneNode *>::const_iterator sit, sit_end = sceneNodeList.end();
 
-	//GtpVisibilityPreprocessor::AxisAlignedBox nodeBox = OgreTypeConverter::ConvertFromOgre(mybox);
-	GtpVisibilityPreprocessor::AxisAlignedBox3 nodeBox = OgreTypeConverter::ConvertFromOgre(box);
+	GtpVisibilityPreprocessor::AxisAlignedBox3 nodeBox = OgreTypeConverter::ConvertFromOgre(mybox);
+	//GtpVisibilityPreprocessor::AxisAlignedBox3 nodeBox = OgreTypeConverter::ConvertFromOgre(box);
 
 	// find really intersecting objects
@@ -201,5 +217,52 @@
 	}
 }
-
+*/
+template<typename T>
+void PlatFormBoundingBoxConverter<T>::FindIntersectingObjects(const AxisAlignedBox &box,
+															  EntityContainer &objects) const
+{//return;
+	list<SceneNode *> sceneNodeList;
+			
+	// get intersecting scene nodes (= candidates)
+	AxisAlignedBox mybox = EnlargeBox(box);
+	//mSceneMgr->findNodesIn(mybox, sceneNodeList, NULL);
+	mSceneMgr->findNodesIn(box, sceneNodeList, NULL);
+
+	list<SceneNode *>::const_iterator sit, sit_end = sceneNodeList.end();
+
+	//GtpVisibilityPreprocessor::AxisAlignedBox3 nodeBox = OgreTypeConverter::ConvertFromOgre(mybox);
+	GtpVisibilityPreprocessor::AxisAlignedBox3 nodeBox = OgreTypeConverter::ConvertFromOgre(box);
+
+	// find really intersecting objects
+	for (sit = sceneNodeList.begin(); sit != sceneNodeList.end(); ++ sit)
+	{
+		SceneNode *sn = *sit;
+		SceneNode::ObjectIterator oit = sn->getAttachedObjectIterator();
+
+        while (oit.hasMoreElements())
+		{
+			MovableObject *mo = oit.getNext();
+
+			// we are only interested in scene entities
+			if (mo->getMovableType() != "Entity")
+			{
+				continue;
+			}
+			 
+			//const AxisAlignedBox bbox = EnlargeBox(mo->getWorldBoundingBox());
+			const AxisAlignedBox bbox = mo->getWorldBoundingBox();
+
+			const bool overlaps = Overlap(nodeBox,
+										  OgreTypeConverter::ConvertFromOgre(bbox)
+										  );
+										  //,0.00001);
+	
+			 if (overlaps)
+			 {
+				 objects.push_back(static_cast<Entity *>(mo));
+			 }
+		}
+	}
+}
 #if USE_KD_PVS
 //-------------------------------------------------------------------------
Index: GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreOcclusionCullingSceneManager.cpp
===================================================================
--- GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreOcclusionCullingSceneManager.cpp	(revision 1622)
+++ GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreOcclusionCullingSceneManager.cpp	(revision 1623)
@@ -703,10 +703,10 @@
 			SetObjectsVisible(!mUseViewCells);
 
-			/*MovableObjectIterator movit = getMovableObjectIterator("Entity");
+			MovableObjectIterator movit = getMovableObjectIterator("Entity");
 			while (movit.hasMoreElements())
 			{
 				Entity *ent = static_cast<Entity *>(movit.getNext());
 				ent->setVisible(!mUseViewCells);
-			}*/
+			}
 		}
 
