]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
NPAL14167: correct error on compound with sphere.
authorjfa <jfa@opencascade.com>
Tue, 22 Apr 2008 12:43:06 +0000 (12:43 +0000)
committerjfa <jfa@opencascade.com>
Tue, 22 Apr 2008 12:43:06 +0000 (12:43 +0000)
src/GEOMImpl/GEOMImpl_IShapesOperations.cxx

index e3647c3a01aea35cbcafa3046a79216bec46c1ed..035096fe19ec0379a9fe870ab074cbc1ecb57fd9 100644 (file)
@@ -799,8 +799,6 @@ Handle(TColStd_HSequenceOfTransient) GEOMImpl_IShapesOperations::MakeExplode
   TopExp::MapShapes(aShape, anIndices);
   Handle(TColStd_HArray1OfInteger) anArray;
 
-  Standard_Integer nbAllSubShape = anIndices.Extent();
-
   TopTools_ListIteratorOfListOfShape itSub (listShape);
   TCollection_AsciiString anAsciiList, anEntry;
   for (int index = 1; itSub.More(); itSub.Next(), ++index)
@@ -3267,6 +3265,12 @@ static bool isSameEdge(const TopoDS_Edge& theEdge1, const TopoDS_Edge& theEdge2)
 
   if(!coincide) return false;
 
+  if (BRep_Tool::Degenerated(theEdge1))
+    if (BRep_Tool::Degenerated(theEdge2)) return true;
+    else return false;
+  else
+    if (BRep_Tool::Degenerated(theEdge2)) return false;
+
   double U11, U12, U21, U22;
   Handle(Geom_Curve) C1 = BRep_Tool::Curve(theEdge1, U11, U12);
   Handle(Geom_Curve) C2 = BRep_Tool::Curve(theEdge2, U21, U22);