1 | #ifndef _Container_H__
|
---|
2 | #define _Container_H__
|
---|
3 |
|
---|
4 | #include <vector>
|
---|
5 | #include <queue>
|
---|
6 | #include <map>
|
---|
7 | #include "common.h"
|
---|
8 |
|
---|
9 | using std::vector;
|
---|
10 |
|
---|
11 | namespace GtpVisibilityPreprocessor {
|
---|
12 |
|
---|
13 | class TransformedMeshInstance;
|
---|
14 | class ViewCell;
|
---|
15 | class HierarchyNode;
|
---|
16 | class SceneGraphNode;
|
---|
17 | class SceneGraphLeaf;
|
---|
18 | class Intersectable;
|
---|
19 | class Polygon3;
|
---|
20 | class Ray;
|
---|
21 | class Mesh;
|
---|
22 | class KdLeaf;
|
---|
23 | class Vector3;
|
---|
24 |
|
---|
25 | struct IndexedBoundingBox;
|
---|
26 | struct VisibilityPoint;
|
---|
27 |
|
---|
28 |
|
---|
29 | /** Container storing polygons used during BSP tree construction.
|
---|
30 | */
|
---|
31 | typedef vector<Polygon3 *> PolygonContainer;
|
---|
32 |
|
---|
33 | /** Container storing a bundle of rays.
|
---|
34 | */
|
---|
35 | typedef vector<Ray *> RayContainer;
|
---|
36 |
|
---|
37 | /** Container for Mesh pointers primarily for the use within the kDTree and
|
---|
38 | BSP hierarchies
|
---|
39 | */
|
---|
40 | typedef vector<Intersectable *> ObjectContainer;
|
---|
41 |
|
---|
42 | /** Container for ViewCell pointers primarily for the use within the kDTree and
|
---|
43 | BSP hierarchies
|
---|
44 | */
|
---|
45 | typedef vector<ViewCell *> ViewCellContainer;
|
---|
46 |
|
---|
47 | /** Container for HierarchyNodes pointers primarily for the use within the kDTree and
|
---|
48 | BSP hierarchies
|
---|
49 | */
|
---|
50 | typedef vector<HierarchyNode *> NodeContainer;
|
---|
51 |
|
---|
52 | typedef vector<SceneGraphNode *> SceneGraphNodeContainer;
|
---|
53 |
|
---|
54 | typedef vector<Mesh *> MeshContainer;
|
---|
55 |
|
---|
56 | /** Container storing visibility points, i.e. locations in space storing from point visibility
|
---|
57 | information.
|
---|
58 | */
|
---|
59 | typedef vector<VisibilityPoint *> VisibilityPointsContainer;
|
---|
60 |
|
---|
61 | typedef vector<IndexedBoundingBox> IndexedBoundingBoxContainer;
|
---|
62 |
|
---|
63 | /** Container for ViewCell pointers primarily for the use within the kDTree and
|
---|
64 | BSP hierarchies
|
---|
65 | */
|
---|
66 | typedef vector<KdLeaf *> KdLeafContainer;
|
---|
67 |
|
---|
68 | typedef std::map<int, Intersectable *> ObjectMap;
|
---|
69 |
|
---|
70 | /// default vertex container for Mesh
|
---|
71 | typedef std::vector<Vector3> VertexContainer;
|
---|
72 |
|
---|
73 | /// vertex index container
|
---|
74 | typedef std::vector<int> VertexIndexContainer;
|
---|
75 |
|
---|
76 | /// a container for dynamic objects
|
---|
77 |
|
---|
78 | #if USE_TRANSFORMED_MESH_INSTANCE_HACK
|
---|
79 | typedef std::vector<TransformedMeshInstance *> DynamicObjectsContainer;
|
---|
80 | #else
|
---|
81 | typedef vector<SceneGraphLeaf *> DynamicObjectsContainer;
|
---|
82 | #endif
|
---|
83 |
|
---|
84 | }
|
---|
85 |
|
---|
86 | #endif // _Container_H__
|
---|