source: GTP/trunk/Lib/Vis/Preprocessing/src/Containers.h @ 2116

Revision 2116, 1.8 KB checked in by mattausch, 18 years ago (diff)

implemented hashpvs

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