diff --git a/CurveComposite.cpp b/CurveComposite.cpp index d0fd1f4..73bdbb1 100644 --- a/CurveComposite.cpp +++ b/CurveComposite.cpp @@ -1913,6 +1913,12 @@ CurveComposite::TrimStartEndAtParam( double dUStartTrim, double dUEndTrim) bool CurveComposite::TrimStartAtLen( double dLenTrim) { + // verifico validità lunghezza risultante + if ( dLenTrim < EPS_ZERO) + return true ; + double dLen ; + if ( ! GetLength( dLen) || ( dLen - dLenTrim) < EPS_SMALL) + return false ; // ciclo sulle diverse curve dall'inizio double dLenToTrim = dLenTrim ; for ( auto Iter = m_CrvSmplS.begin() ; Iter != m_CrvSmplS.end() ;) { @@ -1959,6 +1965,14 @@ CurveComposite::TrimStartAtLen( double dLenTrim) bool CurveComposite::TrimEndAtLen( double dLenTrim) { + // verifico validità lunghezza risultante + if ( dLenTrim < EPS_SMALL) + return false ; + double dLen ; + if ( ! GetLength( dLen)) + return false ; + if ( ( dLen - dLenTrim) < EPS_ZERO) + return true ; // ciclo sulle diverse curve dalla fine bool bToErase = false ; double dLenToTrim = dLenTrim ; diff --git a/EgtGeomKernel.rc b/EgtGeomKernel.rc index 400f3e8..b030fc0 100644 Binary files a/EgtGeomKernel.rc and b/EgtGeomKernel.rc differ