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