Allow graphic shapes to be used as keepouts
Required for #2117 which is implemented in !60 (merged)
Description
Altium allows users to select any primitives (line, arc, text, ..) to be a keepout element. This allows for example inverted text, or to add separations inside a zone,... Internally, separation between zones in Altium Planes is implemented using lines and arcs.
At the moment, my importer converts lines and arcs into keepout zones, which can cause the zone-filling algorithm have an increased runtime up to the point it does not finish in any reasonable time. Furthermore, primitives converted to zones are by definition not accurate.
Solution idea
Add keepout property to graphical items -> problem: polygon+keepout is the same as a specific type of keepout zone. Probably only add it to lines / arcs / text?
KiCad Version
Application: KiCad
Version: (5.99.0-840-g86184168d), debug build
Libraries:
wxWidgets 3.1.1
libcurl/7.69.0 OpenSSL/1.1.1d zlib/1.2.11 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh2/1.9.0 nghttp2/1.39.2
Platform: Linux 5.5.13-arch1-1 x86_64, 64 bit, Little endian, wxGTK
Build Info:
Build date: Feb 12 2020 16:22:24
wxWidgets: 3.1.1 (wchar_t,wx containers) GTK+ 3.24
Boost: 1.72.0
OpenCASCADE Community Edition: 6.9.1
Curl: 7.68.0
Compiler: Clang 9.0.1 with C++ ABI 1002
Build settings:
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_PYTHON3=ON
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_USE_OCC=OFF
KICAD_SPICE=ON
KICAD_STDLIB_DEBUG=OFF
KICAD_STDLIB_LIGHT_DEBUG=OFF
KICAD_SANITIZE=OFF