1) Removed the already commented-out scaling / unscaling when doing
"safe offsetting"
2) Removed some of the "safe offsetting" at calls where it never was used.
3) Reworked Clipper & ClipperUtils to pass Polygons / ExPolygons / Surfaces
as input parameters without conversion to ClipperLib::Paths. This
should save a lot of memory allocation and copying.
4) Reworked conversions from ClipperLib::Paths & PolyTree to Polygons /
ExPolygons to use the move operator to avoid many unnecessary allocations.
5) Reworked some "union with safe ofsetting" to "offset_ex", which should
be cheaper.
1) Let Clipper use int32_t for representing its coordinates. This
reduces memory and allows to skip conversion between Slic3r Polygon
and Clipper polygon.
2) Disable additional offset before executing the Clipper Offset algorithm.
We don't see any reason for that and it required 64bit Clipper coordinates,
which were disabled with 1).
of the Z coordinate, compiled in the ClipperLib_Z namespace.
Update of Lukas's new brim clipping:
All the brim contours are now clipped by the ClipperLib_Z library
in one shot.