Modified:
- Extrema_ExtCC.cxx, the method PrepareParallelResult() - angular tolerance is increased.
Added:
- A test: lowalgos extcc bug32796
// myIsParallel = TRUE and only the least distance will be returned.
//4. Arcs are not parallel. Then several (or single) extremas will be returned.
- if (aRng.Delta() > Precision::Angular())
+ if (aRng.Delta() > Precision::Confusion())
{
Standard_Real aPar = 0.0;
aRng.GetIntermediatePoint(0.5, aPar);
break;
}
}
-
//Nearer solution can be found
}
else if (!aRng.IsVoid())
--- /dev/null
+puts "============"
+puts "OCC32796: Modeling Data - Calculation of distance between two circles crashes"
+puts "============"
+puts ""
+
+restore [locate_data_file bug32796e1.brep] e1
+restore [locate_data_file bug32796e2.brep] e2
+mkcurve c1 e1
+mkcurve c2 e2
+
+if [catch { extrema c1 c2 }] {
+ puts "Calculation of distance between two circles crashes"
+} else {
+ puts "Calculation of distance between two circles is OK"
+}