From 8e7b54e3d5be111ebee1034b0b5a7a6dae9dcc8d Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Thu, 11 Aug 2016 17:57:00 +0000 Subject: [PATCH] EgtGeomKernel 1.6t2 : - irrobustita creazione regione da curva ingrossata (Fat Curve). --- EgtGeomKernel.rc | Bin 11718 -> 11718 bytes SfrCreate.cpp | 25 +++++++++++++++++-------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/EgtGeomKernel.rc b/EgtGeomKernel.rc index 02b1d5c21b48680d6a4272d8e48cde0e29d77461..0bda6a3e44c02b7ee4e182019f2a06291b6400b2 100644 GIT binary patch delta 110 zcmX>WeJpyzA2vp#&G-4vGfl1&(wY2&Q;pGRvZAo=W*@FeEMOU1X1ItOWeJpyzA2vqA&G-4vGfl1&(wY2&Q;pGZvZAo=W*@FeEMOU1X1ItO @@ -141,11 +142,19 @@ GetSurfFlatRegionFromFatCurve( ICurve* pCrv, double dRadius, bool bSquareEnds, b // per creare la regione SurfFlatRegionByContours SfrCntr( false, false) ; // offset della prima curva a destra del raggio - if ( pCompo1->SimpleOffset( dRadius, nOffsType)) - SfrCntr.AddCurve( Release( pCompo1)) ; - // offset della seconda curva a destra del raggio - if ( pCompo2->SimpleOffset( dRadius, nOffsType)) - SfrCntr.AddCurve( Release( pCompo2)) ; + OffsetCurve OffsCrv1 ; + if ( ! OffsCrv1.Make( pCompo1, dRadius, nOffsType)) + return nullptr ; + ICurve* pOffs1 = OffsCrv1.GetLongerCurve() ; + if ( pOffs1 != nullptr) + SfrCntr.AddCurve( pOffs1) ; + // offset della seconda curva a destra del raggio (è invertita rispetto alla precedente) + OffsetCurve OffsCrv2 ; + if ( ! OffsCrv2.Make( pCompo2, dRadius, nOffsType)) + return nullptr ; + ICurve* pOffs2 = OffsCrv2.GetLongerCurve() ; + if ( pOffs2 != nullptr) + SfrCntr.AddCurve( pOffs2) ; // creo la regione return SfrCntr.GetSurf() ; }