EgtMachKernel 1.9d3 :

- ordine grezzi sempre ripristinato dopo Link/Unlink con parti di macchina
- in KeepRawPart reset posizione grezzo se non definita fase di origine
- aumentato massimo angolo di fianco per lama a 75 gradi.
This commit is contained in:
Dario Sassi
2018-04-19 16:46:48 +00:00
parent 77c476b1dc
commit 2164f2e651
4 changed files with 18 additions and 5 deletions
+12 -4
View File
@@ -967,10 +967,18 @@ Machine::UnlinkRawPartFromGroup( int nRawPartId)
auto iIter = find( m_vLinkedRawParts.begin(), m_vLinkedRawParts.end(), nRawPartId) ;
if ( iIter == m_vLinkedRawParts.end())
return false ;
// riporto il grezzo nel gruppo dei grezzi (se appartiene alla prima fase in testa)
int nInsPos = ( m_pMchMgr->VerifyRawPartPhase( nRawPartId, 1) ? GDB_FIRST_SON : GDB_LAST_SON) ;
if ( ! m_pGeomDB->RelocateGlob( nRawPartId, nRawGrpId, nInsPos))
return false ;
// riporto il grezzo nel gruppo dei grezzi (conservando l'ordine di definizione quindi Id crescenti)
int nCurrId = m_pGeomDB->GetFirstInGroup( nRawGrpId) ;
while ( nCurrId != GDB_ID_NULL && nCurrId < nRawPartId)
nCurrId = m_pGeomDB->GetNext( nCurrId) ;
if ( nCurrId == GDB_ID_NULL) {
if ( ! m_pGeomDB->RelocateGlob( nRawPartId, nRawGrpId, GDB_LAST_SON))
return false ;
}
else {
if ( ! m_pGeomDB->RelocateGlob( nRawPartId, nCurrId, GDB_BEFORE))
return false ;
}
// tolgo il grezzo dall'elenco dei linkati
m_vLinkedRawParts.erase( iIter) ;
return true ;