Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
QmitkSelectableGLWidget.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 
14 #include "QmitkRenderWindow.h"
15 
16 #include <QWheelEvent>
17 
19  : QWidget(parent), m_Ui(new Ui::QmitkSelectableGLWidget)
20 {
21  m_Ui->setupUi(this);
22  QLayout *hlayout;
23  hlayout = m_Ui->hboxLayout;
24  hlayout->setMargin(3);
25 
26  QString rendererName("Renderer::");
27  rendererName += objectName();
28 
29  // create Renderer
30  m_Renderer = mitk::VtkPropRenderer::New(qPrintable(rendererName), nullptr);
31 
32  // create widget
33  QString composedName("QSGLWt::");
34  if (!objectName().isEmpty())
35  composedName += objectName();
36  else
37  composedName += "QmitkGLWidget";
38  /*
39  * here is the place to define QT-Flags to enable and disable certain OpenGL elements, like StencilBuffer, RGBA and so
40  * on.
41  * See QGLFormat for futher informations
42  * QGL::AlphaChannel: Enable Alpha in Framebuffer
43  * QGL::Rgba enable use of rgba rather than color_index
44  * QGL::StencilBuffer for use of stencilbuffer in OpenGL
45  */
46  m_RenderWindow = new QmitkRenderWindow(this, composedName, m_Renderer);
47 
48  hlayout->addWidget(m_RenderWindow);
49 }
50 
52 {
53  delete m_Ui;
54 }
55 
57 {
58  return m_Renderer.GetPointer();
59 }
60 
62 {
63  return m_RenderWindow;
64 }
65 
67 {
69  return;
70 
72 
73  if (stepper->GetSteps() <= 1)
74  {
76  }
77 
78  if (e->orientation() * e->delta() > 0)
79  {
80  stepper->Next();
81  }
82  else
83  {
84  stepper->Previous();
85  }
86 }
87 
89 {
91 }
92 
94 {
96 }
97 
99 {
100  return m_RenderWindow->GetController();
101 }
virtual mitk::CameraRotationController * GetCameraRotationController()
mitk::VtkPropRenderer * GetRenderer()
mitk::Stepper * GetSlice()
Get the Stepper through the slices.
mitk::CameraRotationController * GetCameraRotationController() const
QmitkRenderWindow * m_RenderWindow
Baseclass for renderer slice-/camera-control.
mitk::BaseController * GetController() const
Controls the selection of the slice the associated BaseRenderer will display.
void wheelEvent(QWheelEvent *e) override
virtual void Previous()
mitk::SliceNavigationController * GetSliceNavigationController() const
QmitkRenderWindow * GetRenderWindow() const
MITK implementation of the QVTKWidget.
Helper class to step through a list.
Definition: mitkStepper.h:47
QmitkSelectableGLWidget(QWidget *parent=nullptr)
virtual unsigned int GetSteps() const
virtual mitk::SliceNavigationController * GetSliceNavigationController()
mitk::Stepper * GetTime()
Get the Stepper through the time.
mitk::VtkPropRenderer::Pointer m_Renderer
static Pointer New(const char *_arga, vtkRenderWindow *_argb)
virtual void Next()
virtual mitk::BaseController * GetController()