1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
#!/usr/bin/env python
import os
import vtk
from vtk.util.misc import vtkGetDataRoot
from vtk.util.misc import vtkGetTempDir
VTK_DATA_ROOT = vtkGetDataRoot()
VTK_TEMP_DIR = vtkGetTempDir()
w = vtk.vtkRTAnalyticSource()
g = vtk.vtkMultiBlockDataGroupFilter()
g.AddInputConnection(w.GetOutputPort())
g.Update()
mb = g.GetOutputDataObject(0)
a = vtk.vtkFloatArray()
a.SetName("foo")
a.SetNumberOfTuples(1)
a.SetValue(0, 10)
mb.GetFieldData().AddArray(a)
file_root = VTK_TEMP_DIR + '/testxml'
file0 = file_root + ".vtm"
wri = vtk.vtkXMLMultiBlockDataWriter()
wri.SetInputData(mb)
wri.SetFileName(file0)
wri.Write()
read = vtk.vtkXMLMultiBlockDataReader()
read.SetFileName(file0)
read.Update()
output = read.GetOutputDataObject(0)
assert(output.GetFieldData().GetArray("foo"))
assert(output.GetFieldData().GetArray("foo").GetValue(0) == 10)
os.remove(file0)
os.remove(file_root + "/testxml_0.vti")
os.rmdir(file_root)
|