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
(cherry picked from commit 9ca35cbcee
)
This commit is contained in:
parent
507d7916ee
commit
e278e77314
|
@ -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