OGRE  1.9
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::DefaultZone Class Reference

#include <OgreDefaultZone.h>

+ Inheritance diagram for Ogre::DefaultZone:
+ Collaboration diagram for Ogre::DefaultZone:

Public Types

enum  NODE_LIST_TYPE { HOME_NODE_LIST = 1, VISITOR_NODE_LIST = 2 }
 

Public Member Functions

 DefaultZone (PCZSceneManager *, const String &)
 
 ~DefaultZone ()
 
virtual void _addAntiPortal (AntiPortal *newAntiPortal)
 Add an anti portal to the zone. More...
 
void _addNode (PCZSceneNode *)
 Adds an SceneNode to this Zone. More...
 
virtual void _addPortal (Portal *newPortal)
 Add a portal to the zone. More...
 
void _checkLightAgainstPortals (PCZLight *, unsigned long, PCZFrustum *, Portal *)
 (recursive) check the given light against all portals in the zone More...
 
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...
 
void _findNodes (const AxisAlignedBox &t, PCZSceneNodeList &list, PortalList &visitedPortals, bool includeVisitors, bool recurseThruPortals, PCZSceneNode *exclude)
 
void _findNodes (const Sphere &t, PCZSceneNodeList &list, PortalList &visitedPortals, bool includeVisitors, bool recurseThruPortals, PCZSceneNode *exclude)
 
void _findNodes (const PlaneBoundedVolume &t, PCZSceneNodeList &list, PortalList &visitedPortals, bool includeVisitors, bool recurseThruPortals, PCZSceneNode *exclude)
 
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...
 
virtual void createNodeZoneData (PCZSceneNode *)
 Create zone specific data for a node. More...
 
void dirtyNodeByMovingPortals (void)
 Mark nodes dirty base on moving portals. More...
 
virtual PortalfindMatchingPortal (Portal *)
 Find a matching portal (for connecting portals) More...
 
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...
 
SceneNodegetEnclosureNode (void)
 Get a pointer to the enclosure node for this PCZone. More...
 
unsigned long getLastVisibleFrame (void)
 Get the lastVisibleFrame counter value. More...
 
PCZCameragetLastVisibleFromCamera ()
 Get the lastVisibleFromCamera pointer. More...
 
const StringgetName (void) const
 
bool getPortalsUpdated (void)
 
void * getUserData (void)
 Get & set the user data. More...
 
const StringgetZoneTypeName () const
 
bool hasSky (void)
 
virtual void notifyBeginRenderScene (void)
 Called when a _renderScene is called in the SceneManager. More...
 
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)
 
void removeNode (PCZSceneNode *)
 Removes all references to a SceneNode from this Zone. More...
 
bool requiresZoneSpecificNodeData (void)
 Indicates whether or not this zone requires zone-specific data for each scene node. More...
 
void setEnclosureNode (PCZSceneNode *)
 Set the enclosure node for this Zone. 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...
 
bool setOption (const String &, const void *)
 Sets the options 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...
 
PCZoneupdateNodeHomeZone (PCZSceneNode *pczsn, bool allowBackTouces)
 Update a node's home zone. More...
 
void updatePortalsZoneData (void)
 Update the zone data for each portal. More...
 

Public Attributes

AntiPortalList mAntiPortals
 
PCZSceneManagermPCZSM
 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

SceneNodemEnclosureNode
 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...
 
PCZCameramLastVisibleFromCamera
 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...
 

Detailed Description

Definition at line 45 of file OgreDefaultZone.h.

Member Enumeration Documentation

Enumerator
HOME_NODE_LIST 
VISITOR_NODE_LIST 

Definition at line 85 of file OgrePCZone.h.

Constructor & Destructor Documentation

Ogre::DefaultZone::DefaultZone ( PCZSceneManager ,
const String  
)
Ogre::DefaultZone::~DefaultZone ( )

Member Function Documentation

virtual void Ogre::PCZone::_addAntiPortal ( AntiPortal newAntiPortal)
virtualinherited

Add an anti portal to the zone.

void Ogre::DefaultZone::_addNode ( PCZSceneNode )
virtual

Adds an SceneNode to this Zone.

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

Implements Ogre::PCZone.

virtual void Ogre::PCZone::_addPortal ( Portal newPortal)
virtualinherited

Add a portal to the zone.

void Ogre::DefaultZone::_checkLightAgainstPortals ( PCZLight ,
unsigned  long,
PCZFrustum ,
Portal  
)
virtual

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

Implements Ogre::PCZone.

