[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Strange PCB warning



On 11/12/09, Peter Clifton <pcjc2@xxxxxxxxx> wrote:
> On Thu, 2009-11-12 at 17:16 +0000, Ineiev wrote:
>> Sorry, forgot to scale atan2 result:
> Is this patch still needed if the bounding-boxes were correct?

They _are_ correct: they include the arc with her clearance.
if they didn't include clearance, additional test is nonetheless needed:

e.g. arcs like these:
    ----\
\         \
  \---      \
have intersecting bounding boxes.

> Why does the arc intersection test use the bounding boxes anyway.. is it
> just a short-cut to avoid computing a more expensive geometric test in
> case the supposed circle intersection was outside the other arc's
> bounding box?

I think, yes (at least, this was _my_ intension).

> Does your patch explicitly allow for the thickness of the drawn arc?

You are right.

The function computes the intersection points of two arcs of zero width:
the first is has radius r1+arc1->Width+bloat, the second has the radius
r2+arc2->Width.
When they are situated like this:

--------\
    - \   \
       |    \
             \
(let them be close enough to want a DRC error, but the arc with the
center of the inner arc and radius r+arc->Width+bloat not intersect
the arc with the center of the outer one and radius r+arc->Width)

Then both current procedure and suggested patch shall miss the error:
both when arc1 is the inner arc and when arc1 is the outer one.
(this is another bug, though).

Probably the function should be rewritten almost completely.
I'll try tomorrow.

Regards,
Ineiev


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