From 5bc7036e981dc8dfa7cae47d3f041ecb0bb386c6 Mon Sep 17 00:00:00 2001 From: Daniele Bariletti Date: Mon, 10 Mar 2025 12:40:36 +0100 Subject: [PATCH] - miglioria per la copia di SurfBezier. --- SurfBezier.cpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/SurfBezier.cpp b/SurfBezier.cpp index 62f4f17..23431f6 100644 --- a/SurfBezier.cpp +++ b/SurfBezier.cpp @@ -632,25 +632,24 @@ SurfBezier::CopyFrom( const SurfBezier& sbSrc) m_bTrimmed = true ; m_pTrimReg = sbSrc.m_pTrimReg->Clone() ; } - if ( sbSrc.m_pSTM != nullptr) { - m_pSTM = sbSrc.m_pSTM->Clone() ; - for ( int i = 0 ; i < int( sbSrc.m_mCCEdge.size()) ; ++i) { - m_mCCEdge.emplace_back() ; - for ( int j = 0 ; j < int( sbSrc.m_mCCEdge[i].size()) ; ++j ) { - m_mCCEdge.back().emplace_back( sbSrc.m_mCCEdge[i][j]->Clone()) ; - } - } - if( sbSrc.m_bTrimmed) { - for ( int i = 0 ; i < int( sbSrc.m_vCCLoop.size()) ; ++i) - m_vCCLoop.emplace_back( sbSrc.m_vCCLoop[i]->Clone()); + m_pSTM = sbSrc.GetAuxSurf()->Clone() ; + for ( int i = 0 ; i < int( sbSrc.m_mCCEdge.size()) ; ++i) { + m_mCCEdge.emplace_back() ; + for ( int j = 0 ; j < int( sbSrc.m_mCCEdge[i].size()) ; ++j ) { + m_mCCEdge.back().emplace_back( sbSrc.m_mCCEdge[i][j]->Clone()) ; } } + if( sbSrc.m_bTrimmed) { + for ( int i = 0 ; i < int( sbSrc.m_vCCLoop.size()) ; ++i) + m_vCCLoop.emplace_back( sbSrc.m_vCCLoop[i]->Clone()); + } m_bClosedU = sbSrc.m_bClosedU ; m_bClosedV = sbSrc.m_bClosedV ; m_nTempProp[0] = sbSrc.m_nTempProp[0] ; m_nTempProp[1] = sbSrc.m_nTempProp[1] ; m_dTempParam[0] = sbSrc.m_dTempParam[0] ; m_dTempParam[1] = sbSrc.m_dTempParam[1] ; + return true ; }