MantisBT - Open CASCADE
View Issue Details
0026106Open CASCADE[OCCT] OCCT:Meshpublic2015-04-20 14:032019-05-09 12:01
oan 
bugmaster 
normalfeature 
verifiedfixed 
 
[OCCT] 7.4.0* 
Not needed
0026106: BRepMesh - revision of data model
BRepMesh operates on data structure representing set of UV nodes and links between them forming discretization model of a face expected to be meshed. Internal logic of mesher keeps information about subset of nodes associated to the particular edge, however such organization of data does not give possibility to resolve cases connected with existing geometrical problems of source shape like self intersections of edge’s curve or loops on face’s wires. Introduction of data model with face – wires – edges relations will give possibility to implement preprocessing tools mentioned below and will separate algorithm from data making source code easy for maintenance.
Not needed
Changes in public API:

The following auxiliary units used by BRepMesh have been introduced:
IMeshData - defines abstract discrete data model interface
IMeshTools - defines abstract tool interfaces and their relationship
BRepMeshData - keeps implementation of IMeshData abstract discrete data model interface

BRepMesh unit:
Provides implementation of tools defined by IMeshTools.
New class BRepMesh_Context provides default toolset for model processing and mesh generation.

BRepMesh_FaceAttribute has been removed.

Functionality of BRepMesh_FastDiscret and BRepMesh_FastDiscretFace has been separated on several auxiliary logically isolated classes including main ones, BRepMesh_EdgeDiscret and BRepMesh_FaceDiscret.

BRepMesh_EdgeTessellator has been renamed to BRepMesh_CurveTessellator due to logical consistency.

Definition of BRepMesh_FastDiscret::Parameters has been moved to separate common structure IMeshTools_Parameters.

