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 | class IntersectableGroup;
|
---|
25 |
|
---|
26 | struct IndexedBoundingBox;
|
---|
27 | struct VisibilityPoint;
|
---|
28 |
|
---|
29 |
|
---|
30 | /** Container storing polygons used during BSP tree construction.
|
---|
31 | */
|
---|
32 | typedef vector<Polygon3 *> PolygonContainer;
|
---|
33 |
|
---|
34 | /** Container storing a bundle of rays.
|
---|
35 | */
|
---|
36 | typedef vector<Ray *> RayContainer;
|
---|
37 |
|
---|
38 | /** Container for Mesh pointers primarily for the use within the kDTree and
|
---|
39 | BSP hierarchies
|
---|
40 | */
|
---|
41 | typedef vector<Intersectable *> ObjectContainer;
|
---|
42 |
|
---|
43 | /** Container for ViewCell pointers primarily for the use within the kDTree and
|
---|
44 | BSP hierarchies
|
---|
45 | */
|
---|
46 | typedef vector<ViewCell *> ViewCellContainer;
|
---|
47 |
|
---|
48 | /** Container for HierarchyNodes pointers primarily for the use within the kDTree and
|
---|
49 | BSP hierarchies
|
---|
50 | */
|
---|
51 | typedef vector<HierarchyNode *> NodeContainer;
|
---|
52 |
|
---|
53 | typedef vector<SceneGraphNode *> SceneGraphNodeContainer;
|
---|
54 |
|
---|
55 | typedef vector<Mesh *> MeshContainer;
|
---|
56 |
|
---|
57 | /** Container storing visibility points, i.e. locations in space storing from point visibility
|
---|
58 | information.
|
---|
59 | */
|
---|
60 | typedef vector<VisibilityPoint *> VisibilityPointsContainer;
|
---|
61 |
|
---|
62 | typedef vector<IndexedBoundingBox> IndexedBoundingBoxContainer;
|
---|
63 |
|
---|
64 | /** Container for ViewCell pointers primarily for the use within the kDTree and
|
---|
65 | BSP hierarchies
|
---|
66 | */
|
---|
67 | typedef vector<KdLeaf *> KdLeafContainer;
|
---|
68 |
|
---|
69 | typedef std::map<int, Intersectable *> ObjectMap;
|
---|
70 |
|
---|
71 | /// default vertex container for Mesh
|
---|
72 | typedef std::vector<Vector3> VertexContainer;
|
---|
73 |
|
---|
74 | /// vertex index container
|
---|
75 | typedef std::vector<int> VertexIndexContainer;
|
---|
76 |
|
---|
77 | /// a container for dynamic objects
|
---|
78 | typedef vector<SceneGraphLeaf *> DynamicObjectsContainer;
|
---|
79 |
|
---|
80 | // a container for intersectable groups (e.g., triangle soups)
|
---|
81 | typedef vector<IntersectableGroup *> GroupContainer;
|
---|
82 |
|
---|
83 | }
|
---|
84 |
|
---|
85 | #endif // _Container_H__
|
---|