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