0024532: BRepOffsetAPI_MakePipeShell raises an exception in a case with auxiliary...
authorjgv <jgv@opencascade.com>
Thu, 16 Jan 2014 10:03:22 +0000 (14:03 +0400)
committerbugmaster <bugmaster@opencascade.com>
Mon, 20 Jan 2014 10:45:29 +0000 (14:45 +0400)
Test case for issue CR24532

src/BRepFill/BRepFill_CompatibleWires.cxx
tests/bugs/modalg_5/bug24532 [new file with mode: 0755]

index 0b8e372..12f6770 100644 (file)
@@ -157,11 +157,7 @@ static Standard_Boolean PlaneOfWire (const TopoDS_Wire& W, gp_Pln& P)
   }
   TopoDS_Edge Edge = TopoDS::Edge(anExp.Current());
   Standard_Real first, last;
-  TopLoc_Location loc;
-  Handle(Geom_Curve) curv;
-  curv = BRep_Tool::Curve(Edge, loc, first, last);
-  curv = 
-      Handle(Geom_Curve)::DownCast(curv->Transformed(loc.Transformation()));
+  Handle(Geom_Curve) curv = BRep_Tool::Curve(Edge, first, last);
   if (wClosed) {
     GeomAdaptor_Curve AdC;
     AdC.Load(curv);
diff --git a/tests/bugs/modalg_5/bug24532 b/tests/bugs/modalg_5/bug24532
new file mode 100755 (executable)
index 0000000..1a4c0c2
--- /dev/null
@@ -0,0 +1,38 @@
+puts "============"
+puts "OCC24532"
+puts "============"
+puts ""
+#######################################################################
+# BRepOffsetAPI_MakePipeShell raises an exception in a case with auxiliary guide
+#######################################################################
+
+polyline w1 -4 -3 0 4 -3 0 4 3 0 -4 3 0 -4 -3 0
+polyline w2 4 3 80 -4 3 80 -4 -3 80 4 -3 80 4 3 80
+polyline sp 0 0 0 0 0 80
+
+cylinder cc 0 0 0 0 0 1 -4 -3 0 5
+line ll 0 0 pi 80
+trim ll ll 0 sqrt(pi*pi+80*80)
+explode w1 v
+explode w2 v
+mkedge ee ll cc w1_1 w2_1
+wire gg ee
+
+mksweep sp
+setsweep -G gg 0 0
+addsweep w1
+buildsweep result -S
+
+set square 2343.46
+
+set nb_v_good 8
+set nb_e_good 12
+set nb_w_good 6
+set nb_f_good 6
+set nb_sh_good 1
+set nb_sol_good 1
+set nb_compsol_good 0
+set nb_compound_good 0
+set nb_shape_good 34
+
+set 2dviewer 1