Archived issue #0026675
Eliminate normalization of coordinates in ApproxInt package
Description
Existing version of OCCT makes incorrect transformation of source data (e.g. Walking-line obtained by intersection). I.e. every (of seven) coordinates of Walking-line is inscribed in range [0, 1]. It usually leads to change of curvature of approximated line and sometimes makes the quality of approximation worse.
Additionally, the fix of this problem will be able to help to fix some regressions enumerated in message 0026431:0045178.
Additionally, the fix of this problem will be able to help to fix some regressions enumerated in message 0026431:0045178.
Steps to reproduce
Creation test case for this issue is impossible. However, while investigation of regressions, some problem(s) has been detected. They are described in new issues (related to this bug) and in created test cases (it has already been attached to the branch).
Public activity
65 archived notes
Participants are labeled by their role within this record.
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Thu Sep 17 11:47:16 2015 +0300
0026675: Eliminate normalization of coordinates in ApproxInt package
Normalization has been eliminated.
Additionally,
1. Some methods of AppDef_Compute and ApproxInt_MultiLine classes have become inline (for speeding up performance).
2. Interfaces of AppDef_Compute::Parametrization(...) and BRepAlgo_BooleanOperations::SetApproxParameters() methods have been changed.
3. Overloaded methods for ApproxInt_Approx::SetParameters(...), TopOpeBRepTool_GeomTool::GetTolerances(...) and TopOpeBRepTool_GeomTool::SetTolerances(...) have been removed (because some fields of these classes are not used more).
4. Lost comments have been added in BRepApprox_TheMultiLineOfApprox.hxx and GeomInt_TheMultiLineOfWLApprox.hxx files.
5. Some fields have been deleted from ApproxInt_MultiLine class. Kept members have become constant.
6. Interface of ksection DRAW-command has been changed.
7. Some code fragments have been rewritten to make them easier.
Some test cases have been changed according to their new behavior.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Thu Sep 17 11:47:16 2015 +0300
0026675: Eliminate normalization of coordinates in ApproxInt package
Normalization has been eliminated.
Additionally,
1. Some methods of AppDef_Compute and ApproxInt_MultiLine classes have become inline (for speeding up performance).
2. Interfaces of AppDef_Compute::Parametrization(...) and BRepAlgo_BooleanOperations::SetApproxParameters() methods have been changed.
3. Overloaded methods for ApproxInt_Approx::SetParameters(...), TopOpeBRepTool_GeomTool::GetTolerances(...) and TopOpeBRepTool_GeomTool::SetTolerances(...) have been removed (because some fields of these classes are not used more).
4. Lost comments have been added in BRepApprox_TheMultiLineOfApprox.hxx and GeomInt_TheMultiLineOfWLApprox.hxx files.
5. Some fields have been deleted from ApproxInt_MultiLine class. Kept members have become constant.
6. Interface of ksection DRAW-command has been changed.
7. Some code fragments have been rewritten to make them easier.
Some test cases have been changed according to their new behavior.
Dear Mikhail,
Please review CR26675 branch.
Please review CR26675 branch.
Please avoid long lines
src\ApproxInt\ApproxInt_Approx.gxx: 103, 107
src\ApproxInt\ApproxInt_MultiLine.gxx: 446
src\ApproxInt\ApproxInt_Approx.gxx: 103, 107
src\ApproxInt\ApproxInt_MultiLine.gxx: 446
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Fri Sep 18 12:56:47 2015 +0300
Cosmetic correction in code
[revision removed]
Detailed log of new commits:
Author: Author
Date: Fri Sep 18 12:56:47 2015 +0300
Cosmetic correction in code
Dear Mikhail,
Please review the current state of CR26675 branch.
Please review the current state of CR26675 branch.
Reviewed.
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been rebased on the current master
Dear Commenter 1,
Branch CR26675 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 15 (15 on master)
Windows: 0 (0 on master)
products component :
Linux: 39 (39 on master)
Windows: 0 (0 on master)
Regressions/Differences:
http://occt-tests/CR26675-master-occt-64/Debian70-64/summary.html
http://occt-tests/CR26675-master-occt-64/Windows-64-VC10/summary.html
blend buildevol B3
blend simple X4
boolean bcommon_complex C7 (Linux only)
boolean bsection M7, N2
boolean gdml_private ZD3 (Linux only), ZD6
boolean volumemaker F8, F9, G1
bugs modalg_1 buc60532_2, bug10160_3, buc60555_1, buc60555_2, buc60555_3, bug1255, bug1255_1
bugs modalg_2 bug5805_46, bug22557, bug22864
bugs modalg_3 bug602
bugs modalg_4 bug697_2 (Windows only), bug697_4 (Windows only), bug697_7 (Windows only), bug697_8 (Windows only), bug712_1
bugs modalg_5 bug22585_1, bug24915, bug24981, bug25224, bug25838
bugs moddata_1 bug22759
draft angle G2, J5 (Linux only)
offset with_intersect_80 L6, L8 (Windows only)
http://occt-tests/CR26675-master-products-64/Debian70-64/summary.html
http://occt-tests/CR26675-master-products-64/Windows-64-VC10/summary.html
parasolid doc_1 A,1, A3
parasolid doc_3 A4, A8 (Linux only), B1, B2, B3, B7, B9, C3 (Linux only), D2, D4, D5, D7, E3, E4, E6, E7, E8
Testing on Linux:
Total MEMORY difference: 91687922 / 91842285 [-0.17%]
Total CPU difference: 18583.88999999882 / 18496.399999998957 [+0.47%]
Testing on Windows:
Total MEMORY difference: 56416091 / 56352926 [+0.11%]
Total CPU difference: 16889.448264999115 / 16707.785100499124 [+1.09%]
There are following differences in images found by testdiff:
http://occt-tests/CR26675-master-occt-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26675-master-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html
http://occt-tests/CR26675-master-products-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26675-master-products-64/Windows-64-VC10/diff-Windows-64-VC10.html
Branch CR26675 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 15 (15 on master)
Windows: 0 (0 on master)
products component :
Linux: 39 (39 on master)
Windows: 0 (0 on master)
Regressions/Differences:
http://occt-tests/CR26675-master-occt-64/Debian70-64/summary.html
http://occt-tests/CR26675-master-occt-64/Windows-64-VC10/summary.html
blend buildevol B3
blend simple X4
boolean bcommon_complex C7 (Linux only)
boolean bsection M7, N2
boolean gdml_private ZD3 (Linux only), ZD6
boolean volumemaker F8, F9, G1
bugs modalg_1 buc60532_2, bug10160_3, buc60555_1, buc60555_2, buc60555_3, bug1255, bug1255_1
bugs modalg_2 bug5805_46, bug22557, bug22864
bugs modalg_3 bug602
bugs modalg_4 bug697_2 (Windows only), bug697_4 (Windows only), bug697_7 (Windows only), bug697_8 (Windows only), bug712_1
bugs modalg_5 bug22585_1, bug24915, bug24981, bug25224, bug25838
bugs moddata_1 bug22759
draft angle G2, J5 (Linux only)
offset with_intersect_80 L6, L8 (Windows only)
http://occt-tests/CR26675-master-products-64/Debian70-64/summary.html
http://occt-tests/CR26675-master-products-64/Windows-64-VC10/summary.html
parasolid doc_1 A,1, A3
parasolid doc_3 A4, A8 (Linux only), B1, B2, B3, B7, B9, C3 (Linux only), D2, D4, D5, D7, E3, E4, E6, E7, E8
Testing on Linux:
Total MEMORY difference: 91687922 / 91842285 [-0.17%]
Total CPU difference: 18583.88999999882 / 18496.399999998957 [+0.47%]
Testing on Windows:
Total MEMORY difference: 56416091 / 56352926 [+0.11%]
Total CPU difference: 16889.448264999115 / 16707.785100499124 [+1.09%]
There are following differences in images found by testdiff:
http://occt-tests/CR26675-master-occt-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26675-master-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html
http://occt-tests/CR26675-master-products-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26675-master-products-64/Windows-64-VC10/diff-Windows-64-VC10.html
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Wed Sep 23 17:14:16 2015 +0300
0026675: Eliminate normalization of coordinates in ApproxInt package
Normalization has been eliminated.
Additionally,
1. Some methods of AppDef_Compute and ApproxInt_MultiLine classes have become inline (for speeding up performance).
2. Interfaces of AppDef_Compute::Parametrization(...) and BRepAlgo_BooleanOperations::SetApproxParameters() methods have been changed.
3. Overloaded methods for ApproxInt_Approx::SetParameters(...), TopOpeBRepTool_GeomTool::GetTolerances(...) and TopOpeBRepTool_GeomTool::SetTolerances(...) have been removed (because some fields of these classes are not used more).
4. Lost comments have been added in BRepApprox_TheMultiLineOfApprox.hxx and GeomInt_TheMultiLineOfWLApprox.hxx files.
5. Some fields have been deleted from ApproxInt_MultiLine class. Kept members have become constant.
6. Interface of ksection DRAW-command has been changed.
7. Some code fragments have been rewritten to make them easier.
Adjusting some test case according to their new behavior.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Wed Sep 23 17:14:16 2015 +0300
0026675: Eliminate normalization of coordinates in ApproxInt package
Normalization has been eliminated.
Additionally,
1. Some methods of AppDef_Compute and ApproxInt_MultiLine classes have become inline (for speeding up performance).
2. Interfaces of AppDef_Compute::Parametrization(...) and BRepAlgo_BooleanOperations::SetApproxParameters() methods have been changed.
3. Overloaded methods for ApproxInt_Approx::SetParameters(...), TopOpeBRepTool_GeomTool::GetTolerances(...) and TopOpeBRepTool_GeomTool::SetTolerances(...) have been removed (because some fields of these classes are not used more).
4. Lost comments have been added in BRepApprox_TheMultiLineOfApprox.hxx and GeomInt_TheMultiLineOfWLApprox.hxx files.
5. Some fields have been deleted from ApproxInt_MultiLine class. Kept members have become constant.
6. Interface of ksection DRAW-command has been changed.
7. Some code fragments have been rewritten to make them easier.
Adjusting some test case according to their new behavior.
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Dear Mikhail,
Please review the current state of CR26675_1 branch.
Please review the current state of CR26675_1 branch.
Reviewed.
Dear Commenter 1,
Branch CR26675_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 13 (13 on master)
Windows: 0 (0 on master)
products component :
Linux: 39 (39 on master)
Windows: 0 (0 on master)
Regressions/Differences:
http://occt-tests/CR26675-1-master-occt-64/Debian70-64/summary.html
http://occt-tests/CR26675-1-master-occt-64/Windows-64-VC10/summary.html
boolean bcommon_complex C7
bugs modalg_4 bug712_1
draft angle J5 (Linux only)
http://occt-tests/CR26675-1-master-products-64/Debian70-64/summary.html
http://occt-tests/CR26675-1-master-products-64/Windows-64-VC10/summary.html
parasolid doc_1 A1, A3
parasolid doc_3 A4, A8 (Linux only), B1, B2, B3, B7, B9, C3 (Linux only), D2, D4, D5, D7, E3, E4, E6, E7, E8
Testing cases:
Not needed
Testing on Linux:
Total MEMORY difference: 92052145 / 92310145 [-0.28%]
Total CPU difference: 19901.789999999393 / 19801.909999999796 [+0.50%]
Testing on Windows:
Total MEMORY difference: 57994283 / 57924750 [+0.12%]
Total CPU difference: 18169.35846949886 / 18202.867484298957 [-0.18%]
There are following differences in images found by testdiff:
http://occt-tests/CR26675-1-master-occt-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26675-1-master-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html
http://occt-tests/CR26675-1-master-products-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26675-1-master-products-64/Windows-64-VC10/diff-Windows-64-VC10.html
Branch CR26675_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
Number of compiler warnings:
occt component:
Linux: 13 (13 on master)
Windows: 0 (0 on master)
products component :
Linux: 39 (39 on master)
Windows: 0 (0 on master)
Regressions/Differences:
http://occt-tests/CR26675-1-master-occt-64/Debian70-64/summary.html
http://occt-tests/CR26675-1-master-occt-64/Windows-64-VC10/summary.html
boolean bcommon_complex C7
bugs modalg_4 bug712_1
draft angle J5 (Linux only)
http://occt-tests/CR26675-1-master-products-64/Debian70-64/summary.html
http://occt-tests/CR26675-1-master-products-64/Windows-64-VC10/summary.html
parasolid doc_1 A1, A3
parasolid doc_3 A4, A8 (Linux only), B1, B2, B3, B7, B9, C3 (Linux only), D2, D4, D5, D7, E3, E4, E6, E7, E8
Testing cases:
Not needed
Testing on Linux:
Total MEMORY difference: 92052145 / 92310145 [-0.28%]
Total CPU difference: 19901.789999999393 / 19801.909999999796 [+0.50%]
Testing on Windows:
Total MEMORY difference: 57994283 / 57924750 [+0.12%]
Total CPU difference: 18169.35846949886 / 18202.867484298957 [-0.18%]
There are following differences in images found by testdiff:
http://occt-tests/CR26675-1-master-occt-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26675-1-master-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html
http://occt-tests/CR26675-1-master-products-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26675-1-master-products-64/Windows-64-VC10/diff-Windows-64-VC10.html
Dear nbv,
Branch [archived branch] has been rejected due to:
- regressions/differences/improvements
- differences in images
Branch [archived branch] has been rejected due to:
- regressions/differences/improvements
- differences in images
Branch [archived branch] has been created by Author.
[revision removed]
No new revisions were added by this update.
[revision removed]
No new revisions were added by this update.
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Dear Mikhail,
Please review the current state of CR26675_2 branch (for OCCT) and CR26675_prod branch (for OCCT-products).
Please review the current state of CR26675_2 branch (for OCCT) and CR26675_prod branch (for OCCT-products).
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Mon Oct 26 13:53:29 2015 +0300
Changes in accordance with the last remarks
[revision removed]
Detailed log of new commits:
Author: Author
Date: Mon Oct 26 13:53:29 2015 +0300
Changes in accordance with the last remarks
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
I have answered separately.
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Tue Oct 27 09:35:48 2015 +0300
0026675: Eliminate normalization of coordinates in ApproxInt package
Normalization has been eliminated.
Additionally,
1. Some methods of AppDef_Compute and ApproxInt_MultiLine classes have become inline (for speeding up performance).
2. Interfaces of AppDef_Compute::Parametrization(...) and BRepAlgo_BooleanOperations::SetApproxParameters() methods have been changed.
3. Overloaded methods for ApproxInt_Approx::SetParameters(...), TopOpeBRepTool_GeomTool::GetTolerances(...) and TopOpeBRepTool_GeomTool::SetTolerances(...) have been removed (because some fields of these classes are not used more).
4. Lost comments have been added in BRepApprox_TheMultiLineOfApprox.hxx and GeomInt_TheMultiLineOfWLApprox.hxx files.
5. Some fields have been deleted from ApproxInt_MultiLine class. Kept members have become constant.
6. Interface of ksection DRAW-command has been changed.
7. Some code fragments have been rewritten to make them easier.
8. Function CleanWline(...) has been added in IntPatch_Intersection.cxx file. See comments in code for detail description.
Adjusting some test case according to their new behavior.
Creation test case for this issue.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Tue Oct 27 09:35:48 2015 +0300
0026675: Eliminate normalization of coordinates in ApproxInt package
Normalization has been eliminated.
Additionally,
1. Some methods of AppDef_Compute and ApproxInt_MultiLine classes have become inline (for speeding up performance).
2. Interfaces of AppDef_Compute::Parametrization(...) and BRepAlgo_BooleanOperations::SetApproxParameters() methods have been changed.
3. Overloaded methods for ApproxInt_Approx::SetParameters(...), TopOpeBRepTool_GeomTool::GetTolerances(...) and TopOpeBRepTool_GeomTool::SetTolerances(...) have been removed (because some fields of these classes are not used more).
4. Lost comments have been added in BRepApprox_TheMultiLineOfApprox.hxx and GeomInt_TheMultiLineOfWLApprox.hxx files.
5. Some fields have been deleted from ApproxInt_MultiLine class. Kept members have become constant.
6. Interface of ksection DRAW-command has been changed.
7. Some code fragments have been rewritten to make them easier.
8. Function CleanWline(...) has been added in IntPatch_Intersection.cxx file. See comments in code for detail description.
Adjusting some test case according to their new behavior.
Creation test case for this issue.
Dear Mikhail,
Please review the current state of CR26675_3 branch (for OCCT) and CR26675_prod branch (for OCCT-products).
Please review the current state of CR26675_3 branch (for OCCT) and CR26675_prod branch (for OCCT-products).
Reviewed.
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branches CR26675_3 and CR26675_prod have been rebased to the current masters
Dear Commenter 1,
Branch CR26675_3 from occt git-repository (and CR26675_prod from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
[revision removed]
Number of compiler warnings:
occt component:
Linux: 1 (1 on master)
Windows: 0 (0 on master)
products component :
Linux: 39 (39 on master)
Windows: 0 (0 on master)
Regressions/Differences:
http://occt-tests/CR26675-3-CR26675-prod-occt-64/Debian70-64/summary.html
http://occt-tests/CR26675-3-CR26675-prod-occt-64/Windows-64-VC10/summary.html
bugs modalg_4 bug712_1
draft angle J5 (Linux only)
http://occt-tests/CR26675-3-CR26675-prod-products-64/Debian70-64/summary.html
parasolid doc_3 A8, B1, E8
Testing cases:
Not needed
Testing on Linux:
occt component:
Total MEMORY difference: 91888562 / 92275166 [-0.42%]
Total CPU difference: 19779.419999999816 / 19704.679999999687 [+0.38%]
products component:
Total MEMORY difference: 26089416 / 26177906 [-0.34%]
Total CPU difference: 7193.189999999998 / 7329.500000000014 [-1.86%]
Testing on Windows:
occt component:
Total MEMORY difference: 57950399 / 57878952 [+0.12%]
Total CPU difference: 18285.267212499075 / 18110.811294199037 [+0.96%]
products component:
Total MEMORY difference: 17117105 / 17161034 [-0.26%]
Total CPU difference: 5642.727771099962 / 5657.423065299974 [-0.26%]
There are following differences in images found by testdiff:
http://occt-tests/CR26675-3-CR26675-prod-occt-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26675-3-CR26675-prod-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html
boolean bsection N4
boolean bcommon_complex C7
boolean bcut_complex Q1
chamfer dist_angle_complex A3
chamfer dist_dist_complex A3
blend buildevol B3
offset with_intersect_80 N7
bugs modalg_4 bug697_4
bugs modalg_4 bug697_7
bugs modalg_4 bug697_8
bugs modalg_1 bug10232
bugs modalg_3 bug25842
http://occt-tests/CR26675-3-CR26675-prod-products-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26675-3-CR26675-prod-products-64/Windows-64-VC10/diff-Windows-64-VC10.html
parasolid read D3
Branch CR26675_3 from occt git-repository (and CR26675_prod from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
[revision removed]
[revision removed]
Number of compiler warnings:
occt component:
Linux: 1 (1 on master)
Windows: 0 (0 on master)
products component :
Linux: 39 (39 on master)
Windows: 0 (0 on master)
Regressions/Differences:
http://occt-tests/CR26675-3-CR26675-prod-occt-64/Debian70-64/summary.html
http://occt-tests/CR26675-3-CR26675-prod-occt-64/Windows-64-VC10/summary.html
bugs modalg_4 bug712_1
draft angle J5 (Linux only)
http://occt-tests/CR26675-3-CR26675-prod-products-64/Debian70-64/summary.html
parasolid doc_3 A8, B1, E8
Testing cases:
Not needed
Testing on Linux:
occt component:
Total MEMORY difference: 91888562 / 92275166 [-0.42%]
Total CPU difference: 19779.419999999816 / 19704.679999999687 [+0.38%]
products component:
Total MEMORY difference: 26089416 / 26177906 [-0.34%]
Total CPU difference: 7193.189999999998 / 7329.500000000014 [-1.86%]
Testing on Windows:
occt component:
Total MEMORY difference: 57950399 / 57878952 [+0.12%]
Total CPU difference: 18285.267212499075 / 18110.811294199037 [+0.96%]
products component:
Total MEMORY difference: 17117105 / 17161034 [-0.26%]
Total CPU difference: 5642.727771099962 / 5657.423065299974 [-0.26%]
There are following differences in images found by testdiff:
http://occt-tests/CR26675-3-CR26675-prod-occt-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26675-3-CR26675-prod-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html
boolean bsection N4
boolean bcommon_complex C7
boolean bcut_complex Q1
chamfer dist_angle_complex A3
chamfer dist_dist_complex A3
blend buildevol B3
offset with_intersect_80 N7
bugs modalg_4 bug697_4
bugs modalg_4 bug697_7
bugs modalg_4 bug697_8
bugs modalg_1 bug10232
bugs modalg_3 bug25842
http://occt-tests/CR26675-3-CR26675-prod-products-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26675-3-CR26675-prod-products-64/Windows-64-VC10/diff-Windows-64-VC10.html
parasolid read D3
Dear nbv,
Branches CR26675_3 and CR26675_prod have been rejected due to:
- regressions/differences/improvements
- differences in images
Branches CR26675_3 and CR26675_prod have been rejected due to:
- regressions/differences/improvements
- differences in images
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Wed Oct 28 13:03:09 2015 +0300
0026675: Eliminate normalization of coordinates in ApproxInt package
Normalization has been eliminated.
Additionally,
1. Some methods of AppDef_Compute and ApproxInt_MultiLine classes have become inline (for speeding up performance).
2. Interfaces of AppDef_Compute::Parametrization(...) and BRepAlgo_BooleanOperations::SetApproxParameters() methods have been changed.
3. Overloaded methods for ApproxInt_Approx::SetParameters(...), TopOpeBRepTool_GeomTool::GetTolerances(...) and TopOpeBRepTool_GeomTool::SetTolerances(...) have been removed (because some fields of these classes are not used more).
4. Lost comments have been added in BRepApprox_TheMultiLineOfApprox.hxx and GeomInt_TheMultiLineOfWLApprox.hxx files.
5. Some fields have been deleted from ApproxInt_MultiLine class. Kept members have become constant.
6. Interface of ksection DRAW-command has been changed.
7. Some code fragments have been rewritten to make them easier.
8. Function CleanWline(...) has been added in IntPatch_Intersection.cxx file. See comments in code for detail description.
Adjusting some test case according to their new behavior.
Creation test case for this issue.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Wed Oct 28 13:03:09 2015 +0300
0026675: Eliminate normalization of coordinates in ApproxInt package
Normalization has been eliminated.
Additionally,
1. Some methods of AppDef_Compute and ApproxInt_MultiLine classes have become inline (for speeding up performance).
2. Interfaces of AppDef_Compute::Parametrization(...) and BRepAlgo_BooleanOperations::SetApproxParameters() methods have been changed.
3. Overloaded methods for ApproxInt_Approx::SetParameters(...), TopOpeBRepTool_GeomTool::GetTolerances(...) and TopOpeBRepTool_GeomTool::SetTolerances(...) have been removed (because some fields of these classes are not used more).
4. Lost comments have been added in BRepApprox_TheMultiLineOfApprox.hxx and GeomInt_TheMultiLineOfWLApprox.hxx files.
5. Some fields have been deleted from ApproxInt_MultiLine class. Kept members have become constant.
6. Interface of ksection DRAW-command has been changed.
7. Some code fragments have been rewritten to make them easier.
8. Function CleanWline(...) has been added in IntPatch_Intersection.cxx file. See comments in code for detail description.
Adjusting some test case according to their new behavior.
Creation test case for this issue.
Dear Mikhail,
Please review CR26675_4 branch (for OCCT). Product-branch (CR26675_prod) kept without changes (we are waiting results of next testing).
Please review CR26675_4 branch (for OCCT). Product-branch (CR26675_prod) kept without changes (we are waiting results of next testing).
Reviewed.
Dear Commenter 1,
Branch CR26675_4 from occt git-repository (and CR26675_prod from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
[revision removed]
[revision removed]
Number of compiler warnings:
occt component :
Linux: 1 (1 on master)
Windows: 0 (0 on master)
products component :
Linux: 39 (39 on master)
Windows: 0 (0 on master)
Regressions/Differences/Improvements:
http://occt-tests/CR26675-4-CR26675-products-64/Debian70-64/summary.html
parasolid doc_3 A8, B1, E8
Testing cases:
http://occt-tests/CR26675-4-CR26675-occt-64/Debian70-64/bugs/modalg_6/bug26675.html
http://occt-tests/CR26675-4-CR26675-occt-64/Windows-64-VC10/bugs/modalg_6/bug26675.html
bugs modalg_6 bug26675
Testing on Linux:
occt component :
Total MEMORY difference: 92131524 / 92221362 [-0.10%]
Total CPU difference: 19514.98999999985 / 19449.21999999968 [+0.34%]
products component :
Total MEMORY difference: 26141203 / 26177906 [-0.14%]
Total CPU difference: 7486.709999999977 / 7329.500000000014 [+2.14%]
Testing on Windows:
occt component :
Total MEMORY difference: 57951289 / 57880642 [+0.12%]
Total CPU difference: 18125.397387699017 / 18110.858094499035 [+0.08%]
products component :
Total MEMORY difference: 17115441 / 17161034 [-0.27%]
Total CPU difference: 5573.588127899973 / 5657.423065299974 [-1.48%]
There are following differences in images found by testdiff.
http://occt-tests/CR26675-4-CR26675-occt-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26675-4-CR26675-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html
IMAGE boolean bsection N4: N4.png differs
IMAGE boolean bsection M9: M9.png differs
IMAGE chamfer dist_angle_complex A3: A3.png differs
IMAGE chamfer dist_dist_complex A3: A3.png differs
IMAGE draft angle K9: K9.png differs
IMAGE blend buildevol B3: B3.png differs
IMAGE offset with_intersect_80 N7: N7.png differs
IMAGE bugs modalg_4 bug697_4: bug697_4_Driver1_Viewer1_View1.png differs
IMAGE bugs modalg_4 bug697_7: bug697_7_Driver1_Viewer1_View1.png differs
IMAGE bugs modalg_4 bug697_8: bug697_8_Driver1_Viewer1_View1.png differs
IMAGE bugs modalg_1 bug10232: bug10232.png differs
IMAGE bugs moddata_2 bug271: bug271.png differs
IMAGE bugs moddata_2 bug431: bug431.png differs
http://occt-tests/CR26675-4-CR26675-products-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26675-4-CR26675-products-64/Windows-64-VC10/diff-Windows-64-VC10.html
IMAGE parasolid read D3: D3.png differs
Branch CR26675_4 from occt git-repository (and CR26675_prod from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
[revision removed]
[revision removed]
Number of compiler warnings:
occt component :
Linux: 1 (1 on master)
Windows: 0 (0 on master)
products component :
Linux: 39 (39 on master)
Windows: 0 (0 on master)
Regressions/Differences/Improvements:
http://occt-tests/CR26675-4-CR26675-products-64/Debian70-64/summary.html
parasolid doc_3 A8, B1, E8
Testing cases:
http://occt-tests/CR26675-4-CR26675-occt-64/Debian70-64/bugs/modalg_6/bug26675.html
http://occt-tests/CR26675-4-CR26675-occt-64/Windows-64-VC10/bugs/modalg_6/bug26675.html
bugs modalg_6 bug26675
Testing on Linux:
occt component :
Total MEMORY difference: 92131524 / 92221362 [-0.10%]
Total CPU difference: 19514.98999999985 / 19449.21999999968 [+0.34%]
products component :
Total MEMORY difference: 26141203 / 26177906 [-0.14%]
Total CPU difference: 7486.709999999977 / 7329.500000000014 [+2.14%]
Testing on Windows:
occt component :
Total MEMORY difference: 57951289 / 57880642 [+0.12%]
Total CPU difference: 18125.397387699017 / 18110.858094499035 [+0.08%]
products component :
Total MEMORY difference: 17115441 / 17161034 [-0.27%]
Total CPU difference: 5573.588127899973 / 5657.423065299974 [-1.48%]
There are following differences in images found by testdiff.
http://occt-tests/CR26675-4-CR26675-occt-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26675-4-CR26675-occt-64/Windows-64-VC10/diff-Windows-64-VC10.html
IMAGE boolean bsection N4: N4.png differs
IMAGE boolean bsection M9: M9.png differs
IMAGE chamfer dist_angle_complex A3: A3.png differs
IMAGE chamfer dist_dist_complex A3: A3.png differs
IMAGE draft angle K9: K9.png differs
IMAGE blend buildevol B3: B3.png differs
IMAGE offset with_intersect_80 N7: N7.png differs
IMAGE bugs modalg_4 bug697_4: bug697_4_Driver1_Viewer1_View1.png differs
IMAGE bugs modalg_4 bug697_7: bug697_7_Driver1_Viewer1_View1.png differs
IMAGE bugs modalg_4 bug697_8: bug697_8_Driver1_Viewer1_View1.png differs
IMAGE bugs modalg_1 bug10232: bug10232.png differs
IMAGE bugs moddata_2 bug271: bug271.png differs
IMAGE bugs moddata_2 bug431: bug431.png differs
http://occt-tests/CR26675-4-CR26675-products-64/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR26675-4-CR26675-products-64/Windows-64-VC10/diff-Windows-64-VC10.html
IMAGE parasolid read D3: D3.png differs
Dear nbv,
Branch [archived branch] has been rejected due to:
- regressions/differences/improvements
- differences in images
Branch [archived branch] has been rejected due to:
- regressions/differences/improvements
- differences in images
Dear testers,
Please change test script in "parasolid doc_3 A8, B1, E8" (change TODOs only - without reference data). The reason is the results of these test cases are already BAD. The results are not changed by sight.
About differences in images.
1. boolean bsection N4 and boolean bsection M9.
These are regression. However, the reason is described in bugs #0026814 and #0026815. After the fix, result should be returned to OK state.
Now, we should apply these image as new reference data.
2. chamfer dist_angle_complex A3 and chamfer dist_dist_complex A3.
They are not regressions or improvements. Try the following script.
Draw[]> test chamfer dist_angle_complex A3
Draw[]> explode result f
Draw[]> don result_22
Draw[]> checkshape result_22
#BRepCheck_SelfIntersectingWire
Change of isoline for self-intersecting face is normal phenomenon (by the reason of small shifted edge).
More over,
Draw[]> isos result_22 100
After that, we can see out-boundared isolines even on MASTER.
Now we should apply these image as new reference data.
3. draft angle K9
The picture is the same as on MASTER. Some isolines are shifted only. New result is OK.
4. blend buildevol B3
It is IMPROVEMENT.
5. offset with_intersect_80 N7
New result is better than on MASTER (scattered faces are absent).
6. bugs modalg_4 bug697*
They are really IMPROVEMENT.
7. bugs modalg_1 bug10232
One vertex has been eliminated correctly. Another vertex has been added (it is worse). However, the picture has become symmetrical. It says about more stable work of the algorithm. We should apply these image as new reference data.
8. parasolid read D3
The reason has been described in bug #0026817. Now we should apply this image as new reference data.
9. bugs moddata_2 bug271 and bugs moddata_2 bug431
Location of some poles of curve has been changed. It is the result of new approximation algorithm. New pictures are OK.
Please change test script in "parasolid doc_3 A8, B1, E8" (change TODOs only - without reference data). The reason is the results of these test cases are already BAD. The results are not changed by sight.
About differences in images.
1. boolean bsection N4 and boolean bsection M9.
These are regression. However, the reason is described in bugs #0026814 and #0026815. After the fix, result should be returned to OK state.
Now, we should apply these image as new reference data.
2. chamfer dist_angle_complex A3 and chamfer dist_dist_complex A3.
They are not regressions or improvements. Try the following script.
Draw[]> test chamfer dist_angle_complex A3
Draw[]> explode result f
Draw[]> don result_22
Draw[]> checkshape result_22
#BRepCheck_SelfIntersectingWire
Change of isoline for self-intersecting face is normal phenomenon (by the reason of small shifted edge).
More over,
Draw[]> isos result_22 100
After that, we can see out-boundared isolines even on MASTER.
Now we should apply these image as new reference data.
3. draft angle K9
The picture is the same as on MASTER. Some isolines are shifted only. New result is OK.
4. blend buildevol B3
It is IMPROVEMENT.
5. offset with_intersect_80 N7
New result is better than on MASTER (scattered faces are absent).
6. bugs modalg_4 bug697*
They are really IMPROVEMENT.
7. bugs modalg_1 bug10232
One vertex has been eliminated correctly. Another vertex has been added (it is worse). However, the picture has become symmetrical. It says about more stable work of the algorithm. We should apply these image as new reference data.
8. parasolid read D3
The reason has been described in bug #0026817. Now we should apply this image as new reference data.
9. bugs moddata_2 bug271 and bugs moddata_2 bug431
Location of some poles of curve has been changed. It is the result of new approximation algorithm. New pictures are OK.
Dear Mikhail,
Please review above said.
Please review above said.
Reviewed.
Dear Commenter 1,
following test cases are corrected and pushed to new branch CR26675_prod of products git-repository
parasolid doc_3 A8, B1, E8
following test cases are corrected and pushed to new branch CR26675_prod of products git-repository
parasolid doc_3 A8, B1, E8
Dear Commenter 1,
Branch CR26675_4 is TESTED.
Branch CR26675_4 is TESTED.
Additional general remark.
After the fix, new approximation algorithm has became more sensitive to the non-uniform distribution of points (when distance between two neighbor points chops around).
In order to fight this "discomfort", function CleanWline(...) has been added in IntPatch_Intersection.cxx file. However, it should be made more universal.
Theoretically, it must reject points of any Walking-line (not only on surfaces with seam and not only near to the vertices).
Next step for fighting this problem is fix for bug#25929.
More over, we should think of methods for seeking additional points of Walking line in strongly discharged places (e.g. IntWalk_PWalking::SeekAdditionalPoints(...) method and analogical).
After the fix, new approximation algorithm has became more sensitive to the non-uniform distribution of points (when distance between two neighbor points chops around).
In order to fight this "discomfort", function CleanWline(...) has been added in IntPatch_Intersection.cxx file. However, it should be made more universal.
Theoretically, it must reject points of any Walking-line (not only on surfaces with seam and not only near to the vertices).
Next step for fighting this problem is fix for bug#25929.
More over, we should think of methods for seeking additional points of Walking line in strongly discharged places (e.g. IntWalk_PWalking::SeekAdditionalPoints(...) method and analogical).
It is decided to stop this fix.
Another idea should be put in it.
Instead of eliminating normalization of all spaces, it is decided to normalize only parametric spaces using resolution values.
Another idea should be put in it.
Instead of eliminating normalization of all spaces, it is decided to normalize only parametric spaces using resolution values.
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Fri Oct 30 13:33:51 2015 +0300
0026675: Eliminate normalization of coordinates in ApproxInt package
Normalization has been eliminated (draft version).
[revision removed]
Detailed log of new commits:
Author: Author
Date: Fri Oct 30 13:33:51 2015 +0300
0026675: Eliminate normalization of coordinates in ApproxInt package
Normalization has been eliminated (draft version).
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Thu Nov 5 16:49:48 2015 +0300
0026675: Eliminate normalization of coordinates in ApproxInt package
[revision removed]
Detailed log of new commits:
Author: Author
Date: Thu Nov 5 16:49:48 2015 +0300
0026675: Eliminate normalization of coordinates in ApproxInt package
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Author.
[revision removed]
[revision removed]
Dear Commenter 1,
Fix for this issue has been created and pushed to the branch CR26431RI. The problem has been fixed completely.
New test case for this issue has already been created and pushed to the branch CR26431RI.
Result of its testing is OK (see 0026431:0048650):
http://occt-tests/CR26431RI-CR26431-final-prod-occt-64/Debian70-64/bugs/modalg_6/bug26675.html
http://occt-tests/CR26431RI-CR26431-final-prod-occt-64/Windows-64-VC10/bugs/modalg_6/bug26675.html
Consequently, we should close this issue.
Fix for this issue has been created and pushed to the branch CR26431RI. The problem has been fixed completely.
New test case for this issue has already been created and pushed to the branch CR26431RI.
Result of its testing is OK (see 0026431:0048650):
http://occt-tests/CR26431RI-CR26431-final-prod-occt-64/Debian70-64/bugs/modalg_6/bug26675.html
http://occt-tests/CR26431RI-CR26431-final-prod-occt-64/Windows-64-VC10/bugs/modalg_6/bug26675.html
Consequently, we should close this issue.
Tested together with #26431
Testing cases:
bugs modalg_6 bug26675 - OK
http://occt-tests/CR26431RI-CR26431-final-prod-occt-64/Debian70-64/bugs/modalg_6/bug26675.html
http://occt-tests/CR26431RI-CR26431-final-prod-occt-64/Windows-64-VC10/bugs/modalg_6/bug26675.html
Testing cases:
bugs modalg_6 bug26675 - OK
http://occt-tests/CR26431RI-CR26431-final-prod-occt-64/Debian70-64/bugs/modalg_6/bug26675.html
http://occt-tests/CR26431RI-CR26431-final-prod-occt-64/Windows-64-VC10/bugs/modalg_6/bug26675.html
Integrated with fix for 25431
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Related records
- #0025929 · related to · closedMake Approx_ComputeLine algorithm adaptive
- #0026740 · related to · assignedModeling Algorithms - Incorrect result of blend operation in "blend simple X4" test case
- #0026777 · related to · closedIncorrect result of intersection part of bsection operation
- #0026814 · related to · closedStrange result of Boolean operation in "boolean bsection N2" test case
- #0026815 · related to · closedThe algorithm of sharing edges in Boolean operation should be improved
- #0026816 · related to · newBoolean operation produces invalid shape in "bugs modalg_5 bug25838" test case
- #0026752 · related to · closedWrong intersection curve in bugs modalg_5 bug24585_1 test case
- #0026417 · related to · closedInvalid result in "bugs modalg_5 bug25319_1, bug25319_2" test cases
- #0000602 · related to · assignedException during filet creation if it cross samedge of cylinder.