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
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.
virtual void Inspect(int x, int y)
void GetCursorCurrentPosition(vtkViewport *viewport, double pos[2])
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkParallelCoordinatesInteractorStyle * New()
void OnChar() override
Override the "fly-to" (f keypress) for images.
void GetCursorLastPosition(vtkViewport *viewport, double pos[2])
void OnMouseMove() override
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
virtual void StartInspect(int x, int y)
abstract specification for Viewports
Definition: vtkViewport.h:45