Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkRenderWindowFrame.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 "mitkRenderWindowFrame.h"
14 #include "mitkVtkLayerController.h"
15 #include "vtkMitkRectangleProp.h"
16 
17 #include <vtkRenderWindow.h>
18 #include <vtkRenderer.h>
19 
21 {
22  m_RenderWindow = nullptr;
23  m_RectangleRenderer = vtkSmartPointer<vtkRenderer>::New();
24 
25  m_IsEnabled = false;
26 }
27 
29 {
30  if (m_RenderWindow != nullptr)
31  if (this->IsEnabled())
32  this->Disable();
33 }
34 
40 void mitk::RenderWindowFrame::SetRenderWindow(vtkSmartPointer<vtkRenderWindow> renderWindow)
41 {
42  m_RenderWindow = renderWindow;
43 }
44 
49 vtkSmartPointer<vtkRenderWindow> mitk::RenderWindowFrame::GetRenderWindow()
50 {
51  return m_RenderWindow;
52 }
53 
59 vtkSmartPointer<vtkRenderer> mitk::RenderWindowFrame::GetVtkRenderer()
60 {
61  return m_RectangleRenderer;
62 }
63 
69 {
70  if (this->IsEnabled())
71  {
72  m_RectangleRenderer->EraseOn();
74  m_IsEnabled = false;
75  }
76 }
77 
82 void mitk::RenderWindowFrame::Enable(float col1, float col2, float col3)
83 {
84  vtkSmartPointer<vtkMitkRectangleProp> rect = vtkSmartPointer<vtkMitkRectangleProp>::New();
85  rect->SetColor(col1, col2, col3);
86 
87  m_RectangleRenderer->AddActor(rect);
89  {
90  m_RectangleRenderer->EraseOff();
91  m_RectangleRenderer->SetInteractive(0);
92 
94 
95  m_IsEnabled = true;
96  }
97 }
103 {
104  return m_IsEnabled;
105 }
vtkSmartPointer< vtkRenderWindow > m_RenderWindow
virtual vtkSmartPointer< vtkRenderWindow > GetRenderWindow()
void InsertForegroundRenderer(vtkSmartPointer< vtkRenderer > renderer, bool forceAbsoluteForeground)
virtual vtkSmartPointer< vtkRenderer > GetVtkRenderer()
static VtkLayerController * GetInstance(vtkSmartPointer< vtkRenderWindow > renWin)
vtkSmartPointer< vtkRenderer > m_RectangleRenderer
void RemoveRenderer(vtkSmartPointer< vtkRenderer > renderer)
virtual void SetRenderWindow(vtkSmartPointer< vtkRenderWindow > renderWindow)
virtual void Enable(float col1, float col2, float col3)