CTK 0.1.0
The Common Toolkit is a community effort to provide support code for medical image analysis, surgical navigation, and related projects.
Loading...
Searching...
No Matches
ctkVTKRenderView.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Library: CTK
4
5 Copyright (c) Kitware Inc.
6
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10
11 http://www.apache.org/licenses/LICENSE-2.0.txt
12
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18
19=========================================================================*/
20
21#ifndef __ctkVTKRenderView_h
22#define __ctkVTKRenderView_h
23
24// CTK includes
25#include <ctkAxesWidget.h>
26#include "ctkVTKAbstractView.h"
27class ctkVTKRenderViewPrivate;
28
29class vtkCamera;
30class vtkRenderer;
31
33class CTK_VISUALIZATION_VTK_WIDGETS_EXPORT ctkVTKRenderView : public ctkVTKAbstractView
34{
35 Q_OBJECT
36 Q_PROPERTY(bool orientationWidgetVisible READ orientationWidgetVisible
37 WRITE setOrientationWidgetVisible)
38 Q_PROPERTY(double zoomFactor READ zoomFactor WRITE setZoomFactor)
39 Q_PROPERTY(double pitchRollYawIncrement READ pitchRollYawIncrement WRITE setPitchRollYawIncrement)
40 Q_ENUMS(RotateDirection)
41 Q_PROPERTY(RotateDirection pitchDirection READ pitchDirection WRITE setPitchDirection)
42 Q_PROPERTY(RotateDirection rollDirection READ rollDirection WRITE setRollDirection)
43 Q_PROPERTY(RotateDirection yawDirection READ yawDirection WRITE setYawDirection)
44 Q_PROPERTY(RotateDirection spinDirection READ spinDirection WRITE setSpinDirection)
45 Q_PROPERTY(bool spinEnabled READ spinEnabled WRITE setSpinEnabled)
46 Q_PROPERTY(double spinIncrement READ spinIncrement WRITE setSpinIncrement)
47 Q_PROPERTY(int animationIntervalMs READ animationIntervalMs WRITE setAnimationIntervalMs)
48 Q_PROPERTY(bool rockEnabled READ rockEnabled WRITE setRockEnabled)
49 Q_PROPERTY(int rockLength READ rockLength WRITE setRockLength)
50
51public:
52
53 enum RotateDirection { PitchUp, PitchDown, RollLeft, RollRight, YawLeft, YawRight };
54
56 explicit ctkVTKRenderView(QWidget* parent = 0);
58
59public Q_SLOTS:
61 void setOrientationWidgetVisible(bool visible);
62
66 void setPitchRollYawIncrement(double newPitchRollYawIncrement);
67
70 void pitch();
71
74 void roll();
75
78 void yaw();
79
81 void setSpinEnabled(bool enabled);
82
85 void setSpinIncrement(double newSpinIncrement);
86
90
92 void setRockEnabled(bool enabled);
93
95 void setRockLength(int newRockLength);
96
99 void setRockIncrement(int newRockIncrement);
100
104 void setZoomFactor(double newZoomFactor);
105
108 void zoomIn();
109
112 void zoomOut();
113
115 void setFocalPoint(double x, double y, double z);
116
120
125 void lookFromAxis(const ctkAxesWidget::Axis& axis, double fov = 10.);
126
127public:
128
131
133 vtkCamera* activeCamera();
134
137
139 vtkRenderer* renderer()const;
140
143 virtual void setInteractor(vtkRenderWindowInteractor* interactor);
144
147
149 bool spinEnabled() const;
150
153 double spinIncrement()const;
154
158
160 bool rockEnabled() const;
161
163 int rockLength() const;
164
167 int rockIncrement() const;
168
170 void setPitchDirection(RotateDirection newPitchDirection);
171
173 void setRollDirection(RotateDirection newRollDirection);
174
176 void setYawDirection(RotateDirection newYawDirection);
177
179 void setSpinDirection(RotateDirection newSpinDirection);
180
182 double zoomFactor()const;
183
184private:
185 Q_DECLARE_PRIVATE(ctkVTKRenderView);
186 Q_DISABLE_COPY(ctkVTKRenderView);
187};
188
189#endif
void setAnimationIntervalMs(int ms)
void setSpinEnabled(bool enabled)
Enable or Disbled the animated spin of the view.
void setRockEnabled(bool enabled)
Enable or Disbled the animated rock of the view.
ctkVTKAbstractView Superclass
void setZoomFactor(double newZoomFactor)
Set zoom factor zoomFactor is a value between 0.0 and 1.0.
virtual void setInteractor(vtkRenderWindowInteractor *interactor)
int rockLength() const
Return length of the rock animation.
bool orientationWidgetVisible()
Get Orientation widget visibility.
void setYawDirection(RotateDirection newYawDirection)
int animationIntervalMs() const
vtkCamera * activeCamera()
Get active camera.
bool rockEnabled() const
Return if animated rock is enabled.
RotateDirection yawDirection() const
void setFocalPoint(double x, double y, double z)
Set the focal point.
void setSpinIncrement(double newSpinIncrement)
void setRockIncrement(int newRockIncrement)
void setRollDirection(RotateDirection newRollDirection)
RotateDirection spinDirection() const
void setPitchDirection(RotateDirection newPitchDirection)
double zoomFactor() const
Return zoom factor.
virtual ~ctkVTKRenderView()
void resetFocalPoint()
Reset focal point The visible scene bbox is computed, then the camera is recentered around its centro...
RotateDirection pitchDirection() const
int rockIncrement() const
void setSpinDirection(RotateDirection newSpinDirection)
void setRockLength(int newRockLength)
Set length of a complete rock period (in number of animation steps)
void lookFromAxis(const ctkAxesWidget::Axis &axis, double fov=10.)
Change camera to look from a given axis to the focal point Translate/Rotate the camera to look from a...
double pitchRollYawIncrement() const
Return pitch, roll or yaw increment (in degree)
ctkVTKRenderView(QWidget *parent=0)
double spinIncrement() const
bool spinEnabled() const
Return if animated spin is enabled.
vtkRenderer * renderer() const
Get a reference to the associated vtkRenderer.
void setOrientationWidgetVisible(bool visible)
Show/Hide Orientation widget.
void resetCamera()
Reset camera.
RotateDirection rollDirection() const
void setPitchRollYawIncrement(double newPitchRollYawIncrement)