1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-03 17:56:21 +03:00
ifv 5c48956f8e 0032849: Modeling Algorithms - Intersection algorithm returns incomplete result.
GeomInt/GeomInt_IntSS.cxx, IntTools/IntTools_FaceFace.cxx - setting deflection 0.01
for case of two bspline surfaces
IntPolyh/IntPolyh_Intersection.cxx, IntPolyh/IntPolyh_Intersection.hxx - status IsParallel is added

BndLib/BndLib_Add3dCurve.cxx, IntTools/IntTools_TopolTool.cxx - fix small bugs

Correction of test scripts according to current behavior of algorithms

lowalgos/intss/bug32849 - test case added
2022-03-01 18:57:09 +03:00

89 lines
1.5 KiB
Plaintext

puts "========="
puts "CR24472"
puts "========="
puts ""
###############################
## Wrong section curves
###############################
puts "TODO OCC29501 All: Error: The curve ii13_20 is possible"
puts "TODO OCC29501 All: Error: The curve ii13_48 is possible"
pload QAcommands
set MaxToler 1.5e-4
restore [locate_data_file bug24472_Pipe_1.brep] b1
explode b1 f
copy b1_2 f1
copy b1_3 f2
copy b1_6 f3
mksurface s1 f1
mksurface s2 f2
mksurface s3 f3
puts ""
puts "First test"
# 1.1 geometry
intersect ii12 s1 s2
foreach c [directory ii12*] {
puts "Curve $c"
bounds $c U1 U2
if {[dval U2-U1] < 1.0e-9} {
puts "Error: Wrong curve's range!"
}
# cos(~75.5deg)
QACheckBends $c 0.25
xdistcs $c s1 U1 U2 10 $MaxToler
xdistcs $c s2 U1 U2 10 $MaxToler
}
puts ""
puts "Second test"
# 1.2 topology
bsection r12 f1 f2
bopcheck r12
# OK
regexp {Tolerance MAX=([-0-9.+eE]+)} [tolerance r12] full toler
if { $toler > $MaxToler } { puts "Error: Tolerance of the section r12 is too large" }
puts ""
puts "Third test"
# 2.1 geometry
intersect ii13 s1 s3
foreach c [directory ii13*] {
puts "Curve $c"
bounds $c U1 U2
if {[dval U2-U1] < 1.0e-9} {
puts "Error: Wrong curve's range!"
}
# cos(~75.5deg)
QACheckBends $c 0.25
xdistcs $c s1 U1 U2 10 $MaxToler
xdistcs $c s2 U1 U2 10 $MaxToler
}
puts ""
puts "Fourth test"
# 2.2 topology
bsection r13 f1 f3
bopcheck r13
# OK
regexp {Tolerance MAX=([-0-9.+eE]+)} [tolerance r13] full toler
if { $toler > $MaxToler } { puts "Error: Tolerance of the section r13 is too large" }