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
|
#!/usr/bin/env python
############################################################
from vtk import *
############################################################
# Create sources
line1 = vtkLineSource()
line1.SetPoint1(1, 0, 0)
line1.SetPoint2(-1, 0, 0)
line1.SetResolution(32)
points = vtkPoints()
points.InsertNextPoint(1, 0, 0)
points.InsertNextPoint(-0.5, 1, 0)
points.InsertNextPoint(0, 1, 2)
points.InsertNextPoint(2, 1, -1)
points.InsertNextPoint(-1, 0, 0)
line2 = vtkLineSource()
line2.SetPoints(points)
line2.SetResolution(16)
# Create mappers
mapper1 = vtkPolyDataMapper()
mapper1.SetInputConnection(line1.GetOutputPort())
mapper2 = vtkPolyDataMapper()
mapper2.SetInputConnection(line2.GetOutputPort())
# Create actors
actor1 = vtkActor()
actor1.SetMapper(mapper1)
actor1.GetProperty().SetColor(1., 0., 0.)
actor2 = vtkActor()
actor2.SetMapper(mapper2)
actor2.GetProperty().SetColor(0., 0., 1.)
actor2.GetProperty().SetLineWidth(2.5)
# Create renderer
renderer = vtkRenderer()
renderer.AddViewProp(actor1)
renderer.AddViewProp(actor2)
renderer.SetBackground(.3, .4, .5)
# Create render window
window = vtkRenderWindow()
window.AddRenderer(renderer)
window.SetSize(500, 500)
# Create interactor
interactor = vtkRenderWindowInteractor()
interactor.SetRenderWindow(window)
# Start interaction
window.Render()
interactor.Start()
|