def getLoopsDifference(importRadius, loopLists):
 negativeLoops = getLoopsUnified(importRadius, loopLists[1:])
 intercircle.directLoops(False, negativeLoops)
 positiveLoops = loopLists[0]
 intercircle.directLoops(True, positiveLoops)
 radiusSide = (0.01 * importRadius)
 corners = getLoopsListsIntersections(loopLists)
 corners += getInsetPointsByInsetLoops(negativeLoops, True, positiveLoops, radiusSide)
 corners += getInsetPointsByInsetLoops(positiveLoops, False, negativeLoops, radiusSide)
 allPoints = corners[:]
 allPoints += getInsetPointsByInsetLoops(getInBetweenLoopsFromLoops(importRadius, negativeLoops), True, positiveLoops, radiusSide)
 allPoints += getInsetPointsByInsetLoops(getInBetweenLoopsFromLoops(importRadius, positiveLoops), False, negativeLoops, radiusSide)
 return trianglemesh.getDescendingAreaLoops(allPoints, corners, importRadius)

def getLoopsDifference ( importRadius , loopLists ) : negativeLoops = getLoopsUnified ( importRadius , loopLists [ 1 : ] ) intercircle . directLoops ( False , negativeLoops ) positiveLoops = loopLists [ 0 ] intercircle . directLoops ( True , positiveLoops ) radiusSide = ( 0.01 * importRadius ) corners = getLoopsListsIntersections ( loopLists ) corners += getInsetPointsByInsetLoops ( negativeLoops , True , positiveLoops , radiusSide ) corners += getInsetPointsByInsetLoops ( positiveLoops , False , negativeLoops , radiusSide ) allPoints = corners [ : ] allPoints += getInsetPointsByInsetLoops ( getInBetweenLoopsFromLoops ( importRadius , negativeLoops ) , True , positiveLoops , radiusSide ) allPoints += getInsetPointsByInsetLoops ( getInBetweenLoopsFromLoops ( importRadius , positiveLoops ) , False , negativeLoops , radiusSide ) return trianglemesh . getDescendingAreaLoops ( allPoints , corners , importRadius )
get difference loops .