如何在 VTK 中使用 vtkInformation 对象?

How to use vtkInformation objects in VTK?

我试图在 vtkMultiBlockDataSet using its meta data vtkInformation 容器中传递一些额外信息(字符串数据)。我在从信息对象中检索数据时遇到问题。 python 中的以下代码显示了问题:

import vtk
from vtk.util import keys

mb = vtk.vtkMultiBlockDataSet()
mb.SetBlock(0, vtk.vtkPolyData())

metaData = mb.GetMetaData(0)
key = keys.MakeKey(keys.StringKey, "Key", "x")
metaData.Set(key, "Value")

# Going to some other place in space and time    

key2 = keys.MakeKey(keys.StringKey, "Key", "x")
print metaData.Get(key2)

最后一行的 print 打印 None.

我如何在不使用 完全 相同密钥的情况下从信息容器中检索 Key 的值? (在上面最后一行使用 key,打印出正确的值)

正如@Mathieu 和@normanius 指出的那样:这是不可能的。相反 vtkFieldData 可用于通过 vtk 管道传输信息。