#!/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()