Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitkRenderWindow.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 mitkRenderWindow_h
14 #define mitkRenderWindow_h
15 
16 #include <MitkCoreExports.h>
17 
18 #include <mitkRenderWindowBase.h>
19 
20 namespace mitk
21 {
22  class vtkEventProvider;
23 
31  class MITKCORE_EXPORT RenderWindow : public mitk::RenderWindowBase, public itk::Object
32  {
33  public:
35  itkFactorylessNewMacro(Self);
36  itkCloneMacro(Self);
37  mitkNewMacro1Param(Self, vtkRenderWindow*);
38  mitkNewMacro2Param(Self, vtkRenderWindow *, const char *);
39 
41  ~RenderWindow() override;
42 
47  vtkRenderWindow *GetVtkRenderWindow() override;
48 
53  vtkRenderWindowInteractor *GetVtkRenderWindowInteractor() override;
54 
59  void SetLayoutIndex(unsigned int layoutIndex);
60 
65  unsigned int GetLayoutIndex();
66 
74  void LayoutDesignListChanged(int layoutDesignIndex);
75 
80  void FullScreenMode(bool state);
81 
91  void SetSize(int width, int height);
92 
107 
108  protected:
109  RenderWindow(vtkRenderWindow *existingRenderWindow = nullptr,
110  const char *name = "unnamed renderer");
111 
112  void ResetView();
113  vtkRenderWindow *m_vtkRenderWindow;
114  vtkRenderWindowInteractor *m_vtkRenderWindowInteractor;
115 
117 
118  private:
119  };
120 } // namespace
121 
122 #endif
#define MITKCORE_EXPORT
Base class of MITK RenderWindows.
mitkRenderWindow integrates the MITK rendering mechanism into VTK and is NOT QT dependent
unsigned int GetLayoutIndex()
Returns the layout index that defines the layout type.
vtkRenderWindowInteractor * m_vtkRenderWindowInteractor
vtkRenderWindowInteractor * GetVtkRenderWindowInteractor() override
Returns the underlying vtkRenderWindowInteractor.
mitkNewMacro1Param(Self, vtkRenderWindow *)
vtkEventProvider * m_vtkMitkEventProvider
~RenderWindow() override
Destructor. Cleans up VTK render window, interactor, and event provider.
void SetSize(int width, int height)
Convenience method to set the size of an mitkRenderWindow.
mitkClassMacroItkParent(RenderWindow, itk::Object)
void ReinitEventProvider()
Initializes the mitkVtkEventProvider to listen to the currently used vtkInteractorStyle.
RenderWindow(vtkRenderWindow *existingRenderWindow=nullptr, const char *name="unnamed renderer")
vtkRenderWindow * GetVtkRenderWindow() override
Returns the underlying vtkRenderWindow.
vtkRenderWindow * m_vtkRenderWindow
void SetLayoutIndex(unsigned int layoutIndex)
Sets the layout index to define the layout type.
void LayoutDesignListChanged(int layoutDesignIndex)
Notifies that the layout design list has changed.
void FullScreenMode(bool state)
Toggles full screen mode.
mitkNewMacro2Param(Self, vtkRenderWindow *, const char *)
Integrates into the VTK event mechanism to generate MITK-specific events.
Find image slices visible on a given plane.