EgtExecutor 2.7h1 :

- se si cambia il modo di visualizzare insiemi di triangoli con ExeSetShowTriaAdv si invalidano tutti gli oggetti grafici.
This commit is contained in:
Dario Sassi
2025-08-22 11:51:00 +02:00
parent 8d7fdeb0c2
commit b02a00ef6b
2 changed files with 28 additions and 2 deletions
+28 -2
View File
@@ -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 ;
BIN
View File
Binary file not shown.