Slicer 5.7
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
qMRMLModelDisplayNodeWidget.h
Go to the documentation of this file.
1/*==============================================================================
2
3 Program: 3D Slicer
4
5 Copyright (c) Kitware Inc.
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 this License.
15
16 This file was originally developed by Julien Finet, Kitware Inc.
17 and was partially funded by NIH grant 3P41RR013218-12S1
18
19==============================================================================*/
20
21#ifndef __qMRMLModelDisplayNodeWidget_h
22#define __qMRMLModelDisplayNodeWidget_h
23
24// MRMLWidgets includes
25#include "qMRMLWidget.h"
27
28// CTK includes
29#include <ctkVTKObject.h>
30
31// qMRML includes
32#include "qSlicerModelsModuleWidgetsExport.h"
33
34class qMRMLModelDisplayNodeWidgetPrivate;
38class vtkMRMLNode;
39
40class Q_SLICER_QTMODULES_MODELS_WIDGETS_EXPORT qMRMLModelDisplayNodeWidget : public qMRMLWidget
41{
42 Q_OBJECT
43 QVTK_OBJECT
44
45 Q_PROPERTY(bool clippingConfigurationButtonVisible READ clippingConfigurationButtonVisible WRITE setClippingConfigurationButtonVisible)
46
47public:
49 qMRMLModelDisplayNodeWidget(QWidget* parent = nullptr);
51
59 QList<vtkIdType> currentSubjectHierarchyItemIDs()const;
60
61 bool visibility()const;
62 bool clipping()const;
67
68signals:
74 void clippingToggled(bool);
77
78public slots:
80 void setMRMLScene(vtkMRMLScene* newScene) override;
90 void setCurrentSubjectHierarchyItemID(vtkIdType currentItemID);
96 void setCurrentSubjectHierarchyItemIDs(QList<vtkIdType> currentItemIDs);
97
98 void setVisibility(bool);
99 void setClipping(bool);
100
106
108 void setPointSize(double);
109 void setLineWidth(double);
110 void setShowFaces(int);
111 void setColor(const QColor&);
112 void setBackfaceHueOffset(double newOffset);
113 void setBackfaceSaturationOffset(double newOffset);
114 void setBackfaceBrightnessOffset(double newOffset);
115
116 void setOpacity(double);
118 void setEdgeColor(const QColor&);
119 void setLighting(bool);
121
124
125protected slots:
128
129protected:
130 QScopedPointer<qMRMLModelDisplayNodeWidgetPrivate> d_ptr;
131
132private:
133 Q_DECLARE_PRIVATE(qMRMLModelDisplayNodeWidget);
134 Q_DISABLE_COPY(qMRMLModelDisplayNodeWidget);
135};
136
137#endif
void setBackfaceBrightnessOffset(double newOffset)
void setMRMLDisplayNode(vtkMRMLDisplayNode *displayNode)
Set display node (may be model or folder display node)
void setSliceIntersectionVisible(bool)
vtkIdType currentSubjectHierarchyItemID() const
Get current item (if single selection)
vtkMRMLModelDisplayNode * mrmlModelDisplayNode() const
Get model display node (if model was selected not folder)
void setColor(const QColor &)
void setBackfaceHueOffset(double newOffset)
void setMRMLModelDisplayNode(vtkMRMLNode *node)
Utility function to be connected with generic signals.
int sliceIntersectionThickness() const
void setEdgeColor(const QColor &)
void clippingToggled(bool)
Signal sent if user toggles clipping checkbox on the GUI.
void setMRMLScene(vtkMRMLScene *newScene) override
Set the scene.
void setBackfaceSaturationOffset(double newOffset)
void displayNodeChanged()
Signal sent if the any property in the display node is changed.
vtkMRMLDisplayNode * mrmlDisplayNode() const
Get current display node (may be model or folder display node)
double sliceIntersectionOpacity() const
void setDistanceToColorNode(vtkMRMLNode *)
~qMRMLModelDisplayNodeWidget() override
void setCurrentSubjectHierarchyItemID(vtkIdType currentItemID)
QList< vtkIdType > currentSubjectHierarchyItemIDs() const
Get current items (if multi selection)
bool clippingConfigurationButtonVisible() const
void setMRMLModelDisplayNode(vtkMRMLModelDisplayNode *node)
Set the model display node.
void setClippingConfigurationButtonVisible(bool)
Show/hide "Configure..." button for clipping.
void clippingConfigurationButtonClicked()
Signal sent if clipping configuration button is clicked.
bool sliceIntersectionVisible() const
qMRMLModelDisplayNodeWidget(QWidget *parent=nullptr)
void setSliceIntersectionOpacity(double)
void setSliceIntersectionThickness(int)
void setCurrentSubjectHierarchyItemIDs(QList< vtkIdType > currentItemIDs)
QScopedPointer< qMRMLModelDisplayNodeWidgetPrivate > d_ptr
void scalarRangeModeValueChanged(vtkMRMLDisplayNode::ScalarRangeFlagType value)
Signal sent if the auto/manual value is updated.
Base class for any widget that requires a MRML Scene.
Definition qMRMLWidget.h:36
Abstract MRML node to represent color information.
Abstract class that contains graphical display properties for displayable nodes.
MRML node to represent a display property of 3D surface model.
Abstract Superclass for all specific types of MRML nodes.
A set of MRML Nodes that supports serialization and undo/redo.