Spinning Topp Logo BlackTopp Studios
inc
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | Friends | List of all members
Mezzanine::Graphics::SceneManager Class Reference

This class contains utilities and functions to allow the manipulation of the Graphical scene, rather then the physics inside, or the object inside. More...

#include <scenemanager.h>

+ Inheritance diagram for Mezzanine::Graphics::SceneManager:
+ Collaboration diagram for Mezzanine::Graphics::SceneManager:

Public Types

typedef ProxyContainer::const_iterator ConstProxyIterator
 Const Iterator type for RenderableProxy instances stored by this class.
 
typedef std::vector< RenderableProxy * > ProxyContainer
 Basic container type for RenderableProxy storage by this class.
 
typedef ProxyContainer::iterator ProxyIterator
 Iterator type for RenderableProxy instances stored by this class.
 
enum  SceneShadowTechnique {
  SST_None = 0, SST_Stencil_Modulative = 1, SST_Stencil_Additive = 2, SST_Texture_Modulative = 11,
  SST_Texture_Additive = 12, SST_Texture_Additive_Integrated = 13, SST_Texture_Modulative_Integrated = 14
}
 needs to be documented More...
 
enum  SkyMethod { SkyNone = 0, SkyPlane = 1, SkyBox = 2, SkyDome = 3 }
 Used to help identify which method is used to draw the sky, if any. More...
 
- Public Types inherited from Mezzanine::ManagerBase
enum  ManagerType {
  MT_Undefined = 0, MT_AudioManager = 1, MT_AnimationManager = 2, MT_CollisionShapeManager = 3,
  MT_CompositorManager = 4, MT_GraphicsManager = 5, MT_EventManager = 6, MT_InputManager = 7,
  MT_LogManager = 8, MT_MaterialManager = 9, MT_MeshManager = 10, MT_NetworkManager = 11,
  MT_ResourceManager = 12, MT_ScriptingManager = 13, MT_TextureManager = 14, MT_UIManager = 15,
  MT_ActorManager = 101, MT_AreaEffectManager = 102, MT_DebrisManager = 103, MT_PagingManager = 104,
  MT_PhysicsManager = 105, MT_SceneManager = 106, MT_SoundScapeManager = 107, MT_TerrainManager = 108,
  MT_VehicleManager = 109, MT_UserCreated = 512
}
 A listing of Manager Types. More...
 

Public Member Functions

 SceneManager (World *Creator, const String &InternalManagerTypeName="DefaultSceneManager")
 Class Constructor. More...
 
 SceneManager (World *Creator, const XML::Node &XMLNode)
 XML constructor. More...
 
virtual ~SceneManager ()
 Class destructor.
 
Ogre::SceneManager * _GetGraphicsWorldPointer () const
 Gets the internal Ogre Scene Manager pointer. More...
 
SceneManagerData_GetRawInternalDataPointer () const
 Gets the raw internal internal data. More...
 
ProxyIterator BeginRenderableProxy ()
 Gets an iterator to the first Renderable Proxy in this manager. More...
 
ConstProxyIterator BeginRenderableProxy () const
 Gets a const iterator to the first Renderable Proxy in this manager. More...
 
BillboardSetProxyCreateBillboardSetProxy (const Boole AddToWorld)
 Creates a new BillboardSetProxy with a pool size of 20. More...
 
BillboardSetProxyCreateBillboardSetProxy (const UInt32 InitialPoolSize, const Boole AddToWorld)
 Creates a new BillboardSetProxy. More...
 
BillboardSetProxyCreateBillboardSetProxy (const XML::Node &SelfRoot)
 Creates a new BillboardSetProxy. More...
 
CameraProxyCreateCamera ()
 Creates a new camera. More...
 
CameraProxyCreateCamera (const XML::Node &SelfRoot)
 Creates a new camera. More...
 
EntityProxyCreateEntityProxy (const Boole AddToWorld)
 Creates a new EntityProxy. More...
 
EntityProxyCreateEntityProxy (Mesh *TheMesh, const Boole AddToWorld)
 Creates a new EntityProxy. More...
 
EntityProxyCreateEntityProxy (const String &MeshName, const String &GroupName, const Boole AddToWorld)
 Creates a new EntityProxy. More...
 
EntityProxyCreateEntityProxy (const XML::Node &SelfRoot)
 Creates a new EntityProxy. More...
 
