From 2687fd90dc3269db816354ead229ba805717206a Mon Sep 17 00:00:00 2001 From: Daniele Bariletti Date: Thu, 12 Mar 2026 18:12:21 +0100 Subject: [PATCH] EgtExecutor : - cambio restituzione valori per ExeSurfBezParamsFromPoint. --- EXE_GdbGetSurf.cpp | 14 +++++++------- LUA_GdbGetSurf.cpp | 11 +++++++---- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/EXE_GdbGetSurf.cpp b/EXE_GdbGetSurf.cpp index eb61253..29dd83e 100644 --- a/EXE_GdbGetSurf.cpp +++ b/EXE_GdbGetSurf.cpp @@ -1674,7 +1674,7 @@ ExeSurfBezierGetCurveV( int nSurfId, double dU, int nDestGrpId) //---------------------------------------------------------------------------- bool -ExeSurfBezParamsFromPoint( int nSurfId, const Point3d& ptOnSurf, int nDestGrpId, Point3d& ptParam) +ExeSurfBezParamsFromPoint( int nSurfId, const Point3d& ptOnSurf, int nDestGrpId, double& dU, double& dV) { IGeomDB* pGeomDB = GetCurrGeomDB() ; VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL) @@ -1682,12 +1682,12 @@ ExeSurfBezParamsFromPoint( int nSurfId, const Point3d& ptOnSurf, int nDestGrpId, const ISurfBezier* pSbz = GetSurfBezier( pGeomDB->GetGeoObj( nSurfId)) ; if ( pSbz == nullptr) return false ; + Point3d ptParam ; Point3d ptBez ; - bool bOk = pSbz->UnprojectPoint( ptOnSurf, ptParam, P_INVALID) ; - if ( ! bOk) { - ptParam = P_INVALID ; - return bOk ; - } + if ( ! pSbz->UnprojectPoint( ptOnSurf, ptParam, P_INVALID)) + return false ; + dU = ptParam.x ; + dV = ptParam.y ; if ( nDestGrpId != GDB_ID_NULL) { Vector3d vtNorm, vtDerU, vtDerV ; @@ -1723,7 +1723,7 @@ ExeSurfBezParamsFromPoint( int nSurfId, const Point3d& ptOnSurf, int nDestGrpId, ExeSetColor( vIds, Color(255,128,0), false) ; } - return bOk ; + return true ; } //---------------------------------------------------------------------------- diff --git a/LUA_GdbGetSurf.cpp b/LUA_GdbGetSurf.cpp index f22e676..4096a17 100644 --- a/LUA_GdbGetSurf.cpp +++ b/LUA_GdbGetSurf.cpp @@ -1172,10 +1172,13 @@ LuaSurfBezParamsFromPoint( lua_State* L) LuaCheckParam( L, 3, nDestGrp) LuaClearStack( L) ; // recupero le coordinate parametriche del punto - Point3d ptParam = P_INVALID ; - bool bOk = ExeSurfBezParamsFromPoint( nSurfId, ptOnSurf, nDestGrp, ptParam) ; - if ( bOk) - LuaSetParam( L, ptParam) ; + double dU = - 1 ; + double dV = - 1 ; + bool bOk = ExeSurfBezParamsFromPoint( nSurfId, ptOnSurf, nDestGrp, dU, dV) ; + if ( bOk) { + LuaSetParam( L, dU) ; + LuaSetParam( L, dV) ; + } else LuaSetParam( L) ;