DSP dances
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pcb |
Fix Released
|
High
|
Unassigned |
Bug Description
Diagonal squared pads approaching to square (that is those whose width is much more than the distance between their endpoints, as in 1206.fp) are shown in a delightful way. this is because round-off errors are multiplied when drawing the pad as a line. this can be seen when changing zoom in gtk gui (I think in lesstif, too). I dare not bother you with my explanations why this effect is not considerable for pads with rounded ends.
Gerber output is not affected, because such lines are drawn as polygons and the coordinates are rounded after computing the polygon vertices. PS output is not affected, because the coordinates are not rounded at all.
In the same piece of code (draw.c) there is another gorgeous thing. it is how the diagonal pads are drawn in thinline mode. square pads are shown as not diagonal; and it is almost inexpressible how rounded pads are drawn.
The patch applied eradicates those things. squared diagonal pads are drawn as polygons; thinline code for rouded pads is adjusted, too.
I pray dear developers don't fix this. PCB will not be PCB without it. your humble servant trusts your wisdom.
Changed in pcb: | |
milestone: | none → next-bug-release |
assignee: | nobody → Traumflug (mah-jump-ing) |
Changed in geda-project: | |
importance: | Undecided → High |
status: | New → Fix Released |
Changed in pcb: | |
assignee: | nobody → Traumflug (mah-jump-ing) |
Changed in pcb: | |
status: | Fix Committed → Fix Released |
Alas! somebody fixed thinline draw. fortunately, "solid line" squared diagonal pads dance as they did.
dspdances.bis.patch fixes the rest. I also changed thinline mode drawing for squared pads because the patches' get_pad_polygon() should be faster (single sqrt() vs atan2() +sin()+ cos()).