vtkInteractorStyle 是一个基类它负责处理用户的交互响应例如鼠标键盘事件。VTK 中有多个预定义的 vtkInteractorStyle 子类其中一些常用的包括vtkInteractorStyleTrackballCamera: 允许用户通过旋转、缩放和平移来控制相机的位置常用于自由旋转的视角。vtkInteractorStyleImage: 用于图像切片的交互通常在医学成像中使用。vtkInteractorStyleSwitch: 提供了多种交互模式之间的切换。可以自定义交互继承自vtkInteractorStyleTrackballCamera即可重写想要改变的事件设置交互样式m_renderWindow-GetInteractor()-SetInteractorStyle(style);还可以通过AddObserver方法给某个特定的事件绑定响应函数例如添加鼠标左键点击事件constautoclickCallbackvtkSmartPointervtkCallbackCommand::New();clickCallback-SetCallback([](vtkObject*,longunsignedint,void*clientData,void*){constautoselfstatic_castVTKWidget*(clientData);self-on_left_button_clicked();});clickCallback-SetClientData(this);m_renderWindow-GetInteractor()-AddObserver(vtkCommand::LeftButtonPressEvent,clickCallback);
vtkInteractorStyle
发布时间:2026/5/26 23:15:37
vtkInteractorStyle 是一个基类它负责处理用户的交互响应例如鼠标键盘事件。VTK 中有多个预定义的 vtkInteractorStyle 子类其中一些常用的包括vtkInteractorStyleTrackballCamera: 允许用户通过旋转、缩放和平移来控制相机的位置常用于自由旋转的视角。vtkInteractorStyleImage: 用于图像切片的交互通常在医学成像中使用。vtkInteractorStyleSwitch: 提供了多种交互模式之间的切换。可以自定义交互继承自vtkInteractorStyleTrackballCamera即可重写想要改变的事件设置交互样式m_renderWindow-GetInteractor()-SetInteractorStyle(style);还可以通过AddObserver方法给某个特定的事件绑定响应函数例如添加鼠标左键点击事件constautoclickCallbackvtkSmartPointervtkCallbackCommand::New();clickCallback-SetCallback([](vtkObject*,longunsignedint,void*clientData,void*){constautoselfstatic_castVTKWidget*(clientData);self-on_left_button_clicked();});clickCallback-SetClientData(this);m_renderWindow-GetInteractor()-AddObserver(vtkCommand::LeftButtonPressEvent,clickCallback);