0022927: Regression with OCCT652 on Windows. DRAWEXE crashes during offsetcomshape.
authorvro <vro@opencascade.com>
Thu, 15 Nov 2012 11:19:42 +0000 (15:19 +0400)
committervro <vro@opencascade.com>
Thu, 15 Nov 2012 11:19:42 +0000 (15:19 +0400)
Check was added to avoid a crash if result is not reachable.
Modified test case

src/BRepOffset/BRepOffset_Tool.cxx
tests/offset/compshape/A4 [changed mode: 0644->0755]

index eda4349..c2a1918 100755 (executable)
@@ -3607,8 +3607,13 @@ void BRepOffset_Tool::ExtentFace (const TopoDS_Face&            F,
       const TopoDS_Edge& E = TopoDS::Edge(exp2.Current());
       if (ConstShapes.IsBound(E)) ToBuild.UnBind(E);
       if (ToBuild.IsBound(E)) {
-       EnLargeFace(TopoDS::Face(ToBuild(E)),StopFace,Standard_False);
-       BRepOffset_Tool::Inter3D (EF,StopFace,LInt1,LInt2,Side,E,Standard_True);
+        EnLargeFace(TopoDS::Face(ToBuild(E)),StopFace,Standard_False);
+        BRepOffset_Tool::Inter3D (EF,StopFace,LInt1,LInt2,Side,E,Standard_True);
+        // No intersection, it may happen for example for a chosen (non-offseted) planar face and 
+        // its neighbour offseted cylindrical face, if the offset is directed so that 
+        // the radius of the cylinder becomes smaller.
+        if (LInt1.IsEmpty())
+          continue;  
        if (LInt1.Extent() > 1) { 
          // l intersection est en plusieurs edges (franchissement de couture)
          SelectEdge (F,EF,E,LInt1);
old mode 100644 (file)
new mode 100755 (executable)
index f5e133b..76ae383
@@ -4,14 +4,18 @@
 ## Comment : From CV tests serie page 60
 ## ======================================
 
-puts "*"
-puts "TODO OCC22740 ALL: An exception was caught"
-puts "TODO OCC22740 ALL: \\*\\* Exception \\*\\*"
-puts "TODO OCC22740 ALL: Error : The offset can not be build"
+#puts "*"
+#puts "TODO OCC22740 ALL: An exception was caught"
+#puts "TODO OCC22740 ALL: \\*\\* Exception \\*\\*"
+#puts "TODO OCC22740 ALL: Error : The offset can not be build"
+puts "TODO OCC23524 ALL: Error : The offset is not valid"
 
 restore [locate_data_file CCV_2_d1_gsw.rle] s
 explode s F
 catch {offsetcompshape result s -2 s_17}
 
 #real volume of result shape is unknow yet
-set volume 0
+
+set volume 534256
+
+