From b02a00ef6bcd46a1cf23c5a48bbea95fecd913df Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Fri, 22 Aug 2025 11:51:00 +0200 Subject: [PATCH] EgtExecutor 2.7h1 : - se si cambia il modo di visualizzare insiemi di triangoli con ExeSetShowTriaAdv si invalidano tutti gli oggetti grafici. --- EXE_Scene.cpp | 30 ++++++++++++++++++++++++++++-- EgtExecutor.rc | Bin 18890 -> 18890 bytes 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/EXE_Scene.cpp b/EXE_Scene.cpp index 6593242..30f6e59 100644 --- a/EXE_Scene.cpp +++ b/EXE_Scene.cpp @@ -431,14 +431,40 @@ ExeGetShowCurveDirection( void) return pScene->GetShowCurveDirection() ; } +//----------------------------------------------------------------------------- +static bool +MyResetGroupObjGraphics( IGeomDB* pGDB, int nGroupId) +{ + int nEntId = pGDB->GetFirstInGroup( nGroupId) ; + while ( nEntId != GDB_ID_NULL) { + if ( pGDB->GetGdbType( nEntId) == GDB_TY_GROUP) { + MyResetGroupObjGraphics( pGDB, nEntId) ; + } + else { + IGeoObj* pGeoObj = pGDB->GetGeoObj( nEntId) ; + if ( pGeoObj != nullptr) + pGeoObj->SetObjGraphics( nullptr) ; + } + nEntId = pGDB->GetNext( nEntId) ; + } + return true ; +} + //----------------------------------------------------------------------------- bool ExeSetShowTriaAdv( bool bAdvanced, bool bRedraw) { IEGrScene* pScene = GetCurrScene() ; VERIFY_SCENE( pScene, false) - // imposto stato - pScene->SetShowTriaAdvanced( bAdvanced) ; + // se cambiato, imposto stato + if ( pScene->GetShowTriaAdvanced() != bAdvanced) { + // imposto il nuovo stato + pScene->SetShowTriaAdvanced( bAdvanced) ; + // forzo ricalcolo della grafica di tutti gli oggetti + IGeomDB* pGDB = pScene->GetGeomDB() ; + if ( pGDB != nullptr) + MyResetGroupObjGraphics( pGDB, GDB_ID_ROOT) ; + } if ( bRedraw) pScene->RedrawWindow() ; return TRUE ; diff --git a/EgtExecutor.rc b/EgtExecutor.rc index 22076838531f6cb0c91a878075395e136601a124..a8e68832f5fe792e360a8ed12ba7a711ceed5a7a 100644 GIT binary patch delta 105 zcmX>#neo(Q#tq-tSS=WI7z{W6W^-m{&HyqTxfZj)#f~#g-XK^35})kImAtu6$O0yJ US`4aQPzqIjgCatGoKlWD0D>kShyVZp delta 105 zcmX>#neo(Q#tq-tSj`!97>qanW^-m{P6sj^xfZj)#f~#g-XK^35})kImAtu6$O0yJ US`4aQPzqIjgCatGoKlWD0E4O?kN^Mx