Add method that check whether the cutting segment cut a polygon edge. If so, it shift one of the cutting segment boundary from 1 according to x and y. Therefore, with this little trick, no degenerate case implying edge cuthas to be handled.