Fixed computation of number of analytic intersection points.
Test case for issue CR25810
// Check whether two objects have intersection points
IntAna_Quadric aCylQuad(S);
IntAna_IntConicQuad aCircCylInter(C, aCylQuad);
- Standard_Integer aNbInter = aCircCylInter.NbPoints();
- if (!aCircCylInter.IsDone())
- aNbInter = 0;
+ Standard_Integer aNbInter = 0;
+ if (aCircCylInter.IsDone())
+ aNbInter = aCircCylInter.NbPoints();
// Compute the extremas.
myNbExt = 2*aNbExt + aNbInter;
--- /dev/null
+puts "============"
+puts "OCC25810"
+puts "============"
+puts ""
+#######################################################################
+# Exception in extrema operation.
+#######################################################################
+
+restore [locate_data_file bug25810_e1.brep] b1
+restore [locate_data_file bug25810_f1.brep] b2
+
+mkcurve c1 b1
+mksurface s2 b2
+
+extrema c1 s2