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

Revision 2702, 2.1 KB checked in by mattausch, 16 years ago (diff)

implemented dynamic object placement / removal

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