00001 #ifndef _Preprocessor_H__ 00002 #define _Preprocessor_H__ 00003 00004 #include "Containers.h" 00005 #include "Mesh.h" 00006 #include "KdTree.h" 00007 #include "ViewCellBsp.h" 00008 #include "SceneGraph.h" 00009 00016 namespace GtpVisibilityPreprocessor { 00021 class Preprocessor { 00022 public: 00027 virtual bool LoadScene(const string filename); 00028 00035 virtual bool LoadViewcells(const string filename); 00036 00043 virtual bool GenerateViewcells(); 00044 00050 virtual bool ExportPreprocessedData(const string filename); 00051 00056 virtual bool BuildKdTree(); 00057 00062 virtual bool ComputeVisibility() = 0; 00063 00064 00065 protected: 00067 SceneGraph *mSceneGraph; 00069 BSPTree *mViewCellBSPTree; 00071 KdTree *mKdTree; 00072 00074 MeshContainer mOccluders; 00076 MeshContainer mOccludees; 00078 ViewCellContainer mViewcells; 00079 00080 }; 00081 00082 }; 00083 00084 00085 00086 00087 #endif