#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) |
Add an anti portal to the zone. More... | |
virtual void | _addNode (PCZSceneNode *) |
Adds an SceneNode to this OctreeZone. More... | |
virtual void | _addPortal (Portal *newPortal) |
Add a portal to the zone. More... | |
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) |
Functions for finding Nodes that intersect various shapes. More... | |
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) |
Remove an anti portal from the zone. More... | |
virtual void | _removePortal (Portal *removePortal) |
Remove a portal from the zone. More... | |
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 &) |
Get the world coordinate aabb of the zone. More... | |
SceneNode * | getEnclosureNode (void) |
Get a pointer to the enclosure node for this PCZone. More... | |
unsigned long | getLastVisibleFrame (void) |
Get the lastVisibleFrame counter value. More... | |
PCZCamera * | getLastVisibleFromCamera () |
Get the lastVisibleFromCamera pointer. More... | |
const String & | getName (void) const |
bool | getPortalsUpdated (void) |
void * | getUserData (void) |
Get & set the user data. More... | |
const String & | getZoneTypeName () const |
bool | hasSky (void) |
void | init (AxisAlignedBox &box, int depth) |
Init function carried over from OctreeSceneManager. More... | |
virtual void | notifyBeginRenderScene (void) |
Called when a _renderScene is called in the SceneManager. More... | |
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) |
Called by PCZSM during setWorldGeometryRenderQueue() More... | |
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) |
Set the lastVisibleFrame counter. More... | |
void | setLastVisibleFromCamera (PCZCamera *camera) |
Set the lastVisibleFromCamera pointer. More... | |
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) |
Called by PCZSM during setZoneGeometry() More... | |
virtual PCZone * | updateNodeHomeZone (PCZSceneNode *pczsn, bool allowBackTouces) |
Update a node's home zone. More... | |
void | updateNodeOctant (OctreeZoneData *zoneData) |
Checks the given OctreeNode, and determines if it needs to be moved to a different octant. More... | |
void | updatePortalsZoneData (void) |
Update the zone data for each portal. More... | |
Public Attributes | |
AntiPortalList | mAntiPortals |
PCZSceneManager * | mPCZSM |
Pointer to the pcz scene manager that created this zone. More... | |
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 |
SceneNode which corresponds to the enclosure for this zone. More... | |
bool | mHasSky |
Flag determining whether or not this zone has sky in it. More... | |
PCZSceneNodeList | mHomeNodeList |
List of SceneNodes contained in this particular PCZone. More... | |
unsigned long | mLastVisibleFrame |
Frame counter for visibility. More... | |
PCZCamera * | mLastVisibleFromCamera |
Last camera which this zone was visible to. More... | |
bool | mLoose |
int | mMaxDepth |
Max depth for the tree. More... | |
String | mName |
Name of the zone (must be unique) More... | |
Octree * | mOctree |
The root octree. More... | |
bool | mPortalsUpdated |
Flag recording whether any portals in this zone have moved. More... | |
void * | mUserData |
User defined data pointer - NOT allocated or deallocated by the zone! you must clean it up yourself! More... | |
PCZSceneNodeList | mVisitorNodeList |
List of SceneNodes visiting this particular PCZone. More... | |
String | mZoneTypeName |
Zone type name. More... | |
Definition at line 53 of file OgreOctreeZone.h.
|
inherited |
Enumerator | |
---|---|
HOME_NODE_LIST | |
VISITOR_NODE_LIST |
Definition at line 85 of file OgrePCZone.h.
Ogre::OctreeZone::OctreeZone | ( | PCZSceneManager * | , |
const String & | |||
) |
|
virtual |
|
virtualinherited |
Add an anti portal to the zone.
|
virtual |
Adds an SceneNode to this OctreeZone.
Implements Ogre::PCZone.
|
virtualinherited |
Add a portal to the zone.
|
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 |
Functions for finding Nodes that intersect various shapes.
Implements Ogre::PCZone.
|
virtual |
Implements Ogre::PCZone.
|
virtual |
Implements Ogre::PCZone.
|
virtual |
Implements Ogre::PCZone.
|
virtualinherited |
Remove an anti portal from the zone.
|
virtualinherited |
Remove a portal from the zone.
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 |
Get the world coordinate aabb of the zone.
Reimplemented from Ogre::PCZone.
|
inlineinherited |
Get a pointer to the enclosure node for this PCZone.
Definition at line 102 of file OgrePCZone.h.
|
inlineinherited |
Get the lastVisibleFrame counter value.
Definition at line 116 of file OgrePCZone.h.
|
inlineinherited |
Get the lastVisibleFromCamera pointer.
Definition at line 122 of file OgrePCZone.h.
|
inlineinherited |
Definition at line 98 of file OgrePCZone.h.
|
inlineinherited |
Definition at line 244 of file OgrePCZone.h.
|
inlineinherited |
Get & set the user data.
Definition at line 246 of file OgrePCZone.h.
|
inlineinherited |
Definition at line 95 of file OgrePCZone.h.
|
inlineinherited |
Definition at line 110 of file OgrePCZone.h.
void Ogre::OctreeZone::init | ( | AxisAlignedBox & | box, |
int | depth | ||
) |
Init function carried over from OctreeSceneManager.
|
virtual |
Called when a _renderScene is called in the SceneManager.
Implements Ogre::PCZone.
|
virtual |
Called when the scene manager creates a camera because some zone managers (like TerrainZone) need the camera info.
Implements Ogre::PCZone.
|
virtual |
Called by PCZSM during setWorldGeometryRenderQueue()
Implements Ogre::PCZone.
|
inlineinherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 91 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.
|
inlineinherited |
If sky should be drawn with this zone.
Definition at line 106 of file OgrePCZone.h.
|
inlineinherited |
Set the lastVisibleFrame counter.
Definition at line 113 of file OgrePCZone.h.
|
inlineinherited |
Set the lastVisibleFromCamera pointer.
Definition at line 119 of file OgrePCZone.h.
|
virtual |
Sets the given option for the Zone.
Implements Ogre::PCZone.
|
inlineinherited |
Definition at line 243 of file OgrePCZone.h.
|
inlineinherited |
Definition at line 247 of file OgrePCZone.h.
|
virtual |
Called by PCZSM during setZoneGeometry()
Implements Ogre::PCZone.
|
virtual |
Update a node's home zone.
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 |
Update the zone data for each portal.
Implements Ogre::PCZone.
|
protected |
Walks through the octree, adding any visible objects to the render queue.
|
inherited |
Definition at line 251 of file OgrePCZone.h.
|
protected |
Size of the octree.
Definition at line 210 of file OgreOctreeZone.h.
|
protectedinherited |
SceneNode which corresponds to the enclosure for this zone.
Definition at line 282 of file OgrePCZone.h.
|
protectedinherited |
Flag determining whether or not this zone has sky in it.
Definition at line 280 of file OgrePCZone.h.
|
protectedinherited |
List of SceneNodes contained in this particular PCZone.
Definition at line 284 of file OgrePCZone.h.
|
protectedinherited |
Frame counter for visibility.
Definition at line 276 of file OgrePCZone.h.
|
protectedinherited |
Last camera which this zone was visible to.
Definition at line 278 of file OgrePCZone.h.
|
protected |
Definition at line 212 of file OgreOctreeZone.h.
|
protected |
Max depth for the tree.
Definition at line 208 of file OgreOctreeZone.h.
|
protectedinherited |
Name of the zone (must be unique)
Definition at line 272 of file OgrePCZone.h.
|
protected |
The root octree.
Definition at line 206 of file OgreOctreeZone.h.
|
inherited |
Pointer to the pcz scene manager that created this zone.
Definition at line 253 of file OgrePCZone.h.
|
inherited |
List of Portals which this zone contains (each portal leads to another zone)
Definition at line 250 of file OgrePCZone.h.
|
protectedinherited |
Flag recording whether any portals in this zone have moved.
Definition at line 288 of file OgrePCZone.h.
|
protectedinherited |
User defined data pointer - NOT allocated or deallocated by the zone! you must clean it up yourself!
Definition at line 291 of file OgrePCZone.h.
|
protectedinherited |
List of SceneNodes visiting this particular PCZone.
Definition at line 286 of file OgrePCZone.h.
|
protectedinherited |
Zone type name.
Definition at line 274 of file OgrePCZone.h.