1#!/usr/bin/env python 2import vtk 3from vtk.util.misc import vtkGetDataRoot 4VTK_DATA_ROOT = vtkGetDataRoot() 5 6ren1 = vtk.vtkRenderer() 7renWin = vtk.vtkRenderWindow() 8renWin.AddRenderer(ren1) 9iren = vtk.vtkRenderWindowInteractor() 10iren.SetRenderWindow(renWin) 11# read data 12# 13reader = vtk.vtkGenericEnSightReader() 14# Make sure all algorithms use the composite data pipeline 15cdp = vtk.vtkCompositeDataPipeline() 16reader.SetDefaultExecutivePrototype(cdp) 17del cdp 18reader.SetCaseFileName("" + str(VTK_DATA_ROOT) + "/Data/EnSight/office6_bin.case") 19reader.Update() 20 21outline = vtk.vtkStructuredGridOutlineFilter() 22outline.SetInputConnection(reader.GetOutputPort()) 23mapOutline = vtk.vtkHierarchicalPolyDataMapper() 24mapOutline.SetInputConnection(outline.GetOutputPort()) 25outlineActor = vtk.vtkActor() 26outlineActor.SetMapper(mapOutline) 27outlineActor.GetProperty().SetColor(0,0,0) 28# Create source for streamtubes 29streamer = vtk.vtkStreamTracer() 30streamer.SetInputConnection(reader.GetOutputPort()) 31streamer.SetStartPosition(0.1,2.1,0.5) 32streamer.SetMaximumPropagation(500) 33streamer.SetInitialIntegrationStep(0.1) 34streamer.SetIntegrationDirectionToForward() 35cone = vtk.vtkConeSource() 36cone.SetResolution(8) 37cones = vtk.vtkGlyph3D() 38cones.SetInputConnection(streamer.GetOutputPort()) 39cones.SetSourceConnection(cone.GetOutputPort()) 40cones.SetScaleFactor(3) 41cones.SetInputArrayToProcess(1, 0, 0, vtk.vtkDataObject.FIELD_ASSOCIATION_POINTS, "vectors") 42cones.SetScaleModeToScaleByVector() 43mapCones = vtk.vtkHierarchicalPolyDataMapper() 44mapCones.SetInputConnection(cones.GetOutputPort()) 45mapCones.SetScalarRange(reader.GetOutput().GetBlock(0).GetScalarRange()) 46conesActor = vtk.vtkActor() 47conesActor.SetMapper(mapCones) 48ren1.AddActor(outlineActor) 49ren1.AddActor(conesActor) 50ren1.SetBackground(0.4,0.4,0.5) 51renWin.SetSize(300,300) 52iren.Initialize() 53# interact with data 54reader.SetDefaultExecutivePrototype(None) 55# --- end of script -- 56