Index: GTP/trunk/Lib/Vis/OnlineCullingCHC/src/CoherentHierarchicalCullingManager.cpp
===================================================================
--- GTP/trunk/Lib/Vis/OnlineCullingCHC/src/CoherentHierarchicalCullingManager.cpp	(revision 2280)
+++ GTP/trunk/Lib/Vis/OnlineCullingCHC/src/CoherentHierarchicalCullingManager.cpp	(revision 2287)
@@ -1,3 +1,5 @@
 #include "CoherentHierarchicalCullingManager.h"
+#include "CullingLogManager.h"
+
 #include <time.h>
 
@@ -22,4 +24,5 @@
 void CoherentHierarchicalCullingManager::RenderScene()
 {
+	//CullingLogManager::GetSingleton()->LogMessage("chc");
 	QueryQueue queryQueue;
 	unsigned int visiblePixels = 0;
@@ -37,5 +40,5 @@
 				mHierarchyInterface->GetQueue()->empty()))
 		{
-        	HierarchyNode *node = queryQueue.front().first;
+			HierarchyNode *node = queryQueue.front().first;
 			
 			queryQueue.pop();
@@ -74,5 +77,6 @@
 			if (!mHierarchyInterface->CheckFrustumVisible(node, intersects))
 			{
-				++ mNumFrustumCulledNodes;	
+				++ mNumFrustumCulledNodes;
+
 				if (mVisualizeCulledNodes)
 				{
Index: GTP/trunk/Lib/Vis/OnlineCullingCHC/src/VisibilityManager.cpp
===================================================================
--- GTP/trunk/Lib/Vis/OnlineCullingCHC/src/VisibilityManager.cpp	(revision 2280)
+++ GTP/trunk/Lib/Vis/OnlineCullingCHC/src/VisibilityManager.cpp	(revision 2287)
@@ -53,8 +53,4 @@
 		switch (ocmType)
 		{
-		case VisibilityEnvironment::STOP_AND_WAIT_CULLING:
-			mCullingManager = new StopAndWaitCullingManager();
-			break;
-
 		case VisibilityEnvironment::COHERENT_HIERARCHICAL_CULLING:
 			mCullingManager = new CoherentHierarchicalCullingManager(mAssumedVisibilityForChc);
@@ -63,5 +59,10 @@
 		case VisibilityEnvironment::FRUSTUM_CULLING:
 			//mCullingManager = new FrustumCullingManager();
-			mCullingManager = new RandomUpdateCullingManager();
+			mCullingManager = new RandomUpdateCullingManager();	
+			break;
+
+		case VisibilityEnvironment::STOP_AND_WAIT_CULLING:
+			mCullingManager = new StopAndWaitCullingManager();
+			//mCullingManager = new RandomUpdateCullingManager();
 			break;
 
Index: GTP/trunk/Lib/Vis/OnlineCullingCHC/src/CullingManager.cpp
===================================================================
--- GTP/trunk/Lib/Vis/OnlineCullingCHC/src/CullingManager.cpp	(revision 2280)
+++ GTP/trunk/Lib/Vis/OnlineCullingCHC/src/CullingManager.cpp	(revision 2287)
@@ -16,6 +16,4 @@
 {
 }
-
-
 //-----------------------------------------------------------------------
 void CullingManager::SetHierarchyInterface(HierarchyInterface *hierarchyInterface)
Index: GTP/trunk/Lib/Vis/OnlineCullingCHC/src/RandomUpdateCullingManager.cpp
===================================================================
--- GTP/trunk/Lib/Vis/OnlineCullingCHC/src/RandomUpdateCullingManager.cpp	(revision 2283)
+++ GTP/trunk/Lib/Vis/OnlineCullingCHC/src/RandomUpdateCullingManager.cpp	(revision 2287)
@@ -6,4 +6,5 @@
 namespace GtpVisibility {
 
+const static int R_CANDIDATES = 1;
 //-----------------------------------------------------------------------
 RandomUpdateCullingManager::RandomUpdateCullingManager()
@@ -13,5 +14,5 @@
 	srand(time(NULL));
 
-	mRandomCandidates = 1;
+	mRandomCandidates = R_CANDIDATES;
 }
 //-----------------------------------------------------------------------
@@ -23,9 +24,11 @@
 	srand(time(NULL));
 
-	mRandomCandidates = 1;
+	mRandomCandidates = R_CANDIDATES;
 }
 //-----------------------------------------------------------------------
 void RandomUpdateCullingManager::RenderScene()
 {
+	//CullingLogManager::GetSingleton()->LogMessage("random");
+
 	QueryQueue queryQueue;
 	unsigned int visiblePixels = 0;
@@ -33,7 +36,11 @@
 	/////////////
 	//-- PART 1: process finished occlusion queries
+
+	// update the fully visible classifications
+	mHierarchyInterface->DetermineFullVisibility(mHierarchyInterface->GetHierarchyRoot());
+
 	//mHierarchyInterface->TraverseNode2(mHierarchyInterface->GetHierarchyRoot());
-	//return;
-
+	
+#if 1
 	while (!mHierarchyInterface->GetQueue()->empty() || !queryQueue.empty())
 	{
@@ -84,5 +91,6 @@
 			if (!mHierarchyInterface->CheckFrustumVisible(node, intersects))
 			{
-				++ mNumFrustumCulledNodes;	
+				++ mNumFrustumCulledNodes;
+
 				if (mVisualizeCulledNodes)
 				{
@@ -127,5 +135,5 @@
 															mHierarchyInterface->GetFrameId());
 
-						queryQueue.push(QueryPair(node, 
+						queryQueue.push(QueryPair(randomLeaf, 
 							mHierarchyInterface->IssueNodeOcclusionQuery(node)));
 					}
@@ -165,7 +173,8 @@
 		}
 	}
-
-	// update the fully visible classifications
-	mHierarchyInterface->DetermineFullVisibility(mHierarchyInterface->GetHierarchyRoot());
+#endif
+	//while (!mHierarchyInterface->GetQueue()->empty())
+	//	mHierarchyInterface->GetQueue()->pop();
+	
 }
 //-----------------------------------------------------------------------
