I just filed this bug, and you can see I also found the cause and a
possible solution, but I'm surprised at how rtree works (as changed
by the patch attached to this bug).

Can someone who understands rtrees comment on the solution...

----- Forwarded message from "SourceForge.net" <[EMAIL PROTECTED]> -----

From: "SourceForge.net" <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Date: Sun, 15 Jul 2007 17:52:30 -0700
Subject: [ pcb-Bugs-1754502 ] 'find' will not find rat-to-rat conns at polygon 
corners

Bugs item #1754502, was opened at 2007-07-15 17:13
Message generated for change (Comment added) made by bjj
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=538811&aid=1754502&group_id=73743

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
>Priority: 7
Private: No
Submitted By: Ben Jackson (bjj)
Assigned to: Nobody/Anonymous (nobody)
Summary: 'find' will not find rat-to-rat conns at polygon corners

Initial Comment:
Rats group already-electrically-connected groups of objects in the same net by 
choosing the closest points between them and connecting them with rats.

Polygons are considered to be points (arbitrary vertex) in this process.

If you cause a rat to go from a pad to a polygon corner and then THAT is joined 
to ANOTHER pad from the corner, you have a pad-rat-rat-pad connection (with a 
polygon vertex equal to the intersection of the rats).

find doesn't traverse that.

I discovered this while modifying the rat code in a way which made it happen 
much more often, but the bug exists in cvs at the moment.  Just make a polygon, 
get it in some net.  Then take two resistors and put one near the "rat corner" 
inside and one just outside.  You'll get the construct I described.  Hit 'f' on 
one of the pads and observe the highlight trail stop at the rat-rat 
intersection.

I need this fixed for my other feature so I'll probably have a patch to find.c 
in a few minutes...

----------------------------------------------------------------------

>Comment By: Ben Jackson (bjj)
Date: 2007-07-15 17:52

Message:
Logged In: YES 
user_id=20600
Originator: YES

This could be fixed by explicitly looking for rat-to-rat connections, but
everything else works by finding that common object they touch, in this
case the polygon.

The reason the polygon isn't found is that the rat line goes to the exact
vertex of the polygon.  The rtree.c code looks at X,Y (the end of our rat)
and sees that it's EQUAL to one of the bounds, X1,Y1 and considers that a
miss.

I've included a patch to change rtree to consider things that touch like
that to be HITS instead of misses, but that may have far reaching
consequences.  Need someone who groks rtree.c to comment.
File Added: 1754502.DIFF

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=538811&aid=1754502&group_id=73743


----- End forwarded message -----

-- 
Ben Jackson AD7GD
<[EMAIL PROTECTED]>
http://www.ben.com/


_______________________________________________
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

Reply via email to