puts "================"
puts "OCC25292"
puts "================"
puts ""
#######################################################################
# Face/Face intersection algorithm gives different results for different order of the arguments
#######################################################################

puts "##############################"
puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
puts "##############################"
puts ""

# intersect command

#This value must be equal to the analogical value in bug25292_33 and bug25292_34 of "bugs modalg_5" testgrid. 
set GoodNbCurv 1

restore [locate_data_file bug25292_f1.brep] f1
restore [locate_data_file bug25292_f2.brep] f2

mksurface s1 f1
mksurface s2 f2

#################
intersect res s1 s2
#################

set che [whatis res]
set ind [string first "3d curve" $che]

set AllowRepeate 1
set ic 1

if {${ind} >= 0} {
  #Only variable "res" exists
  renamevar res res_1
}

while { $AllowRepeate != 0 } {
  set che [whatis res_$ic]
  set ind [string first "3d curve" $che]
  if {${ind} < 0} {
    set AllowRepeate 0
    break
  }
  
  bounds res_$ic U1 U2
  
  if {[dval (U2-U1)] < 1.0e-20} {
    puts "Error: Wrong curve's range!"
  }
  
  xdistcs res_$ic s1 U1 U2 10 1e-6 1e-7
  xdistcs res_$ic s2 U1 U2 10 1e-6 1e-7
  
  incr ic
}
  
if {[expr {$ic - 1}] == $GoodNbCurv} {
  puts "OK: Good number of intersection curve(s) obtained by Surface/Surface Intersection Algorithm"
} else {
  puts "Error: $GoodNbCurv intersection curve(s) expected but [expr {$ic - 1}] found"
}