Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkIRenderingManager.cpp
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 #include "mitkIRenderingManager.h"
14 
15 namespace mitk {
16 struct RenderingManagerInterface : public IRenderingManager
17 {
18  RenderingManagerInterface(RenderingManager::Pointer manager)
19  : m_RM(manager)
20  {}
21 
22  QList<vtkRenderWindow*> GetAllRegisteredVtkRenderWindows() const override
23  {
24  RenderingManager::RenderWindowVector vec(m_RM->GetAllRegisteredRenderWindows());
25  QList<vtkRenderWindow*> result;
26  for (auto i = vec.begin();
27  i != vec.end(); ++i)
28  {
29  result.append(*i);
30  }
31  return result;
32  }
33 
34  void RequestUpdate( vtkRenderWindow *renderWindow ) override
35  {
36  m_RM->RequestUpdate(renderWindow);
37  }
38 
39  void ForceImmediateUpdate( vtkRenderWindow *renderWindow ) override
40  {
41  m_RM->ForceImmediateUpdate(renderWindow);
42  }
43 
44  void RequestUpdateAll( RenderingManager::RequestType type ) override
45  {
46  m_RM->RequestUpdateAll(type);
47  }
48 
49  void ForceImmediateUpdateAll( RenderingManager::RequestType type ) override
50  {
51  m_RM->ForceImmediateUpdateAll(type);
52  }
53 
54  bool InitializeViews( const BaseGeometry *geometry,
56  bool preserveRoughOrientationInWorldSpace = false ) override
57  {
58  return m_RM->InitializeViews( geometry, type, preserveRoughOrientationInWorldSpace);
59  }
60 
61  bool InitializeViews( const TimeGeometry *geometry,
63  bool preserveRoughOrientationInWorldSpace = false ) override
64  {
65  return m_RM->InitializeViews( geometry, type, preserveRoughOrientationInWorldSpace);
66  }
67 
68  bool InitializeViews( RenderingManager::RequestType type ) override
69  {
70  return m_RM->InitializeViews(type);
71  }
72 
73  bool InitializeView( vtkRenderWindow *renderWindow, const BaseGeometry *geometry,
74  bool initializeGlobalTimeSNC = false) override
75  {
76  return m_RM->InitializeView(renderWindow, geometry, initializeGlobalTimeSNC);
77  }
78 
79  bool InitializeView( vtkRenderWindow *renderWindow ) override
80  {
81  return m_RM->InitializeView(renderWindow);
82  }
83 
84  const SliceNavigationController *GetTimeNavigationController() const override
85  {
86  return m_RM->GetTimeNavigationController();
87  }
88 
89  SliceNavigationController *GetTimeNavigationController() override
90  {
91  return m_RM->GetTimeNavigationController();
92  }
93 
94  bool IsRendering() const override
95  {
96  return m_RM->IsRendering();
97  }
98 
99  void AbortRendering() override
100  {
101  m_RM->AbortRendering();
102  }
103 
104  void SetLODIncreaseBlocked(bool blocked) override
105  {
106  m_RM->SetLODIncreaseBlocked(blocked);
107  }
108 
109  bool GetLODIncreaseBlocked() const override
110  {
111  return m_RM->GetLODIncreaseBlocked();
112  }
113 
114  void SetLODAbortMechanismEnabled(bool abort) override
115  {
116  m_RM->SetLODAbortMechanismEnabled(abort);
117  }
118 
119  bool GetLODAbortMechanismEnabled() const override
120  {
121  return m_RM->GetLODAbortMechanismEnabled();
122  }
123 
124  int GetNextLOD( BaseRenderer* renderer ) const override
125  {
126  return m_RM->GetNextLOD(renderer);
127  }
128 
129  void SetMaximumLOD( unsigned int max ) override
130  {
131  m_RM->SetMaximumLOD(max);
132  }
133 
134  void SetShading( bool state, unsigned int lod ) override
135  {
136  m_RM->SetShading(state, lod);
137  }
138 
139  bool GetShading( unsigned int lod ) override
140  {
141  return m_RM->GetShading(lod);
142  }
143 
144  void SetClippingPlaneStatus( bool status ) override
145  {
146  m_RM->SetClippingPlaneStatus(status);
147  }
148 
149  bool GetClippingPlaneStatus() override
150  {
151  return m_RM->GetClippingPlaneStatus();
152  }
153 
154  void SetShadingValues( float ambient, float diffuse,
155  float specular, float specpower ) override
156  {
157  m_RM->SetShadingValues(ambient, diffuse, specular, specpower);
158  }
159 
160  QList<float> GetShadingValues() const override
161  {
162  RenderingManager::FloatVector vec(m_RM->GetShadingValues());
163  QList<float> result;
164  for (auto i = vec.begin();
165  i != vec.end(); ++i)
166  {
167  result.push_back(*i);
168  }
169  return result;
170  }
171 
172  const RenderingManager::Pointer m_RM;
173 };
174 
176 {
177  return new RenderingManagerInterface(manager);
178 }
179 }
IRenderingManager * MakeRenderingManagerInterface(RenderingManager::Pointer manager)
std::vector< float > FloatVector
DataCollection - Class to facilitate loading/accessing structured data.
itk::SmartPointer< Self > Pointer
static T max(T x, T y)
Definition: svm.cpp:56
std::vector< vtkRenderWindow * > RenderWindowVector
An interface for accessing a mitk::RenderingManager instance.