EgtExchange :

- in import BTLX correzione numero di parametri per FreeContour
- in import BTLX gestione degli attributi per FreeContour.
This commit is contained in:
Sara Perdoncin
2021-04-12 13:12:11 +00:00
parent 43a03938f8
commit f375301ed5
3 changed files with 12 additions and 13 deletions
+1 -1
View File
@@ -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 ;
+3 -3
View File
@@ -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
+8 -9
View File
@@ -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 ;