The Nebula Device 3: Graphics::GraphicsServer Class Reference

The Nebula Device 3

Graphics::GraphicsServer Class Reference

#include <graphicsserver.h>

Inheritance diagram for Graphics::GraphicsServer:

Core::RefCounted

Detailed Description

Client-side proxy of the InternalGraphicsServer. Used to create and update Stages and Views.

(C) 2008 Radon Labs GmbH

Public Member Functions

 GraphicsServer ()
 constructor
virtual ~GraphicsServer ()
 destructor
void Open ()
 open the graphics server
void Close ()
 close the graphics server
bool IsOpen () const
 return true if graphics server is open
void OnFrame ()
 perform client-side per-frame updates
Ptr< Stage > CreateStage (const Util::StringAtom &name, const Util::Array< Ptr< Visibility::VisibilitySystemBase > > &visSystems)
 create a stage
void DiscardStage (const Ptr< Stage > &stage)
 discard a stage object
void DiscardAllStages ()
 discard all stage objects
bool HasStage (const Util::StringAtom &name) const
 return true if a stage exists by name
const Ptr< Stage > & GetStageByName (const Util::StringAtom &name) const
 lookup a stage by name
const Util::Array< Ptr< Stage > > & GetStages () const
 get all stages
Ptr< ViewCreateView (const Core::Rtti &viewClass, const Util::StringAtom &viewName, const Util::StringAtom &stageName, const Resources::ResourceId &frameShaderName, bool isDefaultView=false)
 create a view
void DiscardView (const Ptr< View > &view)
 discard a view
void DiscardAllViews ()
 discard all views
bool HasView (const Util::StringAtom &name) const
 return true if a view exists by name
const Ptr< View > & GetViewByName (const Util::StringAtom &name) const
 lookup a view by name
const Util::Array< Ptr< View > > & GetViews () const
 get all view
void SetDefaultView (const Ptr< View > &view)
 set the default view
const Ptr< View > & GetDefaultView () const
 get the default view
uint GetFrameCount () const
 get frame count
void RegisterRenderModule (const Ptr< RenderModules::RenderModule > &renderModule)
 register a render module
void UnregisterRenderModule (const Ptr< RenderModules::RenderModule > &renderModule)
 unregister a render module
const Util::Array< Ptr< RenderModules::RenderModule > > & GetRenderModules () const
 get array of all currently registered render modules
int GetRefCount () const
 get the current refcount
void AddRef ()
 increment refcount by one
void Release ()
 decrement refcount and destroy object if refcount is zero
bool IsInstanceOf (const Rtti &rtti) const
 return true if this object is instance of given class
bool IsInstanceOf (const Util::String &className) const
 return true if this object is instance of given class by string
bool IsInstanceOf (const Util::FourCC &classFourCC) const
 return true if this object is instance of given class by fourcc
bool IsA (const Rtti &rtti) const
 return true if this object is instance of given class, or a derived class
bool IsA (const Util::String &rttiName) const
 return true if this object is instance of given class, or a derived class, by string
bool IsA (const Util::FourCC &rttiFourCC) const
 return true if this object is instance of given class, or a derived class, by fourcc
const Util::StringGetClassName () const
 get the class name
Util::FourCC GetClassFourCC () const
 get the class FourCC code

Static Public Member Functions

static void DumpRefCountingLeaks ()
 dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)

Member Function Documentation

void Graphics::GraphicsServer::DiscardStage ( const Ptr< Stage > &  stage  ) 

discard a stage object

FIXME FIXME FIXME: this method is broken when more then 1 stage exists (indices in stageIndexMap are broken after first stage is removed).

void Graphics::GraphicsServer::DiscardView ( const Ptr< View > &  view  ) 

discard a view

FIXME FIXME FIXME: this method is broken when more then 1 view exists (indices in viewIndexMap are broken after first view is removed).

int Core::RefCounted::GetRefCount (  )  const [inline, inherited]

get the current refcount

Return the current refcount of the object.

void Core::RefCounted::AddRef (  )  [inline, inherited]

increment refcount by one

Increment the refcount of the object.

void Core::RefCounted::Release (  )  [inline, inherited]

decrement refcount and destroy object if refcount is zero

Decrement the refcount and destroy object if refcount is zero.

const Util::String & Core::RefCounted::GetClassName (  )  const [inline, inherited]

get the class name

Get the class name of the object.

Util::FourCC Core::RefCounted::GetClassFourCC (  )  const [inline, inherited]

get the class FourCC code

Get the class FourCC of the object.

void Core::RefCounted::DumpRefCountingLeaks (  )  [static, inherited]

dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)

This method should be called as the very last before an application exits.