Urho3D::Octant Class Reference
Urho3D::Octant Class Reference
#include <Urho3D/Graphics/Octree.h>
Inheritance diagram for Urho3D::Octant:
Collaboration diagram for Urho3D::Octant:
Public Member Functions | |
Octant (const BoundingBox &box, unsigned level, Octant *parent, Octree *root, 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 * | GetRoot () const |
Return octree root. | |
unsigned | GetNumDrawables () const |
Return number of drawables. | |
bool | IsEmpty () |
Return true if there are no drawable objects in this octant and child octants. | |
void | ResetRoot () |
Reset root pointer recursively. Called when the whole octree is being destroyed. | |
void | DrawDebugGeometry (DebugRenderer *debug, bool depthTest) |
Draw bounds to the debug graphics recursively. | |
Protected Member Functions | |
void | Initialize (const BoundingBox &box) |
Initialize bounding box. | |
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, PODVector< Drawable * > &drawables) const |
Return drawable objects only for a threaded ray query, called internally. | |
void | IncDrawableCount () |
Increase drawable object count recursively. | |
void | DecDrawableCount () |
Decrease drawable object count recursively and remove octant if it becomes empty. | |
Protected Attributes | |
BoundingBox | worldBoundingBox_ |
World bounding box. | |
BoundingBox | cullingBox_ |
Bounding box used for drawable object fitting. | |
PODVector< Drawable * > | drawables_ |
Drawable objects. | |
Octant * | children_ [NUM_OCTANTS] {} |
Child octants. | |
Vector3 | center_ |
World bounding box center. | |
Vector3 | halfSize_ |
World bounding box half size. | |
unsigned | level_ |
Subdivision level. | |
unsigned | numDrawables_ {} |
Number of drawable objects in this octant and child octants. | |
Octant * | parent_ |
Parent octant. | |
Octree * | root_ |
Octree root. | |
unsigned | index_ |
Octant index relative to its siblings or ROOT_INDEX for root octant. | |
Detailed Description
Octree octant.
Member Function Documentation
◆ GetWorldBoundingBox()
|
inline |
Return world-space bounding box.
The documentation for this class was generated from the following files:
- Source/Urho3D/Graphics/Octree.h
- Source/Urho3D/Graphics/Octree.cpp