EgtMachKernel :
- aggiornato a 1007 versione DB lavorazioni per aggiunta Finitura Superficie - aggiunta gestione portautensili per utensili di tipo TT_MILL_NOTIP con specifica :MILL_NOTIP in dichiarazione file INI - si imposta ricalcolo anche alla cancellazione delle lavorazioni.
This commit is contained in:
+33
-3
@@ -61,6 +61,38 @@ Operation::GetGeomDB( void) const
|
||||
return m_pGeomDB ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
static bool
|
||||
IsActiveOperation( int nId, IGeomDB* pGDB)
|
||||
{
|
||||
int nMode ;
|
||||
return ( pGDB != nullptr && pGDB->GetCalcMode( nId, nMode) && nMode == GDB_MD_STD) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Operation::Removing(int nParentId, int nNextId)
|
||||
{
|
||||
if ( m_pMchMgr == nullptr || m_pGeomDB == nullptr)
|
||||
return false ;
|
||||
// imposto da verificare operazione attiva successiva
|
||||
int nActId = nNextId ;
|
||||
while ( nActId != GDB_ID_NULL && ! IsActiveOperation( nActId, m_pGeomDB))
|
||||
nActId = m_pGeomDB->GetNextGroup( nActId) ;
|
||||
// se non trovata, imposto da verificare operazione attiva precedente
|
||||
if ( nActId == GDB_ID_NULL) {
|
||||
nActId = m_pGeomDB->GetPrevGroup( m_nOwnerId) ;
|
||||
while ( nActId != GDB_ID_NULL && ! IsActiveOperation( nActId, m_pGeomDB))
|
||||
nActId = m_pGeomDB->GetPrevGroup( nActId) ;
|
||||
}
|
||||
// imposto stato operazione
|
||||
Operation* pOpe = GetOperation( m_pGeomDB->GetUserObj( nActId)) ;
|
||||
if ( pOpe != nullptr)
|
||||
pOpe->UpdateStatus( MCH_ST_TO_VERIFY) ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Operation::Relocate( int nOrigParentId, int nOrigNextId, int nRefId, int nSonBeforeAfter, bool bGlob)
|
||||
@@ -70,9 +102,7 @@ Operation::Relocate( int nOrigParentId, int nOrigNextId, int nRefId, int nSonBef
|
||||
// imposto da verificare operazione
|
||||
UpdateStatus( MCH_ST_TO_VERIFY) ;
|
||||
// imposto da verificare operazione attiva successiva in posizione originale
|
||||
int nMode ;
|
||||
while ( nOrigNextId != GDB_ID_NULL &&
|
||||
m_pGeomDB->GetCalcMode( nOrigNextId, nMode) && nMode == GDB_MD_HIDDEN)
|
||||
while ( nOrigNextId != GDB_ID_NULL && ! IsActiveOperation( nOrigNextId, m_pGeomDB))
|
||||
nOrigNextId = m_pGeomDB->GetNextGroup( nOrigNextId) ;
|
||||
Operation* pOpe = GetOperation( m_pGeomDB->GetUserObj( nOrigNextId)) ;
|
||||
if ( pOpe != nullptr)
|
||||
|
||||
Reference in New Issue
Block a user