Browse Source

de-boostization: Fixed incorrect zone fill clearance when overlapped with another zone of higher priority.

pull/6/head
Jean-Pierre Charras 10 years ago
committed by Maciej Suminski
parent
commit
1d26647a60
  1. 10
      pcbnew/zones_convert_to_polygons_aux_functions.cpp

10
pcbnew/zones_convert_to_polygons_aux_functions.cpp

@ -49,8 +49,9 @@
void ZONE_CONTAINER::TransformOutlinesShapeWithClearanceToPolygon(
SHAPE_POLY_SET& aCornerBuffer, int aMinClearanceValue, bool aUseNetClearance )
{
// Creates the zone outline polygon (with linked holes if any)
BuildFilledSolidAreasPolygons( NULL, &aCornerBuffer );
// Creates the zone outline polygon (with holes if any)
SHAPE_POLY_SET polybuffer;
BuildFilledSolidAreasPolygons( NULL, &polybuffer );
// add clearance to outline
int clearance = aMinClearanceValue;
@ -65,9 +66,10 @@ void ZONE_CONTAINER::TransformOutlinesShapeWithClearanceToPolygon(
// Calculate the polygon with clearance
// holes are linked to the main outline, so only one polygon is created.
if( clearance )
aCornerBuffer.Inflate( clearance, 16 );
polybuffer.Inflate( clearance, 16 );
aCornerBuffer.Fracture( );
polybuffer.Fracture();
aCornerBuffer.Append( polybuffer );
}

Loading…
Cancel
Save