OGRE  1.12.13
Object-Oriented Graphics Rendering Engine
Ogre::PCZSceneManager Class Reference

Specialized SceneManager that uses Portal-Connected-Zones to divide the scene spatially. More...

#include <OgrePCZSceneManager.h>

+ Inheritance diagram for Ogre::PCZSceneManager:

Public Types

typedef MapIterator< ZoneMapZoneIterator
 ZoneMap iterator for read-only access to the zonemap. More...
 
- Public Types inherited from Ogre::SceneManager
typedef MapIterator< AnimationListAnimationIterator
 
typedef std::map< String, Animation * > AnimationList
 
typedef MapIterator< CameraListCameraIterator
 
typedef std::map< String, Camera * > CameraList
 
enum  IlluminationRenderStage { IRS_NONE, IRS_RENDER_TO_TEXTURE, IRS_RENDER_RECEIVER_PASS }
 Describes the stage of rendering when performing complex illumination. More...
 
typedef MapIterator< MovableObjectMapMovableObjectIterator
 
typedef std::map< String, MovableObject * > MovableObjectMap
 
enum  PrefabType { PT_PLANE, PT_CUBE, PT_SPHERE }
 Prefab shapes available without loading a model. More...
 
enum  QueryTypeMask : uint32 {
  WORLD_GEOMETRY_TYPE_MASK = 0x80000000, ENTITY_TYPE_MASK = 0x40000000, FX_TYPE_MASK = 0x20000000, STATICGEOMETRY_TYPE_MASK = 0x10000000,
  LIGHT_TYPE_MASK = 0x08000000, FRUSTUM_TYPE_MASK = 0x04000000, USER_TYPE_MASK_LIMIT = FRUSTUM_TYPE_MASK
}
 
enum  SpecialCaseRenderQueueMode { SCRQM_INCLUDE, SCRQM_EXCLUDE }
 Enumeration of the possible modes allowed for processing the special case render queue list. More...
 

Public Member Functions

 PCZSceneManager (const String &name)
 Standard Constructor. More...
 
 ~PCZSceneManager ()
 Standard destructor. More...
 
virtual void _alertVisibleObjects (void)
 Alerts each unculled object, notifying it that it will be drawn. More...
 
void _calcZonesAffectedByLights (Camera *cam)
 Calculate which zones are affected by each light. More...
 
void _clearAllZonesPortalUpdateFlag (void)
 Clear portal update flag from all zones. More...
 
void _dirtyNodeByMovingPortals (void)
 Mark nodes dirty for every zone with moving portal in the scene. More...
 
virtual void _findVisibleObjects (Camera *cam, VisibleObjectsBoundsInfo *visibleBounds, bool onlyShadowCasters)
 Recurses through the PCZTree determining which nodes are visible. More...
 
void _renderScene (Camera *cam, Viewport *vp, bool includeOverlays)
 Overridden from basic scene manager. More...
 
void _updateHomeZone (PCZSceneNode *, bool)
 Make sure the home zone for the PCZSceneNode is up-to-date. More...
 
void _updatePCZSceneNode (PCZSceneNode *)
 Checks the given SceneNode, and determines if it needs to be moved to a different PCZone or be added to the visitors list of other PCZone(s). More...
 
void _updatePCZSceneNodes (void)
 Update the PCZSceneNodes. More...
 
void _updatePortalZoneData (void)
 Check/Update the zone data for every portal in the scene. More...
 
virtual void _updateSceneGraph (Camera *cam)
 Update Scene Graph (does several things now) More...
 
void addPCZSceneNode (PCZSceneNode *sn, PCZone *zone)
 add a PCZSceneNode to the scene by putting it in a zone NOTE: This zone will be the scene node's home zone More...
 
virtual void clearScene (void)
 Overridden to clean up zones. More...
 
void connectPortalsToTargetZonesByLocation (void)
 
AxisAlignedBoxSceneQuerycreateAABBQuery (const AxisAlignedBox &box, uint32 mask=0xFFFFFFFF)
 Overridden from SceneManager. More...
 
AntiPortalcreateAntiPortal (const String &name, PortalBase::PORTAL_TYPE type=PortalBase::PORTAL_TYPE_QUAD)
 Create a new anti portal instance. More...
 
virtual CameracreateCamera (const String &name)
 Creates a specialized PCZCamera. More...
 
IntersectionSceneQuerycreateIntersectionQuery (uint32 mask=0xFFFFFFFF)
 Creates an IntersectionSceneQuery for this scene manager. More...
 
virtual LightcreateLight (const String &name)
 Creates a light for use in the scene. More...
 
PlaneBoundedVolumeListSceneQuerycreatePlaneBoundedVolumeQuery (const PlaneBoundedVolumeList &volumes, uint32 mask=0xFFFFFFFF)
 Creates a PlaneBoundedVolumeListSceneQuery for this scene manager. More...
 
PortalcreatePortal (const String &name, PortalBase::PORTAL_TYPE type=PortalBase::PORTAL_TYPE_QUAD)
 Create a new portal instance. More...
 
RaySceneQuerycreateRayQuery (const Ray &ray, uint32 mask=0xFFFFFFFF)
 Creates a RaySceneQuery for this scene manager. More...
 
virtual SceneNodecreateSceneNode (const String &name)
 Creates a PCZSceneNode. More...
 
virtual SceneNodecreateSceneNode (void)
 Creates a PCZSceneNode
More...
 
virtual SceneNodecreateSceneNodeImpl (const String &name)
 override this to ensure their specialised PCZSceneNode is used. More...
 
virtual SceneNodecreateSceneNodeImpl (void)
 override this to ensure specialised PCZSceneNode is used. More...
 
SphereSceneQuerycreateSphereQuery (const Sphere &sphere, uint32 mask=0xFFFFFFFF)
 Creates a SphereSceneQuery for this scene manager. More...
 
PCZonecreateZone (const String &zoneType, const String &instanceName)
 Create a zone with the given name
More...
 
