VTK
9.5.2
Main Page
Related Pages
Topics
Namespaces
Classes
Files
Examples
File List
File Members
Interaction
Widgets
vtkCompassWidget.h
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2
// SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
3
// SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
4
69
70
#ifndef vtkCompassWidget_h
71
#define vtkCompassWidget_h
72
73
#include "
vtkAbstractWidget.h
"
74
#include "vtkInteractionWidgetsModule.h"
// For export macro
75
#include "
vtkWrappingHints.h
"
// For VTK_MARSHALAUTO
76
77
VTK_ABI_NAMESPACE_BEGIN
78
class
vtkCompassRepresentation
;
79
80
class
VTKINTERACTIONWIDGETS_EXPORT
VTK_MARSHALAUTO
vtkCompassWidget
:
public
vtkAbstractWidget
81
{
82
public
:
86
static
vtkCompassWidget
*
New
();
87
89
92
vtkTypeMacro(
vtkCompassWidget
,
vtkAbstractWidget
);
93
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
95
101
void
SetRepresentation
(
vtkCompassRepresentation
* r)
102
{
103
this->
Superclass::SetWidgetRepresentation
(
reinterpret_cast<
vtkWidgetRepresentation
*
>
(r));
104
}
105
109
void
CreateDefaultRepresentation
()
override
;
110
112
115
double
GetHeading
();
116
void
SetHeading
(
double
v);
117
double
GetTilt
();
118
void
SetTilt
(
double
tilt);
119
double
GetDistance
();
120
void
SetDistance
(
double
distance);
122
124
128
vtkGetMacro(
TimerDuration
,
int
);
129
vtkSetMacro(
TimerDuration
,
int
);
131
133
137
vtkGetMacro(
TiltSpeed
,
double
);
138
vtkSetMacro(
TiltSpeed
,
double
);
140
142
146
vtkGetMacro(
DistanceSpeed
,
double
);
147
vtkSetMacro(
DistanceSpeed
,
double
);
149
150
protected
:
151
vtkCompassWidget
();
152
~vtkCompassWidget
()
override
=
default
;
153
154
// These are the events that are handled
155
static
void
SelectAction
(
vtkAbstractWidget
* widget);
156
static
void
EndSelectAction
(
vtkAbstractWidget
* widget);
157
static
void
MoveAction
(
vtkAbstractWidget
* widget);
158
static
void
TimerAction
(
vtkAbstractWidget
* widget);
159
160
int
WidgetState
;
161
enum
WidgetStateType
162
{
163
Start
= 0,
164
Highlighting
,
165
Adjusting
,
166
TiltAdjusting
,
167
DistanceAdjusting
,
168
TiltTimerAdjustingDown
,
169
TiltTimerAdjustingUp
,
170
DistanceTimerAdjustingIn
,
171
DistanceTimerAdjustingOut
172
};
173
174
int
TimerId
= -1;
175
int
TimerDuration
= 50;
176
double
StartTime
;
177
178
double
TiltSpeed
= 30.0;
179
double
DistanceSpeed
= 1.0;
180
181
private
:
182
vtkCompassWidget
(
const
vtkCompassWidget
&) =
delete
;
183
void
operator=(
const
vtkCompassWidget
&) =
delete
;
184
};
185
186
VTK_ABI_NAMESPACE_END
187
#endif
vtkAbstractWidget::vtkAbstractWidget
vtkAbstractWidget()
vtkAbstractWidget::SetWidgetRepresentation
void SetWidgetRepresentation(vtkWidgetRepresentation *r)
vtkCompassRepresentation
provide a compass and distance, tilt sliders
Definition
vtkCompassRepresentation.h:68
vtkCompassWidget::SelectAction
static void SelectAction(vtkAbstractWidget *widget)
vtkCompassWidget::WidgetStateType
WidgetStateType
Definition
vtkCompassWidget.h:162
vtkCompassWidget::DistanceAdjusting
@ DistanceAdjusting
Definition
vtkCompassWidget.h:167
vtkCompassWidget::TiltTimerAdjustingUp
@ TiltTimerAdjustingUp
Definition
vtkCompassWidget.h:169
vtkCompassWidget::TiltAdjusting
@ TiltAdjusting
Definition
vtkCompassWidget.h:166
vtkCompassWidget::DistanceTimerAdjustingIn
@ DistanceTimerAdjustingIn
Definition
vtkCompassWidget.h:170
vtkCompassWidget::Highlighting
@ Highlighting
Definition
vtkCompassWidget.h:164
vtkCompassWidget::Adjusting
@ Adjusting
Definition
vtkCompassWidget.h:165
vtkCompassWidget::Start
@ Start
Definition
vtkCompassWidget.h:163
vtkCompassWidget::DistanceTimerAdjustingOut
@ DistanceTimerAdjustingOut
Definition
vtkCompassWidget.h:171
vtkCompassWidget::TiltTimerAdjustingDown
@ TiltTimerAdjustingDown
Definition
vtkCompassWidget.h:168
vtkCompassWidget::~vtkCompassWidget
~vtkCompassWidget() override=default
vtkCompassWidget::SetRepresentation
void SetRepresentation(vtkCompassRepresentation *r)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
Definition
vtkCompassWidget.h:101
vtkCompassWidget::SetHeading
void SetHeading(double v)
Get/set the value for this widget.
vtkCompassWidget::GetHeading
double GetHeading()
Get/set the value for this widget.
vtkCompassWidget::TimerId
int TimerId
Definition
vtkCompassWidget.h:174
vtkCompassWidget::New
static vtkCompassWidget * New()
Instantiate the class.
vtkCompassWidget::MoveAction
static void MoveAction(vtkAbstractWidget *widget)
vtkCompassWidget::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Standard macros.
vtkCompassWidget::TimerAction
static void TimerAction(vtkAbstractWidget *widget)
vtkCompassWidget::vtkCompassWidget
vtkCompassWidget()
vtkCompassWidget::StartTime
double StartTime
Definition
vtkCompassWidget.h:176
vtkCompassWidget::EndSelectAction
static void EndSelectAction(vtkAbstractWidget *widget)
vtkCompassWidget::CreateDefaultRepresentation
void CreateDefaultRepresentation() override
Create the default widget representation if one is not set.
vtkCompassWidget::GetDistance
double GetDistance()
Get/set the value for this widget.
vtkCompassWidget::GetTilt
double GetTilt()
Get/set the value for this widget.
vtkCompassWidget::DistanceSpeed
double DistanceSpeed
Definition
vtkCompassWidget.h:179
vtkCompassWidget::WidgetState
int WidgetState
Definition
vtkCompassWidget.h:160
vtkCompassWidget::SetTilt
void SetTilt(double tilt)
Get/set the value for this widget.
vtkCompassWidget::TimerDuration
int TimerDuration
Definition
vtkCompassWidget.h:175
vtkCompassWidget::TiltSpeed
double TiltSpeed
Definition
vtkCompassWidget.h:178
vtkCompassWidget::SetDistance
void SetDistance(double distance)
Get/set the value for this widget.
vtkIndent
a simple class to control print indentation
Definition
vtkIndent.h:108
vtkWidgetRepresentation
abstract class defines interface between the widget and widget representation classes
Definition
vtkWidgetRepresentation.h:68
vtkAbstractWidget.h
vtkWrappingHints.h
VTK_MARSHALAUTO
#define VTK_MARSHALAUTO
Definition
vtkWrappingHints.h:53
Generated on
for VTK by
1.15.0