VTK
9.1.0
Interaction
Widgets
vtkBorderWidget.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkBorderWidget.h
5
6
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7
All rights reserved.
8
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10
This software is distributed WITHOUT ANY WARRANTY; without even
11
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12
PURPOSE. See the above copyright notice for more information.
13
14
=========================================================================*/
79
#ifndef vtkBorderWidget_h
80
#define vtkBorderWidget_h
81
82
#include "
vtkAbstractWidget.h
"
83
#include "vtkInteractionWidgetsModule.h"
// For export macro
84
85
class
vtkBorderRepresentation
;
86
87
class
VTKINTERACTIONWIDGETS_EXPORT
vtkBorderWidget
:
public
vtkAbstractWidget
88
{
89
public
:
93
static
vtkBorderWidget
*
New
();
94
96
99
vtkTypeMacro(
vtkBorderWidget
,
vtkAbstractWidget
);
100
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
102
104
110
vtkSetMacro(Selectable,
vtkTypeBool
);
111
vtkGetMacro(Selectable,
vtkTypeBool
);
112
vtkBooleanMacro(Selectable,
vtkTypeBool
);
114
116
121
vtkSetMacro(Resizable,
vtkTypeBool
);
122
vtkGetMacro(Resizable,
vtkTypeBool
);
123
vtkBooleanMacro(Resizable,
vtkTypeBool
);
125
131
void
SetRepresentation
(
vtkBorderRepresentation
* r)
132
{
133
this->Superclass::SetWidgetRepresentation(
reinterpret_cast<
vtkWidgetRepresentation
*
>
(r));
134
}
135
139
vtkBorderRepresentation
*
GetBorderRepresentation
()
140
{
141
return
reinterpret_cast<
vtkBorderRepresentation
*
>
(this->
WidgetRep
);
142
}
143
147
void
CreateDefaultRepresentation
()
override
;
148
149
protected
:
150
vtkBorderWidget
();
151
~vtkBorderWidget
()
override
;
152
158
virtual
void
SelectRegion
(
double
eventPos[2]);
159
160
// enable the selection of the region interior to the widget
161
vtkTypeBool
Selectable
;
162
vtkTypeBool
Resizable
;
163
164
// processes the registered events
165
static
void
SelectAction
(
vtkAbstractWidget
*);
166
static
void
TranslateAction
(
vtkAbstractWidget
*);
167
static
void
EndSelectAction
(
vtkAbstractWidget
*);
168
static
void
MoveAction
(
vtkAbstractWidget
*);
169
static
void
HoverLeaveAction
(
vtkAbstractWidget
*);
170
171
// Special internal methods to support subclasses handling events.
172
// If a non-zero value is returned, the subclass is handling the event.
173
virtual
int
SubclassSelectAction
() {
return
0; }
174
virtual
int
SubclassTranslateAction
() {
return
0; }
175
virtual
int
SubclassEndSelectAction
() {
return
0; }
176
virtual
int
SubclassMoveAction
() {
return
0; }
177
178
// helper methods for cursoe management
179
void
SetCursor
(
int
State)
override
;
180
181
// widget state
182
int
WidgetState
;
183
enum
_WidgetState
184
{
185
Start = 0,
186
Define
,
187
Manipulate
,
188
Selected
189
};
190
191
private
:
192
vtkBorderWidget
(
const
vtkBorderWidget
&) =
delete
;
193
void
operator=(
const
vtkBorderWidget
&) =
delete
;
194
};
195
196
#endif
vtkAbstractWidget
define the API for widget / widget representation
Definition:
vtkAbstractWidget.h:66
vtkAbstractWidget::WidgetRep
vtkWidgetRepresentation * WidgetRep
Definition:
vtkAbstractWidget.h:175
vtkBorderRepresentation
represent a vtkBorderWidget
Definition:
vtkBorderRepresentation.h:58
vtkBorderWidget
place a border around a 2D rectangular region
Definition:
vtkBorderWidget.h:88
vtkBorderWidget::Resizable
vtkTypeBool Resizable
Definition:
vtkBorderWidget.h:162
vtkBorderWidget::SelectAction
static void SelectAction(vtkAbstractWidget *)
vtkBorderWidget::TranslateAction
static void TranslateAction(vtkAbstractWidget *)
vtkBorderWidget::_WidgetState
_WidgetState
Definition:
vtkBorderWidget.h:184
vtkBorderWidget::Define
@ Define
Definition:
vtkBorderWidget.h:186
vtkBorderWidget::Manipulate
@ Manipulate
Definition:
vtkBorderWidget.h:187
vtkBorderWidget::WidgetState
int WidgetState
Definition:
vtkBorderWidget.h:182
vtkBorderWidget::SelectRegion
virtual void SelectRegion(double eventPos[2])
Subclasses generally implement this method.
vtkBorderWidget::~vtkBorderWidget
~vtkBorderWidget() override
vtkBorderWidget::New
static vtkBorderWidget * New()
Method to instantiate class.
vtkBorderWidget::SetCursor
void SetCursor(int State) override
vtkBorderWidget::vtkBorderWidget
vtkBorderWidget()
vtkBorderWidget::Selectable
vtkTypeBool Selectable
Definition:
vtkBorderWidget.h:161
vtkBorderWidget::GetBorderRepresentation
vtkBorderRepresentation * GetBorderRepresentation()
Return the representation as a vtkBorderRepresentation.
Definition:
vtkBorderWidget.h:139
vtkBorderWidget::SubclassSelectAction
virtual int SubclassSelectAction()
Definition:
vtkBorderWidget.h:173
vtkBorderWidget::EndSelectAction
static void EndSelectAction(vtkAbstractWidget *)
vtkBorderWidget::HoverLeaveAction
static void HoverLeaveAction(vtkAbstractWidget *)
vtkBorderWidget::CreateDefaultRepresentation
void CreateDefaultRepresentation() override
Create the default widget representation if one is not set.
vtkBorderWidget::SubclassMoveAction
virtual int SubclassMoveAction()
Definition:
vtkBorderWidget.h:176
vtkBorderWidget::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for class.
vtkBorderWidget::SubclassEndSelectAction
virtual int SubclassEndSelectAction()
Definition:
vtkBorderWidget.h:175
vtkBorderWidget::SubclassTranslateAction
virtual int SubclassTranslateAction()
Definition:
vtkBorderWidget.h:174
vtkBorderWidget::SetRepresentation
void SetRepresentation(vtkBorderRepresentation *r)
Specify an instance of vtkWidgetRepresentation used to represent this widget in the scene.
Definition:
vtkBorderWidget.h:131
vtkBorderWidget::MoveAction
static void MoveAction(vtkAbstractWidget *)
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:34
vtkWidgetRepresentation
abstract class defines interface between the widget and widget representation classes
Definition:
vtkWidgetRepresentation.h:60
vtkTypeBool
int vtkTypeBool
Definition:
vtkABI.h:69
vtkAbstractWidget.h
Generated on Thu Jul 28 2022 00:00:00 for VTK by
1.9.1