0024915: Wrong intersection curves between two cylinders
[occt.git] / tests / geometry / begin
1 if { [array get Draw_Groups "TOPOLOGY Check commands"] == "" } {
2     pload TOPTEST
3     pload AISV
4 }
5 # To prevent loops limit to 10 minutes
6 cpulimit 600
7
8 if { [info exists imagedir] == 0 } {
9    set imagedir .
10 }
11
12 if { [info exists test_image ] == 0 } {
13    set test_image photo
14 }
15
16
17 #
18 #evaluate n points beetween u1 and u2 on the curve 2d c
19 #
20
21 proc val2d { c u1 u2 n } {
22
23   dset du ($u2-$u1)/$n
24
25   set i 1
26                         
27   for {dset u $u1} { [dval u] <= $u2} {dset u ($u1+$i*[dval du])} {
28     2dcvalue $c u x y dx dy d2x d2y  ;
29     global p_$i d1_$i d2_$i 
30     point p_$i  x y;
31     puts "u   = [dval u]"
32     puts "p_$i   [dval x  ]  [dval y]"
33     puts "d1_$i  [dval dx ]  [dval dy]";
34     puts "d2_$i  [dval d2x]  [dval d2y]";
35      
36     copy p_$i . ;
37       point d1_$i dx dy
38       point d2_$i d2x d2y
39     incr i 1    
40   }
41 }
42
43 #
44 #evaluate n points beetween u1 and u2 on the curve 3d c
45 #
46 proc val3d { c u1 u2 n } {
47
48   dset du ($u2-$u1)/$n
49   
50   set i 1
51                 
52   for {dset u $u1} { [dval u] <= $u2} {dset u (u+[dval du])} {
53     cvalue $c u x y z dx dy dz d2x d2y d2z ;
54     point p_$i  x y z;
55     puts "u   = [dval u]"
56     puts "p_$i  [dval x  ] [dval y  ] [dval z]";
57     puts "d1_$i [dval dx ] [dval dy ] [dval dz]";    
58     puts "d2_$i [dval d2x] [dval d2y] [dval d2z]";      
59     copy p_$i . ;
60       point d1_$i dx  dy  dz
61       point d2_$i d2x d2y d2z
62     incr i      
63   }
64 }
65
66 proc compare {r1 r2 tol} {
67         if {$r1 - $r2  >= $tol} {
68                 puts "Error : evalution" 
69         }
70         if {$r2 - $r1  >= $tol} {
71                 puts "Error : evalution" 
72         }
73
74
75 proc comparepnt2d {p1 p2 tol} {
76         coord $p1 x1 y1
77         coord $p2 x2 y2
78         compare [dval x1] [dval x2] $tol
79         compare [dval y1] [dval y2] $tol
80 }
81
82 proc comparepnt3d {p1 p2 tol} {
83         upvar $p1 pp1
84         upvar $p2 pp2
85         coord pp1 x1 y1 z1
86         coord pp2 x2 y2 z2
87         compare [dval x1] [dval x2] $tol
88         compare [dval y1] [dval y2] $tol
89         compare [dval z1] [dval z2] $tol
90 }
91