EgtGeomKernel 1.9l4 :
- fabs sostituito da abs - in Zmap razionalizzazione operazioni taglio spilloni - in SurfTriMesh UpdateFaceting senza più chiamate recursive.
This commit is contained in:
+5
-5
@@ -88,7 +88,7 @@ GetSurfTriMeshByExtrusion( const ICurve* pCurve, const Vector3d& vtExtr,
|
||||
if ( PL.IsClosedAndFlat( plPlane, dArea, 50 * EPS_SMALL)) {
|
||||
// componente dell'estrusione perpendicolare al piano della curva
|
||||
double dOrthoExtr = plPlane.GetVersN() * vtExtr ;
|
||||
if ( ( fabs( dOrthoExtr) > EPS_SMALL)) {
|
||||
if ( ( abs( dOrthoExtr) > EPS_SMALL)) {
|
||||
bDoCapEnds = true ;
|
||||
// se negativa, inverto il senso del contorno
|
||||
if ( dOrthoExtr < 0)
|
||||
@@ -141,7 +141,7 @@ GetSurfTriMeshByRegionExtrusion( const CICURVEPVECTOR& vpCurve, const Vector3d&
|
||||
return nullptr ;
|
||||
// verifico la direzione di estrusione
|
||||
double dOrthoExtr = vtN * vtExtr ;
|
||||
if ( ( fabs( dOrthoExtr) < EPS_SMALL))
|
||||
if ( ( abs( dOrthoExtr) < EPS_SMALL))
|
||||
return nullptr ;
|
||||
// se componente estrusione negativa, inverto tutti i percorsi
|
||||
if ( dOrthoExtr < 0) {
|
||||
@@ -267,8 +267,8 @@ GetSurfTriMeshByScrewing( const ICurve* pCurve, const Point3d& ptAx, const Vecto
|
||||
return nullptr ;
|
||||
double dStepRotDeg = sqrt( 8 * dLinTol / dMaxRad) * RADTODEG ;
|
||||
// se superficie rototraslata, necessari limiti sulla lunghezza dei segmenti
|
||||
if ( fabs( dAngRotDeg) > EPS_ANG_SMALL && fabs( dMove) > EPS_SMALL){
|
||||
double dLenMax = 2.5 * fabs( dMove * dStepRotDeg / dAngRotDeg) ;
|
||||
if ( abs( dAngRotDeg) > EPS_ANG_SMALL && abs( dMove) > EPS_SMALL){
|
||||
double dLenMax = 2.5 * abs( dMove * dStepRotDeg / dAngRotDeg) ;
|
||||
if ( ! PL.AdjustForMaxSegmentLen( dLenMax))
|
||||
return nullptr ;
|
||||
}
|
||||
@@ -365,7 +365,7 @@ CalcRegionPolyLines( const CICURVEPVECTOR& vpCurve, double dLinTol,
|
||||
vArea.emplace_back( i, - dArea) ;
|
||||
}
|
||||
sort( vArea.begin(), vArea.end(),
|
||||
[]( const INDAREA& a, const INDAREA& b) { return ( fabs( a.second) > fabs( b.second)) ; }) ;
|
||||
[]( const INDAREA& a, const INDAREA& b) { return ( abs( a.second) > abs( b.second)) ; }) ;
|
||||
// sposto le polilinee nel vettore da restituire secondo l'ordine
|
||||
vPL.clear() ;
|
||||
vPL.resize( vPLtmp.size()) ;
|
||||
|
||||
Reference in New Issue
Block a user