You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.4 KiB
56 lines
1.4 KiB
#!/usr/bin/env python
|
|
|
|
# This example demonstrates the use of 2D text the old way by using a
|
|
# vtkTextMapper and a vtkScaledTextActor.
|
|
|
|
import vtk
|
|
|
|
# Create a sphere source, mapper, and actor
|
|
sphere = vtk.vtkSphereSource()
|
|
|
|
sphereMapper = vtk.vtkPolyDataMapper()
|
|
sphereMapper.SetInputConnection(sphere.GetOutputPort())
|
|
sphereMapper.GlobalImmediateModeRenderingOn()
|
|
sphereActor = vtk.vtkLODActor()
|
|
sphereActor.SetMapper(sphereMapper)
|
|
|
|
# Create a text mapper.
|
|
textMapper = vtk.vtkTextMapper()
|
|
textMapper.SetInput("This is a sphere")
|
|
|
|
# Set the text, font, justification, and text properties (bold,
|
|
# italics, etc.).
|
|
tprop = textMapper.GetTextProperty()
|
|
tprop.SetFontSize(18)
|
|
tprop.SetFontFamilyToArial()
|
|
tprop.SetJustificationToCentered()
|
|
tprop.BoldOn()
|
|
tprop.ItalicOn()
|
|
tprop.ShadowOn()
|
|
tprop.SetColor(0, 0, 1)
|
|
|
|
# Create a scaled text actor. Set the position of the text.
|
|
textActor = vtk.vtkScaledTextActor()
|
|
textActor.SetMapper(textMapper)
|
|
textActor.SetDisplayPosition(90, 50)
|
|
|
|
# Create the Renderer, RenderWindow, RenderWindowInteractor
|
|
ren = vtk.vtkRenderer()
|
|
renWin = vtk.vtkRenderWindow()
|
|
renWin.AddRenderer(ren)
|
|
iren = vtk.vtkRenderWindowInteractor()
|
|
iren.SetRenderWindow(renWin)
|
|
|
|
# Add the actors to the renderer; set the background and size; zoom
|
|
# in; and render.
|
|
ren.AddActor2D(textActor)
|
|
ren.AddActor(sphereActor)
|
|
|
|
ren.SetBackground(1, 1, 1)
|
|
renWin.SetSize(250, 125)
|
|
ren.ResetCamera()
|
|
ren.GetActiveCamera().Zoom(1.5)
|
|
|
|
iren.Initialize()
|
|
renWin.Render()
|
|
iren.Start()
|
|
|