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 =========================================================================*/
34 #ifndef vtkInteractorStyleJoystickActor_h
35 #define vtkInteractorStyleJoystickActor_h
36 
37 #include "vtkInteractionStyleModule.h" // For export macro
38 #include "vtkInteractorStyle.h"
39 
40 class vtkCellPicker;
41 
42 // motion flags
43 
44 class VTKINTERACTIONSTYLE_EXPORT vtkInteractorStyleJoystickActor : public vtkInteractorStyle
45 {
46 public:
48 
50  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
51 
53 
57  void OnMouseMove() VTK_OVERRIDE;
58  void OnLeftButtonDown() VTK_OVERRIDE;
59  void OnLeftButtonUp() VTK_OVERRIDE;
60  void OnMiddleButtonDown() VTK_OVERRIDE;
61  void OnMiddleButtonUp() VTK_OVERRIDE;
62  void OnRightButtonDown() VTK_OVERRIDE;
63  void OnRightButtonUp() VTK_OVERRIDE;
65 
66  // These methods for the different interactions in different modes
67  // are overridden in subclasses to perform the correct motion. Since
68  // they might be called from OnTimer, they do not have mouse coord parameters
69  // (use interactor's GetEventPosition and GetLastEventPosition)
70  void Rotate() VTK_OVERRIDE;
71  void Spin() VTK_OVERRIDE;
72  void Pan() VTK_OVERRIDE;
73  void Dolly() VTK_OVERRIDE;
74  void UniformScale() VTK_OVERRIDE;
75 
76 protected:
78  ~vtkInteractorStyleJoystickActor() VTK_OVERRIDE;
79 
80  void FindPickedActor(int x, int y);
81 
82  void Prop3DTransform(vtkProp3D *prop3D,
83  double *boxCenter,
84  int numRotation,
85  double **rotate,
86  double *scale);
87 
88  double MotionFactor;
89 
90  vtkProp3D *InteractionProp;
91  vtkCellPicker *InteractionPicker;
92 
93 private:
95  void operator=(const vtkInteractorStyleJoystickActor&) VTK_DELETE_FUNCTION;
96 };
97 
98 #endif
static vtkInteractorStyle * New()
This class must be supplied with a vtkRenderWindowInteractor wrapper or parent.
represents an 3D object for placement in a rendered scene
Definition: vtkProp3D.h:43
a simple class to control print indentation
Definition: vtkIndent.h:33
manipulate objects in the scene independently of one another
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
provide event-driven interface to the rendering window (defines trackball mode)
ray-cast cell picker for all kinds of Prop3Ds
Definition: vtkCellPicker.h:63
virtual void OnMouseMove()
Generic event bindings can be overridden in subclasses.