OGRE: Ogre::OctreeZone Class Reference

| OGRE 14.5 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Ogre::OctreeZone Class Reference
Plugins » OctreeZone

`#include <OgreOctreeZone.h>`

Inheritance diagram for Ogre::OctreeZone:
[legend]

## Public Member Functions
| OctreeZone (PCZSceneManager *, const String &)
virtual | ~OctreeZone ()
void | _addNode (PCZSceneNode *) override
| Adds an SceneNode to this OctreeZone.
void | _checkLightAgainstPortals (PCZLight *, unsigned long, PCZFrustum *, Portal *) override
| (recursive) Check the given light against all portals in the zone
void | _checkNodeAgainstPortals (PCZSceneNode *, Portal *) override
| (recursive) Check the given node against all portals in the zone
void | _clearNodeLists (short nodeListTypes) override
| Remove all nodes from the node reference list and clear it.
void | _findNodes (const AxisAlignedBox &t, PCZSceneNodeList &list, PortalList &visitedPortals, bool includeVisitors, bool recurseThruPortals, PCZSceneNode *exclude) override
| Functions for finding Nodes that intersect various shapes.
void | _findNodes (const PlaneBoundedVolume &t, PCZSceneNodeList &list, PortalList &visitedPortals, bool includeVisitors, bool recurseThruPortals, PCZSceneNode *exclude) override
void | _findNodes (const Ray &t, PCZSceneNodeList &list, PortalList &visitedPortals, bool includeVisitors, bool recurseThruPortals, PCZSceneNode *exclude) override
void | _findNodes (const Sphere &t, PCZSceneNodeList &list, PortalList &visitedPortals, bool includeVisitors, bool recurseThruPortals, PCZSceneNode *exclude) override
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.
void | createNodeZoneData (PCZSceneNode *) override
| Create zone specific data for a node.
void | dirtyNodeByMovingPortals (void) override
| Mark nodes dirty base on moving portals.
void | findVisibleNodes (PCZCamera *, NodeList &visibleNodeList, RenderQueue *queue, VisibleObjectsBoundsInfo *visibleBounds, bool onlyShadowCasters, bool displayNodes, bool showBoundingBoxes) override
| Find and add visible objects to the render queue.
void | getAABB (AxisAlignedBox &) override
| Get the world coordinate aabb of the zone.
void | init (AxisAlignedBox &box, int depth)
| Init function carried over from OctreeSceneManager.
void | notifyBeginRenderScene (void) override
| Called when a _renderScene is called in the SceneManager.
void | notifyCameraCreated (Camera *c) override
| Called when the scene manager creates a camera because some zone managers (like TerrainZone) need the camera info.
void | notifyWorldGeometryRenderQueue (uint8 qid) override
| Called by PCZSM during setWorldGeometryRenderQueue().
void | removeNode (PCZSceneNode *) override
| Removes all references to a SceneNode from this Zone.
void | removeNodeFromOctree (PCZSceneNode *)
| Removes the node from the octree it is in.
bool | requiresZoneSpecificNodeData (void) override
| Indicates whether or not this zone requires zone-specific data for each scene node.
void | resize (const AxisAlignedBox &box)
| Resizes the octree to the given size.
void | setEnclosureNode (PCZSceneNode *) override
| Set the enclosure node for this OctreeZone.
bool | setOption (const String &, const void *) override
| Sets the given option for the Zone.
void | setZoneGeometry (const String &filename, PCZSceneNode *parentNode) override
| Called by PCZSM during setZoneGeometry().
PCZone * | updateNodeHomeZone (PCZSceneNode *pczsn, bool allowBackTouces) override
| Update a node's home zone.
void | updateNodeOctant (OctreeZoneData *zoneData)
| Checks the given OctreeNode, and determines if it needs to be moved to a different octant.
void | updatePortalsZoneData (void) override
| Update the zone data for each portal.
Public Member Functions inherited from Ogre::PCZone
| PCZone (PCZSceneManager *, const String &)
virtual | ~PCZone ()
virtual void | _addAntiPortal (AntiPortal *newAntiPortal)
| Add an anti portal to the zone.
virtual void | _addPortal (Portal *newPortal)
| Add a portal to the zone.
virtual void | _removeAntiPortal (AntiPortal *removeAntiPortal)
| Remove an anti portal from the zone.
virtual void | _removePortal (Portal *removePortal)
| Remove a portal from the zone.
virtual Portal * | findMatchingPortal (Portal *)
| Find a matching portal (for connecting portals).
SceneNode * | getEnclosureNode (void)
| Get a pointer to the enclosure node for this PCZone.
unsigned long | getLastVisibleFrame (void)
| Get the lastVisibleFrame counter value.
PCZCamera * | getLastVisibleFromCamera ()
| Get the lastVisibleFromCamera pointer.
const String & | getName (void) const
bool | getPortalsUpdated (void)
void * | getUserData (void)
| Get & set the user data.
const String & | getZoneTypeName () const
bool | hasSky (void)
void | setHasSky (bool yesno)
| If sky should be drawn with this zone.
void | setLastVisibleFrame (unsigned long frameCount)
| Set the lastVisibleFrame counter.
void | setLastVisibleFromCamera (PCZCamera *camera)
| Set the lastVisibleFromCamera pointer.
void | setPortalsUpdated (bool updated)
void | setUserData (void *userData)

