Account for segment width in aActual calculation.

Fixes https://gitlab.com/kicad/code/kicad/issues/5990
This commit is contained in:
Jeff Young 2020-10-14 11:05:23 +01:00
parent 12d21e34e2
commit 54dc91a623
1 changed files with 3 additions and 0 deletions

View File

@ -247,6 +247,9 @@ static inline bool Collide( const SHAPE_CIRCLE& aA, const SHAPE_SEGMENT& aSeg, i
if( aMTV ) if( aMTV )
*aMTV = -pushoutForce( aA, aSeg.GetSeg(), aClearance + aSeg.GetWidth() / 2); *aMTV = -pushoutForce( aA, aSeg.GetSeg(), aClearance + aSeg.GetWidth() / 2);
if( aActual )
*aActual = std::max( 0, *aActual - aSeg.GetWidth() / 2 );
return true; return true;
} }