VTK  9.7.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 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
38 
39 VTK_ABI_NAMESPACE_BEGIN
40 class vtkViewport;
41 
44 {
45 public:
48  void PrintSelf(ostream& os, vtkIndent indent) override;
49 
50  enum
51  {
52  INTERACT_HOVER = 0,
55  INTERACT_PAN
56  };
57 
59 
62  vtkGetVector2Macro(CursorStartPosition, int);
63  vtkGetVector2Macro(CursorCurrentPosition, int);
64  vtkGetVector2Macro(CursorLastPosition, int);
66 
68 
71  void GetCursorStartPosition(vtkViewport* viewport, double pos[2]);
72  void GetCursorCurrentPosition(vtkViewport* viewport, double pos[2]);
73  void GetCursorLastPosition(vtkViewport* viewport, double pos[2]);
75 
77 
81  void OnMouseMove() override;
82  void OnLeftButtonDown() override;
83  void OnLeftButtonUp() override;
84  void OnMiddleButtonDown() override;
85  void OnMiddleButtonUp() override;
86  void OnRightButtonDown() override;
87  void OnRightButtonUp() override;
88  void OnLeave() override;
90 
92  virtual void StartInspect(int x, int y);
93  virtual void Inspect(int x, int y);
94  virtual void EndInspect();
96 
98  void StartZoom() override;
99  void Zoom() override;
100  void EndZoom() override;
102 
104  void StartPan() override;
105  void Pan() override;
106  void EndPan() override;
108 
112  void OnChar() override;
113 
114 protected:
117 
118  int CursorStartPosition[2];
119  int CursorCurrentPosition[2];
120  int CursorLastPosition[2];
121 
122 private:
124  void operator=(const vtkParallelCoordinatesInteractorStyle&) = delete;
125 };
126 
127 VTK_ABI_NAMESPACE_END
128 #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:46
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()
#define VTK_MARSHALAUTO
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.