Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
qSlicerSubjectHierarchyVolumeRenderingPlugin.h
Go to the documentation of this file.
1 /*==============================================================================
2 
3  Program: 3D Slicer
4 
5  Copyright (c) Laboratory for Percutaneous Surgery (PerkLab)
6  Queen's University, Kingston, ON, Canada. All Rights Reserved.
7 
8  See COPYRIGHT.txt
9  or http://www.slicer.org/copyright/copyright.txt for details.
10 
11  Unless required by applicable law or agreed to in writing, software
12  distributed under the License is distributed on an "AS IS" BASIS,
13  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  See the License for the specific language governing permissions and
15  limitations under the License.
16 
17  This file was originally developed by Csaba Pinter, PerkLab, Queen's University
18  and was supported through the Applied Cancer Research Unit program of Cancer Care
19  Ontario with funds provided by the Ontario Ministry of Health and Long-Term Care
20 
21 ==============================================================================*/
22 
23 #ifndef __qSlicerSubjectHierarchyVolumeRenderingPlugin_h
24 #define __qSlicerSubjectHierarchyVolumeRenderingPlugin_h
25 
26 // SubjectHierarchy Plugins includes
28 
29 #include "qSlicerVolumeRenderingSubjectHierarchyPluginsExport.h"
30 
31 class qSlicerSubjectHierarchyVolumeRenderingPluginPrivate;
32 class vtkMRMLViewNode;
33 class vtkMRMLDisplayNode;
35 
37 class Q_SLICER_VOLUMERENDERING_SUBJECT_HIERARCHY_PLUGINS_EXPORT qSlicerSubjectHierarchyVolumeRenderingPlugin : public qSlicerSubjectHierarchyAbstractPlugin
38 {
39 public:
40  Q_OBJECT
41 
42 public:
44  qSlicerSubjectHierarchyVolumeRenderingPlugin(QObject* parent = nullptr);
46 
47 public:
49  void setVolumeRenderingLogic(vtkSlicerVolumeRenderingLogic* volumeRenderingLogic);
50 
54 
57  void showVisibilityContextMenuActionsForItem(vtkIdType itemID) override;
58 
63  bool showItemInView(vtkIdType itemID, vtkMRMLAbstractViewNode* viewNode, vtkIdList* allItemsToShow) override;
64 
67  bool showVolumeRendering(bool show, vtkIdType itemID, vtkMRMLViewNode* viewNode=nullptr);
68 
69 protected slots:
71  void toggleVolumeRenderingForCurrentItem(bool);
73  void showVolumeRenderingOptionsForCurrentItem();
74 
75 protected:
76  QScopedPointer<qSlicerSubjectHierarchyVolumeRenderingPluginPrivate> d_ptr;
77 
78  void resetFieldOfView(vtkMRMLDisplayNode* displayNode, vtkMRMLViewNode* viewNode=nullptr);
79 
80 private:
83 };
84 
85 #endif
virtual bool showItemInView(vtkIdType itemID, vtkMRMLAbstractViewNode *viewNode, vtkIdList *allItemsToShow)
Abstract plugin for handling Subject Hierarchy items.
Abstract MRML node to represent a view. The class holds the properties common to any view type (3D...
MRML node to represent a 3D view.
virtual Q_INVOKABLE QList< QAction * > visibilityContextMenuActions() const
Abstract class that contains graphical display properties for displayable nodes.
QScopedPointer< qSlicerSubjectHierarchyVolumeRenderingPluginPrivate > d_ptr
virtual Q_INVOKABLE void showVisibilityContextMenuActionsForItem(vtkIdType itemID)