LightProxyCreateLightProxy (const Boole AddToWorld)
 Creates a new LightProxy. More...
 
LightProxyCreateLightProxy (const Graphics::LightType Type, const Boole AddToWorld)
 Creates a new LightProxy. More...
 
LightProxyCreateLightProxy (const XML::Node &SelfRoot)
 Creates a new LightProxy. More...
 
ParticleSystemProxyCreateParticleSystemProxy (const String &Template, const Boole AddToWorld)
 Creates a new ParticleSystemProxy. More...
 
ParticleSystemProxyCreateParticleSystemProxy (const XML::Node &SelfRoot)
 Creates a new ParticleSystemProxy. More...
 
void CreateSkyBox (const String &Material, const String &Group, Real Distance, Boole DrawFirst=true, Quaternion Orientation=Quaternion())
 Creates a skybox for use in making a sky. More...
 
void CreateSkyDome (const String &Material, const String &Group, Real Distance, Real Curvature=10.0, Real Tiling=8.0, Boole DrawFirst=true, Quaternion Orientation=Quaternion(), int XSegments=16, int YSegments=16)
 Creates a skydome for use in making a sky. More...
 
void CreateSkyPlane (const Plane &SkyPlane_, const String &Material, const String &Group, Real Scale=1000.0, Real Tiling=10.0, Boole DrawFirst=true, Real Bow=0, int XSegments=1, int YSegments=1)
 Creates a skyplane for use in making a sky. More...
 
virtual void Deinitialize ()
 Removes this manager from any necessary configuration so it can be safely disposed of. More...
 
void DestroyAllProxies ()
 Deletes all stored RenderableProxy instances.
 
void DestroyProxy (RenderableProxy *ToBeDestroyed)
 Deletes a RenderableProxy. More...
 
void DisableSky ()
 If any sky is active, disable it.
 
void DisableSkyBox ()
 Disables the currently active skybox. More...
 
void DisableSkyDome ()
 Disables the currently active skydome. More...
 
void DisableSkyPlane ()
 Disables the currently active skyplane. More...
 
ProxyIterator EndRenderableProxy ()
 Gets an iterator to one passed the last Renderable Proxy in this manager. More...
 
ConstProxyIterator EndRenderableProxy () const
 Gets a const iterator to one passed the last Renderable Proxy in this manager. More...
 
ColourValue GetAmbientLight () const
 Retrieve the level of the ambient light. More...
 
virtual String GetImplementationTypeName () const
 This Allows any manager name to be sent to a stream. Primarily used for logging. More...
 
virtual ManagerType GetInterfaceType () const
 This returns the type of this manager. More...
 
ConstStringGetName () const
 Gets the name of this manager. More...
 
UInt32 GetNumProxies () const
 Gets the number of RenderableProxy instances in this manager. More...
 
RenderableProxyGetProxy (const UInt32 Index) const
 Gets a RenderableProxy instance by index. More...
 
RenderableProxyGetProxy (const Mezzanine::ProxyType Type, UInt32 Which) const
 Gets the n-th proxy of the specified type. More...
 
SceneShadowTechnique GetSceneShadowTechnique () const
 Gets the currently set shadow technique. More...
 
ColourValue GetShadowColour () const
 Gets the colour being used when casting shadows. More...
 
Real GetShadowFarDistance () const
 Gets the maximum distance from the camera that shadows will be visible. More...
 
Whole GetShadowTextureCount () const
 Gets the currently set number of textures being used to make texture shadows. More...
 
unsigned short GetShadowTextureSize () const
 Retrieve the size of textures. More...
 
virtual void Initialize ()
 Configures this manager for use prior to entering the main loop. More...
 
virtual void Pause (const UInt32 PL)
 Sets the pause state of this manager, or has no effect depending on the value passed in. More...
 
void PauseAllParticles (Boole Pause)
 Pauses(or unpauses) all particles stored in this manager. More...
 
void SetAmbientLight (Real Red=1.0, Real Green=1.0, Real Blue=1.0, Real Alpha=1.0)
 Sets the ambient light for the scene. More...
 
void SetAmbientLight (const ColourValue &LightColor)
 Sets the ambient light for the scene, in a single value. More...
 
void SetSceneShadowTechnique (SceneShadowTechnique Shadows)
 Sets the type of shadows to be used when rendering the scene. More...
 
