0025451: BRepFilletAPI_MakeFillet fails on customer's shape when small radius of...
authorjgv <jgv@opencascade.com>
Fri, 21 Nov 2014 10:55:11 +0000 (13:55 +0300)
committerbugmaster <bugmaster@opencascade.com>
Fri, 21 Nov 2014 10:56:37 +0000 (13:56 +0300)
Test-case for issue #25451

Update of test-cases

src/Approx/Approx_SameParameter.cxx
src/ChFi3d/ChFi3d_Builder_1.cxx
tests/bugs/modalg_5/bug25451 [new file with mode: 0644]
tests/draft/angle/J9
tests/heal/data/advanced/V3
tests/sewing/tol_100/I5
tests/sewing/tol_100/I9
tests/sewing/tol_100/J3
tests/sewing/tol_100/J4

index ce623f0..93ce3ac 100644 (file)
@@ -269,6 +269,14 @@ static Standard_Boolean Check(const TColStd_Array1OfReal& FlatKnots,
   Standard_Real firstborne= 3.*pc3d(1)   - 2.*pc3d(nbp);
   Standard_Real lastborne = 3.*pc3d(nbp) - 2.*pc3d(1);
   //  Modified by skv - Wed Jun  2 11:50:03 2004 OCC5898 End
+  //jgv
+  Standard_Real FirstPar = cons.FirstParameter();
+  Standard_Real LastPar  = cons.LastParameter();
+  if (firstborne < FirstPar)
+    firstborne = FirstPar;
+  if (lastborne > LastPar)
+    lastborne = LastPar;
+  /////
   for(i = 0; i <= nn; i++){
     Standard_Real t = unsurnn*i;
     Standard_Real tc3d = pc3d(1)*(1.-t) + pc3d(nbp)*t;
index d1a95eb..376b139 100644 (file)
@@ -80,6 +80,8 @@ Standard_Boolean isTangentFaces(const TopoDS_Edge &theEdge,
   if (BRep_Tool::Continuity( theEdge, theFace1, theFace2 ) != GeomAbs_C0)
     return Standard_True;
 
+  Standard_Real TolC0 = Max(0.001, 1.5*BRep_Tool::Tolerance(theEdge));
+
   Standard_Real aFirst;
   Standard_Real aLast;
     
@@ -120,7 +122,7 @@ Standard_Boolean isTangentFaces(const TopoDS_Edge &theEdge,
 
     LocalAnalysis_SurfaceContinuity aCont(aC2d1,  aC2d2,  aPar,
                                          aSurf1, aSurf2, GeomAbs_G1,
-                                         0.001, 0.001, 0.1, 0.1, 0.1);
+                                         0.001, TolC0, 0.1, 0.1, 0.1);
     if (!aCont.IsDone())
       {
        nbNotDone++;
diff --git a/tests/bugs/modalg_5/bug25451 b/tests/bugs/modalg_5/bug25451
new file mode 100644 (file)
index 0000000..fb14944
--- /dev/null
@@ -0,0 +1,30 @@
+puts "========"
+puts "OCC25451"
+puts "========"
+puts ""
+###########################################################################################
+# BRepFilletAPI_MakeFillet fails on customer's shape when small radius of fillet is given
+###########################################################################################
+
+smallview
+
+restore [locate_data_file DoubleVoluteTest.brep] d
+
+explode d
+
+donly d_1 d_2
+fit
+
+blend r1 d_1 0.1 d_2
+fixshape res1 r1
+
+blend r2 d_1 0.2 d_2
+fixshape res2 r2
+
+blend r3 d_1 0.9 d_2
+fixshape res3 r3
+
+blend r4 d_1 1. d_2
+fixshape res4 r4
+
+set only_screen_axo 1
index 4d745df..65a6927 100644 (file)
@@ -1,5 +1,5 @@
 #B5----------------------------------------------
-puts "TODO OCC22803 All:Faulty shapes in variables faulty_1 to faulty_2"
+puts "TODO OCC22803 All:Faulty shapes in variables faulty_"
 
 plane p 0 0 0 1 0 0
 pcone p p 15 14 20
index 40568d1..753730f 100644 (file)
@@ -1,5 +1,5 @@
 if {[string compare $command "SplitAngle"] == 0 } {
-  puts "TODO ?OCC23127 ALL: Faulty shapes in variables faulty_1 to faulty_61"
+  puts "TODO ?OCC23127 ALL: Faulty shapes in variables faulty_"
 }
 
 restore [locate_data_file BLENDE9699.brep] a
index a49532f..6bd9527 100644 (file)
@@ -1 +1,2 @@
 restore [locate_data_file CIN901_intcqhmi.rle] a
+set nb_f 6
index 4d94412..ba47097 100644 (file)
@@ -1,3 +1,3 @@
 restore [locate_data_file CIN902_intcqhmm.rle] a
 set nb_f ""
-set nbFreeEdges 10
\ No newline at end of file
+set nbFreeEdges 28
\ No newline at end of file
index 3a703f8..ba649fa 100644 (file)
@@ -1,3 +1,3 @@
 restore [locate_data_file CIN902_intcqhmp.rle] a
-set nb_f 4
+set nb_f 7
 set nbFreeEdges 19
\ No newline at end of file
index 7b20873..eae8352 100644 (file)
@@ -1 +1,2 @@
 restore [locate_data_file CIN902_intcqhmq.rle] a
+puts "TODO ?#23150 ALL: Error : Number of faults is"