mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-29 14:00:49 +03:00
0026841: Boolean operation "bsection" produce invalid result on the attached cases
1. Intersection curve was not bounded by faces domain. It was the reason of big edge tolerance. This problem has been fixed. 2. Interface bopcurves DRAW-command has been changed in order to make possible to reproduce intersection problem. Creation of test case for this issue.
This commit is contained in:
@@ -1,8 +1,47 @@
|
||||
puts "TODO #OCC26777 ALL: Error : The length of result shape is"
|
||||
|
||||
restore [locate_data_file GEN758_nofog.rle] a
|
||||
explode a
|
||||
explode a f
|
||||
|
||||
# see issue #26777
|
||||
set GoodNbCurv 1
|
||||
|
||||
set log [bopcurves a_1 a_2 -2d -p 0.20639206339545224 0.69260832843385300 0.0 0.017002507022347624]
|
||||
regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Tolerance_Reached NbCurv
|
||||
|
||||
set expected_Tolerance_Reached 2.2797192759881918e-005
|
||||
set tol_abs_Tolerance_Reached 0.0
|
||||
set tol_rel_Tolerance_Reached 1.0e-2
|
||||
checkreal "Tolerance Reached" ${Tolerance_Reached} ${expected_Tolerance_Reached} ${tol_abs_Tolerance_Reached} ${tol_rel_Tolerance_Reached}
|
||||
|
||||
if {${NbCurv} != ${GoodNbCurv}} {
|
||||
puts "Error: ${GoodNbCurv} curves are expected but ${NbCurv} are found!"
|
||||
}
|
||||
|
||||
smallview
|
||||
clear
|
||||
|
||||
if {${NbCurv} == 1} {
|
||||
display c_1
|
||||
fit
|
||||
} else {
|
||||
for { set i 1 } { ${i} <= ${NbCurv} } {incr i} {
|
||||
bounds c_$i u1 u2
|
||||
cvalue c_$i u2 xx yy zz
|
||||
point p$i xx yy zz
|
||||
}
|
||||
|
||||
fit
|
||||
|
||||
for { set i 1 } { ${i} <= ${NbCurv} } {incr i} {
|
||||
erase p$i
|
||||
display c_$i
|
||||
}
|
||||
}
|
||||
|
||||
xwd ${imagedir}/${casename}_curv.png
|
||||
|
||||
donly a_1 a_2
|
||||
|
||||
bsection result a_1 a_2
|
||||
|
||||
checkprops result -l 22.2575
|
||||
checksection result
|
||||
checksection result
|
Reference in New Issue
Block a user