OGRE
1.11.6
Object-Oriented 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 |