void Ogre::DefaultZone::_checkNodeAgainstPortals ( PCZSceneNode ,
Portal  
)
virtual

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

Implements Ogre::PCZone.

virtual void Ogre::PCZone::_clearNodeLists ( short  nodeListTypes)
virtualinherited

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

Reimplemented in Ogre::OctreeZone.

void Ogre::DefaultZone::_findNodes ( const AxisAlignedBox t,
PCZSceneNodeList list,
PortalList visitedPortals,
bool  includeVisitors,
bool  recurseThruPortals,
PCZSceneNode exclude 
)
virtual

Implements Ogre::PCZone.

void Ogre::DefaultZone::_findNodes ( const Sphere t,
PCZSceneNodeList list,
PortalList visitedPortals,
bool  includeVisitors,
bool  recurseThruPortals,
PCZSceneNode exclude 
)
virtual

Implements Ogre::PCZone.

void Ogre::DefaultZone::_findNodes ( const PlaneBoundedVolume t,
PCZSceneNodeList list,
PortalList visitedPortals,
bool  includeVisitors,
bool  recurseThruPortals,
PCZSceneNode exclude 
)
virtual

Implements Ogre::PCZone.

void Ogre::DefaultZone::_findNodes ( const Ray t,
PCZSceneNodeList list,
PortalList visitedPortals,
bool  includeVisitors,
bool  recurseThruPortals,
PCZSceneNode exclude 
)
virtual

Implements Ogre::PCZone.

virtual void Ogre::PCZone::_removeAntiPortal ( AntiPortal removeAntiPortal)
virtualinherited

Remove an anti portal from the zone.

virtual void Ogre::PCZone::_removePortal ( Portal removePortal)
virtualinherited

Remove a portal from the zone.

virtual void Ogre::PCZone::createNodeZoneData ( PCZSceneNode )
virtualinherited

Create zone specific data for a node.

Reimplemented in Ogre::OctreeZone.

void Ogre::DefaultZone::dirtyNodeByMovingPortals ( void  )
virtual

Mark nodes dirty base on moving portals.

Implements Ogre::PCZone.

virtual Portal* Ogre::PCZone::findMatchingPortal ( Portal )
virtualinherited

Find a matching portal (for connecting portals)

void Ogre::DefaultZone::findVisibleNodes ( PCZCamera ,
NodeList visibleNodeList,
RenderQueue queue,
VisibleObjectsBoundsInfo visibleBounds,
bool  onlyShadowCasters,
bool  displayNodes,
bool  showBoundingBoxes 
)
virtual

Find and add visible objects to the render queue.

Remarks
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.

virtual void Ogre::PCZone::getAABB ( AxisAlignedBox )
virtualinherited

Get the world coordinate aabb of the zone.

Reimplemented in Ogre::OctreeZone.

SceneNode* Ogre::PCZone::getEnclosureNode ( void  )
inlineinherited

Get a pointer to the enclosure node for this PCZone.

Definition at line 102 of file OgrePCZone.h.

unsigned long Ogre::PCZone::getLastVisibleFrame ( void  )
inlineinherited

Get the lastVisibleFrame counter value.

Definition at line 116 of file OgrePCZone.h.

PCZCamera* Ogre::PCZone::getLastVisibleFromCamera ( )
inlineinherited

Get the lastVisibleFromCamera pointer.

Definition at line 122 of file OgrePCZone.h.

const String& Ogre::PCZone::getName ( void  ) const
inlineinherited
Returns
the name of the zone

Definition at line 98 of file OgrePCZone.h.

bool Ogre::PCZone::getPortalsUpdated ( void  )
inlineinherited

Definition at line 244 of file OgrePCZone.h.

void* Ogre::PCZone::getUserData ( void  )
inlineinherited

Get & set the user data.

Definition at line 246 of file OgrePCZone.h.

const String& Ogre::PCZone::getZoneTypeName ( ) const
inlineinherited
Returns
The zone type name (ex: "ZoneType_Terrain")

Definition at line 95 of file OgrePCZone.h.

bool Ogre::PCZone::hasSky ( void  )
inlineinherited
Returns
Whether or not this zone has sky

Definition at line 110 of file OgrePCZone.h.

virtual void Ogre::DefaultZone::notifyBeginRenderScene ( void  )
virtual

Called when a _renderScene is called in the SceneManager.

Implements Ogre::PCZone.

void Ogre::DefaultZone::notifyCameraCreated ( Camera c)
virtual

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

Implements Ogre::PCZone.

