From e2c401cc4a1f6cfe2042334cd246857147b36677 Mon Sep 17 00:00:00 2001 From: SaraP Date: Tue, 14 Nov 2023 15:08:04 +0100 Subject: [PATCH] EgtExecutor 2.5k3 : - in CreateSurfFrFatCurve aggiunto parametro opzionale per distinguere squadratura cambi di direzione da squadratura estremi. --- EXE_GdbCreateSurf.cpp | 7 ++++--- EgtExecutor.rc | Bin 18898 -> 18898 bytes LUA_GdbCreateSurf.cpp | 6 ++++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/EXE_GdbCreateSurf.cpp b/EXE_GdbCreateSurf.cpp index 7cc0965..56971ba 100644 --- a/EXE_GdbCreateSurf.cpp +++ b/EXE_GdbCreateSurf.cpp @@ -222,7 +222,7 @@ ExeCreateSurfFrDisk( int nParentId, const Point3d& ptOrig, double dRad, int nRef //------------------------------------------------------------------------------- int -ExeCreateSurfFrFatCurve( int nParentId, int nCrvId, double dRad, bool bSquared) +ExeCreateSurfFrFatCurve( int nParentId, int nCrvId, double dRad, bool bSquaredEnds, bool bSquaredMids) { IGeomDB* pGeomDB = GetCurrGeomDB() ; VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL) @@ -245,7 +245,7 @@ ExeCreateSurfFrFatCurve( int nParentId, int nCrvId, double dRad, bool bSquared) // eseguo la trasformazione (viene eseguita solo se i riferimenti sono diversi pCopCrv->LocToLoc( frCrv, frLoc) ; // creo la regione - PtrOwner pSfr( GetSurfFlatRegionFromFatCurve( Release( pCopCrv), dRad, bSquared, bSquared)) ; + PtrOwner pSfr( GetSurfFlatRegionFromFatCurve( Release( pCopCrv), dRad, bSquaredEnds, bSquaredMids)) ; bOk = bOk && ! IsNull( pSfr) ; // inserisco la superficie nel DB int nNewId = ( bOk ? pGeomDB->AddGeoObj( GDB_ID_NULL, nParentId, Release( pSfr)) : GDB_ID_NULL) ; @@ -255,7 +255,8 @@ ExeCreateSurfFrFatCurve( int nParentId, int nCrvId, double dRad, bool bSquared) string sLua = "EgtSurfFrFatCurve(" + IdToString( nParentId) + "," + ToString( nCrvId) + "," + ToString( dRad) + "," + - ToString( bSquared) + ")" + + ToString( bSquaredEnds) + "," + + ToString( bSquaredMids) + ")" + " -- Id=" + ToString( nNewId) ; LOG_INFO( GetCmdLogger(), sLua.c_str()) ; } diff --git a/EgtExecutor.rc b/EgtExecutor.rc index 28592bbcc64bdd246aa4433b5bfe1b9d49983d72..41809a5049b6f81a37e687165ff44cd510d94a7f 100644 GIT binary patch delta 107 zcmcaKneozO#tlE%7>zfd6}!$f`2uGiqw!=zVcpFRQhtn^cX8`61Eu!LU1plRM-VDC l*+I%|bDxkM3s{pYPytj!4M=3KoFh~Os!o7$bCGg_8UV|oA@l$M delta 107 zcmcaKneozO#tlE%7>zcc6}!$f`2uGiqtRqTVcpFRQhtn^cX8`61Eu!LU1plRM-VDC l*+I%|bDxkM3s{pYPytj!4M=3KoFh~Os!o7$bCGg_8UV@bA?yGE diff --git a/LUA_GdbCreateSurf.cpp b/LUA_GdbCreateSurf.cpp index bb05e0c..18f4830 100644 --- a/LUA_GdbCreateSurf.cpp +++ b/LUA_GdbCreateSurf.cpp @@ -147,7 +147,7 @@ LuaCreateSurfFlatRegion( lua_State* L) static int LuaCreateSurfFrFatCurve( lua_State* L) { - // 4 parametri : ParentId, nCrvId, dRad, bSquared + // 4 o 5 parametri : ParentId, nCrvId, dRad, bSquared [,bSquaredMids] int nParentId ; LuaCheckParam( L, 1, nParentId) int nCrvId ; @@ -156,9 +156,11 @@ LuaCreateSurfFrFatCurve( lua_State* L) LuaCheckParam( L, 3, dRad) bool bSquared ; LuaCheckParam( L, 4, bSquared) + bool bSquaredMids = bSquared ; + LuaGetParam( L, 5, bSquaredMids) ; LuaClearStack( L) ; // creo una regione piana - int nId = ExeCreateSurfFrFatCurve( nParentId, nCrvId, dRad, bSquared) ; + int nId = ExeCreateSurfFrFatCurve( nParentId, nCrvId, dRad, bSquared, bSquaredMids) ; // restituisco il risultato if ( nId != GDB_ID_NULL) LuaSetParam( L, nId) ;