greiner-hormann polygon clipping