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