EgtGeomKernel 3.1f3 :

- migliorie nella creazione di solidi swept con sezione rettangolare smussata
- correzioni errori e aggiunte funzioni per calcolo bisettori di Voronoi
- aggiunto parametro a GetChainedCurves per fermare su biforcazione
- piccola miglioria a AssociatePolyLinesMinDistPoints.
This commit is contained in:
SaraP
2026-06-15 09:57:55 +02:00
parent 490f3fc54c
commit f48bf06f64
7 changed files with 810 additions and 632 deletions
+10
View File
@@ -1618,6 +1618,9 @@ AssociatePolyLinesMinDistPoints( const PolyLine& PL1, const PolyLine& PL2, PNTIV
int nPnt2 = PL2.GetPointNbr() ;
if ( nPnt1 == 0 || nPnt2 == 0)
return false ;
bool bClosed1 = PL1.IsClosed() ;
bool bClosed2 = PL2.IsClosed() ;
// indica la presenza di punti interni in comune tra le due polylines
bCommonInternalPoints = false ;
@@ -1663,6 +1666,10 @@ AssociatePolyLinesMinDistPoints( const PolyLine& PL1, const PolyLine& PL2, PNTIV
if ( nMinJ < nLastJ)
nMinJ = nLastJ ;
// se la curva è chiusa il primo e l'ultimo punto coincidono, verifico quale conviene considerare
if ( bClosed2 && nMinJ == nTotP2 - 1 && nLastJ == 0)
nMinJ = 0 ;
// verifica se è un punto interno in comune con l'altra polyline
if ( i < nTotP1 - 1 && dDist < EPS_SMALL && abs( dMinDistPar - floor( dMinDistPar + 0.5)) < EPS_SMALL)
bCommonInternalPoints = true ;
@@ -1693,6 +1700,9 @@ AssociatePolyLinesMinDistPoints( const PolyLine& PL1, const PolyLine& PL2, PNTIV
if ( nMinI < nLastI)
nMinI = nLastI ;
if ( bClosed1 && nMinI == nTotP1 - 1 && nLastI == 0)
nMinI = 0 ;
if ( j < nTotP2 - 1 && dDist < EPS_SMALL && abs( dMinDistPar - floor( dMinDistPar + 0.5)) < EPS_SMALL)
bCommonInternalPoints = true ;