EgtExecutor 2.2i3 :

- sostituiti alcuni FALSE con false (come deve essere)
- ora le curve risultato di offset avanzato sono inserite nel DB geometrico in ordine di lunghezza decrescente.
This commit is contained in:
Dario Sassi
2020-09-14 16:37:14 +00:00
parent 5656595353
commit 1497d61024
7 changed files with 11 additions and 7 deletions
+5 -1
View File
@@ -106,12 +106,13 @@ ExeOffsetCurveAdv( int nId, double dDist, int nType, int* pnCount)
OffsetCurve OffsCrv ;
bool bOk = OffsCrv.Make( pCurve, dDist, nType) ;
// salvo le curve di offset
int nRefId = nId ;
int nCount = 0 ;
int nFirstId = GDB_ID_NULL ;
PtrOwner<ICurve> pOffs( OffsCrv.GetLongerCurve()) ;
while ( bOk && ! IsNull( pOffs)) {
// inserisco la curva nel DB geometrico
int nNewId = pGeomDB->InsertGeoObj( GDB_ID_NULL, nId, GDB_AFTER, Release( pOffs)) ;
int nNewId = pGeomDB->InsertGeoObj( GDB_ID_NULL, nRefId, GDB_AFTER, Release( pOffs)) ;
// copio gli attributi
pGeomDB->CopyAttributes( nId, nNewId) ;
// aggiorno contatori
@@ -119,6 +120,9 @@ ExeOffsetCurveAdv( int nId, double dDist, int nType, int* pnCount)
++ nCount ;
if ( nFirstId == GDB_ID_NULL)
nFirstId = nNewId ;
// aggiorno Id di riferimento per inserimento
if ( nNewId != GDB_ID_NULL)
nRefId = nNewId ;
// passo alla successiva
pOffs.Set( OffsCrv.GetLongerCurve()) ;
}