Archived issue #0027226
Mesh - Meshing algorithm fails if edge curves has small defects (bends, loops...)
Description
Meshing algorithms used in BRepMesh package do not seem to take in account vertex or edge tolerances when takes tesselation points of edge curve for using them as triangulation nodes. Sometimes it leads to bad diagnistic (ex. SelfIntersectingWire) and failure of meshing algorithm if curve has small defects (bends, loops) covered by tolerance edge or vertex.
This problem appears for branch CR27108 (branch dedicated modification of GCPnts_TangentialDeflection algorithm) and causes regression of tests:
bugs modalg_2 bug397
bugs moddata_1 bug22759 (Linux only)
mesh standard_incmesh C7, V3
mesh standard_incmesh_parallel C7, V3
mesh standard_mesh C7, V3
mesh standard_shading V3
This problem appears for branch CR27108 (branch dedicated modification of GCPnts_TangentialDeflection algorithm) and causes regression of tests:
bugs modalg_2 bug397
bugs moddata_1 bug22759 (Linux only)
mesh standard_incmesh C7, V3
mesh standard_incmesh_parallel C7, V3
mesh standard_mesh C7, V3
mesh standard_shading V3
Steps to reproduce
Run tests
Public activity
10 archived notes
Participants are labeled by their role within this record.
Note that this issue is regression, hence set to high priority
Branch [archived branch] has been created by Commenter 1.
[revision removed]
Detailed log of new commits:
Author: Commenter 1
Date: Fri Apr 1 14:30:15 2016 +0300
0027226: Meshing algorithm fails if edge curves has small defects (bends, loops...)
Take into account tolerance of edge vertices in order to reduce density of discretization points.
[revision removed]
Detailed log of new commits:
Author: Commenter 1
Date: Fri Apr 1 14:30:15 2016 +0300
0027226: Meshing algorithm fails if edge curves has small defects (bends, loops...)
Take into account tolerance of edge vertices in order to reduce density of discretization points.
Dear Mikhail,
Branch [archived branch] has been created on top of the CR27108 one and implements functionality refusing discretization points that are within tolerance of edge vertices.
Could you please review.
Branch [archived branch] has been created on top of the CR27108 one and implements functionality refusing discretization points that are within tolerance of edge vertices.
Could you please review.
Dependency of #0027239 has been added due to indicate relations in Git repository in order to test the bump of patches #27108 + #0027226 + #0027239.
There is no other relation of this issue to #0027239.
Note that branch #0027239 should be used for test campaign as far as it contains all mentioned patches.
There is no other relation of this issue to #0027239.
Note that branch #0027239 should be used for test campaign as far as it contains all mentioned patches.
Reviewed.
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Dear Commenter 2,
Branch CR27226 was rebased on current master of occt git-repository.
[revision removed]
Branch CR27226 was rebased on current master of occt git-repository.
[revision removed]
Dear Commenter 2,
Branch CR27226 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MacOS : 0 (0 on master)
products component :
Linux: 72 (72 on master)
Windows: 4 (4 on master)
MacOS : 1131
Regressions/Differences/Improvements:
http://occt-tests/CR27226-master-OCCT/Debian70-64/summary.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/summary.html
Improvements:
bugs modalg_2 bug287,bug397
mesh advanced_incmesh A9, B1, B2, B3, B7
mesh advanced_incmesh_parallel A9, B1, B2, B3, B7
mesh advanced_mesh A9, B1, B2, B3, B7
mesh advanced_shading A9, B1, B2, B3, B7
mesh standard_incmesh C7, V3
mesh standard_incmesh_parallel C7, V3
mesh standard_mesh C7, V3
mesh standard_shading V3
Failed:
bugs iges buc60820_2, buc60823, bug306
bugs mesh bug25307
mesh standard_incmesh U2, W5, W7
mesh standard_incmesh_parallel U2, W5,W7
mesh standard_mesh U2, W5, W7
mesh standard_shading U2, W4, W5
http://occt-tests/CR27226-master-Products/Debian70-64/summary.html
http://occt-tests/CR27226-master-Products/Windows-64-VC10/summary.html
Failed:
bfit pnt100 A1, A2, A3, A5, A6
bfit pnt1000 A1, A2, A3, A4, A5, A6
bfit pnt10000 A1, A2, A3, A4, A5, A6
omf advanced_meshcut M4, U3, Z1, Z2, Z3
omf advanced_meshfuse F4, O1, O2, O3, ZD4
Testing cases:
http://occt-tests/CR27226-master-OCCT/Debian70-64/bugs/modalg_2/bug397.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/bugs/modalg_2/bug397.html
bugs modalg_2 bug397 : IMPROVEMENT
http://occt-tests/CR27226-master-OCCT/Debian70-64/bugs/moddata_1/bug22759.html
bugs moddata_1 bug22759 (Linux only)
http://occt-tests/CR27226-master-OCCT/Debian70-64/mesh/standard_incmesh/C7.html
http://occt-tests/CR27226-master-OCCT/Debian70-64/mesh/standard_incmesh/V3.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/mesh/standard_incmesh/C7.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/mesh/standard_incmesh/V3.html
mesh standard_incmesh C7, V3: IMPROVEMENT
http://occt-tests/CR27226-master-OCCT/Debian70-64/mesh/standard_incmesh_parallel/C7.html
http://occt-tests/CR27226-master-OCCT/Debian70-64/mesh/standard_incmesh_parallel/V3.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/mesh/standard_incmesh_parallel/C7.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/mesh/standard_incmesh_parallel/V3.html
mesh standard_incmesh_parallel C7, V3: IMPROVEMENT
http://occt-tests/CR27226-master-OCCT/Debian70-64/mesh/standard_mesh/C7.html
http://occt-tests/CR27226-master-OCCT/Debian70-64/mesh/standard_mesh/V3.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/mesh/standard_mesh/C7.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/mesh/standard_mesh/V3.html
mesh standard_mesh C7, V3: IMPROVEMENT
http://occt-tests/CR27226-master-OCCT/Debian70-64/mesh/standard_shading/V3.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/mesh/standard_shading/V3.html
mesh standard_shading V3: IMPROVEMENT
Testing on Linux:
occt component :
Total MEMORY difference: 87230117 / 87953611 [-0.82%]
Total CPU difference: 18994.920000000013 / 19052.160000000054 [-0.30%]
products component :
Total MEMORY difference: 27404469 / 27481797 [-0.28%]
Total CPU difference: 5293.859999999987 / 5313.84999999999 [-0.38%]
Testing on Windows:
occt component :
Total MEMORY difference: 54931828 / 55049509 [-0.21%]
Total CPU difference: 17853.752846398787 / 18156.97199009883 [-1.67%]
products component :
Total MEMORY difference: 18669157 / 18690889 [-0.12%]
Total CPU difference: 5157.25265909995 / 5258.325706999966 [-1.92%]
There are following differences in images found by testdiff.
http://occt-tests/CR27226-master-OCCT/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/diff-Windows-64-VC10.html
IMAGE mesh standard_incmesh B9: B9.png differs
IMAGE mesh standard_incmesh S8: S8.png differs
IMAGE mesh standard_shading W7: W7.png differs
IMAGE mesh standard_shading S8: S8.png differs
IMAGE bugs step bug5708: bug5708.png differs
IMAGE bugs vis buc60858: buc60858.png differs
IMAGE bugs modalg_2 bug21415: bug21415.png differs
http://occt-tests/CR27226-master-Products/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR27226-master-Products/Windows-64-VC10/diff-Windows-64-VC10.html
IMAGE parasolid read D3: D3.png differs
Branch CR27226 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
[revision removed]
Number of compiler warnings:
occt component :
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MacOS : 0 (0 on master)
products component :
Linux: 72 (72 on master)
Windows: 4 (4 on master)
MacOS : 1131
Regressions/Differences/Improvements:
http://occt-tests/CR27226-master-OCCT/Debian70-64/summary.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/summary.html
Improvements:
bugs modalg_2 bug287,bug397
mesh advanced_incmesh A9, B1, B2, B3, B7
mesh advanced_incmesh_parallel A9, B1, B2, B3, B7
mesh advanced_mesh A9, B1, B2, B3, B7
mesh advanced_shading A9, B1, B2, B3, B7
mesh standard_incmesh C7, V3
mesh standard_incmesh_parallel C7, V3
mesh standard_mesh C7, V3
mesh standard_shading V3
Failed:
bugs iges buc60820_2, buc60823, bug306
bugs mesh bug25307
mesh standard_incmesh U2, W5, W7
mesh standard_incmesh_parallel U2, W5,W7
mesh standard_mesh U2, W5, W7
mesh standard_shading U2, W4, W5
http://occt-tests/CR27226-master-Products/Debian70-64/summary.html
http://occt-tests/CR27226-master-Products/Windows-64-VC10/summary.html
Failed:
bfit pnt100 A1, A2, A3, A5, A6
bfit pnt1000 A1, A2, A3, A4, A5, A6
bfit pnt10000 A1, A2, A3, A4, A5, A6
omf advanced_meshcut M4, U3, Z1, Z2, Z3
omf advanced_meshfuse F4, O1, O2, O3, ZD4
Testing cases:
http://occt-tests/CR27226-master-OCCT/Debian70-64/bugs/modalg_2/bug397.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/bugs/modalg_2/bug397.html
bugs modalg_2 bug397 : IMPROVEMENT
http://occt-tests/CR27226-master-OCCT/Debian70-64/bugs/moddata_1/bug22759.html
bugs moddata_1 bug22759 (Linux only)
http://occt-tests/CR27226-master-OCCT/Debian70-64/mesh/standard_incmesh/C7.html
http://occt-tests/CR27226-master-OCCT/Debian70-64/mesh/standard_incmesh/V3.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/mesh/standard_incmesh/C7.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/mesh/standard_incmesh/V3.html
mesh standard_incmesh C7, V3: IMPROVEMENT
http://occt-tests/CR27226-master-OCCT/Debian70-64/mesh/standard_incmesh_parallel/C7.html
http://occt-tests/CR27226-master-OCCT/Debian70-64/mesh/standard_incmesh_parallel/V3.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/mesh/standard_incmesh_parallel/C7.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/mesh/standard_incmesh_parallel/V3.html
mesh standard_incmesh_parallel C7, V3: IMPROVEMENT
http://occt-tests/CR27226-master-OCCT/Debian70-64/mesh/standard_mesh/C7.html
http://occt-tests/CR27226-master-OCCT/Debian70-64/mesh/standard_mesh/V3.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/mesh/standard_mesh/C7.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/mesh/standard_mesh/V3.html
mesh standard_mesh C7, V3: IMPROVEMENT
http://occt-tests/CR27226-master-OCCT/Debian70-64/mesh/standard_shading/V3.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/mesh/standard_shading/V3.html
mesh standard_shading V3: IMPROVEMENT
Testing on Linux:
occt component :
Total MEMORY difference: 87230117 / 87953611 [-0.82%]
Total CPU difference: 18994.920000000013 / 19052.160000000054 [-0.30%]
products component :
Total MEMORY difference: 27404469 / 27481797 [-0.28%]
Total CPU difference: 5293.859999999987 / 5313.84999999999 [-0.38%]
Testing on Windows:
occt component :
Total MEMORY difference: 54931828 / 55049509 [-0.21%]
Total CPU difference: 17853.752846398787 / 18156.97199009883 [-1.67%]
products component :
Total MEMORY difference: 18669157 / 18690889 [-0.12%]
Total CPU difference: 5157.25265909995 / 5258.325706999966 [-1.92%]
There are following differences in images found by testdiff.
http://occt-tests/CR27226-master-OCCT/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR27226-master-OCCT/Windows-64-VC10/diff-Windows-64-VC10.html
IMAGE mesh standard_incmesh B9: B9.png differs
IMAGE mesh standard_incmesh S8: S8.png differs
IMAGE mesh standard_shading W7: W7.png differs
IMAGE mesh standard_shading S8: S8.png differs
IMAGE bugs step bug5708: bug5708.png differs
IMAGE bugs vis buc60858: buc60858.png differs
IMAGE bugs modalg_2 bug21415: bug21415.png differs
http://occt-tests/CR27226-master-Products/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR27226-master-Products/Windows-64-VC10/diff-Windows-64-VC10.html
IMAGE parasolid read D3: D3.png differs
Dear oan,
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 Commenter 1.
[revision removed]
Detailed log of new commits:
Author: Commenter 1
Date: Thu Nov 7 12:25:57 2019 +0300
0027226: Meshing algorithm fails if edge curves has small defects (bends, loops...)
Take into account tolerance of edge vertices in order to reduce density of discretization points.
[revision removed]
Detailed log of new commits:
Author: Commenter 1
Date: Thu Nov 7 12:25:57 2019 +0300
0027226: Meshing algorithm fails if edge curves has small defects (bends, loops...)
Take into account tolerance of edge vertices in order to reduce density of discretization points.
Related records