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

# bopcurves command

restore [locate_data_file bug25292_Input_0.brep] b1
restore [locate_data_file bug25292_Input_1.brep] b2

explode b1 f
copy b1_2 f1
explode b2 f
copy b2_2 f2

#############################
set log [bopcurves f1 f2 -2d]
#############################

regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
set MaxTol 1.e-7
if {${Toler} > ${MaxTol}} {
  puts "Error: Tolerance is too big!"
}
set GoodNbCurv 7
if {${NbCurv} != ${GoodNbCurv}} {
  puts "Error: Curve Number is bad!"
}

#-------------

# 1
puts ""
puts "First curve"

mksurface s1 f1
mksurface s2 f2

dlog reset
dlog on
xdistcs c_1 s1 0 1 10
set Log1 [dlog get]

set List1 [split ${Log1} {TD= \t\n}]
set Tolerance 1.0e-7
set D_good 0.
checkList ${List1} ${Tolerance} ${D_good}

# 2
puts ""
puts "Second curve"

dlog reset
dlog on
xdistcs c_2 s1 0 1 10
set Log2 [dlog get]

set List2 [split ${Log2} {TD= \t\n}]
set Tolerance 1.0e-7
set D_good 0.
checkList ${List2} ${Tolerance} ${D_good}

# 3
puts ""
puts "Third curve"

dlog reset
dlog on
xdistcs c_3 s1 0 1 10
set Log3 [dlog get]

set List3 [split ${Log3} {TD= \t\n}]
set Tolerance 1.0e-7
set D_good 0.
checkList ${List3} ${Tolerance} ${D_good}

# 4
puts ""
puts "Fourth curve"

dlog reset
dlog on
xdistcs c_4 s1 0 1 10
set Log4 [dlog get]

set List4 [split ${Log4} {TD= \t\n}]
set Tolerance 1.0e-7
set D_good 0.
checkList ${List4} ${Tolerance} ${D_good}

# 5
puts ""
puts "Fifth curve"

dlog reset
dlog on
xdistcs c_5 s1 0 1 10
set Log5 [dlog get]

set List5 [split ${Log5} {TD= \t\n}]
set Tolerance 1.0e-7
set D_good 0.
checkList ${List5} ${Tolerance} ${D_good}

# 6
puts ""
puts "Sixth curve"

dlog reset
dlog on
xdistcs c_6 s1 0 1 10
set Log6 [dlog get]

set List6 [split ${Log6} {TD= \t\n}]
set Tolerance 1.0e-7
set D_good 0.
checkList ${List6} ${Tolerance} ${D_good}

# 7
puts ""
puts "Seventh curve"

dlog reset
dlog on
xdistcs c_7 s1 0 1 10
set Log7 [dlog get]

set List7 [split ${Log7} {TD= \t\n}]
set Tolerance 1.0e-7
set D_good 0.
checkList ${List7} ${Tolerance} ${D_good}


v2d
2dfit
set only_screen_axo 1