BRepMesh_IncrementalMesh entry point for BRepMesh component uses IMeshTools_Parameters instead of BRepMesh_FastDiscret::Parameters.
No tags attached.
related to 0023111verified bugmaster Open CASCADE Incorrect mesh 
related to 0025837verified bugmaster Open CASCADE Bad triangulation when IGES loaded in meters 
related to 0024084assigned oan Open CASCADE Additional tool for resolving 2d loops on discretized wires should be implemented in BRepMesh 
related to 0025633verified bugmaster Open CASCADE Improve quality of mesh in case of sphere 
related to 0025062verified bugmaster Open CASCADE BRepMesh should decrease deflection for edges of suspected wires only 
related to 0020827assigned oan Open CASCADE Problem of displaying in SHADING mode  
related to 0023837new oan Open CASCADE BRepMesh shouldn't trust the SameParameter flag 
related to 0026889verified bugmaster Community Very poor mesh result from shape 
related to 0026965verified bugmaster Community BRepMesh_IncrementalMesh hangs, and consumes infinite memory 
related to 0025249feedback oan Open CASCADE Some problematic cases from mesh tests have been uncovered during refactoring of BRepMesh 
related to 0023795verified bugmaster Open CASCADE Performance regression of meshing 
related to 0022687assigned oan Open CASCADE Triangulation is made with errors on mesh test. 
parent of 0025061new oan Open CASCADE BRepMesh should skip internal wires with self intersections to produce mesh for the shape anyway 
parent of 0030056new oan Open CASCADE Rename fail statuses entered in BRepMesh algorith in the issue 0026106 
parent of 0030167verified bugmaster Open CASCADE Face is displayed wrongly in OCCT 3D-viewer 
parent of 0030329verified bugmaster Open CASCADE Move BRepMesh_IncAllocator to NCollection package 
parent of 0030345verified bugmaster Open CASCADE [REGRESSION] Mesh, BRepMesh_CurveTessellator - GCPnts_TangentialDeflection throws Standard_ConstructionError 
parent of 0030347verified bugmaster Open CASCADE [REGRESSION] Mesh, BRepMesh_ModelPostProcessor - NCollection_Array1 throws Standard_RangeError 
parent of 0030497verified apn Open CASCADE [REGRESSION] Mesh - wrong Poly_Polygon3D within local selection of located shape 
related to 0027845verified bugmaster Open CASCADE BRepMesh produces invalid result on spline cavity 
related to 0025588feedback drazmyslovich Community BRepMesh_ShapeTool::FindUV check for 2d points to be the same is inconsistent with ShapeAnalysis_Wire::CheckLacking 
related to 0027693verified bugmaster Open CASCADE BRepMesh: fine edge tessellation leads to excess number of triangles along the whole U or V stripes 
related to 0026074assigned oan Open CASCADE BRepMesh_IncrementalMesh meshes a specific shape for a long time 
related to 0029316verified bugmaster Open CASCADE Test case bugs mesh bug25806 works unstable 
related to 0029751verified bugmaster Open CASCADE Incremental mesh produces different meshes for windows and linux (debian 8) 
related to 0029962verified bugmaster Open CASCADE Master version of BRepMesh does not respect obvious details despite of specified deflection 
related to 0026716verified bugmaster Community Mesher cannot create a mesh of brep model due to ShapeFix_Wire::FixShifted() 
related to 0030322verified bugmaster Open CASCADE Remove DRAW-command "mesh" as useless 
Not all the children of this issue are yet resolved or closed.
doc OCC-20161006-v0.1-UpdatedArchitectureOfBRepMeshComponent.doc (1,297,408) 2016-10-13 17:02
https://tracker.dev.opencascade.org/
doc OCC-20161006-v0.2-UpdatedArchitectureOfBRepMeshComponent.doc (1,324,544) 2016-11-24 12:11
https://tracker.dev.opencascade.org/
png bugs_moddata_1_bug22761.png (15,577) 2017-07-25 10:50
https://tracker.dev.opencascade.org/
png mesh_standard_shading_W5.png (46,594) 2017-07-25 10:50
https://tracker.dev.opencascade.org/
png mesh_standard_shading_X2.png (59,908) 2017-07-25 10:50
https://tracker.dev.opencascade.org/
png bugs_vis_buc60887.png (16,362) 2017-07-25 10:51
https://tracker.dev.opencascade.org/
png bugs_vis_buc60858.png (29,577) 2017-07-25 10:51
https://tracker.dev.opencascade.org/
png bugs_moddata_2_bug22746_2.png (26,540) 2017-07-25 10:51
https://tracker.dev.opencascade.org/
png bugs_modalg_2_bug20827.png (6,587) 2017-07-25 10:51
https://tracker.dev.opencascade.org/
png bugs_moddata_2_bug22746_3.png (18,533) 2017-07-25 10:52
https://tracker.dev.opencascade.org/
png mesh_standard_shading_C9.png (44,217) 2017-07-25 10:52
https://tracker.dev.opencascade.org/
png mesh_standard_shading_U2.png (27,573) 2017-07-25 10:52
https://tracker.dev.opencascade.org/
png mesh_standard_shading_U7.png (65,275) 2017-07-25 10:52
https://tracker.dev.opencascade.org/
png mesh_standard_shading_W2.png (35,225) 2017-07-25 10:53
https://tracker.dev.opencascade.org/
png mesh_standard_shading_W4.png (42,961) 2017-07-25 10:53
https://tracker.dev.opencascade.org/
png mesh_standard_shading_X1.png (35,951) 2017-07-25 10:53
https://tracker.dev.opencascade.org/
png mesh_standard_shading_X4.png (47,097) 2017-07-25 10:53
https://tracker.dev.opencascade.org/
doc OCC-20161006-v0.3-UpdatedArchitectureOfBRepMeshComponent.doc (1,079,296) 2018-07-18 18:22
https://tracker.dev.opencascade.org/
png bad_mesh.PNG (152,436) 2018-07-27 11:54
https://tracker.dev.opencascade.org/
doc OCC-20161006-v0.4-UpdatedArchitectureOfBRepMeshComponent.doc (1,079,808) 2018-08-02 16:10
https://tracker.dev.opencascade.org/
doc OCC-20161006-v0.5-UpdatedArchitectureOfBRepMeshComponent.doc (1,095,168) 2018-08-06 11:12
https://tracker.dev.opencascade.org/
? upgrade.md (1,788) 2018-08-06 11:12
https://tracker.dev.opencascade.org/
png pipe_specidic_L5.PNG (76,109) 2018-09-24 13:09
https://tracker.dev.opencascade.org/
Issue History
2015-04-20 14:03oanNew Issue
2015-04-20 14:03oanAssigned To => oan
2016-04-07 11:42oanSeverityminor => feature
2016-09-06 18:55oanRelationship addedrelated to 0027845
2016-10-12 16:28gitNote Added: 0058625
2016-10-12 16:29oanAssigned Tooan => abv
2016-10-12 16:29oanStatusnew => feedback
2016-10-13 16:54bugmasterProjectOpen CASCADE => Internal
2016-10-13 17:02oanFile Added: OCC-20161006-v0.1-UpdatedArchitectureOfBRepMeshComponent.doc
2016-10-13 21:37abvSummaryIntroduction of data model => BRepMesh - revision of data model
2016-10-14 11:41gitNote Added: 0058714
2016-10-14 14:18gitNote Added: 0058719
2016-10-14 14:21gitNote Added: 0058720
2016-10-17 11:25oanRelationship addedrelated to 0023111
2016-10-17 11:25oanRelationship addedrelated to 0027158
2016-10-17 11:26oanRelationship addedparent of 0025061
2016-10-17 11:27oanRelationship addedrelated to 0025837
2016-10-17 11:28oanRelationship addedrelated to 0024084
2016-10-17 11:28oanRelationship addedrelated to 0026291
2016-10-17 11:30oanRelationship addedrelated to 0025633
2016-10-17 11:30oanRelationship addedrelated to 0025062
2016-10-17 11:30oanRelationship addedrelated to 0020827
2016-10-17 11:31oanRelationship addedrelated to 0023837
2016-10-25 17:42oanRelationship addedrelated to 0025588
2016-10-26 16:34gitNote Added: 0059182
2016-10-26 16:50oanNote Added: 0059186
2016-10-26 16:53oanAssigned Toabv => msv
2016-10-26 16:53oanStatusfeedback => resolved
2016-10-26 16:53oanSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=15078#r15078
2016-11-01 13:52oanRelationship addedrelated to 0026889
2016-11-01 13:53oanRelationship addedrelated to 0026965
2016-11-01 14:04oanRelationship addedrelated to 0025249
2016-11-01 14:10oanRelationship addedrelated to 0023795
2016-11-01 17:11gitNote Added: 0059714
2016-11-01 19:21msvNote Added: 0059727
2016-11-01 19:21msvAssigned Tomsv => oan
2016-11-01 19:21msvStatusresolved => assigned
2016-11-02 11:04gitNote Added: 0059742
2016-11-02 11:06oanNote Added: 0059743
2016-11-02 11:06oanAssigned Tooan => msv
2016-11-02 11:06oanStatusassigned => resolved
2016-11-02 14:17msvNote Added: 0059783
2016-11-02 14:17msvAssigned Tomsv => oan
2016-11-02 14:17msvStatusresolved => assigned
2016-11-02 15:22oanNote Added: 0059790
2016-11-02 15:48gitNote Added: 0059793
2016-11-02 16:01oanNote Added: 0059794
2016-11-02 16:01oanStatusassigned => resolved
2016-11-02 16:01oanAssigned Tooan => msv
2016-11-09 13:59oanTarget VersionUnscheduled => 7.2.0
2016-11-21 10:37msvNote Added: 0060592
2016-11-21 10:37msvAssigned Tomsv => oan
2016-11-21 10:37msvStatusresolved => assigned
2016-11-21 12:47oanNote Added: 0060611
2016-11-21 12:47oanAssigned Tooan => msv
2016-11-21 12:47oanStatusassigned => feedback
2016-11-21 14:49msvAssigned Tomsv => oan
2016-11-21 14:49msvStatusfeedback => assigned
2016-11-23 18:11gitNote Added: 0060746
2016-11-23 18:21oanNote Added: 0060747
2016-11-23 18:21oanAssigned Tooan => msv
2016-11-23 18:21oanStatusassigned => resolved
2016-11-24 12:00oanFile Added: OCC-20161006-v0.2-UpdatedArchitectureOfBRepMeshComponent.doc
2016-11-24 12:11oanFile Deleted: OCC-20161006-v0.2-UpdatedArchitectureOfBRepMeshComponent.doc
2016-11-24 12:11oanFile Added: OCC-20161006-v0.2-UpdatedArchitectureOfBRepMeshComponent.doc
2016-11-25 09:43msvAssigned Tomsv => epa
2016-11-25 09:44msvNote Added: 0060769
2017-01-23 15:14gitNote Added: 0062903
2017-02-03 10:46oanNote Added: 0063381
2017-02-15 06:41epaAssigned Toepa => pdn
2017-04-20 14:35oanNote Added: 0065393
2017-07-20 12:43oanTarget Version7.2.0 => 7.3.0
2017-07-20 15:15gitNote Added: 0068498
2017-07-20 15:48gitNote Added: 0068500
2017-07-20 16:14gitNote Added: 0068502
2017-07-20 17:11gitNote Added: 0068510
2017-07-20 17:35gitNote Added: 0068511
2017-07-20 18:38gitNote Added: 0068513
2017-07-20 18:56gitNote Added: 0068514
2017-07-21 10:34gitNote Added: 0068528
2017-07-21 10:46gitNote Added: 0068530
2017-07-21 11:26gitNote Added: 0068537
2017-07-21 11:39gitNote Added: 0068538
2017-07-21 15:04oanRelationship addedrelated to 0028936
2017-07-21 16:05oanNote Added: 0068566
2017-07-21 16:41msvNote Added: 0068590
2017-07-21 16:55oanNote Added: 0068595
2017-07-24 15:42oanNote Added: 0068630
2017-07-24 15:44oanNote Added: 0068632
2017-07-24 15:44oanNote Edited: 0068632bug_revision_view_page.php?bugnote_id=68632#r17165
2017-07-24 15:45oanNote Edited: 0068632bug_revision_view_page.php?bugnote_id=68632#r17166
2017-07-24 17:38bugmasterNote Edited: 0068632bug_revision_view_page.php?bugnote_id=68632#r17171
2017-07-24 17:38bugmasterNote Edited: 0068632bug_revision_view_page.php?bugnote_id=68632#r17172
2017-07-24 17:40bugmasterNote Edited: 0068632bug_revision_view_page.php?bugnote_id=68632#r17173
2017-07-24 17:46bugmasterNote Edited: 0068632bug_revision_view_page.php?bugnote_id=68632#r17174
2017-07-24 17:46bugmasterNote Edited: 0068632bug_revision_view_page.php?bugnote_id=68632#r17175
2017-07-25 10:50oanFile Added: bugs_moddata_1_bug22761.png
2017-07-25 10:50oanFile Added: mesh_standard_shading_W5.png
2017-07-25 10:50oanFile Added: mesh_standard_shading_X2.png
2017-07-25 10:51oanFile Added: bugs_vis_buc60887.png
2017-07-25 10:51oanFile Added: bugs_vis_buc60858.png
2017-07-25 10:51oanFile Added: bugs_moddata_2_bug22746_2.png
2017-07-25 10:51oanFile Added: bugs_modalg_2_bug20827.png
2017-07-25 10:52oanFile Added: bugs_moddata_2_bug22746_3.png
2017-07-25 10:52oanFile Added: mesh_standard_shading_C9.png
2017-07-25 10:52oanFile Added: mesh_standard_shading_U2.png
2017-07-25 10:52oanFile Added: mesh_standard_shading_U7.png
2017-07-25 10:53oanFile Added: mesh_standard_shading_W2.png
2017-07-25 10:53oanFile Added: mesh_standard_shading_W4.png
2017-07-25 10:53oanFile Added: mesh_standard_shading_X1.png
2017-07-25 10:53oanFile Added: mesh_standard_shading_X4.png
2017-07-25 10:55oanNote Added: 0068658
2017-07-25 11:18gitNote Added: 0068660
2017-08-11 11:52oanRelationship addedrelated to 0027693
2017-08-11 11:56oanRelationship addedrelated to 0023513
2017-08-11 12:27oanRelationship addedrelated to 0026074
2017-09-27 10:54oanRelationship addedrelated to 0029149
2017-10-06 16:20oanRelationship addedrelated to 0028194
2017-10-09 13:05gitNote Added: 0071300
2017-10-11 14:00oanRelationship addedrelated to 0029205
2017-11-13 11:23oanRelationship addedrelated to 0029316
2017-12-05 12:15msvTarget Version7.3.0 => 7.4.0*
2018-01-16 11:44oanNote Added: 0073428
2018-04-11 14:55oanRelationship addedrelated to 0029689
2018-04-11 15:49oanRelationship addedrelated to 0029685
2018-05-10 14:19oanRelationship addedrelated to 0029751
2018-06-09 00:39gitNote Added: 0076689
2018-06-09 12:31gitNote Added: 0076692
2018-06-09 12:56gitNote Added: 0076693
2018-06-09 20:33msvNote Added: 0076718
2018-06-09 20:36msvNote Added: 0076719
2018-06-09 23:08oanNote Added: 0076720
2018-06-09 23:50msvNote Added: 0076721
2018-06-13 12:16oanNote Added: 0076737
2018-06-14 12:11oanNote Added: 0076766
2018-06-14 16:02msvNote Added: 0076772
2018-06-18 19:21oanNote Added: 0076824
2018-06-18 19:21oanAssigned Topdn => msv
2018-06-18 19:21oanStatusresolved => feedback
2018-06-19 09:07msvNote Added: 0076827
2018-07-09 13:00oanNote Added: 0077390
2018-07-09 13:44oanNote Edited: 0077390bug_revision_view_page.php?bugnote_id=77390#r19446
2018-07-15 16:29oanRelationship addedrelated to 0029962
2018-07-17 17:04oanRelationship addedrelated to 0029964
2018-07-18 18:22oanFile Added: OCC-20161006-v0.3-UpdatedArchitectureOfBRepMeshComponent.doc
2018-07-27 11:42msvNote Added: 0078076
2018-07-27 11:42msvAssigned Tomsv => oan
2018-07-27 11:42msvStatusfeedback => assigned
2018-07-27 11:53msvFile Added: badshape.brep
2018-07-27 11:54msvFile Added: bad_mesh.PNG
2018-07-27 11:55msvNote Added: 0078078
2018-07-27 11:56msvNote Added: 0078079
2018-07-27 12:06oanNote Added: 0078080
2018-07-27 12:29oanNote Added: 0078082
2018-07-27 12:30oanNote Edited: 0078082bug_revision_view_page.php?bugnote_id=78082#r19599
2018-07-27 12:47oanNote Added: 0078083
2018-07-27 12:48oanNote Added: 0078084
2018-07-27 13:04oanNote Added: 0078085
2018-07-27 13:28oanNote Edited: 0078083bug_revision_view_page.php?bugnote_id=78083#r19601
2018-07-27 13:29oanNote Edited: 0078083bug_revision_view_page.php?bugnote_id=78083#r19602
2018-07-27 14:26oanNote Added: 0078087
2018-07-27 14:32oanNote Added: 0078089
2018-07-27 14:46oanNote Added: 0078091
2018-07-27 14:50oanNote Added: 0078092
2018-07-27 14:56oanNote Added: 0078093
2018-07-27 14:59oanNote Added: 0078094
2018-07-27 15:05oanNote Added: 0078096
2018-07-27 15:10oanNote Added: 0078097
2018-07-27 15:12oanNote Added: 0078098
2018-07-29 06:48gitNote Added: 0078167
2018-07-29 06:49oanNote Added: 0078168
2018-07-29 06:51oanNote Added: 0078169
2018-07-29 06:52oanNote Added: 0078170
2018-07-30 11:39oanNote Edited: 0078169bug_revision_view_page.php?bugnote_id=78169#r19617
2018-08-01 12:45gitNote Added: 0078261
2018-08-01 13:19gitNote Added: 0078262
2018-08-01 13:21oanNote Added: 0078263
2018-08-01 13:21oanAssigned Tooan => msv
2018-08-01 13:21oanStatusassigned => feedback
2018-08-01 15:19msvNote Added: 0078264
2018-08-01 15:27gitNote Added: 0078265
2018-08-01 15:40oanAdditional Information Updatedbug_revision_view_page.php?rev_id=19641#r19641
2018-08-01 15:44oanNote Added: 0078266
2018-08-01 15:44oanAssigned Tomsv => oan
2018-08-01 15:44oanStatusfeedback => resolved
2018-08-01 15:44oanAssigned Tooan => msv
2018-08-01 15:49oanAdditional Information Updatedbug_revision_view_page.php?rev_id=19642#r19642
2018-08-01 16:17msvNote Added: 0078270
2018-08-01 16:17msvAssigned Tomsv => oan
2018-08-01 16:17msvStatusresolved => assigned
2018-08-01 17:44gitNote Added: 0078277
2018-08-01 17:56gitNote Added: 0078280
2018-08-01 17:57oanNote Added: 0078281
2018-08-01 18:24msvNote Added: 0078287
2018-08-01 18:36kgvNote Added: 0078289
2018-08-01 18:37kgvNote Edited: 0078289bug_revision_view_page.php?bugnote_id=78289#r19644
2018-08-01 18:47msvNote Added: 0078290
2018-08-02 11:35oanNote Added: 0078309
2018-08-02 11:35oanNote Edited: 0078309bug_revision_view_page.php?bugnote_id=78309#r19646
2018-08-02 11:56oanNote Added: 0078311
2018-08-02 15:07msvRelationship addedparent of 0030008
2018-08-02 16:10oanFile Added: OCC-20161006-v0.4-UpdatedArchitectureOfBRepMeshComponent.doc
2018-08-02 16:10gitNote Added: 0078326
2018-08-02 17:06gitNote Added: 0078330
2018-08-02 17:17oanNote Added: 0078332
2018-08-02 17:17oanAssigned Tooan => msv
2018-08-02 17:17oanStatusassigned => feedback
2018-08-02 17:20oanNote Added: 0078333
2018-08-02 17:44msvAssigned Tomsv => nbv
2018-08-02 17:44msvStatusfeedback => assigned
2018-08-03 17:22gitNote Added: 0078367
2018-08-06 11:12oanFile Added: OCC-20161006-v0.5-UpdatedArchitectureOfBRepMeshComponent.doc
2018-08-06 11:12oanFile Added: upgrade.md
2018-08-06 13:34gitNote Added: 0078420
2018-08-08 10:35gitNote Added: 0078483
2018-08-08 11:47gitNote Added: 0078484
2018-08-08 17:56gitNote Added: 0078502
2018-08-09 16:32gitNote Added: 0078538
2018-08-10 12:31gitNote Added: 0078552
2018-08-10 12:53gitNote Added: 0078553
2018-08-10 13:31gitNote Added: 0078554
2018-08-10 16:33nbvRelationship addedparent of 0030056
2018-08-13 10:01gitNote Added: 0078577
2018-08-14 14:23kgvNote Added: 0078591
2018-08-14 14:23kgvNote Edited: 0078591bug_revision_view_page.php?bugnote_id=78591#r19723
2018-08-14 18:08gitNote Added: 0078610
2018-08-15 17:17gitNote Added: 0078630
2018-08-15 17:21gitNote Added: 0078632
2018-08-16 09:32gitNote Added: 0078642
2018-08-16 10:04nbvRelationship addedparent of 0030069
2018-08-16 10:54gitNote Added: 0078643
2018-08-16 10:57gitNote Added: 0078644
2018-08-20 16:33gitNote Added: 0078692
2018-08-20 16:36gitNote Added: 0078693
2018-08-21 09:38nbvRelationship addedrelated to 0026716
2018-08-21 11:07gitNote Added: 0078703
2018-08-21 13:21nbvRelationship addedrelated to 0030074
2018-08-21 17:51gitNote Added: 0078709
2018-08-22 22:11abkRelationship addedrelated to 0030079
2018-08-24 15:58gitNote Added: 0078761
2018-08-27 10:00gitNote Added: 0078787
2018-08-30 12:22gitNote Added: 0078855
2018-08-30 15:43nbvRelationship addedrelated to 0030098
2018-08-31 11:12oanNote Added: 0078878
2018-08-31 11:17kgvNote Added: 0078879
2018-08-31 11:17kgvNote Edited: 0078879bug_revision_view_page.php?bugnote_id=78879#r19840
2018-08-31 11:28oanNote Added: 0078880
2018-09-03 09:28gitNote Added: 0078914
2018-09-03 17:47gitNote Added: 0078951
2018-09-04 12:08nbvRelationship addedrelated to 0030109
2018-09-04 13:33gitNote Added: 0078984
2018-09-10 17:03gitNote Added: 0079097
2018-09-17 09:13gitNote Added: 0079204
2018-09-20 12:11gitNote Added: 0079272
2018-09-20 13:26gitNote Added: 0079277
2018-09-24 13:09nbvFile Added: pipe_specidic_L5.PNG
2018-09-24 13:47nbvNote Added: 0079359
2018-09-27 12:14nbvRelationship addedparent of 0030167
2018-10-02 16:23nbvNote Added: 0079607
2018-10-11 17:59oanRelationship addedrelated to 0030234
2018-10-11 18:19oanRelationship deletedrelated to 0030234
2018-10-19 15:46gitNote Added: 0080126
2018-10-19 15:54gitNote Added: 0080128
2018-10-23 12:40msvNote Added: 0080228
2018-10-25 12:28gitNote Added: 0080306
2018-10-25 12:44msvAssigned Tonbv => msv
2018-10-25 12:44msvStatusassigned => resolved
2018-10-25 12:47msvNote Added: 0080307
2018-10-25 12:47msvAssigned Tomsv => bugmaster
2018-10-25 12:47msvStatusresolved => reviewed
2018-10-26 15:40apnTest case number => Not needed
2018-10-26 15:40apnNote Added: 0080386
2018-10-26 15:40apnStatusreviewed => tested
2018-10-29 13:50abvNote Added: 0080453
2018-10-29 13:50abvAssigned Tobugmaster => oan
2018-10-29 13:50abvStatustested => feedback
2018-10-29 13:54abvRelationship addedrelated to 0022687
2018-10-29 14:03oanNote Added: 0080454
2018-10-29 14:13abvNote Edited: 0080453bug_revision_view_page.php?bugnote_id=80453#r20236
2018-10-29 14:16abvNote Added: 0080455
2018-10-29 15:10oanNote Added: 0080457
2018-10-29 15:11oanNote Added: 0080458
2018-10-29 15:23oanNote Added: 0080460
2018-10-29 15:29oanNote Added: 0080462
2018-10-29 15:39oanNote Added: 0080463
2018-10-29 15:39oanNote Edited: 0080463bug_revision_view_page.php?bugnote_id=80463#r20238
2018-10-29 15:41oanAssigned Tooan => nbv
2018-10-29 15:43oanNote Edited: 0080457bug_revision_view_page.php?bugnote_id=80457#r20240
2018-10-29 15:45oanNote Edited: 0080463bug_revision_view_page.php?bugnote_id=80463#r20241
2018-10-29 15:46oanNote Edited: 0080463bug_revision_view_page.php?bugnote_id=80463#r20242
2018-10-29 16:28abvNote Added: 0080465
2018-10-29 17:16oanNote Added: 0080472
2018-10-29 17:22nbvNote Added: 0080473
2018-10-29 17:23abvNote Added: 0080474
2018-10-29 17:30oanNote Added: 0080476
2018-10-29 19:04oanNote Edited: 0080476bug_revision_view_page.php?bugnote_id=80476#r20244
2018-10-31 14:24gitNote Added: 0080550
2018-10-31 18:05nbvNote Added: 0080558
2018-11-01 09:32gitNote Added: 0080567
2018-11-01 09:35nbvAssigned Tonbv => msv
2018-11-01 09:35nbvStatusfeedback => resolved
2018-11-01 09:38nbvRelationship addedrelated to 0030322
2018-11-01 12:27msvNote Added: 0080572
2018-11-01 13:11nbvNote Added: 0080575
2018-11-01 13:47nbvRelationship addedrelated to 0030328
2018-11-01 15:49nbvAssigned Tomsv => bugmaster
2018-11-01 15:49nbvStatusresolved => reviewed
2018-11-01 15:50nbvNote Added: 0080588
2018-11-01 15:50msvNote Added: 0080589
2018-11-01 15:50msvAssigned Tobugmaster => abv
2018-11-01 15:50msvStatusreviewed => feedback
2018-11-01 16:25nbvRelationship addedparent of 0030329
2018-11-02 14:28abvNote Added: 0080619
2018-11-02 14:28abvAssigned Toabv => bugmaster
2018-11-02 14:28abvStatusfeedback => reviewed
2018-11-02 14:34bugmasterNote Added: 0080624
2018-11-02 14:34bugmasterStatusreviewed => tested
2018-11-02 18:23oanRelationship addedrelated to 0025628
2018-11-04 13:01bugmasterChangeset attached => occt master 7bd071ed
2018-11-04 13:01bugmasterStatustested => verified
2018-11-04 13:01bugmasterResolutionopen => fixed
2018-11-04 14:08gitNote Added: 0080696
2018-11-04 14:08gitNote Added: 0080708
2018-11-04 14:08gitNote Added: 0080710
2018-11-04 14:08gitNote Added: 0080711
2018-11-04 14:09gitNote Added: 0080720
2018-11-04 14:09gitNote Added: 0080721
2018-11-04 14:09gitNote Added: 0080722
2018-11-04 14:09gitNote Added: 0080723
2018-11-04 14:09gitNote Added: 0080724
2018-11-04 14:09gitNote Added: 0080725
2018-11-04 14:09gitNote Added: 0080726
2018-11-06 17:44kgvRelationship addedparent of 0030345
2018-11-06 18:41kgvRelationship addedparent of 0030347
2018-11-06 18:42oanRelationship addedrelated to 0028379
2019-01-29 13:22kgvRelationship addedparent of 0030458
2019-02-14 10:27abvFile Deleted: badshape.brep
2019-02-14 10:38abvNote Added: 0082173
2019-02-14 12:02bugmasterProjectInternal => Open CASCADE
2019-02-15 09:32ndsRelationship addedrelated to 0030497
2019-02-15 13:08kgvRelationship replacedparent of 0030497

