Page MenuHomePhabricator

Make RenderingManager and GlobalInteraction multi-instantiable
Closed, ResolvedPublic

Description

Currently, both mitk::RenderingManager and mitk::GlobalInteraction exist as single, global instances in an MITK application. Both are accessed as singletons via GetInstance() methods.

Decoupled rendering and interaction mechanisms for different sets of RenderWindows are either not possible with the current concept, or are difficult / cumbersome to implement.

RenderingManager, GlobalInteraction and related classes should be extended to allow multiple instances, each responsible for managing rendering and interaction mechanisms of a specific set of RenderWindows.

For details see Wiki specification page.

Related Objects

StatusAssignedTask
ResolvedNone

Event Timeline

As far as I have seen, it is already possible to have multiple instances of mitk::RenderingManager. There is a method New() that returns a pointer to an instance other than the static one returned by GetInstance().

Right now, this method is only used in the RenderingManagerTest and thus seems to work fine.

[SVN revision 22475]
FIX (#3822):

  • RenderingManager supports multiple instantiation (as before)
  • RenderingManager has members and Setters/Getters for DataStorage and GlobalInteraction
  • BaseRenderer has member and Getter/Setter for RenderingManager
  • QmitkRenderWindow has additional parameter for defining corresponding RenderingManager

[SVN revision 22498]
FIX (#3822): the RenderingManager is now given the corresponding DataStorage and the baserenderer is no longer added to the DisplayAdapter

[SVN revision 22506]
FIX (#3822): added public getters for DataStorage and GlobalInteraction

added getters, setter and member-variables for both DataStorage and GlobalInteraction

[SVN revision 22835]
FIX (#3822): added pointer to corresponding GlobalInteraction
for EventMappers

[SVN revision 22836]
FIX (#3822): added pointer to corresponding RenderingManager to constructors of BaseRenderer and all inheriting classes

[SVN revision 22837]
FIX (#3822): added correct initialization of new members in mitkRenderingManager

[SVN revision 22844]
FIX (#3822): DisplayAdapter now uses own RenderingManager instead of global Instance

[SVN revision 22911]
FIX (#3822): fixed smart-pointer issues when holding GlobalInteraction in mitkRenderingManager

As this is now complete I will close this Bug

Geschlossen. Der Bug war einem früheren Iterationsziel untergeordnet, das erledigt ist.