diff --git a/Operation.cpp b/Operation.cpp index 16a1a7a..8289425 100644 --- a/Operation.cpp +++ b/Operation.cpp @@ -5671,7 +5671,9 @@ Operation::OneMoveTestCollisionAvoid( const STRVECTOR& vAxName, const DBLVECTOR& // traslo il riferimento per avere il cilindro centrato sull'asse Y in positivo frHsol.Translate( frHsol.VersZ() * ptMin.z) ; // verifica di collisione tra cilindro e solido - if ( pStm == nullptr || CDeCylClosedSurfTm( frHsol, max( vtDiag.x, vtDiag.y) / 2, vtDiag.z, *pStm, dSafeDist)) { + double dCylR = max( {vtDiag.x / 2, vtDiag.y /2, 10 * EPS_SMALL}) ; + double dCylH = max( vtDiag.z, 10 * EPS_SMALL) ; + if ( pStm == nullptr || CDeCylClosedSurfTm( frHsol, dCylR, dCylH, *pStm, dSafeDist)) { bCollide = true ; break ; }