1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-04 13:13:25 +03:00

0024596: Slow import of IGES data

Part 1: Speed up of import functionality.
Correction in ShapeFix_IntersectionTool::FixIntersectingWires() - preliminary construction of ShapeAnalysis_Surface tool for the whole face; computation of 2d bounding boxes for edges and wires before intersection checking.

Part 2: Speed up of check shape.
Correction in BRepCheck_Face::IntersectWires() in the same way: preliminary computation of 2d boxes for edges and wires in order to reduce the number of calls of intersection tool for pair of wires.

Test cases for issue CR24596
This commit is contained in:
ama
2014-03-13 15:07:45 +04:00
committed by bugmaster
parent be8d29f50a
commit 7c8090aa6c
4 changed files with 238 additions and 18 deletions

65
tests/bugs/heal/bug24596_1 Executable file
View File

@@ -0,0 +1,65 @@
puts "============"
puts "OCC24596"
puts "============"
puts ""
###############################
## Slow import of IGES data
###############################
pload QAcommands
cpulimit 2000
if { [regexp {Debug mode} [dversion]] } {
if { [regexp {Windows} [dversion]] } {
set max_time 900
set max_time2 500
} else {
set max_time 1200
set max_time2 800
}
} else {
if { [regexp {Windows} [dversion]] } {
set max_time 900
set max_time2 500
} else {
set max_time 1200
set max_time2 800
}
}
# 1 - igesread
dchrono h reset
dchrono h start
igesread [locate_data_file 100B_Nosecone_with_Triangular_FSS.igs] a 43479
dchrono h stop
set q [dchrono h show]
regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
puts "$z"
if { $z > ${max_time} } {
puts "Elapsed time of igesread is more than ${max_time} seconds - Faulty"
} else {
puts "Elapsed time of igesread is less than ${max_time} seconds - OK"
}
# 2 - checkshape
dchrono h2 reset
dchrono h2 start
checkshape a_1
dchrono h2 stop
set q2 [dchrono h2 show]
regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z2
puts "$z2"
if { $z2 > ${max_time2} } {
puts "Elapsed time of checkshape is more than ${max_time2} seconds - Faulty"
} else {
puts "Elapsed time of checkshape is less than ${max_time2} seconds - OK"
}

65
tests/bugs/heal/bug24596_2 Executable file
View File

@@ -0,0 +1,65 @@
puts "============"
puts "OCC24596"
puts "============"
puts ""
###############################
## Slow import of IGES data
###############################
pload QAcommands
cpulimit 2000
if { [regexp {Debug mode} [dversion]] } {
if { [regexp {Windows} [dversion]] } {
set max_time 900
set max_time2 500
} else {
set max_time 1200
set max_time2 800
}
} else {
if { [regexp {Windows} [dversion]] } {
set max_time 900
set max_time2 500
} else {
set max_time 1200
set max_time2 800
}
}
# 1 - igesread
dchrono h reset
dchrono h start
igesread [locate_data_file 100B_Nosecone_with_Triangular_FSS.igs] b 86884
dchrono h stop
set q [dchrono h show]
regexp {CPU user time: ([-0-9.+eE]+) seconds} $q full z
puts "$z"
if { $z > ${max_time} } {
puts "Elapsed time is more than ${max_time} seconds - Faulty"
} else {
puts "Elapsed time is less than ${max_time} seconds - OK"
}
# 2 - checkshape
dchrono h2 reset
dchrono h2 start
checkshape b_1
dchrono h2 stop
set q2 [dchrono h2 show]
regexp {CPU user time: ([-0-9.+eE]+) seconds} $q2 full z2
puts "$z2"
if { $z2 > ${max_time2} } {
puts "Elapsed time of checkshape is more than ${max_time2} seconds - Faulty"
} else {
puts "Elapsed time of checkshape is less than ${max_time2} seconds - OK"
}