Notes
(0058625)
git   
2016-10-12 16:28   
Branch CR26106 has been created by oan.

SHA-1: ce8323e0afdab0b0c2b376a5f2ab2a6e20f86629


Detailed log of new commits:

Author: oan
Date: Wed Oct 12 14:47:46 2016 +0300

    0026106: Introduction of data model
    
    Completely refactored BRepMesh component
(0058714)
git   
2016-10-14 11:41   
Branch CR26106 has been updated by oan.

SHA-1: eeb72f91c9adad687603d80dac43cda81119be63


Detailed log of new commits:

Author: oan
Date: Fri Oct 14 11:41:10 2016 +0300

    Cosmetic alignment changes

(0058719)
git   
2016-10-14 14:18   
Branch CR26106 has been updated by oan.

SHA-1: 77a2d201d242f7aa5020312af6f5626588669d1b


Detailed log of new commits:

Author: oan
Date: Fri Oct 14 14:18:17 2016 +0300

    Comments and cosmetic changes

(0058720)
git   
2016-10-14 14:21   
Branch CR26106 has been updated forcibly by oan.

SHA-1: f368c00b300b344f8263638dfb0623f53d03257b
(0059182)
git   
2016-10-26 16:34   
Branch CR26106_origin has been created by oan.

SHA-1: 4cf30a881607ef65567194b475f66a04ba933bec


Detailed log of new commits:

Author: oan
Date: Wed Oct 26 13:07:18 2016 +0300

    0027693: BRepMesh: fine edge tessellation leads to excess number of triangles along the whole U or V stripes
    
    Initialize parameters map using CN intervals in case of NURBS.
    NURBS range splitter: remove code duplications; refuse addition of a single internal vertex in case of single interval along U and V
    Separate range splitter for surfaces of revolution implementing old approach using U and V parameters taken from discrete edges.

Author: oan
Date: Wed Oct 26 13:04:08 2016 +0300

    Fix advanced use cases and regressions.
    
    Do not register open internal wires in face classifier as far as they generally do not represent holes and fail classification of split nodes.
    Fix copy-past mistake in TorusRangeSplitter header definition.

Author: oan
Date: Thu Oct 20 19:19:12 2016 +0300

    Disable re-computation of same-parameter flag due to "test bugs mesh bug26692_1"
    
    Force storing of polygons in single-threaded mode

Author: oan
Date: Thu Oct 20 13:12:22 2016 +0300

    Fix regressions due to excess number of nodes produced for cylindrical surfaces

Author: oan
Date: Thu Oct 20 13:12:01 2016 +0300

    Make BRepMesh_Triangle plane structure

Author: oan
Date: Thu Oct 20 13:09:05 2016 +0300

    Comments and cosmetic changes

Author: oan
Date: Thu Oct 20 13:06:52 2016 +0300

    0026106: Introduction of data model
    
    Completely refactored BRepMesh component

Author: oan
Date: Thu Oct 20 13:01:05 2016 +0300

    0027959: BRepMesh_Delaun produces mesh with gaps on internal edges
    
    Check both sides of internal link for adjusted triangle and process left and right polygons separately
(0059186)
oan   
2016-10-26 16:50   
Updated version has been pushed to OCCT repository, branch CR26106_origin. Remarks related to grown number of internal nodes has been taken into account.

Please also note that this branch contains fix supposed in context of 0027693. New approach gives better results on BSpline surfaces (e.g. mesh advanced_shading B5) and should not generally lead to hungs during mesh generation (cases #23513, #27685, 0026965, 0026074).

Thank you in advance for your review and feedbacks.
BR.
(0059714)
git   
2016-11-01 17:11   
Branch CR26106_origin has been updated by oan.

SHA-1: ef4c62f4c33baba65e21a6272fd9449f92fc1d62


Detailed log of new commits:

Author: oan
Date: Tue Nov 1 17:11:16 2016 +0300

    Consider size along V direction instead of size in 3D during computation of parametric delta for cylindrical surfaces: 0023795, face 117

(0059727)
msv   
2016-11-01 19:21   
Compilation errors during building in MSVS 2013:

         D:/git/occt1/src/BRepMesh/BRepMesh_Triangle.hxx(40): error C2536: 'BRepMesh_Triangle::BRepMesh_Triangle::myEdges' : cannot specify explicit initializer for arrays (D:\git\occt1\src\BRepMesh\BRepMesh_DataStructureOfDelaun.cxx) [D:\git\occt1\build\src\TKMesh\TKMesh.vcxproj]
         D:/git/occt1/src/BRepMesh/BRepMesh_Triangle.hxx(40): error C2536: 'BRepMesh_Triangle::BRepMesh_Triangle::myOrientations' : cannot specify explicit initializer for arrays (D:\git\occt1\src\BRepMesh\BRepMesh_DataStructureOfDelaun.cxx) [D:\git\occt1\build\src\TKMesh\TKMesh.vcxproj]
(0059742)
git   
2016-11-02 11:04   
Branch CR26106_origin has been updated by oan.

SHA-1: 94074f14549199fbba69fec1441ed5d1b8cad921


Detailed log of new commits:

Author: oan
Date: Wed Nov 2 11:04:31 2016 +0300

    BRepMesh_Triangle: initialize arrays in constructor body

(0059743)
oan   
2016-11-02 11:06   
Works on VS2015. Please take the latest commit, it should work for VS2013.
(0059783)
msv   
2016-11-02 14:17   
Compilation warnings:
         D:/git/occt1/src/BRepMesh/BRepMesh_MeshTool.hxx(71): warning C4512: 'BRepMesh_MeshTool::NodeClassifier' : assignment operator could not be generated (D:\git\occt1\src\BRepMesh\BRepMesh_DelaunayBaseMeshAlgo.cxx) [D:\git\occt1\build\src\TKMesh\TKMesh.vcxproj]
         D:/git/occt1/src/BRepMesh/BRepMesh_DelaunayDeflectionControlMeshAlgo.hxx(135): warning C4512: 'BRepMesh_DelaunayDeflectionControlMeshAlgo<RangeSplitter>::NormalDeviation' : assignment operator could not be generated [D:\git\occt1\build\src\TKMesh\TKMesh.vcxproj]
         D:/git/occt1/src/BRepMesh/BRepMesh_DelaunayDeflectionControlMeshAlgo.hxx(155): warning C4512: 'BRepMesh_DelaunayDeflectionControlMeshAlgo<RangeSplitter>::LineDeviation' : assignment operator could not be generated [D:\git\occt1\build\src\TKMesh\TKMesh.vcxproj]
(0059790)
oan   
2016-11-02 15:22   
Thank you for remarks. Now I am going to build OCCT using VS2013 as far as I have got none of mentioned errors no warnings on VS2015.
(0059793)
git   
2016-11-02 15:48   
Branch CR26106_origin has been updated by oan.

SHA-1: 4ab53b349b7661e8e766369649e2401d5d16618d


Detailed log of new commits:

Author: oan
Date: Wed Nov 2 15:48:27 2016 +0300

    Fix compilation warnings on VS2013

(0059794)
oan   
2016-11-02 16:01   
Done, warnings have been suppressed for VS2013.
(0060592)
msv   
2016-11-21 10:37   
A lot of tests are failed with the fix. It is needed to analyze all errors, and
1) if the change is expected update a script (including improvements),
2) if it is unexpected or is a regression then analyze the cause and eliminate.
If there exist failed cases that are principally impossible to heal it is needed to discuss each case what to do further.
(0060611)
oan   
2016-11-21 12:47   
Dear Mikhail,

thank you for feedback. Generally the most of changes should be improvements. Could you please share the test report somehow in order to not to run tests once again.
(0060746)
git   
2016-11-23 18:11   
Branch CR26106_origin has been updated by oan.

SHA-1: 3d32b233a87afae93785da27aaf46f65d2fd2e7a


Detailed log of new commits:

Author: oan
Date: Wed Nov 23 17:19:42 2016 +0300

    Scale 3d tolerance to corresponding range;
    
    Removed -adaptive parameter from incmesh command
    Modified test scripts

