Public Member Functions | Protected Attributes

mitk::Mapper::LocalStorageHandler< L > Class Template Reference

Templated class for management of LocalStorage implementations in Mappers. More...

#include <mitkMapper.h>

Inheritance diagram for mitk::Mapper::LocalStorageHandler< L >:
Inheritance graph
[legend]
Collaboration diagram for mitk::Mapper::LocalStorageHandler< L >:
Collaboration graph
[legend]

List of all members.

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

Detailed Description

template<class L>
class mitk::Mapper::LocalStorageHandler< L >

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.


Constructor & Destructor Documentation

template<class L>
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();
        }

Member Function Documentation

template<class L>
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;
        }
template<class 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;
        }

Member Data Documentation

template<class L>
std::map<mitk::BaseRenderer *,L*> mitk::Mapper::LocalStorageHandler< L >::m_BaseRenderer2LS [protected]

Definition at line 230 of file mitkMapper.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines