我知道我可以使用 Calculator 过滤器对数组进行运算,但我想执行一些更复杂的计算。我设法在 Paraview python shell 中做到了,但现在缺少的步骤是再次返回查看器(或将新的多边形数据保存到文件)。
这是我到目前为止所拥有的:

polydata = servermanager.Fetch(FindSource("mydataalreadyopeninparaview"))
region_size = paraview.vtk.vtkIntArray()
region_size.SetNumberOfComponents(0)
region_size.SetName("regionsize")
for i in range(polydata .GetNumberOfPoints()):
   region_size.InsertNextValue(somecomputedvalue)
polydata.GetPointData().AddArray(region_size)

如何在 paraview 管道中“导入”我新创建的数据?

最佳答案

更好的方法是使用 可编程过滤器 将数组添加到输入数据集。在 ParaView 4.1 中,可以将以下脚本添加到 属性 面板上的脚本中,用于 Programmager 过滤器

polydata = output
array = vtk.vtkIntArray()
array.SetNumberOfComponents(0)
array.SetName("regionsize")
for i in range(polydata .GetNumberOfPoints()):
    array.InsertNextValue(somecomputedvalue)
polydata.GetPointData().AddArray(array);

关于python - 如何在paraview中将自定义数组添加到polydata?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24220250/

10-11 21:37