void SetShadowColour (const ColourValue &ShadowColour)
 Sets the colour to be used when casting shadows. More...
 
void SetShadowFarDistance (const Real &FarDist)
 Sets the maximum distance from the camera that shadows will be visible. More...
 
void SetShadowTextureCount (const Whole &Count)
 Sets the number of textures to be alloted for creating shadows. More...
 
void SetShadowTextureSize (unsigned short Size)
 Sets the size of all texture based shadows. More...
 
SkyMethod WhichSky () const
 get the kind of sy in use More...
 
- Public Member Functions inherited from Mezzanine::WorldManager
 WorldManager (World *Creator)
 Class constructor. More...
 
virtual ~WorldManager ()
 Class destructor.
 
virtual WorldGetWorld () const
 Gets the world this manager belongs to. More...
 
virtual Boole IsPaused () const
 Gets whether or not this manager is currently paused. More...
 
- Public Member Functions inherited from Mezzanine::ManagerBase
 ManagerBase ()
 Class constructor.
 
virtual ~ManagerBase ()
 Class destructor.
 
virtual String GetInterfaceTypeAsString () const
 Gets a string of the interface type of this manager. More...
 
Boole IsInitialized () const
 Gets whether or not this manager has been initialized. More...
 

Static Public Attributes

static const String ImplementationName = "DefaultSceneManager"
 A String containing the name of this manager implementation.
 
static const ManagerBase::ManagerType InterfaceType = ManagerBase::MT_SceneManager
 A ManagerType enum value used to describe the type of interface/functionality this manager provides.
 

Protected Attributes

ProxyContainer Proxies
 Container storing all of the RenderableProxy instances created by this manager. More...
 
UIDGenerator ProxyIDGen
 Generator responsible for creating unique IDs for CollidableProxy instances. More...
 
SceneManagerDataSMD
 Pointer to a class storing sensative internal data for the scene. More...
 
Threading::DefaultThreadSpecificStorage::TypeThreadResources
 Can be used for thread safe logging and other thread specific resources. More...
 
- Protected Attributes inherited from Mezzanine::WorldManager
Boole OperationsPaused
 This stores whether or not processing for some or all objects in this manager has been paused. More...
 
WorldParentWorld
 A pointer to the world that created this manager. More...
 
- Protected Attributes inherited from Mezzanine::ManagerBase
Boole Initialized
 Simple Boole indicating whether or not this manager has been initialized. More...
 
EntresolTheEntresol
 The actual pointer to the Entresol core class. More...
 

Friends

class TrackingNodeUpdateWorkUnit
 

Additional Inherited Members

- Static Public Member Functions inherited from Mezzanine::ManagerBase
static String GetTypeAsString (const ManagerType &ManagerType)
 Gets the string form of the type of manager. More...
 
static ManagerType GetTypeFromString (const String &ManagerName)
 Gets the type of manager requested from a string. More...
 

Detailed Description

This class contains utilities and functions to allow the manipulation of the Graphical scene, rather then the physics inside, or the object inside.

This class contains functions that allow the manipulation of lighting, skyboxes, internal scenemanager types, and more.

Definition at line 85 of file scenemanager.h.

Member Enumeration Documentation

needs to be documented

Enumerator
SST_None 

No shadows.

SST_Stencil_Modulative 

Stencil shadow technique which renders all shadow volumes as a modulation after all the non-transparent areas have been rendered.

SST_Stencil_Additive 

Stencil shadow technique which renders each light as a separate additive pass to the scene.

SST_Texture_Modulative 

Texture-based shadow technique which involves a monochrome render-to-texture of the shadow caster and a projection of that texture onto the shadow receivers as a modulative pass.

SST_Texture_Additive 

Texture-based shadow technique which involves a render-to-texture of the shadow caster and a projection of that texture onto the shadow receivers, built up per light as additive passes.

SST_Texture_Additive_Integrated 

Texture-based shadow technique which involves a render-to-texture of the shadow caster and a projection of that texture on to the shadow receivers, with the usage of those shadow textures completely controlled by the materials of the receivers.

SST_Texture_Modulative_Integrated 

Texture-based shadow technique which involves a render-to-texture of the shadow caster and a projection of that texture on to the shadow receivers, with the usage of those shadow textures completely controlled by the materials of the receivers.

Definition at line 101 of file scenemanager.h.