(0060747)
oan   
2016-11-23 18:21   
Dear Mikhail,

corresponding test scripts have been modified.
In my opinion, amongst them only 4 require additional attention:
mesh standard B5 - free node appears due to intersecting of discrete representations - could be removed by decreasing deflection value.
mesh standard M8 - free node due to a single edge located outside face internals and not involved in result mesh.
bugs mesh bug27119 - too small deflection (1e-6) is used which lead to excess number of discretization points (could be checked using triepoints).
bugs vis bug22313 - without modification represents use case described in 0025551

TIA
(0060769)
msv   
2016-11-25 09:44   
Dear Katya, please take care of further review.
(0062903)
git   
2017-01-23 15:14   
Branch CR26106_origin has been updated by oan.

SHA-1: ddb3af991be0ffe5290e0defd16035cd72311b16


Detailed log of new commits:

Author: oan
Date: Mon Jan 23 15:13:33 2017 +0300

    Modified UDLIST

(0063381)
oan   
2017-02-03 10:46   
DC,

Just a remainder. Do you have any additional remarks since three month of review?

TIA.
(0065393)
oan   
2017-04-20 14:35   
DC,

Are there some news regarding remarks/review of the patch made half a year ago? As I know, OCCT is released twice a year, thus we are going close to release date of next version. So, it would be nice to test and evaluate patch during some period before release or at least obtain comparative test report.

TIA.
(0068498)
git   
2017-07-20 15:15   
Branch CR26106_origin has been updated forcibly by oan.

SHA-1: 2048da704645234df14071fa2dfff56235651bf6
(0068500)
git   
2017-07-20 15:48   
Branch CR26106_origin has been updated by oan.

SHA-1: 0d791fd85773acd251284f4d1fd1e5580452ffa4


Detailed log of new commits:

Author: oan
Date: Thu Jul 20 15:48:04 2017 +0300

    Fix compilation error VC10

(0068502)
git   
2017-07-20 16:14   
Branch CR26106_origin has been updated by oan.

SHA-1: c12892c7f5ed860737cd220e0cc81edb017edfc3


Detailed log of new commits:

Author: oan
Date: Thu Jul 20 16:14:14 2017 +0300

    Partially fixed errors/warnings on Mac/Linux

(0068510)
git   
2017-07-20 17:11   
Branch CR26106_origin has been updated by oan.

SHA-1: 4dcee963fd5fa59439fb5465c4c0783629b9e678


Detailed log of new commits:

Author: oan
Date: Thu Jul 20 17:11:51 2017 +0300

    Fix additional errors on Linux

(0068511)
git   
2017-07-20 17:35   
Branch CR26106_origin has been updated by oan.

SHA-1: 21a22018731a5dfe4ae2945c18c86f2adf9766f5


Detailed log of new commits:

Author: oan
Date: Thu Jul 20 17:35:00 2017 +0300

    More fixes for compilation errors

(0068513)
git   
2017-07-20 18:38   
Branch CR26106_origin has been updated by oan.

SHA-1: 6963fa3fbc55335634d1748dcfa75f2d7b7341d6


Detailed log of new commits:

Author: oan
Date: Thu Jul 20 18:38:38 2017 +0300

    Fix passing template to OCCT handle macro

(0068514)
git   
2017-07-20 18:56   
Branch CR26106_origin has been updated by oan.

SHA-1: 38c590d477f7e44e7482ead72d893f4ecd4a70d2


Detailed log of new commits:

Author: oan
Date: Thu Jul 20 18:55:55 2017 +0300

    Fix passing template to OCCT handle macro 0000002

(0068528)
git   
2017-07-21 10:34   
Branch CR26106_origin has been updated by oan.

SHA-1: 2f330acdfaa13aa9ff90e5d06a3b40da5e6619d9


Detailed log of new commits:

Author: oan
Date: Fri Jul 21 10:33:59 2017 +0300

    Remaining Linux compilation errors

(0068530)
git   
2017-07-21 10:46   
Branch CR26106_origin has been updated by oan.

SHA-1: a82683138442e6db9a043850769888efebdfc704


Detailed log of new commits:

Author: oan
Date: Fri Jul 21 10:45:57 2017 +0300

    Last include to compile on Linux

(0068537)
git   
2017-07-21 11:26   
Branch CR26106_origin has been updated by oan.

SHA-1: 8d7a4c4e907e4f01c5ae86d07c16f977f5dd1a07


Detailed log of new commits:

Author: oan
Date: Fri Jul 21 11:26:23 2017 +0300

    Fix GCC warning for MeshTest

(0068538)
git   
2017-07-21 11:39   
Branch CR26106_origin has been updated by oan.

SHA-1: 496c0910116960e8a81123f8c0e3fcd6c950ded8


Detailed log of new commits:

Author: oan
Date: Fri Jul 21 11:39:29 2017 +0300

    Fix CLang warnings

(0068566)
oan   
2017-07-21 16:05   
DC,

current patch has been moved to next version of OCCT again successfully.

Meanwhile, we have a chance to investigate results of refactoring.
Please pay your attention to the following images which represent improvements over existing algorithm:
bugs moddata_1 bug22761
bugs vis buc60858
bugs vis bug25300_2
bugs vis buc60887
bugs mesh bug25519
bugs moddata_2 bug22746_2
bugs moddata_2 bug22746_3
bugs modalg_2 bug23004
bugs modalg_2 bug20827
v3d point_cloud sphere

Reduced or changed number of triangles:
mesh standard_incmesh R7
mesh standard_incmesh U9
mesh standard_incmesh P4
mesh standard_incmesh T9
mesh standard_incmesh S9
mesh standard_incmesh L7
mesh standard_incmesh T4
mesh standard_incmesh C2
mesh standard_incmesh L2
mesh standard_incmesh D6
mesh standard_incmesh L1
mesh standard_incmesh L8

mesh standard_shading X1
mesh standard_shading W5
mesh standard_shading W7
mesh standard_shading U2
mesh standard_shading W4
mesh standard_shading X2
mesh standard_shading W2
mesh standard_shading C9
mesh standard_shading U7
mesh standard_shading X4
mesh standard_incmesh T2
mesh standard_incmesh W2
mesh standard_incmesh T3
mesh standard_incmesh L6
mesh standard_incmesh O5
mesh standard_incmesh K7

To be checked:
bugs vis bug23385
v3d materials bug27818_1

Cases connected with deflection (either linear or angular)
mesh standard_incmesh M8
bugs modalg_2 bug22727
bugs modalg_5 bug25982
bugs modalg_5 bug24220


You are welcome to check results at:
http://occt-tests/CR26106_origin-master-OAN-OCCT/Debian70-64/diff_summary.html [^]

BR,
Oleg.
(0068590)
msv   
2017-07-21 16:41   
Dear Oleg, it is also needed to pay attention to performance. To check it, it is better to get results on windows platform. Could you launch testing it?
(0068595)
oan   
2017-07-21 16:55   
For sure, we need. However, there are some problems on the jenkins side available for developers, thus I am unable to do something right now. So Igor will restart jobs when it is ready.
(0068630)
oan   
2017-07-24 15:42   
DC,

here you can find info regarding performance of updated component:
http://jenkins-test-10.nnov.opencascade.com:8080/view/CR26106_origin-master-OAN/ [^]

Generally, there are a lot of improvements regarding performance (mostly, I suppose, due to reduced number of triangles). Some cases, e.g. "perf mesh bug27119", have became slower. However, in case of "perf mesh bug27119", passed tolerance is 1e-6 which leads to creation about 10 thousands of discretization points for a single circular edge (check crvtpoints command).
(0068632)
oan   
2017-07-24 15:44   
(edited on: 2017-07-24 17:46)
Igor has also provided artifacts with self-sufficient archives produced by Jenkins:

http://jenkins-test-10.nnov.opencascade.com/view/CR26106_origin-master-OAN/view/OCCT%20compile/job/CR26106_origin-master-OAN-OCCT-Windows-64-VC10-opt-compile/ [^]

http://jenkins-test-10.nnov.opencascade.com/view/CR26106_origin-master-OAN/view/PRODUCTS%20compile/job/CR26106_origin-master-OAN-Products-Windows-64-VC10-opt-compile/ [^]

So, you are able to evaluate results locally.

(0068658)
oan   
2017-07-25 10:55   
Several pictures are attached to the issue representing significant improvements introduced by patch.
(0068660)
git   
2017-07-25 11:18   
Branch CR26106_origin has been updated by oan.

SHA-1: 7a5505fd91f2c98afa0361a6ef87151ba3532bfa


Detailed log of new commits:

Author: oan
Date: Tue Jul 25 11:18:37 2017 +0300

    Modified test cases

(0071300)
git   
2017-10-09 13:05   
Branch CR26106_IR has been created by oan.

SHA-1: ad0d53951d585ff241c5613eddba7302aae452e8


Detailed log of new commits:

Author: oan
Date: Mon Oct 9 13:05:33 2017 +0300

    0027693: BRepMesh: fine edge tessellation leads to excess number of triangles along the whole U or V stripes
    
    Initialize parameters map using CN intervals in case of NURBS.
    NURBS range splitter: remove code duplications; refuse addition of a single internal vertex in case of single interval along U and V
    Separate range splitter for surfaces of revolution implementing old approach using U and V parameters taken from discrete edges.

Author: oan
Date: Mon Oct 9 13:04:54 2017 +0300

    0026106: BRepMesh - revision of data model
    
    Removed tight connections between data structures, auxiliary tools and algorithms in order to create extensible solution, easy for maintenance and improvements;
    Code is separated on several functional units responsible for specific operation for the sake of simplification of debugging and readability;
    Introduced new data structures enabling possibility to manipulate discrete model of particular entity (edge, wire, face) in order to perform computations locally instead of processing an entire model.
    
    The workflow of updated component can be divided on six parts:
    * Creation of model data structure: source TopoDS_Shape passed to algorithm is analyzed and exploded on faces and edges. For each topological entity corresponding reflection is created in data model. Note that underlying algorithms use data model as input and access it via common interface which allows user to create custom data model with necessary dependencies between particular entities;
    * Discretize edges 3D & 2D curves: 3D curve as well as associated set of 2D curves of each model edge is discretized in order to create coherent skeleton used as a base in faces meshing process. In case if some edge of source shape already contains polygonal data which suites specified parameters, it is extracted from shape and stored to the model as is. Each edge is processed separately, adjacency is not taken into account;
(0073428)
oan   
2018-01-16 11:44   
1.5 years of review have passed, next version of OCCT is almost ready to release.

I will continue to update message line of the patch before each new release.
(0076689)
git   
2018-06-09 00:39   
Branch CR26106_IR_MOD has been created by oan.

SHA-1: bdd35bf3dae702a80553bb1f3384e1b61f05fab8


Detailed log of new commits:

Author: drazmyslovich
Date: Mon Apr 23 16:04:29 2018 +0300

    0029715: Mesh - Estimate the grid size of the acceleration structure by the complexity of the face
    
    The circles acceleration structure sizes are estimated using the
    required deflection and the complexity of the face.
(0076692)
git   
2018-06-09 12:31   
Branch CR26106_IR_7.3.0 has been created by oan.

SHA-1: 8ac32a77002fa95170eb3d2ec27ce518042ade7a


Detailed log of new commits:

Author: drazmyslovich
Date: Mon Apr 23 16:04:29 2018 +0300

    0029715: Mesh - Estimate the grid size of the acceleration structure by the complexity of the face
    
    The circles acceleration structure sizes are estimated using the required deflection and the complexity of the face.

Author: oan
Date: Mon Oct 9 13:04:54 2017 +0300

    0026106: BRepMesh - revision of data model
    
    Removed tight connections between data structures, auxiliary tools and algorithms in order to create extensible solution, easy for maintenance and improvements;
    Code is separated on several functional units responsible for specific operation for the sake of simplification of debugging and readability;
    Introduced new data structures enabling possibility to manipulate discrete model of particular entity (edge, wire, face) in order to perform computations locally instead of processing an entire model.
    
    The workflow of updated component can be divided on six parts:
    * Creation of model data structure: source TopoDS_Shape passed to algorithm is analyzed and exploded on faces and edges. For each topological entity corresponding reflection is created in data model. Note that underlying algorithms use data model as input and access it via common interface which allows user to create custom data model with necessary dependencies between particular entities;
    * Discretize edges 3D & 2D curves: 3D curve as well as associated set of 2D curves of each model edge is discretized in order to create coherent skeleton used as a base in faces meshing process. In case if some edge of source shape already contains polygonal data which suites specified parameters, it is extracted from shape and stored to the model as is. Each edge is processed separately, adjacency is not taken into account;
