vtkRenderWindowInteractor:这是一个平台独立的vtk交互机制,包括选取和帧的频率控制等。它采用 command/observer设计模式。主要有两种交互模式:joystick(操纵杆)和trackball(跟踪球)。另外,交互器可以支持同一窗口中的多个渲染器。 默认的按键: j/t:控制joystick和trackball c/a:控制camera(相机)和actor(对象)模式 Button1:旋转相机,沿着focal point;或角色actor,沿着其原点 Button2:摇摄相机或平移角色 Button3:缩放相机或角色 3:开关控制场景立体模式。对于配备水晶眼LCD立体眼睛,需要激活SetStereoTypeToCrystalEyes() e:退出应用程序 f:设定当前光标位置为焦点focal point p:执行拾取操作。基于vtkPropPicker对象。 r:沿着当前视向复位相机。将actors移到中心位置,移动相机确保所有角色可见。 s:改变所有角色的表示成surfaces。 u:激活用户自定义的方法。 w:改变所有角色的表示成wireframe。 可以自定义自己的类或者重新覆盖这些默认的行为。 默认行为还具备激活灯源的作用,LightFollowCameraOn()方法使灯源和相机的位置与焦点同步,默认为头灯headlight。 两种截然不同的方法控制交互方式。 一、使用vtkInteractorStyle的子类对象。使用vtkRenderWindowInteractor ::SetInteractorSytle(vtkInteractorSytleFlight::New()) 二、直接管理事件循环。 包括五个子类: 1.vtkCarbonRenderWindowInteractor 2.vtkCocoaRenderWindowInteractor 3.vtkGenericRenderWindowInteractor 4.vtkWin32RenderWindowInteractor 5.vtkXRenderWindowInteractor 以适应不同的平台。

 

以下例子安装了两种监听:

 

本文来源:http://blog.csdn.net/lcllcl123123/article/details/6565869