molecular
Public Member Functions | Protected Attributes | List of all members
molecular::gfx::MultipleCalleeRenderFunction Class Reference

RenderFunction that calls multiple other RenderFunctions. More...

#include <RenderFunction.h>

Inheritance diagram for molecular::gfx::MultipleCalleeRenderFunction:
molecular::gfx::RenderFunction molecular::gfx::Group

Public Member Functions

template<class TRenderManager >
 MultipleCalleeRenderFunction (TRenderManager &manager)
 
 MultipleCalleeRenderFunction (Scoping &scoping, RenderCmdSink &renderer)
 
util::AxisAlignedBox GetBounds () const override
 
bool BoundsChangedSince (int) const override
 
void AppendCallee (RenderFunction *callee)
 
void RemoveCallee (RenderFunction *callee)
 
void ClearCallees ()
 
- Public Member Functions inherited from molecular::gfx::RenderFunction
template<class TRenderManager >
 RenderFunction (TRenderManager &manager)
 
 RenderFunction (Scoping &scoping, RenderCmdSink &renderer)
 
virtual ~RenderFunction ()
 
virtual void Execute ()=0
 
virtual void Set (Hash, bool)
 Set bool property with given name. More...
 

Protected Attributes

std::unordered_set< RenderFunction * > mCallees
 
- Protected Attributes inherited from molecular::gfx::RenderFunction
ScopingmScoping
 
RenderCmdSinkmRenderer
 

Additional Inherited Members

- Protected Member Functions inherited from molecular::gfx::RenderFunction
template<class T >
const T * GetVariable (Hash key)
 Convenience shortcut to a variable pointer from the dynamic scope. More...
 

Detailed Description

RenderFunction that calls multiple other RenderFunctions.

Why not make all RenderFunctions MultipleCalleeRenderFunctions? Because only those doing visibility determination should be used to contain multiple callees, like FlatScene. Why not do visibility determination everywhere? Because some functions don't even get a frustum, like full-screen effects.

Constructor & Destructor Documentation

template<class TRenderManager >
molecular::gfx::MultipleCalleeRenderFunction::MultipleCalleeRenderFunction ( TRenderManager &  manager)
inline
molecular::gfx::MultipleCalleeRenderFunction::MultipleCalleeRenderFunction ( Scoping scoping,
RenderCmdSink renderer 
)
inline

Member Function Documentation

void molecular::gfx::MultipleCalleeRenderFunction::AppendCallee ( RenderFunction callee)
inline
bool molecular::gfx::MultipleCalleeRenderFunction::BoundsChangedSince ( int  ) const
inlineoverridevirtual
Todo:
implement

Reimplemented from molecular::gfx::RenderFunction.

void molecular::gfx::MultipleCalleeRenderFunction::ClearCallees ( )
inline
AxisAlignedBox molecular::gfx::MultipleCalleeRenderFunction::GetBounds ( ) const
overridevirtual
void molecular::gfx::MultipleCalleeRenderFunction::RemoveCallee ( RenderFunction callee)
inline

Member Data Documentation

std::unordered_set<RenderFunction*> molecular::gfx::MultipleCalleeRenderFunction::mCallees
protected

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