router: use VIA::PushoutForce() for via push force calculation in the shove algorithm
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10317
This commit is contained in:
parent
4d0a317e3d
commit
79fe0bf456
|
@ -1012,8 +1012,7 @@ SHOVE::SHOVE_STATUS SHOVE::onCollidingVia( ITEM* aCurrent, VIA* aObstacleVia )
|
|||
const VIA& currentVia = currentLine->Via();
|
||||
int viaClearance = getClearance( ¤tVia, aObstacleVia );
|
||||
|
||||
viaCollision = aObstacleVia->Shape()->Collide( currentVia.Shape(), viaClearance,
|
||||
&mtvVia );
|
||||
viaCollision = aObstacleVia->PushoutForce( m_currentNode, ¤tVia, mtvVia );
|
||||
}
|
||||
}
|
||||
else if( aCurrent->OfKind( ITEM::SOLID_T ) )
|
||||
|
@ -1024,7 +1023,7 @@ SHOVE::SHOVE_STATUS SHOVE::onCollidingVia( ITEM* aCurrent, VIA* aObstacleVia )
|
|||
|
||||
// fixme: we may have a sign issue in Collide(CIRCLE, LINE_CHAIN)
|
||||
if( viaCollision )
|
||||
mtv = mtvVia;
|
||||
mtv = -mtvVia;
|
||||
else if ( lineCollision )
|
||||
mtv = -mtvLine;
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue