mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-06-13 02:39:19 +08:00
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
63 lines
1.2 KiB
Plaintext
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
|