Medical Imaging Interaction Toolkit  2025.12.02
Medical Imaging Interaction Toolkit
mitkRenderWindowLayerController.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkRenderWindowLayerController_h
14 #define mitkRenderWindowLayerController_h
15 
16 // qt widgets module
17 #include "MitkQtWidgetsExports.h"
19 
20 // mitk core
21 #include <mitkBaseRenderer.h>
22 #include <mitkDataNode.h>
23 #include <mitkDataStorage.h>
24 
25 namespace mitk
26 {
43  {
44  public:
45 
50  void SetDataStorage(DataStorage::Pointer dataStorage);
51 
52  // wrapper functions to modify the layer order / visibility of render window data
64  void InsertLayerNode(DataNode* dataNode, int layer = RenderWindowLayerUtilities::TOP_LAYER_INDEX, const BaseRenderer* renderer = nullptr);
74  bool MoveNodeToPosition(DataNode* dataNode, int layer, const BaseRenderer* renderer = nullptr);
82  bool MoveNodeToFront(DataNode* dataNode, const BaseRenderer* renderer = nullptr);
90  bool MoveNodeToBack(DataNode* dataNode, const BaseRenderer* renderer = nullptr);
98  bool MoveNodeUp(DataNode* dataNode, const BaseRenderer* renderer = nullptr);
106  bool MoveNodeDown(DataNode* dataNode, const BaseRenderer* renderer = nullptr);
107 
108  private:
109 
110  DataStorage::Pointer m_DataStorage;
111  };
112 
113 } // namespace mitk
114 
115 #endif
#define MITKQTWIDGETS_EXPORT
Class for nodes of the DataTree.
Definition: mitkDataNode.h:64
void InsertLayerNode(DataNode *dataNode, int layer=RenderWindowLayerUtilities::TOP_LAYER_INDEX, const BaseRenderer *renderer=nullptr)
Insert the given data node at the specified layer for the given renderer.
bool MoveNodeToBack(DataNode *dataNode, const BaseRenderer *renderer=nullptr)
Set the node in the given renderer as the lowermost layer. This will change only the "layer" property...
bool MoveNodeUp(DataNode *dataNode, const BaseRenderer *renderer=nullptr)
Move the node in the given renderer one layer down. This will change only the "layer" property.
bool MoveNodeDown(DataNode *dataNode, const BaseRenderer *renderer=nullptr)
Move the node in the given renderer one layer up. This will change only the "layer" property.
bool MoveNodeToFront(DataNode *dataNode, const BaseRenderer *renderer=nullptr)
Set the node in the given renderer as the topmost layer. This will change only the "layer" property.
bool MoveNodeToPosition(DataNode *dataNode, int layer, const BaseRenderer *renderer=nullptr)
Move the data node to the given layer. This will change only the "layer" property.
void SetDataStorage(DataStorage::Pointer dataStorage)
Set the data storage on which to work.
Find image slices visible on a given plane.