同时显示多个vtk渲染窗口

2024-06-28 10:59:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为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循环中调用上面的函数,因为我希望每个网格都有一个窗口。 问题是它显示了一个卷,它一直等到我关闭窗口时才显示下一个。 如何同时显示多个窗口,而不是一次只显示一个窗口,然后关闭它才能显示下一个窗口?在


Tags: 代码网格styledefactormappervtkmesh