Slicer  4.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
qSlicerMultiVolumeRenderingModuleWidget.h
Go to the documentation of this file.
1 /*==============================================================================
2 
3  Program: 3D Slicer
4 
5  Portions (c) Copyright Brigham and Women's Hospital (BWH) All Rights Reserved.
6 
7  See COPYRIGHT.txt
8  or http://www.slicer.org/copyright/copyright.txt for details.
9 
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15 
16 ==============================================================================*/
17 
18 #ifndef __qSlicerMultiVolumeRenderingModuleWidget_h
19 #define __qSlicerMultiVolumeRenderingModuleWidget_h
20 
21 // SlicerQt includes
23 
24 #include "qSlicerMultiVolumeRenderingModuleExport.h"
25 
26 class qSlicerMultiVolumeRenderingModuleWidgetPrivate;
28 class vtkMRMLNode;
30 class vtkMRMLViewNode;
33 
35 class Q_SLICER_QTMODULES_MULTIVOLUMERENDERING_EXPORT qSlicerMultiVolumeRenderingModuleWidget :
37 {
38  Q_OBJECT
39 
40 public:
41 
43  qSlicerMultiVolumeRenderingModuleWidget(QWidget *parent=0);
45 
46  vtkMRMLScalarVolumeNode* getCurrentBgVolumeNode()const;
47  vtkMRMLScalarVolumeNode* getCurrentFgVolumeNode()const;
48  vtkMRMLScalarVolumeNode* getCurrentLabelmapVolumeNode()const;
49 
50 public slots:
51 
52  void setMRMLDisplayNode(vtkMRMLNode* node);
53 
54 protected slots:
55  void onVisibilityBgVolumeChanged(bool);
56  void onVisibilityFgVolumeChanged(bool);
57  void onVisibilityLabelmapVolumeChanged(bool);
58 
59  void onCurrentBgVolumeMRMLImageNodeChanged(vtkMRMLNode* node);
60  void onCurrentFgVolumeMRMLImageNodeChanged(vtkMRMLNode* node);
61  void onCurrentLabelmapVolumeMRMLImageNodeChanged(vtkMRMLNode* node);
62 
63  void onCurrentMRMLDisplayNodeChanged(vtkMRMLNode* node);
64 
65  void updateRenderingFromMRMLDisplayNode();
66 
67 protected:
68  QScopedPointer<qSlicerMultiVolumeRenderingModuleWidgetPrivate> d_ptr;
69 
70  virtual void setup();
71 
72 private:
73  Q_DECLARE_PRIVATE(qSlicerMultiVolumeRenderingModuleWidget);
75 };
76 
77 #endif
QScopedPointer< qSlicerMultiVolumeRenderingModuleWidgetPrivate > d_ptr
MRML node to represent a 3D view.
MRML node for representing a volume (image stack).
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:135
vtkMRMLVolumePropertyNode contains the transfer functions (scalar opacity, color and gradient opacity...