当我尝试可视化vtkPolydata python时,为什么它不起作用?

问题描述 投票:0回答:1

我有一组点和面,我保存在不同的polydatas中,以后再生成一个vtk.vtkAppendPolyData。问题是python在没有给我任何错误的情况下停止运行,也就是说,当你必须在视口中查看polydata时程序停止运行而不向我提供任何有关原因的信息。有谁知道会发生什么?

我把两个函数创建了polydata。

def malla(pto,pto2,angulo1,angulo2): 
   mesh_info = MeshInfo()
   #primer punto
   puntos=calculo_puntos_malla(pto,angulo1)
   #segundo punto
   puntos.extend(calculo_puntos_malla(pto2,angulo2))

   polydata=vtk.vtkPolyData()
   points=vtk.vtkPoints()
   faces=vtk.vtkCellArray()
   caras=faces_malla()

   for i in range(len(puntos)):
      points.InsertPoint(i,puntos[i])
   for i in range(len(caras)):
      faces.InsertNextCell(5)
      for j in range(3):
        faces.InsertCellPoint(caras [i][j])
   polydata.SetPoints(points)
   polydata.SetPolys(faces)  
   return (polydata)


def append_mesh(mesh,mesh2,mesh3,mesh4,mesh5):
   join_mesh=vtk.vtkAppendPolyData()
   join_mesh.AddInputData(mesh)
   join_mesh.AddInputData(mesh2)
   join_mesh.AddInputData(mesh3)
   join_mesh.AddInputData(mesh4)
   join_mesh.AddInputData(mesh5)
   join_mesh.Update()
   #cleanFilter=vtk.vtkCleanPolydata()
   return (join_mesh)
python vtk
1个回答
0
投票

faces.InsertNextCell(5)表示一个单元格中有5个点,但是每个单元格使用faces.InsertCellPoint三次。我觉得这很奇怪。

© www.soinside.com 2019 - 2024. All rights reserved.