# loop through the cl-points
    n=0
    print(len(clpoints), "cl-points to evaluate")
    for cl in clpoints:
        cutter.vertexDrop(cl,t)
        cutter.edgeDrop(cl,t)
        cutter.facetDrop(cl,t)
        n=n+1
    print("drop-cutter done.")
    # cl has now been updated so it is a valid cutter-location point
    # drop-cutter only updates the z-coordinate of cl, x/y are not changed.

    print("rendering...",)
    # render all the points
    camvtk.drawCLPointCloud(myscreen, clpoints)
    camvtk.drawCCPoints(myscreen, clpoints)
    print("done."   )
    
    tx = camvtk.Text()
    tx.SetPos( (myscreen.width-200, myscreen.height-130) )
    tx.SetText("opencamlib\ndrop-cutter")
    myscreen.addActor( tx )
    
    #w2if = vtk.vtkWindowToImageFilter()
    #w2if.SetInput(myscreen.renWin)
    #lwr = vtk.vtkPNGWriter()
    #lwr.SetInput( w2if.GetOutput() )
    #w2if.Modified()
    
    
    # animate by rotating the camera
    clpoints = pyocl.CLPointGrid(minx, dx, maxx, miny, dy, maxy, z)

    # loop through the cl-points
    n = 0
    print len(clpoints), "cl-points to evaluate"
    for cl in clpoints:
        cutter.vertexDrop(cl, t)
        cutter.edgeDrop(cl, t)
        cutter.facetDrop(cl, t)
        n = n + 1
    print "drop-cutter done."

    print "rendering...",
    # render all the points
    camvtk.drawCLPointCloud(myscreen, clpoints)
    camvtk.drawCCPoints(myscreen, clpoints)
    print "done."

    tx = camvtk.Text()
    tx.SetPos((myscreen.width - 200, myscreen.height - 130))
    tx.SetText("opencamlib\ndrop-cutter")
    myscreen.addActor(tx)

    w2if = vtk.vtkWindowToImageFilter()
    w2if.SetInput(myscreen.renWin)
    lwr = vtk.vtkPNGWriter()
    lwr.SetInput(w2if.GetOutput())
    w2if.Modified()

    # animate by rotating the camera
    """