]> OCCT Git - occt-copy.git/commitdiff
0027862: Exception in BRepOffsetAPI_MakePipeShell
authormsv <msv@opencascade.com>
Mon, 12 Sep 2016 07:21:53 +0000 (10:21 +0300)
committermsv <msv@opencascade.com>
Mon, 12 Sep 2016 07:21:53 +0000 (10:21 +0300)
Check if the shape is not null before querying its ShapeType.

src/BRepFill/BRepFill_Sweep.cxx

index 93c3d3d01c8099e4dcce1903c78dddcf087368fc..411d3049c0cef45aaf5b2033c2daefe4cba9abb2 100644 (file)
@@ -2451,11 +2451,12 @@ BRepFill_Sweep::BRepFill_Sweep(const Handle(BRepFill_SectionLaw)& Section,
     B.MakeCompound(Comp);
     for (isec=1; isec <=  NbLaw+1; isec++) 
       for (ipath=1, IPath=IFirst; ipath<=  NbPath+1; ipath++, IPath++) {
-      if (ipath <= NbPath) myUEdges->SetValue(isec, IPath, UEdge(isec, ipath));
-      if (isec <= NbLaw) myVEdges->SetValue(isec, IPath, VEdge(isec, ipath)); 
-      if ((ipath <= NbPath) && (isec <= NbLaw) && 
-         (myFaces->Value(isec, IPath).ShapeType() == TopAbs_FACE))
-       B.Add(Comp, myFaces->Value(isec, IPath));
+        if (ipath <= NbPath) myUEdges->SetValue(isec, IPath, UEdge(isec, ipath));
+        if (isec <= NbLaw) myVEdges->SetValue(isec, IPath, VEdge(isec, ipath)); 
+        if ((ipath <= NbPath) && (isec <= NbLaw) && 
+            !myFaces->Value(isec, IPath).IsNull() &&
+            myFaces->Value(isec, IPath).ShapeType() == TopAbs_FACE)
+          B.Add(Comp, myFaces->Value(isec, IPath));
     }
     BRepLib::EncodeRegularity(Comp, myTolAngular);
   }