将vtk polydata存储为python中的字符串

时间:2016-02-03 14:07:42

标签: python vtk

我从一组vtk演员开始我试图将每个演员的vtk polydata传递给一组python变量(每个演员一个)作为一个字符串,就像它在遗产中格式化一样。稍后由ipython笔记本中的three.js使用的vtk文件。

我找到了使用vtkPolydataWriter编写.vtk文件的示例,但没有任何内容只是捕获正在写入的字符串。

任何示例(特别是在python中)都会有所帮助

这是我开始的一个例子:

import vtk  

# Create source
source = vtk.vtkSphereSource()  
source.SetCenter(0, 0, 0)  
source.SetRadius(5.0)  

# Create a mapper
mapper = vtk.vtkPolyDataMapper()
mapper.SetInputConnection(source.GetOutputPort())

# Create an actor
actor = vtk.vtkActor()
actor.SetMapper(mapper)

# Get PolyData as String
writer = vtk.vtkPolyDataWriter()
writer.WriteToOutputStringOn()
writer.SetInputDataObject(mapper.GetInput())
string = writer.Write()
string

1 个答案:

答案 0 :(得分:0)

由于未提供任何答案,因此请将其放在此处,以防对任何人有帮助...

import vtk
 
# TODO: make mesh a vtkPolyData valid mesh

writer = vtk.vtkXMLPolyDataWriter()
writer.SetInputData(mesh)  # mesh should be a PolyData object
writer.SetDataModeToAscii()
writer.WriteToOutputStringOn()
writer.Update()
xml = writer.GetOutputString()

仍在寻找一种方法来反转它,以便vtkReader可以吃一个字符串而不是一个文件...