VTK  9.3.1
vtkParallelCoordinatesInteractorStyle.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright 2009 Sandia Corporation
3 // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
32 #ifndef vtkParallelCoordinatesInteractorStyle_h
33 #define vtkParallelCoordinatesInteractorStyle_h
34 
35 #include "vtkInteractionStyleModule.h" // For export macro
37 
38 VTK_ABI_NAMESPACE_BEGIN
39 class vtkViewport;
40 
41 class VTKINTERACTIONSTYLE_EXPORT vtkParallelCoordinatesInteractorStyle
43 {
44 public:
47  void PrintSelf(ostream& os, vtkIndent indent) override;
48 
49  enum
50  {
51  INTERACT_HOVER = 0,
54  INTERACT_PAN
55  };
56 
58 
61  vtkGetVector2Macro(CursorStartPosition, int);
62  vtkGetVector2Macro(CursorCurrentPosition, int);
63  vtkGetVector2Macro(CursorLastPosition, int);
65 
67 
70  void GetCursorStartPosition(vtkViewport* viewport, double pos[2]);
71  void GetCursorCurrentPosition(vtkViewport* viewport, double pos[2]);
72  void GetCursorLastPosition(vtkViewport* viewport, double pos[2]);
74 
76 
80  void OnMouseMove() override;
81  void OnLeftButtonDown() override;
82  void OnLeftButtonUp() override;
83  void OnMiddleButtonDown() override;
84  void OnMiddleButtonUp() override;
85  void OnRightButtonDown() override;
86  void OnRightButtonUp() override;
87  void OnLeave() override;
89 
91  virtual void StartInspect(int x, int y);
92  virtual void Inspect(int x, int y);
93  virtual void EndInspect();
95 
97  void StartZoom() override;
98  void Zoom() override;
99  void EndZoom() override;
101 
103  void StartPan() override;
104  void Pan() override;
105  void EndPan() override;
107 
111  void OnChar() override;
112 
113 protected:
116 
117  int CursorStartPosition[2];
118  int CursorCurrentPosition[2];
119  int CursorLastPosition[2];
120 
121 private:
123  void operator=(const vtkParallelCoordinatesInteractorStyle&) = delete;
124 };
125 
126 VTK_ABI_NAMESPACE_END
127 #endif
virtual void EndZoom()
Interaction mode entry points used internally.
void OnMiddleButtonUp() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
virtual void StartZoom()
Interaction mode entry points used internally.
interactive manipulation of the camera specialized for parallel coordinates
void OnChar() override
OnChar is triggered when an ASCII key is pressed.
abstract specification for Viewports
Definition: vtkViewport.h:44
static vtkInteractorStyleTrackballCamera * New()
virtual void EndPan()
Interaction mode entry points used internally.
a simple class to control print indentation
Definition: vtkIndent.h:28
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.
virtual void StartPan()
Interaction mode entry points used internally.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
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
virtual void OnLeave()
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.