diff --git a/opennurbs_brep_tools.cpp b/opennurbs_brep_tools.cpp index cd00d5bf..0b0c0dcb 100644 --- a/opennurbs_brep_tools.cpp +++ b/opennurbs_brep_tools.cpp @@ -2528,12 +2528,24 @@ bool ON_Brep::MatchTrimEnds(ON_BrepTrim& T0, if (!nc0->SetEndPoint(ON_3dPoint(p))) return false; + ON_BrepLoop* pLoop = T0.Loop(); + if (pLoop && pLoop != T1.Loop()) + pLoop = nullptr; + // clean up T1 flags and cached information if(xiso0 && p0.x != p.x) T0.m_iso = ON_Surface::not_iso; if(yiso0 && p0.y != p.y) T0.m_iso = ON_Surface::not_iso; T0.m_pline.Destroy(); - if ( T0.m_pbox.IsValid() ) - T0.m_pbox.Set( ON_3dPoint(p), true ); + + if ( T0.m_pbox.IsValid()) + { + T0.m_pbox.Set( ON_3dPoint(p), true); + + if (pLoop && pLoop->m_pbox.IsValid()) + { + pLoop->m_pbox.Set(ON_3dPoint(p), true); + } + } T0.DestroyCurveTree(); if (!nc1->SetStartPoint(ON_3dPoint(p))) @@ -2543,8 +2555,15 @@ bool ON_Brep::MatchTrimEnds(ON_BrepTrim& T0, if(xiso1 && p1.x != p.x) T1.m_iso = ON_Surface::not_iso; if(yiso1 && p1.y != p.y) T1.m_iso = ON_Surface::not_iso; T1.m_pline.Destroy(); - if ( T1.m_pbox.IsValid() ) - T1.m_pbox.Set( ON_3dPoint(p), true ); + if ( T1.m_pbox.IsValid()) + { + T1.m_pbox.Set( ON_3dPoint(p), true); + + if (pLoop && pLoop->m_pbox.IsValid()) + { + pLoop->m_pbox.Set(ON_3dPoint(p), true); + } + } T1.DestroyCurveTree(); return true; diff --git a/opennurbs_public_version.h b/opennurbs_public_version.h index a4f99228..55d4ad6e 100644 --- a/opennurbs_public_version.h +++ b/opennurbs_public_version.h @@ -15,8 +15,8 @@ // #define RMA_VERSION_YEAR 2024 #define RMA_VERSION_MONTH 6 -#define RMA_VERSION_DATE 2 -#define RMA_VERSION_HOUR 11 +#define RMA_VERSION_DATE 14 +#define RMA_VERSION_HOUR 15 #define RMA_VERSION_MINUTE 0 //////////////////////////////////////////////////////////////// @@ -35,8 +35,8 @@ // 3 = build system release build #define RMA_VERSION_BRANCH 0 -#define VERSION_WITH_COMMAS 8,8,24154,11000 -#define VERSION_WITH_PERIODS 8.8.24154.11000 +#define VERSION_WITH_COMMAS 8,8,24166,15000 +#define VERSION_WITH_PERIODS 8.8.24166.15000 #define COPYRIGHT "Copyright (C) 1993-2024, Robert McNeel & Associates. All Rights Reserved." #define SPECIAL_BUILD_DESCRIPTION "Public OpenNURBS C++ 3dm file IO library." @@ -47,8 +47,8 @@ #define RMA_VERSION_NUMBER_SR_STRING "SR8" #define RMA_VERSION_NUMBER_SR_WSTRING L"SR8" -#define RMA_VERSION_WITH_PERIODS_STRING "8.8.24154.11000" -#define RMA_VERSION_WITH_PERIODS_WSTRING L"8.8.24154.11000" +#define RMA_VERSION_WITH_PERIODS_STRING "8.8.24166.15000" +#define RMA_VERSION_WITH_PERIODS_WSTRING L"8.8.24166.15000"