EgtGeomKernel 2.3b1 :

- in lettura file esteso aggiustamento info di sistema (GDB_SI_*) a tutte quelle che lo necessitano.
This commit is contained in:
Dario Sassi
2021-02-08 11:24:00 +00:00
parent b002058933
commit 20331adecd
2 changed files with 13 additions and 1 deletions
+13 -1
View File
@@ -230,19 +230,31 @@ GeomDB::LoadOneObj( NgeReader& ngeIn, int nGroupId, int nBaseGdbId, const INTVEC
if ( pGdbObj->GetMaterial( nMat) &&
nMat > 0 && nMat < int( vBaseMatId.size()))
pGdbObj->SetMaterial( vBaseMatId[nMat]) ;
// se gruppo, eventuale aggiornamento indici per swap registrato
// se gruppo, eventuale aggiornamento indici per swap registrato e duplo
if ( ::GetGdbGroup( pGdbObj) != nullptr) {
int nVal ;
if ( pGdbObj->GetInfo( GDB_SI_SOURCE, nVal))
pGdbObj->SetInfo( GDB_SI_SOURCE, nVal + nBaseGdbId) ;
if ( pGdbObj->GetInfo( GDB_SI_BASE, nVal))
pGdbObj->SetInfo( GDB_SI_BASE, nVal + nBaseGdbId) ;
if ( pGdbObj->GetInfo( GDB_SI_COPY, nVal))
pGdbObj->SetInfo( GDB_SI_COPY, nVal + nBaseGdbId) ;
if ( pGdbObj->GetInfo( GDB_SI_MGRPONLY, nVal))
pGdbObj->SetInfo( GDB_SI_MGRPONLY, nVal + nBaseGdbId) ;
if ( pGdbObj->GetInfo( GDB_SI_DUPSOU, nVal))
pGdbObj->SetInfo( GDB_SI_DUPSOU, nVal + nBaseGdbId) ;
INTVECTOR vnVal ;
if ( pGdbObj->GetInfo( GDB_SI_LIST, vnVal)) {
transform( vnVal.begin(), vnVal.end(), vnVal.begin(),
[nBaseGdbId]( const int& nV) { return nV + nBaseGdbId ; }) ;
pGdbObj->SetInfo( GDB_SI_LIST, vnVal) ;
}
vnVal.clear() ;
if ( pGdbObj->GetInfo( GDB_SI_DUPLIST, vnVal)) {
transform( vnVal.begin(), vnVal.end(), vnVal.begin(),
[nBaseGdbId]( const int& nV) { return nV + nBaseGdbId ; }) ;
pGdbObj->SetInfo( GDB_SI_DUPLIST, vnVal) ;
}
}
// se inserimento nel DB va bene, ritorno con successo
if ( InsertInGeomDB( pGdbObj, nParentId, GDB_LAST_SON)) {