ID: | 3900 |
From: | ge...@igor2.repo.hu |
Date: | Fri, 3 Apr 2020 09:05:55 +0200 (CEST) |
Subject: | Re: [pcb-rnd] connectivity bug -> fullpoly again |
in-reply-to: | 3843 from ge...@igor2.repo.hu |
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-615984158-1585897555=:10103 Content-Type: TEXT/PLAIN; charset=US-ASCII Hello Britton, On Mon, 16 Mar 2020, gedau@igor2.repo.hu wrote: >On Sun, 15 Mar 2020, Britton Kerin wrote: >> >>pcb version 4.2.0 exhibits the same behavior. > <snip> >Now we have two independent bugs about this: > >bug#1: if you {c f} on either half of the cut polygon in my example >file, you sill see the other half is marked too. This is clearly wrong, as >there's no connection between the two parts. <snip> (This didn't change now.) > >bug#2: there's always a 'first island', which is the only island for the >non-fullpoly polygon (which is the largest area island in that case). In >the fullpoly case, there may be further islands. Most of the code, like >the connectivity code will unfortunately look only for the first islandd >(which can be considered as a bug we want to fix). I've fixed this one as of r30353. Please test and ACK. Attached is an extended test case that has one overlapping object of each relevant object type on the second island (on the top) of a cut-in-half fullpoly. With the older/buggy version of pcb-rnd these objects won't connect with {c f}, with the fixed version they will. However, because of the more dangerous bug#1 still lurking in our code with no much chance for a fix, I maintain this: >Do not ever use the fullpoly flag. That simple. That feature is and always >has been just broken [by] design. <snip> >V. long temr solution, developer side > >The fullpoly flag is a dangerous thing that should not be used by users >and should be removed from the code. In fact I should just remove it >imediately - except that I can't because it would break compatibility with >the obsolete pcb format.... > >So the plan is this: <snip> >4. [...] I will look at whether I canfix bug#2 for cheap. If yes, I will >probably do that. [...] This is what happened now. The fix won't introduce major slowdown in the find code (rats nest optimization and drc) and is not too large either so I decided to go for it. Rationale: we generally want to get rid of fullpoly and we won't want new design to use it. But we will need to load old design properly, even if we will have bug#1 on fullpolys probably forever. Regards, Igor2 --0-615984158-1585897555=:10103 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=fullpoly.lht Content-Transfer-Encoding: BASE64 Content-ID: <alpine.DEB.2.00.2004030905550.10103@igor2priv> Content-Description: Content-Disposition: attachment; filename=fullpoly.lht aGE6cGNiLXJuZC1ib2FyZC12NiB7DQoNCiBsaTpzdHlsZXMgew0KICAgaGE6 U2lnbmFsIHsNCiAgICBkaWFtZXRlciA9IDIuMG1tDQogICAgdGV4dF9zY2Fs ZSA9IDANCiAgICB0ZXh0X3RoaWNrID0gMC4wDQogICAgdGhpY2tuZXNzID0g MTAuMG1pbA0KICAgIGhvbGUgPSAzMS41bWlsDQogICAgY2xlYXJhbmNlID0g MjAuMG1pbA0KICAgfQ0KICAgaGE6UG93ZXIgew0KICAgIGRpYW1ldGVyID0g Mi4ybW0NCiAgICB0ZXh0X3NjYWxlID0gMA0KICAgIHRleHRfdGhpY2sgPSAw LjANCiAgICB0aGlja25lc3MgPSAyMC4wbWlsDQogICAgaG9sZSA9IDEuMG1t DQogICAgY2xlYXJhbmNlID0gMjAuMG1pbA0KICAgfQ0KICAgaGE6RmF0IHsN CiAgICBkaWFtZXRlciA9IDEzNy44bWlsDQogICAgdGV4dF9zY2FsZSA9IDAN CiAgICB0ZXh0X3RoaWNrID0gMC4wDQogICAgdGhpY2tuZXNzID0gODAuMG1p bA0KICAgIGhvbGUgPSA0Ny4yNG1pbA0KICAgIGNsZWFyYW5jZSA9IDI1LjBt aWwNCiAgIH0NCiAgIGhhOlNpZy10aWdodCB7DQogICAgZGlhbWV0ZXIgPSA2 NC4wbWlsDQogICAgdGV4dF9zY2FsZSA9IDANCiAgICB0ZXh0X3RoaWNrID0g MC4wDQogICAgdGhpY2tuZXNzID0gMTAuMG1pbA0KICAgIGhvbGUgPSAzMS41 bWlsDQogICAgY2xlYXJhbmNlID0gMTIuMG1pbA0KICAgfQ0KIH0NCg0KIGhh Om1ldGEgew0KICAgaGE6c2l6ZSB7DQogICAgdGhlcm1hbF9zY2FsZSA9IDAu NTAwMDAwDQogICAgeCA9IDc3NS4wbWlsDQogICAgeSA9IDEuOWluDQogICB9 DQogICBoYTpncmlkIHsNCiAgICBzcGFjaW5nID0gMjUuMG1pbA0KICAgIG9m ZnNfeCA9IDAuMA0KICAgIG9mZnNfeSA9IDAuMA0KICAgfQ0KIH0NCg0KIGhh OmRhdGEgew0KICBsaTpwYWRzdGFja19wcm90b3R5cGVzIHsNCg0KICAgIGhh OnBzX3Byb3RvX3Y2LjAgew0KICAgICAgaGRpYT00Ny4yNG1pbDsgaHBsYXRl ZD0xOyBodG9wPTA7IGhib3R0b209MDsNCiAgICAgIGxpOnNoYXBlIHsNCg0K ICAgICAgICBoYTpwc19zaGFwZV92NCB7DQogICAgICAgICBoYTpwc19jaXJj IHsgeD0wLjA7IHk9MC4wOyBkaWE9MTM3LjhtaWw7ICAgICAgICAgfQ0KICAg ICAgICAgaGE6Y29tYmluaW5nIHsgICAgICAgICB9DQogICAgICAgICBoYTps YXllcl9tYXNrIHsNCiAgICAgICAgICBjb3BwZXIgPSAxDQogICAgICAgICAg dG9wID0gMQ0KICAgICAgICAgfQ0KICAgICAgICAgY2xlYXJhbmNlPTAuMA0K ICAgICAgICB9DQoNCiAgICAgICAgaGE6cHNfc2hhcGVfdjQgew0KICAgICAg ICAgaGE6cHNfY2lyYyB7IHg9MC4wOyB5PTAuMDsgZGlhPTEzNy44bWlsOyAg ICAgICAgIH0NCiAgICAgICAgIGhhOmNvbWJpbmluZyB7ICAgICAgICAgfQ0K ICAgICAgICAgaGE6bGF5ZXJfbWFzayB7DQogICAgICAgICAgYm90dG9tID0g MQ0KICAgICAgICAgIGNvcHBlciA9IDENCiAgICAgICAgIH0NCiAgICAgICAg IGNsZWFyYW5jZT0wLjANCiAgICAgICAgfQ0KDQogICAgICAgIGhhOnBzX3No YXBlX3Y0IHsNCiAgICAgICAgIGhhOnBzX2NpcmMgeyB4PTAuMDsgeT0wLjA7 IGRpYT0xMzcuOG1pbDsgICAgICAgICB9DQogICAgICAgICBoYTpjb21iaW5p bmcgeyAgICAgICAgIH0NCiAgICAgICAgIGhhOmxheWVyX21hc2sgew0KICAg ICAgICAgIGNvcHBlciA9IDENCiAgICAgICAgICBpbnRlcm4gPSAxDQogICAg ICAgICB9DQogICAgICAgICBjbGVhcmFuY2U9MC4wDQogICAgICAgIH0NCiAg ICAgIH0NCiAgICB9DQogIH0NCg0KICAgbGk6b2JqZWN0cyB7DQogICAgaGE6 cGFkc3RhY2tfcmVmLjMxIHsNCiAgICAgcHJvdG89MDsgeD01MjUuMG1pbDsg eT0zMDAuMG1pbDsgcm90PTAuMDAwMDAwOyB4bWlycm9yPTA7IHNtaXJyb3I9 MDsgY2xlYXJhbmNlPTAuMDsNCiAgICAgaGE6ZmxhZ3Mgew0KICAgICAgY2xl YXJsaW5lPTENCiAgICAgfQ0KDQogICAgIGxpOnRoZXJtYWwgew0KICAgICAg IGxpOjAgew0KICAgICAgICBkaWFnICANCiAgICAgICAgcm91bmQgIA0KICAg ICAgICBub3NoYXBlICANCiAgICAgICB9DQogICAgIH0NCiAgICB9DQogICB9 DQogICBsaTpsYXllcnMgew0KDQogICAgaGE6dG9wLXNpZyB7DQogICAgIGxp ZD0wDQogICAgIGdyb3VwPTENCiAgICAgaGE6Y29tYmluaW5nIHsgICAgIH0N Cg0KICAgICAgaGE6YXR0cmlidXRlcyB7DQogICAgICAgIHtwY2Itcm5kOjpr ZXk6OnZpc309ezxLZXk+bDsgU2hpZnQ8S2V5PnR9DQogICAgICAgIHtwY2It cm5kOjprZXk6OnNlbGVjdH09ezxLZXk+bDsgPEtleT50fQ0KICAgICAgfQ0K DQogICAgICBsaTpvYmplY3RzIHsNCiAgICAgICBoYTpsaW5lLjEwIHsNCiAg ICAgICAgeDE9NzUuMG1pbDsgeTE9MTAwMC4wbWlsOyB4Mj03MDAuMG1pbDsg eTI9MTAwMC4wbWlsOyB0aGlja25lc3M9MTAuMG1pbDsgY2xlYXJhbmNlPTQw LjBtaWw7DQogICAgICAgIGhhOmZsYWdzIHsNCiAgICAgICAgIGNsZWFybGlu ZT0xDQogICAgICAgIH0NCiAgICAgICB9DQogICAgICAgaGE6bGluZS4xMyB7 DQogICAgICAgIHgxPTMwMC4wbWlsOyB5MT0zNzUuMG1pbDsgeDI9MzAwLjBt aWw7IHkyPTEwMC4wbWlsOyB0aGlja25lc3M9ODAuMG1pbDsgY2xlYXJhbmNl PTUwLjBtaWw7DQogICAgICAgfQ0KICAgICAgIGhhOmFyYy4yMiB7DQogICAg ICAgIHg9MC4wOyB5PTMyNS4wbWlsOyB3aWR0aD0xNzUuMG1pbDsgaGVpZ2h0 PTE3NS4wbWlsOyBhc3RhcnQ9MTgwLjAwMDAwMDsgYWRlbHRhPTkwLjAwMDAw MDsgdGhpY2tuZXNzPTgwLjBtaWw7IGNsZWFyYW5jZT01MC4wbWlsOw0KICAg ICAgIH0NCiAgICAgICBoYTpwb2x5Z29uLjUgeyBjbGVhcmFuY2U9NDAuMG1p bDsNCiAgICAgICAgbGk6Z2VvbWV0cnkgew0KICAgICAgICAgIHRhOmNvbnRv dXIgew0KICAgICAgICAgICB7IDE1MC4wbWlsOyAzMDAuMG1pbCB9DQogICAg ICAgICAgIHsgNTAwLjBtaWw7IDMwMC4wbWlsIH0NCiAgICAgICAgICAgeyA1 MDAuMG1pbDsgNDYuOTltbSB9DQogICAgICAgICAgIHsgMTUwLjBtaWw7IDQ2 Ljk5bW0gfQ0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIGhh OmZsYWdzIHsNCiAgICAgICAgIGZ1bGxwb2x5PTENCiAgICAgICAgIGNsZWFy cG9seT0xDQogICAgICAgIH0NCiAgICAgICB9DQogICAgICAgaGE6cG9seWdv bi4zOCB7IGNsZWFyYW5jZT01MC4wbWlsOw0KICAgICAgICBsaTpnZW9tZXRy eSB7DQogICAgICAgICAgdGE6Y29udG91ciB7DQogICAgICAgICAgIHsgMzc1 LjBtaWw7IDUwLjBtaWwgfQ0KICAgICAgICAgICB7IDQwMC4wbWlsOyA1MC4w bWlsIH0NCiAgICAgICAgICAgeyA0MDAuMG1pbDsgNDAwLjBtaWwgfQ0KICAg ICAgICAgICB7IDM3NS4wbWlsOyA0MDAuMG1pbCB9DQogICAgICAgICAgfQ0K ICAgICAgICB9DQoNCiAgICAgICAgaGE6ZmxhZ3Mgew0KICAgICAgICAgY2xl YXJwb2x5PTENCiAgICAgICAgfQ0KICAgICAgIH0NCiAgICAgIH0NCiAgICAg IGNvbG9yID0geyM4YjIzMjN9DQogICAgfQ0KDQogICAgaGE6b3V0bGluZSB7 DQogICAgIGxpZD0xDQogICAgIGdyb3VwPTUNCiAgICAgaGE6Y29tYmluaW5n IHsgICAgIH0NCg0KICAgICAgbGk6b2JqZWN0cyB7DQogICAgICB9DQogICAg ICBjb2xvciA9IHsjMDA4NjhifQ0KICAgIH0NCg0KICAgIGhhOnRvcC1tYXNr IHsNCiAgICAgbGlkPTINCiAgICAgZ3JvdXA9MA0KICAgICBoYTpjb21iaW5p bmcgeyBzdWI9MTsgYXV0bz0xOyAgICAgfQ0KDQogICAgICBsaTpvYmplY3Rz IHsNCiAgICAgIH0NCiAgICAgIGNvbG9yID0geyNmZjAwMDB9DQogICAgfQ0K DQogICAgaGE6ZmFiIHsNCiAgICAgbGlkPTMNCiAgICAgZ3JvdXA9Ng0KICAg ICBoYTpjb21iaW5pbmcgeyBhdXRvPTE7ICAgICB9DQoNCiAgICAgIGxpOm9i amVjdHMgew0KICAgICAgfQ0KICAgICAgY29sb3IgPSB7IzIyMjIyMn0NCiAg ICB9DQogICB9DQogfQ0KIGhhOmxheWVyX3N0YWNrIHsNCiAgbGk6Z3JvdXBz IHsNCiAgIGhhOjAgew0KICAgIG5hbWUgPSB0b3BfbWFzaw0KICAgIGhhOnR5 cGUgeyB0b3A9MTsgbWFzaz0xOyAgICB9DQogICAgbGk6bGF5ZXJzIHsgMjsg ICAgfQ0KICAgfQ0KICAgaGE6MSB7DQogICAgbmFtZSA9IHRvcF9jb3BwZXIN CiAgICBoYTp0eXBlIHsgIHRvcD0xOyBjb3BwZXI9MTsgICAgfQ0KICAgIGxp OmxheWVycyB7IDA7ICAgIH0NCiAgIH0NCiAgIGhhOjIgew0KICAgIG5hbWUg PSBncnBfNA0KICAgIGhhOnR5cGUgeyAgc3Vic3RyYXRlPTE7IGludGVybj0x OyAgICB9DQogICAgbGk6bGF5ZXJzIHsgICAgIH0NCiAgICAgaGE6YXR0cmli dXRlcyB7DQogICAgICB0aGlja25lc3M9ezAuNzM3NW1tIH0NCiAgICAgfQ0K ICAgfQ0KICAgaGE6MyB7DQogICAgbmFtZSA9IGdycF82DQogICAgaGE6dHlw ZSB7ICBzdWJzdHJhdGU9MTsgaW50ZXJuPTE7ICAgIH0NCiAgICBsaTpsYXll cnMgeyAgICAgfQ0KICAgICBoYTphdHRyaWJ1dGVzIHsNCiAgICAgIHRoaWNr bmVzcz17MC4xMjVtbSB9DQogICAgIH0NCiAgIH0NCiAgIGhhOjQgew0KICAg IG5hbWUgPSBncnBfOA0KICAgIGhhOnR5cGUgeyBzdWJzdHJhdGU9MTsgaW50 ZXJuPTE7ICAgIH0NCiAgICBsaTpsYXllcnMgeyAgICB9DQogICAgaGE6YXR0 cmlidXRlcyB7DQogICAgIHRoaWNrbmVzcz17MC43Mzc1bW0gfQ0KICAgIH0N CiAgIH0NCiAgIGhhOjUgew0KICAgIG5hbWUgPSBnbG9iYWxfb3V0bGluZQ0K ICAgIGhhOnR5cGUgeyAgYm91bmRhcnk9MTsgICAgfQ0KICAgIGxpOmxheWVy cyB7IDE7ICAgIH0NCiAgICAgcHVycG9zZSA9IHVyb3V0ZQ0KICAgfQ0KICAg aGE6NiB7DQogICAgbmFtZSA9IGZhYg0KICAgIGhhOnR5cGUgeyAgdG9wPTE7 IGRvYz0xOyAgICB9DQogICAgbGk6bGF5ZXJzIHsgICAgIDM7fQ0KICAgIGhh OmF0dHJpYnV0ZXMgew0KICAgICAgaW5pdC1pbnZpcz0xDQogICAgfQ0KICAg ICBwdXJwb3NlID0gZmFiDQogICB9DQogIH0NCiB9DQogbGk6cGNiLXJuZC1j b25mLXYxIHsNCiAgaGE6b3ZlcndyaXRlIHsNCiAgIGhhOmRlc2lnbiB7DQog ICAgdGV4dF9mb250X2lkID0gMA0KICAgIHRleHRfc2NhbGUgPSAxMDANCiAg ICB2aWFfdGhpY2tuZXNzID0gMTM3LjgwIG1pbA0KICAgIHZpYV9kcmlsbGlu Z19ob2xlID0gNDcuMjQgbWlsDQogICAgdGV4dF90aGlja25lc3MgPSAwDQog ICAgbGluZV90aGlja25lc3MgPSA4MC4wMCBtaWwNCiAgICBjbGVhcmFuY2Ug PSAyNS4wMCBtaWwNCiAgIH0NCiAgIGhhOmVkaXRvciB7DQogICB9DQogIH0N CiB9DQp9DQo= --0-615984158-1585897555=:10103--
Reply subtree:
3900 Re: [pcb-rnd] connectivity bug -> fullpoly again from ge...@igor2.repo.hu