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 | NodeInfoContainer *visibleNodes, |
---|
55 | MeshInfoContainer *visibleMeshes); |
---|
56 | |
---|
57 | }; |
---|
58 | |
---|
59 | }; |
---|
60 | |
---|
61 | #endif // VisibilityPreprocessingManager |
---|