Disabled asserts in the release build (-DNDEBUG).

Added a safe variant of offset(const Slic3r::ExPolygon...), which offsets each loop separately.
New functions "remove_sticks" to remove zero area parts of polygons.
New functions "remove_small" and "remove_degenerate" for polygon clean up.
Extended the C++ supports, those are not finalized yet though.
This commit is contained in:
bubnikv 2016-10-20 13:04:23 +02:00
parent 53907a9cfe
commit f788f50b5a
16 changed files with 641 additions and 144 deletions

View file

@ -51,6 +51,13 @@ class Polygon : public MultiPoint {
extern BoundingBox get_extents(const Polygon &poly);
extern BoundingBox get_extents(const Polygons &polygons);
// Remove sticks (tentacles with zero area) from the polygon.
extern bool remove_sticks(Polygon &poly);
extern bool remove_sticks(Polygons &polys);
// Remove polygons with less than 3 edges.
extern bool remove_degenerate(Polygons &polys);
extern bool remove_small(Polygons &polys, double min_area);
}
// start Boost