diff --git a/EXE_GdbModifySurf.cpp b/EXE_GdbModifySurf.cpp index d9b4426..17366bb 100644 --- a/EXE_GdbModifySurf.cpp +++ b/EXE_GdbModifySurf.cpp @@ -104,7 +104,7 @@ MyExplodeSurfTriMesh( int nId, int& nCount) } // recupero il numero di facce int nFacets = pStm->GetFacetCount() ; - // se ci sono pi� facce, separo queste + // se ci sono più facce, separo queste if ( nFacets > 1) { // copio tutte le facce int nFirstId = GDB_ID_NULL ; @@ -130,7 +130,7 @@ MyExplodeSurfTriMesh( int nId, int& nCount) // restituisco risultati return nFirstId ; } - // non devo fare alcunch� + // non devo fare alcunché nCount = 1 ; return nId ; } @@ -147,7 +147,7 @@ MyExplodeSurfFlatRegion( int nId, int& nCount) return GDB_ID_NULL ; // recupero il numero di componenti connessi (chunk) int nChunk = pSfr->GetChunkCount() ; - // se c'� un solo componente, non devo fare alcunch� + // se c'è un solo componente, non devo fare alcunché if ( nChunk == 1) { nCount = 1 ; return nId ; @@ -784,27 +784,6 @@ ExeSurfTmIntersect( int nId1, int nId2, bool bTwoColors) return bOk ; } -//---------------------------------------------------------------------------- -bool -ExeSurfTmResetTwoColors( int nId) -{ - IGeomDB* pGeomDB = GetCurrGeomDB() ; - VERIFY_GEOMDB( pGeomDB, false) - // recupero la superficie TriMesh - ISurfTriMesh* pStm = GetSurfTriMesh( pGeomDB->GetGeoObj( nId)) ; - bool bOk = ( pStm != nullptr) ; - // reset dei flag sui triangoli per i due colori - bOk = bOk && pStm->ResetTFlags() ; - ExeSetModified() ; - // se richiesto, salvo il comando Lua equivalente - if ( IsCmdLog()) { - string sLua = "EgtSurfTmResetTwoColors(" + ToString( nId) + ")" + - " -- Ok=" + ToString( bOk) ; - LOG_INFO( GetCmdLogger(), sLua.c_str()) ; - } - return bOk ; -} - //---------------------------------------------------------------------------- static ISurfTriMesh* MyCreateSubSurfTm( const ISurfTriMesh* pStm, const INTVECTOR& vTria, const INTVECTOR& vTria2) @@ -1016,6 +995,49 @@ ExeSurfTmSubtractProjectedFacesOnFace( int nSurfId, int nFaceInd, int nDestGrpId return bOk ; } +//---------------------------------------------------------------------------- +bool +ExeSurfTmResetTwoColors( int nId) +{ + IGeomDB* pGeomDB = GetCurrGeomDB() ; + VERIFY_GEOMDB( pGeomDB, false) + // recupero la superficie TriMesh + ISurfTriMesh* pStm = GetSurfTriMesh( pGeomDB->GetGeoObj( nId)) ; + bool bOk = ( pStm != nullptr) ; + // reset dei flag sui triangoli per i due colori + bOk = bOk && pStm->ResetTFlags() ; + ExeSetModified() ; + // se richiesto, salvo il comando Lua equivalente + if ( IsCmdLog()) { + string sLua = "EgtSurfTmResetTwoColors(" + ToString( nId) + ")" + + " -- Ok=" + ToString( bOk) ; + LOG_INFO( GetCmdLogger(), sLua.c_str()) ; + } + return bOk ; +} + +//---------------------------------------------------------------------------- +bool +ExeSurfTmSetShowEdges( int nId, bool bShow) +{ + IGeomDB* pGeomDB = GetCurrGeomDB() ; + VERIFY_GEOMDB( pGeomDB, false) + // recupero la superficie trimesh + ISurfTriMesh* pStm = GetSurfTriMesh( pGeomDB->GetGeoObj( nId)) ; + bool bOk = ( pStm != nullptr) ; + // imposto lo stato di visualizzazione degli spigoli vivi + if ( bOk) + pStm->SetShowEdges( bShow) ; + ExeSetModified() ; + // se richiesto, salvo il comando Lua equivalente + if ( IsCmdLog()) { + string sLua = "EgtSurfTmSetShowEdges(" + ToString( nId) + "," + + ToString( bShow) + ")" + + " -- Ok=" + ToString( bOk) ; + LOG_INFO( GetCmdLogger(), sLua.c_str()) ; + } + return bOk ; +} //---------------------------------------------------------------------------- static bool diff --git a/EXE_GdbModifyVol.cpp b/EXE_GdbModifyVol.cpp index 3e843ec..1cce74a 100644 --- a/EXE_GdbModifyVol.cpp +++ b/EXE_GdbModifyVol.cpp @@ -104,10 +104,9 @@ ExeVolZmapChangeResolution( int nId, int nNewRes) VERIFY_GEOMDB( pGeomDB, false) // recupero lo Zmap IVolZmap* pVZM = GetVolZmap( pGeomDB->GetGeoObj( nId)) ; - if ( pVZM == nullptr) - return false ; + bool bOk = ( pVZM != nullptr) ; // cambio la risoluzione (rapporto Voxel/Dexel, valori ammessi 1 e 2) - bool bOk = pVZM->ChangeResolution( nNewRes) ; + bOk = bOk && pVZM->ChangeResolution( nNewRes) ; ExeSetModified() ; // se richiesto, salvo il comando Lua equivalente if ( IsCmdLog()) { @@ -120,6 +119,29 @@ ExeVolZmapChangeResolution( int nId, int nNewRes) return bOk ; } +//---------------------------------------------------------------------------- +bool +ExeVolZmapSetShowEdges( int nId, bool bShow) +{ + IGeomDB* pGeomDB = GetCurrGeomDB() ; + VERIFY_GEOMDB( pGeomDB, false) + // recupero lo Zmap + IVolZmap* pVZM = GetVolZmap( pGeomDB->GetGeoObj( nId)) ; + bool bOk = ( pVZM != nullptr) ; + // imposto lo stato di visualizzazione degli spigoli vivi + if ( bOk) + pVZM->SetShowEdges( bShow) ; + ExeSetModified() ; + // se richiesto, salvo il comando Lua equivalente + if ( IsCmdLog()) { + string sLua = "EgtVolZmapSetShowEdges(" + ToString( nId) + "," + + ToString( bShow) + ")" + + " -- Ok=" + ToString( bOk) ; + LOG_INFO( GetCmdLogger(), sLua.c_str()) ; + } + return bOk ; +} + //------------------------------------------------------------------------------- bool ExeRemoveVolZmapPart( int nId, int nPart) diff --git a/EgtExecutor.rc b/EgtExecutor.rc index 54f0d87..9f46689 100644 Binary files a/EgtExecutor.rc and b/EgtExecutor.rc differ diff --git a/LUA_GdbModifySurf.cpp b/LUA_GdbModifySurf.cpp index 5acf8d8..03c9349 100644 --- a/LUA_GdbModifySurf.cpp +++ b/LUA_GdbModifySurf.cpp @@ -23,7 +23,6 @@ using namespace std ; - //---------------------------------------------------------------------------- static int LuaInvertSurf( lua_State* L) @@ -356,20 +355,6 @@ LuaSurfTmIntersect( lua_State* L) return 1 ; } -//------------------------------------------------------------------------------- -static int -LuaSurfTmResetTwoColors( lua_State* L) -{ - // 1 parametro : Id - int nId ; - LuaCheckParam( L, 1, nId) - LuaClearStack( L) ; - // eseguo reset TFlag per annullare due colori - bool bOk = ExeSurfTmResetTwoColors( nId) ; - LuaSetParam( L, bOk) ; - return 1 ; -} - //------------------------------------------------------------------------------- static int LuaSurfTmSplit( lua_State* L) @@ -445,18 +430,48 @@ LuaSurfTmSubtractProjectedFacesOnFace( lua_State* L) return 4 ; } +//------------------------------------------------------------------------------- +static int +LuaSurfTmResetTwoColors( lua_State* L) +{ + // 1 parametro : Id + int nId ; + LuaCheckParam( L, 1, nId) + LuaClearStack( L) ; + // eseguo reset TFlag per annullare due colori + bool bOk = ExeSurfTmResetTwoColors( nId) ; + LuaSetParam( L, bOk) ; + return 1 ; +} + +//------------------------------------------------------------------------------- +static int +LuaSurfTmSetShowEdges( lua_State* L) +{ + // 2 parametri : Id, bShow + int nId ; + LuaCheckParam( L, 1, nId) + bool bShow ; + LuaCheckParam( L, 2, bShow) ; + LuaClearStack( L) ; + // imposto flag visualizzazione spigoli vivi + bool bOk = ExeSurfTmSetShowEdges( nId, bShow) ; + // restituisco il risultato + LuaSetParam( L, bOk) ; + return 1 ; +} + //------------------------------------------------------------------------------- static int LuaSurfBzTrim( lua_State* L) { - // 2 parametri : nId, nCutterId + // 2 parametri : nId, nCutterId int nId ; LuaCheckParam( L, 1, nId) int nCutterId ; LuaCheckParam( L, 2, nCutterId) LuaClearStack( L) ; - // taglio la prima superficie in base alla seconda - //bool bOk = ExeSurfTmCut( nId, nCutterId, bInVsOut, bOn) ; + // taglio la prima superficie in base alla seconda bool bOk = ExeSurfBzTrim( nId, nCutterId) ; LuaSetParam( L, bOk) ; return 1 ; @@ -485,10 +500,11 @@ LuaInstallGdbModifySurf( LuaMgr& luaMgr) bOk = bOk && luaMgr.RegisterFunction( "EgtSurfTmAdd", LuaSurfTmAdd) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSurfTmSubtract", LuaSurfTmSubtract) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSurfTmIntersect", LuaSurfTmIntersect) ; - bOk = bOk && luaMgr.RegisterFunction( "EgtSurfTmResetTwoColors", LuaSurfTmResetTwoColors) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSurfTmSplit", LuaSurfTmSplit) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSurfTmCut", LuaSurfTmCut) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSurfTmSubtractProjectedFacesOnFace", LuaSurfTmSubtractProjectedFacesOnFace) ; + bOk = bOk && luaMgr.RegisterFunction( "EgtSurfTmResetTwoColors", LuaSurfTmResetTwoColors) ; + bOk = bOk && luaMgr.RegisterFunction( "EgtSurfTmSetShowEdges", LuaSurfTmSetShowEdges) ; bOk = bOk && luaMgr.RegisterFunction( "EgtSurfBzTrim", LuaSurfBzTrim) ; return bOk ; } diff --git a/LUA_GdbModifyVol.cpp b/LUA_GdbModifyVol.cpp index 407decf..b0c8e28 100644 --- a/LUA_GdbModifyVol.cpp +++ b/LUA_GdbModifyVol.cpp @@ -56,6 +56,23 @@ LuaVolZmapChangeResolution( lua_State* L) return 1 ; } +//------------------------------------------------------------------------------- +static int +LuaVolZmapSetShowEdges( lua_State* L) +{ + // 2 parametri : Id, bShow + int nId ; + LuaCheckParam( L, 1, nId) + bool bShow ; + LuaCheckParam( L, 2, bShow) ; + LuaClearStack( L) ; + // imposto flag visualizzazione spigoli vivi + bool bOk = ExeVolZmapSetShowEdges( nId, bShow) ; + // restituisco il risultato + LuaSetParam( L, bOk) ; + return 1 ; +} + //---------------------------------------------------------------------------- static int LuaRemoveVolZmapPart( lua_State* L) @@ -350,6 +367,7 @@ LuaInstallGdbModifyVol( LuaMgr& luaMgr) bool bOk = ( &luaMgr != nullptr) ; bOk = bOk && luaMgr.RegisterFunction( "EgtExplodeVolume", LuaExplodeVolume) ; bOk = bOk && luaMgr.RegisterFunction( "EgtVolZmapChangeResolution", LuaVolZmapChangeResolution) ; + bOk = bOk && luaMgr.RegisterFunction( "EgtVolZmapSetShowEdges", LuaVolZmapSetShowEdges) ; bOk = bOk && luaMgr.RegisterFunction( "EgtRemoveVolZmapPart", LuaRemoveVolZmapPart) ; bOk = bOk && luaMgr.RegisterFunction( "EgtVolZmapSetStdTool", LuaVolZmapSetStdTool) ; bOk = bOk && luaMgr.RegisterFunction( "EgtVolZmapSetAdvTool", LuaVolZmapSetAdvTool) ;