Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkManufacturerLogo.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 _vtk_Logo_Rendering_h_
18 #define _vtk_Logo_Rendering_h_
19 
20 #include <mitkBaseData.h>
21 
22 class vtkRenderer;
23 class vtkRenderWindow;
24 class vtkMapper;
25 class vtkCamera;
26 class vtkImageActor;
27 class vtkImageMapper;
28 class vtkLookupTable;
29 class vtkPolyData;
30 class vtkPNGReader;
31 class vtkImageImport;
32 
33 namespace mitk
34 {
35  class RenderWindow;
42  {
43  public:
45 
46  itkFactorylessNewMacro(Self) itkCloneMacro(Self)
47 
48  enum LogoPosition {
53  Middle
54  };
55 
61  virtual void SetRenderWindow(vtkRenderWindow *renderWindow);
62 
66  virtual void SetLogoSource(const char *filename);
70  virtual void SetOpacity(double opacity);
75  virtual void SetZoomFactor(double factor);
76 
81  virtual void Enable();
82 
87  virtual void Disable();
88 
93  virtual bool IsEnabled();
94 
99  virtual void SetRequestedRegionToLargestPossibleRegion() override;
100 
105  virtual bool RequestedRegionIsOutsideOfTheBufferedRegion() override;
106 
111  virtual bool VerifyRequestedRegion() override;
112 
117  virtual void SetRequestedRegion(const itk::DataObject *) override;
118 
123  virtual vtkRenderWindow *GetRenderWindow();
124 
130  virtual vtkRenderer *GetVtkRenderer();
131 
135  virtual vtkImageActor *GetActor();
136 
140  virtual vtkImageMapper *GetMapper();
141 
146  virtual void ForceMBILogoVisible(bool visible);
147 
148  protected:
149  void SetupCamera();
150  void SetupPosition();
151 
156 
160  ~ManufacturerLogo();
161 
162  vtkRenderWindow *m_RenderWindow;
163  vtkRenderer *m_Renderer;
164  vtkImageActor *m_Actor;
165  vtkImageMapper *m_Mapper;
166  vtkPNGReader *m_PngReader;
167  vtkCamera *m_Camera;
168  vtkImageImport *m_VtkImageImport;
169 
170  std::string m_FileName;
171 
174 
176  double m_ZoomFactor;
177  double m_Opacity;
178 
179  char *m_ImageData;
180  };
181 
182 } // end of namespace mitk
183 #endif
#define MITKCORE_EXPORT
Base of all data objects.
Definition: mitkBaseData.h:39
DataCollection - Class to facilitate loading/accessing structured data.
static const std::string filename
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:44
vtkImageImport * m_VtkImageImport
vtkRenderWindow * m_RenderWindow