text: #!/usr/bin/env python
  import vtk
  from vtk.util.misc import vtkGetDataRoot
  VTK_DATA_ROOT = vtkGetDataRoot()
  
  # Create the RenderWindow, Renderer and both Actors
  #
  ren1 = vtk.vtkRenderer()
  renWin = vtk.vtkRenderWindow()
  renWin.SetMultiSamples(0)
  renWin.AddRenderer(ren1)
  iren = vtk.vtkRenderWindowInteractor()
  iren.SetRenderWindow(renWin)
  
  # Create a synthetic source
  sphere = vtk.vtkSphere()
  sphere.SetCenter( 0.0,0.0,0.0)
  sphere.SetRadius(0.25)
  
  # Iso-surface to create geometry. Demonstrate the ability to
  # interpolate data attributes.
  sample = vtk.vtkSampleFunction()
  sample.SetImplicitFunction(sphere)
  sample.SetModelBounds(-0.5,0.5, -0.5,0.5, -0.5,0.5)
  sample.SetSampleDimensions(100,100,100)
  
  # Now create some new attributes
  cyl = vtk.vtkCylinder()
  cyl.SetRadius(0.1)
  cyl.SetAxis(1,1,1)
  
  attr = vtk.vtkSampleImplicitFunctionFilter()
  attr.SetInputConnection(sample.GetOutputPort())
  attr.SetImplicitFunction(cyl)
  attr.ComputeGradientsOn()
  attr.Update()
  
  iso = vtk.vtkFlyingEdges3D()
  iso.SetInputConnection(attr.GetOutputPort())
  iso.SetInputArrayToProcess(0, 0, 0, vtk.vtkDataObject.FIELD_ASSOCIATION_POINTS, "scalars")
  iso.SetValue(0,0.25)
  iso.ComputeNormalsOn()
  iso.ComputeGradientsOn()
  iso.ComputeScalarsOn()
  iso.InterpolateAttributesOn()
  
  # Time execution
  timer = vtk.vtkTimerLog()
  timer.StartTimer()
  iso.Update()
  timer.StopTimer()
  time = timer.GetElapsedTime()
  print("Flying edges with attributes: {0}".format(time))
  
  isoMapper = vtk.vtkPolyDataMapper()
  isoMapper.SetInputConnection(iso.GetOutputPort())
  isoMapper.ScalarVisibilityOn()
  isoMapper.SetScalarModeToUsePointFieldData()
  isoMapper.SelectColorArray("Implicit scalars")
  isoMapper.SetScalarRange(0,.3)
  
  isoActor = vtk.vtkActor()
  isoActor.SetMapper(isoMapper)
  isoActor.GetProperty().SetColor(1,1,1)
  isoActor.GetProperty().SetOpacity(1)
  
  outline = vtk.vtkOutlineFilter()
  outline.SetInputConnection(sample.GetOutputPort())
  outlineMapper = vtk.vtkPolyDataMapper()
  outlineMapper.SetInputConnection(outline.GetOutputPort())
  outlineActor = vtk.vtkActor()
  outlineActor.SetMapper(outlineMapper)
  outlineProp = outlineActor.GetProperty()
  
  # Add the actors to the renderer, set the background and size
  #
  ren1.AddActor(outlineActor)
  ren1.AddActor(isoActor)
  ren1.SetBackground(0,0,0)
  renWin.SetSize(300,300)
  ren1.ResetCamera()
  iren.Initialize()
  
  renWin.Render()
  iren.Start()
  # --- end of script --
  