本人在用VTK实现在渲染窗口上用鼠標画线的探究过程
要在窗口上用鼠标画线首先要做的就是重写鼠标交互事件,于是就在官方网站找到重写鼠标响应事件的demo然后再更改官方的demo,实现自己需要的功能我的想法是:
1.获取鼠标左键按下时的坐标。
2.获取鼠标左键上弹时的坐标
3.用这两个点连接一条线。
遇到的問题时智能获取到相对于窗口的坐标点,而不是世界相对世界坐标的坐标点导致的结果就是画线的位置并不是鼠标左键按下和上弹的3d連线带坐标标准版。
在VS下实现的代码如下(没有用cmake管理直接在vs下做的):
包含一些我在实现的过程中调试的过程,已经注释:
关于坐标系的理论就不说了大家都有买书,书上都有示意图只是书上可能没有这样的实例。
VTK官网上鼠标事件自定义:
这个bug搞了两天希望可以幫到遇到同样问题的人,节约时间少走一点弯路。