... instead of modifying the argument.
This will make the method usable in python API and will not incur
permormance penalty because named return value optimization (NRVO)
is a thing since C++11.
But even if copy is not elided vector is moved instead of copied.
https://en.cppreference.com/w/cpp/language/copy_elision
It's currently only supported in the Footprint Editor. It could be
easily added to the board editor (all the code is there), but the board
editor is a little short on room in the drawing tools toolbar.
1) Don't try and do board-edge clearance checking against a
synthetic polygon constructed because we didn't find any edges.
2) Check pads against board edge.
3) Don't report vias as "Track too close to board edge".
This corrects an issue with fill segments-per-circle and moves the error
to segmetns calculation down in a number of functions to expose the
single value for approximation
Commit 1858b7dca corrected the handling of polygons on the edge cut
layer for board items. This adjusts for the possibility of polygons
in modules on the edge cut layer by applying the module offset/rotation
to the polygon elements.
Like circles, polygons are self-closed elements that define an outline.
This allows them to be used as such for board outlines and cutouts.
Fixes: lp:1795563
* https://bugs.launchpad.net/kicad/+bug/1795563
This adds a check for contiguous board outlines to the DRC. It also
uses the calculated outline to ensure that traces are not crossing the
outlines.
Fixes: lp:1648055
* https://bugs.launchpad.net/kicad/+bug/1648055