Slicer
5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
Libs
MRML
Widgets
qMRMLLinearTransformSlider.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 the License.
15
16
This file was originally developed by Jean-Christophe Fillion-Robin, Kitware Inc.
17
and was partially funded by NIH grant 3P41RR013218-12S1
18
19
==============================================================================*/
20
21
#ifndef __qMRMLLinearTransformSlider_h
22
#define __qMRMLLinearTransformSlider_h
23
24
// CTK includes
25
#include <ctkVTKObject.h>
26
27
// MRML includes
28
#include "
qMRMLSliderWidget.h
"
29
30
class
vtkMRMLTransformNode
;
31
class
vtkMatrix4x4;
32
class
qMRMLLinearTransformSliderPrivate;
33
34
class
QMRML_WIDGETS_EXPORT
qMRMLLinearTransformSlider
:
public
qMRMLSliderWidget
35
{
36
Q_OBJECT
37
QVTK_OBJECT
38
Q_PROPERTY(
TransformType
TypeOfTransform
READ
typeOfTransform
WRITE
setTypeOfTransform
)
39
Q_ENUMS(
TransformType
)
40
Q_PROPERTY(
CoordinateReferenceType
CoordinateReference
READ
coordinateReference
WRITE
setCoordinateReference
)
41
Q_ENUMS(
CoordinateReferenceType
)
42
43
public:
45
typedef
qMRMLSliderWidget
Superclass
;
46
explicit
qMRMLLinearTransformSlider
(QWidget* parent);
47
~
qMRMLLinearTransformSlider
() override;
48
53
enum
TransformType
54
{
55
TRANSLATION_LR
,
56
TRANSLATION_PA
,
57
TRANSLATION_IS
,
58
ROTATION_LR
,
59
ROTATION_PA
,
60
ROTATION_IS
61
};
62
void
setTypeOfTransform
(
TransformType
typeOfTransform
);
63
TransformType
typeOfTransform
()
const
;
64
67
bool
isRotation
()
const
;
68
bool
isTranslation
()
const
;
69
73
enum
CoordinateReferenceType
74
{
75
GLOBAL
,
76
LOCAL
77
};
78
void
setCoordinateReference
(
CoordinateReferenceType
coordinateReference
);
79
CoordinateReferenceType
coordinateReference
()
const
;
80
83
vtkMRMLTransformNode
*
mrmlTransformNode
()
const
;
84
85
public
slots:
89
void
setMRMLTransformNode
(
vtkMRMLTransformNode
* transformNode);
90
93
void
applyTransformation
(
double
sliderPosition);
94
95
protected
slots:
98
void
onMRMLTransformNodeModified
(vtkObject* caller);
99
100
protected
:
101
QScopedPointer<qMRMLLinearTransformSliderPrivate>
d_ptr
;
102
103
private
:
104
Q_DECLARE_PRIVATE(
qMRMLLinearTransformSlider
);
105
Q_DISABLE_COPY(
qMRMLLinearTransformSlider
);
106
};
107
108
#endif
qMRMLLinearTransformSlider::mrmlTransformNode
vtkMRMLTransformNode * mrmlTransformNode() const
Return the current transform node.
qMRMLLinearTransformSlider::setCoordinateReference
void setCoordinateReference(CoordinateReferenceType coordinateReference)
qMRMLLinearTransformSlider::CoordinateReference
CoordinateReferenceType CoordinateReference
Definition
qMRMLLinearTransformSlider.h:40
qMRMLLinearTransformSlider::isRotation
bool isRotation() const
Convenience method allowing to get which family of transform is set.
qMRMLLinearTransformSlider::qMRMLLinearTransformSlider
qMRMLLinearTransformSlider(QWidget *parent)
qMRMLLinearTransformSlider::setMRMLTransformNode
void setMRMLTransformNode(vtkMRMLTransformNode *transformNode)
qMRMLLinearTransformSlider::setTypeOfTransform
void setTypeOfTransform(TransformType typeOfTransform)
qMRMLLinearTransformSlider::CoordinateReferenceType
CoordinateReferenceType
Definition
qMRMLLinearTransformSlider.h:74
qMRMLLinearTransformSlider::GLOBAL
@ GLOBAL
Definition
qMRMLLinearTransformSlider.h:75
qMRMLLinearTransformSlider::LOCAL
@ LOCAL
Definition
qMRMLLinearTransformSlider.h:76
qMRMLLinearTransformSlider::TypeOfTransform
QVTK_OBJECTTransformType TypeOfTransform
Definition
qMRMLLinearTransformSlider.h:38
qMRMLLinearTransformSlider::onMRMLTransformNodeModified
void onMRMLTransformNodeModified(vtkObject *caller)
Triggered upon MRML scene updates.
qMRMLLinearTransformSlider::isTranslation
bool isTranslation() const
qMRMLLinearTransformSlider::typeOfTransform
TransformType typeOfTransform() const
qMRMLLinearTransformSlider::applyTransformation
void applyTransformation(double sliderPosition)
Apply the appropriate rotation/translation according to the typeOfTransform of the slider.
qMRMLLinearTransformSlider::coordinateReference
CoordinateReferenceType coordinateReference() const
qMRMLLinearTransformSlider::TransformType
TransformType
Definition
qMRMLLinearTransformSlider.h:54
qMRMLLinearTransformSlider::ROTATION_LR
@ ROTATION_LR
Definition
qMRMLLinearTransformSlider.h:58
qMRMLLinearTransformSlider::TRANSLATION_LR
@ TRANSLATION_LR
Definition
qMRMLLinearTransformSlider.h:55
qMRMLLinearTransformSlider::ROTATION_IS
@ ROTATION_IS
Definition
qMRMLLinearTransformSlider.h:60
qMRMLLinearTransformSlider::TRANSLATION_PA
@ TRANSLATION_PA
Definition
qMRMLLinearTransformSlider.h:56
qMRMLLinearTransformSlider::ROTATION_PA
@ ROTATION_PA
Definition
qMRMLLinearTransformSlider.h:59
qMRMLLinearTransformSlider::TRANSLATION_IS
@ TRANSLATION_IS
Definition
qMRMLLinearTransformSlider.h:57
qMRMLLinearTransformSlider::Superclass
qMRMLSliderWidget Superclass
Constructors.
Definition
qMRMLLinearTransformSlider.h:45
qMRMLLinearTransformSlider::d_ptr
QScopedPointer< qMRMLLinearTransformSliderPrivate > d_ptr
Definition
qMRMLLinearTransformSlider.h:101
qMRMLSliderWidget::qMRMLSliderWidget
qMRMLSliderWidget(QWidget *parent=nullptr)
Construct an empty qMRMLSliderWidget with a null scene.
vtkMRMLTransformNode
MRML node for representing a transformation between this node space and a parent node space.
Definition
vtkMRMLTransformNode.h:34
qMRMLSliderWidget.h
Generated on Fri Aug 29 2025 19:01:40 for Slicer by
1.13.0