de-boostization: Fixed incorrect zone fill clearance when overlapped with another zone of higher priority.
This commit is contained in:
parent
1d7e49a45c
commit
1d26647a60
|
@ -49,8 +49,9 @@
|
||||||
void ZONE_CONTAINER::TransformOutlinesShapeWithClearanceToPolygon(
|
void ZONE_CONTAINER::TransformOutlinesShapeWithClearanceToPolygon(
|
||||||
SHAPE_POLY_SET& aCornerBuffer, int aMinClearanceValue, bool aUseNetClearance )
|
SHAPE_POLY_SET& aCornerBuffer, int aMinClearanceValue, bool aUseNetClearance )
|
||||||
{
|
{
|
||||||
// Creates the zone outline polygon (with linked holes if any)
|
// Creates the zone outline polygon (with holes if any)
|
||||||
BuildFilledSolidAreasPolygons( NULL, &aCornerBuffer );
|
SHAPE_POLY_SET polybuffer;
|
||||||
|
BuildFilledSolidAreasPolygons( NULL, &polybuffer );
|
||||||
|
|
||||||
// add clearance to outline
|
// add clearance to outline
|
||||||
int clearance = aMinClearanceValue;
|
int clearance = aMinClearanceValue;
|
||||||
|
@ -65,9 +66,10 @@ void ZONE_CONTAINER::TransformOutlinesShapeWithClearanceToPolygon(
|
||||||
// Calculate the polygon with clearance
|
// Calculate the polygon with clearance
|
||||||
// holes are linked to the main outline, so only one polygon is created.
|
// holes are linked to the main outline, so only one polygon is created.
|
||||||
if( clearance )
|
if( clearance )
|
||||||
aCornerBuffer.Inflate( clearance, 16 );
|
polybuffer.Inflate( clearance, 16 );
|
||||||
|
|
||||||
aCornerBuffer.Fracture( );
|
polybuffer.Fracture();
|
||||||
|
aCornerBuffer.Append( polybuffer );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue