Nebula
Loading...
Searching...
No Matches
RenderModules::RTPluginRegistry Class Reference

#include <rtpluginregistry.h>

Detailed Description

The central registry for render thread plugins.

(C) 2009 Radon Labs GmbH (C) 2013-2018 Individual contributors, see AUTHORS file

Inherits Core::RefCounted.

Public Member Functions

 RTPluginRegistry ()
 constructor
virtual ~RTPluginRegistry ()
 destructor
void Setup ()
 setup the plugin registry
void Discard ()
 discard the plugin registry
bool IsValid () const
 return true if currently valid
void RegisterRTPlugin (const Core::Rtti *rtti)
 register a render plugin
void UnregisterRTPlugin (const Core::Rtti *rtti)
 unregister a render plugin
const Util::Array< Ptr< RTPlugin > > & GetRTPlugins () const
 get all currently registered plugins
virtual void OnStageCreated (const Ptr< Graphics::Stage > &stage)
 called when a new stage has been created
virtual void OnDiscardStage (const Ptr< Graphics::Stage > &stage)
 called when a stage is discarded
virtual void OnViewCreated (const Ptr< Graphics::View > &view)
 called when a new view has been created
virtual void OnDiscardView (const Ptr< Graphics::View > &view)
 called when a view is being discarded
virtual void OnAttachEntity (const Ptr< Graphics::GraphicsEntity > &entity)
 called when a graphics entity has been registered with the GraphicsServer
virtual void OnRemoveEntity (const Ptr< Graphics::GraphicsEntity > &entity)
 called when a graphics entity is being removed from a stage
virtual void OnUpdateBefore (IndexT frameId, Timing::Time time)
 called before updating entities
virtual void OnUpdateAfter (IndexT frameId, Timing::Time time)
 called after updating entities
virtual void OnRenderBefore (IndexT frameId, Timing::Time time)
 called before rendering entities
virtual void OnRenderAfter (IndexT frameId, Timing::Time time)
 called after rendering entities
virtual void OnRender (const Util::StringAtom &filter)
 called from a frame script
virtual void OnFrameBefore (IndexT frameId, Timing::Time time)
 called at the beginning of frame
virtual void OnFrameAfter (IndexT frameId, Timing::Time time)
 called at the end of frame
virtual void OnRenderFrame ()
 called from when rendering with a special tag
virtual void OnRenderWithoutView (IndexT frameId, Timing::Time time)
 called if no view exists, and no default camera is set in view
virtual void OnWindowResized (IndexT windowId, SizeT width, SizeT height)
 called if the window has been resized
IndexT FindPlugin (const Core::Rtti *rtti) const
 find plugin index by rtti
template<typename T>
const Ptr< T > & GetPluginByRTTI (const Core::Rtti *rtti) const
 get plugin by rtti
Public Member Functions inherited from Core::RefCounted
 RefCounted ()
 constructor
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

Private Member Functions

 __DeclareClass (RTPluginRegistry)
 __DeclareSingleton (RTPluginRegistry)

Private Attributes

Util::Array< Ptr< RTPlugin > > plugins
bool isValid

Additional Inherited Members

Static Public Member Functions inherited from Core::RefCounted
static void DumpRefCountingLeaks ()
 dump refcounting leaks, call at end of application (NEBULA_DEBUG builds only!)
Protected Member Functions inherited from Core::RefCounted
virtual ~RefCounted ()
 destructor (called when refcount reaches zero)

Constructor & Destructor Documentation

◆ RTPluginRegistry()

RenderModules::RTPluginRegistry::RTPluginRegistry ( )

constructor

◆ ~RTPluginRegistry()

RenderModules::RTPluginRegistry::~RTPluginRegistry ( )
virtual

destructor

Member Function Documentation

◆ __DeclareClass()

RenderModules::RTPluginRegistry::__DeclareClass ( RTPluginRegistry )
private

◆ __DeclareSingleton()

RenderModules::RTPluginRegistry::__DeclareSingleton ( RTPluginRegistry )
private

◆ Discard()

void RenderModules::RTPluginRegistry::Discard ( )

discard the plugin registry

◆ FindPlugin()

