#ifndef _VisibilityDummyPreprocessingManager_H__ #define _VisibilityDummyPreprocessingManager_H__ #include "PreprocessingManager.h" namespace GtpVisibility { /** Implements a dummy interface to the external visibility preprocessing. */ class DummyPreprocessingManager : public PreprocessingManager { public: /** Constructor taking a scene traverser for a specific type of hierarchyInterface as argument. */ DummyPreprocessingManager( HierarchyInterface *hierarchyInterface ); /** Export the scene for visibility preprocessing. Exports the hierarchyInterface including its bounding boxes + mesh data for occluders. The viewcell data will either be supplied directly to the visibility preprocessing standalone module */ virtual bool ExportScene(const string filename); /** Load preprocessed visibility information */ virtual bool LoadPreprocessedData(const string filename); protected: /** Find viewcells intersecting a spherical neighborhood of a point. Returns false if no viewcell was found. */ virtual bool LocateViewCellIds(const Vector3 ¢er, const float radius, vector *viewCellIds ); /** Add a PVS of the given viewcell to the already evaluated PVS by computing a union with visibleNodes and visibleMeshes. Returns the number of added entries. */ virtual int AddViewCellPVS(const int cellID, NodeInfoContainer *visibleNodes, MeshInfoContainer *visibleMeshes); }; }; #endif // VisibilityPreprocessingManager