Index: /GTP/trunk/Lib/Vis/Preprocessing/src/Mutation.cpp
===================================================================
--- /GTP/trunk/Lib/Vis/Preprocessing/src/Mutation.cpp	(revision 2060)
+++ /GTP/trunk/Lib/Vis/Preprocessing/src/Mutation.cpp	(revision 2063)
@@ -336,4 +336,6 @@
 												  )
 {
+#ifdef GTP_INTERNAL
+
   // first reconstruct the termination point
   Vector3 oldDir = Normalize(oldRay.GetDir());
@@ -368,4 +370,5 @@
   float left = 0.0f;
   float right = 1.0f;
+
   // cast rays to find silhouette ray
   for (int j=0; j < mSilhouetteSearchSteps; j++) {
@@ -442,5 +445,7 @@
   }
 
-
+#else
+cerr << "warning: reverse mutation not supported!" << endl;
+#endif
   
   return true;
@@ -460,4 +465,6 @@
 																)
 {
+#ifdef GTP_INTERNAL
+
   const int packetSize = 4;
   static int hit_triangles[packetSize];
@@ -516,4 +523,10 @@
   //  cout<<i<<endl;
   return shifts[i];
+
+#else
+	cerr << "warning: shiluette mutation not supported" << endl;
+	return Vector3(0, 0, 0);
+#endif
+  
 }
 
Index: /GTP/trunk/Lib/Vis/Preprocessing/src/RayCaster.h
===================================================================
--- /GTP/trunk/Lib/Vis/Preprocessing/src/RayCaster.h	(revision 2048)
+++ /GTP/trunk/Lib/Vis/Preprocessing/src/RayCaster.h	(revision 2063)
@@ -54,14 +54,18 @@
 						const bool pruneInvalidRays = true) = 0;
 
-	virtual void CastRays16(
-							 SimpleRayContainer &rays,
-							 VssRayContainer &vssRays,
-							 const AxisAlignedBox3 &sbox,
-							 const bool castDoubleRay,
-							 const bool pruneInvalidRays = true) = 0;
+	virtual void CastRays16(SimpleRayContainer &rays,
+							VssRayContainer &vssRays,
+							const AxisAlignedBox3 &sbox,
+							const bool castDoubleRay,
+							const bool pruneInvalidRays = true) = 0;
 
-
-  virtual void
-  SortRays(SimpleRayContainer &rays);
+	/*virtual void CastRaysEye4(SimpleRayContainer &rays,
+							  VssRayContainer &vssRays,
+							  const AxisAlignedBox3 &sbox,
+							  const bool castDoubleRay,
+							  const bool pruneInvalidRays = true) = 0;
+*/
+	virtual void
+	SortRays(SimpleRayContainer &rays);
 
 
Index: /GTP/trunk/Lib/Vis/Preprocessing/src/Preprocessor.vcproj
===================================================================
--- /GTP/trunk/Lib/Vis/Preprocessing/src/Preprocessor.vcproj	(revision 2048)
+++ /GTP/trunk/Lib/Vis/Preprocessing/src/Preprocessor.vcproj	(revision 2063)
@@ -320,5 +320,5 @@
 				OptimizeForProcessor="3"
 				OptimizeForWindowsApplication="TRUE"
-				AdditionalIncludeDirectories="..\src;..\..\..\..\..\..\NonGTP\Devil\include;..\..\..\..\..\..\NonGTP\Zlib\include;..\..\..\..\..\..\NonGTP\Xerces;..\..\..\..\..\..\NonGTP\Boost;..\MultiLevelRayTracing;&quot;$(QTDIR)\include\QtCore&quot;;&quot;$(QTDIR)\include\QtGui&quot;;&quot;$(QTDIR)\include&quot;;&quot;$(QTDIR)\include\QtOpenGl&quot;;&quot;$(CG_INC_PATH)&quot;"
+				AdditionalIncludeDirectories="..\src;..\..\..\..\..\..\NonGTP\Devil\include;..\..\..\..\..\..\NonGTP\Zlib\include;..\..\..\..\..\..\NonGTP\Xerces;..\..\..\..\..\..\NonGTP\Boost;..\MultiLevelRayTracing;&quot;$(QTDIR)\include\QtCore&quot;;&quot;$(QTDIR)\include\QtGui&quot;;&quot;$(QTDIR)\include&quot;;&quot;$(QTDIR)\include\QtOpenGl&quot;;&quot;$(CG_INC_PATH)&quot;;Timer"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;USE_QT;ATI"
 				ExceptionHandling="TRUE"
Index: /GTP/trunk/Lib/Vis/Preprocessing/src/VssPreprocessor.cpp
===================================================================
--- /GTP/trunk/Lib/Vis/Preprocessing/src/VssPreprocessor.cpp	(revision 1966)
+++ /GTP/trunk/Lib/Vis/Preprocessing/src/VssPreprocessor.cpp	(revision 2063)
@@ -624,3 +624,10 @@
 }
 
-}
+
+void VssPreprocessor::DeterminePvsObjects(VssRayContainer &rays)
+{
+	mViewCellsManager->DeterminePvsObjects(rays, true);
+}
+
+
+}
Index: /GTP/trunk/Lib/Vis/Preprocessing/src/VssPreprocessor.h
===================================================================
--- /GTP/trunk/Lib/Vis/Preprocessing/src/VssPreprocessor.h	(revision 1771)
+++ /GTP/trunk/Lib/Vis/Preprocessing/src/VssPreprocessor.h	(revision 2063)
@@ -89,4 +89,6 @@
   void TestBeamCasting(VssTree *tre, ViewCellsManager *vm, const ObjectContainer &objects);
 
+  void DeterminePvsObjects(VssRayContainer &rays);
+
   bool mTestBeamSampling;
 
Index: /GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsParser.cpp
===================================================================
--- /GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsParser.cpp	(revision 2053)
+++ /GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsParser.cpp	(revision 2063)
@@ -64,5 +64,5 @@
 static SAXParser::ValSchemes    valScheme       = SAXParser::Val_Auto;
 
-#define PVS_HACK 1
+#define PVS_HACK 0
 
 inline static bool ilt(Intersectable *obj1, Intersectable *obj2)
