puts "============"
puts "OCC20904"
puts "============"
puts ""
#######################################################################
# BRepBuilderAPI_Sewing produces a shape with big tolerance
#######################################################################

set BugNumber OCC20904

restore [locate_data_file bug20904_Shell_argument.brep] a 

set tolerance_in 1.e-6
set tolerance_out ${tolerance_in}
sewing result ${tolerance_in} a

set tolerance_list [maxtolerance result]
regexp { +Face +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance_list full MaxFaceTolerance
regexp { +Edge +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance_list full MaxEdgeTolerance
regexp { +Vertex +: +Min +[-0-9.+eE]+ +Max +([-0-9.+eE]+)} $tolerance_list full MaxVertexTolerance

set status 0

if { ${MaxFaceTolerance} > ${tolerance_out} } {
  set status 1
  puts "Max Face Tolerance is bad"
}

if { ${MaxEdgeTolerance} > ${tolerance_out} } {
  set status 1
  puts "Max Edge Tolerance is bad"
}

if { ${MaxVertexTolerance} > ${tolerance_out} } {
  set status 1
  puts "Max Vertex Tolerance is bad"
}

# Resume
puts ""
if { ${status} != 0 } {
  puts "Faulty ${BugNumber}"
} else {
  puts "OK ${BugNumber}"
}

set square 1.33253e+06
set 2dviewer 0