VTK  9.0.1
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 -------------------------------------------------------------------------*/
48 #ifndef vtkParallelCoordinatesInteractorStyle_h
49 #define vtkParallelCoordinatesInteractorStyle_h
50 
51 #include "vtkInteractionStyleModule.h" // For export macro
53 
54 class vtkViewport;
55 
56 class VTKINTERACTIONSTYLE_EXPORT vtkParallelCoordinatesInteractorStyle
58 {
59 public:
62  void PrintSelf(ostream& os, vtkIndent indent) override;
63 
64  enum
65  {
66  INTERACT_HOVER = 0,
69  INTERACT_PAN
70  };
71 
73 
76  vtkGetVector2Macro(CursorStartPosition, int);
77  vtkGetVector2Macro(CursorCurrentPosition, int);
78  vtkGetVector2Macro(CursorLastPosition, int);
80 
82 
85  void GetCursorStartPosition(vtkViewport* viewport, double pos[2]);
86  void GetCursorCurrentPosition(vtkViewport* viewport, double pos[2]);
87  void GetCursorLastPosition(vtkViewport* viewport, double pos[2]);
89 
91 
95  void OnMouseMove() override;
96  void OnLeftButtonDown() override;
97  void OnLeftButtonUp() override;
98  void OnMiddleButtonDown() override;
99  void OnMiddleButtonUp() override;
100  void OnRightButtonDown() override;
101  void OnRightButtonUp() override;
102  void OnLeave() override;
104 
106  virtual void StartInspect(int x, int y);
107  virtual void Inspect(int x, int y);
108  virtual void EndInspect();
110 
112  void StartZoom() override;
113  void Zoom() override;
114  void EndZoom() override;
116 
118  void StartPan() override;
119  void Pan() override;
120  void EndPan() override;
122 
126  void OnChar() override;
127 
128 protected:
131 
132  int CursorStartPosition[2];
133  int CursorCurrentPosition[2];
134  int CursorLastPosition[2];
135 
136 private:
138  void operator=(const vtkParallelCoordinatesInteractorStyle&) = delete;
139 };
140 
141 #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:33
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.