gpt4 book ai didi

c++ - 启用或禁用平移、旋转和缩放按键事件

转载 作者:行者123 更新时间:2023-11-30 05:08:47 28 4
gpt4 key购买 nike

我正在尝试设置一个 vtkInteractorStyle 类(vtkInteractorStyleTrackballCamera) 处理事件以禁用平移、缩放或回转。这些功能中的每一个都将根据用户按下的键来启用或禁用。我认为最常见的做法是生成一个事件处理程序每个不同键的功能,并在其内部设置一些标志类 vtkRenderWindowInteractor 使用类似的函数设置为 false 或 truesetPan(false) 或 setPan(true) 等

但是您可能知道 vtkRenderWindowInteractor 类中没有这样的函数或方法。

我的方法正确吗?有人有更好的主意吗?

最佳答案

确实没有这样的标志可以将其关闭,而且我认为没有其他方法可以在不修改 vtk 代码的情况下关闭它(参见 vtkInteractorStyleTrackballCamera.cxx/vtkInteractorStyle.cxx )。我的方法是创建一个继承自 vtkInteractorStyleTrackballCamera 的新类,向其添加三个 bool 标志 (+ setter) 并覆盖 StartRotate、StartZoom 和 StartPan 方法,例如:

void vtkMyNewStyle::StartZoom()
{
if (zoomIsEnabled) // your flag set by setZoom(bool)
Superclass::StartZoom();
}

关于c++ - 启用或禁用平移、旋转和缩放按键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46572536/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com