## Additional Inherited Members
Public Types inherited from Ogre::PCZone
enum | NODE_LIST_TYPE { HOME_NODE_LIST = 1 , VISITOR_NODE_LIST = 2 }
Public Attributes inherited from Ogre::PCZone
AntiPortalList | mAntiPortals
PCZSceneManager * | mPCZSM
| Pointer to the pcz scene manager that created this zone.
PortalList | mPortals
| List of Portals which this zone contains (each portal leads to another zone).

## Constructor & Destructor Documentation

## ◆ OctreeZone()

Ogre::OctreeZone::OctreeZone | ( | PCZSceneManager * | ,
|  | const String & | )

## ◆ ~OctreeZone()

virtual Ogre::OctreeZone::~OctreeZone | ( |  | ) |
| virtual

## Member Function Documentation

## ◆ setEnclosureNode()

void Ogre::OctreeZone::setEnclosureNode | ( | PCZSceneNode * |  | ) |
| overridevirtual

Set the enclosure node for this OctreeZone.

Implements Ogre::PCZone.

## ◆ _addNode()

void Ogre::OctreeZone::_addNode | ( | PCZSceneNode * |  | ) |
| overridevirtual

Adds an SceneNode to this OctreeZone.

The PCZSceneManager calls this function to add a node to the zone.

Implements Ogre::PCZone.

## ◆ removeNode()

void Ogre::OctreeZone::removeNode | ( | PCZSceneNode * |  | ) |
| overridevirtual

Removes all references to a SceneNode from this Zone.

Implements Ogre::PCZone.

## ◆ _clearNodeLists()

void Ogre::OctreeZone::_clearNodeLists | ( | short | nodeListTypes | ) |
| overridevirtual

Remove all nodes from the node reference list and clear it.

Reimplemented from Ogre::PCZone.

## ◆ requiresZoneSpecificNodeData()

bool Ogre::OctreeZone::requiresZoneSpecificNodeData | ( | void |  | ) |
| overridevirtual

Indicates whether or not this zone requires zone-specific data for each scene node.

Implements Ogre::PCZone.

## ◆ createNodeZoneData()

void Ogre::OctreeZone::createNodeZoneData | ( | PCZSceneNode * |  | ) |
| overridevirtual

Create zone specific data for a node.

Reimplemented from Ogre::PCZone.

## ◆ _checkNodeAgainstPortals()

void Ogre::OctreeZone::_checkNodeAgainstPortals | ( | PCZSceneNode * | ,
|  | Portal * | )
| overridevirtual

(recursive) Check the given node against all portals in the zone

Implements Ogre::PCZone.

## ◆ _checkLightAgainstPortals()

void Ogre::OctreeZone::_checkLightAgainstPortals | ( | PCZLight * | ,
|  | unsigned long | ,
|  | PCZFrustum * | ,
|  | Portal * | )
| overridevirtual

(recursive) Check the given light against all portals in the zone

Implements Ogre::PCZone.

## ◆ updatePortalsZoneData()

void Ogre::OctreeZone::updatePortalsZoneData | ( | void |  | ) |
| overridevirtual

Update the zone data for each portal.

Implements Ogre::PCZone.

## ◆ dirtyNodeByMovingPortals()

void Ogre::OctreeZone::dirtyNodeByMovingPortals | ( | void |  | ) |
| overridevirtual

Mark nodes dirty base on moving portals.

Implements Ogre::PCZone.

## ◆ updateNodeHomeZone()

PCZone * Ogre::OctreeZone::updateNodeHomeZone | ( | PCZSceneNode * | pczsn,
|  | bool | allowBackTouces )
| overridevirtual

Update a node's home zone.

Implements Ogre::PCZone.

References Ogre::PCZone::PCZone().

## ◆ findVisibleNodes()

void Ogre::OctreeZone::findVisibleNodes | ( | PCZCamera * | ,
|  | NodeList & | visibleNodeList,
|  | RenderQueue * | queue,
|  | VisibleObjectsBoundsInfo * | visibleBounds,
|  | bool | onlyShadowCasters,
|  | bool | displayNodes,
|  | bool | showBoundingBoxes )
| overridevirtual

