Slicer  4.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
qMRMLThreeDViewControllerWidget.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 Julien Finet, Kitware Inc.
17  and was partially funded by NIH grant 3P41RR013218-12S1
18 
19 ==============================================================================*/
20 
21 #ifndef __qMRMLThreeDViewControllerWidget_h
22 #define __qMRMLThreeDViewControllerWidget_h
23 
24 // CTK includes
25 #include <ctkAxesWidget.h>
26 #include <ctkVTKObject.h>
27 
28 // qMRMLWidget includes
29 #include "qMRMLViewControllerBar.h"
30 class qMRMLThreeDViewControllerWidgetPrivate;
31 class qMRMLThreeDView;
32 
33 // MRML includes
34 class vtkMRMLViewNode;
35 
36 class QMRML_WIDGETS_EXPORT qMRMLThreeDViewControllerWidget
37  : public qMRMLViewControllerBar
38 {
39  Q_OBJECT
40  QVTK_OBJECT
41 public:
44 
46  explicit qMRMLThreeDViewControllerWidget(QWidget* parent = 0);
48 
51  void setViewLabel(const QString& newViewLabel);
52 
54  QString viewLabel()const;
55 
56  void setQuadBufferStereoSupportEnabled(bool value);
57 
58 public slots:
59  void setThreeDView(qMRMLThreeDView* threeDView);
60  void setMRMLViewNode(vtkMRMLViewNode* viewNode);
61 
62  void setOrthographicModeEnabled(bool enabled);
63 
64  void lookFromAxis(const ctkAxesWidget::Axis& axis);
65  void pitchView();
66  void rollView();
67  void yawView();
68  void zoomIn();
69  void zoomOut();
70  void spinView(bool enabled);
71  void rockView(bool enabled);
72  void setAnimationMode(int newAnimationMode);
73 
74  void resetFocalPoint();
75  void set3DAxisVisible(bool visible);
76  void set3DAxisLabelVisible(bool visible);
77 
80  void setUseDepthPeeling(bool use);
83  void setFPSVisible(bool visible);
84 
86  void setLightBlueBackground();
87 
89  void setBlackBackground();
90 
92  void setWhiteBackground();
93 
95  void setBackgroundColor(const QColor& color,
96  QColor color2 = QColor());
97 
98  void setStereoType(int newStereoType);
99  void setOrientationMarkerType(int type);
100  void setOrientationMarkerSize(int size);
101  void setRulerType(int type);
102 
103 protected slots:
104  void updateWidgetFromMRML();
105 
106 private:
107  Q_DECLARE_PRIVATE(qMRMLThreeDViewControllerWidget);
108  Q_DISABLE_COPY(qMRMLThreeDViewControllerWidget);
109 };
110 
111 #endif
qMRMLViewControllerBar Superclass
Superclass typedef.
3D view for view nodes. For performance reasons, the view block refreshs when the scene is in batch p...
MRML node to represent a 3D view.