Page MenuHomePhabricator

RenderWindow management classes need to be revised / cleaned
Open, NormalPublic

Description

The latest changes to the render window data selection (e.g. {D773}) provide a new concept for selecting data nodes for the render windows (see T29297: [mxn multi widget] Optimize data accessibility inside render windows).
As a consequence some RenderWindow*-classes needed to be modified, are now obsolete or need to be cleaned even more.

This task should tackle the following:

  • mitkRenderWindowLayerController, mitkRenderWindowViewDirectionController and mitkRenderWindowLayerUtilities need to be moved to the Core-module
    • it needs to be checked if their intent is clear: currently the main reason why the RenderWindowLayerController exists is because it requires a data storage to insert a layer node at a specific position, because surrounding nodes need to be checked and moved as well
    • the RenderWindowLayerUtilities is a class that simply acts on single data nodes and does not require the data storage or looking at other nodes
    • it needs to be checked if the classes were cleaned properly, e.g. check if the base layer does not occur anymore
    • after the changes in the mentioned differential the main focus of RenderWindowLayerController is to insert a node into a specific layer / move nods to a specific layer, whereas the RenderWindowLayerUtilities is concerned with setting / deleting the required renderer-specific properties of a node (which is required to have renderer-specific layer-ordering of nodes)
  • the MitkRenderWindowManagerUI-module can be removed, if
    • we want to remove the org_mitk_gui_qt_renderwindowmanager-plugin
  • the QmitkRenderWindowDataStorageTreeModel and QmitkRenderWindowContextDataStorageInspector can be removed