The reference designator is stored separately with the Tracks, so we
need to extract position/size data from it there and match back to the
components later.
Fixes https://gitlab.com/kicad/code/kicad/issues/7733
Find all intersecting points both forward and back between the filled
areas and the outlines in order to determine the proper net assignment
for the zones
Also creates rule areas for special zones instead of filled zones
Fixes https://gitlab.com/kicad/code/kicad/issues/7732
The rotate mirror actions need to line up with the expectation.
FABMASTER keeps elements board-referenced while KiCad has some elements
referenced to the board and some referenced to the footprint
Stores a cache of the convex hull similar to the bounding box. Modifies
the hull based on actions to allow complex footprint graphics without delay
Fixes https://gitlab.com/kicad/code/kicad/issues/7341
std::map is not move-constructable on MSVC because
it is not declared noexcept (and is not required to be
by the standard)
This means that a struct containing graphic_element
cannot be inserted into a vector with move semantics without
compile errors. However, wrapping it in a unique_ptr
works.