AI_SDB_SpatialListHierarchy Class Reference
[Spatial Database]

#include <AI_SDB_SpatialListHierarchy.h>

Inheritance diagram for AI_SDB_SpatialListHierarchy:

AI_SDB_SpatialHierarchyElement AI_SDB_SpatialElement

List of all members.


Detailed Description

A collection of elements stored as a list.

This is pretty much the most basic spatial heirarchy you can implement, which is not really a heirarchy at all. The set of spatial elements are stuck into a list. For processing visitors, the spatiallist simply calls Accept() on the all the spatial elements, relying on the elements themselves to figure out visibility/occlusion and whatnot.

Obviously more efficient spatial heirarchy data structures exist, but this method is simple and doesn't have the overhead of more complicated spatial heirarchies, making it useful for compiling and processing small sets of spatial elements.

Public Member Functions

 AI_SDB_SpatialListHierarchy ()
 ~AI_SDB_SpatialListHierarchy ()
void ClearList ()
 Clear out spatial element references. Elements are not deleted!
void AddElement (AI_SDB_SpatialElement *appendme)
 Append an element to the list of elements.
void RemoveElement (AI_SDB_SpatialElement *removeme)
 Remove a given element.
virtual void Accept (AI_SDB_VisibilityVisitor &visitor, int recursiondepth, AI_SDB_VisitorFlags flags)
 Process the list of elements.
virtual void Accept (AI_SDB_SpatialVisitor &visitor, int recursiondepth, AI_SDB_VisitorFlags flags)
 Process the list of elements.
virtual void Accept (AI_SDB_OcclusionVisitor &visitor, int recursiondepth, AI_SDB_VisitorFlags flags)
 Process the list of elements.

Protected Attributes

AI_List m_ElementList


Constructor & Destructor Documentation

AI_SDB_SpatialListHierarchy::AI_SDB_SpatialListHierarchy (  ) 

AI_SDB_SpatialListHierarchy::~AI_SDB_SpatialListHierarchy (  ) 


Member Function Documentation

void AI_SDB_SpatialListHierarchy::ClearList (  ) 

Clear out spatial element references. Elements are not deleted!

void AI_SDB_SpatialListHierarchy::AddElement ( AI_SDB_SpatialElement appendme  ) 

Append an element to the list of elements.

void AI_SDB_SpatialListHierarchy::RemoveElement ( AI_SDB_SpatialElement removeme  ) 

Remove a given element.

void AI_SDB_SpatialListHierarchy::Accept ( AI_SDB_VisibilityVisitor visitor,
int  recursiondepth,
AI_SDB_VisitorFlags  flags 
) [virtual]

Process the list of elements.

Reimplemented from AI_SDB_SpatialElement.

void AI_SDB_SpatialListHierarchy::Accept ( AI_SDB_SpatialVisitor visitor,
int  recursiondepth,
AI_SDB_VisitorFlags  flags 
) [virtual]

Process the list of elements.

Reimplemented from AI_SDB_SpatialElement.

void AI_SDB_SpatialListHierarchy::Accept ( AI_SDB_OcclusionVisitor visitor,
int  recursiondepth,
AI_SDB_VisitorFlags  flags 
) [virtual]

Process the list of elements.

Reimplemented from AI_SDB_SpatialElement.


Member Data Documentation


The documentation for this class was generated from the following files: