View Issue Details

IDProjectCategoryView StatusLast Update
0027226Open CASCADEOCCT:Meshpublic2020-08-28 15:45
ReporterifvAssigned Tooan  
PriorityhighSeverityminor 
Status assignedResolutionopen 
Target VersionUnscheduled 
Summary0027226: Mesh - Meshing algorithm fails if edge curves has small defects (bends, loops...)
DescriptionMeshing 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
 
Steps To ReproduceRun tests
TagsNo tags attached.
Test case number

Relationships

parent of 0027239 closedbugmaster Open CASCADE Meshing algorithm creates wrong triangulation 

Activities

abv

2016-03-11 16:13

manager   ~0051554

Note that this issue is regression, hence set to high priority

git

2016-04-01 15:13

administrator   ~0052294

Branch CR27226 has been created by oan.

SHA-1: 6d9f7546a6d551d06cf619ee20376a83aed9c60b


Detailed log of new commits:

Author: oan
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.

oan

2016-04-01 15:21

developer   ~0052297

Dear Mikhail,

branch CR27226 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.

oan

2016-04-01 16:00

developer   ~0052301

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.

msv

2016-04-26 11:02

developer   ~0053575

Reviewed.

git

2016-04-26 11:40

administrator   ~0053583

Branch CR27226 has been updated forcibly by mkv.

SHA-1: 495cb861dce528f5606527f9b7892015a9828bc9

mkv

2016-04-26 16:25

tester   ~0053604

Dear BugMaster,
Branch CR27226 was rebased on current master of occt git-repository.
SHA-1: 495cb861dce528f5606527f9b7892015a9828bc9

mkv

2016-04-26 16:26

tester   ~0053605

Dear BugMaster,
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.
SHA-1: 495cb861dce528f5606527f9b7892015a9828bc9

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

mkv

2016-04-26 16:26

tester   ~0053606

Dear oan,
Branch CR27226 has been rejected due to:
- regressions/differences/improvements
- differences in images

git

2019-11-07 13:03

administrator   ~0088776

Branch CR27226_1 has been created by oan.

SHA-1: 9cd0c77e152ba53ff76b4d2c2a1e9de7e7614244


Detailed log of new commits:

Author: oan
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.

Issue History

Date Modified Username Field Change
2016-03-04 12:26 ifv New Issue
2016-03-04 12:26 ifv Assigned To => msv
2016-03-04 12:28 ifv Description Updated
2016-03-04 15:30 msv Assigned To msv => oan
2016-03-11 16:13 abv Note Added: 0051554
2016-03-11 16:13 abv Priority normal => high
2016-04-01 15:12 oan Status new => assigned
2016-04-01 15:13 git Note Added: 0052294
2016-04-01 15:21 oan Note Added: 0052297
2016-04-01 15:21 oan Assigned To oan => msv
2016-04-01 15:21 oan Status assigned => resolved
2016-04-01 15:55 oan Relationship added parent of 0027239
2016-04-01 16:00 oan Note Added: 0052301
2016-04-26 11:02 msv Note Added: 0053575
2016-04-26 11:02 msv Assigned To msv => bugmaster
2016-04-26 11:02 msv Status resolved => reviewed
2016-04-26 11:28 mkv Assigned To bugmaster => mkv
2016-04-26 11:40 git Note Added: 0053583
2016-04-26 16:25 mkv Note Added: 0053604
2016-04-26 16:26 mkv Note Added: 0053605
2016-04-26 16:26 mkv Note Added: 0053606
2016-04-26 16:26 mkv Assigned To mkv => oan
2016-04-26 16:26 mkv Status reviewed => assigned
2016-10-26 18:10 oan Target Version 7.1.0 => 7.2.0
2017-07-20 12:43 oan Target Version 7.2.0 => 7.3.0
2018-02-25 21:09 abv Target Version 7.3.0 => 7.4.0
2019-09-04 17:56 kgv Summary Meshing algorithm fails if edge curves has small defects (bends, loops...) => Mesh - Meshing algorithm fails if edge curves has small defects (bends, loops...)
2019-09-06 16:15 oan Target Version 7.4.0 => 7.5.0
2019-11-07 13:03 git Note Added: 0088776
2020-08-28 15:45 oan Target Version 7.5.0 => Unscheduled