version 3.3

VRS::CachedEngineResource< KEY, RESOURCE > Class Template Reference

#include <vrs/container/cachedengineresource.h>

Inheritance diagram for VRS::CachedEngineResource< KEY, RESOURCE >:

VRS::CachedResource< KEY, RESOURCE > VRS::SharedObj VRS::Visitable

List of all members.

Public Member Functions

 CachedEngineResource (Engine *=0, unsigned int frames=10)
virtual ~CachedEngineResource ()
virtual void setEngine (Engine *)
 Sets a new engine for calling cleanUp-callback.
virtual bool isCleanUpRegistered ()
virtual void cleanUp (SO< EngineGL >)
 invokes cleanUp of CachedResource.


Detailed Description

template<typename KEY, typename RESOURCE>
class VRS::CachedEngineResource< KEY, RESOURCE >

Convenience CachedResource, which handles registration and deregistration of cleanUp-callback automatically.

Constructor & Destructor Documentation

template<typename KEY, typename RESOURCE>
VRS::CachedEngineResource< KEY, RESOURCE >::CachedEngineResource ( Engine = 0,
unsigned int  frames = 10 
)

Convenience CachedResource. If the supplied Engine is an EngineGL, the CachedResource is automatically registered to the cleanup callback of the EngineGL, which is invoked after each frame.

template<typename KEY, typename RESOURCE>
virtual VRS::CachedEngineResource< KEY, RESOURCE >::~CachedEngineResource (  )  [virtual]

If appropriate, unregisters the callback before destruction.


Member Function Documentation

template<typename KEY, typename RESOURCE>
virtual void VRS::CachedEngineResource< KEY, RESOURCE >::setEngine ( Engine  )  [virtual]

Sets a new engine for calling cleanUp-callback.

This command is ignored if the supplied engine is not an EngineGL. Else, the callback from the old EngineGL (if any) is removed, and replaced by a new callback with the new EngineGL.

template<typename KEY, typename RESOURCE>
virtual bool VRS::CachedEngineResource< KEY, RESOURCE >::isCleanUpRegistered (  )  [virtual]

Checks whether an EngineGL could be used to call the cleanUp callback. If this returns true, you probably do not need to bother to use setEngine() again.

template<typename KEY, typename RESOURCE>
virtual void VRS::CachedEngineResource< KEY, RESOURCE >::cleanUp ( SO< EngineGL  )  [virtual]

invokes cleanUp of CachedResource.

cleanUp will be typically used as EngineGL-CleanUpCallback (hence the optional, unused argument). This can be implemented as follows:

dictionary = new CachedResource<KEY, RESOURCE>;
SO<MethodCallback1<CachedResource<KEY, RESOURCE>, SO<EngineGL> > > cb =
new MethodCallback1<CachedResource<KEY, RESOURCE>, SO<EngineGL> >
(dictionary, &CachedResource<KEY, RESOURCE>::cleanUp);
engineGL->registerCleanUpCallback(cb);


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

Generated on Sun May 19 06:00:32 2013 by Doxygen 1.5.6
© 2001-2010 Hasso-Plattner-Institut | Impressum | Contact