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

Re: gEDA-user: pcjc2 tessellation



On Mon, 2011-05-30 at 09:37 +0200, Gabriel Paubert wrote:

> > > Think i know now. Polygons can't have edges that cross other edges.
> > 
> > You got it.. PCB doesn't allow self intersecting polygons, so I removed
> > support for rendering them in an attempt to manage the complexity (and
> > hopefully improve speed of) the tessellator.
> 
> So, what happens if one directly tinkers with the PCB file with
> an editor or script and creates a self interscting polygon
> by mistake?

"Bad things" (TM).

Certainly the polygon computations will give bogus results, because one
of the key underlying assumptions of the polygon algebra routines is
violated.

If PCB is built with asserts enabled, it will just quit immediately when
loading your file.

> It's not so far fetched, I sometimes edit coordinates in the
> file to match mechanical design. I can make a mistake or, 
> if it is a script (which also happens), it can have a bug.

Its not ideal, but PCB doesn't report these problems unless asserts are
enabled (which makes PCB slow). We should probably add a validation pass
when loading the board and refuse to display any damaged polygon.

That should at least help to pick any problems up with hand (or script)
edited boards sooner rather than later.

-- 
Peter Clifton

Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA

Tel: +44 (0)7729 980173 - (No signal in the lab!)
Tel: +44 (0)1223 748328 - (Shared lab phone, ask for me)

Attachment: signature.asc
Description: This is a digitally signed message part


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