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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
#!/usr/bin/env python
# Create the RenderWindow, Renderer and both Actors
#
ren1 = vtk.vtkRenderer()
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(ren1)
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
#
# If the current directory is writable, then test the witers
#
if (catch.catch(globals(),"""channel = open("test.tmp", "w")""") == 0):
channel.close()
file.delete("-force", "test.tmp")
# ====== Structured Grid ======
# First save out a grid in parallel form.
reader = vtk.vtkMultiBlockPLOT3DReader()
reader.SetXYZFileName("" + str(VTK_DATA_ROOT) + "/Data/combxyz.bin")
reader.SetQFileName("" + str(VTK_DATA_ROOT) + "/Data/combq.bin")
reader.Update()
writer = vtk.vtkPDataSetWriter()
writer.SetFileName("comb.pvtk")
writer.SetInputData(reader.GetOutput().GetBlock(0))
writer.SetNumberOfPieces(4)
writer.Write()
pReader = vtk.vtkPDataSetReader()
pReader.SetFileName("comb.pvtk")
surface = vtk.vtkDataSetSurfaceFilter()
surface.SetInputConnection(pReader.GetOutputPort())
mapper = vtk.vtkPolyDataMapper()
mapper.SetInputConnection(surface.GetOutputPort())
mapper.SetNumberOfPieces(2)
mapper.SetPiece(0)
mapper.SetGhostLevel(1)
mapper.Update()
file.delete("-force", "comb.pvtk")
file.delete("-force", "comb.0.vtk")
file.delete("-force", "comb.1.vtk")
file.delete("-force", "comb.2.vtk")
file.delete("-force", "comb.3.vtk")
actor = vtk.vtkActor()
actor.SetMapper(mapper)
actor.SetPosition(-5,0,-29)
# Add the actors to the renderer, set the background and size
#
ren1.AddActor(actor)
# ====== ImageData ======
# First save out a grid in parallel form.
fractal = vtk.vtkImageMandelbrotSource()
fractal.SetWholeExtent(0,9,0,9,0,9)
fractal.SetSampleCX(0.1,0.1,0.1,0.1)
fractal.SetMaximumNumberOfIterations(10)
writer2 = vtk.vtkPDataSetWriter()
writer.SetFileName("fractal.pvtk")
writer.SetInputConnection(fractal.GetOutputPort())
writer.SetNumberOfPieces(4)
writer.Write()
pReader2 = vtk.vtkPDataSetReader()
pReader2.SetFileName("fractal.pvtk")
iso = vtk.vtkContourFilter()
iso.SetInputConnection(pReader2.GetOutputPort())
iso.SetValue(0,4)
mapper2 = vtk.vtkPolyDataMapper()
mapper2.SetInputConnection(iso.GetOutputPort())
mapper2.SetNumberOfPieces(3)
mapper2.SetPiece(0)
mapper2.SetGhostLevel(0)
mapper2.Update()
file.delete("-force", "fractal.pvtk")
file.delete("-force", "fractal.0.vtk")
file.delete("-force", "fractal.1.vtk")
file.delete("-force", "fractal.2.vtk")
file.delete("-force", "fractal.3.vtk")
actor2 = vtk.vtkActor()
actor2.SetMapper(mapper2)
actor2.SetScale(5,5,5)
actor2.SetPosition(6,6,6)
# Add the actors to the renderer, set the background and size
#
ren1.AddActor(actor2)
# ====== PolyData ======
# First save out a grid in parallel form.
sphere = vtk.vtkSphereSource()
sphere.SetRadius(2)
writer3 = vtk.vtkPDataSetWriter()
writer3.SetFileName("sphere.pvtk")
writer3.SetInputConnection(sphere.GetOutputPort())
writer3.SetNumberOfPieces(4)
writer3.Write()
pReader3 = vtk.vtkPDataSetReader()
pReader3.SetFileName("sphere.pvtk")
mapper3 = vtk.vtkPolyDataMapper()
mapper3.SetInputConnection(pReader3.GetOutputPort())
mapper3.SetNumberOfPieces(2)
mapper3.SetPiece(0)
mapper3.SetGhostLevel(1)
mapper3.Update()
file.delete("-force", "sphere.pvtk")
file.delete("-force", "sphere.0.vtk")
file.delete("-force", "sphere.1.vtk")
file.delete("-force", "sphere.2.vtk")
file.delete("-force", "sphere.3.vtk")
actor3 = vtk.vtkActor()
actor3.SetMapper(mapper3)
actor3.SetPosition(6,6,6)
# Add the actors to the renderer, set the background and size
#
ren1.AddActor(actor3)
pass
ren1.SetBackground(0.1,0.2,0.4)
renWin.SetSize(300,300)
# render the image
#
cam1 = ren1.GetActiveCamera()
cam1.Azimuth(20)
cam1.Elevation(40)
ren1.ResetCamera()
cam1.Zoom(1.2)
iren.Initialize()
# prevent the tk window from showing up then start the event loop
# --- end of script --
|