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