当用户点击鼠标左键时,我们公司希望我们的paraview Web应用程序显示相关数据。
如何从选定点提取数据的另一部分很简单。但是我无法解决问题:如何在鼠标点击的同时在坐标中选取一个点?
我添加了一个回调函数来处理python脚本中的左键按下。然后我尝试使用 vtkPointPicker 来投射光线并选择坐标中的点。但是运行python脚本作为服务器的 pvpython 程序在单击鼠标时会崩溃(准确地说,当选择器运行 pick()时)。在调试中我发现解除引用空指针的VTK代码是程序崩溃的原因。但是VTK源代码太复杂了,无法进一步深入研究。
这是我的回调函数:
def CustomLeftButtonPress(obj, event):
x = obj.GetEventPosition()[0]
y = obj.GetEventPosition()[1]
picker = vtkPointPicker()
obj.SetPicker(picker)
currentRenderer = obj.FindPokedRenderer(x,y)
picker.Pick(x, y, 0.0, currentRenderer)
...
picker.Pick(x, y, 0.0, currentRenderer)
导致崩溃。
答案 0 :(得分:0)
我应该使用vtkWorldPointPicker
代替vtkPointPicker
。