使用vtk的vtkXMLUnstructuredGridReader()类读取非结构化网格结构的vtu格式的数据文件。
import vtkmodules.all as vtk
filename = "test.vtu"
reader = vtk.vtkXMLUnstructuredGridReader()
reader.SetFileName(filename)
reader.Update()
reader.GetOutput().GetPointData().SetActiveVectors('Vectors')
renderer = vtk.vtkRenderer()
render_window = vtk.vtkRenderWindow()
render_window.AddRenderer(renderer)
ColorTransferFunction = vtk.vtkColorTransferFunction()
ColorTransferFunction.AddRGBPoint(x,r,g,b)
mapper = vtk.vtkDataSetMapper()
mapper.SetInputData(reader.GetOutput())
mapper.SetInputConnection(reader.GetOutputPort())
mapper.SetLookupTable(ColorTransferFunction)
mapper.SetScalarRange(data.GetScalarRange())
actor = vtk.vtkActor()
actor.SetMapper(mapper)
actor.GetProperty().SetInterpolationToFlat()
actor.GetProperty().SetColor(1, 1, 1)
actor.GetProperty().SetSpecularPower(20)
renderer.AddActor(actor)
render_window.SetSize(800, 800)
render_window.Render()
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(render_window)
iren.Initialize()
iren.Start()