1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-03 17:56:21 +03:00
nbv a6ebe9fc7c 0028493: [Regression vs 7.0.0] Intersection algorithm produces curve with loop
1. New testgrid "lowalgos/intss" has been created. It will contain all test cases on geometrical intersection of two surfaces ("intersect" DRAW-command) and two faces ("bopcurves" DRAW-command).

2. New test case for the issue #28493 has been created because the problem is not reproduced on MASTER.

3. Test case (lowalgos/intss/bug24472) for the issue #29501 has been modified in order to check loops of the resulting intersection curves.
2018-10-30 16:04:24 +03:00

41 lines
1.8 KiB
Plaintext

puts "============"
puts "OCC27896"
puts "============"
puts ""
###############################
## Prm-Prm intersection algo returns wrong result if it is called with start
## intersection point, which lies in the domain boundary
###############################
set tol_abs_Tolerance_Reached 1.0e-7
set tol_rel_Tolerance_Reached 0.1
set GoodNbCurves 2
restore [locate_data_file bug25319_S1.brep] b1
restore [locate_data_file bug25319_S2.brep] b2
explode b1 f
explode b2 f
# GOOD result before the fix
set log1 [bopcurves b1_8 b2_17 -2d -p +1.09444207768950010000 +29.00000000000000000000 +0.17740001678466785000 +2.79671571032639710000 -p +0.00000000000000000000 +26.87779254288926400000 +0.17767342824312710000 +2.80622040022304510000]
# BAD result before the fix
set log2 [bopcurves b1_8 b2_17 -2d -p +1.09444207768949960000 +29.00000000000000000000 +0.17740001678466785000 +2.79671571032639750000 -p +0.00000000000000000000 +26.87779254288926400000 +0.17767342824312710000 +2.80622040022304510000]
regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log1} full Tolerance_Reached1 NbCurv1
regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log2} full Tolerance_Reached2 NbCurv2
set expected_Tolerance_Reached1 2.2611960020325053e-007
set expected_Tolerance_Reached2 5.0364838664362801e-006
checkreal "Tolerance Reached" ${Tolerance_Reached1} ${expected_Tolerance_Reached1} ${tol_abs_Tolerance_Reached} ${tol_rel_Tolerance_Reached}
checkreal "Tolerance Reached" ${Tolerance_Reached2} ${expected_Tolerance_Reached2} ${tol_abs_Tolerance_Reached} ${tol_rel_Tolerance_Reached}
if { $NbCurv1 != $GoodNbCurves } {
puts "Error in case 1: $GoodNbCurves curve(s) is expected but $NbCurv1 is found"
}
if { $NbCurv2 != $GoodNbCurves } {
puts "Error in case 2: $GoodNbCurves curve(s) is expected but $NbCurv2 is found"
}