AI_SDB_SpatialPortalElement Class Reference
[Spatial Database]
#include <AI_SDB_SpatialElements.h>
Detailed Description
A visibility interface between two sectors.A sector conveys a spatial relationship between two sectors; that they are connected spatially through the portal, and that one sector is visible to another sector through the portal. This means especially the visibility routine to completely ignore a sector if none of the portals connecting to that sector are visible.
The portal is not considered a spatial hierarchy element because it obeys special rules; more notably, spatial queries ignore portals altogether and use sector nesting and bounding boxes instead. Visibility queries cull away non-visible portals and use the visible portals to determine what other sectors are visible.
Public Member Functions | |
AI_SDB_SpatialPortalElement (const AI_BBox &initbbox, AI_SDB_SpatialSector *parentsector, AI_SDB_SpatialSector *connecttosector) | |
~AI_SDB_SpatialPortalElement () | |
virtual void | Accept (AI_SDB_VisibilityVisitor &visitor, int recursiondepth, AI_SDB_VisitorFlags flags) |
virtual void | Accept (AI_SDB_SpatialVisitor &visitor, int recursiondepth, AI_SDB_VisitorFlags flags) |
Protected Attributes | |
AI_Ref< AI_SDB_SpatialSector > | m_parentsector |
AI_Ref< AI_SDB_SpatialSector > | m_otherside |
Constructor & Destructor Documentation
AI_SDB_SpatialPortalElement::AI_SDB_SpatialPortalElement | ( | const AI_BBox & | initbbox, | |
AI_SDB_SpatialSector * | parentsector, | |||
AI_SDB_SpatialSector * | connecttosector | |||
) | [inline] |
AI_SDB_SpatialPortalElement::~AI_SDB_SpatialPortalElement | ( | ) | [inline] |
Member Function Documentation
void AI_SDB_SpatialPortalElement::Accept | ( | AI_SDB_VisibilityVisitor & | visitor, | |
int | recursiondepth, | |||
AI_SDB_VisitorFlags | flags | |||
) | [virtual] |
get processed by a visitor. The element can do some tests, call nested objects, etc. and then will call Visit() on the visitor if this element should be considered "visible" or "contained" as the case may be. the Visitor then processes the element in some visitor-dependent manner.
Reimplemented from AI_SDB_BBoxSpatialElement.
void AI_SDB_SpatialPortalElement::Accept | ( | AI_SDB_SpatialVisitor & | visitor, | |
int | recursiondepth, | |||
AI_SDB_VisitorFlags | flags | |||
) | [virtual] |
Reimplemented from AI_SDB_BBoxSpatialElement.
Member Data Documentation
The documentation for this class was generated from the following files: