X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHFiltersSelection%2FSMESH_NumberFilter.cxx;h=6513be532f87cfe3ec165fc5e85630901f5628ed;hb=d303154d91eb916a55ac93a372cbdb918aa18d14;hp=61162a581681c69ff04e618e2371d289cfe132d0;hpb=9d11375af40826e967ab2c3bcb77d1f9d439c90c;p=modules%2Fsmesh.git diff --git a/src/SMESHFiltersSelection/SMESH_NumberFilter.cxx b/src/SMESHFiltersSelection/SMESH_NumberFilter.cxx index 61162a581..6513be532 100644 --- a/src/SMESHFiltersSelection/SMESH_NumberFilter.cxx +++ b/src/SMESHFiltersSelection/SMESH_NumberFilter.cxx @@ -35,8 +35,9 @@ #include "SALOMEDSClient_SObject.hxx" #include "SALOMEDS_SObject.hxx" -#include #include +#include +#include /*! * Class : SMESH_NumberFilter @@ -135,12 +136,13 @@ bool SMESH_NumberFilter::isOk (const SUIT_DataOwner* theDataOwner) const if (mySubShapeType == TopAbs_SHAPE); return true; - TopExp_Explorer anExp2 (aShape, mySubShapeType); - TopTools_MapOfShape aMap; - for (; anExp2.More(); anExp2.Next()) - aMap.Add(anExp2.Current()); + TopTools_IndexedMapOfShape aMap; + TopExp::MapShapes(aShape, mySubShapeType, aMap); - return myNumber == aMap.Extent(); + if ( myNumber ) + return myNumber == aMap.Extent(); // given number + + return aMap.Extent(); // at least one? } //======================================================================= @@ -163,7 +165,7 @@ GEOM::GEOM_Object_ptr SMESH_NumberFilter::getGeom _PTR(Study) study = appStudy->studyDS(); QString entry = owner->entry(); - _PTR(SObject) aSO( study->FindObjectID( entry.latin1() ) ), aRefSO; + _PTR(SObject) aSO( study->FindObjectID( entry.toLatin1().data() ) ), aRefSO; if( extractReference && aSO && aSO->ReferencedObject( aRefSO ) ) aSO = aRefSO;