[65] | 1 | #ifndef _VisibilityDummyPreprocessingManager_H__ |
---|
| 2 | #define _VisibilityDummyPreprocessingManager_H__ |
---|
| 3 | |
---|
| 4 | #include "PreprocessingManager.h" |
---|
| 5 | |
---|
| 6 | |
---|
| 7 | namespace GtpVisibility { |
---|
| 8 | |
---|
| 9 | /** |
---|
| 10 | Implements a dummy interface to the external visibility preprocessing. |
---|
| 11 | */ |
---|
| 12 | class DummyPreprocessingManager : public PreprocessingManager |
---|
| 13 | { |
---|
| 14 | public: |
---|
| 15 | |
---|
| 16 | |
---|
| 17 | /** Constructor taking a scene traverser for a specific type of |
---|
| 18 | hierarchyInterface as argument. |
---|
| 19 | */ |
---|
| 20 | DummyPreprocessingManager( HierarchyInterface *hierarchyInterface ); |
---|
| 21 | |
---|
| 22 | |
---|
| 23 | /** |
---|
| 24 | Export the scene for visibility preprocessing. Exports the hierarchyInterface including |
---|
| 25 | its bounding boxes + mesh data for occluders. The viewcell data will either be |
---|
| 26 | supplied directly to the visibility preprocessing standalone module |
---|
| 27 | */ |
---|
| 28 | virtual bool ExportScene(const string filename); |
---|
| 29 | |
---|
| 30 | |
---|
| 31 | /** |
---|
| 32 | Load preprocessed visibility information |
---|
| 33 | */ |
---|
| 34 | virtual bool LoadPreprocessedData(const string filename); |
---|
| 35 | |
---|
| 36 | |
---|
| 37 | protected: |
---|
| 38 | |
---|
| 39 | /** |
---|
| 40 | Find viewcells intersecting a spherical neighborhood of a point. |
---|
| 41 | Returns false if no viewcell was found. |
---|
| 42 | */ |
---|
| 43 | virtual bool LocateViewCellIds(const Vector3 ¢er, |
---|
| 44 | const float radius, |
---|
| 45 | vector<int> *viewCellIds |
---|
| 46 | ); |
---|
| 47 | |
---|
| 48 | |
---|
| 49 | /** |
---|
| 50 | Add a PVS of the given viewcell to the already evaluated PVS by computing |
---|
| 51 | a union with visibleNodes and visibleMeshes. Returns the number of added entries. |
---|
| 52 | */ |
---|
| 53 | virtual int AddViewCellPVS(const int cellID, |
---|
| 54 | InfoContainer<NodeInfo> *visibleNodes, |
---|
| 55 | InfoContainer<MeshInfo> *visibleMeshes ); |
---|
| 56 | |
---|
| 57 | }; |
---|
| 58 | |
---|
| 59 | }; |
---|
| 60 | |
---|
| 61 | #endif // VisibilityPreprocessingManager |
---|