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: