Просто, линии могут быть на разных уровнях в разных направлениях, можно вызвать два раза метод, с разными направлениями, но мне показалось это не совсем хорошим решением проблемы.
Появился другой вопрос, используется контур для разрезания.
Сделал два разрезания, один с помощью своей функции где используется intersectWith + getSplitCurves, другой с помощью функции MAPTRIM.
Некоторые линии различаются с точки зрения геометрии, как я понимаю это вызвано тем, что использовались разные алгоритмы поиска пересечения. Проблема в том, что оба результата отличаются от оригинала, то есть линии чуть дальше чем надо, но при этом intersectWith + getSplitCurves гораздо дальше.
На скрине зеленым MAPTRIM, красным intersectWith + getSplitCurves.
Можно как-то получить результат лучше чем MAPTRIM или на том же уровне ?