pload QAcommands

puts "========"
puts "OCC827"
puts "========"
puts ""
###################################
## BRepAlgoAPI_Fuse fails on cylinder and torus
###################################

#
# a1 - Cylinder
# a2 - Torus1
# a3 - Torus1
# res1 - Fuse(Torus1 & Cylinder)
# res2 - Fuse(Torus2 & res1)
#

if { [ catch { set info_result [OCC827 a1 a2 a3 result1 result2] } ] } {
    puts "Faulty : an exception was caught"
} else {
    if { [lsearch ${info_result} FAILED] > -1} {
	puts "Faulty OCC827 (case 1)"
    }
    checkshape a1
    checkshape a2
    checkshape a3
    checkshape result1
    checkshape result2

    set ExplodeList [explode result1]
    if {[llength ${ExplodeList}] < 1} {
	puts "Faulty : Resulting shape is empty COMPOUND"
    }

    set ExplodeList [explode result2]
    if {[llength ${ExplodeList}] < 1} {
	puts "Faulty : Resulting shape is empty COMPOUND"
    }

    renamevar result2 result
}

set square 11847.7
set 2dviewer 0
