EgtGeomKernel 2.3b1 :
- in lettura file esteso aggiustamento info di sistema (GDB_SI_*) a tutte quelle che lo necessitano.
This commit is contained in:
+13
-1
@@ -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)) {
|
||||
|
||||
Reference in New Issue
Block a user