VTK
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 
33 #ifndef vtkInteractorStyleUser_h
34 #define vtkInteractorStyleUser_h
35 
36 #include "vtkInteractionStyleModule.h" // For export macro
37 #include "vtkInteractorStyle.h"
38 
39 // new motion flag
40 #define VTKIS_USERINTERACTION 8
41 
42 class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleUser : public vtkInteractorStyle
43 {
44 public:
45  static vtkInteractorStyleUser *New();
47  void PrintSelf(ostream& os, vtkIndent indent) override;
48 
50 
56  vtkGetVector2Macro(LastPos,int);
58 
60 
65  vtkGetVector2Macro(OldPos,int);
67 
69 
73  vtkGetMacro(ShiftKey,int);
74  vtkGetMacro(CtrlKey,int);
76 
78 
81  vtkGetMacro(Char,int);
83 
85 
89  vtkGetStringMacro(KeySym);
91 
93 
97  vtkGetMacro(Button,int);
99 
101 
104  void OnMouseMove() override;
105  void OnLeftButtonDown() override;
106  void OnLeftButtonUp() override;
107  void OnMiddleButtonDown() override;
108  void OnMiddleButtonUp() override;
109  void OnRightButtonDown() override;
110  void OnRightButtonUp() override;
111  void OnMouseWheelForward() override;
112  void OnMouseWheelBackward() override;
114 
116 
119  void OnChar() override;
120  void OnKeyPress() override;
121  void OnKeyRelease() override;
123 
125 
128  void OnExpose() override;
129  void OnConfigure() override;
130  void OnEnter() override;
131  void OnLeave() override;
133 
134  void OnTimer() override;
135 
136 protected:
137 
139  ~vtkInteractorStyleUser() override;
140 
141  int LastPos[2];
142  int OldPos[2];
143 
144  int ShiftKey;
145  int CtrlKey;
146  int Char;
147  char *KeySym;
148  int Button;
149 
150 private:
152  void operator=(const vtkInteractorStyleUser&) = delete;
153 };
154 
155 #endif
virtual void OnLeftButtonDown()
virtual void OnMiddleButtonDown()
virtual void OnRightButtonDown()
void OnChar() override
OnChar is triggered when an ASCII key is pressed.
virtual void OnLeftButtonUp()
static vtkInteractorStyle * New()
This class must be supplied with a vtkRenderWindowInteractor wrapper or parent.
virtual void OnMiddleButtonUp()
virtual void OnMouseWheelForward()
virtual void OnKeyRelease()
virtual void OnKeyPress()
virtual void OnTimer()
OnTimer calls Rotate, Rotate etc which should be overridden by style subclasses.
virtual void OnEnter()
virtual void OnRightButtonUp()
virtual void OnExpose()
These are more esoteric events, but are useful in some cases.
virtual void OnConfigure()
a simple class to control print indentation
Definition: vtkIndent.h:33
virtual void OnMouseWheelBackward()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
provide event-driven interface to the rendering window (defines trackball mode)
virtual void OnLeave()
provides customizable interaction routines
virtual void OnMouseMove()
Generic event bindings can be overridden in subclasses.