ProjLib_ComputeApproxOnPolarSurface::BuildInitialCurve2d - Using the correct number of points (computed in GCPnts_QuasiUniformAbscissa class) for creation of the initial curve.
Standard_Integer NbOfPnts = 61;
GCPnts_QuasiUniformAbscissa QUA(Curve->GetCurve(),NbOfPnts);
+ NbOfPnts = QUA.NbPoints();
TColgp_Array1OfPnt Pts(1,NbOfPnts);
TColStd_Array1OfReal Param(1,NbOfPnts);
Standard_Integer i, j;
--- /dev/null
+puts "========"
+puts "OCC28150"
+puts "========"
+puts ""
+#####################################################
+# Exception is raised during Boolean operation
+#####################################################
+
+restore [locate_data_file bug28150_shapes.brep] b
+explode b
+bclearobjects
+bcleartools
+baddobjects b_1
+baddtools b_2
+bfillds
+# Before fix: error
+bbop result 0
+
+checkshape result
+
+checknbshapes result -wire 5 -face 2
+checkprops result -s 14.5302
+
+checkview -display result -2d -path ${imagedir}/${test_image}.png
--- /dev/null
+puts "========"
+puts "OCC28150"
+puts "========"
+puts ""
+#####################################################
+# Exception is raised during Boolean operation
+#####################################################
+
+restore [locate_data_file bug28150_ef.brep] b
+explode b
+mkcurve c b_1
+mksurface s b_2
+project c2d c s
+
+checklength c2d -l 2.6097941390190726e-006
+
+v2d
+display c2d
+2dfit
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png