Find and add visible objects to the render queue.

Starts with objects in the zone and proceeds through visible portals
This is a recursive call (the main call should be to _findVisibleObjects)

Implements Ogre::PCZone.

## ◆ _findNodes() [1/4]

void Ogre::OctreeZone::_findNodes | ( | const AxisAlignedBox & | t,
|  | PCZSceneNodeList & | list,
|  | PortalList & | visitedPortals,
|  | bool | includeVisitors,
|  | bool | recurseThruPortals,
|  | PCZSceneNode * | exclude )
| overridevirtual

Functions for finding Nodes that intersect various shapes.

Implements Ogre::PCZone.

## ◆ _findNodes() [2/4]

void Ogre::OctreeZone::_findNodes | ( | const Sphere & | t,
|  | PCZSceneNodeList & | list,
|  | PortalList & | visitedPortals,
|  | bool | includeVisitors,
|  | bool | recurseThruPortals,
|  | PCZSceneNode * | exclude )
| overridevirtual

Implements Ogre::PCZone.

## ◆ _findNodes() [3/4]

void Ogre::OctreeZone::_findNodes | ( | const PlaneBoundedVolume & | t,
|  | PCZSceneNodeList & | list,
|  | PortalList & | visitedPortals,
|  | bool | includeVisitors,
|  | bool | recurseThruPortals,
|  | PCZSceneNode * | exclude )
| overridevirtual

Implements Ogre::PCZone.

## ◆ _findNodes() [4/4]

void Ogre::OctreeZone::_findNodes | ( | const Ray & | t,
|  | PCZSceneNodeList & | list,
|  | PortalList & | visitedPortals,
|  | bool | includeVisitors,
|  | bool | recurseThruPortals,
|  | PCZSceneNode * | exclude )
| overridevirtual

Implements Ogre::PCZone.

## ◆ setOption()

bool Ogre::OctreeZone::setOption | ( | const String & | ,
|  | const void * | )
| overridevirtual

Sets the given option for the Zone.

Options are: "Size", AxisAlignedBox *; "Depth", int *; "ShowOctree", bool *;

Implements Ogre::PCZone.

## ◆ notifyCameraCreated()

void Ogre::OctreeZone::notifyCameraCreated | ( | Camera * | c | ) |
| overridevirtual

Called when the scene manager creates a camera because some zone managers (like TerrainZone) need the camera info.

Implements Ogre::PCZone.

## ◆ notifyWorldGeometryRenderQueue()

void Ogre::OctreeZone::notifyWorldGeometryRenderQueue | ( | uint8 | qid | ) |
| overridevirtual

Called by PCZSM during setWorldGeometryRenderQueue().

Implements Ogre::PCZone.

## ◆ notifyBeginRenderScene()

void Ogre::OctreeZone::notifyBeginRenderScene | ( | void |  | ) |
| overridevirtual

Called when a _renderScene is called in the SceneManager.

Implements Ogre::PCZone.

## ◆ setZoneGeometry()

void Ogre::OctreeZone::setZoneGeometry | ( | const String & | filename,
|  | PCZSceneNode * | parentNode )
| overridevirtual

Called by PCZSM during setZoneGeometry().

Implements Ogre::PCZone.

## ◆ getAABB()

void Ogre::OctreeZone::getAABB | ( | AxisAlignedBox & |  | ) |
| overridevirtual

Get the world coordinate aabb of the zone.

Reimplemented from Ogre::PCZone.

## ◆ init()

void Ogre::OctreeZone::init | ( | AxisAlignedBox & | box,
|  | int | depth )

Init function carried over from OctreeSceneManager.

## ◆ resize()

void Ogre::OctreeZone::resize | ( | const AxisAlignedBox & | box | ) |

Resizes the octree to the given size.

## ◆ updateNodeOctant()

void Ogre::OctreeZone::updateNodeOctant | ( | OctreeZoneData * | zoneData | ) |

Checks the given OctreeNode, and determines if it needs to be moved to a different octant.

## ◆ removeNodeFromOctree()

void Ogre::OctreeZone::removeNodeFromOctree | ( | PCZSceneNode * |  | ) |

Removes the node from the octree it is in.

## ◆ addNodeToOctree()

void Ogre::OctreeZone::addNodeToOctree | ( | PCZSceneNode * | ,
|  | Octree * | octree,
|  | int | depth = 0 )

Adds the Octree Node, starting at the given octree, and recursing at max to the specified depth.

The documentation for this class was generated from the following file:

- OgreOctreeZone.h