0027252: Implicit-implicit intersection (Cylinder-Plane) loses intersection curve
[occt.git] / tests / bugs / modalg_5 / bug25292_36
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 # intersect command for trimmed surfaces
16
17 #This value must be equal to the analogical value in bug25292_35 and bug25292_36 of "bugs modalg_5" testgrid. 
18 set GoodNbCurv 2
19
20 restore [locate_data_file bug25292_f1.brep] f1
21 restore [locate_data_file bug25292_f2.brep] f2
22
23 mksurface s1 f1
24 mksurface s2 f2
25
26 # trim s1 in accordance with the UV-bounds of f1:
27 trimv s1t s1 19.1600000005 19.6600000005
28
29 # trim s2 in accordance with the UV-bounds of f2:
30 trim s2t s2 0. 1.570796326795 -275 275
31
32 ###################
33 intersect res s2t s1t
34 ###################
35
36 set che [whatis res]
37 set ind [string first "3d curve" $che]
38 if {${ind} >= 0} {
39   #Only variable "res" exists
40   
41   copy res res_1
42 }
43
44 set ic 1
45 set AllowRepeate 1
46 while { $AllowRepeate != 0 } {
47   set che [whatis res_$ic]
48   set ind [string first "3d curve" $che]
49   if {${ind} < 0} {
50     set AllowRepeate 0
51   } else {
52     bounds res_$ic U1 U2
53     
54     if {[dval U2-U1] < 1.0e-9} {
55       puts "Error: Wrong curve's range!"
56     }
57     
58     xdistcs res_$ic s1 U1 U2 10 1e-7
59     xdistcs res_$ic s2 U1 U2 10 1e-7
60     
61     incr ic
62   }
63 }
64   
65 if {[expr {$ic - 1}] == $GoodNbCurv} {
66   puts "OK: Curve Number is good!"
67 } else {
68   puts "Error: Curve Number is bad!"
69 }