32ca7a51 |
1 | puts "============" |
2 | puts "OCC23706" |
3 | puts "============" |
4 | puts "" |
5 | ######################################################################### |
6 | # Cannot project point on curve |
7 | ######################################################################### |
8 | |
9 | 2dbsplinecurve c1 2 5 0 3 0.2 1 0.3 1 0.4 1 0.5 3 2 0 1 3 -1 1 5 5 1 5 5 1 6 8 1 4 7 1 |
10 | 2dbsplinecurve c3 2 4 1 3 2 1 3 1 5 3 6 3 1 5.001 5.01 1 5.001 5.01 1 3 9 1 2 11 1 |
11 | set info [2dintersect c1 c3] |
12 | |
13 | if { [regexp "Intersection point 1" $info] != 1 } { |
14 | puts "Error : Intersection should have two points" |
15 | } else { |
16 | regexp {Intersection point 1 +: +([-0-9.+eE]+)} $info full p11t |
17 | regexp {Intersection point 1 +: +[-0-9.+eE]+ +([-0-9.+eE]+)} $info full p12t |
18 | } |
19 | |
20 | if { [regexp "Intersection point 2" $info] != 1 } { |
21 | puts "Error : Intersection should have two points" |
22 | } else { |
23 | regexp {Intersection point 2 +: +([-0-9.+eE]+)} $info full p21t |
24 | regexp {Intersection point 2 +: +[-0-9.+eE]+ +([-0-9.+eE]+)} $info full p22t |
25 | } |
26 | |
27 | set p11 [expr round($p11t*10000)] |
28 | set p12 [expr round($p12t*10000)] |
29 | set p21 [expr round($p21t*10000)] |
30 | set p22 [expr round($p22t*10000)] |
31 | |
32 | if { ${p11} != 50024 || ${p12} != 50072 || ${p21} != 40024 || ${p22} != 70012 } { |
33 | puts "Error : Points of intersection have wrong coordinates" |
34 | } else { |
35 | puts "OK: Points of intersection are right" |
36 | } |
37 | |