Files
OCCT/tests/bugs/modalg_6/bug26980
emv 77a11d3df1 0028189: Result of Boolean operation is non-manifold wire
1. The result of Boolean operation on the arguments of collection type, containers WIRE/SHELL/COMPSOLID, is also a collection.
The containers of type WIRE included into result should now also (as the SHELLs) have coherent orientation of its sub-shapes.
For that the new method has been implemented (BOPTools_AlgoTools::OrientEdgesOnWire(TopoDS_Shape&)) which reorients edges for correct ordering.
The duplicating containers, i.e. containers with the contents completely included in other containers, are now avoided in the result of BOP.
2. The result of Fuse operation on Compsolids is now also will be Compsolid.
3. Documentation has been updated.
4. New test cases for the issue.
5. Adjusting test cases to current behavior.

Correction of test case bugs/modalg_4/bug726_2 according to the new behavior
2016-12-29 18:32:44 +03:00

63 lines
1.2 KiB
Plaintext

puts "========"
puts "OCC26980"
puts "========"
puts ""
#################################
# Intersection part of Boolean algorithm spends much system time and system memory
#################################
set max_time 130
set mem_max_wsetpeak 500000000
bclearobjects;
bcleartools;
restore [locate_data_file bug26980-cmp.brep] cmp
puts [nbshapes cmp -t]
eval baddobjects [explode cmp]
dchrono cr reset
dchrono cr start
bfillds
bbuild result
dchrono cr stop
set mem_wsetpeak [meminfo wsetpeak]
if { ${mem_wsetpeak} > ${mem_max_wsetpeak}} {
puts "Error : there is memory problem (${mem_wsetpeak} MBytes has been allocated)"
}
set chrono_info [dchrono cr show]
regexp {CPU user time: ([-0-9.+eE]+) seconds} $chrono_info full CPU_time
if { $CPU_time > ${max_time} } {
puts "CPU user time of Boolean operation is more than ${max_time} seconds - Error"
} else {
puts "CPU user time of Boolean operation is less than ${max_time} seconds - OK"
}
set nbshapes_expected "
VERTEX : 365
EDGE : 793
WIRE : 531
FACE : 531
SHELL : 102
SOLID : 101
COMPSOLID : 0
COMPOUND : 1
SHAPE : 2424
"
checknbshapes result -ref ${nbshapes_expected} -t
smallview
donly result
fit
set 2dviewer 1