(0076693)
git   
2018-06-09 12:56   
Branch CR26106_IR_7.3.0 has been updated forcibly by oan.

SHA-1: 6d32faddc93a739688cb41269174dc1dd0482765
(0076718)
msv   
2018-06-09 20:33   
Compilation warning on MAC:
BRepMesh_VertexTool.hxx:99, Clang (LLVM based), Priority: Normal
'BRepMesh_VertexTool::Delete' hides overloaded virtual function
(0076719)
msv   
2018-06-09 20:36   
Compilation errors in Products:

1 /dn61/builds/master-CR26106_IR_7.3.0-OAN/Products_SRC/src/JTCAFControl/JTCAFControl_XcafToJT.hxx:37:24: error: 'BRepMesh_FastDiscret' was not declared in this scope

2 /dn61/builds/master-CR26106_IR_7.3.0-OAN/Products_SRC/src/JTCAFControl/JTCAFControl_XcafToJT.hxx:37:56: error: template argument 1 is invalid

3 /dn61/builds/master-CR26106_IR_7.3.0-OAN/Products_SRC/src/JTCAFControl/JTCAFControl_XcafToJT.hxx:38:20: error: 'BRepMesh_FastDiscret' was not declared in this scope

4 /dn61/builds/master-CR26106_IR_7.3.0-OAN/Products_SRC/src/JTCAFControl/JTCAFControl_XcafToJT.hxx:38:52: error: template argument 1 is invalid

5 /dn61/builds/master-CR26106_IR_7.3.0-OAN/Products_SRC/src/JTCAFControl/JTCAFControl_XcafToJT.cxx:126:34: error: 'BRepMesh_FastDiscret' does not name a type

6 /dn61/builds/master-CR26106_IR_7.3.0-OAN/Products_SRC/src/JTCAFControl/JTCAFControl_XcafToJT.cxx:126:66: error: expected unqualified-id before '&' token

7 /dn61/builds/master-CR26106_IR_7.3.0-OAN/Products_SRC/src/JTCAFControl/JTCAFControl_XcafToJT.cxx:126:66: error: expected ')' before '&' token

8 /dn61/builds/master-CR26106_IR_7.3.0-OAN/Products_SRC/src/JTCAFControl/JTCAFControl_XcafToJT.cxx:126:66: error: expected initializer before '&' token

9 /dn61/builds/master-CR26106_IR_7.3.0-OAN/Products_SRC/src/JTCAFControl/JTCAFControl_XcafToJT.cxx:630:1: error: expected '}' at end of input
(0076720)
oan   
2018-06-09 23:08   
Warning has been fixed.

Regarding Products repository, I suppose to create corresponding branch with patch when decision regarding its integration will be made. Elsewhere, we have to maintain always outdated branch there.

Here is test report for Linux platform. I think we can use it to investigate results:
http://jenkins-test-11.nnov.opencascade.com:8080//view/master-CR26106_IR_7.3.0-OAN/view/COMPARE/job/master-CR26106_IR_7.3.0-OAN-OCCT-Debian70-64-opt-test-compare/ [^]
(0076721)
msv   
2018-06-09 23:50   
It would be better to check CPU results on Windows. I wonder why OCCT compilation failed on Windows. I directed query to INV.
(0076737)
oan   
2018-06-13 12:16   
Thanks, link is available:
http://occt-tests/master-CR26106_IR_7.3.0-OAN-OCCT/Windows-64-VC10/diff_summary.html [^]
(0076766)
oan   
2018-06-14 12:11   
According to report, memory consumption is reduced, performance of several cases is improved up to 60% minimum, some cases show performace slowdown due to enhanced number of vertices of discrete edges satisfying the given deflection (perf mesh bug27119) which was been forbidden before.
(0076772)
msv   
2018-06-14 16:02   
I confirm that the master version of incmesh violates deflection in the result discretization of curves. In particular, in the test perf mesh bug27119 the input deflection is 1e-6, and the real measured deflection is 5e-6.

The version of the patch 26106 gives real deflection 5e-7.
(0076824)
oan   
2018-06-18 19:21   
Dear Mikhail,

As I have understood the results are OK to you.
Do you have another remarks or we can proceed the patch to integration?
(0076827)
msv   
2018-06-19 09:07   
Oleg, I have made only some cursory remarks. I have to review more deep before final decision.
(0077390)
oan   
2018-07-09 13:00   
(edited on: 2018-07-09 13:44)
DC,

It seems that we again are falling to the same situation we have observed during last Two years - new version of OCCT has been released and completely ready patch introducing many improvements still in Review mode preventing further improvements of an entire component as well as its testing within live environment.

Could you please spent some time to review and integrate this patch. Please read attached specification berorehand to get into updated architecture of the component.

(0078076)
msv   
2018-07-27 11:42   
My remarks follow.

Usage of types weak_ptr and shared_ptr is questionable. Why Handle is not used for all types where a smart pointer is needed? BTW, all types declared with weak_ptr and shared_ptr do already inherit Standard_Transient, so why such tricky structures are needed?

Due to usage of weak_ptr and shared_ptr compilation on MSVS 2008 fails:
         TKMesh - 3441 error(s), 548 warning(s)

Many types defined in IMeshData_Types.hxx are not used anywhere.
Some types defined as NCollection_Shared are not used with Handle.

Names are ambiguous in the sense that a name of container inheriting Transient and the name of a simple container follow the same rule. E.g.,
typedef NCollection_Array1<Standard_Integer> Array1OfInteger;
typedef NCollection_Shared<NCollection_List<Standard_Integer> > ListOfInteger;
It is better to introduce a prefix 'H' to indicate a container that can be controlled by handle, like "HListOfInteger".

Extra abstractions:
IMeshTools_ShapeExplorer
IMeshTools_ShapeVisitor
As all classes have in the root a TopoDS_Shape, there is no sense to introduce an abstract interface for shape exploring. So, shape exploring can be done directly in ModelBuilder.

BRepMesh_IncrementalMesh::Perform() does not analyze the status of BRepMesh_MeshBuilder. Then why builder inherits Message_Algorithm?

IMeshTools_MeshBuilder: what for is this abstraction needed? All work is done in BRepMesh. No one virtual method is called from IMeshTools code, except IMeshTools_Context.

IMeshTools_Context.hxx
IMeshTools_Context is called only from BRepMesh. Why is it needed then? I don't see a way how to use this abstract class in an alternative mesher without re-writing the code of BRepMesh_MeshBuilder. If the code of BRepMesh_MeshBuilder::Perform() was moved to IMeshTools_MeshBuilder::Perform() then it would have a sense.
To my mind, context class must not have methods that call algorithms. Such methods must be implemented in BRepMesh_MeshBuilder rather than in context.
  Handle (IMeshTools_ModelAlgo) myEdgeDiscret;
  Handle (IMeshTools_ModelAlgo) myModelHealer;
  Handle (IMeshTools_ModelAlgo) myPreProcessor;
  Handle (IMeshTools_ModelAlgo) myFaceDiscret;
  Handle (IMeshTools_ModelAlgo) myPostProcessor;
It is better to have a separate interface for each kind of model algo, it is in order to prevent unintentional usage of improper algo.

IMeshTools_ModelBuilder inherits Message_Algorithm only to support passing of a couple of statuses. On the other hand, the main computation class BRepMesh_IncrementalMesh does not inherit Message_Algorithm. I think it is not needed to use Message_Algorithm at all in this development.

BRepMesh_MeshBuilder::Perform() uses the same status Fail1 for several different conditions. It contradicts with the description of the class. The statuses Fail4, Fail5, Fail6 are not described.

BRepMesh_EdgeDiscret.cxx
- 136: lock() returns value, but it is used to initialize reference. The same is in many other places.

BRepMesh_ModelPreProcessor.cxx
The logic of TriangulationConsistency::operator() is incorrect, since it always sets IMeshData_Outdated to all faces containing triangulation.

BRepMesh_NodeInsertionMeshAlgo.hxx
- 69: The last array item is not used.
- 65: This alloc is used to allocate memory for boundary points of one face. It is too expensive to allocate 1 Mb memory for that.

BRepMesh_BaseMeshAlgo::Perform(): myAllocator must be nullified at the end.

BRepMesh_IncrementalMesh.cxx
- 101, 106: incorrect indentation

BRepMesh_EdgeDiscret.cxx
- 161: the status Outdated must not be set to an edge if it does not have a polygon.

MeshTest.cxx
- 200: timer is not needed inside the command.
- fastdiscret command now uses the same class as incmesh. I propose to remove it.

All long-code methods must be defined in cxx file. E.g., in BRepMesh_TorusRangeSplitter.hxx, BRepMesh_DefaultRangeSplitter.hxx.

The usage of the declaration Standard_EXPORT is not needed for inline methods, e.g. for BRepMesh_TorusRangeSplitter::BRepMesh_TorusRangeSplitter().

BRepMesh_DefaultRangeSplitter.hxx
- 31: misprint 'disturbed'
- Instead of pair myDelta define two doubles myDeltaU and myDeltaV, and the same with myTolerance. This will make the code more clear.
- 262: "theGeomLast - theGeomFirst" is not always equal to period, so, you need to get period from the surface directly.

BRepMesh_UVParamRangeSplitter.hxx
- 22: misprint 'bounday'

BRepMesh_NURBSRangeSplitter.cxx
- 250: Checking for GeomAbs_BSplineSurface is not needed, as it is not processed.
- 263-266: extra code.

BRepMesh_DelaunayDeflectionControlMeshAlgo.hxx
- 61: misprint 'Inerts'

Please describe in upgrade guide the changes in public API affecting porting to new version.

src/IMeshData/IMeshData_Status.hxx
Please provide short description of each enum item.
(0078078)
msv   
2018-07-27 11:55   
Dear Oleg, please also take care of the attached badshape.brep. Its visualization in the fix in worse than in master (see attached snapshots).
(0078079)
msv   
2018-07-27 11:56   
This shape is confidential.
(0078080)
oan   
2018-07-27 12:06   
Hello Mikhail,

thank you for remarks. I will provide answers in several messages.

Standard C++ concept of weak_ptr and shared_ptr is used because of cross-links between handles in data model. Using OCCT handles we need to nullify all handles manually to avoid exceptions and memory problems.

>>>>
Due to usage of weak_ptr and shared_ptr compilation on MSVS 2008 fails:
         TKMesh - 3441 error(s), 548 warning(s)

OK, I will check it
(0078082)
oan   
2018-07-27 12:29   
(edited on: 2018-07-27 12:30)
Regarding problem with attached badshape.brep, please note that master version of BRepMesh has pure control over deflection and may neglect specified value or create more precise model than required by specified parameter.

For instance, master produces mesh with deflection 5, whereas current version produces mesh with deflection 10, please check correctness of this condition first.

You are able to specify more fine value of deflection and obtain result with better fit to model.

Here we have two statements:
1) BRepMesh should not decrease deflection artificially to improve visual results;
2) User should not be tricked by mesh with implicitly modified value of deflection by only reason to improve visual results while ignoring expected parameters.

The last statement is actual for LOD generation when generation of fine mesh even on specific features is not required despite of ugly, from human subjective point of view, look of obtained results (e.g. JT component uses BRepMesh for LOD generation).

(0078083)
oan   
2018-07-27 12:47   
(edited on: 2018-07-27 13:29)
>>>>
Names are ambiguous in the sense that a name of container inheriting Transient and the name of a simple container follow the same rule. E.g.,
typedef NCollection_Array1<Standard_Integer> Array1OfInteger;
typedef NCollection_Shared<NCollection_List<Standard_Integer> > ListOfInteger;
It is better to introduce a prefix 'H' to indicate a container that can be controlled by handle, like "HListOfInteger".

Disagree, my idea to avoid old-style OCCT notions and use simple types handled by reference or by handles.
Does c++ stl has std::vector and std::Hvector? No, it is possible to pass std::vector directly to std::shared_ptr or std::weak_ptr without any redundant abstration.
So, I suppose we should not introduce redundant aliases confusing developers.

(0078084)
oan   
2018-07-27 12:48   
>>>Many types defined in IMeshData_Types.hxx are not used anywhere.

could you please specify?


>>>Some types defined as NCollection_Shared are not used with Handle.
I suppose that we should make all types NCollection_Shared according to previous comment
(0078085)
oan   
2018-07-27 13:04   
Extra abstractions:
IMeshTools_ShapeExplorer
IMeshTools_ShapeVisitor
As all classes have in the root a TopoDS_Shape, there is no sense to introduce an abstract interface for shape exploring. So, shape exploring can be done directly in ModelBuilder.


Disagree, in context of specific task it would be helpful to have different implrmentation of Shape visitor, e.g. ignoring edges at all (such kind of feature is implemented in IFC reader component as a workaround).

