Archived issue #0024657
2dintersect returns different number of intersect points
Description
2dintersect depends on 2d curve arg sequence:
there is the case when:
"2dintersect curve1 curve2" returns one intersect point
but
"2dintersect curve2 curve1" returns TWO intersect points
there is the case when:
"2dintersect curve1 curve2" returns one intersect point
but
"2dintersect curve2 curve1" returns TWO intersect points
Steps to reproduce
restore Attachment 1 (BREP) a
explode a e
pcu p4 a_4 a
pcu p5 a_5 a
2dintersect p4 p5 -tol 10e-7
2dintersect p5 p4 -tol 10e-7
explode a e
pcu p4 a_4 a
pcu p5 a_5 a
2dintersect p4 p5 -tol 10e-7
2dintersect p5 p4 -tol 10e-7
Public activity
30 archived notes
Participants are labeled by their role within this record.
dear ifv, please review CR24657 branch
Ok
Dear Commenter 1,
Branch CR24657 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 29 (29 on master)
Windows: 0 (0 on master)
products component :
Linux: 12 (12 on master)
Windows: 2 (2 on master)
Regressions/Differences:
http://occt-tests/CR24657-master-occt/Debian60-64/summary.html
http://occt-tests/CR24657-master-occt/Windows-32-VC9/summary.html
Improvements:
de iges_1(001) F9
de iges_2(002) G7
de step_2(005) D1
heal split_angle_advanced(012) Z3
heal split_closed_faces(011) G5
Failed:
de iges_1(001) G6, K3, L8, P8, R8
de iges_2(002) B8, C2, F4
de step_2(005) M4
de step_3(006) C4, D9, E6, F2
heal split_angle_advanced(012) ZA5, ZA6
http://jenkins-test-02.nnov.opencascade.com:8080/user/mnt/my-views/view/CR24657/job/mnt-CR24657-master_products_tests_linux_start/label=Debian60-64,tests_group=parasolid,tests_subgroup=003/4/HTML_Report/?
http://jenkins-test-02.nnov.opencascade.com:8080/user/mnt/my-views/view/CR24657/job/mnt-CR24657-master_products_tests_windows_start/label=windows_test,tests_group=parasolid,tests_subgroup=003/2/HTML_Report/?
parasolid doc_3(003) E3
http://jenkins-test-02.nnov.opencascade.com:8080/user/mnt/my-views/view/CR24657/job/mnt-CR24657-master_products_tests_linux_start/label=Debian60-64,tests_group=sat,tests_subgroup=001/4/HTML_Report/?
sat doc_1(001) ZV5
Testing cases:
http://occt-tests/CR24657-master-occt/Debian60-64/bugs/modalg_5/bug24657.html
http://occt-tests/CR24657-master-occt/Windows-32-VC9/bugs/modalg_5/bug24657.html
bugs modalg_5(010) bug24657: OK
Testing on Linux:
Total MEMORY difference: 379407000 / 378983764
Total CPU difference: 49329.440000000024 / 43578.700000000004
Testing on Windows:
Total MEMORY difference: 426789228 / 426390392
Total CPU difference: 26989.875 / 33726.015625
There are following differences in images found by testdiff.
http://occt-tests/CR24657-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR24657-master-occt/Windows-32-VC9/diff-Windows-32-VC9.html
IMAGE bugs iges bug22504: bug22504_Driver1_Viewer1_View1.png differs
Branch CR24657 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 29 (29 on master)
Windows: 0 (0 on master)
products component :
Linux: 12 (12 on master)
Windows: 2 (2 on master)
Regressions/Differences:
http://occt-tests/CR24657-master-occt/Debian60-64/summary.html
http://occt-tests/CR24657-master-occt/Windows-32-VC9/summary.html
Improvements:
de iges_1(001) F9
de iges_2(002) G7
de step_2(005) D1
heal split_angle_advanced(012) Z3
heal split_closed_faces(011) G5
Failed:
de iges_1(001) G6, K3, L8, P8, R8
de iges_2(002) B8, C2, F4
de step_2(005) M4
de step_3(006) C4, D9, E6, F2
heal split_angle_advanced(012) ZA5, ZA6
http://jenkins-test-02.nnov.opencascade.com:8080/user/mnt/my-views/view/CR24657/job/mnt-CR24657-master_products_tests_linux_start/label=Debian60-64,tests_group=parasolid,tests_subgroup=003/4/HTML_Report/?
http://jenkins-test-02.nnov.opencascade.com:8080/user/mnt/my-views/view/CR24657/job/mnt-CR24657-master_products_tests_windows_start/label=windows_test,tests_group=parasolid,tests_subgroup=003/2/HTML_Report/?
parasolid doc_3(003) E3
http://jenkins-test-02.nnov.opencascade.com:8080/user/mnt/my-views/view/CR24657/job/mnt-CR24657-master_products_tests_linux_start/label=Debian60-64,tests_group=sat,tests_subgroup=001/4/HTML_Report/?
sat doc_1(001) ZV5
Testing cases:
http://occt-tests/CR24657-master-occt/Debian60-64/bugs/modalg_5/bug24657.html
http://occt-tests/CR24657-master-occt/Windows-32-VC9/bugs/modalg_5/bug24657.html
bugs modalg_5(010) bug24657: OK
Testing on Linux:
Total MEMORY difference: 379407000 / 378983764
Total CPU difference: 49329.440000000024 / 43578.700000000004
Testing on Windows:
Total MEMORY difference: 426789228 / 426390392
Total CPU difference: 26989.875 / 33726.015625
There are following differences in images found by testdiff.
http://occt-tests/CR24657-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR24657-master-occt/Windows-32-VC9/diff-Windows-32-VC9.html
IMAGE bugs iges bug22504: bug22504_Driver1_Viewer1_View1.png differs
de step_3 C4
max tol is the same as before but average tol has increased. it isn't regression
de iges_2 C2
max tol is smaller. it is IMPROVEMENT
de step_2 M4
max tol is smaller. it is IMPROVEMENT
heal split_angle_advanced ZA6
the num of errors has decreased. it is IMPROVEMENT
heal split_angle_advanced ZA5
the num of errors has decreased. it is IMPROVEMENT
all other aren't regressions (have different secondary params)
checkshape questions in the process: de step_3 D9, de iges_2 F4
max tol is the same as before but average tol has increased. it isn't regression
de iges_2 C2
max tol is smaller. it is IMPROVEMENT
de step_2 M4
max tol is smaller. it is IMPROVEMENT
heal split_angle_advanced ZA6
the num of errors has decreased. it is IMPROVEMENT
heal split_angle_advanced ZA5
the num of errors has decreased. it is IMPROVEMENT
all other aren't regressions (have different secondary params)
checkshape questions in the process: de step_3 D9, de iges_2 F4
de iges_2 F4
this test contains a new additional faulty. the new one (wire self-intersection) appeared after loopback test due to poly intersection algorithm seeks with both criteria: exact intersection (in parametric space) and “node” intersection. The last criterion has been turned on (findIntersect method, last param is TRUE) due to the being processed polygons aren’t complemented by new points (ComputeWithBox isn’t used already).
So I deem the faulty isn’t regression
this test contains a new additional faulty. the new one (wire self-intersection) appeared after loopback test due to poly intersection algorithm seeks with both criteria: exact intersection (in parametric space) and “node” intersection. The last criterion has been turned on (findIntersect method, last param is TRUE) due to the being processed polygons aren’t complemented by new points (ComputeWithBox isn’t used already).
So I deem the faulty isn’t regression
de step_3 D9
isn't regression (see 24743 issue)
isn't regression (see 24743 issue)
and other
de iges_1(001) G6, K3, L8, P8, R8
de iges_2(002) B8
de step_3(006) C4, E6, F2
aren't regressions
de iges_1(001) G6, K3, L8, P8, R8
de iges_2(002) B8
de step_3(006) C4, E6, F2
aren't regressions
##copied from #24549 , [archived tracker link removed]
mkv:
Dear Commenter 1,
Branch CR24549_with24657 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 30 (30 on master)
Windows: 0 (0 on master)
products component :
Linux: 12 (12 on master)
Windows: 2 (2 on master)
Regressions/Differences:
http://occt-tests/CR24549-24657-master-occt/Debian60-64/summary.html [^]
http://occt-tests/CR24549-24657-master-occt/Windows-32-VC9/summary.html [^]
Improvements:
bugs heal bug210
de iges_2 E3
de step_1 N3
de step_2 G1
Failed:
de iges_1(001) B4, L5, Q3, R5
de iges_2(002) A9, B1, C4, G1, G8, I7
de iges_3(003) A2
de step_1(004) A3, G9, V3
de step_2(005) D7, D8, F1, K1, O8, Y5
de step_3(006) A5, A9, B5, C6, D8, D9, E6
de step_4(007) I2
de step_5(008) A1, A3
xcaf brep_to_stp_add_CL(009) I6
Testing cases:
http://occt-tests/CR24549-24657-master-occt/Debian60-64/bugs/heal/bug24549.html [^]
http://occt-tests/CR24549-24657-master-occt/Windows-32-VC9/bugs/heal/bug24549.html [^]
bugs heal(017) bug24549: OK
Testing on Linux:
Total MEMORY difference: 384014256 / 380174460
Total CPU difference: 44659.88000000026 / 46659.64
Testing on Windows:
Total MEMORY difference: 421755968 / 418700688
Total CPU difference: 31584.203125 / 30899.28125
There are following differences in images found by testdiff.
http://occt-tests/CR24549-24657-master-occt/Debian60-64/diff-Debian60-64.html [^]
http://occt-tests/CR24549-24657-master-occt/Windows-32-VC9/diff-Windows-32-VC9.html [^]
IMAGE bugs iges bug22504: bug22504_Driver1_Viewer1_View1.png differs
mkv:
Dear Commenter 1,
Branch CR24549_with24657 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 30 (30 on master)
Windows: 0 (0 on master)
products component :
Linux: 12 (12 on master)
Windows: 2 (2 on master)
Regressions/Differences:
http://occt-tests/CR24549-24657-master-occt/Debian60-64/summary.html [^]
http://occt-tests/CR24549-24657-master-occt/Windows-32-VC9/summary.html [^]
Improvements:
bugs heal bug210
de iges_2 E3
de step_1 N3
de step_2 G1
Failed:
de iges_1(001) B4, L5, Q3, R5
de iges_2(002) A9, B1, C4, G1, G8, I7
de iges_3(003) A2
de step_1(004) A3, G9, V3
de step_2(005) D7, D8, F1, K1, O8, Y5
de step_3(006) A5, A9, B5, C6, D8, D9, E6
de step_4(007) I2
de step_5(008) A1, A3
xcaf brep_to_stp_add_CL(009) I6
Testing cases:
http://occt-tests/CR24549-24657-master-occt/Debian60-64/bugs/heal/bug24549.html [^]
http://occt-tests/CR24549-24657-master-occt/Windows-32-VC9/bugs/heal/bug24549.html [^]
bugs heal(017) bug24549: OK
Testing on Linux:
Total MEMORY difference: 384014256 / 380174460
Total CPU difference: 44659.88000000026 / 46659.64
Testing on Windows:
Total MEMORY difference: 421755968 / 418700688
Total CPU difference: 31584.203125 / 30899.28125
There are following differences in images found by testdiff.
http://occt-tests/CR24549-24657-master-occt/Debian60-64/diff-Debian60-64.html [^]
http://occt-tests/CR24549-24657-master-occt/Windows-32-VC9/diff-Windows-32-VC9.html [^]
IMAGE bugs iges bug22504: bug22504_Driver1_Viewer1_View1.png differs
there is the problem in CR24549_with24657 results. the pin on image in "bugs iges bug22504" is shifted.
but the pin on the image of current CR24657 (rebased at IR-2014-03-20) branch isn't shifted.
but the pin on the image of current CR24657 (rebased at IR-2014-03-20) branch isn't shifted.
dear mkv, please test CR24657 branch
Dear Commenter 1,
Branch CR24657 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 29 (29 on master)
Windows: 0 (0 on master)
products component :
Linux: 12 (12 on master)
Windows: 2 (2 on master)
Regressions/Differences:
http://occt-tests/CR24657-master-occt/Debian60-64/de/step_3/D3.html
Improvements:
de step_3(006) D3 - corrected and pushed to branch CR24657
Testing cases:
http://occt-tests/CR24657-master-occt/Debian60-64/bugs/modalg_5/bug24657.html
http://occt-tests/CR24657-master-occt/Windows-32-VC9/bugs/modalg_5/bug24657.html
bugs modalg_5(010) bug24657: OK
Testing on Linux:
Total MEMORY difference: 390844552 / 390850480
Total CPU difference: 47064.130000000005 / 51146.809999999656
Testing on Windows:
Total MEMORY difference: 435054348 / 433684232
Total CPU difference: 33036.875 / 35632.53125
There are following differences in images found by testdiff.
http://occt-tests/CR24657-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR24657-master-occt/Windows-32-VC9/diff-Windows-32-VC9.html
IMAGE bugs iges bug22504: bug22504_Driver1_Viewer1_View1.png differs
Branch CR24657 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 29 (29 on master)
Windows: 0 (0 on master)
products component :
Linux: 12 (12 on master)
Windows: 2 (2 on master)
Regressions/Differences:
http://occt-tests/CR24657-master-occt/Debian60-64/de/step_3/D3.html
Improvements:
de step_3(006) D3 - corrected and pushed to branch CR24657
Testing cases:
http://occt-tests/CR24657-master-occt/Debian60-64/bugs/modalg_5/bug24657.html
http://occt-tests/CR24657-master-occt/Windows-32-VC9/bugs/modalg_5/bug24657.html
bugs modalg_5(010) bug24657: OK
Testing on Linux:
Total MEMORY difference: 390844552 / 390850480
Total CPU difference: 47064.130000000005 / 51146.809999999656
Testing on Windows:
Total MEMORY difference: 435054348 / 433684232
Total CPU difference: 33036.875 / 35632.53125
There are following differences in images found by testdiff.
http://occt-tests/CR24657-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR24657-master-occt/Windows-32-VC9/diff-Windows-32-VC9.html
IMAGE bugs iges bug22504: bug22504_Driver1_Viewer1_View1.png differs
i have executed "bugs iges bug22504" test case on "windows 32 vc10" (current CR24657 branch) and it isn't different from master.
and also the made fixes in this issue shouldn't do any influence at the executed test.
dear Commenter 1, please integrate
and also the made fixes in this issue shouldn't do any influence at the executed test.
dear Commenter 1, please integrate
Problem bugs iges bug22504 is reproduced on IR-2014-03-27
Ok. I'll start to investigate this problem more deeper
The problem looks fixed. Dear Commenter 2, please, investigate.
The issue currently cannot be reproduced on master.
Branch [archived branch] has been created by Participant.
[revision removed]
Detailed log of new commits:
Author: Andrei LATYSHEV
Date: Thu Mar 24 17:36:11 2022 +0300
0024657: 2dintersect returns different number of intersect points in curve intersecting the polygon points is never replaced by line
Test for 2d intersection is added
[revision removed]
Detailed log of new commits:
Author: Andrei LATYSHEV
Date: Thu Mar 24 17:36:11 2022 +0300
0024657: 2dintersect returns different number of intersect points in curve intersecting the polygon points is never replaced by line
Test for 2d intersection is added
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Please review branch CR24657_1
Test results are attached:
http://jenkins-test-occt/view/CR24657_1-master-ALATYSHE/view/ALL/
Test results are attached:
http://jenkins-test-occt/view/CR24657_1-master-ALATYSHE/view/ALL/
Andrey, I propose to perform the most clear check that the order of intersected curves does not matter. I mean that the results of intersections should be the same, and I propose to implement this check in the test as well.
Also, please, use v2d2 command instead of av2d to display 2D view.
Also, please, use v2d2 command instead of av2d to display 2D view.
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
1. Does the following statement correct?
2. Wrong usage of regexp:
You search the exact string instead of parsing values by regular expression and then checking the values are equal. What if 2dintersect returns the values you searching, but on the wrong places?
Please, look at other tests parsing the result of certain operation by regexp.
# Check if the number of intersections is more than 2
2. Wrong usage of regexp:
# Verify the coordinates of the intersection points
set xint1 [regexp -all {1.10000000} ${inter1}]
set xint2 [regexp -all {1.10000000} ${inter2}]
set yint1 [regexp -all {59.4123777} ${inter1}]
set yint2 [regexp -all {59.4123777} ${inter2}]
You search the exact string instead of parsing values by regular expression and then checking the values are equal. What if 2dintersect returns the values you searching, but on the wrong places?
Please, look at other tests parsing the result of certain operation by regexp.
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Andrey, unfortunately, your test case failed on both Windows and Linux platforms.
And I also have a couple of remarks:
1. I suppose, we could check here parameters on each curve together with checking the point coordinates. Then it will be complete test case.
2. There is a Tab sign in line 33. Please, substitute it by spaces.
And I also have a couple of remarks:
1. I suppose, we could check here parameters on each curve together with checking the point coordinates. Then it will be complete test case.
2. There is a Tab sign in line 33. Please, substitute it by spaces.
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branches to be integrated:
OCCT: CR24657_1
Products: NOT
OCCT: CR24657_1
Products: NOT
Combination -
OCCT branch : [archived branch]
master SHA - [revision removed]
[revision removed]
Products branch : [archived branch] SHA - [revision removed]
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.
Number of compiler warnings:
No new/fixed warnings
Regressions/Differences/Improvements:
No regressions/differences
CPU differences:
Debian80-64:
OCCT
Total CPU difference: 18452.87000000039 / 18490.94000000032 [-0.21%]
Products
Total CPU difference: 11761.310000000152 / 11719.920000000124 [+0.35%]
Windows-64-VC14:
OCCT
Total CPU difference: 20539.828125 / 20552.71875 [-0.06%]
Products
Total CPU difference: 13248.21875 / 13242.609375 [+0.04%]
Image differences :
No differences that require special attention
Memory differences :
No differences that require special attention
OCCT branch : [archived branch]
master SHA - [revision removed]
[revision removed]
Products branch : [archived branch] SHA - [revision removed]
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.
Number of compiler warnings:
No new/fixed warnings
Regressions/Differences/Improvements:
No regressions/differences
CPU differences:
Debian80-64:
OCCT
Total CPU difference: 18452.87000000039 / 18490.94000000032 [-0.21%]
Products
Total CPU difference: 11761.310000000152 / 11719.920000000124 [+0.35%]
Windows-64-VC14:
OCCT
Total CPU difference: 20539.828125 / 20552.71875 [-0.06%]
Products
Total CPU difference: 13248.21875 / 13242.609375 [+0.04%]
Image differences :
No differences that require special attention
Memory differences :
No differences that require special attention
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]