Hello
VTKEx/Python/VisualizationAlgorithms/Hello
Other languages
See (Cxx)
Question
If you have a simple question about this example contact us at VTKExProject If your question is more complex and may require extended discussion, please use the VTK Discourse Forum
Code¶
Hello.py
#!/usr/bin/env python
import vtk
def main():
fileName = get_program_parameters()
colors = vtk.vtkNamedColors()
# Create lines which serve as the "seed" geometry. The lines spell the
# word "hello".
#
reader= vtk.vtkPolyDataReader()
reader.SetFileName(fileName)
lineMapper= vtk.vtkPolyDataMapper()
lineMapper.SetInputConnection(reader.GetOutputPort())
lineActor= vtk.vtkActor()
lineActor.SetMapper(lineMapper)
lineActor.GetProperty().SetColor(colors.GetColor3d("Tomato"))
lineActor.GetProperty().SetLineWidth(3.0)
# Create implicit model with vtkImplicitModeller. This computes a scalar
# field which is the distance from the generating geometry. The contour
# filter then extracts the geometry at the distance value 0.25 from the
# generating geometry.
#
imp= vtk.vtkImplicitModeller()
imp.SetInputConnection(reader.GetOutputPort())
imp.SetSampleDimensions(110, 40, 20)
imp.SetMaximumDistance(0.25)
imp.SetModelBounds(-1.0, 10.0, -1.0, 3.0, -1.0, 1.0)
contour= vtk.vtkContourFilter()
contour.SetInputConnection(imp.GetOutputPort())
contour.SetValue(0, 0.25)
impMapper= vtk.vtkPolyDataMapper()
impMapper.SetInputConnection(contour.GetOutputPort())
impMapper.ScalarVisibilityOff()
impActor= vtk.vtkActor()
impActor.SetMapper(impMapper)
impActor.GetProperty().SetColor(colors.GetColor3d("Peacock"))
impActor.GetProperty().SetOpacity(0.5)
# Create the usual graphics stuff.
# Create the RenderWindow, Renderer and Interactor.
#
ren1= vtk.vtkRenderer()
renWin= vtk.vtkRenderWindow()
renWin.AddRenderer(ren1)
iren= vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
# Add the actors to the renderer, set the background and size
#
ren1.AddActor(lineActor)
ren1.AddActor(impActor)
ren1.SetBackground(colors.GetColor3d("Wheat"))
renWin.SetSize(640, 480)
camera= vtk.vtkCamera()
camera.SetFocalPoint(4.5, 1, 0)
camera.SetPosition(4.5, 1.0, 6.73257)
camera.SetViewUp(0, 1, 0)
ren1.SetActiveCamera(camera)
ren1.ResetCamera()
camera.Dolly(1.3)
camera.SetClippingRange(1.81325, 90.6627)
renWin.Render()
iren.Start()
def get_program_parameters():
import argparse
description = 'Implicit modelling is used to thicken a stroked font.'
epilogue = '''
Implicit modelling is used to thicken a stroked font.
The original lines can be seen within the translucent implicit surface.
'''
parser = argparse.ArgumentParser(description=description, epilog=epilogue,
formatter_class=argparse.RawDescriptionHelpFormatter)
parser.add_argument('filename', help='hello.vtk.')
args = parser.parse_args()
return args.filename
if __name__ == '__main__':
main()