我正在尝试在 Paraview 中编写一个 python 可编程源代码,这将创建一个vtkMultiBlockDataSet
。我看到我在可编程源中的 python 脚本得到一个名为 output
的符号,该符号的类型为 vtk.numpy_interface.dataset_adapter.CompositeDataSet
.如何使用该对象来设置块?我看到的唯一方法是设置点和单元格之类的东西。
我的代码创建了一个vtk.vtkMultiBlockDataSet
。我可以以某种方式output
设置为我制作的这个东西吗? 还是我需要复制?感谢您的任何建议!--亚当
在可编程源中,请记住检查"输出数据集类型"是否设置为vtkMultiblockDataSet
此时,你可以写
self.GetOutput().ShallowCopy(vtkMultiBlockDataSetCreatedByYourCode)
output,inputs[0] ...
是dataset_adapter,它允许您轻松地将 vtkarray 作为 numpy 数组访问(例如,如果 inputs[0] 是 vtkpolydata,您可以只做v2 = 2 * inputs.PointData['v']
而不是将其读取为self.GetInput().GetPointData('v')
并在以后转换为 numpy 数组 - 它与 python 计算器的语法相同),但我不知道是否可以访问MultiBlockDataSet
块(我刚刚在 http://kitware.com/blog/home/post/713 中找到了一个示例)