AI_SDB_SpatialSector Class Reference
[Spatial Database]

#include <AI_SDB_SpatialSector.h>

List of all members.


Detailed Description

A collection of elements in a specific region of space.

A sector represents a section of space with a bunch of objects in it. Note that the sector could be infinite in size, which is typically used for top or root-level sectors. Having finite-size sectors is encouraged where possible since it allows the spatial querying to work more efficiently.

You can query a sector with a AI_SDB_VisibilityVisitor or AI_SDB_SpatialVisitor, of which there are various types in order to perform different kinds of queries.

Sectors are typically connected to each other by portals. You can also nest sectors within each other using the NOH; a sector contains all the sectors that are child nodes of this sector.

Public Types

typedef AI_SDB_SpatialElementElementHandle
 Somewhat-opaque handle to elements within the sector.

Public Member Functions

 AI_SDB_SpatialSector ()
 ~AI_SDB_SpatialSector ()
void Configure (const AI_Matrix44 &transformtoglobalspace)
 set the local coordinate system of the sector
virtual ElementHandle AddElement (AI_SDB_SpatialElement *addme)
virtual void UpdateElement (ElementHandle elementid, const AI_BBox &newbbox)
virtual void RemoveElement (ElementHandle elementid)
virtual void Accept (AI_SDB_VisibilityVisitor &v, int recursiondepth, AI_SDB_VisitorFlags flags=AI_SDB_VisitorFlags())
virtual void Accept (AI_SDB_SpatialVisitor &v, int recursiondepth, AI_SDB_VisitorFlags flags=AI_SDB_VisitorFlags())
virtual void Accept (AI_SDB_OcclusionVisitor &v, int recursiondepth, AI_SDB_VisitorFlags flags=AI_SDB_VisitorFlags())

Protected Attributes

AI_SDB_SpatialAABBTree m_Nodeset


Member Typedef Documentation

Somewhat-opaque handle to elements within the sector.


Constructor & Destructor Documentation

AI_SDB_SpatialSector::AI_SDB_SpatialSector (  ) 

AI_SDB_SpatialSector::~AI_SDB_SpatialSector (  ) 


Member Function Documentation

void AI_SDB_SpatialSector::Configure ( const AI_Matrix44 transformtoglobalspace  ) 

set the local coordinate system of the sector

AI_SDB_SpatialSector::ElementHandle AI_SDB_SpatialSector::AddElement ( AI_SDB_SpatialElement addme  )  [virtual]

void AI_SDB_SpatialSector::UpdateElement ( AI_SDB_SpatialSector::ElementHandle  elementid,
const AI_BBox newbbox 
) [virtual]

void AI_SDB_SpatialSector::RemoveElement ( AI_SDB_SpatialSector::ElementHandle  elementid  )  [virtual]

void AI_SDB_SpatialSector::Accept ( AI_SDB_VisibilityVisitor v,
int  recursiondepth,
AI_SDB_VisitorFlags  flags = AI_SDB_VisitorFlags() 
) [virtual]

void AI_SDB_SpatialSector::Accept ( AI_SDB_SpatialVisitor v,
int  recursiondepth,
AI_SDB_VisitorFlags  flags = AI_SDB_VisitorFlags() 
) [virtual]

void AI_SDB_SpatialSector::Accept ( AI_SDB_OcclusionVisitor v,
int  recursiondepth,
AI_SDB_VisitorFlags  flags = AI_SDB_VisitorFlags() 
) [virtual]


Member Data Documentation


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