Fixed incorrect surface borders computing.
Test cases for issue CR25199
Handle(GeomAdaptor_HSurface) aGASurface = (!surfit) ? theSurface1 : theSurface2;
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) {
Standard_Real U=0., V=0.;
if(!surfit) {
--- /dev/null
+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"
+}
+