mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-07-30 13:05:50 +03:00
1. Methods ClearVertexes(), RemoveVertex(...) and InsertVertexBefore(...) was added to the IntPatch_WLine class. 2. Function IsSame(...) for IntSurf_PntOn2S was added (see IntSurf_PntOn2S.cdl for detail information). 3. Concatenate WLine got if it is possible. Some test cases were changed according to their new behavior.
101 lines
2.4 KiB
Plaintext
101 lines
2.4 KiB
Plaintext
puts "================"
|
|
puts "OCC25292"
|
|
puts "================"
|
|
puts ""
|
|
#######################################################################
|
|
# Face/Face intersection algorithm gives different results for different order of the arguments
|
|
#######################################################################
|
|
|
|
puts "##############################"
|
|
puts "#!!!Search \"Attention\" keyword on this web-page for additional checking!!!"
|
|
puts "##############################"
|
|
puts ""
|
|
puts ""
|
|
|
|
# bopcurves command
|
|
|
|
restore [locate_data_file bug25292_Input_0.brep] b1
|
|
restore [locate_data_file bug25292_Input_1.brep] b2
|
|
|
|
explode b1 f
|
|
copy b1_2 f1
|
|
explode b2 f
|
|
copy b2_2 f2
|
|
|
|
#############################
|
|
set log [bopcurves f1 f2 -2d]
|
|
#############################
|
|
|
|
regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
|
|
|
|
#This value must be equal to the analogical value in bug25292_11 and bug25292_12 of "bugs modalg_5" testgrid.
|
|
set MaxTol 1.e-7
|
|
|
|
#This value must be equal to the analogical value in bug25292_11, bug25292_12, bug25292_15 and bug25292_16 of "bugs modalg_5" testgrid.
|
|
set GoodNbCurv 4
|
|
|
|
if {${Toler} > ${MaxTol}} {
|
|
puts "Error: Tolerance is too big!"
|
|
}
|
|
|
|
if {${NbCurv} != ${GoodNbCurv}} {
|
|
puts "Error: Curve Number is bad!"
|
|
}
|
|
|
|
#-------------
|
|
|
|
# 1
|
|
puts ""
|
|
|
|
mksurface s1 f1
|
|
mksurface s2 f2
|
|
|
|
for {set i 1} {$i <= ${NbCurv}} {incr i} {
|
|
set log [dump c_$i]
|
|
|
|
regexp {Degree +([-0-9.+eE]+), +([-0-9.+eE]+) Poles, +([-0-9.+eE]+)} ${log} full Degree Poles KnotsPoles
|
|
puts "Degree=${Degree}"
|
|
puts "Poles=${Poles}"
|
|
puts "KnotsPoles=${KnotsPoles}"
|
|
puts ""
|
|
|
|
set Knot 1
|
|
set exp_string "Knots :\n\n +${Knot} : +(\[-0-9.+eE\]+) +(\[-0-9.+eE\]+)"
|
|
regexp ${exp_string} ${log} full U1 Mult1
|
|
|
|
set Knot ${KnotsPoles}
|
|
set exp_string " +${Knot} : +(\[-0-9.+eE\]+) +(\[-0-9.+eE\]+)"
|
|
regexp ${exp_string} ${log} full U2 Mult2
|
|
|
|
puts "U1=${U1}"
|
|
puts "U2=${U2}"
|
|
|
|
if {[expr {$U2 - $U1}] < 1.0e-20} {
|
|
puts "Error: Wrong curve's range!"
|
|
}
|
|
|
|
dlog reset
|
|
dlog on
|
|
xdistcs c_$i s1 ${U1} ${U2} 10
|
|
set Log2 [dlog get]
|
|
set List2 [split ${Log2} {TD= \t\n}]
|
|
set Tolerance 1.0e-7
|
|
set Limit_Tol 1.0e-7
|
|
set D_good 0.
|
|
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
|
|
|
|
dlog reset
|
|
dlog on
|
|
xdistcs c_$i s2 ${U1} ${U2} 10
|
|
set Log2 [dlog get]
|
|
set List2 [split ${Log2} {TD= \t\n}]
|
|
set Tolerance 1.0e-7
|
|
set Limit_Tol 1.0e-7
|
|
set D_good 0.
|
|
checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}
|
|
}
|
|
|
|
v2d
|
|
2dfit
|
|
set only_screen_axo 1
|