PCZonecreateZoneFromFile (const String &zoneTypeName, const String &zoneName, PCZSceneNode *parentNode, const String &filename)
 Create a zone from a file (type of file depends on the zone type. More...
 
void createZoneSpecificNodeData (PCZone *)
 Create any zone-specific data necessary for all nodes for the given zone. More...
 
void createZoneSpecificNodeData (PCZSceneNode *)
 Create any zone-specific data necessary for all zones for the given node. More...
 
virtual void destroyAllLights (void)
 Removes and destroys all lights in the scene. More...
 
void destroyAntiPortal (AntiPortal *p)
 Delete a anti portal instance by pointer. More...
 
void destroyAntiPortal (const String &portalName)
 Delete a anti portal instance by name. More...
 
virtual void destroyLight (const String &name)
 Removes the named light from the scene and destroys it. More...
 
void destroyPortal (const String &portalName)
 Delete a portal instance by name. More...
 
void destroyPortal (Portal *p)
 Delete a portal instance by pointer. More...
 
virtual void destroySceneNode (const String &name)
 Deletes a scene node by name & corresponding PCZSceneNode. More...
 
virtual void destroySceneNode (SceneNode *sn)
 Deletes a scene node & corresponding PCZSceneNode. More...
 
void destroyZone (PCZone *zone, bool destroySceneNodes)
 Destroy an existing zone within the scene. More...
 
void enableSky (bool)
 Enable/disable sky rendering. More...
 
void findNodesIn (const AxisAlignedBox &box, PCZSceneNodeList &list, PCZone *startZone, PCZSceneNode *exclude=0)
 Recurses the scene, adding any nodes intersecting with the box into the given list. More...
 
void findNodesIn (const PlaneBoundedVolume &volume, PCZSceneNodeList &list, PCZone *startZone, PCZSceneNode *start=0)
 Recurses the PCZTree, adding any nodes intersecting with the volume into the given list. More...
 
void findNodesIn (const Ray &ray, PCZSceneNodeList &list, PCZone *startZone, PCZSceneNode *start=0)
 Recurses the scene, starting in the given startZone, adding any nodes intersecting with the ray into the given list. More...
 
void findNodesIn (const Sphere &sphere, PCZSceneNodeList &list, PCZone *startZone, PCZSceneNode *start=0)
 Recurses the scene, adding any nodes intersecting with the sphere into the given list. More...
 
PCZonefindZoneForPoint (Vector3 &point)
 Find the smallest zone which contains the point. More...
 
PCZonegetDefaultZone (void)
 Get the default zone. More...
 
virtual LightgetLight (const String &name) const
 Returns a pointer to the named Light which has previously been added to the scene. More...
 
virtual bool getOption (const String &, void *)
 Gets the given option for the Scene Manager. More...
 
bool getOptionKeys (StringVector &refKeys)
 Method for getting all the implementation-specific options of the scene manager. More...
 
bool getOptionValues (const String &key, StringVector &refValueList)
 Method for getting all possible values for a specific option. More...
 
const StringgetTypeName (void) const
 Retrieve the type name of this scene manager. More...
 
PCZonegetZoneByName (const String &zoneName)
 Get a zone by name. More...
 
ZoneIterator getZoneIterator (void)
 
virtual bool hasLight (const String &name) const
 Returns whether a light with the given name exists. More...
 
void init (const String &defaultZoneTypeName, const String &filename="none")
 Initializes the manager. More...
 
virtual void prepareShadowTextures (Camera *cam, Viewport *vp, const LightList *lightList=0)
 
void removeSceneNode (SceneNode *)
 Removes the given PCZSceneNode. More...
 
void setNodeHomeZone (SceneNode *, PCZone *)
 Set the home zone for a scene node. More...
 
virtual bool setOption (const String &, const void *)
 Sets the given option for the SceneManager. More...
 
void setShowPortals (bool b)
 Sets the portal visibility flag. More...
 
void setSkyZone (PCZone *zone)
 Set the zone which contains the sky node. More...
 
void setWorldGeometryRenderQueue (uint8 qid)
 Overridden from SceneManager. More...
 
virtual void setZoneGeometry (const String &zoneName, PCZSceneNode *parentNode, const String &filename)
 Set the "main" geometry of the zone. More...
 
- Public Member Functions inherited from Ogre::SceneManager
 SceneManager (const String &instanceName)
 Constructor. More...
 
virtual ~SceneManager ()
 Default destructor. More...
 
bool _areRenderStateChangesSuppressed (void) const
 Are render state changes suppressed? More...
 
CompositorChain_getActiveCompositorChain () const
 Gets the active compositor chain of the current scene being rendered. More...
 
const AutoParamDataSource_getAutoParamDataSource ()
 
uint32 _getCombinedVisibilityMask (void) const
 Internal method for getting the combination between the global visibility mask and the per-viewport visibility mask. More...
 
IlluminationRenderStage _getCurrentRenderStage ()
 
void _handleLodEvents ()
 Handle LOD events. More...
 
void _injectRenderWithPass (Pass *pass, Renderable *rend, bool shadowDerivation=true, bool doLightIteration=false, const LightList *manualLightList=0)
 Render something as if it came from the current queue. More...
 
void _issueRenderOp (Renderable *rend, const Pass *pass)
 Internal method for issuing the render operation. More...
 
void _markGpuParamsDirty (uint16 mask)
 Method to allow you to mark gpu parameters as dirty, causing them to be updated according to the mask that you set when updateGpuProgramParameters is next called. More...
 
void _notifyAutotrackingSceneNode (SceneNode *node, bool autoTrack)
 Internal method for notifying the manager that a SceneNode is autotracking. More...
 
void _notifyEntityMaterialLodChanged (EntityMaterialLodChangedEvent &evt)
 Notify that an entity material LOD change event has occurred. More...
 
void _notifyEntityMeshLodChanged (EntityMeshLodChangedEvent &evt)
 Notify that an entity mesh LOD change event has occurred. More...
 
void _notifyMovableObjectLodChanged (MovableObjectLodChangedEvent &evt)
 Notify that a movable object LOD change event has occurred. More...
 
RenderContext_pauseRendering ()
 Pause rendering of the frame. More...
 
void _releaseManualHardwareResources ()
 Notifies the scene manager that hardware resources were lost. More...
 
void _renderQueueGroupObjects (RenderQueueGroup *group, QueuedRenderableCollection::OrganisationMode om)
 Render the objects in a given queue group. More...
 
void _renderVisibleObjects (void)
 Sends visible objects found in _findVisibleObjects to the rendering engine. More...
 
void _restoreManualHardwareResources ()
 Notifies the scene manager that hardware resources should be restored. More...
 
void _resumeRendering (RenderContext *context)
 Resume rendering of the frame. More...
 
void _setActiveCompositorChain (CompositorChain *chain)
 Sets the active compositor chain of the current scene being rendered. More...
 
void _setDestinationRenderSystem (RenderSystem *sys)
 Notifies the scene manager of its destination render system. More...
 
const Pass_setPass (const Pass *pass, bool evenIfSuppressed=false, bool shadowDerivation=true)
 Internal method for setting up the renderstate for a rendering pass. More...
 
void _suppressRenderStateChanges (bool suppress)
 Indicates to the SceneManager whether it should suppress changing the RenderSystem states when rendering objects. More...
 
void addListener (Listener *s)
 Add a listener which will get called back on scene manager events. More...
 
void addLodListener (LodListener *listener)
 Add a level of detail listener. More...
 
void addRenderObjectListener (RenderObjectListener *newListener)
 Registers a new Render Object Listener which will be notified when rendering an object. More...
 
void addRenderQueueListener (RenderQueueListener *newListener)
 Registers a new RenderQueueListener which will be notified when render queues are processed. More...
 
void addSpecialCaseRenderQueue (uint8 qid)
 Adds an item to the 'special case' render queue list. More...
 
void clearSpecialCaseRenderQueues (void)
 Clears the 'special case' render queue list. More...
 
const ColourValuegetAmbientLight (void) const
 Returns the ambient light level to be used for the scene. More...
 
ViewportgetCurrentViewport (void) const
 Gets the current viewport being rendered (advanced use only, only valid during viewport update. More...
 
RenderSystemgetDestinationRenderSystem ()
 Get the rendersystem subclass to which the output of this Scene Manager gets sent. More...
 
bool getFindVisibleObjects (void)
 Gets whether the SceneManager should search for visible objects, or whether they are being manually handled. More...
 
bool getFlipCullingOnNegativeScale () const
 Get whether to automatically flip the culling mode on objects whenever they are negatively scaled. More...
 
const StringgetName (void) const
 Return the instance name of this SceneManager. More...
 
bool getNormaliseNormalsOnScale () const
 Get whether to automatically normalise normals on objects whenever they are scaled. More...
 
SceneMgrQueuedRenderableVisitorgetQueuedRenderableVisitor (void) const
 Gets the current visitor object which processes queued renderables. More...
 
RenderQueuegetRenderQueue (void)
 Retrieves the internal render queue, for advanced users only. More...
 
const VisibleObjectsBoundsInfogetShadowCasterBoundsInfo (const Light *light, size_t iteration=0) const
 Returns the shadow caster AAB for a specific light-camera combination. More...
 
SpecialCaseRenderQueueMode getSpecialCaseRenderQueueMode (void)
 Gets the way the special case render queue list is processed. More...
 
virtual ViewPoint getSuggestedViewpoint (bool random=false)
 Asks the SceneManager to provide a suggested viewpoint from which the scene should be viewed. More...
 
uint32 getVisibilityMask (void)
 Gets a mask which is bitwise 'and'ed with objects own visibility masks to determine if the object is visible. More...
 
const VisibleObjectsBoundsInfogetVisibleObjectsBoundsInfo (const Camera *cam) const
 Returns a visibility boundary box for a specific camera. More...
 
uint8 getWorldGeometryRenderQueue (void)
 Gets the render queue that the world geometry (if any) this SceneManager renders will be associated with. More...
 
virtual bool hasOption (const String &strKey) const
 Method for verifying whether the scene manager has an implementation-specific option. More...
 
bool isLateMaterialResolving () const
 Gets whether using late material resolving or not. More...
 
bool isRenderQueueToBeProcessed (uint8 qid)
 Returns whether or not the named queue will be rendered based on the current 'special case' render queue list and mode. More...
 
void manualRender (Renderable *rend, const Pass *pass, Viewport *vp, const Affine3 &viewMatrix, const Matrix4 &projMatrix, bool doBeginEndFrame=false, bool lightScissoringClipping=true, bool doLightIteration=true, const LightList *manualLightList=0)
 Manual rendering method for rendering a single object. More...
 
void manualRender (RenderOperation *rend, Pass *pass, Viewport *vp, const Affine3 &worldMatrix, const Affine3 &viewMatrix, const Matrix4 &projMatrix, bool doBeginEndFrame=false)
 Manual rendering method, for advanced users only. More...
 
 OGRE_MUTEX (sceneGraphMutex)
 Mutex to protect the scene graph from simultaneous access from multiple threads. More...
 
void removeListener (Listener *s)
 Remove a listener. More...
 
void removeLodListener (LodListener *listener)
 Remove a level of detail listener. More...
 
void removeRenderObjectListener (RenderObjectListener *delListener)
 Removes a listener previously added with addRenderObjectListener. More...
 
void removeRenderQueueListener (RenderQueueListener *delListener)
 Removes a listener previously added with addRenderQueueListener. More...
 
void removeSpecialCaseRenderQueue (uint8 qid)
 Removes an item to the 'special case' render queue list. More...
 
void setAmbientLight (const ColourValue &colour)
 Sets the ambient light level to be used for the scene. More...
 
void setFindVisibleObjects (bool find)
 Sets whether the SceneManager should search for visible objects, or whether they are being manually handled. More...
 
void setFlipCullingOnNegativeScale (bool n)
 Set whether to automatically flip the culling mode on objects whenever they are negatively scaled. More...
 
void setLateMaterialResolving (bool isLate)
 Sets whether to use late material resolving or not. More...
 
void setNormaliseNormalsOnScale (bool n)
 Set whether to automatically normalise normals on objects whenever they are scaled. More...
 
void setQueuedRenderableVisitor (SceneMgrQueuedRenderableVisitor *visitor)
 Advanced method for supplying an alternative visitor, used for parsing the render queues and sending the results to the renderer. More...
 
void setSpecialCaseRenderQueueMode (SpecialCaseRenderQueueMode mode)
 Sets the way the special case render queue list is processed. More...
 
void setVisibilityMask (uint32 vmask)
 Sets a mask which is bitwise 'and'ed with objects own visibility masks to determine if the object is visible. More...
 
void setWorldGeometryRenderQueue (uint8 qid)
 Sets the render queue that the world geometry (if any) this SceneManager renders will be associated with. More...
 
CameragetCamera (const String &name) const
 Retrieves a pointer to the named camera. More...
 
bool hasCamera (const String &name) const
 Returns whether a camera with the given name exists. More...
 
virtual void destroyCamera (Camera *cam)
 Removes a camera from the scene. More...
 
virtual void destroyCamera (const String &name)
 Removes a camera from the scene. More...
 
virtual void destroyAllCameras (void)
 Removes (and destroys) all cameras from the scene. More...
 
void setCameraRelativeRendering (bool rel)
 Set whether to use camera-relative co-ordinates when rendering, ie to always place the camera at the origin and move the world around it. More...
 
bool getCameraRelativeRendering () const
 Get whether to use camera-relative co-ordinates when rendering, ie to always place the camera at the origin and move the world around it. More...
 
CameraIterator getCameraIterator (void)
 Returns a specialised MapIterator over all cameras in the scene. More...
 
const CameraListgetCameras () const
 Returns a const version of the camera list. More...
 
LightcreateLight (const String &name, Light::LightTypes type)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
virtual LightcreateLight ()
 Creates a light with a generated name. More...
 
LightcreateLight (Light::LightTypes type)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
const PlaneListgetLightClippingPlanes (Light *l)
 Retrieve a set of clipping planes for a given light. More...
 
const RealRectgetLightScissorRect (Light *l, const Camera *cam)
 Retrieve a scissor rectangle for a given light and camera. More...
 
virtual void invalidatePerFrameScissorRectCache ()
 Scissor rects are cached during frame, and this cache should be explicitly invalidated if several renders are done during one frame using different projections matrices, for example for tiled, stereo or multiview orthographic projection rendering. More...
 
virtual void destroyLight (Light *light)
 Removes the light from the scene and destroys it based on a pointer. More...
 
void _notifyLightsDirty (void)
 Advanced method to increase the lights dirty counter due to lights having changed. More...
 
ulong _getLightsDirtyCounter (void) const
 Advanced method to gets the lights dirty counter. More...
 
const LightList_getLightsAffectingFrustum (void) const
 Get the list of lights which could be affecting the frustum. More...
 
void _populateLightList (const Vector3 &position, Real radius, LightList &destList, uint32 lightMask=0xFFFFFFFF)
 Populate a light list with an ordered set of the lights which are closest to the position specified. More...
 
void _populateLightList (const SceneNode *sn, Real radius, LightList &destList, uint32 lightMask=0xFFFFFFFF)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
SceneNodegetRootSceneNode (void)
 Gets the SceneNode at the root of the scene hierarchy. More...
 
SceneNodegetSceneNode (const String &name, bool throwExceptionIfNotFound=true) const
 Retrieves a named SceneNode from the scene graph. More...
 
bool hasSceneNode (const String &name) const
 Returns whether a scene node with the given name exists. More...
 
void setDisplaySceneNodes (bool display)
 Tells the SceneManager whether it should render the SceneNodes which make up the scene as well as the objects in the scene. More...
 
bool getDisplaySceneNodes (void) const
 Returns true if all scene nodes axis are to be displayed. More...
 
void showBoundingBoxes (bool bShow)
 Allows all bounding boxes of scene nodes to be displayed. More...
 
bool getShowBoundingBoxes () const
 Returns if all bounding boxes of scene nodes are to be displayed. More...
 
DebugDrawergetDebugDrawer ()
 
EntitycreateEntity (const String &entityName, const String &meshName, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME)
 Create an Entity (instance of a discrete mesh). More...
 
EntitycreateEntity (const String &entityName, const MeshPtr &pMesh)
 Create an Entity (instance of a discrete mesh). More...
 
EntitycreateEntity (const String &meshName)
 Create an Entity (instance of a discrete mesh) with an autogenerated name. More...
 
EntitycreateEntity (const MeshPtr &pMesh)
 Create an Entity (instance of a discrete mesh) with an autogenerated name. More...
 
EntitycreateEntity (const String &entityName, PrefabType ptype)
 Create an Entity (instance of a discrete mesh) from a range of prefab shapes. More...
 
EntitycreateEntity (PrefabType ptype)
 Create an Entity (instance of a discrete mesh) from a range of prefab shapes, generating the name. More...
 
EntitygetEntity (const String &name) const
 Retrieves a pointer to the named Entity. More...
 
bool hasEntity (const String &name) const
 Returns whether an entity with the given name exists. More...
 
void destroyEntity (Entity *ent)
 Removes & destroys an Entity from the SceneManager. More...
 
void destroyEntity (const String &name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
virtual void destroyAllEntities (void)
 Removes & destroys all Entities. More...
 
ManualObjectcreateManualObject (const String &name)
 Create a ManualObject, an object which you populate with geometry manually through a GL immediate-mode style interface. More...
 
ManualObjectcreateManualObject ()
 Create a ManualObject, an object which you populate with geometry manually through a GL immediate-mode style interface, generating the name. More...
 
ManualObjectgetManualObject (const String &name) const
 Retrieves a pointer to the named ManualObject. More...
 
bool hasManualObject (const String &name) const
 Returns whether a manual object with the given name exists. More...
 
void destroyManualObject (ManualObject *obj)
 Removes & destroys a ManualObject from the SceneManager. More...
 
void destroyManualObject (const String &name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
void destroyAllManualObjects (void)
 Removes & destroys all ManualObjects from the SceneManager. More...
 
BillboardChaincreateBillboardChain (const String &name)
 Create a BillboardChain, an object which you can use to render a linked chain of billboards. More...
 
BillboardChaincreateBillboardChain ()
 Create a BillboardChain, an object which you can use to render a linked chain of billboards, with a generated name. More...
 
BillboardChaingetBillboardChain (const String &name) const
 Retrieves a pointer to the named BillboardChain. More...
 
bool hasBillboardChain (const String &name) const
 Returns whether a billboard chain with the given name exists. More...
 
void destroyBillboardChain (BillboardChain *obj)
 Removes & destroys a BillboardChain from the SceneManager. More...
 
void destroyBillboardChain (const String &name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
void destroyAllBillboardChains (void)
 Removes & destroys all BillboardChains from the SceneManager. More...
 
RibbonTrailcreateRibbonTrail (const String &name)
 Create a RibbonTrail, an object which you can use to render a linked chain of billboards which follows one or more nodes. More...
 
RibbonTrailcreateRibbonTrail ()
 Create a RibbonTrail, an object which you can use to render a linked chain of billboards which follows one or more nodes, generating the name. More...
 
RibbonTrailgetRibbonTrail (const String &name) const
 Retrieves a pointer to the named RibbonTrail. More...
 
bool hasRibbonTrail (const String &name) const
 Returns whether a ribbon trail with the given name exists. More...
 
void destroyRibbonTrail (RibbonTrail *obj)
 Removes & destroys a RibbonTrail from the SceneManager. More...
 
void destroyRibbonTrail (const String &name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
void destroyAllRibbonTrails (void)
 Removes & destroys all RibbonTrails from the SceneManager. More...
 
ParticleSystemcreateParticleSystem (const String &name, const String &templateName)
 Creates a particle system based on a template. More...
 
ParticleSystemcreateParticleSystem (const String &name, size_t quota=500, const String &resourceGroup=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME)
 Create a blank particle system. More...
 
ParticleSystemcreateParticleSystem (size_t quota=500, const String &resourceGroup=ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME)
 Create a blank particle system with a generated name. More...
 
ParticleSystemgetParticleSystem (const String &name) const
 Retrieves a pointer to the named ParticleSystem. More...
 
bool hasParticleSystem (const String &name) const
 Returns whether a particle system with the given name exists. More...
 
void destroyParticleSystem (ParticleSystem *obj)
 Removes & destroys a ParticleSystem from the SceneManager. More...
 
void destroyParticleSystem (const String &name)
 Removes & destroys a ParticleSystem from the SceneManager. More...
 
void destroyAllParticleSystems (void)
 Removes & destroys all ParticleSystems from the SceneManager. More...
 
virtual void prepareWorldGeometry (const String &filename)
 Sets the source of the 'world' geometry, i.e. More...
 
virtual void prepareWorldGeometry (DataStreamPtr &stream, const String &typeName=BLANKSTRING)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
virtual void setWorldGeometry (const String &filename)
 Sets the source of the 'world' geometry, i.e. More...
 
virtual void setWorldGeometry (DataStreamPtr &stream, const String &typeName=BLANKSTRING)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
virtual size_t estimateWorldGeometry (const String &filename)
 Estimate the number of loading stages required to load the named world geometry. More...
 
virtual size_t estimateWorldGeometry (DataStreamPtr &stream, const String &typeName=BLANKSTRING)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
void _queueSkiesForRendering (Camera *cam)
 
void setSkyPlane (bool enable, const Plane &plane, const String &materialName, Real scale=1000, Real tiling=10, bool drawFirst=true, Real bow=0, int xsegments=1, int ysegments=1, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME)
 Enables / disables a 'sky plane' i.e. More...
 
void _setSkyPlane (bool enable, const Plane &plane, const String &materialName, Real scale=1000, Real tiling=10, uint8 renderQueue=RENDER_QUEUE_SKIES_EARLY, Real bow=0, int xsegments=1, int ysegments=1, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
void setSkyPlaneEnabled (bool enable)
 Enables / disables a 'sky plane'. More...
 
bool isSkyPlaneEnabled (void) const
 Return whether a key plane is enabled. More...
 
SceneNodegetSkyPlaneNode (void) const
 Get the sky plane node, if enabled. More...
 
const SkyPlaneGenParametersgetSkyPlaneGenParameters (void) const
 Get the parameters used to construct the SkyPlane, if any. More...
 
void setSkyBox (bool enable, const String &materialName, Real distance=5000, bool drawFirst=true, const Quaternion &orientation=Quaternion::IDENTITY, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME)
 Enables / disables a 'sky box' i.e. More...
 
void _setSkyBox (bool enable, const String &materialName, Real distance=5000, uint8 renderQueue=RENDER_QUEUE_SKIES_EARLY, const Quaternion &orientation=Quaternion::IDENTITY, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
void setSkyBoxEnabled (bool enable)
 Enables / disables a 'sky box'. More...
 
bool isSkyBoxEnabled (void) const
 Return whether a skybox is enabled. More...
 
SceneNodegetSkyBoxNode (void) const
 Get the skybox node, if enabled. More...
 
const SkyBoxGenParametersgetSkyBoxGenParameters (void) const
 Get the parameters used to generate the current SkyBox, if any. More...
 
void setSkyDome (bool enable, const String &materialName, Real curvature=10, Real tiling=8, Real distance=4000, bool drawFirst=true, const Quaternion &orientation=Quaternion::IDENTITY, int xsegments=16, int ysegments=16, int ysegments_keep=-1, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME)
 Enables / disables a 'sky dome' i.e. More...
 
void _setSkyDome (bool enable, const String &materialName, Real curvature=10, Real tiling=8, Real distance=4000, uint8 renderQueue=RENDER_QUEUE_SKIES_EARLY, const Quaternion &orientation=Quaternion::IDENTITY, int xsegments=16, int ysegments=16, int ysegments_keep=-1, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
void setSkyDomeEnabled (bool enable)
 Enables / disables a 'sky dome'. More...
 
bool isSkyDomeEnabled (void) const
 Return whether a skydome is enabled. More...
 
SceneNodegetSkyDomeNode (void) const
 Get the sky dome node, if enabled. More...
 
const SkyDomeGenParametersgetSkyDomeGenParameters (void) const
 Get the parameters used to generate the current SkyDome, if any. More...
 
void setFog (FogMode mode=FOG_NONE, const ColourValue &colour=ColourValue::White, Real expDensity=0.001f, Real linearStart=0.0f, Real linearEnd=1.0f)
 Sets the fogging mode applied to the scene. More...
 
FogMode getFogMode (void) const
 Returns the fog mode for the scene. More...
 
const ColourValuegetFogColour (void) const
 Returns the fog colour for the scene. More...
 
Real getFogStart (void) const
 Returns the fog start distance for the scene. More...
 
Real getFogEnd (void) const
 Returns the fog end distance for the scene. More...
 
Real getFogDensity (void) const
 Returns the fog density for the scene. More...
 
BillboardSetcreateBillboardSet (unsigned int poolSize=20)
 Creates a new BillboardSet for use with this scene manager. More...
 
BillboardSetcreateBillboardSet (const String &name, unsigned int poolSize=20)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
BillboardSetgetBillboardSet (const String &name) const
 Retrieves a pointer to the named BillboardSet. More...
 
bool hasBillboardSet (const String &name) const
 Returns whether a billboardset with the given name exists. More...
 
void destroyBillboardSet (BillboardSet *set)
 Removes & destroys an BillboardSet from the SceneManager. More...
 
void destroyBillboardSet (const String &name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
void destroyAllBillboardSets (void)
 Removes & destroys all BillboardSets. More...
 
void _applySceneAnimations (void)
 Internal method for applying animations to scene nodes. More...
 
AnimationcreateAnimation (const String &name, Real length)
 Creates an animation which can be used to animate scene nodes. More...
 
AnimationgetAnimation (const String &name) const
 Looks up an Animation object previously created with createAnimation. More...
 
bool hasAnimation (const String &name) const
 Returns whether an animation with the given name exists. More...
 
void destroyAnimation (const String &name)
 Destroys an Animation. More...
 
void destroyAllAnimations (void)
 Removes all animations created using this SceneManager. More...
 
AnimationStatecreateAnimationState (const String &animName)
 Create an AnimationState object for managing application of animations. More...
 
AnimationStategetAnimationState (const String &animName) const
 Retrieves animation state as previously created using createAnimationState. More...
 
bool hasAnimationState (const String &name) const
 Returns whether an animation state with the given name exists. More...
 
void destroyAnimationState (const String &name)
 Destroys an AnimationState. More...
 
void destroyAllAnimationStates (void)
 Removes all animation states created using this SceneManager. More...
 
AnimationIterator getAnimationIterator (void)
 Returns a specialised MapIterator over all animations in the scene. More...
 
const AnimationListgetAnimations () const
 Returns a const version of the animation list. More...
 
AnimationStateIterator getAnimationStateIterator (void)
 Returns a specialised MapIterator over all animation states in the scene. More...
 
const AnimationStateMapgetAnimationStates ()
 Returns a specialised Map over all animation states in the scene. More...
 
void destroyQuery (SceneQuery *query)
 Destroys a scene query of any type. More...
 
void _suppressShadows (bool suppress)
 Indicates to the SceneManager whether it should suppress the active shadow rendering technique until told otherwise. More...
 
bool _areShadowsSuppressed (void) const
 Are shadows suppressed? More...
 
void setShadowTechnique (ShadowTechnique technique)
 Sets the general shadow technique to be used in this scene. More...
 
ShadowTechnique getShadowTechnique (void) const
 Gets the current shadow technique. More...
 
void setShowDebugShadows (bool debug)
 Enables / disables the rendering of debug information for shadows. More...
 
bool getShowDebugShadows (void) const
 Are debug shadows shown? More...
 
void setShadowColour (const ColourValue &colour)
 Set the colour used to modulate areas in shadow. More...
 
const ColourValuegetShadowColour (void) const
 Get the colour used to modulate areas in shadow. More...
 
void setShadowDirectionalLightExtrusionDistance (Real dist)
 Sets the distance a shadow volume is extruded for a directional light. More...
 
Real getShadowDirectionalLightExtrusionDistance (void) const
 Gets the distance a shadow volume is extruded for a directional light. More...
 
void setShadowFarDistance (Real distance)
 Sets the default maximum distance away from the camera that shadows will be visible. More...
 
Real getShadowFarDistance (void) const
 Gets the default maximum distance away from the camera that shadows will be visible. More...
 
Real getShadowFarDistanceSquared (void) const
 
void setShadowIndexBufferSize (size_t size)
 Sets the maximum size of the index buffer used to render shadow primitives. More...
 
size_t getShadowIndexBufferSize (void) const
 Get the size of the shadow index buffer. More...
 
const ShadowCameraSetupPtrgetShadowCameraSetup () const
 Get the shadow camera setup in use for all lights which don't have their own shadow camera setup. More...
 
void setShadowUseInfiniteFarPlane (bool enable)
 Sets whether we should use an inifinite camera far plane when rendering stencil shadows. More...
 
bool isShadowTechniqueStencilBased (void) const
 Is there a stencil shadow based shadowing technique in use? More...
 
bool isShadowTechniqueTextureBased (void) const
 Is there a texture shadow based shadowing technique in use? More...
 
bool isShadowTechniqueModulative (void) const
 Is there a modulative shadowing technique in use? More...
 
bool isShadowTechniqueAdditive (void) const
 Is there an additive shadowing technique in use? More...
 
bool isShadowTechniqueIntegrated (void) const
 Is the shadow technique integrated into primary materials? More...
 
bool isShadowTechniqueInUse (void) const
 Is there any shadowing technique in use? More...
 
void setShadowUseLightClipPlanes (bool enabled)
 Sets whether when using a built-in additive shadow mode, user clip planes should be used to restrict light rendering. More...
 
bool getShadowUseLightClipPlanes () const
 Gets whether when using a built-in additive shadow mode, user clip planes should be used to restrict light rendering. More...
 
void setShadowTextureSize (unsigned short size)
 Set the size of the texture used for all texture-based shadows. More...
 
void setShadowTextureConfig (size_t shadowIndex, uint16 width, uint16 height, PixelFormat format, uint16 fsaa=0, uint16 depthBufferPoolId=1)
 Set the detailed configuration for a shadow texture. More...
 
void setShadowTextureConfig (size_t shadowIndex, const ShadowTextureConfig &config)
 Set the detailed configuration for a shadow texture. More...
 
const ShadowTextureConfigListgetShadowTextureConfigList () const
 Get the current shadow texture settings. More...
 
ConstShadowTextureConfigIterator getShadowTextureConfigIterator () const
 
void setShadowTexturePixelFormat (PixelFormat fmt)
 Set the pixel format of the textures used for texture-based shadows. More...
 
void setShadowTextureFSAA (unsigned short fsaa)
 Set the level of multisample AA of the textures used for texture-based shadows. More...
 
void setShadowTextureCount (size_t count)
 Set the number of textures allocated for texture-based shadows. More...
 
size_t getShadowTextureCount (void) const
 
void setShadowTextureCountPerLightType (Light::LightTypes type, size_t count)
 Set the number of shadow textures a light type uses. More...
 
size_t getShadowTextureCountPerLightType (Light::LightTypes type) const
 Get the number of shadow textures is assigned for the given light type. More...
 
void setShadowTextureSettings (uint16 size, uint16 count, PixelFormat fmt=PF_X8R8G8B8, uint16 fsaa=0, uint16 depthBufferPoolId=1)
 Sets the size and count of textures used in texture-based shadows. More...
 
const TexturePtrgetShadowTexture (size_t shadowIndex)
 Get a reference to the shadow texture currently in use at the given index. More...
 
void setShadowDirLightTextureOffset (Real offset)
 Sets the proportional distance which a texture shadow which is generated from a directional light will be offset into the camera view to make best use of texture space. More...
 
Real getShadowDirLightTextureOffset (void) const
 Gets the proportional distance which a texture shadow which is generated from a directional light will be offset into the camera view to make best use of texture space. More...
 
void setShadowTextureFadeStart (Real fadeStart)
 Sets the proportional distance at which texture shadows begin to fade out. More...
 
void setShadowTextureFadeEnd (Real fadeEnd)
 Sets the proportional distance at which texture shadows finish to fading out. More...
 
void setShadowTextureSelfShadow (bool selfShadow)
 Sets whether or not texture shadows should attempt to self-shadow. More...
 
bool getShadowTextureSelfShadow (void) const
 Gets whether or not texture shadows attempt to self-shadow. More...
 
void setShadowTextureCasterMaterial (const MaterialPtr &mat)
 Sets the default material to use for rendering shadow casters. More...
 
void setShadowTextureReceiverMaterial (const MaterialPtr &mat)
 Sets the default material to use for rendering shadow receivers. More...
 
void setShadowCasterRenderBackFaces (bool bf)
 Sets whether or not shadow casters should be rendered into shadow textures using their back faces rather than their front faces. More...
 
bool getShadowCasterRenderBackFaces () const
 Gets whether or not shadow casters should be rendered into shadow textures using their back faces rather than their front faces. More...
 
void setShadowCameraSetup (const ShadowCameraSetupPtr &shadowSetup)
 Set the shadow camera setup to use for all lights which don't have their own shadow camera setup. More...
 
StaticGeometrycreateStaticGeometry (const String &name)
 Creates a StaticGeometry instance suitable for use with this SceneManager. More...
 
StaticGeometrygetStaticGeometry (const String &name) const
 Retrieve a previously created StaticGeometry instance. More...
 
bool hasStaticGeometry (const String &name) const
 Returns whether a static geometry instance with the given name exists. More...
 
void destroyStaticGeometry (StaticGeometry *geom)
 Remove & destroy a StaticGeometry instance. More...
 
void destroyStaticGeometry (const String &name)
 Remove & destroy a StaticGeometry instance. More...
 
void destroyAllStaticGeometry (void)
 Remove & destroy all StaticGeometry instances. More...
 
InstanceManagercreateInstanceManager (const String &customName, const String &meshName, const String &groupName, InstanceManager::InstancingTechnique technique, size_t numInstancesPerBatch, uint16 flags=0, unsigned short subMeshIdx=0)
 Creates an InstanceManager interface to create & manipulate instanced entities You need to call this function at least once before start calling createInstancedEntity to build up an instance based on the given mesh. More...
 
InstanceManagergetInstanceManager (const String &managerName) const
 Retrieves an existing InstanceManager by it's name. More...
 
bool hasInstanceManager (const String &managerName) const
 Returns whether an InstanceManager with the given name exists. More...
 
void destroyInstanceManager (const String &name)
 Destroys an InstanceManager if it was created with createInstanceManager() More...
 
void destroyInstanceManager (InstanceManager *instanceManager)
 
void destroyAllInstanceManagers (void)
 
size_t getNumInstancesPerBatch (const String &meshName, const String &groupName, const String &materialName, InstanceManager::InstancingTechnique technique, size_t numInstancesPerBatch, uint16 flags=0, unsigned short subMeshIdx=0)
 
InstancedEntitycreateInstancedEntity (const String &materialName, const String &managerName)
 Creates an InstancedEntity based on an existing InstanceManager. More...
 
void destroyInstancedEntity (InstancedEntity *instancedEntity)
 Removes an InstancedEntity,. More...
 
void _addDirtyInstanceManager (InstanceManager *dirtyManager)
 Called by an InstanceManager when it has at least one InstanceBatch that needs their bounds to be updated for proper culling. More...
 
MovableObjectcreateMovableObject (const String &name, const String &typeName, const NameValuePairList *params=0)
 Create a movable object of the type specified. More...
 
MovableObjectcreateMovableObject (const String &typeName, const NameValuePairList *params=0)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
void destroyMovableObject (const String &name, const String &typeName)
 Destroys a MovableObject with the name specified, of the type specified. More...
 
void destroyMovableObject (MovableObject *m)
 Destroys a MovableObject. More...
 
void destroyAllMovableObjectsByType (const String &typeName)
 Destroy all MovableObjects of a given type. More...
 
void destroyAllMovableObjects (void)
 Destroy all MovableObjects. More...
 
MovableObjectgetMovableObject (const String &name, const String &typeName) const
 Get a reference to a previously created MovableObject. More...
 
bool hasMovableObject (const String &name, const String &typeName) const
 Returns whether a movable object instance with the given name exists. More...
 
const MovableObjectMapgetMovableObjects (const String &typeName)
 Get all MovableObect instances of a given type. More...
 
MovableObjectIterator getMovableObjectIterator (const String &typeName)
 
void injectMovableObject (MovableObject *m)
 Inject a MovableObject instance created externally. More...
 
void extractMovableObject (const String &name, const String &typeName)
 Extract a previously injected MovableObject. More...
 
void extractMovableObject (MovableObject *m)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
void extractAllMovableObjectsByType (const String &typeName)
 Extract all injected MovableObjects of a given type. More...
 

Detailed Description

Specialized SceneManager that uses Portal-Connected-Zones to divide the scene spatially.

Member Typedef Documentation

◆ ZoneIterator

ZoneMap iterator for read-only access to the zonemap.

Constructor & Destructor Documentation

◆ PCZSceneManager()

Ogre::PCZSceneManager::PCZSceneManager ( const String name)

Standard Constructor.


◆ ~PCZSceneManager()

Ogre::PCZSceneManager::~PCZSceneManager ( )

Standard destructor.

Member Function Documentation

◆ getTypeName()

const String& Ogre::PCZSceneManager::getTypeName ( void  ) const
virtual

Retrieve the type name of this scene manager.

Remarks
This method has to be implemented by subclasses. It should return the type name of this SceneManager which agrees with the type name of the SceneManagerFactory which created it.

Implements Ogre::SceneManager.

◆ init()

void Ogre::PCZSceneManager::init ( const String defaultZoneTypeName,
const String filename = "none" 
)

Initializes the manager.

◆ createPortal()

Portal* Ogre::PCZSceneManager::createPortal ( const String name,
PortalBase::PORTAL_TYPE  type = PortalBase::PORTAL_TYPE_QUAD 
)

Create a new portal instance.

◆ destroyPortal() [1/2]

void Ogre::PCZSceneManager::destroyPortal ( Portal p)

Delete a portal instance by pointer.

◆ destroyPortal() [2/2]

void Ogre::PCZSceneManager::destroyPortal ( const String portalName)

Delete a portal instance by name.

◆ createAntiPortal()

AntiPortal* Ogre::PCZSceneManager::createAntiPortal ( const String name,
PortalBase::PORTAL_TYPE  type = PortalBase::PORTAL_TYPE_QUAD 
)

Create a new anti portal instance.

◆ destroyAntiPortal() [1/2]

void Ogre::PCZSceneManager::destroyAntiPortal ( AntiPortal p)

Delete a anti portal instance by pointer.

◆ destroyAntiPortal() [2/2]

void Ogre::PCZSceneManager::destroyAntiPortal ( const String portalName)

Delete a anti portal instance by name.

◆ createZoneFromFile()

PCZone* Ogre::PCZSceneManager::createZoneFromFile ( const String zoneTypeName,
const String zoneName,
PCZSceneNode parentNode,
const String filename 
)

Create a zone from a file (type of file depends on the zone type.

◆ setZoneGeometry()

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

Set the "main" geometry of the zone.

◆ createSceneNodeImpl() [1/2]

virtual SceneNode* Ogre::PCZSceneManager::createSceneNodeImpl ( void  )
virtual

override this to ensure specialised PCZSceneNode is used.

Reimplemented from Ogre::SceneManager.

◆ createSceneNodeImpl() [2/2]

virtual SceneNode* Ogre::PCZSceneManager::createSceneNodeImpl ( const String name)
virtual

override this to ensure their specialised PCZSceneNode is used.

Reimplemented from Ogre::SceneManager.

◆ createSceneNode() [1/2]

virtual SceneNode* Ogre::PCZSceneManager::createSceneNode ( void  )
virtual

Creates a PCZSceneNode

Reimplemented from Ogre::SceneManager.

◆ createSceneNode() [2/2]

virtual SceneNode* Ogre::PCZSceneManager::createSceneNode ( const String name)
virtual

Creates a PCZSceneNode.

Reimplemented from Ogre::SceneManager.

◆ createCamera()

virtual Camera* Ogre::PCZSceneManager::createCamera ( const String name)
virtual

Creates a specialized PCZCamera.

Reimplemented from Ogre::SceneManager.

◆ destroySceneNode() [1/2]

virtual void Ogre::PCZSceneManager::destroySceneNode ( const String name)
virtual

Deletes a scene node by name & corresponding PCZSceneNode.

Reimplemented from Ogre::SceneManager.

◆ destroySceneNode() [2/2]

virtual void Ogre::PCZSceneManager::destroySceneNode ( SceneNode sn)
virtual

Deletes a scene node & corresponding PCZSceneNode.

Reimplemented from Ogre::SceneManager.

◆ clearScene()

virtual void Ogre::PCZSceneManager::clearScene ( void  )
virtual

Overridden to clean up zones.

Reimplemented from Ogre::SceneManager.

◆ setWorldGeometryRenderQueue()

void Ogre::PCZSceneManager::setWorldGeometryRenderQueue ( uint8  qid)

Overridden from SceneManager.

◆ _renderScene()

void Ogre::PCZSceneManager::_renderScene ( Camera cam,
Viewport vp,
bool  includeOverlays 
)
virtual

Overridden from basic scene manager.

Reimplemented from Ogre::SceneManager.

◆ enableSky()

void Ogre::PCZSceneManager::enableSky ( bool  )

Enable/disable sky rendering.

◆ setSkyZone()

void Ogre::PCZSceneManager::setSkyZone ( PCZone zone)

Set the zone which contains the sky node.

◆ _updateSceneGraph()

virtual void Ogre::PCZSceneManager::_updateSceneGraph ( Camera cam)
virtual

Update Scene Graph (does several things now)

Reimplemented from Ogre::SceneManager.

◆ _findVisibleObjects()

virtual void Ogre::PCZSceneManager::_findVisibleObjects ( Camera cam,
VisibleObjectsBoundsInfo visibleBounds,
bool  onlyShadowCasters 
)
virtual

Recurses through the PCZTree determining which nodes are visible.

Reimplemented from Ogre::SceneManager.

◆ _alertVisibleObjects()

virtual void Ogre::PCZSceneManager::_alertVisibleObjects ( void  )
virtual

Alerts each unculled object, notifying it that it will be drawn.

Useful for doing calculations only on nodes that will be drawn, prior to drawing them...

◆ createLight()

virtual Light* Ogre::PCZSceneManager::createLight ( const String name)
virtual

Creates a light for use in the scene.

Remarks
Lights can either be in a fixed position and independent of the scene graph, or they can be attached to SceneNodes so they derive their position from the parent node. Either way, they are created using this method so that the SceneManager manages their existence.
Parameters
nameThe name of the new light, to identify it later.

Reimplemented from Ogre::SceneManager.

◆ getLight()

virtual Light* Ogre::PCZSceneManager::getLight ( const String name) const
virtual

Returns a pointer to the named Light which has previously been added to the scene.

Note
Throws an exception if the named instance does not exist

Reimplemented from Ogre::SceneManager.

◆ hasLight()

virtual bool Ogre::PCZSceneManager::hasLight ( const String name) const
virtual

Returns whether a light with the given name exists.

Reimplemented from Ogre::SceneManager.

◆ destroyLight()

virtual void Ogre::PCZSceneManager::destroyLight ( const String name)
virtual

Removes the named light from the scene and destroys it.

Remarks
Any pointers held to this light after calling this method will be invalid.

Reimplemented from Ogre::SceneManager.

◆ destroyAllLights()

virtual void Ogre::PCZSceneManager::destroyAllLights ( void  )
virtual

Removes and destroys all lights in the scene.

Reimplemented from Ogre::SceneManager.

◆ _updatePortalZoneData()

void Ogre::PCZSceneManager::_updatePortalZoneData ( void  )

Check/Update the zone data for every portal in the scene.

Essentially, this routine checks each portal for intersections with other portals and updates if a crossing occurs

◆ _dirtyNodeByMovingPortals()

void Ogre::PCZSceneManager::_dirtyNodeByMovingPortals ( void  )

Mark nodes dirty for every zone with moving portal in the scene.

◆ _updatePCZSceneNodes()

void Ogre::PCZSceneManager::_updatePCZSceneNodes ( void  )

Update the PCZSceneNodes.

◆ _calcZonesAffectedByLights()

void Ogre::PCZSceneManager::_calcZonesAffectedByLights ( Camera cam)

Calculate which zones are affected by each light.

◆ connectPortalsToTargetZonesByLocation()

void Ogre::PCZSceneManager::connectPortalsToTargetZonesByLocation ( void  )

◆ _updatePCZSceneNode()

void Ogre::PCZSceneManager::_updatePCZSceneNode ( PCZSceneNode )

Checks the given SceneNode, and determines if it needs to be moved to a different PCZone or be added to the visitors list of other PCZone(s).

◆ removeSceneNode()

void Ogre::PCZSceneManager::removeSceneNode ( SceneNode )

Removes the given PCZSceneNode.

◆ addPCZSceneNode()

void Ogre::PCZSceneManager::addPCZSceneNode ( PCZSceneNode sn,
PCZone zone 
)

add a PCZSceneNode to the scene by putting it in a zone NOTE: This zone will be the scene node's home zone

◆ createZone()

PCZone* Ogre::PCZSceneManager::createZone ( const String zoneType,
const String instanceName 
)

Create a zone with the given name

◆ destroyZone()

void Ogre::PCZSceneManager::destroyZone ( PCZone zone,
bool  destroySceneNodes 
)

Destroy an existing zone within the scene.

◆ _updateHomeZone()

void Ogre::PCZSceneManager::_updateHomeZone ( PCZSceneNode ,
bool   
)

Make sure the home zone for the PCZSceneNode is up-to-date.

◆ findZoneForPoint()

PCZone* Ogre::PCZSceneManager::findZoneForPoint ( Vector3 point)

Find the smallest zone which contains the point.

◆ createZoneSpecificNodeData() [1/2]

void Ogre::PCZSceneManager::createZoneSpecificNodeData ( PCZSceneNode )

Create any zone-specific data necessary for all zones for the given node.

◆ createZoneSpecificNodeData() [2/2]

void Ogre::PCZSceneManager::createZoneSpecificNodeData ( PCZone )

Create any zone-specific data necessary for all nodes for the given zone.

◆ setNodeHomeZone()

void Ogre::PCZSceneManager::setNodeHomeZone ( SceneNode ,
PCZone  
)

Set the home zone for a scene node.

◆ findNodesIn() [1/4]

void Ogre::PCZSceneManager::findNodesIn ( const AxisAlignedBox box,
PCZSceneNodeList list,
PCZone startZone,
PCZSceneNode exclude = 0 
)

Recurses the scene, adding any nodes intersecting with the box into the given list.

It ignores the exclude scene node.

◆ findNodesIn() [2/4]

void Ogre::PCZSceneManager::findNodesIn ( const Sphere sphere,
PCZSceneNodeList list,
PCZone startZone,
PCZSceneNode start = 0 
)

Recurses the scene, adding any nodes intersecting with the sphere into the given list.

It will start in the start SceneNode if given, otherwise, it will start at the root node.

◆ findNodesIn() [3/4]

void Ogre::PCZSceneManager::findNodesIn ( const PlaneBoundedVolume volume,
PCZSceneNodeList list,
PCZone startZone,
PCZSceneNode start = 0 
)

Recurses the PCZTree, adding any nodes intersecting with the volume into the given list.

It will start in the start SceneNode if given, otherwise, it will start at the root node.

◆ findNodesIn() [4/4]

void Ogre::PCZSceneManager::findNodesIn ( const Ray ray,
PCZSceneNodeList list,
PCZone startZone,
PCZSceneNode start = 0 
)

Recurses the scene, starting in the given startZone, adding any nodes intersecting with the ray into the given list.

It will start in the start SceneNode if given, otherwise, it will start at the root node.

◆ getDefaultZone()

PCZone* Ogre::PCZSceneManager::getDefaultZone ( void  )
inline

Get the default zone.

◆ getZoneByName()

PCZone* Ogre::PCZSceneManager::getZoneByName ( const String zoneName)

Get a zone by name.

◆ setShowPortals()

void Ogre::PCZSceneManager::setShowPortals ( bool  b)
inline

Sets the portal visibility flag.

◆ setOption()

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

Sets the given option for the SceneManager.

Remarks
Options are: "ShowPortals", bool *; "ShowBoundingBoxes", bool *;

Reimplemented from Ogre::SceneManager.

◆ getOption()

virtual bool Ogre::PCZSceneManager::getOption ( const String ,
void *   
)
virtual

Gets the given option for the Scene Manager.

Remarks
See setOption

Reimplemented from Ogre::SceneManager.

◆ getOptionValues()

bool Ogre::PCZSceneManager::getOptionValues ( const String strKey,
StringVector refValueList 
)
virtual

Method for getting all possible values for a specific option.

When this list is too large (i.e. the option expects, for example, a float), the return value will be true, but the list will contain just one element whose size will be set to 0. Otherwise, the list will be filled with all the possible values the option can accept.

Parameters
strKeyThe name of the option to get the values for.
refValueListA reference to a list that will be filled with the available values.
Returns
On success (the option exists), true is returned.
On failure, false is returned.

Reimplemented from Ogre::SceneManager.

◆ getOptionKeys()

bool Ogre::PCZSceneManager::getOptionKeys ( StringVector refKeys)
virtual

Method for getting all the implementation-specific options of the scene manager.

Parameters
refKeysA reference to a list that will be filled with all the available options.
Returns
On success, true is returned. On failure, false is returned.

Reimplemented from Ogre::SceneManager.

◆ createAABBQuery()

AxisAlignedBoxSceneQuery* Ogre::PCZSceneManager::createAABBQuery ( const AxisAlignedBox box,
uint32  mask = 0xFFFFFFFF 
)
virtual

Overridden from SceneManager.

Reimplemented from Ogre::SceneManager.

◆ createSphereQuery()

SphereSceneQuery* Ogre::PCZSceneManager::createSphereQuery ( const Sphere sphere,
uint32  mask = 0xFFFFFFFF 
)
virtual

Creates a SphereSceneQuery for this scene manager.

Remarks
This method creates a new instance of a query object for this scene manager, for a spherical region. See SceneQuery and SphereSceneQuery for full details.
The instance returned from this method must be destroyed by calling SceneManager::destroyQuery when it is no longer required.
Parameters
sphereDetails of the sphere which describes the region for this query.
maskThe query mask to apply to this query; can be used to filter out certain objects; see SceneQuery for details.

Reimplemented from Ogre::SceneManager.

◆ createPlaneBoundedVolumeQuery()

PlaneBoundedVolumeListSceneQuery* Ogre::PCZSceneManager::createPlaneBoundedVolumeQuery ( const PlaneBoundedVolumeList volumes,
uint32  mask = 0xFFFFFFFF 
)
virtual

Creates a PlaneBoundedVolumeListSceneQuery for this scene manager.

Remarks
This method creates a new instance of a query object for this scene manager, for a region enclosed by a set of planes (normals pointing inwards). See SceneQuery and PlaneBoundedVolumeListSceneQuery for full details.
The instance returned from this method must be destroyed by calling SceneManager::destroyQuery when it is no longer required.
Parameters
volumesDetails of the volumes which describe the region for this query.
maskThe query mask to apply to this query; can be used to filter out certain objects; see SceneQuery for details.

Reimplemented from Ogre::SceneManager.

◆ createRayQuery()

RaySceneQuery* Ogre::PCZSceneManager::createRayQuery ( const Ray ray,
uint32  mask = 0xFFFFFFFF 
)
virtual

Creates a RaySceneQuery for this scene manager.

Remarks
This method creates a new instance of a query object for this scene manager, looking for objects which fall along a ray. See SceneQuery and RaySceneQuery for full details.
The instance returned from this method must be destroyed by calling SceneManager::destroyQuery when it is no longer required.
Parameters
rayDetails of the ray which describes the region for this query.
maskThe query mask to apply to this query; can be used to filter out certain objects; see SceneQuery for details.

Reimplemented from Ogre::SceneManager.

◆ createIntersectionQuery()

IntersectionSceneQuery* Ogre::PCZSceneManager::createIntersectionQuery ( uint32  mask = 0xFFFFFFFF)
virtual

Creates an IntersectionSceneQuery for this scene manager.

Remarks
This method creates a new instance of a query object for locating intersecting objects. See SceneQuery and IntersectionSceneQuery for full details.
The instance returned from this method must be destroyed by calling SceneManager::destroyQuery when it is no longer required.
Parameters
maskThe query mask to apply to this query; can be used to filter out certain objects; see SceneQuery for details.

Reimplemented from Ogre::SceneManager.

◆ getZoneIterator()

ZoneIterator Ogre::PCZSceneManager::getZoneIterator ( void  )
inline

◆ _clearAllZonesPortalUpdateFlag()

void Ogre::PCZSceneManager::_clearAllZonesPortalUpdateFlag ( void  )

Clear portal update flag from all zones.

◆ prepareShadowTextures()

virtual void Ogre::PCZSceneManager::prepareShadowTextures ( Camera cam,
Viewport vp,
const LightList lightList = 0 
)
virtual

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