Medical Imaging Interaction Toolkit  2025.12.02
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 
40  ~RenderWindow() override;
41 
42  vtkRenderWindow *GetVtkRenderWindow() override;
43  vtkRenderWindowInteractor *GetVtkRenderWindowInteractor() override;
44 
45  // Set Layout Index to define the Layout Type
46  void SetLayoutIndex(unsigned int layoutIndex);
47 
48  // Get Layout Index to define the Layout Type
49  unsigned int GetLayoutIndex();
50 
51  // MenuWidget need to update the Layout Design List when Layout had changed
52  void LayoutDesignListChanged(int layoutDesignIndex);
53 
54  void FullScreenMode(bool state);
55 
62  void SetSize(int width, int height);
63 
78 
79  protected:
80  RenderWindow(vtkRenderWindow *existingRenderWindow = nullptr,
81  const char *name = "unnamed renderer");
82 
83  void ResetView();
84  vtkRenderWindow *m_vtkRenderWindow;
85  vtkRenderWindowInteractor *m_vtkRenderWindowInteractor;
86 
88 
89  private:
90  };
91 } // namespace
92 
93 #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()
vtkRenderWindowInteractor * m_vtkRenderWindowInteractor
vtkRenderWindowInteractor * GetVtkRenderWindowInteractor() override
vtkEventProvider * m_vtkMitkEventProvider
~RenderWindow() override
void SetSize(int width, int height)
Convenience method to set the size of an mitkRenderWindow.
void ReinitEventProvider()
Initializes the mitkVtkEventProvider to listen to the currently used vtkInteractorStyle.
RenderWindow(vtkRenderWindow *existingRenderWindow=nullptr, const char *name="unnamed renderer")
vtkRenderWindow * GetVtkRenderWindow() override
vtkRenderWindow * m_vtkRenderWindow
void SetLayoutIndex(unsigned int layoutIndex)
void LayoutDesignListChanged(int layoutDesignIndex)
void FullScreenMode(bool state)
Integrates into the VTK event mechanism to generate MITK specific events. This class is NON-QT depend...
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:45
#define mitkNewMacro2Param(classname, typea, typeb)
Definition: mitkCommon.h:81
#define mitkNewMacro1Param(classname, type)
Definition: mitkCommon.h:68
Find image slices visible on a given plane.