merge zones sometimes not working completely
Description
If using the "Merge Zones" command with a selection of >= 3 zones the merge-algorithm is sometimes not able to merge all zones into one big zone in one merging-step.
affects: v6.0.4 and v6.99
priority: very low, it's always possible to run the merge-algorith a second time with the remaining (in the first run not merged) zone.
I think the algorithm needs a second run after every merge to check if a new overlapping-situation is created .
Steps to reproduce
- open attached project, open board
- locate 3x GND-zones:
- zone 1 on top left, overlaps only zone 3
- zone 2 on bottom left, overlaps only zone 3
- zone 3 on the right, overlaps both zone 1 + zone 2
- select all 3 GND-zones
- RMB-->context-menu-->zones-->merge zones
- observe: only two zones get merged (zone 2+3), the remaining zone gets an error-message (zone did not intersect)
KiCad Version
Application: KiCad PCB Editor (64-bit)
Version: (6.99.0-1739-g90bfe2d94b), release build
Libraries:
wxWidgets 3.1.5
FreeType 2.11.1
HarfBuzz 2.8.2
FontConfig 2.13.1
Platform: Windows 10 (build 19044), 64-bit edition, 64 bit, Little endian, wxMSW
wxWidgets: 3.1.5 (wchar_t,wx containers)
Boost: 1.76.0
OCC: 7.6.0
Curl: 7.78.0-DEV
ngspice: 36
Compiler: Visual C++ 1929 without C++ ABI
Build settings:
KICAD_USE_OCC=ON
KICAD_SPICE=ON