diff --git a/EXE_GdbGetCurve.cpp b/EXE_GdbGetCurve.cpp index f42490d..5f1c641 100644 --- a/EXE_GdbGetCurve.cpp +++ b/EXE_GdbGetCurve.cpp @@ -677,37 +677,4 @@ ExeCurveCompoNormVersor( int nId, int nSimpCrv, int nRefId, Vector3d& vtNorm) } // gestione trasformazione ( eventuale) return TransformVector( pGeomDB, nId, nRefId, vtNorm) ; -} - -//---------------------------------------------------------------------------- -bool -ExeShowBezierCurveControlPoints( int nCrvId, int* pnCount) -{ - IGeomDB* pGeomDB = GetCurrGeomDB() ; - VERIFY_GEOMDB( pGeomDB, false) - // recupero la curva di bezier - const ICurveBezier* pCrvBezier = GetCurveBezier( pGeomDB->GetGeoObj( nCrvId)) ; - if ( pCrvBezier == nullptr || pCrvBezier->GetType() != CRV_BEZIER) - return false ; - int nParent = pGeomDB->GetParentId( nCrvId) ; - int nDeg = pCrvBezier->GetDegree() ; - bool bRat = pCrvBezier->IsRational() ; - int nFirstId = -1 ; - int nCount = 0 ; - for ( int i = 0 ; i < nDeg + 1 ; ++i) { - IGeoPoint3d* pGeoPt( CreateGeoPoint3d()) ; - if ( ! bRat) - pGeoPt->Set( pCrvBezier->GetControlPoint( i)) ; - else - pGeoPt->Set( pCrvBezier->GetControlPoint( i) * pCrvBezier->GetControlWeight( i)) ; - int nId = pGeomDB->AddGeoObj( GDB_ID_NULL, nParent, pGeoPt) ; - if ( nFirstId == GDB_ID_NULL) - nFirstId = nId ; - if ( nId != GDB_ID_NULL) - ++nCount ; - } - // restituisco i risultati - if ( pnCount != nullptr) - *pnCount = nCount ; - return nFirstId ; -} +} \ No newline at end of file diff --git a/EXE_GdbModifySurf.cpp b/EXE_GdbModifySurf.cpp index f6df9d2..41265a3 100644 --- a/EXE_GdbModifySurf.cpp +++ b/EXE_GdbModifySurf.cpp @@ -1214,3 +1214,24 @@ ExeSurfBzTrim( int nId, int nCutterId) } return bOk ; } + +//---------------------------------------------------------------------------- +bool +ExeSurfTmSetSmoothAng( int nId, double dAngDeg) +{ + IGeomDB* pGeomDB = GetCurrGeomDB() ; + VERIFY_GEOMDB( pGeomDB, false) + // recupero la superficie trimseh da trimmare + ISurfTriMesh* pSrfTm = GetSurfTriMesh( pGeomDB->GetGeoObj( nId)) ; + if ( pSrfTm == nullptr) + return false ; + pSrfTm->SetSmoothAngle( dAngDeg) ; + ExeSetModified() ; + // se richiesto, salvo il comando Lua equivalente + if ( IsCmdLog()) { + string sLua = "EgtSurfTmSetSmoothAng(" + ToString( nId) + "," + + ToString( dAngDeg) ; + LOG_INFO( GetCmdLogger(), sLua.c_str()) ; + } + return true ; +} diff --git a/LUA_GdbGetCurve.cpp b/LUA_GdbGetCurve.cpp index 7f31ff1..112d39d 100644 --- a/LUA_GdbGetCurve.cpp +++ b/LUA_GdbGetCurve.cpp @@ -531,28 +531,6 @@ LuaCurveCompoNormVersor( lua_State* L) return 1 ; } -//---------------------------------------------------------------------------- -static int -LuaShowBezierCurveControlPoint( lua_State* L) -{ - // 1 parametro : nCrvId - int nCrvId ; - LuaCheckParam( L, 1, nCrvId) - LuaClearStack( L) ; - int nCount = 0 ; - int nId = ExeShowBezierCurveControlPoints( nCrvId, &nCount) ; - // restituisco il risultato - if ( nId != GDB_ID_NULL) { - LuaSetParam( L, nId) ; - LuaSetParam( L, nCount) ; - } - else { - LuaSetParam( L) ; - LuaSetParam( L) ; - } - return 2 ; -} - //------------------------------------------------------------------------------- bool LuaInstallGdbGetCurve( LuaMgr& luaMgr) @@ -584,6 +562,5 @@ LuaInstallGdbGetCurve( LuaMgr& luaMgr) bOk = bOk && luaMgr.RegisterFunction( "EgtCurveCompoRadius", LuaCurveCompoRadius) ; bOk = bOk && luaMgr.RegisterFunction( "EgtCurveCompoAngCenter", LuaCurveCompoAngCenter) ; bOk = bOk && luaMgr.RegisterFunction( "EgtCurveCompoNormVersor", LuaCurveCompoNormVersor) ; - bOk = bOk && luaMgr.RegisterFunction( "EgtShowBezierCurveControlPoints", LuaShowBezierCurveControlPoint) ; return bOk ; } diff --git a/LUA_GdbModifySurf.cpp b/LUA_GdbModifySurf.cpp index 58e046d..34802cd 100644 --- a/LUA_GdbModifySurf.cpp +++ b/LUA_GdbModifySurf.cpp @@ -582,6 +582,22 @@ LuaSurfBzTrim( lua_State* L) return 1 ; } +//------------------------------------------------------------------------------- +static int +LuaSurfTmSetSmoothAng( lua_State* L) +{ + // 2 parametri : nId, nCutterId + int nId ; + LuaCheckParam( L, 1, nId) + double dAngDeg ; + LuaCheckParam( L, 2, dAngDeg) + LuaClearStack( L) ; + // aggiorno lo smooth angle della superficie + bool bOk = ExeSurfTmSetSmoothAng( nId, dAngDeg) ; + LuaSetParam( L, bOk) ; + return 1 ; +} + //------------------------------------------------------------------------------- bool LuaInstallGdbModifySurf( LuaMgr& luaMgr) @@ -616,5 +632,6 @@ LuaInstallGdbModifySurf( LuaMgr& luaMgr) bOk = bOk && luaMgr.RegisterFunction( "EgtSurfTmSetShowEdges", LuaSurfTmSetShowEdges) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSurfTmGetShowEdges", LuaSurfTmGetShowEdges) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSurfBzTrim", LuaSurfBzTrim) ; + bOk = bOk && luaMgr.RegisterFunction( "EgtSurfTmSetSmoothAng", LuaSurfTmSetSmoothAng) ; return bOk ; }