У меня есть массив из нескольких полигонов Boost.Geometry, и мне нужно объединить их в один полигон. Я успешно реализовал то, что объединяет каждый последующий многоугольник с объединением двух предыдущих (просто перебирая их и объединяя другой многоугольник).
multi_polygon polygons; // an array of initial polygons
multi_polygon border; // the unioned polygons
for (polygon p : polygons) {
// add another polygon each iteration
multi_polygon tmp_poly;
union_(border, p, tmp_poly);
border = tmp_poly;
}
Однако это занимает довольно много времени для выполнения. В видео я слышал упоминание о том, что для этого можно использовать функцию assign
, но не было подробно описано, как это сделать, и я не смог найти больше ничего об этом. Как я могу ускорить этот процесс?