VTK  9.3.20240425
vtkInteractorStyleRubberBand3D.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
44#ifndef vtkInteractorStyleRubberBand3D_h
45#define vtkInteractorStyleRubberBand3D_h
46
47#include "vtkInteractionStyleModule.h" // For export macro
49#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
50
51VTK_ABI_NAMESPACE_BEGIN
53
54class VTKINTERACTIONSTYLE_EXPORT VTK_MARSHALAUTO vtkInteractorStyleRubberBand3D
56{
57public:
60 void PrintSelf(ostream& os, vtkIndent indent) override;
61
62 void OnLeftButtonDown() override;
63 void OnLeftButtonUp() override;
64 void OnMiddleButtonDown() override;
65 void OnMiddleButtonUp() override;
66 void OnRightButtonDown() override;
67 void OnRightButtonUp() override;
68 void OnMouseMove() override;
69 void OnMouseWheelForward() override;
70 void OnMouseWheelBackward() override;
71
73
76 vtkSetMacro(RenderOnMouseMove, bool);
77 vtkGetMacro(RenderOnMouseMove, bool);
78 vtkBooleanMacro(RenderOnMouseMove, bool);
80
84 enum
85 {
86 SELECT_NORMAL = 0,
87 SELECT_UNION = 1
88 };
89
91
94 vtkGetMacro(Interaction, int);
96
97 enum
98 {
103 SELECTING
104 };
105
107
112 vtkGetVector2Macro(StartPosition, int);
113 vtkGetVector2Macro(EndPosition, int);
115
116protected:
119
120 // The interaction mode
122
123 // Draws the selection rubber band
125
126 // The end position of the selection
127 int StartPosition[2];
128
129 // The start position of the selection
130 int EndPosition[2];
131
132 // The pixel array for the rubber band
134
135 // Whether to trigger a render when the mouse moves
137
138private:
140 void operator=(const vtkInteractorStyleRubberBand3D&) = delete;
141};
142
143VTK_ABI_NAMESPACE_END
144#endif
a simple class to control print indentation
Definition vtkIndent.h:108
A rubber band interactor for a 3D view.
void OnMouseWheelForward() override
void OnMouseWheelBackward() override
void OnLeftButtonDown() override
void OnMiddleButtonUp() override
void OnMouseMove() override
Generic event bindings can be overridden in subclasses.
void OnRightButtonDown() override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkInteractorStyleRubberBand3D() override
static vtkInteractorStyleRubberBand3D * New()
void OnMiddleButtonDown() override
interactive manipulation of the camera
dynamic, self-adjusting array of unsigned char
#define VTK_MARSHALAUTO