X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHFiltersSelection%2FSMESH_NumberFilter.cxx;h=1bfdd3eb5f11bced7d2c3078d430f5d7f544fe60;hp=d104535dc2eea2b0a231aa2e69e2f77195f65886;hb=HEAD;hpb=7a65c9fad427b1ccba6b9ccae612296e5092a324 diff --git a/src/SMESHFiltersSelection/SMESH_NumberFilter.cxx b/src/SMESHFiltersSelection/SMESH_NumberFilter.cxx index d104535dc..ca8d095d6 100644 --- a/src/SMESHFiltersSelection/SMESH_NumberFilter.cxx +++ b/src/SMESHFiltersSelection/SMESH_NumberFilter.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -107,17 +107,14 @@ bool SMESH_NumberFilter::isOk (const SUIT_DataOwner* theDataOwner) const return false; // Get GEOM engine - Engines::EngineComponent_var comp = - SalomeApp_Application::lcc()->FindOrLoad_Component( "FactoryServer", "GEOM" ); - GEOM::GEOM_Gen_var geomEngine = GEOM::GEOM_Gen::_narrow( comp ); - if ( CORBA::is_nil( geomEngine ) ) + GEOM::GEOM_Gen_var geomEngine = aGeomObj->GetGen(); + if ( CORBA::is_nil( geomEngine )) return false; // Get shape from geom object and verify its parameters GEOM_Client aGeomClient; TopoDS_Shape aShape = aGeomClient.GetShape(geomEngine.in(), aGeomObj); - if (aShape.IsNull() || - !myShapeTypes.Contains(aShape.ShapeType())) + if (aShape.IsNull() || !myShapeTypes.Contains(aShape.ShapeType())) return false; if (myIsClosedOnly && aShape.ShapeType() == TopAbs_SHELL && !aShape.Closed()) @@ -129,21 +126,16 @@ bool SMESH_NumberFilter::isOk (const SUIT_DataOwner* theDataOwner) const if (aMainShape.IsNull()) return false; - bool isFound = false; - TopAbs_ShapeEnum aShapeType = aShape.ShapeType(); - TopExp_Explorer anExp (aMainShape, aShapeType); - for (; anExp.More(); anExp.Next()) { - if (anExp.Current() == aShape) { - isFound = true; + TopExp_Explorer anExp (aMainShape, aShape.ShapeType()); + for (; anExp.More(); anExp.Next()) + if (anExp.Current() == aShape) break; - } - } - if (!isFound) + if (!anExp.More()) return false; } // Verify number of sub-shapes - if (mySubShapeType == TopAbs_SHAPE); + if (mySubShapeType == TopAbs_SHAPE) return true; TopTools_IndexedMapOfShape aMap; @@ -175,7 +167,7 @@ GEOM::GEOM_Object_ptr SMESH_NumberFilter::getGeom _PTR(Study) study = appStudy->studyDS(); QString entry = owner->entry(); - _PTR(SObject) aSO( study->FindObjectID( entry.toLatin1().data() ) ), aRefSO; + _PTR(SObject) aSO( study->FindObjectID( entry.toUtf8().data() ) ), aRefSO; if( extractReference && aSO && aSO->ReferencedObject( aRefSO ) ) aSO = aRefSO;