From 0987496cafaadf559a7d259aa429e7226331e45b Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Mon, 9 Feb 2026 12:48:38 +0100 Subject: [PATCH] EgtGeomKernel : - piccoli aggiustamenti. --- Trimming.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Trimming.cpp b/Trimming.cpp index 956a4fc..4df8f49 100644 --- a/Trimming.cpp +++ b/Trimming.cpp @@ -286,7 +286,7 @@ GetPointSetByAngTol( const PolyLine& PL, double dAngTol, POLYLINEVECTOR& vPL) // Funzione che approssima la curva di bordo per la costruzione della Bezier Ruled mediante // Patches di curve di Bezier static bool -ApproxBorder( ICurveComposite& CrvCompo, double dLinTol, double dAngTol) +ApproxBorder( CurveComposite& CrvCompo, double dLinTol, double dAngTol) { // Controllo dei parametri if ( ! CrvCompo.IsValid()) @@ -1517,7 +1517,6 @@ GetBorderByExtrusion( const SurfTriMesh* pStm, double dThick, double dLinTol, do double dU ; bool bFound = PLLoop.GetFirstUPoint( &dU, &ptP) ; double dPar = -1 ; - bool bFirst = true ; while ( bFound) { // Recupero il TriangoloEx associato al punto Triangle3dEx Tria ; @@ -3658,10 +3657,10 @@ GetTrimmingFinalBorders( CISURFPVECTOR& vpSurf, const SELVECTOR& vSurfFaces, dou if ( IsNull( pCompoLoopExtr) || ! pCompoLoopExtr->FromPolyLine( PLLoopExtr)) continue ; vCompoBezierEdges.emplace_back( Release( pCompoLoop)) ; - if ( ! ApproxBorder( *vCompoBezierEdges.back(), dMyLinTol, dMyAngTol)) + if ( ! ApproxBorder( *GetBasicCurveComposite( vCompoBezierEdges.back()), dMyLinTol, dMyAngTol)) return false ; vCompoBezierEdges.emplace_back( Release( pCompoLoopExtr)) ; - if ( ! ApproxBorder( *vCompoBezierEdges.back(), dMyLinTol, dMyAngTol)) + if ( ! ApproxBorder( *GetBasicCurveComposite( vCompoBezierEdges.back()), dMyLinTol, dMyAngTol)) return false ; } @@ -3706,7 +3705,7 @@ GetTrimmingBezierEdges( ICRVCOMPOPOVECTOR& vCompoRawEdges, double dLinTol, doubl for ( int i = 0 ; i < ssize( vCompoRawEdges) ; ++ i) { PtrOwner pCompoTmp( CloneCurveComposite( vCompoRawEdges[i])) ; if ( IsNull( pCompoTmp) || - ! ApproxBorder( *pCompoTmp, dMyLinTol, dMyAngTol) || + ! ApproxBorder( *GetBasicCurveComposite( pCompoTmp), dMyLinTol, dMyAngTol) || ! vBezierEdges.emplace_back( Release( pCompoTmp))) { LOG_ERROR( GetEGkLogger(), "Error in Trimming : Approxing edge failed") ; return false ; @@ -4097,14 +4096,16 @@ GetTrimmingAdjSurfs( const CISURFPVECTOR& vSurf, const CISURFPVECTOR& vOtherSurf SurfPatches& OtherSurfPatch = vSurfPatches[j] ; // Recupero i Suoi Bordi e i Parametri associati const SimpleBorderVector& vSimpleOtherBorder = OtherSurfPatch.vBorderPatches ; - const COMPOVECTOR& vCompoBorders = OtherSurfPatch.vCompoBorders ; + #if DEBUG_SURF_PATCHES + const COMPOVECTOR& vCompoBorders = OtherSurfPatch.vCompoBorders ; + #endif // Scorro i suoi bordi for ( int nOtherBorder = 0 ; nOtherBorder < ssize( vSimpleOtherBorder) ; ++ nOtherBorder) { // Recupero le Patch associate const SimpleBorder& vPatchOtherBorder = vSimpleOtherBorder[nOtherBorder] ; // Recupero la Composita associata al Bordo - const CurveComposite& OtherCompoBorder = vCompoBorders[nOtherBorder] ; #if DEBUG_SURF_PATCHES + const CurveComposite& OtherCompoBorder = vCompoBorders[nOtherBorder] ; VT.emplace_back( OtherCompoBorder.Clone()) ; VC.emplace_back( BLACK) ; #endif