puts "============" puts "OCC23706" puts "============" puts "" ######################################################################### # Cannot project point on curve ######################################################################### 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 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 set info [2dintersect c1 c3] if { [regexp "Intersection point 1" $info] != 1 } { puts "Error : Intersection should have two points" } else { regexp {Intersection point 1 +: +([-0-9.+eE]+)} $info full p11t regexp {Intersection point 1 +: +[-0-9.+eE]+ +([-0-9.+eE]+)} $info full p12t } if { [regexp "Intersection point 2" $info] != 1 } { puts "Error : Intersection should have two points" } else { regexp {Intersection point 2 +: +([-0-9.+eE]+)} $info full p21t regexp {Intersection point 2 +: +[-0-9.+eE]+ +([-0-9.+eE]+)} $info full p22t } set p11 [expr round($p11t*10000)] set p12 [expr round($p12t*10000)] set p21 [expr round($p21t*10000)] set p22 [expr round($p22t*10000)] if { ${p11} != 50024 || ${p12} != 50072 || ${p21} != 40024 || ${p22} != 70012 } { puts "Error : Points of intersection have wrong coordinates" } else { puts "OK: Points of intersection are right" }