VTK  9.0.3
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.
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