同时显示多个 vtk render windows

Display several vtk render windows at the same time

我正在为 python 使用 vtk。我正在使用以下代码显示一些 vtk 网格:

def DisplayVTKMesh(mesh):
    mapper = vtk.vtkPolyDataMapper()
    mapper.SetInputData(mesh)
    actor = vtk.vtkActor()
    actor.SetMapper(mapper)
    actor.GetProperty().SetInterpolationToPhong()
    actor.GetProperty().SetAmbient(0.2)
    actor.GetProperty().SetDiffuse(0.7)
    actor.GetProperty().SetSpecular(0.6)
    actor.GetProperty().SetSpecularPower(100)
    actor.GetProperty().SetColor(0.8,0.8,1)
    ren1 = vtk.vtkRenderer()
    ren1.AddActor(actor)
    ren1.SetBackground(1, 1, 1)
    renWin = vtk.vtkRenderWindow()
    renWin.AddRenderer(ren1)
    renWin.SetSize(300, 300)
    iren = vtk.vtkRenderWindowInteractor()
    iren.SetRenderWindow(renWin)
    style = vtk.vtkInteractorStyleTrackballCamera()
    iren.SetInteractorStyle(style)
    iren.Initialize()
    iren.Start()

我正在加载不同的网格并在 for 循环中调用上面的函数,因为我希望每个网格都有一个 window。 问题是它显示了一个卷,它一直等到我关闭 window 才显示下一卷。 我怎样才能同时显示多个 windows 而不是一次显示一个 window 并且必须关闭它才能显示下一个?

我使用多处理模块解决了它,运行 每个 window 一个进程。