VTK
9.5.20251129
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
72
73
#ifndef vtkCompassWidget_h
74
#define vtkCompassWidget_h
75
76
#include "
vtkAbstractWidget.h
"
77
#include "vtkInteractionWidgetsModule.h"
// For export macro
78
#include "
vtkWrappingHints.h
"
// For VTK_MARSHALAUTO
79
80
VTK_ABI_NAMESPACE_BEGIN
81
class
vtkCompassRepresentation
;
82
83
class
VTKINTERACTIONWIDGETS_EXPORT
VTK_MARSHALAUTO
vtkCompassWidget
:
public
vtkAbstractWidget
84
{
85
public
:
89
static
vtkCompassWidget
*
New
();
90
92
95
vtkTypeMacro(
vtkCompassWidget
,
vtkAbstractWidget
);
96
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
98
104
void
SetRepresentation
(
vtkCompassRepresentation
* r)
105
{
106
this->
Superclass::SetWidgetRepresentation
(
reinterpret_cast<
vtkWidgetRepresentation
*
>
(r));
107
}
108
112
void
CreateDefaultRepresentation
()
override
;
113
115
118
double
GetHeading
();
119
void
SetHeading
(
double
v);
120
double
GetTilt
();
121
void
SetTilt
(
double
tilt);
122
double
GetDistance
();
123
void
SetDistance
(
double
distance);
125
127
131
vtkGetMacro(
TimerDuration
,
int
);
132
vtkSetMacro(
TimerDuration
,
int
);
134
136
140
vtkGetMacro(
TiltSpeed
,
double
);
141
vtkSetMacro(
TiltSpeed
,
double
);
143
145
149
vtkGetMacro(
DistanceSpeed
,
double
);
150
vtkSetMacro(
DistanceSpeed
,
double
);
152
153
protected
:
154
vtkCompassWidget
();
155
~vtkCompassWidget
()
override
=
default
;
156
157
// These are the events that are handled
158
static
void
SelectAction
(
vtkAbstractWidget
* widget);
159
static
void
EndSelectAction
(
vtkAbstractWidget
* widget);
160
static
void
MoveAction
(
vtkAbstractWidget
* widget);
161
static
void
TimerAction
(
vtkAbstractWidget
* widget);
162
163
int
WidgetState
;
164
enum
WidgetStateType
165
{
166
Start
= 0,
167
Highlighting
,
168
Adjusting
,
169
TiltAdjusting
,
170
DistanceAdjusting
,
171
TiltTimerAdjustingDown
,
172
TiltTimerAdjustingUp
,
173
DistanceTimerAdjustingIn
,
174
DistanceTimerAdjustingOut
175
};
176
177
int
TimerId
= -1;
178
int
TimerDuration
= 50;
179
double
StartTime
;
180
181
double
TiltSpeed
= 30.0;
182
double
DistanceSpeed
= 1.0;
183
184
private
:
185
vtkCompassWidget
(
const
vtkCompassWidget
&) =
delete
;
186
void
operator=(
const
vtkCompassWidget
&) =
delete
;
187
};
188
189
VTK_ABI_NAMESPACE_END
190
#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:165
vtkCompassWidget::DistanceAdjusting
@ DistanceAdjusting
Definition
vtkCompassWidget.h:170
vtkCompassWidget::TiltTimerAdjustingUp
@ TiltTimerAdjustingUp
Definition
vtkCompassWidget.h:172
vtkCompassWidget::TiltAdjusting
@ TiltAdjusting
Definition
vtkCompassWidget.h:169
vtkCompassWidget::DistanceTimerAdjustingIn
@ DistanceTimerAdjustingIn
Definition
vtkCompassWidget.h:173
vtkCompassWidget::Highlighting
@ Highlighting
Definition
vtkCompassWidget.h:167
vtkCompassWidget::Adjusting
@ Adjusting
Definition
vtkCompassWidget.h:168
vtkCompassWidget::Start
@ Start
Definition
vtkCompassWidget.h:166
vtkCompassWidget::DistanceTimerAdjustingOut
@ DistanceTimerAdjustingOut
Definition
vtkCompassWidget.h:174
vtkCompassWidget::TiltTimerAdjustingDown
@ TiltTimerAdjustingDown
Definition
vtkCompassWidget.h:171
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:104
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:177
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:179
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:182
vtkCompassWidget::WidgetState
int WidgetState
Definition
vtkCompassWidget.h:163
vtkCompassWidget::SetTilt
void SetTilt(double tilt)
Get/set the value for this widget.
vtkCompassWidget::TimerDuration
int TimerDuration
Definition
vtkCompassWidget.h:178
vtkCompassWidget::TiltSpeed
double TiltSpeed
Definition
vtkCompassWidget.h:181
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:60
Generated on Sat Nov 29 2025 07:44:59 for VTK by
1.13.2