I refuse to follow this remark as far as it rather subjective view breaking well known pattern practice https://en.wikipedia.org/wiki/Visitor_pattern. [^]
(0078087)
oan   
2018-07-27 14:26   
BRepMesh_IncrementalMesh::Perform() does not analyze the status of BRepMesh_MeshBuilder. Then why builder inherits Message_Algorithm?

BRepMesh_IncrementalMesh collects statuses of data model entities.
Each one contains status assigned to it during discretization/meshing.

Inheritance from Message_Algorithm is due to logical consistency at first, as far OCCT algorithms should have a common base, and at second, this is necessary for further improvements related to algorithm verbosity.
(0078089)
oan   
2018-07-27 14:32   
IMeshTools_MeshBuilder: what for is this abstraction needed? All work is done in BRepMesh. No one virtual method is called from IMeshTools code, except IMeshTools_Context.


It is necessary due to potentially different approaches that can be used in context of meshing.

Moreover, this is an abstaction representing commong place for keeping context instance regardless implementation details.

I have already noted that these abstractions are introduced according to common practices, here ISP one (https://en.wikipedia.org/wiki/Interface_segregation_principle [^])
(0078091)
oan   
2018-07-27 14:46   
IMeshTools_Context.hxx
IMeshTools_Context is called only from BRepMesh. Why is it needed then? I don't see a way how to use this abstract class in an alternative mesher without re-writing the code of BRepMesh_MeshBuilder. If the code of BRepMesh_MeshBuilder::Perform() was moved to IMeshTools_MeshBuilder::Perform() then it would have a sense.
To my mind, context class must not have methods that call algorithms. Such methods must be implemented in BRepMesh_MeshBuilder rather than in context.
  Handle (IMeshTools_ModelAlgo) myEdgeDiscret;
  Handle (IMeshTools_ModelAlgo) myModelHealer;
  Handle (IMeshTools_ModelAlgo) myPreProcessor;
  Handle (IMeshTools_ModelAlgo) myFaceDiscret;
  Handle (IMeshTools_ModelAlgo) myPostProcessor;
It is better to have a separate interface for each kind of model algo, it is in order to prevent unintentional usage of improper algo.



IMeshData_Context is an abstraction which in couple with other ones describes common architecture of component.
It is similar to TopoDS_TFace generally, but why we need it, given that only BRep_TFace is used along entire OCCT, if I am right. This is a design abstraction. (ISP)


>>> To my mind, context class must not have methods that call algorithms.
I am confused and disagree, because it is designed similar to IntTools_Context that have both contextual algorithms and interface methods to call them. I suppose that we should keep common practice in some cases.


>>>It is better to have a separate interface for each kind of model algo, it is in order to prevent unintentional usage of improper algo.

Disagree, because each model algorithm has a common interface working over the passed data model.
So there is no necessity to create empty successors just to separate kind of model algo, this is defined by context.
(0078092)
oan   
2018-07-27 14:50   
IMeshTools_ModelBuilder inherits Message_Algorithm only to support passing of a couple of statuses. On the other hand, the main computation class BRepMesh_IncrementalMesh does not inherit Message_Algorithm. I think it is not needed to use Message_Algorithm at all in this development.



Disagree, Message_Algorithm is a powerful feature that enables messaging from algorithms, it can be helpful during debug and usage in target application to provide us a detail log.

On the contrary, it may be more correct to inherit BRepMesh_IncrementalMesh from Message_Algorithm due to the similar reasons given above.
(0078093)
oan   
2018-07-27 14:56   
BRepMesh_EdgeDiscret.cxx
- 136: lock() returns value, but it is used to initialize reference. The same is in many other places.


Agree, to be corrected.
(0078094)
oan   
2018-07-27 14:59   
BRepMesh_ModelPreProcessor.cxx
The logic of TriangulationConsistency::operator() is incorrect, since it always sets IMeshData_Outdated to all faces containing triangulation.

To be checked.
(0078096)
oan   
2018-07-27 15:05   
>>> Instead of pair myDelta define two doubles myDeltaU and myDeltaV, and the same with myTolerance. This will make the code more clear.


Disagree, IMHO, subjective remark about code style.
If it would be so, std will never contain std::pair.


Moreover, such changes lead to huge modifications due to:

inline const std::pair<Standard_Real, Standard_Real>& GetDelta () const
{
  return myDelta;
}
(0078097)
oan   
2018-07-27 15:10   
- 262: "theGeomLast - theGeomFirst" is not always equal to period, so, you need to get period from the surface directly.


This code exactly corresponds to lines 333-366 from BRepMesh_FastDiscret.cxx.
I think we can leave it as is and register new issue to fix it.
(0078098)
oan   
2018-07-27 15:12   
Other remarks - agree, to be corrected.
(0078167)
git   
2018-07-29 06:48   
Branch CR26106_IR_7.3.0 has been updated by oan.

SHA-1: be6eebaf5bf9385c122da31ef20924dd87396fc5


Detailed log of new commits:

Author: oan
Date: Sun Jul 29 06:47:34 2018 +0300

    Minor corrections according to remarks. Correct initialization of references using std::weak_ptr::lock(); Comments; Fix behaviour of TriangulationConsistency::operator(); BRepMesh_EdgeDiscret.cxx: the status Outdated must not be set to an edge if it does not have a polygon

(0078168)
oan   
2018-07-29 06:49   
Remaining remarks to be checked:

Due to usage of weak_ptr and shared_ptr compilation on MSVS 2008 fails:
         TKMesh - 3441 error(s), 548 warning(s)

BRepMesh_NodeInsertionMeshAlgo.hxx
- 65: This alloc is used to allocate memory for boundary points of one face. It is too expensive to allocate 1 Mb memory for that.

All long-code methods must be defined in cxx file. E.g., in BRepMesh_TorusRangeSplitter.hxx, BRepMesh_DefaultRangeSplitter.hxx.

The usage of the declaration Standard_EXPORT is not needed for inline methods, e.g. for BRepMesh_TorusRangeSplitter::BRepMesh_TorusRangeSplitter().

Please describe in upgrade guide the changes in public API affecting porting to new version.
(0078169)
oan   
2018-07-29 06:51   
(edited on: 2018-07-30 11:39)
Dear Mikhail,

BRepMesh_NodeInsertionMeshAlgo.hxx
- 65: This alloc is used to allocate memory for boundary points of one face. It is too expensive to allocate 1 Mb memory for that.

What is your suggestion here?

(0078170)
oan   
2018-07-29 06:52   
Regarding badshape.brep, please note that deflection parameter passed to algorithm is 15.19047058062.
So, it is obvious that this is not a regression (deflection of resulting mesh is 10.488227693414654), but the matter of roughly computed value.

In case if you need more precise presentation, you have to compute mesh manually with smaller deflection or we have to change algorithm computing default deflection (Prs3d::GetDeflection), e.g. taking into account bounding box of smallest face of shape (or mean) instead of bounding box of entire shape.

Anyway, this should be done in context of separate issue.
(0078261)
git   
2018-08-01 12:45   
Branch CR26106_IR_7.3.0 has been updated by oan.

SHA-1: 9f92bd42bb5b24895ff4da28c223a3d1b034720a


Detailed log of new commits:

Author: oan
Date: Wed Aug 1 12:44:15 2018 +0300

    Fix compilation errors on MSVS 2008

(0078262)
git   
2018-08-01 13:19   
Branch CR26106_IR_7.3.0 has been updated by oan.

SHA-1: e903b8cd37135e22286a288f7b370fa5ac9f9d15


Detailed log of new commits:

Author: oan
Date: Wed Aug 1 13:17:52 2018 +0300

    All long-code methods are moved to cxx files;
    
    Standard_EXPORT is removed for inline methods

(0078263)
oan   
2018-08-01 13:21   
Dear Mikhail,

I have fixed most of remaining issues mentioned in:
https://tracker.dev.opencascade.org/view.php?id=26106#c78168 [^]

Except:
Please describe in upgrade guide the changes in public API affecting porting to new version.

(To be added)

BRepMesh_NodeInsertionMeshAlgo.hxx
- 65: This alloc is used to allocate memory for boundary points of one face. It is too expensive to allocate 1 Mb memory for that.

What is your suggestion here?

Regards,
Oleg.
(0078264)
msv   
2018-08-01 15:19   
I propose to leave the default block size.
(0078265)
git   
2018-08-01 15:27   
Branch CR26106_IR_7.3.0 has been updated by oan.

SHA-1: febd940ae4835caf1b51c1807d9e8123af0c06e1


Detailed log of new commits:

Author: oan
Date: Wed Aug 1 15:25:52 2018 +0300

    BRepMesh_NodeInsertionMeshAlgo.hxx: default size of IncAllocator is used

(0078266)
oan   
2018-08-01 15:44   
Common information about changes in public API has been added to "Additional Information" part.

Detail description of changes and new structure of component provided by attached specification in MS Word format should be proofread, converted to markdown format and included in OCCT documentation.
(0078270)
msv   
2018-08-01 16:17   
Please update upgrade.md
(0078277)
git   
2018-08-01 17:44   
Branch CR26106_IR_7.3.0 has been updated by oan.

SHA-1: e4983ed523adb8f77483bd002c0879f07443f30b


Detailed log of new commits:

Author: oan
Date: Wed Aug 1 17:43:16 2018 +0300

    IMeshData_Types: enable possibility to manipulate all collection types by Handle

(0078280)
git   
2018-08-01 17:56   
Branch CR26106_IR_7.3.0 has been updated by oan.

SHA-1: c07238e832a6fa8ed738dc7c3c11d20670a7ba19


Detailed log of new commits:

Author: oan
Date: Wed Aug 1 17:55:34 2018 +0300

    IMeshData_Types: remove unused type definitions

(0078281)
oan   
2018-08-01 17:57   
The following definitions are left anyway for the sake of consistency of common notion:
IShapePtr
IWirePtr
ICurvePtr
IPCurvePtr
IModelPtr

IModelHandle


The following definitions were removed:
VectorOfIShapesHandles
VectorOfHBndBox2dTree
(0078287)
msv   
2018-08-01 18:24   
New remarks:

BRepMesh_ModelPostProcessor.cxx
- 82: lock() returns value, but it is used to initialize reference.

The usage of the declaration Standard_EXPORT is not needed for inline and pure virtual methods:
BRepMesh_DelaunayBaseMeshAlgo.hxx:43,53
BRepMesh_DelaunayDeflectionControlMeshAlgo.hxx:34,41,48,62
BRepMesh_DelaunayNodeInsertionMeshAlgo.hxx:34,39,46,53,64
BRepMesh_DiscretRoot.hxx:49
BRepMesh_GeomTool.hxx:200
BRepMesh_IncAllocator.hxx:32,38
BRepMesh_NodeInsertionMeshAlgo.hxx:38,43,48,63,117,129
BRepMesh_UVParamRangeSplitter.hxx:41
BRepMesh_BoundaryParamsRangeSplitter.hxx:28,33,38,48

All long-code methods must be defined in cxx file:
BRepMesh_BaseMeshAlgo.hxx:106
BRepMesh_MeshTool.hxx:43,53,105,120,135,180,209
BRepMesh_ModelHealer.hxx:102,126,154
(0078289)
kgv   
2018-08-01 18:36   
(edited on: 2018-08-01 18:37)
+  std::pair<Standard_Real, Standard_Real> myRangeU;
+  std::pair<Standard_Real, Standard_Real> myRangeV;
+  std::pair<Standard_Real, Standard_Real> myDelta;
+  std::pair<Standard_Real, Standard_Real> myTolerance;

Does it have some benefit using std::pair instead of clearly identifiable structure(s)?
I may expect that Bnd_Range is not applicable replacement for myRangeU/myRangeV for some reason, but still custom structures might look better than std::pair.

Of course, this is just a subjective preference choice (I hate code abusing std::pair storing something not obvious), fill free ignoring my comment.

(0078290)
msv   
2018-08-01 18:47   
I was also confused when read the code manipulating with myRangeU, myRangeV, myDelta, myTolerance. It is because myRangeU.first stands for "beginning of U range". Then meeting myDelta.first I was thinking about something like "beginning of some...", but it occurred indeed as "delta by U".
So, in the first case the pair stores boundaries along one direction, while in the second case the pair stores deltas in different directions. It is confusing and makes the code less clear.
(0078309)
oan   
2018-08-02 11:35   
Dear Kirill,

thank you for your attention and remarks!

I see your point that it would be more clear to use explicit structures, such as:
struct RangeU
{
  Standard_Real FirstU;
  Standard_Real LastU;
};

struct RangeV
{
  Standard_Real FirstV;
  Standard_Real LastV;
};

struct Tolerance
{
  Standard_Real ToleranceU;
  Standard_Real ToleranceV;
};

struct Delta
{
  Standard_Real DeltaU;
  Standard_Real DeltaV;
}

However, IMHO, they have similar notion, it is a pair of doubles and std::pair is the standard type for such reason as std::tuple is a standard for cortege of different values despite of the logical inconsistency with names of fields or tricky usage. Personally, I see no reason to create similar and redundant structures when they are used locally and their notion can be retrieved from comments.

(0078311)
oan   
2018-08-02 11:56   
All long-code methods must be defined in cxx file:
BRepMesh_BaseMeshAlgo.hxx:106
BRepMesh_MeshTool.hxx:43,53,105,120,135,180,209
BRepMesh_ModelHealer.hxx:102,126,154


BRepMesh_BaseMeshAlgo.hxx:106 - pure virtual method, nothing to change.

BRepMesh_MeshTool.hxx:43,53,105,120,135,180,209
BRepMesh_ModelHealer.hxx:102,126,154

These are exactly short methods and can be treated as inline.
(0078326)
git   
2018-08-02 16:10   
Branch CR26106_IR_7.3.0 has been updated by oan.

SHA-1: ca02fbfcfac257cd582348c6630cbedfb9d4d19d


Detailed log of new commits:

Author: oan
Date: Thu Aug 2 16:02:23 2018 +0300

    Remove unused type definitions

Author: oan
Date: Thu Aug 2 15:59:36 2018 +0300

    Updated upgrade guide

Author: oan
Date: Thu Aug 2 15:56:03 2018 +0300

    BRepMesh_MeshBuilder, BRepMesh_ShapeExplorer have been moved to IMeshTools unit.

Author: oan
Date: Thu Aug 2 15:54:48 2018 +0300

    Return handle by value

Author: oan
Date: Thu Aug 2 15:53:43 2018 +0300

    Remove redundant Standard_EXPORT directives

(0078330)
git   
2018-08-02 17:06   
Branch CR26106_IR_7.3.0_rebased has been created by oan.

SHA-1: 002b8c87ba1b40d0f46bd1431900f0d29ce0d6d7


Detailed log of new commits:

Author: oan
Date: Thu Aug 2 17:04:37 2018 +0300

    Modifications according to OSD_ThreadPool

Author: oan
Date: Thu Aug 2 15:59:36 2018 +0300

    Updated upgrade guide

Author: oan
Date: Thu Aug 2 16:02:23 2018 +0300

    Remove unused type definitions

Author: oan
Date: Mon Oct 9 13:04:54 2017 +0300

    0026106: BRepMesh - revision of data model
    
    Removed tight connections between data structures, auxiliary tools and algorithms in order to create extensible solution, easy for maintenance and improvements;
    Code is separated on several functional units responsible for specific operation for the sake of simplification of debugging and readability;
    Introduced new data structures enabling possibility to manipulate discrete model of particular entity (edge, wire, face) in order to perform computations locally instead of processing an entire model.
    
    The workflow of updated component can be divided on six parts:
    * Creation of model data structure: source TopoDS_Shape passed to algorithm is analyzed and exploded on faces and edges. For each topological entity corresponding reflection is created in data model. Note that underlying algorithms use data model as input and access it via common interface which allows user to create custom data model with necessary dependencies between particular entities;
    * Discretize edges 3D & 2D curves: 3D curve as well as associated set of 2D curves of each model edge is discretized in order to create coherent skeleton used as a base in faces meshing process. In case if some edge of source shape already contains polygonal data which suites specified parameters, it is extracted from shape and stored to the model as is. Each edge is processed separately, adjacency is not taken into account;
(0078332)
oan   
2018-08-02 17:17   
Dear Mikhail,

discussed modifications have been made, except changes over IMeshData::xxxPtr and IMeshData::xxxHandle.

If we continue, could you please assign some person to solve it as it was agreed?
(0078333)
oan   
2018-08-02 17:20   
Current branch is CR26106_IR_7.3.0_rebased
(0078367)
git   
2018-08-03 17:22   
Branch CR26106nbv has been created by nbv.

SHA-1: af7e2947a35e455fc331d90fd822692fe139420d


Detailed log of new commits:

Author: nbv
Date: Fri Aug 3 14:07:18 2018 +0300

    Elimination of weak_ptr and shared_ptr.

Author: oan
Date: Mon Oct 9 13:04:54 2017 +0300

    0026106: BRepMesh - revision of data model
    
    Removed tight connections between data structures, auxiliary tools and algorithms in order to create extensible solution, easy for maintenance and improvements;
    Code is separated on several functional units responsible for specific operation for the sake of simplification of debugging and readability;
    Introduced new data structures enabling possibility to manipulate discrete model of particular entity (edge, wire, face) in order to perform computations locally instead of processing an entire model.
    
    The workflow of updated component can be divided on six parts:
    * Creation of model data structure: source TopoDS_Shape passed to algorithm is analyzed and exploded on faces and edges. For each topological entity corresponding reflection is created in data model. Note that underlying algorithms use data model as input and access it via common interface which allows user to create custom data model with necessary dependencies between particular entities;
    * Discretize edges 3D & 2D curves: 3D curve as well as associated set of 2D curves of each model edge is discretized in order to create coherent skeleton used as a base in faces meshing process. In case if some edge of source shape already contains polygonal data which suites specified parameters, it is extracted from shape and stored to the model as is. Each edge is processed separately, adjacency is not taken into account;
(0078420)
git   
2018-08-06 13:34   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 6ddb81ad258abe00fa38855d675e76fb714077fb
(0078483)
git   
2018-08-08 10:35   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: d355fa667eef77587d5258281cd9699df55aeb1e
(0078484)
git   
2018-08-08 11:47   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 0bdfcf38a8ca857999bd9298732c7a4641f3afe7
(0078502)
git   
2018-08-08 17:56   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 0a929251e3ada5dae316ff2ce35ddf2217294dc2
(0078538)
git   
2018-08-09 16:32   
Branch CR26106nbv has been updated by oan.

SHA-1: 4156c967afc1c563df0718fa1b0efe213c060c31


Detailed log of new commits:

Author: oan
Date: Thu Aug 9 16:30:56 2018 +0300

    Updated upgrade.md

(0078552)
git   
2018-08-10 12:31   
Branch CR26106nbv has been updated by oan.

SHA-1: eae890a6528ffbe274d241f761b4f6c52dba20c4


Detailed log of new commits:

Author: oan
Date: Fri Aug 10 12:11:13 2018 +0300

    Updated user guides

(0078553)
git   
2018-08-10 12:53   
Branch CR26106_rebase has been created by oan.

SHA-1: d909b2b522e8740e689a08eead9be0aba77084c0


No new revisions were added by this update.
(0078554)
git   
2018-08-10 13:31   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 7dcb1a5970bba11693bdf00785514169721fddd6
(0078577)
git   
2018-08-13 10:01   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: bb5eb7f44295f804b6278509ffb35a4eb0cbe4fd
(0078591)
kgv   
2018-08-14 14:23   
-  inline BRepMesh_FastDiscret::Parameters& ChangeParameters()
+  inline IMeshTools_Parameters& ChangeParameters()

This is a critical entry point in public API.
It is highly desirable preserving compatibility with old code within at least 1 OCCT release by going through deprecation cycle.

Therefore, it is proposed defining BRepMesh_FastDiscret::Parameters as deprecated typedef to new structure IMeshTools_Parameters and remove it release later.

(0078610)
git   
2018-08-14 18:08   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: e0bc01bfe728a0452a4587c012561ee6639f66d6
(0078630)
git   
2018-08-15 17:17   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 146ff7291f4904b8a6b01fab3f99d4ca2ae44a6b
(0078632)
git   
2018-08-15 17:21   
Branch CR26106oan has been created by nbv.

SHA-1: ad618eacd5f9bf2a43a727173e3f3f446821d8a4


Detailed log of new commits:

Author: nbv
Date: Thu Aug 9 10:43:50 2018 +0300

    # Fix of regressions.
    # Adjusting test cases
    
    (cherry picked from commit d622491fef9faaecb2c4fec9d204fcce974f294c)
(0078642)
git   
2018-08-16 09:32   
Branch CR26106oan has been updated forcibly by nbv.

SHA-1: 1fc1c78fc619ee0909f1cb98ace47c0910d15401
(0078643)
git   
2018-08-16 10:54   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 69b45a47704860588b0c3ce2ba69169bf852d8b2
(0078644)
git   
2018-08-16 10:57   
Branch CR26106oan has been updated forcibly by nbv.

SHA-1: 25da422d3ff064cdff67ac98fb33d949ac60f4fa
(0078692)
git   
2018-08-20 16:33   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: b821f404f5ddd85b999957029f289478c9f83953
(0078693)
git   
2018-08-20 16:36   
Branch CR26106oan has been updated forcibly by nbv.

SHA-1: d8f815aafb37bc6c295c82539f87f4cd919ceb88
(0078703)
git   
2018-08-21 11:07   
Branch CR26106oan has been updated forcibly by nbv.

SHA-1: 38271ac8d9aedccdd2369575c6770e2c9e96c669
(0078709)
git   
2018-08-21 17:51   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: f7b3a5d93f1366fb6f13720c3b2a6868dd05ec96
(0078761)
git   
2018-08-24 15:58   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 0dfdfaa3a5628dc6c0eaace630cb528852dc4b04
(0078787)
git   
2018-08-27 10:00   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 202eac7b3adaa6a3635df2c5a748432966999275
(0078855)
git   
2018-08-30 12:22   
Branch CR26106nbv has been updated by nbv.

SHA-1: 8c1c854b4ced3450d818ccb345b34d57d6714acd


Detailed log of new commits:

Author: nbv
Date: Thu Aug 30 12:19:42 2018 +0300

    Extend "tricheck" DRAW-command in order to find degenerated triangles.

(0078878)
oan   
2018-08-31 11:12   
Hi Kirill,

thanks for your feedback, I appreciate very well that you track changes within this patch. However, due to complete reconstruction of the component's architecture, it is impossible to preserve old API due to absence of BRepMesh_FastDiscret in new structure. Changes of API were being agreed and documented.

Regards,
Oleg.
(0078879)
kgv   
2018-08-31 11:17   
> it is impossible to preserve old API due to absence of BRepMesh_FastDiscret in new structure.
I see completely no reason for such a response.

Defining an empty BRepMesh_FastDiscret structure with a typedef structure inside for preserving an old syntax for a while looks like a straightforward solution.

(0078880)
oan   
2018-08-31 11:28   
From my side, I see completely no reason to preserve Parameters structure inside empty BRepMesh_FastDiscret class.

Yes, it will help users to port their code smoothly, but later we have to remove it anyway and they will do the same thing twice.
(0078914)
git   
2018-09-03 09:28   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 202eac7b3adaa6a3635df2c5a748432966999275
(0078951)
git   
2018-09-03 17:47   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 1fa236a4018dcc3fb99b968915cc31e9de507172
(0078984)
git   
2018-09-04 13:33   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 89000bfe7e485281ff73ff14dcf55108da5e785a
(0079097)
git   
2018-09-10 17:03   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 09128dbb352b301c325df4f83513bda1384dc2c1
(0079204)
git   
2018-09-17 09:13   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 7620777a8e63845642271b7d57dffe9417fb556e
(0079272)
git   
2018-09-20 12:11   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 4c97fda98e0f2c2e66b042f7a293e291173c2d31
(0079277)
git   
2018-09-20 13:26   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: abb08a0ff5ae111245329180e870232022736345
(0079359)
nbv   
2018-09-24 13:47   
pipe_specidic_L5.PNG

Left side is the result on the MASTER version, right side is the result on the FIX. So, it is an improvement.
(0079607)
nbv   
2018-10-02 16:23   
The fix has been moved to the issue #0030008.
(0080126)
git   
2018-10-19 15:46   
Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 85dad5ab233e90c25ca3262898180f1836f0c920
(0080128)
git   
2018-10-19 15:54   
Branch CR26106nbv_1 has been created by nbv.

SHA-1: 652e810ec26d72f95db3d580e41759ab1bb2219c


Detailed log of new commits:

Author: oan
Date: Mon Oct 9 13:04:54 2017 +0300

    0026106: BRepMesh - revision of data model
    
    Removed tight connections between data structures, auxiliary tools and algorithms in order to create extensible solution, easy for maintenance and improvements;
    Code is separated on several functional units responsible for specific operation for the sake of simplification of debugging and readability;
    Introduced new data structures enabling possibility to manipulate discrete model of particular entity (edge, wire, face) in order to perform computations locally instead of processing an entire model.
    
    The workflow of updated component can be divided on six parts:
    * Creation of model data structure: source TopoDS_Shape passed to algorithm is analyzed and exploded on faces and edges. For each topological entity corresponding reflection is created in data model. Note that underlying algorithms use data model as input and access it via common interface which allows user to create custom data model with necessary dependencies between particular entities;
    * Discretize edges 3D & 2D curves: 3D curve as well as associated set of 2D curves of each model edge is discretized in order to create coherent skeleton used as a base in faces meshing process. In case if some edge of source shape already contains polygonal data which suites specified parameters, it is extracted from shape and stored to the model as is. Each edge is processed separately, adjacency is not taken into account;
(0080228)
msv   
2018-10-23 12:40   
Remarks on modeling user guide.

- "BRepMesh Architecture" must be a subsection of "Meshing" section. It is not a separate modeling algorithm.
- A phrase
It is worth to say about additional options "DeflectionInterior" and "AngleInterior". 
DeflectionInterior limits the distance between triangles and the face interior.

Is to change:
There are the special options to control behavior of the meshing of face interior "DeflectionInterior" 
and "AngleInterior". DeflectionInterior limits the distance between triangles and the face 
interior.

- A phrase
AngleInterior limits the angle between normals in the nodes of every link of the triangle. Exception 
are the links along the face boundary edges, for those "Angular Deflection" is used during 
edges discretization.

- It is needed to update the picture "Linear deflection" or add a new picture to illustrate AngleInterior.
(0080306)
git   
2018-10-25 12:28   
Branch CR26106_final has been created by nbv.

SHA-1: 9c08e039966cc8019b1f6416db920733ab88c346


No new revisions were added by this update.
(0080307)
msv   
2018-10-25 12:47   
Reviewed.
The branches to integrate are CR26106_final and CR26106prod1.
Note that the fix for #30008 must follow this fix immediately, it is in order to not involve regressions.
(0080386)
apn   
2018-10-26 15:40   
Tested with IR-WEEK43.
(0080453)
abv   
2018-10-29 13:50   
(edited on: 2018-10-29 14:13)
Please explain changes in some test scripts:

* bugs moddata_3 bug25737_1: tolerance increased from 0.56 to 2.7

* bugs vis bug22313: wild TODO statement paired with the same text output by puts without any condition -- WHY???

* mesh data advanced A6: added TODO - is that regression? Why TODO is with question mark? Does this mean that test has different behavior from run to run? The same applies to test mesh data advanced A6, standard U6, U7, V2, V4

* mesh data advanced B3: is it regression? The same for mesh data advanced B3, B7, standard B5, B9, M8


What is the meaning of the message "Meshing Statuses: Failure Reused"? Can it be made more clear so that the user of BRepMesh DRAW commands could understand its meaning without digging into the code?

(0080454)
oan   
2018-10-29 14:03   
bugs moddata_3 bug25737_1: tolerance increased from 0.56 to 2.7

The main accent in this case should be not in the tolerance used to compare area difference between geometry and triangulation, but in the maximal deflection which is "0.01498607155738463" and coherent with specified parameter "1".

Image of triangles has changed, so changed area is secondary parameter comparing to deflection, taking into account the context of the test case.
(0080455)
abv   
2018-10-29 14:16   
However, the expected behavior is that the less is deflection, the more accurately triangulation fits the surface, and the closer is its area to the area of the surface. Is that correct or opposite?

P.S. Please note that I added some more test cases in 0026106:0080453
(0080457)
oan   
2018-10-29 15:10   
(edited on: 2018-10-29 15:43)
bugs moddata_3 bug25737_1:

Yes, it is correct and you can see this comparing master and patched version.
On master the same parameters (deflection "1") give the following results:
This shape contains 120 triangles.
                    75 nodes.
Maximal deflection 0.0088655374249222221

Which is more accurate than patched version, but number of triangles exceeds amount necessary to gain specified deflection, "0.01498607155738463" is less than "1", but greater than "0.0088655374249222221".

(0080458)
oan   
2018-10-29 15:11   
>>> bugs vis bug22313: wild TODO statement paired with the same text output by puts without any condition -- WHY???

In fact, I think this test case may be left unchanged on currect version of patch.
(0080460)
oan   
2018-10-29 15:23   
>>> mesh data advanced A6: added TODO - is that regression?
No, this case is invalid by itself. But now incmesh has a few new statuses which can be rised during execution. As I can remember, this can be a cause of extra "FAILURE" messages as far as some checks are explicitly aimed for "Error" in returned statuses.

Maybe NBV can recall the matter in more details this change was introduced.

>>> Does this mean that test has different behavior from run to run?
If I am right, no.
(0080462)
oan   
2018-10-29 15:29   
>>> mesh data advanced A6: added TODO - is that regression? Why TODO is with question mark? Does this mean that test has different behavior from run to run? The same applies to test mesh data advanced A6, standard U6, U7, V2, V4

>>> mesh data advanced B3: is it regression? The same for mesh data advanced B3, B7, standard B5, B9, M8

Probably, these changes are not actual for current version of the patch in couple with #30008. It should be checked.
(0080463)
oan   
2018-10-29 15:39   
(edited on: 2018-10-29 15:46)
>>> What is the meaning of the message "Meshing Statuses: Failure Reused"?
Currently it is a cumulative statuses faced during meshing. So, the meaning is that, e.g. for shape of 80 faces, few are failed, existing triangulation is reused for most of them, other faces are meshed without failure.

>>> Can it be made more clear so that the user of BRepMesh DRAW commands could understand its meaning without digging into the code?
Current behavior is consistent with master version.
However, this idea has already been suggested for implementation in context of 0030056 in the way it is done in Boolean operations.
Futher, it would be possible to make output more clear, e.g. in nbshapes style, for instance:

NoError : 10
Error : 1
Reused : 2
Outdated : 13
SelfIntersectingWire: 2

Elsewhere we have to change a lot of test cases, or at least "end" part of the most of mesh-related grids.

(0080465)
abv   
2018-10-29 16:28   
Taking the above answers, I propose the following:

1. Th need of changes made in the following test scripts should be checked:

bugs vis bug22313
mesh data advanced A6
mesh data standard U6
mesh data standard U7
mesh data standard V2
mesh data standard V4
mesh data advanced B3
mesh data advanced B7
mesh data standard B5
mesh data standard B9
mesh data standard M8

If the regressions marked by new TODO statements are actually present, they should be checked and explained. Question marks in TODO statements should be removed. If there is no these regressions, please corresponding TODOs should be removed.

2. Error and status management should be redesigned (within separate issue) using Message_Alert and relevant classes.

Oleg, please comment if you agree or not.
(0080472)
oan   
2018-10-29 17:16   
Agree.

Nikolay, could you please check the issues mentioned in 1) above.

