puts "TODO OCC12345 ALL: Faulty OCC565: function intersection works wrongly with trimmed Surfaces"
puts "TODO OCC12345 Linux MacOS: Faulty OCC565: function intersection works wrongly with infinite Surfaces"

puts "========"
puts "OCC567"
puts "========"
puts ""
#######################################
## Can not intersect two Rectangular Trimmed Surfaces . 
#######################################

restore [locate_data_file OCC567a.draw] s1 
restore [locate_data_file OCC567b.draw] s2 

if { [string compare $tcl_platform(platform) "windows"] == 0 }  {
   puts "OS = Windows NT"
   set N_repeat 10
} else {
   puts "OS = Linux"
   set N_repeat 11
}

if { [catch {intersect i s1 s2 } catch_result] } {
    puts "Faulty OCC565: function intersection works wrongly with infinite Surfaces"
} else {
   set j 1
   repeat ${N_repeat} {
   set err [lindex [whatis i_$j] 5]
     if { $err != "curve"} {
       puts " Faulty OCC565: function intersection works wrongly with infinite Surfaces"
       break
      } else {
       puts [format "%s ) OCC565 OK: function intersection works with infinite Surfaces" $j]
              }
    incr j}
}

trim s1x s1 0 2*pi 0 2*pi/13
trim s2x s2 0 2*pi 0 2*pi/13

if { [catch {intersect result s1x s2x } catch_result] } {
    puts "Faulty OCC565 exception: function intersection works wrongly with trimmed Surfaces"
} else {
    set nom 0
    set j 1
    repeat 11 {
	set err [lindex [whatis result_$j] 5]
        if { $err != "curve"} {
    	    break
        } else {
    	    set nom [expr $nom + 1]
        }
	incr j
    }
    if { $nom == 0} {
	puts "Faulty OCC565: function intersection works wrongly with trimmed Surfaces"
    } else {
	puts " OCC565 OK: function intersection works with trimmed Surfaces"
    }
}

