VTK
vtkInteractorStyle3D.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkInteractorStyle3D.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 =========================================================================*/
51 #ifndef vtkInteractorStyle3D_h
52 #define vtkInteractorStyle3D_h
53 
54 #include "vtkRenderingCoreModule.h" // For export macro
55 #include "vtkInteractorStyle.h"
56 
57 class vtkPropPicker3D;
58 class vtkProp3D;
59 class vtkMatrix3x3;
60 class vtkMatrix4x4;
61 class vtkTransform;
62 
63 class VTKRENDERINGCORE_EXPORT vtkInteractorStyle3D : public vtkInteractorStyle
64 {
65 public:
68  void PrintSelf(ostream& os, vtkIndent indent);
69 
71 
75  virtual void OnMouseMove();
76  virtual void OnLeftButtonDown();
77  virtual void OnLeftButtonUp();
78  virtual void OnRightButtonDown();
79  virtual void OnRightButtonUp();
81 
83 
86  virtual void OnPinch();
87  virtual void OnPan();
89 
90  // This method handles updating the prop based on changes in the devices
91  // pose. We use rotate as the state to mean adjusting-the-actor-pose
92  virtual void Rotate();
93 
94  // This method handles updating the camera based on changes in the devices
95  // pose. We use Dolly as the state to mean moving the camera forward
96  virtual void Dolly();
97 
98 protected:
101 
102  void FindPickedActor(double x, double y, double z);
103 
105  double *boxCenter,
106  int NumRotation,
107  double **rotate,
108  double *scale);
109 
115  double AppliedTranslation[3];
116 
117 private:
118  vtkInteractorStyle3D(const vtkInteractorStyle3D&) VTK_DELETE_FUNCTION; // Not implemented.
119  void operator=(const vtkInteractorStyle3D&) VTK_DELETE_FUNCTION; // Not implemented.
120 };
121 
122 #endif
a simple class to control print indentation
Definition: vtkIndent.h:40
extends interaction to support 3D input
virtual void OnLeftButtonDown()
virtual void OnPinch()
Event bindings for gestures.
virtual void OnRightButtonUp()
virtual void OnPan()
virtual void OnLeftButtonUp()
vtkPropPicker3D * InteractionPicker
static vtkInteractorStyle3D * New()
virtual void OnMouseMove()
Event bindings controlling the effects of pressing mouse buttons or moving the mouse.
virtual void Dolly()
void FindPickedActor(double x, double y, double z)
virtual void OnRightButtonDown()
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void Prop3DTransform(vtkProp3D *prop3D, double *boxCenter, int NumRotation, double **rotate, double *scale)
virtual void Rotate()
These methods for the different interactions in different modes are overridden in subclasses to perfo...
provide event-driven interface to the rendering window (defines trackball mode)
represent and manipulate 3x3 transformation matrices
Definition: vtkMatrix3x3.h:37
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:42
represents an 3D object for placement in a rendered scene
Definition: vtkProp3D.h:47
pick an actor/prop given XYZ coordinates
describes linear transformations via a 4x4 matrix
Definition: vtkTransform.h:61
@ scale
Definition: vtkX3D.h:229