diff --git a/EXE_GdbGetCurve.cpp b/EXE_GdbGetCurve.cpp index 3beabf7..8ae68a6 100644 --- a/EXE_GdbGetCurve.cpp +++ b/EXE_GdbGetCurve.cpp @@ -832,4 +832,18 @@ ExeShowCurveBezierControlPoints( int nCrvId, int nDestGrpId, int* pnCount) } else return GDB_ID_NULL ; +} + +//---------------------------------------------------------------------------- +bool +ExeCurveMaxOffset( int nId, double& dMaxOffset) +{ + IGeomDB* pGeomDB = GetCurrGeomDB() ; + VERIFY_GEOMDB( pGeomDB, false) + // verifico il parametro + if ( &dMaxOffset == nullptr) + return false ; + // recupero la curva + const ICurve* pCrv = GetCurve( pGeomDB->GetGeoObj( nId)) ; + return CalcCurveLimitOffset( *pCrv, dMaxOffset) ; } \ No newline at end of file diff --git a/LUA_GdbGetCurve.cpp b/LUA_GdbGetCurve.cpp index 657dd40..1072e46 100644 --- a/LUA_GdbGetCurve.cpp +++ b/LUA_GdbGetCurve.cpp @@ -261,6 +261,23 @@ LuaCurveArea( lua_State* L) } } +//---------------------------------------------------------------------------- +static int +LuaCurveMaxOffset( lua_State* L) +{ + // 2 parametri : Id + int nId ; + LuaCheckParam( L, 1, nId) + LuaClearStack( L) ; + // recupero la sua area senza eventuali buchi + double dMaxOffset ; + if ( ExeCurveMaxOffset( nId, dMaxOffset)) + LuaSetParam( L, dMaxOffset) ; + else + LuaSetParam( L) ; + return 1 ; +} + //---------------------------------------------------------------------------- static int LuaCurveExtrusion( lua_State* L) @@ -625,6 +642,7 @@ LuaInstallGdbGetCurve( LuaMgr& luaMgr) bOk = bOk && luaMgr.RegisterFunction( "EgtCurveIsATrapezoid", LuaCurveIsATrapezoid) ; bOk = bOk && luaMgr.RegisterFunction( "EgtCurveAreaXY", LuaCurveAreaXY) ; bOk = bOk && luaMgr.RegisterFunction( "EgtCurveArea", LuaCurveArea) ; + bOk = bOk && luaMgr.RegisterFunction( "EgtCurveMaxOffset", LuaCurveMaxOffset) ; bOk = bOk && luaMgr.RegisterFunction( "EgtCurveExtrusion", LuaCurveExtrusion) ; bOk = bOk && luaMgr.RegisterFunction( "EgtCurveThickness", LuaCurveThickness) ; bOk = bOk && luaMgr.RegisterFunction( "EgtCurveSelfIntersCount", LuaCurveSelfIntersCount) ;