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

Re: gEDA-user: pcb, how to remove mm garbage (very short lines)?



Peter Clifton <pcjc2@xxxxxxxxx> writes:

> 1. Really high resolution integer coordinate space.

Specificially, high enough to be an whole fraction of our existing
units.

> Reduces available board dimensions due to size of integers.

Yup.

> (Or go to floating-point.. -> Still limited precision for a big board).

double precision is 53 bits of precision, higher than int32 but less
than int64.

> We would presumably store value and units.

I won't contemplate this without some C++ class hiding the ugly
details.  I've seen a magazine article about it, there are ways to do
it right that are clean and easy to understand.  The below example is
not it ;-)

> point->x.value = 1000000;
> point->x.unit  = PCB_UNIT_NM;

> One final thought.. could we round the width / height of the line to
> internal coordinate units, and (say), the start-point, rather than
> both end-points? That way, the line-drawing code could properly
> constrain the drawn line to be diagonal.

Won't help.  The problem is that we *start* with internal coordinates
that aren't 45's from each other.

What we'd need is some AI that does minor tweaks to other lines to
make things line up better.


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