[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;
|
---|
[2702] | 24 | class IntersectableGroup;
|
---|
[372] | 25 |
|
---|
[850] | 26 | struct IndexedBoundingBox;
|
---|
[810] | 27 | struct VisibilityPoint;
|
---|
| 28 |
|
---|
[863] | 29 |
|
---|
[372] | 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
|
---|
[1344] | 39 | BSP hierarchies
|
---|
| 40 | */
|
---|
[372] | 41 | typedef vector<Intersectable *> ObjectContainer;
|
---|
| 42 |
|
---|
| 43 | /** Container for ViewCell pointers primarily for the use within the kDTree and
|
---|
[1344] | 44 | BSP hierarchies
|
---|
| 45 | */
|
---|
[372] | 46 | typedef vector<ViewCell *> ViewCellContainer;
|
---|
| 47 |
|
---|
| 48 | /** Container for HierarchyNodes pointers primarily for the use within the kDTree and
|
---|
[1001] | 49 | BSP hierarchies
|
---|
[1344] | 50 | */
|
---|
[372] | 51 | typedef vector<HierarchyNode *> NodeContainer;
|
---|
| 52 |
|
---|
| 53 | typedef vector<SceneGraphNode *> SceneGraphNodeContainer;
|
---|
| 54 |
|
---|
[503] | 55 | typedef vector<Mesh *> MeshContainer;
|
---|
[372] | 56 |
|
---|
[810] | 57 | /** Container storing visibility points, i.e. locations in space storing from point visibility
|
---|
| 58 | information.
|
---|
| 59 | */
|
---|
| 60 | typedef vector<VisibilityPoint *> VisibilityPointsContainer;
|
---|
[372] | 61 |
|
---|
[850] | 62 | typedef vector<IndexedBoundingBox> IndexedBoundingBoxContainer;
|
---|
| 63 |
|
---|
[1184] | 64 | /** Container for ViewCell pointers primarily for the use within the kDTree and
|
---|
[1344] | 65 | BSP hierarchies
|
---|
| 66 | */
|
---|
[1184] | 67 | typedef vector<KdLeaf *> KdLeafContainer;
|
---|
| 68 |
|
---|
[1072] | 69 | typedef std::map<int, Intersectable *> ObjectMap;
|
---|
| 70 |
|
---|
[1344] | 71 | /// default vertex container for Mesh
|
---|
| 72 | typedef std::vector<Vector3> VertexContainer;
|
---|
| 73 |
|
---|
| 74 | /// vertex index container
|
---|
| 75 | typedef std::vector<int> VertexIndexContainer;
|
---|
| 76 |
|
---|
[2609] | 77 | /// a container for dynamic objects
|
---|
[2615] | 78 | typedef vector<SceneGraphLeaf *> DynamicObjectsContainer;
|
---|
[2609] | 79 |
|
---|
[2702] | 80 | // a container for intersectable groups (e.g., triangle soups)
|
---|
| 81 | typedef vector<IntersectableGroup *> GroupContainer;
|
---|
[2678] | 82 |
|
---|
[860] | 83 | }
|
---|
| 84 |
|
---|
[372] | 85 | #endif // _Container_H__
|
---|