diff --git a/SurfBezier.cpp b/SurfBezier.cpp index d17618f..265236c 100644 --- a/SurfBezier.cpp +++ b/SurfBezier.cpp @@ -582,7 +582,7 @@ SurfBezier::CopyFrom( const SurfBezier& sbSrc) m_vWeCtrl = sbSrc.m_vWeCtrl ; if ( sbSrc.m_bTrimmed) { m_bTrimmed = true ; - m_pTrimReg = sbSrc.m_pTrimReg ; + m_pTrimReg = sbSrc.m_pTrimReg->Clone() ; } m_nTempProp[0] = sbSrc.m_nTempProp[0] ; m_nTempProp[1] = sbSrc.m_nTempProp[1] ; diff --git a/Tree.cpp b/Tree.cpp index bc08b3a..e51079c 100644 --- a/Tree.cpp +++ b/Tree.cpp @@ -24,11 +24,6 @@ #include "/EgtDev/Include/EGkDistPointCurve.h" #include "/EgtDev/Include/EGkCurve.h" #include "DistPointCrvComposite.h" -///////////per debug -//#include "/EgtDev/Include/EGkStringUtils3d.h" -//#include "/EgtDev/Include/EExDllMain.h" -///////////per debug - #include using namespace std ; @@ -100,8 +95,9 @@ Tree::SetSurf( const SurfBezier* pSrfBz, bool bSplitPatches, const Point3d& ptMi PtrOwner pLoop ( pChunk->GetLoop( 0, j)) ; // rimuovo i difetti dei loop prima di salvarli PtrOwner pCrvCompo( GetBasicCurveComposite(pLoop->Clone())) ; - pCrvCompo->RemoveSmallDefects(dLinTol, dAngTolDeg, true) ; - pCrvCompo->RemoveSmallParts(dLinTol, dAngTolDeg) ; + pCrvCompo->MergeCurves( dLinTol, dAngTolDeg) ; + pCrvCompo->RemoveSmallDefects( dLinTol, dAngTolDeg, true) ; + pCrvCompo->RemoveSmallParts( dLinTol, dAngTolDeg) ; PtrOwner pCrv( pCrvCompo->Clone()) ; m_vLoop.emplace_back( Release( pLoop)) ; m_mChunk[nLoop] = i ; @@ -1381,12 +1377,6 @@ Tree::GetPolygons( POLYLINEMATRIX& vPolygons) // scorro sulle celle e costruisco i poligoni int nCells = int( vPolygonsBasic.size()) ; for ( int i = 0 ; i < nCells ; ++ i) { - - ///////////per debug - //std::string sOut = std::to_string( i) ; - //LOG_ERROR( GetEGkLogger(), sOut.c_str()) ; - ///////////per debug - // // costruisco i poligoni partendo dal vettore delle intersezioni, come spiegato a pag15 di Cripps int nId = m_vnLeaves[i] ; if ( m_mTree[nId].m_nFlag == 4) {