TIA.
(0080473)
nbv   
2018-10-29 17:22   
OK. I am launching testing CR30305_5 toevening.

Let's look at the final state of the fix again.

Tomorrow morning we will analyze all TODOs
(0080474)
abv   
2018-10-29 17:23   
Document OCC-20161006-v0.5-UpdatedArchitectureOfBRepMeshComponent.doc attached to this issue has broken formatting (see e.g. page 4)
(0080476)
oan   
2018-10-29 17:30   
(edited on: 2018-10-29 19:04)
Entire documentation has been integrated in markdown format along with patch.

(0080550)
git   
2018-10-31 14:24   
Branch CR26106 has been updated forcibly by nbv.

SHA-1: 20d4dbcdc775def3a1b1cd06230ba8fa22c85fcc
(0080558)
nbv   
2018-10-31 18:05   
Conclusion.

1. Final default value of MinSize parameters we have applied to be equal to 0.1*Deflection.

2. Test cases:
mesh data advanced A6
mesh data standard U6
mesh data standard U7
mesh data standard V2
mesh data standard V4

The correction is connected with renaming final statuses returning by BRepMesh_IncrementalMesh algorithm. In the considered cases, status "Failure" has become printed in DRAW-console (it has not done on MASTER). This word is parsed by our test system as regression. Corrections have been made to avoid it. Additionally, the bug 0030056 has been created to reconsider names of new statuses.

