VTK  9.1.0
vtkInteractorStyleUser.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkInteractorStyleUser.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 
62 #ifndef vtkInteractorStyleUser_h
63 #define vtkInteractorStyleUser_h
64 
65 #include "vtkInteractionStyleModule.h" // For export macro
66 #include "vtkInteractorStyle.h"
67 
68 // new motion flag
69 #define VTKIS_USERINTERACTION 8
70 
71 class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleUser : public vtkInteractorStyle
72 {
73 public:
76  void PrintSelf(ostream& os, vtkIndent indent) override;
77 
79 
85  vtkGetVector2Macro(LastPos, int);
87 
89 
94  vtkGetVector2Macro(OldPos, int);
96 
98 
102  vtkGetMacro(ShiftKey, int);
103  vtkGetMacro(CtrlKey, int);
105 
107 
110  vtkGetMacro(Char, int);
112 
114 
118  vtkGetStringMacro(KeySym);
120 
122 
126  vtkGetMacro(Button, int);
128 
130 
133  void OnMouseMove() override;
134  void OnLeftButtonDown() override;
135  void OnLeftButtonUp() override;
136  void OnMiddleButtonDown() override;
137  void OnMiddleButtonUp() override;
138  void OnRightButtonDown() override;
139  void OnRightButtonUp() override;
140  void OnMouseWheelForward() override;
141  void OnMouseWheelBackward() override;
143 
145 
148  void OnChar() override;
149  void OnKeyPress() override;
150  void OnKeyRelease() override;
152 
154 
157  void OnExpose() override;
158  void OnConfigure() override;
159  void OnEnter() override;
160  void OnLeave() override;
162 
163  void OnTimer() override;
164 
165 protected:
168 
169  int LastPos[2];
170  int OldPos[2];
171 
172  int ShiftKey;
173  int CtrlKey;
174  int Char;
175  char* KeySym;
176  int Button;
177 
178 private:
180  void operator=(const vtkInteractorStyleUser&) = delete;
181 };
182 
183 #endif
a simple class to control print indentation
Definition: vtkIndent.h:113
provides customizable interaction routines
void OnRightButtonUp() override
Generic event bindings.
void OnLeave() override
These are more esoteric events, but are useful in some cases.
void OnMouseWheelForward() override
Generic event bindings.
void OnRightButtonDown() override
Generic event bindings.
void OnKeyRelease() override
Keyboard functions.
~vtkInteractorStyleUser() override
void OnMiddleButtonUp() override
Generic event bindings.
void OnEnter() override
These are more esoteric events, but are useful in some cases.
void OnMouseWheelBackward() override
Generic event bindings.
void OnExpose() override
These are more esoteric events, but are useful in some cases.
void OnChar() override
Keyboard functions.
void OnTimer() override
OnTimer calls Rotate, Rotate etc which should be overridden by style subclasses.
void OnLeftButtonDown() override
Generic event bindings.
void OnConfigure() override
These are more esoteric events, but are useful in some cases.
static vtkInteractorStyleUser * New()
void OnKeyPress() override
Keyboard functions.
void OnMouseMove() override
Generic event bindings.
void OnLeftButtonUp() override
Generic event bindings.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void OnMiddleButtonDown() override
Generic event bindings.
provide event-driven interface to the rendering window (defines trackball mode)