Debugging Boolean Operations on Polygons

What we see here is this:

  • the black line with the crosses is the previous polygon (subj)
  • the blue line with the circles is the polygon to be added (clip)
  • the red line is the result of the union operation (result)

My assumption is that the point on the right might be the same for subj and clip and this is causes the routine constructing the result from the sweep events to pick another point. In this case where the red line goes straight upwards it picked the next point right to it.
Which is strange, there shouldn't be a sweep event connecting these points at all...