VTK
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 : public vtkInteractorStyleTrackballCamera
47 {
48 public:
51  void PrintSelf(ostream& os, vtkIndent indent);
52 
53  virtual void OnLeftButtonDown();
54  virtual void OnLeftButtonUp();
55  virtual void OnMiddleButtonDown();
56  virtual void OnMiddleButtonUp();
57  virtual void OnRightButtonDown();
58  virtual void OnRightButtonUp();
59  virtual void OnMouseMove();
60  virtual void OnMouseWheelForward();
61  virtual void OnMouseWheelBackward();
62 
64 
67  vtkSetMacro(RenderOnMouseMove, bool);
68  vtkGetMacro(RenderOnMouseMove, bool);
69  vtkBooleanMacro(RenderOnMouseMove, bool);
71 
75  enum
76  {
77  SELECT_NORMAL = 0,
78  SELECT_UNION = 1
79  };
80 
82 
85  vtkGetMacro(Interaction, int);
87 
88  enum
89  {
94  SELECTING
95  };
96 
98 
103  vtkGetVector2Macro(StartPosition,int);
104  vtkGetVector2Macro(EndPosition,int);
106 
107 protected:
110 
111  // The interaction mode
113 
114  // Draws the selection rubber band
115  void RedrawRubberBand();
116 
117  // The end position of the selection
118  int StartPosition[2];
119 
120  // The start position of the selection
121  int EndPosition[2];
122 
123  // The pixel array for the rubber band
125 
126  // Whether to trigger a render when the mouse moves
128 
129 private:
131  void operator=(const vtkInteractorStyleRubberBand3D&) VTK_DELETE_FUNCTION;
132 };
133 
134 #endif
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void OnMiddleButtonUp()
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
virtual void OnRightButtonUp()
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
static vtkInteractorStyleTrackballCamera * New()
virtual void OnLeftButtonDown()
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
a simple class to control print indentation
Definition: vtkIndent.h:39
virtual void OnMiddleButtonDown()
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
virtual void OnMouseWheelBackward()
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
virtual void OnMouseMove()
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
virtual void OnRightButtonDown()
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
dynamic, self-adjusting array of unsigned char
A rubber band interactor for a 3D view.
interactive manipulation of the camera
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
virtual void OnLeftButtonUp()
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
virtual void OnMouseWheelForward()
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.