Vector3 mHalfSize
Vector containing the dimensions of this octree / 2.
int mNumNodes
number of SceneNodes in this octree and all its children.
void _removeNode(OctreeNode *)
Removes an Octree scene node to this octree level.
void _addNode(OctreeNode *)
Adds an Octree scene node to this octree level.
Octree * mChildren[2][2][2]
3D array of children of this octree.
A 3D box aligned with the x/y/z axes.
NodeList mNodes
Public list of SceneNodes attached to this particular octree.
void _unref()
Decrements the overall node count of this octree and all its parents.
bool _isTwiceSize(const AxisAlignedBox &box) const
Determines if this octree is twice as big as the given box.
list< OctreeNode * >::type NodeList
int numNodes()
Returns the number of scene nodes attached to this octree.
AxisAlignedBox mBox
The bounding box of the octree.
Octree * mParent
parent octree
Octree datastructure for managing scene nodes.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
void _getChildIndexes(const AxisAlignedBox &, int *x, int *y, int *z) const
Returns the appropriate indexes for the child of this octree into which the box will fit...
Standard 3-dimensional vector.
WireBoundingBox * mWireBoundingBox
Allows the rendering of a wireframe bounding box.
void _ref()
Increments the overall node count of this octree and all its parents.
WireBoundingBox * getWireBoundingBox()
Creates the wire frame bounding box for this octant.
void _getCullBounds(AxisAlignedBox *) const
Creates the AxisAlignedBox used for culling this octree.
Specialized SceneNode that is customized for working within an Octree.