VTK  9.3.0
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
a simple class to control print indentation
Definition: vtkIndent.h:29
interactive manipulation of the camera
interactive manipulation of the camera specialized for parallel coordinates
void GetCursorStartPosition(vtkViewport *viewport, double pos[2])
Get the cursor positions in a given coordinate system.
void EndPan() override
Interaction mode entry points used internally.
void OnMiddleButtonDown() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
virtual void Inspect(int x, int y)
void GetCursorCurrentPosition(vtkViewport *viewport, double pos[2])
Get the cursor positions in a given coordinate system.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void OnLeave() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
static vtkParallelCoordinatesInteractorStyle * New()
void OnLeftButtonDown() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void StartPan() override
Interaction mode entry points used internally.
void OnMiddleButtonUp() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void OnChar() override
Override the "fly-to" (f keypress) for images.
void StartZoom() override
Interaction mode entry points used internally.
void GetCursorLastPosition(vtkViewport *viewport, double pos[2])
Get the cursor positions in a given coordinate system.
void OnLeftButtonUp() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void OnMouseMove() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
virtual void StartInspect(int x, int y)
void OnRightButtonDown() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
void EndZoom() override
Interaction mode entry points used internally.
void OnRightButtonUp() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
abstract specification for Viewports
Definition: vtkViewport.h:45