Used to help identify which method is used to draw the sky, if any.

Enumerator
SkyNone 

No Sky rendering at all.

SkyPlane 

A flat plane use to draw the sky.

SkyBox 

A box using 5 Rectangles to draw the sky.

SkyDome 

A multifaceted hemispherical dome, the most sophisticated sky background.

Definition at line 113 of file scenemanager.h.

Constructor & Destructor Documentation

Mezzanine::Graphics::SceneManager::SceneManager ( World Creator,
const String InternalManagerTypeName = "DefaultSceneManager" 
)

Class Constructor.

Parameters
CreatorThe parent world that is creating the manager.
InternalManagerTypeNameThe name of the scenemanager type to be constructed.

Definition at line 182 of file scenemanager.cpp.

Mezzanine::Graphics::SceneManager::SceneManager ( World Creator,
const XML::Node XMLNode 
)

XML constructor.

Parameters
CreatorThe parent world that is creating the manager.
XMLNodeThe node of the xml document to construct from.

Definition at line 193 of file scenemanager.cpp.

Member Function Documentation

Ogre::SceneManager * Mezzanine::Graphics::SceneManager::_GetGraphicsWorldPointer ( ) const

Gets the internal Ogre Scene Manager pointer.

Returns
Returns a pointer to the ogre Scene Manager.

Definition at line 670 of file scenemanager.cpp.

SceneManagerData * Mezzanine::Graphics::SceneManager::_GetRawInternalDataPointer ( ) const

Gets the raw internal internal data.

Returns
Returns a to the raw internal data.

Definition at line 673 of file scenemanager.cpp.

SceneManager::ProxyIterator Mezzanine::Graphics::SceneManager::BeginRenderableProxy ( )

Gets an iterator to the first Renderable Proxy in this manager.

Returns
Returns an iterator to the first Renderable Proxy being stored by this manager.

Definition at line 591 of file scenemanager.cpp.

SceneManager::ConstProxyIterator Mezzanine::Graphics::SceneManager::BeginRenderableProxy ( ) const

Gets a const iterator to the first Renderable Proxy in this manager.

Returns
Returns a const iterator to the first Renderable Proxy being stored by this manager.

Definition at line 597 of file scenemanager.cpp.

BillboardSetProxy * Mezzanine::Graphics::SceneManager::CreateBillboardSetProxy ( const Boole  AddToWorld)

Creates a new BillboardSetProxy with a pool size of 20.

Parameters
AddToWorldWether or not the new proxy should be added to the world after it has been created.
Returns
Returns a pointer to the created proxy.

Definition at line 415 of file scenemanager.cpp.

BillboardSetProxy * Mezzanine::Graphics::SceneManager::CreateBillboardSetProxy ( const UInt32  InitialPoolSize,
const Boole  AddToWorld 
)

Creates a new BillboardSetProxy.

Parameters
InitialPoolSizeThe number of billboards to reserve space for. 20 is a sane default.
AddToWorldWether or not the new proxy should be added to the world after it has been created.
Returns
Returns a pointer to the created proxy.

Definition at line 420 of file scenemanager.cpp.

BillboardSetProxy * Mezzanine::Graphics::SceneManager::CreateBillboardSetProxy ( const XML::Node SelfRoot)

Creates a new BillboardSetProxy.

Parameters
SelfRootAn XML::Node containing the data to populate this class with.
Returns
Returns a pointer to the created proxy.

Definition at line 430 of file scenemanager.cpp.

CameraProxy * Mezzanine::Graphics::SceneManager::CreateCamera ( )

Creates a new camera.

Returns
Returns a pointer to the created camera.

Definition at line 438 of file scenemanager.cpp.

CameraProxy * Mezzanine::Graphics::SceneManager::CreateCamera ( const XML::Node SelfRoot)

Creates a new camera.

Parameters
SelfRootAn XML::Node containing the data to populate this class with.
Returns
Returns a pointer to the created camera.

Definition at line 445 of file scenemanager.cpp.

EntityProxy * Mezzanine::Graphics::SceneManager::CreateEntityProxy ( const Boole  AddToWorld)

Creates a new EntityProxy.

Parameters
AddToWorldWether or not the new proxy should be added to the world after it has been created.
Returns
Returns a pointer to the created proxy.

Definition at line 453 of file scenemanager.cpp.

