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
57class vtkPropPicker3D;
58class vtkProp3D;
59class vtkMatrix3x3;
60class vtkMatrix4x4;
61class vtkTransform;
62
63class VTKRENDERINGCORE_EXPORT vtkInteractorStyle3D : public vtkInteractorStyle
64{
65public:
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
98protected:
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
117private:
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()
static vtkInteractorStyle3D * New()
virtual void OnLeftButtonUp()
vtkPropPicker3D * InteractionPicker
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