Mailing list archives : pcb-rnd

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