EgtGeomKernel :

- in CalcPocketing piccola modifica nella creazione della superficie di incidenza.
This commit is contained in:
Riccardo Elitropi
2025-02-03 15:31:41 +01:00
parent 97315f6ca4
commit 3b9f6773f2
+8 -7
View File
@@ -1191,15 +1191,16 @@ CreateSurfFrIncidence( const ICurveComposite* pCrv, const PocketParams& PockPara
// per sicurezza...
pCrvExtLoopSurfInc->Close() ;
// creo la regione
if ( ! pSfrInc->AddExtLoop( Release( pCrvExtLoopSurfInc)))
// creo la regione ( la curva potrebbe autointersecarsi)
SurfFlatRegionByContours SfrByC ;
if ( ! SfrByC.AddCurve( Release( pCrvExtLoopSurfInc)))
return false ;
// guarda Z_AX come normale
if ( pSfrInc->IsValid() && pSfrInc->GetChunkCount() > 0) {
Vector3d vtN = pSfrInc->GetNormVersor() ;
if ( AreOppositeVectorApprox( vtN, Z_AX))
pSfrInc->Invert() ;
PtrOwner<ISurfFlatRegion> pSfr( SfrByC.GetSurf()) ;
if ( pSfr->IsValid() && pSfr->GetChunkCount() > 0) {
if ( AreOppositeVectorApprox( pSfr->GetNormVersor(), Z_AX))
pSfr->Invert() ;
pSfrInc->CopyFrom( pSfr) ;
return true ;
}