puts "============"
puts "OCC19793"
puts "============"
puts ""
#######################################################################
# Fuse problem of symetrical shapes. Appendix for NPAL19789
#######################################################################

cpulimit 2500
set BugNumber OCC19793

puts "Load first shape ..."
restore [locate_data_file bug19793_new_shape.brep] b1 
puts "Load second shape ..."
restore [locate_data_file bug19793_shape.brep] b2 

puts "Prepare boolean operation ..."
dchrono perf_h reset
dchrono perf_h start
bop b1 b2
dchrono perf_h stop

puts "Start boolean operation ..."
bopsection result
puts "Finish boolean operation ..."

set length 17730.1

set nb_e_good 1190
set nb_v_good 68
set nb_e_good 70
set nb_w_good 0
set nb_f_good 0
set nb_sh_good 0
set nb_sol_good 0
set nb_compsol_good 0
set nb_compound_good 1
set nb_shape_good 139

# OCC23753 processing
# Performance verification of bop operation
set chrono_info [dchrono perf_h show]
regexp {CPU user time: ([-0-9.+eE]+) seconds} $chrono_info full CPU_time

if { [regexp {Debug mode} [dversion]] } {
  if { [regexp {Windows} [dversion]] } {
    puts "Checking WINDOWS performance..."
    if {$CPU_time > 1000.} {
       puts "ERROR: OCC23753 is reproduced."
       puts "       Low performance: $CPU_time"
    }
  } else {
    puts "Checking LINUX performance..."
    if {$CPU_time > 2500.} {
       puts "ERROR: OCC23753 is reproduced."
       puts "       Low performance: $CPU_time"
    }
  }
} else {
  if { [regexp {Windows} [dversion]] } {
    puts "Checking WINDOWS performance..."
    # Initial CPU_time is 92-94 seconds for Windows
    if {$CPU_time > 300.} {
       puts "ERROR: OCC23753 is reproduced."
       puts "       Low performance: $CPU_time"
    }
  } else {
    puts "Checking LINUX performance..."
    # Initial CPU_time is 287-289 seconds for Linux
    if {$CPU_time > 350.} {
       puts "ERROR: OCC23753 is reproduced."
       puts "       Low performance: $CPU_time"
    }
  }
}

set 2dviewer 0
