1#!/usr/bin/env python
2import vtk
3from vtk.util.misc import vtkGetDataRoot
4VTK_DATA_ROOT = vtkGetDataRoot()
5
6#
7# Test butterfly subdivision of point data
8#
9sphere = vtk.vtkSphereSource()
10sphere.SetPhiResolution(11)
11sphere.SetThetaResolution(11)
12colorIt = vtk.vtkElevationFilter()
13colorIt.SetInputConnection(sphere.GetOutputPort())
14colorIt.SetLowPoint(0,0,-.5)
15colorIt.SetHighPoint(0,0,.5)
16butterfly = vtk.vtkButterflySubdivisionFilter()
17butterfly.SetInputConnection(colorIt.GetOutputPort())
18butterfly.SetNumberOfSubdivisions(3)
19lut = vtk.vtkLookupTable()
20lut.SetNumberOfColors(256)
21lut.Build()
22mapper = vtk.vtkPolyDataMapper()
23mapper.SetInputConnection(butterfly.GetOutputPort())
24mapper.SetLookupTable(lut)
25actor = vtk.vtkActor()
26actor.SetMapper(mapper)
27linear = vtk.vtkLinearSubdivisionFilter()
28linear.SetInputConnection(colorIt.GetOutputPort())
29linear.SetNumberOfSubdivisions(3)
30mapper2 = vtk.vtkPolyDataMapper()
31mapper2.SetInputConnection(linear.GetOutputPort())
32mapper2.SetLookupTable(lut)
33actor2 = vtk.vtkActor()
34actor2.SetMapper(mapper2)
35mapper3 = vtk.vtkPolyDataMapper()
36mapper3.SetInputConnection(colorIt.GetOutputPort())
37mapper3.SetLookupTable(lut)
38actor3 = vtk.vtkActor()
39actor3.SetMapper(mapper3)
40ren1 = vtk.vtkRenderer()
41ren2 = vtk.vtkRenderer()
42ren3 = vtk.vtkRenderer()
43renWin = vtk.vtkRenderWindow()
44renWin.AddRenderer(ren1)
45renWin.AddRenderer(ren2)
46renWin.AddRenderer(ren3)
47iren = vtk.vtkRenderWindowInteractor()
48iren.SetRenderWindow(renWin)
49ren1.AddActor(actor)
50ren1.SetBackground(1,1,1)
51ren2.AddActor(actor2)
52ren2.SetBackground(1,1,1)
53ren3.AddActor(actor3)
54ren3.SetBackground(1,1,1)
55renWin.SetSize(600,200)
56aCamera = vtk.vtkCamera()
57aCamera.Azimuth(70)
58aLight = vtk.vtkLight()
59aLight.SetPosition(aCamera.GetPosition())
60aLight.SetFocalPoint(aCamera.GetFocalPoint())
61ren1.SetActiveCamera(aCamera)
62ren1.AddLight(aLight)
63ren1.ResetCamera()
64aCamera.Dolly(1.4)
65ren1.ResetCameraClippingRange()
66ren2.SetActiveCamera(aCamera)
67ren2.AddLight(aLight)
68ren3.SetActiveCamera(aCamera)
69ren3.AddLight(aLight)
70ren3.SetViewport(0,0,.33,1)
71ren2.SetViewport(.33,0,.67,1)
72ren1.SetViewport(.67,0,1,1)
73iren.Initialize()
74def flat (__vtk__temp0=0,__vtk__temp1=0):
75    actor.GetProperty().SetInterpolationToFlat()
76    actor2.GetProperty().SetInterpolationToFlat()
77    actor3.GetProperty().SetInterpolationToFlat()
78    renWin.Render()
79
80def smooth (__vtk__temp0=0,__vtk__temp1=0):
81    actor.GetProperty().SetInterpolationToGouraud()
82    actor2.GetProperty().SetInterpolationToGouraud()
83    actor3.GetProperty().SetInterpolationToGouraud()
84    renWin.Render()
85
86# --- end of script --
87