diff --git a/CalcPocketing.cpp b/CalcPocketing.cpp index b457daf..b01d793 100644 --- a/CalcPocketing.cpp +++ b/CalcPocketing.cpp @@ -1143,9 +1143,13 @@ AdjustOpenEdge( const ICurveComposite* pCrvCompo, const ICRVCOMPOPOVECTOR& vCrvI // definisco la regione di incidenza PtrOwner pSfrInc( CreateSurfFlatRegion()) ; - if ( IsNull( pSfrInc) || - ! CreateSurfFrIncidence( pCrvBorder, PockParams, vtTanS, vtTanE, dRad + 75 * EPS_SMALL, pSfrInc)) + if ( IsNull( pSfrInc)) return false ; + if ( ! CreateSurfFrIncidence( pCrvBorder, PockParams, vtTanS, vtTanE, dRad + 75 * EPS_SMALL, pSfrInc)) { + pSfrInc.Set( GetSurfFlatRegionFromFatCurve( CloneCurveComposite( pCrvBorder), dRad + 75 * EPS_SMALL, false, false)) ; + if ( IsNull( pSfrInc) || ! pSfrInc->IsValid()) + return false ; + } // creo un vettore con tutte le curve che potrebbero cadere, in parte, nella regione di incidenza ICRVCOMPOPOVECTOR vCrvToCheck ;