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 28592bb..41809a5 100644 Binary files a/EgtExecutor.rc and b/EgtExecutor.rc differ 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) ;