pcbnew: Allow an epsilon in the inflate before join

Plotting mask layers, we expand by a minimum width before performing a
boolean add of the separate regions.  The boolean add has a separation
condition that includes equality.  Since we are looking for the
complement of the mask, we would like the equality applied to the other
side.  Removing a unit value provides the separation.

Fixes: lp:1698457
* https://bugs.launchpad.net/kicad/+bug/1698457
This commit is contained in:
Seth Hillbrand 2019-01-22 19:50:41 -08:00
parent 0c723778f0
commit 6421b15b83
1 changed files with 5 additions and 1 deletions

View File

@ -774,7 +774,11 @@ void PlotSolderMaskLayer( BOARD *aBoard, PLOTTER* aPlotter,
int aMinThickness )
{
PCB_LAYER_ID layer = aLayerMask[B_Mask] ? B_Mask : F_Mask;
int inflate = aMinThickness/2;
// We remove 1nm as we expand both sides of the shapes, so allowing for
// a strictly greater than or equal comparison in the shape separation (boolean add)
// means that we will end up with separate shapes that then are shrunk
int inflate = aMinThickness/2 - 1;
BRDITEMS_PLOTTER itemplotter( aPlotter, aBoard, aPlotOpt );
itemplotter.SetLayerSet( aLayerMask );