Когда я вычисляю разницу между двумя фигурами, которые касаются друг друга (например, прямоугольник A в большом прямоугольнике B с отверстием на прямоугольнике A) и форма клипа (прямоугольник C), две касательные фигуры объединяются, поскольку их доля одинаковые края, а затем выполняется обрезка.Запретить клиперу слияния полигонов?
Можно ли избежать слияния прикосновений при обрезке?
Ниже приведен пример различия между двумя формами (А в зеленый и B в красном цвете) и клипом (поэтому операция является следующим: & В - Клипе), он возвращает синюю форму:
Вместо синего прямоугольника, я хотел бы, чтобы эти две формы:
и пересечение даст:
Это дало бы мне четыре фигуры, которые я хочу:
Я знаю, что я мог выполнять операции по каждой форме отдельно, но я боюсь, что это будет более дорогостоящим.
Примечание
Вот результат XOR:
Используйте XOR вместо разницы. –
Я что-то забыл в своем вопросе, поэтому я его отредактировал, теперь должно быть более ясно. XOR не помогает ... Я думаю, что единственным решением является выполнение операций отдельно, что я и делаю сейчас. –
Я опубликовал аналогичный вопрос на https://stackoverflow.com/questions/46235176/clipperlib-clip-multiple-squares-with-rectangle-produces-1-result Вы когда-нибудь находили решение? В итоге я обработаю более 2 миллионов форм. Я не думаю, что отсечение их по отдельности было бы хорошо для выступления. –