EgtGeomKernel 1.6u5 :
- correzioni per selezione e filtri.
This commit is contained in:
+8
-11
@@ -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 ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user