diff --git a/ImportBtlx.cpp b/ImportBtlx.cpp index 28bf987..b531d7a 100644 --- a/ImportBtlx.cpp +++ b/ImportBtlx.cpp @@ -1526,7 +1526,7 @@ ImportBtlx::ReadProcessings( pugi::xml_node node) } // FreeContour else if ( sProcessName == "FreeContour"){ - bProcessOk = ReadFreeContourParams( *it, nGroup, nProc, nSide, vnDPar, nSPar, vdPar, sPar, curve_counter) ; + bProcessOk = ReadFreeContourParams( *it, nGroup, nProc, nSide, vnDPar, nSPar, vdPar, sPar, curve_counter, vsUAtt) ; if ( ! bProcessOk) return false ; bAdd = false ; diff --git a/ImportBtlx.h b/ImportBtlx.h index 2ce1c22..68bde7b 100644 --- a/ImportBtlx.h +++ b/ImportBtlx.h @@ -118,11 +118,11 @@ public : bool ReadDovetailParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar, DBLVECTOR& vdPar, std::string& sPar) ; bool ReadFreeContourParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, INTVECTOR& vnDPar, int& nSPar, - DBLVECTOR& vdPar, std::string& sPar, int& curve_counter) ; + DBLVECTOR& vdPar, std::string& sPar, int& curve_counter, STRVECTOR& vsUAtt) ; bool ReadSContourParams( pugi::xml_node process, int nType, int nOtherId, int& nGroup, int& nProc, int& nSide, - INTVECTOR& vnDPar, int& nSPar, DBLVECTOR& vdPar, std::string& sPar, int& curve_counter) ; + INTVECTOR& vnDPar, int& nSPar, DBLVECTOR& vdPar, std::string& sPar, int& curve_counter, STRVECTOR& vsUAtt) ; bool ReadDContourParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, - INTVECTOR& vnDPar, int& nSPar, DBLVECTOR& vdPar, std::string& sPar, int& curve_counter) ; + INTVECTOR& vnDPar, int& nSPar, DBLVECTOR& vdPar, std::string& sPar, int& curve_counter, STRVECTOR& vsUAtt) ; private : BtlGeom m_BtlGeom ; // gestore geometria pezzi Btl diff --git a/ImportBtlxProc.cpp b/ImportBtlxProc.cpp index e08f166..941af64 100644 --- a/ImportBtlxProc.cpp +++ b/ImportBtlxProc.cpp @@ -2583,7 +2583,7 @@ ImportBtlx::ReadDovetailParams( pugi::xml_node process, int& nGroup, int& nProc, //--------------------------------------------------------------------------------------------------------------------------- bool ImportBtlx::ReadFreeContourParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, - INTVECTOR& vnDPar, int& nSPar, DBLVECTOR& vdPar, std::string& sPar, int& curve_counter) + INTVECTOR& vnDPar, int& nSPar, DBLVECTOR& vdPar, std::string& sPar, int& curve_counter, STRVECTOR& vsUAtt) { // Identifico il processo con sigle usate nel btl nProc = 250 ; @@ -2611,7 +2611,7 @@ ImportBtlx::ReadFreeContourParams( pugi::xml_node process, int& nGroup, int& nPr LOG_ERROR( GetEExLogger(), " Error reading Part Processing: BtlGeom.GetProcessParamInfos") ; return false ; } - if ( vdPar.size() != 11) { + if ( vdPar.size() != 14) { LOG_ERROR( GetEExLogger(), " Error reading Part Processing: FreeContour number of parameters is wrong") ; return false ; } @@ -2630,12 +2630,12 @@ ImportBtlx::ReadFreeContourParams( pugi::xml_node process, int& nGroup, int& nPr string itName = it->name() ; bool bContOk = true ; if ( itName == "Contour") { - bContOk = ReadSContourParams( *it, 0, 0, nGroup, nProc, nSide, vnDPar, nSPar, vdPar, sPar, curve_counter) ; + bContOk = ReadSContourParams( *it, 0, 0, nGroup, nProc, nSide, vnDPar, nSPar, vdPar, sPar, curve_counter, vsUAtt) ; if ( ! bContOk) return false ; } else if ( itName == "DualContour") { - bContOk = ReadDContourParams( *it, nGroup, nProc, nSide, vnDPar, nSPar, vdPar, sPar, curve_counter) ; + bContOk = ReadDContourParams( *it, nGroup, nProc, nSide, vnDPar, nSPar, vdPar, sPar, curve_counter, vsUAtt) ; if ( ! bContOk) return false ; } @@ -2651,7 +2651,7 @@ ImportBtlx::ReadFreeContourParams( pugi::xml_node process, int& nGroup, int& nPr //--------------------------------------------------------------------------------------------------------------------------- bool ImportBtlx::ReadSContourParams( pugi::xml_node process, int nType, int nOtherId, int& nGroup, int& nProc, int& nSide, - INTVECTOR& vnDPar, int& nSPar, DBLVECTOR& vdPar, string& sPar, int& curve_counter) + INTVECTOR& vnDPar, int& nSPar, DBLVECTOR& vdPar, string& sPar, int& curve_counter, STRVECTOR& vsUAtt) { // Parametri propri del contour che non cambiano string sDepthBounded = process.attribute( "DepthBounded").value() ; @@ -2761,7 +2761,6 @@ ImportBtlx::ReadSContourParams( pugi::xml_node process, int nType, int nOtherId, } string sDes ; - STRVECTOR vsUAtt ; bool bProcessOk = m_BtlGeom.AddProcess( nGroup, nProc, nSide, sDes, curve_counter, frRef, vnDPar, nSPar, vdPar, sPar, vsUAtt, 0) ; if ( ! bProcessOk) { @@ -2777,7 +2776,7 @@ ImportBtlx::ReadSContourParams( pugi::xml_node process, int nType, int nOtherId, //--------------------------------------------------------------------------------------------------------------------------- bool ImportBtlx::ReadDContourParams( pugi::xml_node process, int& nGroup, int& nProc, int& nSide, - INTVECTOR& vnDPar, int& nSPar, DBLVECTOR& vdPar, std::string& sPar, int& curve_counter) + INTVECTOR& vnDPar, int& nSPar, DBLVECTOR& vdPar, std::string& sPar, int& curve_counter, STRVECTOR& vsUAtt) { if ( process.child( "PrincipalContour") == nullptr || process.child( "AssociatedContour") == nullptr) { LOG_ERROR( GetEExLogger(), " Error reading Part Process: DualContour contour missing") ; @@ -2794,13 +2793,13 @@ ImportBtlx::ReadDContourParams( pugi::xml_node process, int& nGroup, int& nProc, nPrincipalContCurves ++ ; bool bContourOk = ReadSContourParams( process.child( "PrincipalContour"), 100, curve_counter + nPrincipalContCurves, - nGroup, nProc, nSide, vnDPar, nSPar,vdPar, sPar, curve_counter) ; + nGroup, nProc, nSide, vnDPar, nSPar,vdPar, sPar, curve_counter, vsUAtt) ; if ( ! bContourOk) return false ; // Associated Contour bContourOk = ReadSContourParams( process.child( "AssociatedContour"), 101, nPrincipalId, - nGroup, nProc, nSide, vnDPar, nSPar,vdPar, sPar, curve_counter) ; + nGroup, nProc, nSide, vnDPar, nSPar,vdPar, sPar, curve_counter, vsUAtt) ; if ( ! bContourOk) return false ;