0029807: [Regression to 7.0.0] Impossible to cut cone from prism
[occt.git] / tests / bugs / modalg_5 / bug25292_12
1 puts "================"
2 puts "OCC25292"
3 puts "================"
4 puts ""
5 #######################################################################
6 # Face/Face intersection algorithm gives different results for different order of the arguments
7 #######################################################################
8
9 puts "##############################"
10 puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
11 puts "##############################"
12 puts ""
13 puts ""
14
15 # bopcurves command
16
17 restore [locate_data_file bug25292_Input_0.brep] b1
18 restore [locate_data_file bug25292_Input_1.brep] b2
19
20 explode b1 f
21 copy b1_2 f1
22 explode b2 f
23 copy b2_2 f2
24
25 #############################
26 set log [bopcurves f2 f1 -2d]
27 #############################
28
29 regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
30
31 #This value must be equal to the analogical value in bug25292_11 and bug25292_12 of "bugs modalg_5" testgrid. 
32 set MaxTol 2.0e-7
33
34 #This value must be equal to the analogical value in bug25292_11, bug25292_12, bug25292_15 and bug25292_16 of "bugs modalg_5" testgrid. 
35 set GoodNbCurv 4
36
37 if {${Toler} > ${MaxTol}} {
38   puts "Error: Tolerance is too big!"
39 }
40
41 if {${NbCurv} != ${GoodNbCurv}} {
42   puts "Error: Curve Number is bad!"
43 }
44
45 #-------------
46
47 puts ""
48
49 mksurface s1 f1
50 mksurface s2 f2
51
52 for {set i 1} {$i <= ${NbCurv}} {incr i} {
53   bounds c_$i U1 U2
54
55   puts "U2=[dval U1]"
56   puts "U2=[dval U2]"
57   
58   if {[dval U2-U1] < 1.0e-20} {
59     puts "Error: Wrong curve's range!"
60   }
61
62   xdistcs c_$i s1 U1 U2 10 ${Toler}
63   xdistcs c_$i s2 U1 U2 10 ${Toler}
64 }
65
66 v2d
67 2dfit
68 checkview -screenshot -2d -path ${imagedir}/${test_image}.png