EntityProxy * Mezzanine::Graphics::SceneManager::CreateEntityProxy ( Mesh TheMesh,
const Boole  AddToWorld 
)

Creates a new EntityProxy.

Parameters
TheMeshA pointer to the mesh to be applied to this proxy.
AddToWorldWether or not the new proxy should be added to the world after it has been created.
Returns
Returns a pointer to the created proxy.

Definition at line 463 of file scenemanager.cpp.

EntityProxy * Mezzanine::Graphics::SceneManager::CreateEntityProxy ( const String MeshName,
const String GroupName,
const Boole  AddToWorld 
)

Creates a new EntityProxy.

Parameters
MeshNameThe name of the mesh to be loaded and applied to this proxy.
GroupNameThe resource group name where the mesh can be found.
AddToWorldWether or not the new proxy should be added to the world after it has been created.
Returns
Returns a pointer to the created proxy.

Definition at line 473 of file scenemanager.cpp.

EntityProxy * Mezzanine::Graphics::SceneManager::CreateEntityProxy ( const XML::Node SelfRoot)

Creates a new EntityProxy.

Parameters
SelfRootAn XML::Node containing the data to populate this class with.
Returns
Returns a pointer to the created proxy.

Definition at line 483 of file scenemanager.cpp.

LightProxy * Mezzanine::Graphics::SceneManager::CreateLightProxy ( const Boole  AddToWorld)

Creates a new LightProxy.

Parameters
AddToWorldWether or not the new proxy should be added to the world after it has been created.
Returns
Returns a pointer to the created proxy.

Definition at line 491 of file scenemanager.cpp.

LightProxy * Mezzanine::Graphics::SceneManager::CreateLightProxy ( const Graphics::LightType  Type,
const Boole  AddToWorld 
)

Creates a new LightProxy.

Parameters
TypeThe type of light this light is to be constructed as.
AddToWorldWether or not the new proxy should be added to the world after it has been created.
Returns
Returns a pointer to the created proxy.

Definition at line 501 of file scenemanager.cpp.

LightProxy * Mezzanine::Graphics::SceneManager::CreateLightProxy ( const XML::Node SelfRoot)

Creates a new LightProxy.

Parameters
SelfRootAn XML::Node containing the data to populate this class with.
Returns
Returns a pointer to the created proxy.

Definition at line 511 of file scenemanager.cpp.

ParticleSystemProxy * Mezzanine::Graphics::SceneManager::CreateParticleSystemProxy ( const String Template,
const Boole  AddToWorld 
)

Creates a new ParticleSystemProxy.

Parameters
TemplateName of the particle script to be used in creating this particle effect.
AddToWorldWether or not the new proxy should be added to the world after it has been created.
Returns
Returns a pointer to the created proxy.

Definition at line 519 of file scenemanager.cpp.

ParticleSystemProxy * Mezzanine::Graphics::SceneManager::CreateParticleSystemProxy ( const XML::Node SelfRoot)

Creates a new ParticleSystemProxy.

Parameters
SelfRootAn XML::Node containing the data to populate this class with.
Returns
Returns a pointer to the created proxy.

Definition at line 529 of file scenemanager.cpp.

void Mezzanine::Graphics::SceneManager::CreateSkyBox ( const String Material,
const String Group,
Real  Distance,
Boole  DrawFirst = true,
Quaternion  Orientation = Quaternion() 
)

Creates a skybox for use in making a sky.

Like skyplanes, only one can exist per scene. Unlike skyplanes, skyboxes will be applied individually to each camera in the scene. The skybox will move with the camera, so as a result the camera will never be able to "touch" the sky. Skyboxes are more performance intensive then skyplanes.

Parameters
MaterialThe name of the material to be applied to the skybox. Note: This is not referring to the filename, but the specific material script within the file.
GroupThe resource group where the material can be found.
DistanceThe distance from the camera where the skybox is found. This is in world units.
DrawFirstWhether or not the skybox should be the first thing rendered in the scene. Usually you will want this to be true as it'll ensure all other objects are rendered on top of it.
OrientationOptional quaternion to rotate the orientation of the skybox.

Definition at line 378 of file scenemanager.cpp.

void Mezzanine::Graphics::SceneManager::CreateSkyDome ( const String Material,
const String Group,
Real  Distance,
Real  Curvature = 10.0,
Real  Tiling = 8.0,
Boole  DrawFirst = true,
Quaternion  Orientation = Quaternion(),
int  XSegments = 16,
int  YSegments = 16 
)

