Files
OCCT/tests/bugs/moddata_2/bug23165
Pasukhin Dmitry a56f2394ce Modeling - Revert changes to original version (#1187)
Refactor GeomBndLib classes for old version of bounding box calculations
Can be fixed later.
- Added new test case for BSplineCurve trimmed range comparison with BndLib.
- Enhanced GeomBndLib_BSplineCurve to handle parameter adjustments for periodic curves.
- Updated GeomBndLib_BSplineCurve2d to improve bounding box calculations.
- Refined GeomBndLib_BSplineSurface to use grid sampling for bounding box determination.
- Optimized GeomBndLib_BezierCurve and GeomBndLib_BezierCurve2d for bounding box calculations.
- Simplified GeomBndLib_SurfaceOfExtrusion and GeomBndLib_SurfaceOfRevolution by leveraging GeomBndLib_OtherSurface for bounding box computations.
- Improved GeomBndLib_Torus to utilize BndLib for bounding box calculations, including handling degenerate cases.
2026-04-05 14:57:53 +01:00

76 lines
2.1 KiB
Plaintext
Executable File

puts "================"
puts "OCC23165"
puts "================"
puts ""
###################################################################################################################
# BndLib_Add3dCurve::Add incorrectly segmented original B-Spline what resulting in wrong bounding box or exception.
###################################################################################################################
catch { pload XDE }
set BugNumber OCC23165
smallview
# 1 step
set exception_status 0
restore [locate_data_file OCC23165-edge1.brep] e1
donly e1
catch { bounding e1 } msg
fit
set index [lsearch $msg exception]
if {$index > -1} {
set exception_status 1
} else {
bounding e1 -save e1_x1 e1_y1 e1_z1 e1_x2 e1_y2 e1_z2
set e1_good_x1 -17.610622244944413
set e1_good_y1 -0.010622244944396092
set e1_good_z1 -3.0106222449443982
set e1_good_x2 -17.589377755055537
set e1_good_y2 5.700038816113608
set e1_good_z2 -1.6251884728673096
checkreal "e1_x1" [dval e1_x1] ${e1_good_x1} 0 0.001
checkreal "e1_y1" [dval e1_y1] ${e1_good_y1} 0 0.001
checkreal "e1_z1" [dval e1_z1] ${e1_good_z1} 0 0.001
checkreal "e1_x2" [dval e1_x2] ${e1_good_x2} 0 0.001
checkreal "e1_y2" [dval e1_y2] ${e1_good_y2} 0 0.001
checkreal "e1_z2" [dval e1_z2] ${e1_good_z2} 0 0.001
}
# 2 step
restore [locate_data_file OCC23165-curve.rle] c
mkedge result c 20 36
donly result
set res [bounding result -save x1 y1 z1 x2 y2 z2 ]
fit
set good_x1 -17.6105835090592
set good_y1 -4.7133570660117918
set good_z1 -4.3679100133425806
set good_x2 -17.589416490940806
set good_y2 5.7000000802283299
set good_z2 -1.6252272087525899
checkreal "x1" [dval x1] ${good_x1} 0 0.001
checkreal "y1" [dval y1] ${good_y1} 0 0.001
checkreal "z1" [dval z1] ${good_z1} 0 0.001
checkreal "x2" [dval x2] ${good_x2} 0 0.001
checkreal "y2" [dval y2] ${good_y2} 0 0.001
checkreal "z2" [dval z2] ${good_z2} 0 0.001
if { ${exception_status} == 0 } {
puts "${BugNumber}: OK"
} else {
puts "${BugNumber}: Faulty"
}
checkview -display result -2d -path ${imagedir}/${test_image}.png
checkprops result -l 15.8888
checksection result