|
|
|
@ -838,10 +838,10 @@ void PlotSolderMaskLayer( BOARD *aBoard, PLOTTER* aPlotter, LSET aLayerMask, |
|
|
|
|
|
|
|
for( FOOTPRINT* footprint : aBoard->Footprints() ) |
|
|
|
{ |
|
|
|
itemplotter.PlotFootprintTextItems( footprint ); |
|
|
|
|
|
|
|
for( BOARD_ITEM* item : footprint->GraphicalItems() ) |
|
|
|
{ |
|
|
|
itemplotter.PlotFootprintTextItems( footprint ); |
|
|
|
|
|
|
|
if( item->Type() == PCB_FP_SHAPE_T && item->GetLayer() == layer ) |
|
|
|
itemplotter.PlotFootprintGraphicItem( (FP_SHAPE*) item ); |
|
|
|
} |
|
|
|
@ -921,7 +921,7 @@ void PlotSolderMaskLayer( BOARD *aBoard, PLOTTER* aPlotter, LSET aLayerMask, |
|
|
|
|
|
|
|
for( ZONE* zone : aBoard->Zones() ) |
|
|
|
{ |
|
|
|
if( zone->GetLayer() != layer ) |
|
|
|
if( !zone->IsOnLayer( layer ) ) |
|
|
|
continue; |
|
|
|
|
|
|
|
// add shapes inflated by aMinThickness/2 in areas
|
|
|
|
@ -930,14 +930,14 @@ void PlotSolderMaskLayer( BOARD *aBoard, PLOTTER* aPlotter, LSET aLayerMask, |
|
|
|
// add shapes with their exact mask layer size in initialPolys
|
|
|
|
zone->TransformSmoothedOutlineToPolygon( initialPolys, zone_margin, boardOutline ); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
int numSegs = GetArcToSegmentCount( inflate, maxError, 360.0 ); |
|
|
|
int numSegs = GetArcToSegmentCount( inflate, maxError, 360.0 ); |
|
|
|
|
|
|
|
// Merge all polygons: After deflating, not merged (not overlapping) polygons
|
|
|
|
// will have the initial shape (with perhaps small changes due to deflating transform)
|
|
|
|
areas.Simplify( SHAPE_POLY_SET::PM_STRICTLY_SIMPLE ); |
|
|
|
areas.Deflate( inflate, numSegs ); |
|
|
|
} |
|
|
|
// Merge all polygons: After deflating, not merged (not overlapping) polygons
|
|
|
|
// will have the initial shape (with perhaps small changes due to deflating transform)
|
|
|
|
areas.Simplify( SHAPE_POLY_SET::PM_STRICTLY_SIMPLE ); |
|
|
|
areas.Deflate( inflate, numSegs ); |
|
|
|
|
|
|
|
#if !NEW_ALGO
|
|
|
|
// To avoid a lot of code, use a ZONE to handle and plot polygons, because our polygons look
|
|
|
|
@ -967,7 +967,7 @@ void PlotSolderMaskLayer( BOARD *aBoard, PLOTTER* aPlotter, LSET aLayerMask, |
|
|
|
|
|
|
|
// Slightly inflate polygons to avoid any gap between them and other shapes,
|
|
|
|
// These gaps are created by arc to segments approximations
|
|
|
|
areas.Inflate( Millimeter2iu( 0.002 ),6 ); |
|
|
|
areas.Inflate( Millimeter2iu( 0.002 ), 6 ); |
|
|
|
|
|
|
|
// Now, only polygons with a too small thickness are stored in areas.
|
|
|
|
areas.Fracture( SHAPE_POLY_SET::PM_STRICTLY_SIMPLE ); |
|
|
|
|