3. Test cases:
mesh data advanced B7
mesh data advanced B3

have been reverted to MASTER version.

3. Tests "mesh data standard B5" and "mesh data standard M8". Corrections have been explained in the message 0026106:0060747.

4. Test "mesh data standard B9" currently changed its behavior. There was not triangulated face on MASTER. On FIX, all faces are triangulated but some faces contain invalid mesh. So, it is not a regression. New behavior can be applied.
(0080567)
git   
2018-11-01 09:32   
Branch CR26106 has been updated forcibly by nbv.

SHA-1: 7a19de7dd5386217c6675cb6394d513fe691a490
(0080572)
msv   
2018-11-01 12:27   
Test bugs vis bug172 is a real improvement? Then it is needed to remove TODO.
(0080575)
nbv   
2018-11-01 13:11   
Test bugs vis bug172 is unstable. The last testing has returned it as BAD.
(0080588)
nbv   
2018-11-01 15:50   
Fixed and tested in farame of 0030322
(0080589)
msv   
2018-11-01 15:50   
I have reviewed.
(0080619)
abv   
2018-11-02 14:28   
Please integrate together with #30008, 0030305, and 0030322.

According to tests, there seem to be essential overall improvement in robustness (on many cases some faces previously not meshed now have triangulation built), reduction of number of triangles, and visual mesh quality in many cases.

Yet there are some suspicious points:

1. There are some tests where visual quality of the shaded presentation became a bit worse than on master. Some of them have been checked in this issue and #30008, but some seem to be not yet checked:

mesh standard_incmesh V7
bugs vis bug641
bugs modalg_7 bug28151

2. Among many performance improvements, there are some cases that became slower. Here is the list (except cases already checked within #30008):

CPU bugs modalg_4 bug6725: 4.56 / 2.31 [+97.40%]
CPU bugs moddata_1 bug22757: 4.59 / 1.3 [+253.08%]
CPU bugs mesh bug25378_3_3: 4.23 / 2.37 [+78.48%]
CPU bugs mesh bug25378_1_3: 17.93 / 8.73 [+105.38%]
CPU bugs modalg_5 bug24220: 4.45 / 1.29 [+244.96%]


3. Personally I still do not understand the purpose of introducing extra packages like IMeshData.

Let's address these points later separately.
(0080624)
bugmaster   
2018-11-02 14:34   
Tested on WEEK-44

Combination -
OCCT branch : WEEK-44 SHA - 28ba266f89541152a33628babc066c381fc74d43
Products branch : WEEK-44 SHA - 4525a60ddf97fbcad482f1351d777d1e352a8307
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: 16039.140000000109 / 16239.160000000287 [-1.23%]
Products
Total CPU difference: 7026.560000000032 / 7077.76000000003 [-0.72%]
Windows-64-VC14:
OCCT
Total CPU difference: 17510.3125 / 17699.515625 [-1.07%]
Products
Total CPU difference: 8514.828125 / 8596.328125 [-0.95%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
(0080696)
git   
2018-11-04 14:08   
Branch CR26106 has been deleted by inv.

SHA-1: 7a19de7dd5386217c6675cb6394d513fe691a490
(0080708)
git   
2018-11-04 14:08   
Branch CR26106_final has been deleted by inv.

SHA-1: 9c08e039966cc8019b1f6416db920733ab88c346
(0080710)
git   
2018-11-04 14:08   
Branch CR26106nbv_1 has been deleted by inv.

SHA-1: 652e810ec26d72f95db3d580e41759ab1bb2219c
(0080711)
git   
2018-11-04 14:08   
Branch CR26106nbv has been deleted by inv.

SHA-1: 85dad5ab233e90c25ca3262898180f1836f0c920
(0080720)
git   
2018-11-04 14:09   
Branch CR26106oan has been deleted by inv.

SHA-1: 38271ac8d9aedccdd2369575c6770e2c9e96c669
(0080721)
git   
2018-11-04 14:09   
Branch CR26106_rebase has been deleted by inv.

SHA-1: d909b2b522e8740e689a08eead9be0aba77084c0
(0080722)
git   
2018-11-04 14:09   
Branch CR26106_IR_7.3.0_rebased has been deleted by inv.

SHA-1: 002b8c87ba1b40d0f46bd1431900f0d29ce0d6d7
(0080723)
git   
2018-11-04 14:09   
Branch CR26106_IR_7.3.0 has been deleted by inv.

SHA-1: ca02fbfcfac257cd582348c6630cbedfb9d4d19d
(0080724)
git   
2018-11-04 14:09   
Branch CR26106_IR_MOD has been deleted by inv.

SHA-1: bdd35bf3dae702a80553bb1f3384e1b61f05fab8
(0080725)
git   
2018-11-04 14:09   
Branch CR26106_IR has been deleted by inv.

SHA-1: ad0d53951d585ff241c5613eddba7302aae452e8
(0080726)
git   
2018-11-04 14:09   
Branch CR26106_origin has been deleted by inv.

SHA-1: 7a5505fd91f2c98afa0361a6ef87151ba3532bfa
(0082173)
abv   
2019-02-14 10:38   
File badshape.brep mentioned in comments above can be found in the issue #30008