void perturb(Polygon_2& p, Number_type epsilon) { Polygon_2::Vertex_iterator vit; for (vit = p.vertices_begin(); vit != p.vertices_end(); ++vit) { Point_2 pnt = *vit; // Make sure we get a consistent perturbation with each point across runs const static Number_type prime = 827; srand((int)(pnt.x() + prime*(pnt.y() + prime*pnt.z()))); pnt = Point_25_<Kernel>(perturb(pnt.x(), epsilon), perturb(pnt.y(), epsilon), pnt.z(), pnt.id()); p.set(vit, pnt); } p = Polygon_2(p.vertices_begin(), unique(p.vertices_begin(), p.vertices_end())); }