首页 > 解决方案 > vtkXMLPolyData Writer/Reader 不可逆

问题描述

我有一个vtkPolyData对象c,我正在尝试使用以下方法通过 XML 对其进行序列化vtkXMLPolyDataWriter

import vtk

print(c.GetNumberOfCells(), c.GetNumberOfPoints())

writer = vtk.vtkXMLPolyDataWriter()
writer.SetInputData(c)
writer.WriteToOutputStringOn()
writer.Update()
s = writer.GetOutputString()

reader = vtk.vtkXMLPolyDataReader()
reader.SetInputString(s)
reader.Update()
c2 = reader.GetOutput()

print(c2.GetNumberOfCells(), c2.GetNumberOfPoints())

打印:

8 6
0 0

有没有办法让这个过程完全可逆?

标签: pythonserializationxml-serializationvtk

解决方案


显然,我在阅读过程中忘记了这一行:

reader.ReadFromInputStringOn()

我也改为vtkXMLPolyDataReadervtkPolyDataReader与 Writer 相同)。


推荐阅读