mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-10 18:51:21 +03:00
I ComputePurgedWLine() function: Excess points in walking line are deleted when: 1) Distance between neighboring points too small. 2) Points lie in one pipe without big jump on chord length. III Fixed problem with extremaPC with too close knot distribution to [minParam, maxParam] borders. IV ApproxInt_Approx.gxx New division criteria in intersection approximator. III Test case Test cases update to the new behavior. Test case for CR21564 Correction of test cases for issue CR21564
53 lines
1.4 KiB
Plaintext
53 lines
1.4 KiB
Plaintext
puts "========="
|
|
puts "OCC24585"
|
|
puts "========="
|
|
puts ""
|
|
###########################################################
|
|
# Wrong pcurve of the section curve
|
|
###########################################################
|
|
set MaxTol 1.05e-6
|
|
set NbCurv_OK 1
|
|
|
|
restore [locate_data_file bug24585_b1.brep] b1
|
|
restore [locate_data_file bug24585_b2.brep] b2
|
|
|
|
mksurface s1 b1
|
|
bounds s1 U1f_exp U1l_exp V1f_exp V1l_exp
|
|
|
|
set log [bopcurves b1 b2 -2d]
|
|
|
|
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!"
|
|
}
|
|
|
|
bounds c2d1_1 U1 U2
|
|
2dcvalue c2d1_1 U1 U_begin V_begin
|
|
2dcvalue c2d1_1 U2 U_end V_end
|
|
|
|
#Theoretically, c2d1_1 must cover U-diapason of surface s1 fully.
|
|
|
|
set delta_f [dval U1f_exp-U_begin]
|
|
|
|
#ATTENTION!!! U_begin must be strictly equal U1f_exp (without any tolerance)
|
|
if {${delta_f} != 0} {
|
|
puts "Error: Bad value. U_begin = [dval U_begin], Ufirst = [dval U1f_exp]."
|
|
} else {
|
|
puts "OK: Good value. U_begin matches with Ufirst of surface."
|
|
}
|
|
|
|
puts ""
|
|
|
|
set delta_l [dval U1l_exp-U_end]
|
|
|
|
#ATTENTION!!! U_end must be strictly equal U1l_exp (without any tolerance)
|
|
if {${delta_l} != 0} {
|
|
puts "Error: Bad value. U_end = [dval U_end], Ulast = [dval U1l_exp]."
|
|
} else {
|
|
puts "OK: Good value. U_end matches with Ulast of surface."
|
|
} |