Browse Source

Avoid Clipper when possible.

When expanding an error to the outside of a rounded corner pad we
need to trim it to the pad bounding box or else we get little ears
where the circle approximation meets the pad square.  This is expensive,
and for clearance lines we don't really care whether the error is
inside or outside.

Fixes https://gitlab.com/kicad/code/kicad/issues/8157
6.0.7
Jeff Young 5 years ago
parent
commit
a8b40bf683
  1. 4
      pcbnew/pcb_painter.cpp

4
pcbnew/pcb_painter.cpp

@ -1164,9 +1164,11 @@ void PCB_PAINTER::draw( const PAD* aPad, int aLayer )
else
{
SHAPE_POLY_SET polySet;
// Use ERROR_INSIDE because it avoids Clipper and is therefore much faster.
aPad->TransformShapeWithClearanceToPolygon( polySet, ToLAYER_ID( aLayer ),
clearance,
bds.m_MaxError, ERROR_OUTSIDE );
bds.m_MaxError, ERROR_INSIDE );
m_gal->DrawPolygon( polySet );
}
}

Loading…
Cancel
Save