EgtGeomKernel 1.6h3 :

- migliorata approssimazione curve per riconoscimento di tratti rettilinei
- aggiunta CopyMaterial a GeomDB
- correzioni a IntersCurveCurve per le curve approssimate
- aggiunte a Intervals Union, Intersection e Difference
- correzioni a SelfIntersCurve per curve approssimate
- aggiunte funzioni di creazione Regioni (Rectangle, Stadium, Disk e da zuppa di curve)
- migliorie varie a Regioni e introduzione dei componenti connessi (chunk).
This commit is contained in:
Dario Sassi
2015-08-18 07:30:08 +00:00
parent f4b88af3e1
commit bab45eb4f3
28 changed files with 1049 additions and 346 deletions
+4 -4
View File
@@ -104,7 +104,7 @@ CurveComposite::SimpleOffsetXY( double dDist, int nType)
if ( VerifyAndAdjustSamePoint( pCrv1, pCrv2, ccTemp) ||
VerifyAndAdjustInternalAngle( pCrv1, pCrv2, ccTemp) ||
VerifyAndAdjustExternalAngle( pCrv1, pCrv2, dDist, nType, ccTemp)) {
if ( ccTemp.GetCurveNumber() > 0 && ! ccOffs.AddCurveByRelocate( ccTemp))
if ( ccTemp.GetCurveCount() > 0 && ! ccOffs.AddCurveByRelocate( ccTemp))
return false ;
}
// nessun caso è andato a buon fine, errore
@@ -120,7 +120,7 @@ CurveComposite::SimpleOffsetXY( double dDist, int nType)
}
// se originale chiuso, devo confrontare anche ultima e prima curva
if ( bClosed && ccOffs.GetCurveNumber() > 0) {
if ( bClosed && ccOffs.GetCurveCount() > 0) {
// la curva successiva ora è la prima dell'offset
ICurve* pCrv2 = ccOffs.m_CrvSmplS.front() ;
// verifico relazione con la curva precedente e aggiungo eventuali curve intermedie
@@ -128,7 +128,7 @@ CurveComposite::SimpleOffsetXY( double dDist, int nType)
if ( VerifyAndAdjustSamePoint( pCrv1, pCrv2, ccTemp) ||
VerifyAndAdjustInternalAngle( pCrv1, pCrv2, ccTemp) ||
VerifyAndAdjustExternalAngle( pCrv1, pCrv2, dDist, nType, ccTemp)) {
if ( ccTemp.GetCurveNumber() > 0 && ! ccOffs.AddCurveByRelocate( ccTemp))
if ( ccTemp.GetCurveCount() > 0 && ! ccOffs.AddCurveByRelocate( ccTemp))
return false ;
}
// nessun caso è andato a buon fine, errore
@@ -137,7 +137,7 @@ CurveComposite::SimpleOffsetXY( double dDist, int nType)
}
// se originale aperto, devo rimettere eventuali lineee verticali iniziale e finale
if ( ! bClosed && ccOffs.GetCurveNumber() > 0 &&
if ( ! bClosed && ccOffs.GetCurveCount() > 0 &&
! AddFirstLastVerticalLines( ccOffs, dLenVertFirst, dLenVertLast))
return false ;