Creates a skydome for use in making a sky.

Like the other two types of sky's, their can be only one skydome per scene. Skydomes much like skyboxes, except they have 5 sides(the bottom side is missing), and they bow each of the sides to make the dome. In all other respects they are the same.

Parameters
MaterialThe name of the material to be applied to the skydome. Note: This is not referring to the filename, but the specific material script within the file.
GroupThe resource group where the material can be found.
DistanceThe distance from the camera where the skydome is found. This is in world units.
CurvatureCurvature of the dome. Usually you want this value to be between 2 and 65.
TilingThe number of times to tile the texture or textures listed in the material script across the skydome.
DrawFirstWhether or not the skybox should be the first thing rendered in the scene. Usually you will want this to be true as it'll ensure all other objects are rendered on top of it.
OrientationOptional quaternion to rotate the orientation of the skydome.
XSegmentsThe number of segments, or boxes, the skydome consists of on the dome's X axis.
YSegmentsThe number of segments, or boxes, the skydome consists of on the dome's Y axis.

Definition at line 390 of file scenemanager.cpp.

void Mezzanine::Graphics::SceneManager::CreateSkyPlane ( const Plane SkyPlane_,
const String Material,
const String Group,
Real  Scale = 1000.0,
Real  Tiling = 10.0,
Boole  DrawFirst = true,
Real  Bow = 0,
int  XSegments = 1,
int  YSegments = 1 
)

Creates a skyplane for use in making a sky.

Only one skyplane can exist in a scene. Making a new one will remove the old one. Skyplanes are flat planes that face in one direction. They are ideal for levels with surrounding mountains or anything where the horizon is not visable.

Parameters
SkyPlaneThe plane that will become the sky.
MaterialThe name of the material to be applied to the skyplane. Note: This is not referring to the filename, but the specific material script within the file.
GroupThe resource group where the material can be found.
ScaleThe scaling to be applied to the skyplane. This may need to be tweaked based on how high you set the plane off the ground.
TilingThe number of times to tile the texture or textures listed in the material script across the skyplane.
DrawFirstWhether or not the skyplane should be the first thing rendered in the scene. Usually you will want this to be true as it'll ensure all other objects are rendered on top of it.
BowThis will add curvature to the skyplane if set above zero. Note: Use small numbers. A bow of 1.5 should be noticable.
XSegmentsThe number of segments, or boxes, the skyplane consists of on the planes X axis. This is usful when giving the skyplane a bow. By default the skyplane is just one massive box.
YSegmentsThe number of segments, or boxes, the skyplane consists of on the planes Y axis. This is usful when giving the skyplane a bow. By default the skyplane is just one massive box.

Definition at line 366 of file scenemanager.cpp.

void Mezzanine::Graphics::SceneManager::Deinitialize ( )
virtual

Removes this manager from any necessary configuration so it can be safely disposed of.

Implements Mezzanine::ManagerBase.

Definition at line 650 of file scenemanager.cpp.

void Mezzanine::Graphics::SceneManager::DestroyProxy ( RenderableProxy ToBeDestroyed)

Deletes a RenderableProxy.

Parameters
ToBeDestroyedA pointer to the RenderableProxy you want deleted.

Definition at line 560 of file scenemanager.cpp.

void Mezzanine::Graphics::SceneManager::DisableSkyBox ( )

Disables the currently active skybox.

Using this function effectively deletes the skybox, so you will have to provide a new set of parameters if you wish to re-create the skybox.

Definition at line 385 of file scenemanager.cpp.

void Mezzanine::Graphics::SceneManager::DisableSkyDome ( )

Disables the currently active skydome.

Using this function effectively deletes the skydome, so you will have to provide a new set of parameters if you wish to re-create the skydome.

Definition at line 398 of file scenemanager.cpp.

void Mezzanine::Graphics::SceneManager::DisableSkyPlane ( )

Disables the currently active skyplane.

Using this function effectively deletes the skyplane, so you will have to provide a new set of parameters if you wish to re-create the skyplane.

Definition at line 373 of file scenemanager.cpp.

SceneManager::ProxyIterator Mezzanine::Graphics::SceneManager::EndRenderableProxy ( )

