NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
niftkSingle3DViewWidget.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  NifTK: A software platform for medical image computing.
4 
5  Copyright (c) University College London (UCL). All rights reserved.
6 
7  This software is distributed WITHOUT ANY WARRANTY; without even
8  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  PURPOSE.
10 
11  See LICENSE.txt in the top level directory for details.
12 
13 =============================================================================*/
14 
15 #ifndef niftkSingle3DViewWidget_h
16 #define niftkSingle3DViewWidget_h
17 
18 #include "niftkIGIOverlayEditorExports.h"
19 #include <niftkCMICLogo.h>
20 
21 #include <mitkRenderingManager.h>
22 #include <mitkRenderWindowFrame.h>
23 #include <mitkGradientBackground.h>
24 #include <mitkDataStorage.h>
25 #include <mitkImage.h>
26 #include <QmitkRenderWindow.h>
27 #include <QWidget>
28 #include <QFrame>
29 #include <QResizeEvent>
30 
31 class QGridLayout;
32 class QmitkRenderWindow;
33 
34 namespace niftk
35 {
36 
43 class NIFTKIGIOVERLAYEDITOR_EXPORT Single3DViewWidget : public QWidget
44 {
45  Q_OBJECT
46 
47 public:
48 
49  Single3DViewWidget(QWidget* parent = 0,
50  Qt::WindowFlags f = 0,
51  mitk::RenderingManager* renderingManager = 0);
52 
53  virtual ~Single3DViewWidget();
54 
58  QmitkRenderWindow* GetRenderWindow() const;
59 
63  void EnableGradientBackground();
64 
68  void DisableGradientBackground();
69 
73  void SetGradientBackgroundColors(const mitk::Color& upper, const mitk::Color& lower);
74 
78  void EnableDepartmentLogo();
79 
83  void DisableDepartmentLogo();
84 
88  void SetDepartmentLogoPath(const QString& path);
89 
93  void SetClippingRange(const double& near, const double& far);
94 
98  virtual void SetImageNode(mitk::DataNode* node);
99 
103  virtual void SetDataStorage(mitk::DataStorage* ds);
104 
108  virtual void Update() = 0;
109 
110 protected:
111 
115  virtual void resizeEvent(QResizeEvent* event) override;
116 
120  virtual void NodeRemoved(const mitk::DataNode* node) {}
121 
125  virtual void NodeChanged(const mitk::DataNode* node) {}
126 
130  virtual void NodeAdded(const mitk::DataNode* node) {}
131 
132  mitk::DataStorage::Pointer m_DataStorage;
133  mitk::Image::Pointer m_Image;
134  mitk::DataNode::Pointer m_ImageNode;
135  double m_ClippingRange[2];
136 
137 private:
138 
139  void DeRegisterDataStorageListeners();
140  void InternalNodeRemoved(const mitk::DataNode* node);
141  void InternalNodeChanged(const mitk::DataNode* node);
142  void InternalNodeAdded(const mitk::DataNode* node);
143 
144  mitk::RenderingManager *m_RenderingManager;
145  QmitkRenderWindow *m_RenderWindow;
146  QGridLayout *m_Layout;
147  mitk::RenderWindowFrame::Pointer m_RenderWindowFrame;
148  mitk::GradientBackground::Pointer m_GradientBackground;
149  CMICLogo::Pointer m_LogoRendering;
150 };
151 
152 }
153 
154 #endif
GLsizei const GLchar ** path
Definition: glew.h:5384
Base class widget containing a single 3D render window whose purpose is to render a 3D VTK scene...
Definition: niftkSingle3DViewWidget.h:43
mitk::DataNode::Pointer m_ImageNode
Definition: niftkSingle3DViewWidget.h:134
virtual void NodeAdded(const mitk::DataNode *node)
Called when a DataStorage Node Added Event was emitted.
Definition: niftkSingle3DViewWidget.h:130
virtual void NodeChanged(const mitk::DataNode *node)
Called when a DataStorage Node Changes Event was emitted.
Definition: niftkSingle3DViewWidget.h:125
mitk::DataStorage::Pointer m_DataStorage
Definition: niftkSingle3DViewWidget.h:132
virtual void NodeRemoved(const mitk::DataNode *node)
Called when a DataStorage Node Removed Event was emitted.
Definition: niftkSingle3DViewWidget.h:120
mitk::Image::Pointer m_Image
Definition: niftkSingle3DViewWidget.h:133
cl_event event
Definition: glew.h:3231
Definition: niftkExceptionObject.h:21
GLclampf f
Definition: glew.h:3136