我正在努力将csv文件(逗号分隔文件)中的行数据转换为.vtp文件。
我所做的是将.csv文件中的点存储到vtkPolyData类型变量中。 vtkPolyData可以正确显示渲染窗口。
然后我尝试使用vtkPolyDataWriter将vtkPolyData写入vtp文件。但它不起作用
writer = vtk.vtkPolyDataWriter()
writer.SetInput(vtkpoint.getVtkPolyData)
## vtkpoint is an instance of a class which I wrote to store the csv data,
## and .getVtkPolyData returns the vtkPolyData typed data
writer.SetFileName('TestCenterline.vtp')
writer.SetFileTypeToBinary()
writer.Write()
此vtp文件无法读取。
答案 0 :(得分:1)
如果要通过阅读其内容来检查文件,请使用
writer->SetDataModeToAscii();
而不是二进制。
同样vtkpoint.getVtkPolyData
看起来有点怀疑。也许这只是错误的命名或错误的复制/粘贴,但你确定那是实际的polydata而不仅仅是一个方法吗?您是否可以致电vtkpoint.getVtkPolyData.GetNumberOfPoints()
来获取正确的价值?