virtual void Ogre::DefaultZone::notifyWorldGeometryRenderQueue ( uint8  qid)
virtual

Called by PCZSM during setWorldGeometryRenderQueue()

Implements Ogre::PCZone.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inlineinherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
)
inlineinherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr)
inlineinherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inlineinherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
)
inlineinherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz)
inlineinherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

void Ogre::DefaultZone::removeNode ( PCZSceneNode )
virtual

Removes all references to a SceneNode from this Zone.

Implements Ogre::PCZone.

bool Ogre::DefaultZone::requiresZoneSpecificNodeData ( void  )
virtual

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

Implements Ogre::PCZone.

void Ogre::DefaultZone::setEnclosureNode ( PCZSceneNode )
virtual

Set the enclosure node for this Zone.

Implements Ogre::PCZone.

void Ogre::PCZone::setHasSky ( bool  yesno)
inlineinherited

If sky should be drawn with this zone.

Definition at line 106 of file OgrePCZone.h.

void Ogre::PCZone::setLastVisibleFrame ( unsigned long  frameCount)
inlineinherited

Set the lastVisibleFrame counter.

Definition at line 113 of file OgrePCZone.h.

void Ogre::PCZone::setLastVisibleFromCamera ( PCZCamera camera)
inlineinherited

Set the lastVisibleFromCamera pointer.

Definition at line 119 of file OgrePCZone.h.

bool Ogre::DefaultZone::setOption ( const String ,
const void *   
)
virtual

Sets the options for the Zone.

Implements Ogre::PCZone.

void Ogre::PCZone::setPortalsUpdated ( bool  updated)
inlineinherited

Definition at line 243 of file OgrePCZone.h.

void Ogre::PCZone::setUserData ( void *  userData)
inlineinherited

Definition at line 247 of file OgrePCZone.h.

virtual void Ogre::DefaultZone::setZoneGeometry ( const String filename,
PCZSceneNode parentNode 
)
virtual

Called by PCZSM during setZoneGeometry()

Implements Ogre::PCZone.

PCZone* Ogre::DefaultZone::updateNodeHomeZone ( PCZSceneNode pczsn,
bool  allowBackTouces 
)
virtual

Update a node's home zone.

Implements Ogre::PCZone.

void Ogre::DefaultZone::updatePortalsZoneData ( void  )
virtual

Update the zone data for each portal.

Implements Ogre::PCZone.

Member Data Documentation

AntiPortalList Ogre::PCZone::mAntiPortals
inherited

Definition at line 251 of file OgrePCZone.h.

SceneNode* Ogre::PCZone::mEnclosureNode
protectedinherited

SceneNode which corresponds to the enclosure for this zone.

Definition at line 282 of file OgrePCZone.h.

bool Ogre::PCZone::mHasSky
protectedinherited

Flag determining whether or not this zone has sky in it.

Definition at line 280 of file OgrePCZone.h.

PCZSceneNodeList Ogre::PCZone::mHomeNodeList
protectedinherited

List of SceneNodes contained in this particular PCZone.

Definition at line 284 of file OgrePCZone.h.

unsigned long Ogre::PCZone::mLastVisibleFrame
protectedinherited

Frame counter for visibility.

Definition at line 276 of file OgrePCZone.h.

PCZCamera* Ogre::PCZone::mLastVisibleFromCamera
protectedinherited

Last camera which this zone was visible to.

Definition at line 278 of file OgrePCZone.h.

String Ogre::PCZone::mName
protectedinherited

Name of the zone (must be unique)

Definition at line 272 of file OgrePCZone.h.

PCZSceneManager* Ogre::PCZone::mPCZSM
inherited

Pointer to the pcz scene manager that created this zone.

Definition at line 253 of file OgrePCZone.h.

PortalList Ogre::PCZone::mPortals
inherited

List of Portals which this zone contains (each portal leads to another zone)

Definition at line 250 of file OgrePCZone.h.

bool Ogre::PCZone::mPortalsUpdated
protectedinherited

Flag recording whether any portals in this zone have moved.

Definition at line 288 of file OgrePCZone.h.

void* Ogre::PCZone::mUserData
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.

PCZSceneNodeList Ogre::PCZone::mVisitorNodeList
protectedinherited

List of SceneNodes visiting this particular PCZone.

Definition at line 286 of file OgrePCZone.h.

String Ogre::PCZone::mZoneTypeName
protectedinherited

Zone type name.

Definition at line 274 of file OgrePCZone.h.


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