VTK
vtkInteractorStyleJoystickActor.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkInteractorStyleJoystickActor.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 =========================================================================*/
36 #ifndef __vtkInteractorStyleJoystickActor_h
37 #define __vtkInteractorStyleJoystickActor_h
38 
39 #include "vtkInteractorStyle.h"
40 
41 class vtkCellPicker;
42 
43 // motion flags
44 
46 {
47 public:
49 
51  void PrintSelf(ostream& os, vtkIndent indent);
52 
54 
56  virtual void OnMouseMove();
57  virtual void OnLeftButtonDown();
58  virtual void OnLeftButtonUp();
59  virtual void OnMiddleButtonDown();
60  virtual void OnMiddleButtonUp();
61  virtual void OnRightButtonDown();
62  virtual void OnRightButtonUp();
64 
65  // These methods for the different interactions in different modes
66  // are overridden in subclasses to perform the correct motion. Since
67  // they might be called from OnTimer, they do not have mouse coord parameters
68  // (use interactor's GetEventPosition and GetLastEventPosition)
69  virtual void Rotate();
70  virtual void Spin();
71  virtual void Pan();
72  virtual void Dolly();
73  virtual void UniformScale();
74 
75 protected:
78 
79  void FindPickedActor(int x, int y);
80 
81  void Prop3DTransform(vtkProp3D *prop3D,
82  double *boxCenter,
83  int numRotation,
84  double **rotate,
85  double *scale);
86 
87  double MotionFactor;
88 
91 
92 private:
94  void operator=(const vtkInteractorStyleJoystickActor&); // Not implemented.
95 };
96 
97 #endif