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