OGRE
1.11.6
Object-Oriented Graphics Rendering Engine
|
Portal-Connected Zone datastructure for managing scene nodes. More...
#include <OgrePCZone.h>
Public Types | |
enum | NODE_LIST_TYPE { HOME_NODE_LIST = 1, VISITOR_NODE_LIST = 2 } |
Public Member Functions | |
PCZone (PCZSceneManager *, const String &) | |
virtual | ~PCZone () |
virtual void | _addAntiPortal (AntiPortal *newAntiPortal) |
Add an anti portal to the zone. More... | |
virtual void | _addNode (PCZSceneNode *)=0 |
Adds an SceneNode to this PCZone. More... | |
virtual void | _addPortal (Portal *newPortal) |
Add a portal to the zone. More... | |
virtual void | _checkLightAgainstPortals (PCZLight *, unsigned long, PCZFrustum *, Portal *)=0 |
(recursive) Check the given light against all portals in the zone More... | |
virtual void | _checkNodeAgainstPortals (PCZSceneNode *, Portal *)=0 |
(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)=0 |
virtual void | _findNodes (const Sphere &t, PCZSceneNodeList &list, PortalList &visitedPortals, bool includeVisitors, bool recurseThruPortals, PCZSceneNode *exclude)=0 |
virtual void | _findNodes (const PlaneBoundedVolume &t, PCZSceneNodeList &list, PortalList &visitedPortals, bool includeVisitors, bool recurseThruPortals, PCZSceneNode *exclude)=0 |
virtual void | _findNodes (const Ray &t, PCZSceneNodeList &list, PortalList &visitedPortals, bool includeVisitors, bool recurseThruPortals, PCZSceneNode *exclude)=0 |
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... | |
virtual void | createNodeZoneData (PCZSceneNode *) |
Create zone specific data for a node. More... | |
virtual void | dirtyNodeByMovingPortals (void)=0 |
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)=0 |
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) |
virtual void | notifyBeginRenderScene (void)=0 |
Called when a _renderScene is called in the SceneManager. More... | |
virtual void | notifyCameraCreated (Camera *c)=0 |
Called when the scene manager creates a camera in order to store the first camera created as the primary one, for determining error metrics and the 'home' terrain page. More... | |
virtual void | notifyWorldGeometryRenderQueue (uint8 qid)=0 |
Called by PCZSM during setWorldGeometryRenderQueue() More... | |
virtual void | removeNode (PCZSceneNode *)=0 |
Removes all references to a SceneNode from this PCZone. More... | |
virtual bool | requiresZoneSpecificNodeData (void)=0 |
Indicates whether or not this zone requires zone-specific data for each scene node. More... | |
virtual void | setEnclosureNode (PCZSceneNode *)=0 |
Set the enclosure node for this PCZone. 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 *)=0 |
Sets the options for the Zone. More... | |
void | setPortalsUpdated (bool updated) |
void | setUserData (void *userData) |
virtual void | setZoneGeometry (const String &filename, PCZSceneNode *parentNode)=0 |
Called by PCZSM during setZoneGeometry() More... | |
virtual PCZone * | updateNodeHomeZone (PCZSceneNode *pczsn, bool allowBackTouces)=0 |
Update a node's home zone. More... | |
virtual void | updatePortalsZoneData (void)=0 |
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... | |
Portal-Connected Zone datastructure for managing scene nodes.
Ogre::PCZone::PCZone | ( | PCZSceneManager * | , |
const String & | |||
) |
|
virtual |
|
inline |
|
inline |
|
inline |
Get a pointer to the enclosure node for this PCZone.
|
inline |
If sky should be drawn with this zone.
|
inline |
|
inline |
Set the lastVisibleFrame counter.
|
inline |
Get the lastVisibleFrame counter value.
|
inline |
Set the lastVisibleFromCamera pointer.
|
inline |
Get the lastVisibleFromCamera pointer.
|
pure virtual |
Set the enclosure node for this PCZone.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Adds an SceneNode to this PCZone.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Removes all references to a SceneNode from this PCZone.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
virtual |
Remove all nodes from the node reference list and clear it.
Reimplemented in Ogre::OctreeZone.
|
pure virtual |
Indicates whether or not this zone requires zone-specific data for each scene node.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
virtual |
Create zone specific data for a node.
Reimplemented in Ogre::OctreeZone.
Find a matching portal (for connecting portals)
|
virtual |
Add a portal to the zone.
|
virtual |
Remove a portal from the zone.
|
virtual |
Add an anti portal to the zone.
|
virtual |
Remove an anti portal from the zone.
|
pure virtual |
(recursive) Check the given node against all portals in the zone
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
(recursive) Check the given light against all portals in the zone
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Update the zone data for each portal.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Mark nodes dirty base on moving portals.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Update a node's home zone.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Find and add visible objects to the render queue.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Sets the options for the Zone.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Called when the scene manager creates a camera in order to store the first camera created as the primary one, for determining error metrics and the 'home' terrain page.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Called by PCZSM during setWorldGeometryRenderQueue()
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Called when a _renderScene is called in the SceneManager.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Called by PCZSM during setZoneGeometry()
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
virtual |
Get the world coordinate aabb of the zone.
Reimplemented in Ogre::OctreeZone.
|
inline |
|
inline |
|
inline |
Get & set the user data.
|
inline |
PortalList Ogre::PCZone::mPortals |
List of Portals which this zone contains (each portal leads to another zone)
AntiPortalList Ogre::PCZone::mAntiPortals |
PCZSceneManager* Ogre::PCZone::mPCZSM |
Pointer to the pcz scene manager that created this zone.