Gets an iterator to one passed the last Renderable Proxy in this manager.

Returns
Returns an iterator to one passed the last Renderable Proxy being stored by this manager.

Definition at line 594 of file scenemanager.cpp.

SceneManager::ConstProxyIterator Mezzanine::Graphics::SceneManager::EndRenderableProxy ( ) const

Gets a const iterator to one passed the last Renderable Proxy in this manager.

Returns
Returns a const iterator to one passed the last Renderable Proxy being stored by this manager.

Definition at line 600 of file scenemanager.cpp.

ColourValue Mezzanine::Graphics::SceneManager::GetAmbientLight ( ) const

Retrieve the level of the ambient light.

Returns
A ColourValue with the ambient light levels

Definition at line 616 of file scenemanager.cpp.

String Mezzanine::Graphics::SceneManager::GetImplementationTypeName ( ) const
virtual

This Allows any manager name to be sent to a stream. Primarily used for logging.

Returns
This returns a String that contains the name.

Implements Mezzanine::ManagerBase.

Definition at line 664 of file scenemanager.cpp.

ManagerBase::ManagerType Mezzanine::Graphics::SceneManager::GetInterfaceType ( ) const
virtual

This returns the type of this manager.

This is intended to make using and casting from Manager base easier. With this is is possible to cast from ManagerBase to the correct Manager Type.

Returns
This returns a ManagerTypeName to identify what this can be safely cast to.

Implements Mezzanine::ManagerBase.

Definition at line 661 of file scenemanager.cpp.

ConstString & Mezzanine::Graphics::SceneManager::GetName ( ) const

Gets the name of this manager.

Returns
Returns the name of this manager.

Definition at line 625 of file scenemanager.cpp.

UInt32 Mezzanine::Graphics::SceneManager::GetNumProxies ( ) const

Gets the number of RenderableProxy instances in this manager.

Returns
Returns a UInt32 representing the number of RenderableProxy instances contained in this manager.

Definition at line 557 of file scenemanager.cpp.

RenderableProxy * Mezzanine::Graphics::SceneManager::GetProxy ( const UInt32  Index) const

Gets a RenderableProxy instance by index.

Parameters
IndexThe index of the RenderableProxy to be retrieved.
Returns
Returns a pointer to the RenderableProxy at the specified index.

Definition at line 540 of file scenemanager.cpp.

RenderableProxy * Mezzanine::Graphics::SceneManager::GetProxy ( const Mezzanine::ProxyType  Type,
UInt32  Which 
) const

Gets the n-th proxy of the specified type.

Note
This manager only stores RenderableProxy types. As such, specifying a type of proxy that isn't derived from RenderableProxy will always return NULL.
Parameters
TypeThe type of proxy to retrieve.
WhichWhich proxy of the specified type to retrieve.
Returns
Returns a pointer to the specified proxy, or NULL if there is no n-th proxy.

Definition at line 543 of file scenemanager.cpp.

SceneManager::SceneShadowTechnique Mezzanine::Graphics::SceneManager::GetSceneShadowTechnique ( ) const

Gets the currently set shadow technique.

Returns
Returns a SceneShadowTechnique enum value representing the currently set shadow technique.

Definition at line 305 of file scenemanager.cpp.

ColourValue Mezzanine::Graphics::SceneManager::GetShadowColour ( ) const

Gets the colour being used when casting shadows.

Returns
Returns a ColourValue representing the colour used when casting shadows.

Definition at line 357 of file scenemanager.cpp.

Real Mezzanine::Graphics::SceneManager::GetShadowFarDistance ( ) const

Gets the maximum distance from the camera that shadows will be visible.

Returns
Returns a Real representing the maximum distance from the camera shadows will be rendered.

Definition at line 351 of file scenemanager.cpp.

Whole Mezzanine::Graphics::SceneManager::GetShadowTextureCount ( ) const

Gets the currently set number of textures being used to make texture shadows.

Returns
Returns a Whole indicating the number of textures used to make texture shadows.

Definition at line 336 of file scenemanager.cpp.

unsigned short Mezzanine::Graphics::SceneManager::GetShadowTextureSize ( ) const

Retrieve the size of textures.

Returns
An unsigned short which is the size of the textures.

Definition at line 345 of file scenemanager.cpp.

void Mezzanine::Graphics::SceneManager::Initialize ( )
virtual

