
[vtkInteractorStyle](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyle.html) | Provide event-driven interface to the rendering window (defines trackball mode) |
[vtkInteractorStyleAreaSelectHover](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleAreaSelectHover.html) | An interactor style for an area tree view |
[vtkInteractorStyleFlight](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleFlight.html) | Flight motion routines |
[vtkInteractorStyleImage](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleImage.html) | Interactive manipulation of the camera specialized for images |
[vtkInteractorStyleJoystickActor](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleJoystickActor.html) | Manipulate objects in the scene independently of one another |
[vtkInteractorStyleJoystickCamera](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleJoystickCamera.html) | Interactive manipulation of the camera |
[vtkInteractorStyleRubberBand2D](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleRubberBand2D.html) | A rubber band interactor for a 2D view |
[vtkInteractorStyleRubberBand3D](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleRubberBand3D.html) | A rubber band interactor for a 3D view |
[vtkInteractorStyleRubberBandPick](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleRubberBandPick.html) | Like TrackBallCamera, but this can pick props underneath a rubber band selection rectangle |
[vtkInteractorStyleRubberBandZoom](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleRubberBandZoom.html) | Zoom in by amount indicated by rubber band box |
[vtkInteractorStyleSwitch](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleSwitch.html) | Class to swap between interactory styles |
[vtkInteractorStyleTerrain](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleTerrain.html) | Manipulate camera in scene with natural view up (e.g., terrain) |
[vtkInteractorStyleTrackball](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleTrackball.html) | Trackball motion control |
[vtkInteractorStyleTrackballActor](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleTrackballActor.html) | Manipulate objects in the scene independent of each other |
[vtkInteractorStyleTrackballCamera](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleTrackballCamera.html) | Interactive manipulation of the camera |
[vtkInteractorStyleTreeMapHover](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleTreeMapHover.html) | An interactor style for a tree map view |
[vtkInteractorStyleUnicam](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleUnicam.html) | Unicam navigation style |
[vtkInteractorStyleUser](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleUser.html) | Customizable interaction routines |
**vtkImageViewer2**类中包含的交互方式为vtkInteractorStyleImage
具体操作如下:
[vtkInteractorStyleImage](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleImage.html "interactive manipulation of the camera specialized for images") allows the user to interactively manipulate (rotate, pan, zoom etc.) the camera. [vtkInteractorStyleImage](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleImage.html "interactive manipulation of the camera specialized for images") is specially designed to work with images that are being rendered with [vtkImageActor](http://www.vtk.org/doc/release/5.10/html/classvtkImageActor.html "draw an image in a rendered 3D scene"). Several events are overloaded from its superclass [vtkInteractorStyle](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyle.html "provide event-driven interface to the rendering window (defines trackball mode)"), hence the mouse bindings are different. (The bindings keep the camera's view plane normal perpendicular to the x-y plane.) In summary the mouse events for 2D image interaction are as follows:
* Left Mouse button triggers window level events
* CTRL Left Mouse spins the camera around its view plane normal
* SHIFT Left Mouse pans the camera
* CTRL SHIFT Left Mouse dollys (a positional zoom) the camera
* Middle mouse button pans the camera
* Right mouse button dollys the camera.
* SHIFT Right Mouse triggers pick events
If [SetInteractionModeToImageSlicing()](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleImage.html#a3897a9aafe8321ae5334b853f027c594) is called, then some of the mouse events are changed as follows:
* CTRL Left Mouse slices through the image
* SHIFT Middle Mouse slices through the image
* CTRL Right Mouse spins the camera
If [SetInteractionModeToImage3D()](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleImage.html#ac31daacacca6214771212d71413d72e0) is called, then some of the mouse events are changed as follows:
* SHIFT Left Mouse rotates the camera for oblique slicing
* SHIFT Middle Mouse slices through the image
* CTRL Right Mouse also slices through the image
In all modes, the following key bindings are in effect:
* R Reset the Window/Level
* X Reset to a sagittal view
* Y Reset to a coronal view
* Z Reset to an axial view
Note that the renderer's actors are not moved; instead the camera is moved.
**QVTKWidget**是qt类中图像显示控件,其中也包含vtkInteractorStyleTrackballCamera交互方式
具体功能如下:
[vtkInteractorStyleTrackballCamera](http://www.vtk.org/doc/release/5.10/html/classvtkInteractorStyleTrackballCamera.html "interactive manipulation of the camera") allows the user to interactively manipulate (rotate, pan, etc.) the camera, the viewpoint of the scene. In trackball interaction, the magnitude of the mouse motion is proportional to the camera motion associated with a particular mouse binding. For example, small left-button motions cause small changes in the rotation of the camera around its focal point. For a 3-button mouse, the left button is for rotation, the right button for zooming, the middle button for panning, and ctrl + left button for spinning. (With fewer mouse buttons, ctrl + shift + left button is for zooming, and shift + left button is for panning.)