EgtGeomKernel :

- aggiunta gestione livello di debug tramite Set/GetEGkDebugLev
- introduzione della costante SQ_INFINITO = INFINITO * INFINITO
- corretta triangolazione per oggetti molto grandi (si usava INFINITO invece di SQ_INFINITO)
- corretta scalatura di curve composite (quando si espande si aggiusta la continuità tra le curve componenti).
This commit is contained in:
Dario Sassi
2020-09-19 10:35:31 +00:00
parent 71ba248c80
commit fb9f94c76e
18 changed files with 77 additions and 29 deletions
+3 -3
View File
@@ -346,7 +346,7 @@ Triangulate::MakeByEC2( const PNTVECTOR& vPt, const INTVECTOR& vPol, INTVECTOR&
double dSqDist = SqDist(vPt[vPol[vPrev[i]]], vPt[vPol[vNext[i]]]) ;
// Try with 3 next
int j = i ;
double dSqDist1 = INFINITO ;
double dSqDist1 = SQ_INFINITO ;
for ( int h = 0 ; h < 3 ; ++ h) {
j = vNext[j] ;
if ( vEar[j] == EAS_NULL)
@@ -358,7 +358,7 @@ Triangulate::MakeByEC2( const PNTVECTOR& vPt, const INTVECTOR& vPol, INTVECTOR&
}
// Try with 3 prev
int k = i ;
double dSqDist2 = INFINITO ;
double dSqDist2 = SQ_INFINITO ;
for ( int h = 0 ; h < 3 ; ++ h) {
k = vPrev[k] ;
if ( vEar[k] == EAS_NULL)
@@ -916,7 +916,7 @@ Triangulate::GetOuterPntToJoin( const PNTVECTOR& vPt, const Point3d& ptP, int& n
if ( bSwap)
swap( ptPb, ptPc) ;
double dMinTan = INFINITO ;
double dMinSqDist = INFINITO * INFINITO ;
double dMinSqDist = SQ_INFINITO ;
for ( int i = 0 ; i < nNumPt ; ++ i) {
// salto il punto già trovato
if ( i == nJ)