AI_SDB_SpatialSector.h
Go to the documentation of this file.00001 #ifndef AI_SDB_SPATIAL_SECTOR_H 00002 #define AI_SDB_SPATIAL_SECTOR_H 00003 00004 #include "AI_SDB_SpatialListHierarchy.h" 00005 #include "AI_SDB_SpatialAABBTree.h" 00006 00007 //-------------------------------------------------------------------- 00028 class AI_SDB_SpatialSector 00029 { 00030 public: 00031 AI_SDB_SpatialSector(); 00032 ~AI_SDB_SpatialSector(); 00033 00035 typedef AI_SDB_SpatialElement * ElementHandle; 00036 00038 void Configure(const AI_Matrix44 &transformtoglobalspace); 00039 00040 virtual ElementHandle AddElement(AI_SDB_SpatialElement *addme); 00041 virtual void UpdateElement(ElementHandle elementid, const AI_BBox &newbbox); 00042 virtual void RemoveElement(ElementHandle elementid); 00043 00044 virtual void Accept(AI_SDB_VisibilityVisitor &v, int recursiondepth, AI_SDB_VisitorFlags flags = AI_SDB_VisitorFlags() ); 00045 virtual void Accept(AI_SDB_SpatialVisitor &v, int recursiondepth, AI_SDB_VisitorFlags flags = AI_SDB_VisitorFlags() ); 00046 virtual void Accept(AI_SDB_OcclusionVisitor &v, int recursiondepth, AI_SDB_VisitorFlags flags = AI_SDB_VisitorFlags()); 00047 00048 protected: 00049 // The elements of the sector are stashed in here... 00050 AI_SDB_SpatialAABBTree m_Nodeset; 00051 }; 00052 00053 00054 #endif