Configures this manager for use prior to entering the main loop.

Exceptions
Ifthis is called while no valid world is set, this will throw an "INVALID_STATE_EXCEPTION".

Reimplemented from Mezzanine::WorldManager.

Definition at line 640 of file scenemanager.cpp.

void Mezzanine::Graphics::SceneManager::Pause ( const UInt32  PL)
virtual

Sets the pause state of this manager, or has no effect depending on the value passed in.

Parameters
PLA bitfield describing the pause level being assigned to the parent world of this manager.

Implements Mezzanine::WorldManager.

Definition at line 635 of file scenemanager.cpp.

void Mezzanine::Graphics::SceneManager::PauseAllParticles ( Boole  Pause)

Pauses(or unpauses) all particles stored in this manager.

Parameters
PauseWill pause all Particles if true, unpause if false.

Definition at line 628 of file scenemanager.cpp.

void Mezzanine::Graphics::SceneManager::SetAmbientLight ( Real  Red = 1.0,
Real  Green = 1.0,
Real  Blue = 1.0,
Real  Alpha = 1.0 
)

Sets the ambient light for the scene.

Not all scene's will need ambient light. Ambient light is light that hits all objects from all directions.

Parameters
RedThe value representing the amount of red color in the ambient light.
GreenThe value representing the amount of green color in the ambient light.
BlueThe value representing the amount of blue color in the ambient light.
AlphaThe value representing the transparency of the color in the ambient light.

Definition at line 606 of file scenemanager.cpp.

void Mezzanine::Graphics::SceneManager::SetAmbientLight ( const ColourValue LightColor)

Sets the ambient light for the scene, in a single value.

Parameters
RedThe value representing the amount of red color in the ambient light.

Definition at line 611 of file scenemanager.cpp.

void Mezzanine::Graphics::SceneManager::SetSceneShadowTechnique ( SceneShadowTechnique  Shadows)

Sets the type of shadows to be used when rendering the scene.

The scene manager defaults to no shadows.

Parameters
ShadowsThe technique to be applied, see SceneShadowTechnique enum for more info.

Definition at line 276 of file scenemanager.cpp.

void Mezzanine::Graphics::SceneManager::SetShadowColour ( const ColourValue ShadowColour)

Sets the colour to be used when casting shadows.

Parameters
ShadowColourThe colour desired to be used when rendering shadows.

Definition at line 354 of file scenemanager.cpp.

void Mezzanine::Graphics::SceneManager::SetShadowFarDistance ( const Real FarDist)

Sets the maximum distance from the camera that shadows will be visible.

Parameters
FarDistThe maximum distance from the camera shadows will be rendered.

Definition at line 348 of file scenemanager.cpp.

void Mezzanine::Graphics::SceneManager::SetShadowTextureCount ( const Whole Count)

Sets the number of textures to be alloted for creating shadows.

Defaults to 1.

Parameters
CountThe amount of textures to be used for creating texture-based shadows.

Definition at line 333 of file scenemanager.cpp.

void Mezzanine::Graphics::SceneManager::SetShadowTextureSize ( unsigned short  Size)

Sets the size of all texture based shadows.

This defaults to 512. Sizes must be a power of 2.

Parameters
SizeThe size of all textures to be used with shadows, in KB(?).

Definition at line 339 of file scenemanager.cpp.

SceneManager::SkyMethod Mezzanine::Graphics::SceneManager::WhichSky ( ) const

get the kind of sy in use

Returns
The kind of sky in use

Definition at line 409 of file scenemanager.cpp.

Member Data Documentation

ProxyContainer Mezzanine::Graphics::SceneManager::Proxies
protected

Container storing all of the RenderableProxy instances created by this manager.

Definition at line 128 of file scenemanager.h.

UIDGenerator Mezzanine::Graphics::SceneManager::ProxyIDGen
protected

Generator responsible for creating unique IDs for CollidableProxy instances.

Definition at line 125 of file scenemanager.h.

SceneManagerData* Mezzanine::Graphics::SceneManager::SMD
protected

Pointer to a class storing sensative internal data for the scene.

Definition at line 131 of file scenemanager.h.

Threading::DefaultThreadSpecificStorage::Type* Mezzanine::Graphics::SceneManager::ThreadResources
protected

Can be used for thread safe logging and other thread specific resources.

Definition at line 134 of file scenemanager.h.


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