EgtGeomKernel :

- modifiche e migliorie calcoli per approssimazione di superfici di Bezier con trimesh
- aggiunte funzioni globali per impostare tolleranze di approssimazione delle superfici di Bezier
- eliminazione dell'uso della funzione pow (inefficiente) dove non necessaria
- utilizzo di Pow (efficiente) per potenze con esponente intero.
This commit is contained in:
Dario Sassi
2025-08-22 11:44:56 +02:00
parent 1b9738eace
commit f22ea484db
7 changed files with 479 additions and 637 deletions
+4 -2
View File
@@ -3236,10 +3236,12 @@ CalcTrapezoidSpiralXCoord( const ICurveComposite* pCrvPocket, int nBase, int nSe
for ( int i = 0 ; i < intCC2.GetIntersCount() ; ++ i) {
IntCrvCrvInfo ccClass2 ;
if ( intCC2.GetIntCrvCrvInfo( i, ccClass2)) {
double dDiffY = ccClass2.IciA[0].ptI.y - dYCoord ;
double dOffs = sqrt( dRad * dRad - dDiffY * dDiffY) ;
if ( bStart)
dXCoord = max( dXCoord, Box3d.GetMax().x + sqrt( dRad * dRad - pow(( ccClass2.IciA[0].ptI.y - dYCoord), 2))) ;
dXCoord = max( dXCoord, Box3d.GetMax().x + dOffs) ;
else
dXCoord = min( dXCoord, Box3d.GetMin().x - sqrt( dRad * dRad - pow(( ccClass2.IciA[0].ptI.y - dYCoord), 2))) ;
dXCoord = min( dXCoord, Box3d.GetMin().x - dOffs) ;
}
}
}