EgtGeomKernel :
- piccola modifica a svuotatura Spiral in CalcPocketing.
This commit is contained in:
+7
-6
@@ -1898,7 +1898,7 @@ CalcSpiral( const ISurfFlatRegion* pSrfPock, double dRad, double dStep, bool bSm
|
||||
if ( IsNull( pSrfAct) || pSrfAct->GetChunkCount() == 0)
|
||||
return false ;
|
||||
|
||||
double dOffsPrec = dOffs ;
|
||||
double dOffsPrec = 0. ;
|
||||
while ( nIter < MAX_ITER) {
|
||||
// ricavo la regione piana da VRONI
|
||||
PtrOwner<ISurfFlatRegion> pSfrOffsVR( pSrfAct->CreateOffsetSurf( - dOffs, ICurve::OFF_FILLET)) ;
|
||||
@@ -1942,16 +1942,17 @@ CalcSpiral( const ISurfFlatRegion* pSrfPock, double dRad, double dStep, bool bSm
|
||||
}
|
||||
|
||||
// controllo se serve un raggio più piccolo di svuotatura
|
||||
bool bSmallRad = ( nIter == 0 ? dOffs - dOffsPrec < dRad + EPS_ZERO : dOffs - dOffsPrec < dRad + EPS_ZERO) ;
|
||||
// memorizzo il valore di Offset per l'iterazione successiva
|
||||
dOffsPrec = dOffs ;
|
||||
bool bSmallRad = ( nIter == 0 ? dOffs < dRad + EPS_ZERO : dOffs - dOffsPrec < dRad + EPS_ZERO) ;
|
||||
|
||||
// se ho trovato dei chunk, allora aggiorno l'Offset per la passata successiva
|
||||
if ( nChunks > 0)
|
||||
if ( nChunks > 0) {
|
||||
// memorizzo il valore di Offset per l'iterazione successiva
|
||||
dOffsPrec = dOffs ;
|
||||
dOffs += dStep ;
|
||||
}
|
||||
// se devo usare un Offset più piccolo...
|
||||
else if ( ! bSmallRad)
|
||||
dOffs += ( nIter == 0 ? dRad : dRad) ; // superfluo, effettivamente non ho l'offset radiale
|
||||
dOffs = dOffsPrec + ( nIter == 0 ? dRad : dRad) ; // superfluo, effettivamente non ho l'offset radiale
|
||||
// altrimenti ho finito la regione da svuotare...
|
||||
else
|
||||
break ;
|
||||
|
||||
Reference in New Issue
Block a user