I'm trying to implement Bentley-Ottmann Algorithm according to description found in Mark de Berg, et al. Computational Geometry Algorithms and Applications Third Edition book. There is not clear statement about support of overlapping (collinear and not disjoint) segments, however another degenerate cases described precisely.
From wikipedia I found that there exists implementation that handles all degenerate cases, and it descibed in Bartuschka, U.; Mehlhorn, K.; Näher, S. However it is very hard to understand.
Exactly the same approach provided here. In the subsection 4.3 I found the following:
The basic ingredients of the line sweep algorithm go back to work by Bentley and Ottmann from 1979. The particular formulation discussed here, which takes all possible degeneracies into account, is due to Mehlhorn and Näher.
After thorough investigation of it, I come to conclusion that the only difference is that sweep line going from left to right, but not from top to bottom as in de Berg's book. But I can't understand why this algorithm handles overlapping segments. I want to see some proof why such segments are handled correctly and how are they handled. What should we output as intersection: there is no intersections at all or segments are intersect in infinite number of points?
(I've alrady looked at The Generalization of Bentley-Ottmann Algorithm.)
Plase help me figure out how and why this algorithm handle overlapping segments.