mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-10 18:51:21 +03:00
0023948: Wrong intersection between a surface of revolution and a plane.
Adding testing cases
This commit is contained in:
parent
fd0344601b
commit
6da50d2610
tests/bugs/modalg_5
25
tests/bugs/modalg_5/bug23948_1
Normal file
25
tests/bugs/modalg_5/bug23948_1
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
puts "========="
|
||||||
|
puts "OCC23948"
|
||||||
|
puts "========="
|
||||||
|
puts ""
|
||||||
|
###########################################################
|
||||||
|
# Wrong intersection between a surface of revolution and a plane.
|
||||||
|
###########################################################
|
||||||
|
|
||||||
|
set MaxTol 1.0e-4
|
||||||
|
set NbCurv_OK 2
|
||||||
|
|
||||||
|
restore [locate_data_file bug22766_f1] f1
|
||||||
|
restore [locate_data_file bug22766_f2] f2
|
||||||
|
|
||||||
|
set log [bopcurves f1 f2]
|
||||||
|
|
||||||
|
regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
|
||||||
|
|
||||||
|
if {${NbCurv} != ${NbCurv_OK}} {
|
||||||
|
puts "Error: ${NbCurv_OK} curve(s) expected, but ${NbCurv} found."
|
||||||
|
}
|
||||||
|
|
||||||
|
if {${Toler} > ${MaxTol}} {
|
||||||
|
puts "Error: Tolerance is too big!"
|
||||||
|
}
|
44
tests/bugs/modalg_5/bug23948_2
Normal file
44
tests/bugs/modalg_5/bug23948_2
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
puts "========="
|
||||||
|
puts "OCC23948"
|
||||||
|
puts "========="
|
||||||
|
puts ""
|
||||||
|
###########################################################
|
||||||
|
# Wrong intersection between a surface of revolution and a plane.
|
||||||
|
###########################################################
|
||||||
|
|
||||||
|
restore [locate_data_file bug22766_f1] f1
|
||||||
|
restore [locate_data_file bug22766_f2] f2
|
||||||
|
|
||||||
|
bopcurves f1 f2
|
||||||
|
|
||||||
|
mksurface s1 f1
|
||||||
|
mksurface s2 f2
|
||||||
|
|
||||||
|
dlog reset
|
||||||
|
dlog on
|
||||||
|
xdistcs c_1 s2 0 1 10
|
||||||
|
set Log1 [dlog get]
|
||||||
|
|
||||||
|
set List1 [split ${Log1} {TD= \t\n}]
|
||||||
|
|
||||||
|
set L1 [llength ${List1}]
|
||||||
|
set L2 10
|
||||||
|
set L3 5
|
||||||
|
set N [expr (${L1} - ${L2})/${L3} + 1]
|
||||||
|
set Tolerance 1.0e-3
|
||||||
|
set D_good 0.
|
||||||
|
|
||||||
|
for {set i 1} {${i} <= ${N}} {incr i} {
|
||||||
|
set j1 [expr ${L2} + (${i}-1)*${L3}]
|
||||||
|
set j2 [expr ${j1} + 2]
|
||||||
|
set T [lindex ${List1} ${j1}]
|
||||||
|
set D [lindex ${List1} ${j2}]
|
||||||
|
#puts "i=${i} j1=${j1} j2=${j2} T=${T} D=${D}"
|
||||||
|
if { [expr abs(${D} - ${D_good})] > ${Tolerance} } {
|
||||||
|
puts "Error: i=${i} T=${T} D=${D}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
smallview
|
||||||
|
fit
|
||||||
|
set only_screen_axo 1
|
Loading…
x
Reference in New Issue
Block a user