0

我在我的 Pyvista 图中添加了一些球体,并尝试使它们可以选择:

for index, center in enumerate(centers):
    sphere = pv.Sphere(radius=radius, center=center)
    plotter.add_mesh(sphere, color=thisColor, pickable=True)
    plotter.enable_cell_picking(mesh=sphere, callback=makePickCallback(index), show=True, show_message=True, through=False)

我假设每个球体都会获得一个单独的回调,使用以下函数构造:

def makePickCallback(index):
    indexCopy = deepcopy(index)
    return lambda p: print(str(indexCopy) + " " + str(p))

但似乎所有球体以及图中的所有其他元素都只是调用了在for循环的最后一次迭代中构造的回调。

现在我想知道 -如何为场景中的每个网格安装不同的拾取回调?或者我怎样才能确定点击了哪个网格?

4

0 回答 0