]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
0022374: [CEA 972] GetInPlace with new implemen gives a wrong result
authorskv <skv@opencascade.com>
Tue, 5 Nov 2013 08:42:56 +0000 (08:42 +0000)
committerskv <skv@opencascade.com>
Tue, 5 Nov 2013 08:42:56 +0000 (08:42 +0000)
src/GEOMImpl/GEOMImpl_IShapesOperations.cxx

index 062fe23a0c0271c7401e35fdb5b7eac91710342a..c44d07e3be4858256b8a80be7d0d3e15d113090a 100644 (file)
@@ -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;