1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-29 14:00:49 +03:00

0032915: Geom2dAPI_InterCurveCurve, The algorithm lost an intersection point.

Get rid of strange code: preliminary check of self-intersections is made on a polygonal representation of a curve, it is able to find possible intersections, but after that it filter out segments neighbor to the pair of non-intersected segments.

Test case de step_4 I1 has been marked BAD, because the self-intersection is treated correctly, but the projection algorithm generates such crooked 2D curve.

Reference data in test cases heal split_angle_advanced ZA5 and ZA6 has been updated, because those shapes have self-intersected edges, which are being detected now.
This commit is contained in:
azv
2022-04-08 11:03:53 +03:00
committed by smoskvin
parent b776f4ee07
commit c4e1d8c918
5 changed files with 22 additions and 19 deletions

View File

@@ -0,0 +1,18 @@
puts "================================================="
puts "0032915: Geom2dAPI_InterCurveCurve, The algorithm lost an intersection point."
puts "================================================="
puts ""
restore [locate_data_file bug32915.brep] e
mkcurve c3d e
plane p 0 0 1
project c2d c3d p
set inter [2dintersect c2d]
if {[regexp -all "Intersection point" $inter] != 29} {
puts "Error: Wrong number of self-intersections (expected 29 points)."
}
v2d
2dfit
checkview -screenshot -2d -path ${imagedir}/${test_image}.png