Hi, I'm trying to clip line segments using boost polygon. Boost polygon does not provide public interface but somehow I find the function validate_scan(), which can do the line clipping. My input are two segments < (10, 10), (10, 2), 0 > < ( 6, 7), (11, 2), 1 > The numbers in the brackets are coordinates of two end points of the segments and the number after it is the segment id. So it looks like this. The result I expect should be four segments, which are the result of intersection <(10,10), (10,3), 0> <(10,3), (10,2), 0> <(6,7 ), (10,3), 1> <(10,3), (11, 2), 1> However, the <(10,3), (11,2), 1> segment is replace by two segments, which are <(10,3), (10,2), 1> and <(10,2), (11,2), 1>. Can someone tell me what happened? Replacing the segment with the other two are not right behavior. Thank you very much. -- Jian Hu