Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef MITKRENDERWINDOW_H_HEADER_INCLUDED_C1C40D66ASDF
18 #define MITKRENDERWINDOW_H_HEADER_INCLUDED_C1C40D66ASDF
19 
20 #include <MitkCoreExports.h>
21 
22 #include "mitkRenderWindowBase.h"
23 
24 namespace mitk
25 {
26  class vtkEventProvider;
27 
35  class MITKCORE_EXPORT RenderWindow : public mitk::RenderWindowBase, public itk::Object
36  {
37  public:
39  itkFactorylessNewMacro(Self) itkCloneMacro(Self) mitkNewMacro1Param(Self, vtkRenderWindow *);
40  mitkNewMacro2Param(Self, vtkRenderWindow *, const char *);
41  mitkNewMacro3Param(Self, vtkRenderWindow *, const char *, mitk::RenderingManager *);
43  Self, vtkRenderWindow *, const char *, mitk::RenderingManager *, mitk::BaseRenderer::RenderingMode::Type);
44 
45  virtual ~RenderWindow();
46 
47  virtual vtkRenderWindow *GetVtkRenderWindow() override;
48  virtual vtkRenderWindowInteractor *GetVtkRenderWindowInteractor() override;
49 
50  // Set Layout Index to define the Layout Type
51  void SetLayoutIndex(unsigned int layoutIndex);
52 
53  // Get Layout Index to define the Layout Type
54  unsigned int GetLayoutIndex();
55 
56  // MenuWidget need to update the Layout Design List when Layout had changed
57  void LayoutDesignListChanged(int layoutDesignIndex);
58 
59  void FullScreenMode(bool state);
60 
67  void SetSize(int width, int height);
68 
82  void ReinitEventProvider();
83 
84  protected:
85  RenderWindow(vtkRenderWindow *existingRenderWindow = NULL,
86  const char *name = "unnamed renderer",
87  mitk::RenderingManager *rm = NULL,
88  mitk::BaseRenderer::RenderingMode::Type rmtype = mitk::BaseRenderer::RenderingMode::Standard);
89 
90  void ResetView();
91  vtkRenderWindow *m_vtkRenderWindow;
92  vtkRenderWindowInteractor *m_vtkRenderWindowInteractor;
93 
94  vtkEventProvider *m_vtkMitkEventProvider;
95 
96  private:
97  };
98 } // namespace
99 
100 #endif /* MITKRENDERWINDOW_H_HEADER_INCLUDED_C1C40D66ASDF */
Base class of MITK RenderWindows.
#define MITKCORE_EXPORT
#define mitkNewMacro1Param(classname, type)
Definition: mitkCommon.h:76
Organizes the rendering process.
DataCollection - Class to facilitate loading/accessing structured data.
#define mitkNewMacro2Param(classname, typea, typeb)
Definition: mitkCommon.h:89
Integrates into the VTK event mechanism to generate MITK specific events. This class is NON-QT depend...
#define mitkNewMacro4Param(classname, typea, typeb, typec, typed)
Definition: mitkCommon.h:115
Manager for coordinating the rendering process.
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:53
mitkRenderWindow integrates the MITK rendering mechanism into VTK and is NOT QT dependent ...
#define mitkNewMacro3Param(classname, typea, typeb, typec)
Definition: mitkCommon.h:102