From a1ebdb4eb6b3a2b0b145b279b16b0aaf0daffd04 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Tue, 14 Jan 2025 18:52:56 +0100 Subject: [PATCH] EgtGeonKernel : - piccola ulteriore miglioria in CalcAuxSurf di Region. --- SurfFlatRegion.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SurfFlatRegion.cpp b/SurfFlatRegion.cpp index 121b82f..6747bcb 100644 --- a/SurfFlatRegion.cpp +++ b/SurfFlatRegion.cpp @@ -1215,12 +1215,12 @@ SurfFlatRegion::CalcAuxSurf( double dLinTol, double dAngTolDeg) const ICurve* pLoop = GetMyLoop( i, j) ; while ( pLoop != nullptr) { // approssimo con linee a destra per non avere problemi in punti di contatto tra esterni e interni - PolyLine PL ; - if ( ! pLoop->ApproxWithLines( dLinTol, dAngTolDeg, ICurve::APL_RIGHT, PL)) + vPL.emplace_back( PolyLine()) ; + if ( ! pLoop->ApproxWithLines( dLinTol, dAngTolDeg, ICurve::APL_RIGHT, vPL.back())) return nullptr ; double dLoopArea ; - if ( PL.GetAreaXY( dLoopArea) && abs( dLoopArea) > 25 * SQ_EPS_SMALL) - vPL.emplace_back( PL) ; + if ( ! vPL.back().GetAreaXY( dLoopArea) || abs( dLoopArea) <= 25 * SQ_EPS_SMALL) + vPL.pop_back() ; pLoop = GetMyLoop( i, ++j) ; } // se chunk abbastanza grande, creo la superficie trimesh relativa