|
| Octant (const BoundingBox &box, unsigned level, Octant *parent, Octree *octree, unsigned index=ROOT_INDEX) |
| Construct.
|
|
virtual | ~Octant () |
| Destruct. Move drawables to root if available (detach if not) and free child octants.
|
|
Octant * | GetOrCreateChild (unsigned index) |
| Return or create a child octant.
|
|
void | DeleteChild (unsigned index) |
| Delete child octant.
|
|
void | InsertDrawable (Drawable *drawable) |
| Insert a drawable object by checking for fit recursively.
|
|
bool | CheckDrawableFit (const BoundingBox &box) const |
| Check if a drawable object fits.
|
|
void | AddDrawable (Drawable *drawable) |
| Add a drawable object to this octant.
|
|
void | RemoveDrawable (Drawable *drawable, bool resetOctant=true) |
| Remove a drawable object from this octant.
|
|
const BoundingBox & | GetWorldBoundingBox () const |
|
const BoundingBox & | GetCullingBox () const |
| Return bounding box used for fitting drawable objects.
|
|
unsigned | GetLevel () const |
| Return subdivision level.
|
|
Octant * | GetParent () const |
| Return parent octant.
|
|
Octree * | GetOctree () const |
| Return octree.
|
|
unsigned | GetNumDrawables () const |
| Return number of drawables.
|
|
bool | IsEmpty () |
| Return true if there are no drawable objects in this octant and child octants.
|
|
void | SetRootSize (const BoundingBox &box) |
| Set size for the root octant. If octree is not empty, drawable objects will be temporarily moved to the root.
|
|
void | ResetOctree () |
| Reset octree pointer recursively. Called when the whole octree is being destroyed.
|
|
void | DrawDebugGeometry (DebugRenderer *debug, bool depthTest) |
|
void | GetDrawablesInternal (OctreeQuery &query, bool inside) const |
| Return drawable objects by a query, called internally.
|
|
void | GetDrawablesInternal (RayOctreeQuery &query) const |
| Return drawable objects by a ray query, called internally.
|
|
void | GetDrawablesOnlyInternal (RayOctreeQuery &query, ea::vector< Drawable * > &drawables) const |
| Return drawable objects only for a threaded ray query, called internally.
|
|