From db005e48df7b2bad27f3debb63ad16866167dbe6 Mon Sep 17 00:00:00 2001 From: ifv Date: Thu, 11 Dec 2014 16:27:38 +0300 Subject: [PATCH] 0024643: No section curve between plane and cone Test case for issue CR24643 Correction of test case for issue CR24643 --- src/IntStart/IntStart_SearchOnBoundaries.gxx | 5 +-- tests/bugs/modalg_5/bug24643 | 32 ++++++++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100755 tests/bugs/modalg_5/bug24643 diff --git a/src/IntStart/IntStart_SearchOnBoundaries.gxx b/src/IntStart/IntStart_SearchOnBoundaries.gxx index d6b6c26b9e..2349af298c 100644 --- a/src/IntStart/IntStart_SearchOnBoundaries.gxx +++ b/src/IntStart/IntStart_SearchOnBoundaries.gxx @@ -247,7 +247,7 @@ void BoundedArc (const TheArc& A, if (!Sol.IsDone()) {Standard_Failure::Raise();} Nbp=Sol.NbPoints(); - + // //jgv: build solution on the whole boundary if (RecheckOnRegularity && Nbp > 0 && IsRegularity(A, Domain)) { @@ -658,7 +658,8 @@ void PointProcess (const gp_Pnt& Pt, { Standard_Real TOL=Tol; TOL*=1000.0; - if(TOL>0.001) TOL=0.001; + //if(TOL>0.001) TOL=0.001; + if(TOL>0.005) TOL=0.005; //#24643 ptsol.SetValue(Pt,TOL,A,Para); pnt.Append(ptsol); diff --git a/tests/bugs/modalg_5/bug24643 b/tests/bugs/modalg_5/bug24643 new file mode 100755 index 0000000000..f2b4974d31 --- /dev/null +++ b/tests/bugs/modalg_5/bug24643 @@ -0,0 +1,32 @@ +puts "================" +puts "OCC24643" +puts "================" +puts "" +####################################################################### +# No section curve between plane and cone +####################################################################### + +restore [locate_data_file bug24643_b1.brep] b1 +restore [locate_data_file bug24643_b2.brep] b2 + +bopcurves b1 b2 + +regexp {The length c_1 is ([-0-9.+eE]+)} [length c_1] full Curve_Length + +set expected_length 107.39085794960783 +set tol_abs_length 1.e-3 +set tol_rel_length 0.01 +checkreal "Curve length" ${Curve_Length} ${expected_length} ${tol_abs_length} ${tol_rel_length} + +set log [dump c_1] +if {[regexp {Trimmed +curve} ${log}]} { + puts "OK: section curve is good" +} else { + puts "Error: section curve is bad" +} + +smallview +donly c_1 b1 b2 +fit + +set only_screen_axo 1