WIP: MutablePolygon - linked list based polygon implementation
allowing rapid insertion and removal of points.
WIP: porting smooth_outward() from Cura.
Working contour offsetting,
skeleton_edges_rough() to detect "important" skeleton edges.
Radius of an inscribed circle along the "important" skeleton edges
changes slowly, therefore these "important" skeleton edges signify
oblong regions possibly needing a gap fill.
limited anchors, while before a full perimeter segment was always
taken if possible.
2) Adapted the line infills (grid, stars, triangles, cubic) to 1).
This also solves a long standing issue of these infills producing
anchors for each sweep direction independently, thus possibly
overlapping and overextruding, which was quite detrimental
in narrow areas.
3) Refactored cubic adaptive infill anchroing algorithm
for performance and clarity.
The offset curve extractor is already quite usable,
though singular cases are still not covered yet
when the offset curve intersects or nearly intersects
a Voronoi vertex.
Removal of the PRINTF_ZU "%zu" Visual Studio printf compatibility macro.
Fixes of a contours self intersection test for collinear segments.
SVG exporter now exports white background, so that the GNOME Eye viewer is usable.
Now the algorithm is very different from the OpenVoronoi implementation
and hopefully it is now correct (save numerical issues, which will be
a big PITA).
BoundingBox constructor will no more throw for empty vector of points.
GMP allowed for Vojtech's fork of boost::polygon Voronoi implementation.
Added libslic3r tests for boost::polygon Voronoi. All Voronoi issues
ever reported on the Internet are captured by the tests. Two issues
reported (the two test cases) are real issues which may influence
PrusaSlicer negatively, namely
https://github.com/boostorg/polygon/issues/43
Fix compilation on Windows
Fix array subscript out of range error in MarchingSquares
Fix normals of mesh constructed from slices
Improve performance of mesh construction from slices