Medical Imaging Interaction Toolkit  2022.10.99-eeb2f471
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);
54  void SetControlledRenderer(RenderWindowLayerUtilities::RendererVector controlledRenderer);
55 
56  // wrapper functions to modify the layer order / visibility of render window data
64  void SetBaseDataNode(DataNode* dataNode, const BaseRenderer* renderer = nullptr);
76  void InsertLayerNode(DataNode* dataNode, int layer = RenderWindowLayerUtilities::TOP_LAYER_INDEX, const BaseRenderer* renderer = nullptr);
86  void RemoveLayerNode(DataNode* dataNode, const BaseRenderer* renderer = nullptr);
95  bool MoveNodeToPosition(DataNode* dataNode, int newLayer, const BaseRenderer* renderer = nullptr);
103  bool MoveNodeToFront(DataNode* dataNode, const BaseRenderer* renderer = nullptr);
111  bool MoveNodeToBack(DataNode* dataNode, const BaseRenderer* renderer = nullptr);
119  bool MoveNodeUp(DataNode* dataNode, const BaseRenderer* renderer = nullptr);
127  bool MoveNodeDown(DataNode* dataNode, const BaseRenderer* renderer = nullptr);
138  void SetVisibilityOfDataNode(bool visibility, DataNode* dataNode, const BaseRenderer* renderer = nullptr);
149  void HideDataNodeInAllRenderer(const DataNode* dataNode);
162  void ResetRenderer(bool onlyVisibility = true, const BaseRenderer* renderer = nullptr);
163 
164  private:
165 
166  void InsertLayerNodeInternal(DataNode* dataNode, int layer, const BaseRenderer* renderer = nullptr);
167 
168  DataStorage::Pointer m_DataStorage;
169  RenderWindowLayerUtilities::RendererVector m_ControlledRenderer;
170  };
171 
172 } // namespace mitk
173 
174 #endif
MITKQTWIDGETS_EXPORT
#define MITKQTWIDGETS_EXPORT
Definition: MitkQtWidgetsExports.h:15
mitkDataStorage.h
itk::SmartPointer< Self >
mitk::RenderWindowLayerUtilities::RendererVector
std::vector< BaseRenderer * > RendererVector
Definition: mitkRenderWindowLayerUtilities.h:32
mitk
DataCollection - Class to facilitate loading/accessing structured data.
Definition: RenderingTests.dox:1
MitkQtWidgetsExports.h
mitkDataNode.h
mitk::RenderWindowLayerUtilities::TOP_LAYER_INDEX
const int TOP_LAYER_INDEX
Definition: mitkRenderWindowLayerUtilities.h:42
mitk::RenderWindowLayerController
Definition: mitkRenderWindowLayerController.h:42
mitk::BaseRenderer
Definition: mitkBaseRenderer.h:55
mitkBaseRenderer.h
mitk::DataNode
Class for nodes of the DataTree.
Definition: mitkDataNode.h:63
mitkRenderWindowLayerUtilities.h