#ifndef _Container_H__ #define _Container_H__ #include #include #include #include "common.h" using std::vector; namespace GtpVisibilityPreprocessor { class TransformedMeshInstance; class ViewCell; class HierarchyNode; class SceneGraphNode; class SceneGraphLeaf; class Intersectable; class Polygon3; class Ray; class Mesh; class KdLeaf; class Vector3; class IntersectableGroup; struct IndexedBoundingBox; struct VisibilityPoint; /** Container storing polygons used during BSP tree construction. */ typedef vector PolygonContainer; /** Container storing a bundle of rays. */ typedef vector RayContainer; /** Container for Mesh pointers primarily for the use within the kDTree and BSP hierarchies */ typedef vector ObjectContainer; /** Container for ViewCell pointers primarily for the use within the kDTree and BSP hierarchies */ typedef vector ViewCellContainer; /** Container for HierarchyNodes pointers primarily for the use within the kDTree and BSP hierarchies */ typedef vector NodeContainer; typedef vector SceneGraphNodeContainer; typedef vector MeshContainer; /** Container storing visibility points, i.e. locations in space storing from point visibility information. */ typedef vector VisibilityPointsContainer; typedef vector IndexedBoundingBoxContainer; /** Container for ViewCell pointers primarily for the use within the kDTree and BSP hierarchies */ typedef vector KdLeafContainer; typedef std::map ObjectMap; /// default vertex container for Mesh typedef std::vector VertexContainer; /// vertex index container typedef std::vector VertexIndexContainer; /// a container for dynamic objects typedef vector DynamicObjectsContainer; // a container for intersectable groups (e.g., triangle soups) typedef vector GroupContainer; } #endif // _Container_H__