diff --git a/EgtGeomKernel.rc b/EgtGeomKernel.rc index 22fffab..13358a5 100644 Binary files a/EgtGeomKernel.rc and b/EgtGeomKernel.rc differ diff --git a/IntersCrvCompoCrvCompo.cpp b/IntersCrvCompoCrvCompo.cpp index 2a1f6aa..b80d786 100644 --- a/IntersCrvCompoCrvCompo.cpp +++ b/IntersCrvCompoCrvCompo.cpp @@ -567,14 +567,15 @@ IntersCrvCompoCrvCompo::IntersCrvCompoCrvCompo( const ICurveComposite& CCompoA, if ( m_Info[i].IciB[0].nPrevTy == ICCT_NULL) { if ( i > 0 || ( bCrvBClosed && ! bAutoInters)) { int j = ( i > 0 ? i - 1 : m_nNumInters - 1) ; - m_Info[i].IciB[0].nPrevTy = ( m_Info[j].bOverlap && ! m_Info[j].bCBOverEq ? m_Info[j].IciB[1].nNextTy : m_Info[j].IciB[0].nNextTy) ; + m_Info[i].IciB[0].nPrevTy = ( m_Info[j].bOverlap ? m_Info[j].IciB[1].nNextTy : m_Info[j].IciB[0].nNextTy) ; } } // se il tipo di allontanamento per la curva B non è definito - if ( m_Info[i].IciB[0].nNextTy == ICCT_NULL) { + int ki = ( m_Info[i].bOverlap ? 1 : 0) ; + if ( m_Info[i].IciB[ki].nNextTy == ICCT_NULL) { if ( i < m_nNumInters - 1 || ( bCrvBClosed && ! bAutoInters)) { int j = ( i < m_nNumInters - 1 ? i + 1 : 0) ; - m_Info[i].IciB[0].nNextTy = ( m_Info[j].bOverlap && ! m_Info[j].bCBOverEq ? m_Info[j].IciB[1].nPrevTy : m_Info[j].IciB[0].nPrevTy) ; + m_Info[i].IciB[ki].nNextTy = m_Info[j].IciB[0].nPrevTy ; } } }