diff --git a/EgtGeomKernel.rc b/EgtGeomKernel.rc index 02b1d5c..0bda6a3 100644 Binary files a/EgtGeomKernel.rc and b/EgtGeomKernel.rc differ diff --git a/SfrCreate.cpp b/SfrCreate.cpp index d121263..0e0a423 100644 --- a/SfrCreate.cpp +++ b/SfrCreate.cpp @@ -1,13 +1,13 @@ //---------------------------------------------------------------------------- -// EgalTech 2015-2015 +// EgalTech 2015-2016 //---------------------------------------------------------------------------- -// File : StmFromCurves.cpp Data : 01.02.15 Versione : 1.6b1 +// File : StmFromCurves.cpp Data : 11.08.16 Versione : 1.6t2 // Contenuto : Implementazione di funzioni per creazione di superfici Stm // a partire da curve, con diversi metodi. // // // Modifiche : 01.02.15 DS Creazione modulo. -// +// 11.08.16 DS In GetSurfFlatRegionFromFatCurve sostituito Offset a SimpleOffset. // //---------------------------------------------------------------------------- @@ -18,6 +18,7 @@ #include "CurveComposite.h" #include "SurfFlatRegion.h" #include "GeoConst.h" +#include "/EgtDev/Include/EgkOffsetCurve.h" #include "/EgtDev/Include/EGkSfrCreate.h" #include "/EgtDev/Include/EgtPointerOwner.h" #include @@ -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() ; }