puts "=============================================================="
puts "OCC28123: Boolean Cut produces faulty shape"
puts "=============================================================="
puts ""

brestore [locate_data_file bug28123_s1.brep] s1
brestore [locate_data_file bug28123_s3.brep] s3

bclearobjects
bcleartools
baddobjects s1
baddtools s3
bfillds

bbop r0 0
bbop r1 1
bbop r2 2
bbop r3 3
bbop r4 4

foreach r {r0 r1 r2 r3 r4} {
  checkshape $r
  if {![regexp "OK" [bopcheck $r]]} {
    puts "Error: the result of BOP is self-interfering shape"
  }
}

checknbshapes r0 -wire 6 -face 6 -shell 1 -solid 1
checkprops r0 -s 5.2 -v 0.42

checknbshapes r1 -wire 25 -face 25 -shell 1 -solid 1
checkprops r1 -s 45921.2 -v 6839.09

checknbshapes r2 -wire 17 -face 17 -shell 1 -solid 1
checkprops r2 -s 45780.6 -v 6784.77

checknbshapes r3 -wire 10 -face 10 -shell 2 -solid 2
checkprops r3 -s 142.969 -v 39.5572

checkprops r4 -l 14.2568

checkview -display r2 -2d -path ${imagedir}/${test_image}.png