IndexT RenderModules::RTPluginRegistry::FindPlugin ( const Core::Rtti * rtti) const

find plugin index by rtti

◆ GetPluginByRTTI()

template<typename T>
const Ptr< T > & RenderModules::RTPluginRegistry::GetPluginByRTTI ( const Core::Rtti * rtti) const

get plugin by rtti

◆ GetRTPlugins()

const Util::Array< Ptr< RTPlugin > > & RenderModules::RTPluginRegistry::GetRTPlugins ( ) const
inline

get all currently registered plugins

◆ IsValid()

bool RenderModules::RTPluginRegistry::IsValid ( ) const
inline

return true if currently valid

◆ OnAttachEntity()

void RenderModules::RTPluginRegistry::OnAttachEntity ( const Ptr< Graphics::GraphicsEntity > & entity)
virtual

called when a graphics entity has been registered with the GraphicsServer

◆ OnDiscardStage()

void RenderModules::RTPluginRegistry::OnDiscardStage ( const Ptr< Graphics::Stage > & stage)
virtual

called when a stage is discarded

◆ OnDiscardView()

void RenderModules::RTPluginRegistry::OnDiscardView ( const Ptr< Graphics::View > & view)
virtual

called when a view is being discarded

◆ OnFrameAfter()

void RenderModules::RTPluginRegistry::OnFrameAfter ( IndexT frameId,
Timing::Time time )
virtual

called at the end of frame

◆ OnFrameBefore()

void RenderModules::RTPluginRegistry::OnFrameBefore ( IndexT frameId,
Timing::Time time )
virtual

called at the beginning of frame

◆ OnRemoveEntity()

void RenderModules::RTPluginRegistry::OnRemoveEntity ( const Ptr< Graphics::GraphicsEntity > & entity)
virtual

called when a graphics entity is being removed from a stage

◆ OnRender()

void RenderModules::RTPluginRegistry::OnRender ( const Util::StringAtom & filter)
virtual

called from a frame script

◆ OnRenderAfter()

void RenderModules::RTPluginRegistry::OnRenderAfter ( IndexT frameId,
Timing::Time time )
virtual

called after rendering entities

◆ OnRenderBefore()

void RenderModules::RTPluginRegistry::OnRenderBefore ( IndexT frameId,
Timing::Time time )
virtual

called before rendering entities

◆ OnRenderFrame()

void RenderModules::RTPluginRegistry::OnRenderFrame ( )
virtual

called from when rendering with a special tag

◆ OnRenderWithoutView()

void RenderModules::RTPluginRegistry::OnRenderWithoutView ( IndexT frameId,
Timing::Time time )
virtual

called if no view exists, and no default camera is set in view

◆ OnStageCreated()

void RenderModules::RTPluginRegistry::OnStageCreated ( const Ptr< Graphics::Stage > & stage)
virtual

called when a new stage has been created

◆ OnUpdateAfter()

void RenderModules::RTPluginRegistry::OnUpdateAfter ( IndexT frameId,
Timing::Time time )
virtual

called after updating entities

◆ OnUpdateBefore()

void RenderModules::RTPluginRegistry::OnUpdateBefore ( IndexT frameId,
Timing::Time time )
virtual

called before updating entities

◆ OnViewCreated()

void RenderModules::RTPluginRegistry::OnViewCreated ( const Ptr< Graphics::View > & view)
virtual

called when a new view has been created

◆ OnWindowResized()

void RenderModules::RTPluginRegistry::OnWindowResized ( IndexT windowId,
SizeT width,
SizeT height )
virtual

called if the window has been resized

◆ RegisterRTPlugin()

void RenderModules::RTPluginRegistry::RegisterRTPlugin ( const Core::Rtti * rtti)

register a render plugin

◆ Setup()

void RenderModules::RTPluginRegistry::Setup ( )

setup the plugin registry

◆ UnregisterRTPlugin()

void RenderModules::RTPluginRegistry::UnregisterRTPlugin ( const Core::Rtti * rtti)

unregister a render plugin

Member Data Documentation

◆ isValid

bool RenderModules::RTPluginRegistry::isValid
private

◆ plugins

Util::Array<Ptr<RTPlugin> > RenderModules::RTPluginRegistry::plugins
private

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