new_contents: import ocl as cam
  import camvtk
  import time
  import vtk
  import datetime
  
  if __name__ == "__main__":  
      myscreen = camvtk.VTKScreen()
      
      stl = camvtk.STLSurf("gnu_tux_mod.stl")
      print "STL surface read"
      myscreen.addActor(stl)
      stl.SetWireframe()
      stl.SetColor((0.5,0.5,0.5))
  	
      polydata = stl.src.GetOutput()
      s= cam.STLSurf()
      camvtk.vtkPolyData2OCLSTL(polydata, s)
      
      cutter = cam.CylCutter(0.6)
      #print cutter.str()
      #print cc.type
      minx=-0.2
      dx=0.1
      maxx=10.2
      miny=-0.2
      dy=1
      maxy=12.2
      z=-0.2
      
      pftp = cam.ParallelFinish()
      pftp.initCLPoints(minx,dx,maxx,miny,dy,maxy,z)
      
      pftp.dropCutterSTL1(cutter, s) 
      
      clpoints = []
      #CLPointGrid(minx,dx,maxx,miny,dy,maxy,z)
      nv=0
      nn=0
      ne=0
      nf=0
      for cl in clpoints:
          #cutter.dropCutter(cl,cc,t)
          cc = cam.CCPoint()
          cutter.dropCutterSTL(cl,cc,s)
          #    cutter.vertexDrop(cl,cc,t)
          #    cutter.edgeDrop(cl,cc,t)
          #    cutter.facetDrop(cl,cc,t)
          
          if cc.type==cam.CCType.FACET:
              nf+=1
              col = (0,1,1)
          elif cc.type == cam.CCType.VERTEX:
              nv+=1
              col = (0,1,0)
          elif cc.type == cam.CCType.EDGE:
              ne+=1
              col = (1,0,0)
          elif cc.type == cam.CCType.NONE:
              #print "type=NONE!"
              nn+=1
              col = (1,1,1)
          
          #if cl.isInside(t):
          #    col = (0, 1, 0)
          #else:
          #    col = (1, 0, 0)
         
          
          myscreen.addActor( camvtk.Point(center=(cl.x,cl.y,cl.z) , color=col) )    
          #myscreen.addActor( camvtk.Point(center=(cc.x,cc.y,cc.z), color=col) )
          #print cc.type
      print "none=",nn," vertex=",nv, " edge=",ne, " facet=",nf, " sum=", nn+nv+ne+nf
      print len(clpoints), " cl points evaluated"
      myscreen.camera.SetPosition(3, 23, 15)
      myscreen.camera.SetFocalPoint(4, 5, 0)
      myscreen.render()
      
      w2if = vtk.vtkWindowToImageFilter()
      w2if.SetInput(myscreen.renWin)
      lwr = vtk.vtkPNGWriter()
      lwr.SetInput( w2if.GetOutput() )
      w2if.Modified()
      lwr.SetFileName("tux1.png")
      #lwr.Write()
      
      t = camvtk.Text()
      t.SetPos( (myscreen.width-200, myscreen.height-30) )
      myscreen.addActor( t)
       
      for n in range(1,3):
          t.SetText(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
          myscreen.camera.Azimuth( 1 )
          time.sleep(0.01)
          myscreen.render()
          lwr.SetFileName("frame"+ ('%03d' % n)+".png")
          w2if.Modified() 
          #lwr.Write()
  
          
  
  
      #myscreen.iren.Start()
      raw_input("Press Enter to terminate") 
      
  
subject: test new class ParallelFinish