VTK  9.1.0
vtkParallelCoordinatesInteractorStyle.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkParallelCoordinatesInteractorStyle.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 /*-------------------------------------------------------------------------
16  Copyright 2009 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
45 #ifndef vtkParallelCoordinatesInteractorStyle_h
46 #define vtkParallelCoordinatesInteractorStyle_h
47 
48 #include "vtkInteractionStyleModule.h" // For export macro
50 
51 class vtkViewport;
52 
53 class VTKINTERACTIONSTYLE_EXPORT vtkParallelCoordinatesInteractorStyle
55 {
56 public:
59  void PrintSelf(ostream& os, vtkIndent indent) override;
60 
61  enum
62  {
63  INTERACT_HOVER = 0,
66  INTERACT_PAN
67  };
68 
70 
73  vtkGetVector2Macro(CursorStartPosition, int);
74  vtkGetVector2Macro(CursorCurrentPosition, int);
75  vtkGetVector2Macro(CursorLastPosition, int);
77 
79 
82  void GetCursorStartPosition(vtkViewport* viewport, double pos[2]);
83  void GetCursorCurrentPosition(vtkViewport* viewport, double pos[2]);
84  void GetCursorLastPosition(vtkViewport* viewport, double pos[2]);
86 
88 
92  void OnMouseMove() override;
93  void OnLeftButtonDown() override;
94  void OnLeftButtonUp() override;
95  void OnMiddleButtonDown() override;
96  void OnMiddleButtonUp() override;
97  void OnRightButtonDown() override;
98  void OnRightButtonUp() override;
99  void OnLeave() override;
101 
103  virtual void StartInspect(int x, int y);
104  virtual void Inspect(int x, int y);
105  virtual void EndInspect();
107 
109  void StartZoom() override;
110  void Zoom() override;
111  void EndZoom() override;
113 
115  void StartPan() override;
116  void Pan() override;
117  void EndPan() override;
119 
123  void OnChar() override;
124 
125 protected:
128 
129  int CursorStartPosition[2];
130  int CursorCurrentPosition[2];
131  int CursorLastPosition[2];
132 
133 private:
135  void operator=(const vtkParallelCoordinatesInteractorStyle&) = delete;
136 };
137 
138 #endif
a simple class to control print indentation
Definition: vtkIndent.h:34
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:47