OGRE
1.12.4
ObjectOriented Graphics Rendering Engine

Octree datastructure for managing scene nodes. More...
#include <OgreOctreeZoneOctree.h>
Public Types  
typedef std::vector< OctreeNode *>  NodeList 
Public Member Functions  
Octree (Octree *p)  
Octree (PCZone *zone, Octree *p)  
~Octree ()  
~Octree ()  
void  _addNode (OctreeNode *) 
Adds an Octree scene node to this octree level. More...  
void  _addNode (PCZSceneNode *) 
Adds an PCZscene node to this octree level. More...  
void  _findNodes (const AxisAlignedBox &t, PCZSceneNodeList &list, PCZSceneNode *exclude, bool includeVisitors, bool full) 
void  _findNodes (const Ray &t, PCZSceneNodeList &list, PCZSceneNode *exclude, bool includeVisitors, bool full) 
void  _findNodes (const Sphere &t, PCZSceneNodeList &list, PCZSceneNode *exclude, bool includeVisitors, bool full) 
void  _findNodes (const PlaneBoundedVolume &t, PCZSceneNodeList &list, PCZSceneNode *exclude, bool includeVisitors, bool full) 
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. More...  
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. More...  
void  _getCullBounds (AxisAlignedBox *) const 
Creates the AxisAlignedBox used for culling this octree. More...  
void  _getCullBounds (AxisAlignedBox *) const 
Creates the AxisAlignedBox used for culling this octree. More...  
bool  _isTwiceSize (const AxisAlignedBox &box) const 
Determines if this octree is twice as big as the given box. More...  
bool  _isTwiceSize (const AxisAlignedBox &box) const 
Determines if this octree is twice as big as the given box. More...  
void  _removeNode (OctreeNode *) 
Removes an Octree scene node to this octree level. More...  
void  _removeNode (PCZSceneNode *) 
Removes an PCZscene node to this octree level. More...  
WireBoundingBox *  getWireBoundingBox () 
Creates the wire frame bounding box for this octant. More...  
WireBoundingBox *  getWireBoundingBox () 
Creates the wire frame bounding box for this octant. More...  
int  numNodes () 
Returns the number of scene nodes attached to this octree. More...  
int  numNodes () 
Returns the number of scene nodes attached to this octree. More...  
Public Attributes  
AxisAlignedBox  mBox 
The bounding box of the octree. More...  
Octree *  mChildren [2][2][2] 
3D array of children of this octree. More...  
Vector3  mHalfSize 
Vector containing the dimensions of this octree / 2. More...  
NodeList  mNodes 
Public list of SceneNodes attached to this particular octree. More...  
PCZSceneNodeList  mNodes 
Public list of SceneNodes attached to this particular octree. More...  
WireBoundingBox *  mWireBoundingBox 
PCZone *  mZone 
Octree datastructure for managing scene nodes.
typedef std::vector< OctreeNode * > Ogre::Octree::NodeList 
Ogre::Octree::Octree  (  Octree *  p  ) 
Ogre::Octree::~Octree  (  ) 
Ogre::Octree::~Octree  (  ) 
void Ogre::Octree::_addNode  (  OctreeNode *  ) 
Adds an Octree scene node to this octree level.
void Ogre::Octree::_removeNode  (  OctreeNode *  ) 
Removes an Octree scene node to this octree level.

inline 
Returns the number of scene nodes attached to this octree.
WireBoundingBox* Ogre::Octree::getWireBoundingBox  (  ) 
Creates the wire frame bounding box for this octant.
Referenced by numNodes().
bool Ogre::Octree::_isTwiceSize  (  const AxisAlignedBox &  box  )  const 
Determines if this octree is twice as big as the given box.
Referenced by numNodes().
void Ogre::Octree::_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.
Referenced by numNodes().
void Ogre::Octree::_getCullBounds  (  AxisAlignedBox *  )  const 
Creates the AxisAlignedBox used for culling this octree.
Referenced by numNodes().
void Ogre::Octree::_addNode  (  PCZSceneNode *  ) 
Adds an PCZscene node to this octree level.
void Ogre::Octree::_removeNode  (  PCZSceneNode *  ) 
Removes an PCZscene node to this octree level.

inline 
Returns the number of scene nodes attached to this octree.
References _findNodes(), _getChildIndexes(), _getCullBounds(), _isTwiceSize(), getWireBoundingBox(), mBox, mChildren, mHalfSize, and mWireBoundingBox.
WireBoundingBox* Ogre::Octree::getWireBoundingBox  (  ) 
Creates the wire frame bounding box for this octant.
bool Ogre::Octree::_isTwiceSize  (  const AxisAlignedBox &  box  )  const 
Determines if this octree is twice as big as the given box.
void Ogre::Octree::_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.
void Ogre::Octree::_getCullBounds  (  AxisAlignedBox *  )  const 
Creates the AxisAlignedBox used for culling this octree.
void Ogre::Octree::_findNodes  (  const AxisAlignedBox &  t, 
PCZSceneNodeList &  list,  
PCZSceneNode *  exclude,  
bool  includeVisitors,  
bool  full  
) 
Referenced by numNodes().
void Ogre::Octree::_findNodes  (  const Ray &  t, 
PCZSceneNodeList &  list,  
PCZSceneNode *  exclude,  
bool  includeVisitors,  
bool  full  
) 
void Ogre::Octree::_findNodes  (  const Sphere &  t, 
PCZSceneNodeList &  list,  
PCZSceneNode *  exclude,  
bool  includeVisitors,  
bool  full  
) 
void Ogre::Octree::_findNodes  (  const PlaneBoundedVolume &  t, 
PCZSceneNodeList &  list,  
PCZSceneNode *  exclude,  
bool  includeVisitors,  
bool  full  
) 
AxisAlignedBox Ogre::Octree::mBox 
The bounding box of the octree.
Referenced by numNodes().
WireBoundingBox * Ogre::Octree::mWireBoundingBox 
Referenced by numNodes().
Vector3 Ogre::Octree::mHalfSize 
Vector containing the dimensions of this octree / 2.
Referenced by numNodes().
Octree * Ogre::Octree::mChildren 
3D array of children of this octree.
Referenced by numNodes().
NodeList Ogre::Octree::mNodes 
Public list of SceneNodes attached to this particular octree.
PCZSceneNodeList Ogre::Octree::mNodes 
Public list of SceneNodes attached to this particular octree.
PCZone* Ogre::Octree::mZone 