VTK  9.7.1
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
25 #ifndef vtkInteractorStyleRubberBand3D_h
26 #define vtkInteractorStyleRubberBand3D_h
27 
28 #include "vtkInteractionStyleModule.h" // For export macro
30 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
31 
32 VTK_ABI_NAMESPACE_BEGIN
34 
35 class VTKINTERACTIONSTYLE_EXPORT VTK_MARSHALAUTO vtkInteractorStyleRubberBand3D
37 {
38 public:
41  void PrintSelf(ostream& os, vtkIndent indent) override;
42 
43  void OnLeftButtonDown() override;
44  void OnLeftButtonUp() override;
45  void OnMiddleButtonDown() override;
46  void OnMiddleButtonUp() override;
47  void OnRightButtonDown() override;
48  void OnRightButtonUp() override;
49  void OnMouseMove() override;
50  void OnMouseWheelForward() override;
51  void OnMouseWheelBackward() override;
52 
54 
57  vtkSetMacro(RenderOnMouseMove, bool);
58  vtkGetMacro(RenderOnMouseMove, bool);
59  vtkBooleanMacro(RenderOnMouseMove, bool);
61 
65  enum
66  {
67  SELECT_NORMAL = 0,
68  SELECT_UNION = 1
69  };
70 
72 
75  vtkGetMacro(Interaction, int);
77 
78  enum
79  {
84  SELECTING
85  };
86 
88 
93  vtkGetVector2Macro(StartPosition, int);
94  vtkGetVector2Macro(EndPosition, int);
96 
97 protected:
100 
101  // The interaction mode
103 
104  // Draws the selection rubber band
105  void RedrawRubberBand();
106 
107  // The end position of the selection
108  int StartPosition[2];
109 
110  // The start position of the selection
111  int EndPosition[2];
112 
113  // The pixel array for the rubber band
115 
116  // Whether to trigger a render when the mouse moves
118 
119 private:
121  void operator=(const vtkInteractorStyleRubberBand3D&) = delete;
122 };
123 
124 VTK_ABI_NAMESPACE_END
125 #endif
void OnMiddleButtonUp() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void OnMouseWheelBackward() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
static vtkInteractorStyleTrackballCamera * New()
a simple class to control print indentation
Definition: vtkIndent.h:28
void OnMouseMove() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void OnMiddleButtonDown() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
dynamic, self-adjusting array of unsigned char
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void OnMouseWheelForward() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
A rubber band interactor for a 3D view.
void OnRightButtonDown() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void OnRightButtonUp() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
interactive manipulation of the camera
#define VTK_MARSHALAUTO
void OnLeftButtonDown() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void OnLeftButtonUp() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.