EgtMachKernel 1.6n4 :
- migliorie a gestione fasi - migliorie a gestione spezzatura grezzi.
This commit is contained in:
+32
-21
@@ -202,33 +202,44 @@ MachMgr::SwapRawPartParts( int nRawId, bool bToRawPart)
|
||||
while ( nId != GDB_ID_NULL) {
|
||||
// recupero il successivo
|
||||
int nNextId = m_pGeomDB->GetNextGroup( nId) ;
|
||||
// se devo portare i pezzi dalla radice al grezzo
|
||||
if ( bToRawPart) {
|
||||
// se è un riferimento al pezzo
|
||||
int nSou ;
|
||||
if ( m_pGeomDB->GetInfo( nId, GDB_SI_SOURCE, nSou)) {
|
||||
m_pGeomDB->GroupSwap( nSou, nId, true, true) ;
|
||||
// mi assicuro sia visibile
|
||||
m_pGeomDB->SetStatus( nSou, GDB_ST_ON) ;
|
||||
}
|
||||
}
|
||||
// altrimenti dal grezzo alla radice
|
||||
else {
|
||||
// se è un pezzo spostato
|
||||
int nBase ;
|
||||
if ( m_pGeomDB->GetInfo( nId, GDB_SI_BASE, nBase)) {
|
||||
m_pGeomDB->GroupSwap( nId, nBase, true, true) ;
|
||||
// mi assicuro sia nascosto e di livello utente
|
||||
m_pGeomDB->SetStatus( nId, GDB_ST_OFF) ;
|
||||
m_pGeomDB->SetLevel( nId, GDB_LV_USER) ;
|
||||
}
|
||||
}
|
||||
// eseguo lo swap del pezzo
|
||||
SwapRawPartPart( nId, bToRawPart) ;
|
||||
// passo al successivo
|
||||
nId = nNextId ;
|
||||
}
|
||||
return true ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
int
|
||||
MachMgr::SwapRawPartPart( int nId, bool bToRawPart)
|
||||
{
|
||||
// se devo portare i pezzi dalla radice al grezzo
|
||||
if ( bToRawPart) {
|
||||
// se è un riferimento al pezzo
|
||||
int nSou ;
|
||||
if ( m_pGeomDB->GetInfo( nId, GDB_SI_SOURCE, nSou)) {
|
||||
m_pGeomDB->GroupSwap( nSou, nId, true, true) ;
|
||||
// mi assicuro sia visibile
|
||||
m_pGeomDB->SetStatus( nSou, GDB_ST_ON) ;
|
||||
return nSou ;
|
||||
}
|
||||
}
|
||||
// altrimenti dal grezzo alla radice
|
||||
else {
|
||||
// se è un pezzo spostato
|
||||
int nBase ;
|
||||
if ( m_pGeomDB->GetInfo( nId, GDB_SI_BASE, nBase)) {
|
||||
m_pGeomDB->GroupSwap( nId, nBase, true, true) ;
|
||||
// mi assicuro sia nascosto e di livello utente
|
||||
m_pGeomDB->SetStatus( nId, GDB_ST_OFF) ;
|
||||
m_pGeomDB->SetLevel( nId, GDB_LV_USER) ;
|
||||
return nBase ;
|
||||
}
|
||||
}
|
||||
return GDB_ID_NULL ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
MachMgr::ShowRootParts( bool bShow)
|
||||
|
||||
Reference in New Issue
Block a user