Index: trunk/VUT/GtpVisibility/src/PreprocessingManager.cpp
===================================================================
--- trunk/VUT/GtpVisibility/src/PreprocessingManager.cpp	(revision 65)
+++ trunk/VUT/GtpVisibility/src/PreprocessingManager.cpp	(revision 65)
@@ -0,0 +1,28 @@
+#include "PreprocessingManager.h"
+
+namespace GtpVisibility {
+  
+  
+  bool
+  PreprocessingManager::GetPVS(
+			       const Vector3 &center,
+			       const float radius,
+			       InfoContainer<NodeInfo> *visibleNodes,
+			       InfoContainer<MeshInfo> *visibleMeshes )
+  {
+    vector<int> viewCellIds;
+    if (LocateViewCellIds(center, radius, &viewCellIds)) {
+      for (vector<int>::iterator ci = viewCellIds.begin();
+	   ci != viewCellIds.end();
+	   ci++) {
+	AddViewCellPVS(*ci,
+		       visibleNodes,
+		       visibleMeshes );
+	// remove duplicates of the PVS entries if any?
+      }
+      return true;
+    }
+    return false;
+  }
+  
+};
Index: trunk/VUT/GtpVisibility/src/QueryManager.cpp
===================================================================
--- trunk/VUT/GtpVisibility/src/QueryManager.cpp	(revision 65)
+++ trunk/VUT/GtpVisibility/src/QueryManager.cpp	(revision 65)
@@ -0,0 +1,19 @@
+#include "QueryManager.h"
+
+
+namespace GtpVisibility {
+  
+  bool
+  QueryManager::ShootRay(const Ray &ray,
+			 std::vector<Mesh *> *visibleMeshes,
+			 bool isGlobalLine
+			 )
+  {
+    // run OGRE ray shooting query
+    
+
+    return false;
+  }
+  
+  
+};
Index: trunk/VUT/GtpVisibility/src/VisibilityManager.cpp
===================================================================
--- trunk/VUT/GtpVisibility/src/VisibilityManager.cpp	(revision 59)
+++ trunk/VUT/GtpVisibility/src/VisibilityManager.cpp	(revision 65)
@@ -3,4 +3,6 @@
 #include "CoherentHierarchicalCullingManager.h"
 #include "FrustumCullingManager.h"
+#include "DummyPreprocessingManager.h"
+#include "DummyQueryManager.h"
 
 namespace GtpVisibility {
@@ -13,4 +15,8 @@
 	mCullingManagerType = VisibilityEnvironment::FRUSTUM_CULLING;
 	mCullingManager = new FrustumCullingManager(0);
+
+	mQueryManager = new DummyQueryManager(0);
+	mPreprocessingManager = new DummyPreprocessingManager(0);
+
 }
 
Index: trunk/VUT/GtpVisibility/src/DummyPreprocessingManager.cpp
===================================================================
--- trunk/VUT/GtpVisibility/src/DummyPreprocessingManager.cpp	(revision 65)
+++ trunk/VUT/GtpVisibility/src/DummyPreprocessingManager.cpp	(revision 65)
@@ -0,0 +1,55 @@
+#include "DummyPreprocessingManager.h"
+
+namespace GtpVisibility {
+
+DummyPreprocessingManager::DummyPreprocessingManager( HierarchyInterface *hierarchyInterface )
+  :PreprocessingManager(hierarchyInterface)
+{
+}
+  
+
+bool
+DummyPreprocessingManager::ExportScene(const string filename)
+{
+  ofstream s(filename.c_str());
+  s<<"#VRML 2.0 utf8"<<endl;
+  s<<"#Dummy module output"<<endl;
+  return true;
+}
+  
+
+bool
+DummyPreprocessingManager::LoadPreprocessedData(const string filename)
+{
+  // do nothing
+  return false;
+}
+
+  
+  /** 
+      Find viewcells intersecting a spherical neighborhood of a point.
+      Returns false if no viewcell was found.
+    */
+bool
+DummyPreprocessingManager::LocateViewCellIds(const Vector3 &center,
+					     const float radius,
+					     vector<int> *viewCellIds
+					     )
+{
+  return false;
+}
+  
+/** 
+    Uses the specified viewcell to find its PVS
+*/
+int
+DummyPreprocessingManager::AddViewCellPVS(const int cellID,
+					  InfoContainer<NodeInfo> *visibleNodes,
+					  InfoContainer<MeshInfo> *visibleMeshes )
+{
+  // return the root of the hierarchyInterface regardless of the cellId
+  //  visibleNodes->push_back(traverser->GetRoot());
+  return false;
+}
+
+}
Index: trunk/VUT/GtpVisibility/src/DummyQueryManager.cpp
===================================================================
--- trunk/VUT/GtpVisibility/src/DummyQueryManager.cpp	(revision 65)
+++ trunk/VUT/GtpVisibility/src/DummyQueryManager.cpp	(revision 65)
@@ -0,0 +1,44 @@
+#include "DummyQueryManager.h"
+
+
+namespace GtpVisibility {
+
+  /** 
+	Uses explicit camera to execute the visibility query
+  */
+  void
+  DummyQueryManager::ComputeCameraVisibility(const Camera &camera,
+					     InfoContainer<NodeInfo> *visibleNodes,
+					     InfoContainer<MeshInfo> *visibleGeometry,
+					     bool relativeVisibility
+					     )
+  {
+    visibleNodes->push_back(NodeInfo(mHierarchyInterface->GetSceneRoot(), 1.0f));
+    
+//      HierarchyInterface::MeshIterator *mi =
+//        hierarchyInterface->GetMeshIterator(hierarchyInterface->GetRoot());
+    
+//      for (; mi(); mi++)
+//        visibleGeometry.push_back(MeshInfo(*mi, 1.0f));
+  }
+  
+  /** 
+      Uses the specified point to execute the visibility query in all directions
+  */
+  void
+  DummyQueryManager::ComputeFromPointVisibility(const Vector3 &point,
+						InfoContainer<NodeInfo> *visibleNodes,
+						InfoContainer<MeshInfo> *visibleGeometry,
+						bool relativeVisibility
+						)
+  {
+    visibleNodes->push_back(NodeInfo(mHierarchyInterface->GetSceneRoot(), 1.0f));
+    
+//      HierarchyInterface::MeshIterator *mi =
+//        hierarchyInterface->GetMeshIterator(hierarchyInterface->GetRoot());
+    
+//      for (; mi(); mi++)
+//        visibleGeometry.push_back(MeshInfo(*mi, 1.0f));
+  }
+  
+};
