import vtk

reader = vtk.vtkDataSetReader()
reader.SetFileName('surface.vtk')
#reader.Update()

tf = vtk.vtkTriangleFilter()
tf.SetInput( reader.GetOutput())

stripper = vtk.vtkStripper()
stripper.SetInput( tf.GetOutput() )

linear = vtk.vtkLinearSubdivisionFilter ()
linear.SetInput (reader.GetOutput())
#linear.SetInput (tf.GetOutput())
#linear.SetInput (stripper.GetOutput())
linear.SetNumberOfSubdivisions (3)
linear.Update()

print linear.GetOutput()

renderer = vtk.vtkRenderer()
renWin   = vtk.vtkRenderWindow()
iren     = vtk.vtkRenderWindowInteractor()
mapper   = vtk.vtkDataSetMapper()
actor    = vtk.vtkActor()
geo      = vtk.vtkGeometryFilter()
pmapper  = vtk.vtkPolyDataMapper()

#mapper.SetInput( linear.GetOutput() )
#mapper.SetInput( reader.GetOutput() )
#actor.SetProperty( vtk.vtkProperty() )
#actor.GetProperty().SetRepresentationToWireframe()
 
geo.SetInput( linear.GetOutput())
pmapper.SetInput( geo.GetOutput())

#actor.SetMapper( mapper )
actor.SetMapper( pmapper )

renderer.SetBackground(1,1,1)
renderer.AddActor( actor )

renWin.AddRenderer( renderer )
renWin.SetSize( 300, 300 ) 

#Set the render window
iren.SetRenderWindow( renWin )

iren.Initialize()
iren.Start()



