Python VTK 交互系统 1 交互模式入门

文章参考自《VTK 交互系统 1 交互模式入门》,按自己理解用 Python 实现相关功能如下:

原文中只提及相关函数,为了能直接展示效果,我这引入一个箭头模型,想移除该模式下右键缩放功能,改成右键点击自定义输出“点击右键”信息,代码如下:

import vtk

# 自定义右键点击事件
def right_click(obj, ev):
    print("点击右键")


arrow = vtk.vtkArrowSource()
# sphere = vtk.vtkSphereSource()

arrowMapper = vtk.vtkPolyDataMapper()
arrowMapper.SetInputConnection(arrow.GetOutputPort())
arrowActor = vtk.vtkActor()
arrowActor.SetMapper(arrowMapper)


renderer = vtk.vtkRenderer()
renderer.AddActor(arrowActor)
renderer.SetBackground(0.1, 0.2, 0.4)
renderer.SetBackground2(1.0, 1.0, 1.0)
renderer.SetGradientBackground(1)

reWin = vtk.vtkRenderWindow()
reWin.AddRenderer(renderer)
reWin.SetSize(1200, 1200)

i_ren = vtk.vtkRenderWindowInteractor()
i_ren.SetRenderWindow(reWin)
# 先移除之前的右键点击事件(缩放)
i_ren.RemoveObservers('RightButtonPressEvent')
# 绑定新的右键点击事件
i_ren.AddObserver('RightButtonPressEvent', right_click)
i_ren.Initialize()
i_ren.Start()

运行代码,展现的 VTK 箭头界面中单击右键便会打印"点击右键"。

你可能感兴趣的:(VTK学习,python学习,python资源)