VTK  9.3.20240419
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 
51 VTK_ABI_NAMESPACE_BEGIN
53 
54 class VTKINTERACTIONSTYLE_EXPORT VTK_MARSHALAUTO vtkInteractorStyleRubberBand3D
56 {
57 public:
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 
116 protected:
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 
138 private:
140  void operator=(const vtkInteractorStyleRubberBand3D&) = delete;
141 };
142 
143 VTK_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