#include <OgreOctreeZone.h>
Public Types | |
enum | NODE_LIST_TYPE { HOME_NODE_LIST = 1, VISITOR_NODE_LIST = 2 } |
Public Member Functions | |
OctreeZone (PCZSceneManager *, const String &) | |
virtual | ~OctreeZone () |
virtual void | _addAntiPortal (AntiPortal *newAntiPortal) |
virtual void | _addNode (PCZSceneNode *) |
Adds an SceneNode to this OctreeZone. More... | |
virtual void | _addPortal (Portal *newPortal) |
virtual void | _checkLightAgainstPortals (PCZLight *, unsigned long, PCZFrustum *, Portal *) |
(recursive) check the given light against all portals in the zone More... | |
virtual void | _checkNodeAgainstPortals (PCZSceneNode *, Portal *) |
(recursive) check the given node against all portals in the zone More... | |
virtual void | _clearNodeLists (short nodeListTypes) |
Remove all nodes from the node reference list and clear it. More... | |
virtual void | _findNodes (const AxisAlignedBox &t, PCZSceneNodeList &list, PortalList &visitedPortals, bool includeVisitors, bool recurseThruPortals, PCZSceneNode *exclude) |
virtual void | _findNodes (const Sphere &t, PCZSceneNodeList &list, PortalList &visitedPortals, bool includeVisitors, bool recurseThruPortals, PCZSceneNode *exclude) |
virtual void | _findNodes (const PlaneBoundedVolume &t, PCZSceneNodeList &list, PortalList &visitedPortals, bool includeVisitors, bool recurseThruPortals, PCZSceneNode *exclude) |
virtual void | _findNodes (const Ray &t, PCZSceneNodeList &list, PortalList &visitedPortals, bool includeVisitors, bool recurseThruPortals, PCZSceneNode *exclude) |
virtual void | _removeAntiPortal (AntiPortal *removeAntiPortal) |
virtual void | _removePortal (Portal *removePortal) |
void | addNodeToOctree (PCZSceneNode *, Octree *octree, int depth=0) |
Adds the Octree Node, starting at the given octree, and recursing at max to the specified depth. More... | |
virtual void | createNodeZoneData (PCZSceneNode *) |
create zone specific data for a node More... | |
void | dirtyNodeByMovingPortals (void) |
Mark nodes dirty base on moving portals. More... | |
virtual Portal * | findMatchingPortal (Portal *) |
find a matching portal (for connecting portals) More... | |
virtual void | findVisibleNodes (PCZCamera *, NodeList &visibleNodeList, RenderQueue *queue, VisibleObjectsBoundsInfo *visibleBounds, bool onlyShadowCasters, bool displayNodes, bool showBoundingBoxes) |
Find and add visible objects to the render queue. More... | |
virtual void | getAABB (AxisAlignedBox &) |
SceneNode * | getEnclosureNode (void) |
unsigned long | getLastVisibleFrame (void) |
PCZCamera * | getLastVisibleFromCamera () |
const String & | getName (void) const |
bool | getPortalsUpdated (void) |
void * | getUserData (void) |
const String & | getZoneTypeName () const |
bool | hasSky (void) |
void | init (AxisAlignedBox &box, int depth) |
virtual void | notifyBeginRenderScene (void) |
virtual void | notifyCameraCreated (Camera *c) |
called when the scene manager creates a camera because some zone managers (like TerrainZone) need the camera info. More... | |
virtual void | notifyWorldGeometryRenderQueue (uint8 qid) |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info More... | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new More... | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info More... | |
void * | operator new[] (size_t sz) |
virtual void | removeNode (PCZSceneNode *) |
Removes all references to a SceneNode from this Zone. More... | |
void | removeNodeFromOctree (PCZSceneNode *) |
Removes the node from the octree it is in. More... | |
virtual bool | requiresZoneSpecificNodeData (void) |
Indicates whether or not this zone requires zone-specific data for each scene node. More... | |
void | resize (const AxisAlignedBox &box) |
Resizes the octree to the given size. More... | |
virtual void | setEnclosureNode (PCZSceneNode *) |
Set the enclosure node for this OctreeZone. More... | |
void | setHasSky (bool yesno) |
if sky should be drawn with this zone More... | |
void | setLastVisibleFrame (unsigned long frameCount) |
void | setLastVisibleFromCamera (PCZCamera *camera) |
virtual bool | setOption (const String &, const void *) |
Sets the given option for the Zone. More... | |
void | setPortalsUpdated (bool updated) |
void | setUserData (void *userData) |
virtual void | setZoneGeometry (const String &filename, PCZSceneNode *parentNode) |
virtual PCZone * | updateNodeHomeZone (PCZSceneNode *pczsn, bool allowBackTouces) |
void | updateNodeOctant (OctreeZoneData *zoneData) |
Checks the given OctreeNode, and determines if it needs to be moved to a different octant. More... | |
void | updatePortalsZoneData (void) |
Public Attributes | |
AntiPortalList | mAntiPortals |
PCZSceneManager * | mPCZSM |
PortalList | mPortals |
list of Portals which this zone contains (each portal leads to another zone) More... | |
Protected Member Functions | |
void | walkOctree (PCZCamera *, NodeList &, RenderQueue *, Octree *, VisibleObjectsBoundsInfo *visibleBounds, bool foundvisible, bool onlyShadowCasters, bool displayNodes, bool showBoundingBoxes) |
Walks through the octree, adding any visible objects to the render queue. More... | |
Protected Attributes | |
AxisAlignedBox | mBox |
Size of the octree. More... | |
SceneNode * | mEnclosureNode |
bool | mHasSky |
PCZSceneNodeList | mHomeNodeList |
unsigned long | mLastVisibleFrame |
PCZCamera * | mLastVisibleFromCamera |
bool | mLoose |
int | mMaxDepth |
Max depth for the tree. More... | |
String | mName |
Octree * | mOctree |
The root octree. More... | |
bool | mPortalsUpdated |
void * | mUserData |
PCZSceneNodeList | mVisitorNodeList |
String | mZoneTypeName |
Zone type name. More... | |
Definition at line 54 of file OgreOctreeZone.h.
|
inherited |
Enumerator | |
---|---|
HOME_NODE_LIST | |
VISITOR_NODE_LIST |
Definition at line 86 of file OgrePCZone.h.
Ogre::OctreeZone::OctreeZone | ( | PCZSceneManager * | , |
const String & | |||
) |
|
virtual |
|
virtualinherited |
|
virtual |
Adds an SceneNode to this OctreeZone.
Implements Ogre::PCZone.
|
virtualinherited |
|
virtual |
(recursive) check the given light against all portals in the zone
Implements Ogre::PCZone.
|
virtual |
(recursive) check the given node against all portals in the zone
Implements Ogre::PCZone.
|
virtual |
Remove all nodes from the node reference list and clear it.
Reimplemented from Ogre::PCZone.
|
virtual |
Implements Ogre::PCZone.
|
virtual |
Implements Ogre::PCZone.
|
virtual |
Implements Ogre::PCZone.
|
virtual |
Implements Ogre::PCZone.
|
virtualinherited |
|
virtualinherited |
void Ogre::OctreeZone::addNodeToOctree | ( | PCZSceneNode * | , |
Octree * | octree, | ||
int | depth = 0 |
||
) |
|
virtual |
create zone specific data for a node
Reimplemented from Ogre::PCZone.
|
virtual |
Mark nodes dirty base on moving portals.
Implements Ogre::PCZone.
find a matching portal (for connecting portals)
|
virtual |
Find and add visible objects to the render queue.
Implements Ogre::PCZone.
|
virtual |
Reimplemented from Ogre::PCZone.
|
inlineinherited |
Definition at line 103 of file OgrePCZone.h.
|
inlineinherited |
Definition at line 117 of file OgrePCZone.h.
|
inlineinherited |
Definition at line 123 of file OgrePCZone.h.
|
inlineinherited |
Definition at line 99 of file OgrePCZone.h.
|
inlineinherited |
Definition at line 245 of file OgrePCZone.h.
|
inlineinherited |
Definition at line 247 of file OgrePCZone.h.
|
inlineinherited |
Definition at line 96 of file OgrePCZone.h.
|
inlineinherited |
Definition at line 111 of file OgrePCZone.h.
void Ogre::OctreeZone::init | ( | AxisAlignedBox & | box, |
int | depth | ||
) |
|
virtual |
Implements Ogre::PCZone.
Reimplemented in Ogre::TerrainZone.
|
virtual |
called when the scene manager creates a camera because some zone managers (like TerrainZone) need the camera info.
Implements Ogre::PCZone.
Reimplemented in Ogre::TerrainZone.
|
virtual |
Implements Ogre::PCZone.
Reimplemented in Ogre::TerrainZone.
|
inlineinherited |
Definition at line 95 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 101 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 107 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 112 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 118 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
operator new, with debug line info
Definition at line 67 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 72 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
placement operator new
Definition at line 78 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
array operator new, with debug line info
Definition at line 85 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 90 of file OgreMemoryAllocatedObject.h.
|
virtual |
Removes all references to a SceneNode from this Zone.
Implements Ogre::PCZone.
void Ogre::OctreeZone::removeNodeFromOctree | ( | PCZSceneNode * | ) |
Removes the node from the octree it is in.
|
virtual |
Indicates whether or not this zone requires zone-specific data for each scene node.
Implements Ogre::PCZone.
void Ogre::OctreeZone::resize | ( | const AxisAlignedBox & | box | ) |
Resizes the octree to the given size.
|
virtual |
Set the enclosure node for this OctreeZone.
Implements Ogre::PCZone.
Reimplemented in Ogre::TerrainZone.
|
inlineinherited |
if sky should be drawn with this zone
Definition at line 107 of file OgrePCZone.h.
|
inlineinherited |
Definition at line 114 of file OgrePCZone.h.
|
inlineinherited |
Definition at line 120 of file OgrePCZone.h.
|
virtual |
Sets the given option for the Zone.
Implements Ogre::PCZone.
Reimplemented in Ogre::TerrainZone.
|
inlineinherited |
Definition at line 244 of file OgrePCZone.h.
|
inlineinherited |
Definition at line 248 of file OgrePCZone.h.
|
virtual |
Implements Ogre::PCZone.
Reimplemented in Ogre::TerrainZone.
|
virtual |
Implements Ogre::PCZone.
void Ogre::OctreeZone::updateNodeOctant | ( | OctreeZoneData * | zoneData | ) |
Checks the given OctreeNode, and determines if it needs to be moved to a different octant.
|
virtual |
Implements Ogre::PCZone.
|
protected |
Walks through the octree, adding any visible objects to the render queue.
|
inherited |
Definition at line 252 of file OgrePCZone.h.
|
protected |
Size of the octree.
Definition at line 211 of file OgreOctreeZone.h.
|
protectedinherited |
Definition at line 283 of file OgrePCZone.h.
|
protectedinherited |
Definition at line 281 of file OgrePCZone.h.
|
protectedinherited |
Definition at line 285 of file OgrePCZone.h.
|
protectedinherited |
Definition at line 277 of file OgrePCZone.h.
|
protectedinherited |
Definition at line 279 of file OgrePCZone.h.
|
protected |
Definition at line 213 of file OgreOctreeZone.h.
|
protected |
Max depth for the tree.
Definition at line 209 of file OgreOctreeZone.h.
|
protectedinherited |
Definition at line 273 of file OgrePCZone.h.
|
protected |
The root octree.
Definition at line 207 of file OgreOctreeZone.h.
|
inherited |
Definition at line 254 of file OgrePCZone.h.
|
inherited |
list of Portals which this zone contains (each portal leads to another zone)
Definition at line 251 of file OgrePCZone.h.
|
protectedinherited |
Definition at line 289 of file OgrePCZone.h.
|
protectedinherited |
Definition at line 292 of file OgrePCZone.h.
|
protectedinherited |
Definition at line 287 of file OgrePCZone.h.
|
protectedinherited |
Zone type name.
Definition at line 275 of file OgrePCZone.h.