1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-03 17:56:21 +03:00
occt/tests/bugs/heal/bug28553
msv 19e7092d1b 0028553: Incorrect result of the ShapeUpgrade_ShapeDivideContinuity algorithm
The cause of the bug was computation of incorrect UVBounds in the method ShapeAnalysis::GetFaceUVBounds. In this patch the computation of a box for a 2D curve in the method ShapeAnalysis_Curve::FillBndBox() has been improved taking into account intervals of C2 continuity.
Also the fix makes little extension of bounds when making the new surface in ShapeUpgrade_FaceDivide::SplitSurface(), so that all p-curves were fully inside.

Test case for issue CR28553
2017-03-23 15:57:23 +03:00

25 lines
519 B
Plaintext

puts "======="
puts "OCC28553"
puts "======="
puts ""
##################################################
# Incorrect result of the ShapeUpgrade_ShapeDivideContinuity algorithm
##################################################
restore [locate_data_file bug28553_sh.brep] f
#Split shape
DT_ShapeDivide r f
explode r F
mksurface s2 r_1
don r_1 s2
set fbnd [xbounds r_1]
set v2f [lindex $fbnd 3]
bounds s2 u1 u2 v1 v2
if {$v2f > [dval v2]} {
puts "Error: result face bounds are out of surface ($v2f > [dval v2])"
}