0025199: Bad tolerance edge generated by blend algorithm
authoraml <aml@opencascade.com>
Thu, 4 Sep 2014 09:59:05 +0000 (13:59 +0400)
committerbugmaster <bugmaster@opencascade.com>
Thu, 4 Sep 2014 10:00:41 +0000 (14:00 +0400)
Fixed incorrect surface borders computing.

Test cases for issue CR25199

src/GeomInt/GeomInt_IntSS_1.cxx
tests/bugs/modalg_5/bug25199 [new file with mode: 0755]

index b5e0724..609cda1 100644 (file)
@@ -1558,7 +1558,10 @@ Standard_Boolean DecompositionOfWLine(const Handle(IntPatch_WLine)& theWLine,
 
        Handle(GeomAdaptor_HSurface) aGASurface = (!surfit) ? theSurface1 : theSurface2;
        
-       aGASurface->ChangeSurface().Surface()->Bounds(umin, umax, vmin, vmax);
+        umin = aGASurface->FirstUParameter();
+        umax = aGASurface->LastUParameter();
+        vmin = aGASurface->FirstVParameter();
+        vmax = aGASurface->LastVParameter();
        Standard_Real U=0., V=0.;
 
        if(!surfit) {
diff --git a/tests/bugs/modalg_5/bug25199 b/tests/bugs/modalg_5/bug25199
new file mode 100755 (executable)
index 0000000..e5b9e21
--- /dev/null
@@ -0,0 +1,26 @@
+puts "============"
+puts "OCC25199"
+puts "============"
+puts ""
+###############################################################################################
+# Bad tolerance edge generated by blend algorithm
+###############################################################################################
+
+decho off
+test bugs modalg_3 bug615
+decho on
+
+explode result E
+
+regexp {Tolerance +MAX=([-0-9.+eE]+)} [tolerance result_21] full MaxTol_1
+
+puts "MaxTolerance = $MaxTol_1"
+
+set MaxTol 0.001
+
+if { $MaxTol_1 > $MaxTol } {
+    puts "Faulty OCC25199:  Bad tolerance edge generated by blend algorithm"
+} else {
+    puts "OCC25199 OK:  Good tolerance edge generated by blend algorithm"
+}
+