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

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