Templated class for management of LocalStorage implementations in Mappers. More...
#include <mitkMapper.h>
Public Member Functions | |
virtual void | ClearLocalStorage (mitk::BaseRenderer *renderer, bool unregisterFromBaseRenderer=true) |
deallocates a local storage for a specifc BaseRenderer (if the BaseRenderer is itself deallocating it in its destructor, it has to set unregisterFromBaseRenderer=false) | |
L * | GetLocalStorage (mitk::BaseRenderer *forRenderer) |
Retrieves a LocalStorage for a specific BaseRenderer. | |
~LocalStorageHandler () | |
Protected Attributes | |
std::map< mitk::BaseRenderer *, L * > | m_BaseRenderer2LS |
Templated class for management of LocalStorage implementations in Mappers.
The LocalStorageHandler is responsible for providing a LocalStorage to a concrete mitk::Mapper subclass. Each RenderWindow / mitk::BaseRenderer is assigned its own LocalStorage instance so that all contained ressources (actors, shaders, textures, ...) are provided individually per window.
Definition at line 226 of file mitkMapper.h.
mitk::Mapper::LocalStorageHandler< L >::~LocalStorageHandler | ( | ) | [inline] |
Definition at line 265 of file mitkMapper.h.
{ typename std::map<mitk::BaseRenderer *,L*>::iterator it; for ( it=m_BaseRenderer2LS.begin() ; it != m_BaseRenderer2LS.end(); it++ ) { (*it).first->UnregisterLocalStorageHandler(this); delete (*it).second; } m_BaseRenderer2LS.clear(); }
virtual void mitk::Mapper::LocalStorageHandler< L >::ClearLocalStorage | ( | mitk::BaseRenderer * | renderer, |
bool | unregisterFromBaseRenderer = true |
||
) | [inline, virtual] |
deallocates a local storage for a specifc BaseRenderer (if the BaseRenderer is itself deallocating it in its destructor, it has to set unregisterFromBaseRenderer=false)
Implements mitk::BaseLocalStorageHandler.
Definition at line 238 of file mitkMapper.h.
{ //MITK_INFO << "deleting a localstorage on a mapper request"; if(unregisterFromBaseRenderer) renderer->UnregisterLocalStorageHandler( this ); L *l = m_BaseRenderer2LS[renderer]; m_BaseRenderer2LS.erase( renderer ); delete l; }
L* mitk::Mapper::LocalStorageHandler< L >::GetLocalStorage | ( | mitk::BaseRenderer * | forRenderer ) | [inline] |
Retrieves a LocalStorage for a specific BaseRenderer.
Should be used by mappers in GenerateData() and ApplyProperties()
Definition at line 252 of file mitkMapper.h.
{ L *l = m_BaseRenderer2LS[ forRenderer ]; if(!l) { //MITK_INFO << "creating new localstorage"; l = new L; m_BaseRenderer2LS[ forRenderer ] = l; forRenderer->RegisterLocalStorageHandler( this ); } return l; }
std::map<mitk::BaseRenderer *,L*> mitk::Mapper::LocalStorageHandler< L >::m_BaseRenderer2LS [protected] |
Definition at line 230 of file mitkMapper.h.