EgtGeomKernel 1.6u5 :

- correzioni per selezione e filtri.
This commit is contained in:
Dario Sassi
2016-09-27 08:56:08 +00:00
parent bd87c42e72
commit 7954d0e194
2 changed files with 8 additions and 11 deletions
+8 -11
View File
@@ -1678,10 +1678,12 @@ GeomDB::SelectGroupObjs( int nId, int nFilter, bool bOnlyIfVisible)
// se richiesti solo gruppi
if ( nFilter == GDB_TY_GROUP && ::GetGdbGroup( pGdbObj) == nullptr)
continue ;
// altrimenti richiesti solo oggetti geometrici di una classe ( GEO_ZERODIM, GEO_CURVE, ...)
GdbGeo* pGObj = ::GetGdbGeo( pGdbObj) ;
if ( pGObj == nullptr || ( pGObj->GetGeoType() & nFilter) == 0)
continue ;
// altrimenti richiesti solo oggetti geometrici di una o più classi ( GEO_ZERODIM, GEO_CURVE, ...)
else {
GdbGeo* pGObj = ::GetGdbGeo( pGdbObj) ;
if ( pGObj == nullptr || ( pGObj->GetGeoType() & nFilter) == 0)
continue ;
}
}
// se richiesta verifica visibilità
if ( bOnlyIfVisible) {
@@ -1691,13 +1693,8 @@ GeomDB::SelectGroupObjs( int nId, int nFilter, bool bOnlyIfVisible)
continue ;
}
// eseguo selezione
if ( ::GetGdbGroup( pGdbObj) != nullptr) {
return SelectGroupObjs( pGdbObj->m_nId, nFilter, bOnlyIfVisible) ;
}
else {
if ( ! SetStatus( pGdbObj, GDB_ST_SEL))
return false ;
}
if ( ! SetStatus( pGdbObj, GDB_ST_SEL))
return false ;
}
return true ;
}