Rework of a24cdcb3f0
Inflate with linked holes needs to account for fractured polygons, otherwise inflating with positive value will create rounded divots where overlapping fracture lines meet and inflating with negative value will create spaces between fracture lines. Calling Simplify before Inflate takes an inordinate amount of time as the Clipper healing routine is rather slow. Our own Unfracture is meant to heal the results of our Fracture routine and works much more quickly. After healing, we still call the Simplify routine
This commit is contained in:
parent
9c386026a8
commit
9ca35cbcee
|
@ -717,8 +717,8 @@ void SHAPE_POLY_SET::BooleanIntersection( const SHAPE_POLY_SET& a, const SHAPE_P
|
|||
void SHAPE_POLY_SET::InflateWithLinkedHoles( int aFactor, int aCircleSegmentsCount,
|
||||
POLYGON_MODE aFastMode )
|
||||
{
|
||||
Unfracture( aFastMode );
|
||||
Inflate( aFactor, aCircleSegmentsCount );
|
||||
Simplify( aFastMode );
|
||||
Fracture( aFastMode );
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue