Portal-Connected Zone datastructure for managing scene nodes. More...
#include <OgrePCZone.h>
Classes | |
struct | PortalSortDistance |
Binary predicate for portal <-> camera distance sorting. More... | |
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... | |
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 *)=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... | |
Protected Attributes | |
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... | |
String | mName |
Name of the zone (must be unique) 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... | |
Portal-Connected Zone datastructure for managing scene nodes.
Definition at line 81 of file OgrePCZone.h.
Enumerator | |
---|---|
HOME_NODE_LIST | |
VISITOR_NODE_LIST |
Definition at line 85 of file OgrePCZone.h.
Ogre::PCZone::PCZone | ( | PCZSceneManager * | , |
const String & | |||
) |
|
virtual |
|
virtual |
Add an anti portal to the zone.
|
pure virtual |
Adds an SceneNode to this PCZone.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
virtual |
Add a portal to the zone.
|
pure virtual |
(recursive) Check the given light against all portals in the zone
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
(recursive) Check the given node against all portals in the zone
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 |
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.
|
virtual |
Remove an anti portal from the zone.
|
virtual |
Remove a portal from the zone.
|
virtual |
Create zone specific data for a node.
Reimplemented in Ogre::OctreeZone.
|
pure virtual |
Mark nodes dirty base on moving portals.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
Find a matching portal (for connecting portals)
|
pure virtual |
Find and add visible objects to the render queue.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
virtual |
Get the world coordinate aabb of the zone.
Reimplemented in Ogre::OctreeZone.
|
inline |
Get a pointer to the enclosure node for this PCZone.
Definition at line 102 of file OgrePCZone.h.
|
inline |
Get the lastVisibleFrame counter value.
Definition at line 116 of file OgrePCZone.h.
|
inline |
Get the lastVisibleFromCamera pointer.
Definition at line 122 of file OgrePCZone.h.
|
inline |
Definition at line 98 of file OgrePCZone.h.
|
inline |
Definition at line 244 of file OgrePCZone.h.
|
inline |
Get & set the user data.
Definition at line 246 of file OgrePCZone.h.
|
inline |
Definition at line 95 of file OgrePCZone.h.
|
inline |
Definition at line 110 of file OgrePCZone.h.
|
pure virtual |
Called when a _renderScene is called in the SceneManager.
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.
|
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.
|
pure virtual |
Removes all references to a SceneNode from this PCZone.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Indicates whether or not this zone requires zone-specific data for each scene node.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Set the enclosure node for this PCZone.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
inline |
If sky should be drawn with this zone.
Definition at line 106 of file OgrePCZone.h.
|
inline |
Set the lastVisibleFrame counter.
Definition at line 113 of file OgrePCZone.h.
|
inline |
Set the lastVisibleFromCamera pointer.
Definition at line 119 of file OgrePCZone.h.
|
pure virtual |
Sets the options for the Zone.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
inline |
Definition at line 243 of file OgrePCZone.h.
|
inline |
Definition at line 247 of file OgrePCZone.h.
|
pure virtual |
Called by PCZSM during setZoneGeometry()
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Update a node's home zone.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
pure virtual |
Update the zone data for each portal.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
AntiPortalList Ogre::PCZone::mAntiPortals |
Definition at line 251 of file OgrePCZone.h.
|
protected |
SceneNode which corresponds to the enclosure for this zone.
Definition at line 282 of file OgrePCZone.h.
|
protected |
Flag determining whether or not this zone has sky in it.
Definition at line 280 of file OgrePCZone.h.
|
protected |
List of SceneNodes contained in this particular PCZone.
Definition at line 284 of file OgrePCZone.h.
|
protected |
Frame counter for visibility.
Definition at line 276 of file OgrePCZone.h.
|
protected |
Last camera which this zone was visible to.
Definition at line 278 of file OgrePCZone.h.
|
protected |
Name of the zone (must be unique)
Definition at line 272 of file OgrePCZone.h.
PCZSceneManager* Ogre::PCZone::mPCZSM |
Pointer to the pcz scene manager that created this zone.
Definition at line 253 of file OgrePCZone.h.
PortalList Ogre::PCZone::mPortals |
List of Portals which this zone contains (each portal leads to another zone)
Definition at line 250 of file OgrePCZone.h.
|
protected |
Flag recording whether any portals in this zone have moved.
Definition at line 288 of file OgrePCZone.h.
|
protected |
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.
|
protected |
List of SceneNodes visiting this particular PCZone.
Definition at line 286 of file OgrePCZone.h.
|
protected |
Zone type name.
Definition at line 274 of file OgrePCZone.h.