VTK
vtkInteractorStyleRubberBand2D.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkInteractorStyleRubberBand2D.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 -------------------------------------------------------------------------*/
40 #ifndef vtkInteractorStyleRubberBand2D_h
41 #define vtkInteractorStyleRubberBand2D_h
42 
43 #include "vtkInteractionStyleModule.h" // For export macro
44 #include "vtkInteractorStyle.h"
45 
47 
48 class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleRubberBand2D : public vtkInteractorStyle
49 {
50 public:
53  void PrintSelf(ostream& os, vtkIndent indent);
54 
55  virtual void OnLeftButtonDown();
56  virtual void OnLeftButtonUp();
57  virtual void OnMiddleButtonDown();
58  virtual void OnMiddleButtonUp();
59  virtual void OnRightButtonDown();
60  virtual void OnRightButtonUp();
61  virtual void OnMouseMove();
62  virtual void OnMouseWheelForward();
63  virtual void OnMouseWheelBackward();
64 
66 
69  vtkSetMacro(RenderOnMouseMove, bool);
70  vtkGetMacro(RenderOnMouseMove, bool);
71  vtkBooleanMacro(RenderOnMouseMove, bool);
73 
77  enum
78  {
79  SELECT_NORMAL = 0,
80  SELECT_UNION = 1
81  };
82 
84 
87  vtkGetMacro(Interaction, int);
89 
90  enum
91  {
95  SELECTING
96  };
97 
99 
104  vtkGetVector2Macro(StartPosition,int);
105  vtkGetVector2Macro(EndPosition,int);
107 
108 protected:
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 render when the mouse moves
129 
130 private:
132  void operator=(const vtkInteractorStyleRubberBand2D&) VTK_DELETE_FUNCTION;
133 };
134 
135 #endif
virtual void OnLeftButtonDown()
virtual void OnMiddleButtonDown()
virtual void OnRightButtonDown()
virtual void OnLeftButtonUp()
static vtkInteractorStyle * New()
This class must be supplied with a vtkRenderWindowInteractor wrapper or parent.
virtual void OnMiddleButtonUp()
A rubber band interactor for a 2D view.
virtual void OnMouseWheelForward()
virtual void OnRightButtonUp()
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:39
virtual void OnMouseWheelBackward()
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
dynamic, self-adjusting array of unsigned char
provide event-driven interface to the rendering window (defines trackball mode)
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
virtual void OnMouseMove()
Generic event bindings can be overridden in subclasses.