From c69036ef2ca041eb4b4f65a9c2b7bf806329b636 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Sun, 10 Mar 2024 10:25:36 +0100 Subject: [PATCH] EgtExecutor 2.6c2 : - aggiunte funzioni Exe e Lua SurfTmSetShowEdges e VolZmapSetShowEdges. --- EXE_GdbModifySurf.cpp | 70 +++++++++++++++++++++++++++--------------- EXE_GdbModifyVol.cpp | 28 +++++++++++++++-- EgtExecutor.rc | Bin 18890 -> 18890 bytes LUA_GdbModifySurf.cpp | 54 ++++++++++++++++++++------------ LUA_GdbModifyVol.cpp | 18 +++++++++++ 5 files changed, 124 insertions(+), 46 deletions(-) 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 54f0d8722bac757107a86fcd62c71de0f155dc34..9f466894bd223832643c71adde786ac8933a4321 100644 GIT binary patch delta 81 zcmX>#neo(Q#tpyN7>zdnW^-i*QjT29S-`yGOp`YVRxuh)cH~Ol+$UrM5m>XaK delta 81 zcmX>#neo(Q#tpyN7!5c7W^-i*QjT29S-`yGOp`YVRxuh*cH~Ol+$UrM5