如何在自定义视图中向多数据添加自定义数组?


问题内容

我知道我可以使用计算器过滤器对数组进行操作,但是我想执行一些更复杂的计算。我设法在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);