VTK  9.0.1
vtkInteractorStyleRubberBand3D.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkInteractorStyleRubberBand3D.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 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
41 #ifndef vtkInteractorStyleRubberBand3D_h
42 #define vtkInteractorStyleRubberBand3D_h
43 
44 #include "vtkInteractionStyleModule.h" // For export macro
46 
48 
49 class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleRubberBand3D
51 {
52 public:
55  void PrintSelf(ostream& os, vtkIndent indent) override;
56 
57  void OnLeftButtonDown() override;
58  void OnLeftButtonUp() override;
59  void OnMiddleButtonDown() override;
60  void OnMiddleButtonUp() override;
61  void OnRightButtonDown() override;
62  void OnRightButtonUp() override;
63  void OnMouseMove() override;
64  void OnMouseWheelForward() override;
65  void OnMouseWheelBackward() override;
66 
68 
71  vtkSetMacro(RenderOnMouseMove, bool);
72  vtkGetMacro(RenderOnMouseMove, bool);
73  vtkBooleanMacro(RenderOnMouseMove, bool);
75 
79  enum
80  {
81  SELECT_NORMAL = 0,
82  SELECT_UNION = 1
83  };
84 
86 
89  vtkGetMacro(Interaction, int);
91 
92  enum
93  {
98  SELECTING
99  };
100 
102 
107  vtkGetVector2Macro(StartPosition, int);
108  vtkGetVector2Macro(EndPosition, int);
110 
111 protected:
113  ~vtkInteractorStyleRubberBand3D() override;
114 
115  // The interaction mode
117 
118  // Draws the selection rubber band
119  void RedrawRubberBand();
120 
121  // The end position of the selection
122  int StartPosition[2];
123 
124  // The start position of the selection
125  int EndPosition[2];
126 
127  // The pixel array for the rubber band
129 
130  // Whether to trigger a render when the mouse moves
132 
133 private:
135  void operator=(const vtkInteractorStyleRubberBand3D&) = delete;
136 };
137 
138 #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:33
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
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.