Slicer  4.10
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
qSlicerSegmentEditorPaintEffect.h
Go to the documentation of this file.
1 /*==============================================================================
2 
3  Copyright (c) Laboratory for Percutaneous Surgery (PerkLab)
4  Queen's University, Kingston, ON, Canada. All Rights Reserved.
5 
6  See COPYRIGHT.txt
7  or http://www.slicer.org/copyright/copyright.txt for details.
8 
9  Unless required by applicable law or agreed to in writing, software
10  distributed under the License is distributed on an "AS IS" BASIS,
11  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  See the License for the specific language governing permissions and
13  limitations under the License.
14 
15  This file was originally developed by Csaba Pinter, PerkLab, Queen's University
16  and was supported through the Applied Cancer Research Unit program of Cancer Care
17  Ontario with funds provided by the Ontario Ministry of Health and Long-Term Care
18 
19 ==============================================================================*/
20 
21 #ifndef __qSlicerSegmentEditorPaintEffect_h
22 #define __qSlicerSegmentEditorPaintEffect_h
23 
24 // Segmentations Editor Effects includes
25 #include "qSlicerSegmentationsEditorEffectsExport.h"
26 
28 
29 class qSlicerSegmentEditorPaintEffectPrivate;
30 class vtkPolyData;
31 
33 class Q_SLICER_SEGMENTATIONS_EFFECTS_EXPORT qSlicerSegmentEditorPaintEffect :
35 {
36 public:
37  Q_OBJECT
38 
39 public:
41  qSlicerSegmentEditorPaintEffect(QObject* parent = NULL);
43 
44 public:
46  virtual QIcon icon();
47 
49  Q_INVOKABLE virtual const QString helpText()const;
50 
53 
55  Q_INVOKABLE virtual void deactivate();
56 
61  virtual bool processInteractionEvents(vtkRenderWindowInteractor* callerInteractor, unsigned long eid, qMRMLWidget* viewWidget);
62 
67  virtual void processViewNodeEvents(vtkMRMLAbstractViewNode* callerViewNode, unsigned long eid, qMRMLWidget* viewWidget);
68 
70  virtual void setupOptionsFrame();
71 
73  virtual void setMRMLDefaults();
74 
76  virtual void referenceGeometryChanged();
77 
78 public slots:
80  virtual void updateGUIFromMRML();
81 
83  virtual void updateMRMLFromGUI();
84 
85 protected:
89 
91  bool m_Erase;
92 
93 protected:
94  QScopedPointer<qSlicerSegmentEditorPaintEffectPrivate> d_ptr;
95 
96 private:
97  Q_DECLARE_PRIVATE(qSlicerSegmentEditorPaintEffect);
98  Q_DISABLE_COPY(qSlicerSegmentEditorPaintEffect);
99 };
100 
101 #endif
virtual void setupOptionsFrame()
Create options frame widgets, make connections, and add them to the main options frame using...
bool m_Erase
Flag determining whether to paint or erase.
virtual bool processInteractionEvents(vtkRenderWindowInteractor *callerInteractor, unsigned long eid, qMRMLWidget *viewWidget)
virtual Q_INVOKABLE const QString helpText() const
Get help text for effect to be displayed in the help box.
Abstract class for segment editor effects.
qSlicerSegmentEditorAbstractLabelEffect Superclass
virtual void updateMRMLFromGUI()
Update parameter set node from user interface.
virtual Q_INVOKABLE void deactivate()
Abstract MRML node to represent a view. The class holds the properties common to any view type (3D...
QScopedPointer< qSlicerSegmentEditorPaintEffectPrivate > d_ptr
virtual void referenceGeometryChanged()
Perform actions needed on reference geometry change.
Base class for any widget that requires a MRML Scene.
Definition: qMRMLWidget.h:35
virtual void setMRMLDefaults()
Set default parameters in the parameter MRML node.
virtual void processViewNodeEvents(vtkMRMLAbstractViewNode *callerViewNode, unsigned long eid, qMRMLWidget *viewWidget)
virtual QIcon icon()
Get icon for effect to be displayed in segment editor.
virtual qSlicerSegmentEditorAbstractEffect * clone()=0
virtual void updateGUIFromMRML()
Update user interface from parameter set node.