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
@@ -862,7 +862,7 @@ PolyLine::MyApproxOnSide( const Vector3d& vtN, bool bLeftSide, double dToler)
// --- si verifica se possibile eliminare il punto corrente rimanendo dal lato voluto e in tolleranza ---
// distanza del punto corrente dal segmento che unisce gli adiacenti
DistPointLine dPL( currP->first, precP->first, nextP->first) ;
double dSqDist = INFINITO * INFINITO ;
double dSqDist = SQ_INFINITO ;
dPL.GetSqDist( dSqDist) ;
// se punti allineati
if ( dSqDist < SQ_EPS_SMALL) {
@@ -916,7 +916,7 @@ PolyLine::MyApproxOnSide( const Vector3d& vtN, bool bLeftSide, double dToler)
ptInt.ToGlob( frNorm) ;
// verifico che distanza dell'intersezione dal segmento currP-nextP sia inferiore a tolleranza corrente
DistPointLine dIL( ptInt, currP->first, nextP->first) ;
double dSqDist2 = INFINITO * INFINITO ;
double dSqDist2 = SQ_INFINITO ;
dIL.GetSqDist( dSqDist2) ;
// se eliminabile
if ( dSqDist2 < dCurrToler * dCurrToler) {
@@ -1139,7 +1139,7 @@ PolyLine::GetMinAreaRectangleXY( Point3d& ptCen, Vector3d& vtAx, double& dLen, d
// Starting edge nCount-1 -> 0
int l = 0, m = 0, n = 0 ;
double dMinArea = INFINITO * INFINITO ;
double dMinArea = SQ_INFINITO ;
{
// Edge indexes
int i = 0 ;