Код: Выделить всё
CGAL::Constrained_triangulation_plus_2 ct;
// Presume this vector has been filled up with many `Polygon_with_holes_2`
std::vector pwh_vector;
for (const auto &pwh : pwh_vector) {
ct.insert_constraint(pwh.outer_boundary());
for (const auto &h : pwh.holes()) {
ct.insert_constraint(h);
}
}
CGAL::Polyline_simplification_2::simplify(ct, Cost(), Stop(0.5));
Одна из причин, по которой я мог подумать, что порядок посещения Constrained_triangulation_plus_2 не определен.
Еще одна возможная причина, о которой я мог бы подумать, если бы были связи в определение приоритета между двумя узлами. Это могло бы объяснить, почему я наблюдаю этот эффект довольно часто для некоторых геометрий и никогда — для других.
Этот недетерминизм существенно усложнил отладку нашей программы. Если этот недетерминизм действительно является функцией по умолчанию упрощения ломаных линий CGAL, есть ли способ отключить его?
Подробнее здесь: https://stackoverflow.com/questions/793 ... erministic