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 -------------------------------------------------------------------------*/
38 #ifndef vtkInteractorStyleRubberBand3D_h
39 #define vtkInteractorStyleRubberBand3D_h
40 
41 #include "vtkInteractionStyleModule.h" // For export macro
43 
45 
46 class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleRubberBand3D
48 {
49 public:
52  void PrintSelf(ostream& os, vtkIndent indent) override;
53 
54  void OnLeftButtonDown() override;
55  void OnLeftButtonUp() override;
56  void OnMiddleButtonDown() override;
57  void OnMiddleButtonUp() override;
58  void OnRightButtonDown() override;
59  void OnRightButtonUp() override;
60  void OnMouseMove() override;
61  void OnMouseWheelForward() override;
62  void OnMouseWheelBackward() override;
63 
65 
68  vtkSetMacro(RenderOnMouseMove, bool);
69  vtkGetMacro(RenderOnMouseMove, bool);
70  vtkBooleanMacro(RenderOnMouseMove, bool);
72 
76  enum
77  {
78  SELECT_NORMAL = 0,
79  SELECT_UNION = 1
80  };
81 
83 
86  vtkGetMacro(Interaction, int);
88 
89  enum
90  {
95  SELECTING
96  };
97 
99 
104  vtkGetVector2Macro(StartPosition, int);
105  vtkGetVector2Macro(EndPosition, int);
107 
108 protected:
110  ~vtkInteractorStyleRubberBand3D() override;
111 
112  // The interaction mode
114 
115  // Draws the selection rubber band
116  void RedrawRubberBand();
117 
118  // The end position of the selection
119  int StartPosition[2];
120 
121  // The start position of the selection
122  int EndPosition[2];
123 
124  // The pixel array for the rubber band
126 
127  // Whether to trigger a render when the mouse moves
129 
130 private:
132  void operator=(const vtkInteractorStyleRubberBand3D&) = delete;
133 };
134 
135 #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.