如何在 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 管道传输信息。
我试图在 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 管道传输信息。