From: skv Date: Tue, 5 Nov 2013 08:42:56 +0000 (+0000) Subject: 0022374: [CEA 972] GetInPlace with new implemen gives a wrong result X-Git-Tag: BR_hydro_v_0_3_1~49 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=06ff3ece88a2224646111e1c2e878fb5c9295bdb;p=modules%2Fgeom.git 0022374: [CEA 972] GetInPlace with new implemen gives a wrong result --- diff --git a/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx b/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx index 062fe23a0..c44d07e3b 100644 --- a/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx +++ b/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx @@ -3953,11 +3953,29 @@ Handle(GEOM_Object) GEOMImpl_IShapesOperations::GetInPlace (Handle(GEOM_Object) SetErrorCode(NOT_FOUND_ANY); return NULL; } - + // + // pkvf + TopTools_ListOfShape aLSA; + // + { + TopTools_MapOfShape aMFence; + TopTools_ListIteratorOfListOfShape aIt; + // + const TopTools_ListOfShape& aLS = aDMSLS.Find(aWhat); + aIt.Initialize(aLS); + for (;aIt.More(); aIt.Next()) { + const TopoDS_Shape& aSA=aIt.Value(); + if(aMFence.Add(aSA)) { + aLSA.Append(aSA); + } + } + } + // // the list of shapes aLSA contains the shapes // of the Shape For Search that corresponds // to the Argument aWhat - const TopTools_ListOfShape& aLSA = aDMSLS.Find(aWhat); + //const TopTools_ListOfShape& aLSA = aDMSLS.Find(aWhat); + //pkvt if (aLSA.Extent() == 0) { SetErrorCode(NOT_FOUND_ANY); // Not found any Results return NULL;