Slicer  5.3
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
qSlicerSegmentEditorScissorsEffect.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 __qSlicerSegmentEditorScissorsEffect_h
22 #define __qSlicerSegmentEditorScissorsEffect_h
23 
24 // Segmentations Editor Effects includes
25 #include "qSlicerSegmentationsEditorEffectsExport.h"
26 
28 
29 class qSlicerSegmentEditorScissorsEffectPrivate;
30 class vtkPolyData;
31 
33 class Q_SLICER_SEGMENTATIONS_EFFECTS_EXPORT qSlicerSegmentEditorScissorsEffect :
35 {
36 public:
37  Q_OBJECT
38 
39 public:
41  qSlicerSegmentEditorScissorsEffect(QObject* parent = nullptr);
43 
44 public:
46  QIcon icon() override;
47 
49  Q_INVOKABLE const QString helpText()const override;
50 
52  void setupOptionsFrame() override;
53 
55  void setMRMLDefaults() override;
56 
59 
64  bool processInteractionEvents(vtkRenderWindowInteractor* callerInteractor, unsigned long eid, qMRMLWidget* viewWidget) override;
65 
67  Q_INVOKABLE void deactivate() override;
68 
69  // TODO: temporary code, only for debugging
72  Q_INVOKABLE void setDebugOutputFolder(QString folder) { DebugOutputFolder = folder; };
73  static QString DebugOutputFolder;
74 
75 public slots:
77  void updateGUIFromMRML() override;
78 
80  void updateMRMLFromGUI() override;
81 
82  virtual void setOperation(int operationIndex);
83  virtual void setShape(int shapeIndex);
84  virtual void setShapeDrawCentered(int checkState);
85  virtual void setSliceCutMode(int sliceCutModeIndex);
86  virtual void onSliceCutDepthChanged(double value);
87 
88 protected:
89  QScopedPointer<qSlicerSegmentEditorScissorsEffectPrivate> d_ptr;
90 
91 private:
92  Q_DECLARE_PRIVATE(qSlicerSegmentEditorScissorsEffect);
93  Q_DISABLE_COPY(qSlicerSegmentEditorScissorsEffect);
94 };
95 
96 #endif
qSlicerSegmentEditorAbstractEffect * clone() override=0
qSlicerSegmentEditorAbstractLabelEffect Superclass
QScopedPointer< qSlicerSegmentEditorScissorsEffectPrivate > d_ptr
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.
void updateMRMLFromGUI() override
Update parameter set node from user interface.
virtual Q_INVOKABLE void deactivate()
Q_INVOKABLE void setDebugOutputFolder(QString folder)
Base class for any widget that requires a MRML Scene.
Definition: qMRMLWidget.h:35
void setupOptionsFrame() override
Create options frame widgets, make connections, and add them to the main options frame using...
void setMRMLDefaults() override
Set default parameters in the parameter MRML node.
virtual QIcon icon()
Get icon for effect to be displayed in segment editor.
void updateGUIFromMRML() override
Update user interface from parameter set node.