Portal-Connected Zone datastructure for managing scene nodes. More...
#include <OgrePCZone.h>
Classes | |
struct | PortalSortDistance |
Binary pradicate 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) |
virtual void | _addNode (PCZSceneNode *)=0 |
Adds an SceneNode to this PCZone. More... | |
virtual void | _addPortal (Portal *newPortal) |
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) |
virtual void | _removePortal (Portal *removePortal) |
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 &) |
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) |
virtual void | notifyBeginRenderScene (void)=0 |
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 |
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) |
void | setLastVisibleFromCamera (PCZCamera *camera) |
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 |
virtual PCZone * | updateNodeHomeZone (PCZSceneNode *pczsn, bool allowBackTouces)=0 |
virtual void | updatePortalsZoneData (void)=0 |
Public Attributes | |
AntiPortalList | mAntiPortals |
PCZSceneManager * | mPCZSM |
PortalList | mPortals |
list of Portals which this zone contains (each portal leads to another zone) More... | |
Protected Attributes | |
SceneNode * | mEnclosureNode |
bool | mHasSky |
PCZSceneNodeList | mHomeNodeList |
unsigned long | mLastVisibleFrame |
PCZCamera * | mLastVisibleFromCamera |
String | mName |
bool | mPortalsUpdated |
void * | mUserData |
PCZSceneNodeList | mVisitorNodeList |
String | mZoneTypeName |
Zone type name. More... | |
Portal-Connected Zone datastructure for managing scene nodes.
Definition at line 82 of file OgrePCZone.h.
Enumerator | |
---|---|
HOME_NODE_LIST | |
VISITOR_NODE_LIST |
Definition at line 86 of file OgrePCZone.h.
Ogre::PCZone::PCZone | ( | PCZSceneManager * | , |
const String & | |||
) |
|
virtual |
|
virtual |
|
pure virtual |
Adds an SceneNode to this PCZone.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
virtual |
|
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 |
|
virtual |
|
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 |
Reimplemented in Ogre::OctreeZone.
|
inline |
Definition at line 103 of file OgrePCZone.h.
|
inline |
Definition at line 117 of file OgrePCZone.h.
|
inline |
Definition at line 123 of file OgrePCZone.h.
|
inline |
Definition at line 99 of file OgrePCZone.h.
|
inline |
Definition at line 245 of file OgrePCZone.h.
|
inline |
Definition at line 247 of file OgrePCZone.h.
|
inline |
Definition at line 96 of file OgrePCZone.h.
|
inline |
Definition at line 111 of file OgrePCZone.h.
|
pure virtual |
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 |
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
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.
|
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 107 of file OgrePCZone.h.
|
inline |
Definition at line 114 of file OgrePCZone.h.
|
inline |
Definition at line 120 of file OgrePCZone.h.
|
pure virtual |
Sets the options for the Zone.
Implemented in Ogre::OctreeZone, and Ogre::DefaultZone.
|
inline |
Definition at line 244 of file OgrePCZone.h.
|
inline |
Definition at line 248 of file OgrePCZone.h.
|
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.
AntiPortalList Ogre::PCZone::mAntiPortals |
Definition at line 252 of file OgrePCZone.h.
|
protected |
Definition at line 283 of file OgrePCZone.h.
|
protected |
Definition at line 281 of file OgrePCZone.h.
|
protected |
Definition at line 285 of file OgrePCZone.h.
|
protected |
Definition at line 277 of file OgrePCZone.h.
|
protected |
Definition at line 279 of file OgrePCZone.h.
|
protected |
Definition at line 273 of file OgrePCZone.h.
PCZSceneManager* Ogre::PCZone::mPCZSM |
Definition at line 254 of file OgrePCZone.h.
PortalList Ogre::PCZone::mPortals |
list of Portals which this zone contains (each portal leads to another zone)
Definition at line 251 of file OgrePCZone.h.
|
protected |
Definition at line 289 of file OgrePCZone.h.
|
protected |
Definition at line 292 of file OgrePCZone.h.
|
protected |
Definition at line 287 of file OgrePCZone.h.
|
protected |
Zone type name.
Definition at line 275 of file OgrePCZone.h.