1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-10 18:51:21 +03:00
occt/tests/bugs/modalg_6/bug27431
jgv e67e482d99 0029511: Section fails for these two faces
Modified method: Approx_ComputeLine::Compute
Check of multicurve is now always unconditional, the procedure of check is modified to avoid infinite loops.

Modified classes: GeomLib_CheckBSplineCurve and GeomLib_Check2dBSplineCurve
Correction of poles at the ends of curve is modified to fit the direction of tangent defined by two first points or two last points of walking line.

Also modified:

BOPAlgo_PaveFiller: modified methods PostTreatFF, RemoveUsedVertices - now unused vertices are included in the list of vertices to be absorbed by other ones.
2018-06-14 14:03:08 +03:00

67 lines
1.4 KiB
Plaintext

puts "============"
puts "OCC27431"
puts "============"
puts ""
###############################
## [Regression to 6.9.1] Huge tolerance obtained during intersection of cylinder and sphere
###############################
pload ALL
set GoodNbCurv 4
restore [locate_data_file OCC13116_sh1.brep] b1
restore [locate_data_file OCC13116_sh2.brep] b2
explode b1 f
explode b2 f
set log1 [bopcurves b1_3 b2_1 -2d]
regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log1} full Toler NbCurv
if { ${Toler} > 0.0005} {
puts "Error: bad tolerance of result"
}
smallview
don b1_3 b2_1 c_*
fit
checkview -screenshot -2d -path ${imagedir}/${test_image}_3d_1.png
v2d
don c2d*
2dfit
checkview -screenshot -2d -path ${imagedir}/${test_image}_2d_1.png
if {${NbCurv} != ${GoodNbCurv}} {
puts "Error: Number of curves is bad!"
}
# increasing tolerance values of the faces on Precision::Confusion()
# dramatically increased (before fixing) the tolerance of
# the produced section curves
settolerance b1_3 2.34623727264857e-007
settolerance b2_1 2.e-7
set log2 [bopcurves b1_3 b2_1 -2d]
regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log2} full Toler NbCurv
if { ${Toler} > 0.0005} {
puts "Error: bad tolerance of result"
}
smallview
don b1_3 b2_1 c_*
fit
checkview -screenshot -2d -path ${imagedir}/${test_image}_3d_2.png
v2d
don c2d*
2dfit
checkview -screenshot -2d -path ${imagedir}/${test_image}_2d_2.png