View Issue Details

IDProjectCategoryView StatusLast Update
0026106Open CASCADEOCCT:Meshpublic2022-01-12 12:55
Reporteroan Assigned Tobugmaster  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
Target Version7.4.0Fixed in Version7.4.0 
Summary0026106: BRepMesh - revision of data model
DescriptionBRepMesh 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.
Steps To ReproduceNot needed
Additional information
and documentation updates
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.
TagsNo tags attached.
Test case numberNot needed

Attached Files

  • OCC-20161006-v0.1-UpdatedArchitectureOfBRepMeshComponent.doc (1,297,408 bytes)
  • OCC-20161006-v0.2-UpdatedArchitectureOfBRepMeshComponent.doc (1,324,544 bytes)
  • bugs_moddata_1_bug22761.png (15,577 bytes)
  • mesh_standard_shading_W5.png (46,594 bytes)
  • mesh_standard_shading_X2.png (59,908 bytes)
  • bugs_vis_buc60887.png (16,362 bytes)
  • bugs_vis_buc60858.png (29,577 bytes)
  • bugs_moddata_2_bug22746_2.png (26,540 bytes)
  • bugs_modalg_2_bug20827.png (6,587 bytes)
  • bugs_moddata_2_bug22746_3.png (18,533 bytes)
  • mesh_standard_shading_C9.png (44,217 bytes)
  • mesh_standard_shading_U2.png (27,573 bytes)
  • mesh_standard_shading_U7.png (65,275 bytes)
  • mesh_standard_shading_W2.png (35,225 bytes)
  • mesh_standard_shading_W4.png (42,961 bytes)
  • mesh_standard_shading_X1.png (35,951 bytes)
  • mesh_standard_shading_X4.png (47,097 bytes)
  • OCC-20161006-v0.3-UpdatedArchitectureOfBRepMeshComponent.doc (1,079,296 bytes)
  • bad_mesh.PNG (152,436 bytes)
  • OCC-20161006-v0.4-UpdatedArchitectureOfBRepMeshComponent.doc (1,079,808 bytes)
  • OCC-20161006-v0.5-UpdatedArchitectureOfBRepMeshComponent.doc (1,095,168 bytes)
  • upgrade.md (1,788 bytes)
  • pipe_specidic_L5.PNG (76,109 bytes)

Relationships

related to 0023111 closedbugmaster Open CASCADE Incorrect mesh 
related to 0025837 closedbugmaster Open CASCADE Bad triangulation when IGES loaded in meters 
related to 0024084 assignedoan Open CASCADE Additional tool for resolving 2d loops on discretized wires should be implemented in BRepMesh 
related to 0025633 closedbugmaster Open CASCADE Improve quality of mesh in case of sphere 
related to 0025062 closedbugmaster Open CASCADE BRepMesh should decrease deflection for edges of suspected wires only 
related to 0020827 assignedoan Open CASCADE Problem of displaying in SHADING mode  
related to 0023837 newoan Open CASCADE BRepMesh shouldn't trust the SameParameter flag 
related to 0026889 closedbugmaster Community Very poor mesh result from shape 
related to 0026965 closedbugmaster Community BRepMesh_IncrementalMesh hangs, and consumes infinite memory 
related to 0025249 feedbackoan Open CASCADE Some problematic cases from mesh tests have been uncovered during refactoring of BRepMesh 
related to 0023795 closedbugmaster Open CASCADE Performance regression of meshing 
related to 0022687 assignedoan Open CASCADE Triangulation is made with errors on mesh test. 
parent of 0025061 newoan Open CASCADE BRepMesh should skip internal wires with self intersections to produce mesh for the shape anyway 
parent of 0030056 newoan Open CASCADE Mesh - Rename fail statuses entered in BRepMesh algorith in the issue 0026106 
parent of 0030167 closedbugmaster Open CASCADE Face is displayed wrongly in OCCT 3D-viewer 
parent of 0030329 closedbugmaster Open CASCADE Move BRepMesh_IncAllocator to NCollection package 
parent of 0030345 closedbugmaster Open CASCADE [REGRESSION] Mesh, BRepMesh_CurveTessellator - GCPnts_TangentialDeflection throws Standard_ConstructionError 
parent of 0030347 closedbugmaster Open CASCADE [REGRESSION] Mesh, BRepMesh_ModelPostProcessor - NCollection_Array1 throws Standard_RangeError 
parent of 0030497 closedapn Open CASCADE [REGRESSION] Mesh - wrong Poly_Polygon3D within local selection of located shape 
parent of 0030924 closedapn Open CASCADE Coding - incorrect header in file OSD_ThreadPool.hxx 
parent of 0032241 closedoan Community Mesh - wrong shading display of thrusections [regression since OCCT 7.4.0] 
parent of 0032253 closedbugmaster Community Mesh - The refactored Mesher fails to mesh correctly scaled (planar) faces 
parent of 0032462 newoan Community Mesh - missing face issue, bad surface and bad volume [Regression compared to OCCT 7.3.0] 
related to 0027845 closedbugmaster Open CASCADE BRepMesh produces invalid result on spline cavity 
related to 0025588 closedbugmaster Community Mesh - BRepMesh_ShapeTool::FindUV check for 2d points to be the same is inconsistent with ShapeAnalysis_Wire::CheckLacking 
related to 0027693 closedbugmaster Open CASCADE BRepMesh: fine edge tessellation leads to excess number of triangles along the whole U or V stripes 
related to 0026074 assignedoan Open CASCADE Mesh - BRepMesh_IncrementalMesh meshes a specific shape for a long time 
related to 0029316 closedbugmaster Open CASCADE Test case bugs mesh bug25806 works unstable 
related to 0029751 closedbugmaster Open CASCADE Incremental mesh produces different meshes for windows and linux (debian 8) 
related to 0029962 closedbugmaster Open CASCADE Master version of BRepMesh does not respect obvious details despite of specified deflection 
related to 0026716 closedbugmaster Community Mesher cannot create a mesh of brep model due to ShapeFix_Wire::FixShifted() 
related to 0030322 closedbugmaster Open CASCADE Remove DRAW-command "mesh" as useless 
related to 0031401 newdpasukhi Open CASCADE Visualization - revise Toolkits dependency graph 
related to 0032767 closedknosulko Open CASCADE Mesh - incorrect splitting of edges of seams leading to hang [since OCCT 7.4.0] 
Not all the children of this issue are yet resolved or closed.

Activities

git

2016-10-12 16:28

administrator   ~0058625

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

oan

2016-10-13 17:02

developer  

OCC-20161006-v0.1-UpdatedArchitectureOfBRepMeshComponent.doc (1,297,408 bytes)

git

2016-10-14 11:41

administrator   ~0058714

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

git

2016-10-14 14:18

administrator   ~0058719

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

git

2016-10-14 14:21

administrator   ~0058720

Branch CR26106 has been updated forcibly by oan.

SHA-1: f368c00b300b344f8263638dfb0623f53d03257b

git

2016-10-26 16:34

administrator   ~0059182

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

oan

2016-10-26 16:50

developer   ~0059186

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.

git

2016-11-01 17:11

administrator   ~0059714

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

msv

2016-11-01 19:21

developer   ~0059727

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]

git

2016-11-02 11:04

administrator   ~0059742

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

oan

2016-11-02 11:06

developer   ~0059743

Works on VS2015. Please take the latest commit, it should work for VS2013.

msv

2016-11-02 14:17

developer   ~0059783

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]

oan

2016-11-02 15:22

developer   ~0059790

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.

git

2016-11-02 15:48

administrator   ~0059793

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

oan

2016-11-02 16:01

developer   ~0059794

Done, warnings have been suppressed for VS2013.

msv

2016-11-21 10:37

developer   ~0060592

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.

oan

2016-11-21 12:47

developer   ~0060611

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.

git

2016-11-23 18:11

administrator   ~0060746

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

oan

2016-11-23 18:21

developer   ~0060747

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

oan

2016-11-24 12:11

developer  

OCC-20161006-v0.2-UpdatedArchitectureOfBRepMeshComponent.doc (1,324,544 bytes)

msv

2016-11-25 09:44

developer   ~0060769

Dear Katya, please take care of further review.

git

2017-01-23 15:14

administrator   ~0062903

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

oan

2017-02-03 10:46

developer   ~0063381

DC,

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

TIA.

oan

2017-04-20 14:35

developer   ~0065393

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.

git

2017-07-20 15:15

administrator   ~0068498

Branch CR26106_origin has been updated forcibly by oan.

SHA-1: 2048da704645234df14071fa2dfff56235651bf6

git

2017-07-20 15:48

administrator   ~0068500

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

git

2017-07-20 16:14

administrator   ~0068502

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

git

2017-07-20 17:11

administrator   ~0068510

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

git

2017-07-20 17:35

administrator   ~0068511

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

git

2017-07-20 18:38

administrator   ~0068513

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

git

2017-07-20 18:56

administrator   ~0068514

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

git

2017-07-21 10:34

administrator   ~0068528

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

git

2017-07-21 10:46

administrator   ~0068530

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

git

2017-07-21 11:26

administrator   ~0068537

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

git

2017-07-21 11:39

administrator   ~0068538

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

oan

2017-07-21 16:05

developer   ~0068566

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.

msv

2017-07-21 16:41

developer   ~0068590

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?

oan

2017-07-21 16:55

developer   ~0068595

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.

oan

2017-07-24 15:42

developer   ~0068630

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).

oan

2017-07-24 15:44

developer   ~0068632

Last edited: 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.

oan

2017-07-25 10:50

developer  

bugs_moddata_1_bug22761.png (15,577 bytes)

oan

2017-07-25 10:50

developer  

mesh_standard_shading_W5.png (46,594 bytes)

oan

2017-07-25 10:50

developer  

mesh_standard_shading_X2.png (59,908 bytes)

oan

2017-07-25 10:51

developer  

bugs_vis_buc60887.png (16,362 bytes)

oan

2017-07-25 10:51

developer  

bugs_vis_buc60858.png (29,577 bytes)

oan

2017-07-25 10:51

developer  

bugs_moddata_2_bug22746_2.png (26,540 bytes)

oan

2017-07-25 10:51

developer  

bugs_modalg_2_bug20827.png (6,587 bytes)

oan

2017-07-25 10:52

developer  

bugs_moddata_2_bug22746_3.png (18,533 bytes)

oan

2017-07-25 10:52

developer  

mesh_standard_shading_C9.png (44,217 bytes)

oan

2017-07-25 10:52

developer  

mesh_standard_shading_U2.png (27,573 bytes)

oan

2017-07-25 10:52

developer  

mesh_standard_shading_U7.png (65,275 bytes)

oan

2017-07-25 10:53

developer  

mesh_standard_shading_W2.png (35,225 bytes)

oan

2017-07-25 10:53

developer  

mesh_standard_shading_W4.png (42,961 bytes)

oan

2017-07-25 10:53

developer  

mesh_standard_shading_X1.png (35,951 bytes)

oan

2017-07-25 10:53

developer  

mesh_standard_shading_X4.png (47,097 bytes)

oan

2017-07-25 10:55

developer   ~0068658

Several pictures are attached to the issue representing significant improvements introduced by patch.

git

2017-07-25 11:18

administrator   ~0068660

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

git

2017-10-09 13:05

administrator   ~0071300

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;

oan

2018-01-16 11:44

developer   ~0073428

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.

git

2018-06-09 00:39

administrator   ~0076689

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.

git

2018-06-09 12:31

administrator   ~0076692

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;

git

2018-06-09 12:56

administrator   ~0076693

Branch CR26106_IR_7.3.0 has been updated forcibly by oan.

SHA-1: 6d32faddc93a739688cb41269174dc1dd0482765

msv

2018-06-09 20:33

developer   ~0076718

Compilation warning on MAC:
BRepMesh_VertexTool.hxx:99, Clang (LLVM based), Priority: Normal
'BRepMesh_VertexTool::Delete' hides overloaded virtual function

msv

2018-06-09 20:36

developer   ~0076719

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

oan

2018-06-09 23:08

developer   ~0076720

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/

msv

2018-06-09 23:50

developer   ~0076721

It would be better to check CPU results on Windows. I wonder why OCCT compilation failed on Windows. I directed query to INV.

oan

2018-06-13 12:16

developer   ~0076737

Thanks, link is available:
http://occt-tests/master-CR26106_IR_7.3.0-OAN-OCCT/Windows-64-VC10/diff_summary.html

oan

2018-06-14 12:11

developer   ~0076766

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.

msv

2018-06-14 16:02

developer   ~0076772

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.

oan

2018-06-18 19:21

developer   ~0076824

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?

msv

2018-06-19 09:07

developer   ~0076827

Oleg, I have made only some cursory remarks. I have to review more deep before final decision.

oan

2018-07-09 13:00

developer   ~0077390

Last edited: 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.

oan

2018-07-18 18:22

developer  

OCC-20161006-v0.3-UpdatedArchitectureOfBRepMeshComponent.doc (1,079,296 bytes)

msv

2018-07-27 11:42

developer   ~0078076

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.

msv

2018-07-27 11:54

developer  

bad_mesh.PNG (152,436 bytes)

msv

2018-07-27 11:55

developer   ~0078078

Dear Oleg, please also take care of the attached badshape.brep. Its visualization in the fix in worse than in master (see attached snapshots).

msv

2018-07-27 11:56

developer   ~0078079

This shape is confidential.

oan

2018-07-27 12:06

developer   ~0078080

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

oan

2018-07-27 12:29

developer   ~0078082

Last edited: 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).

oan

2018-07-27 12:47

developer   ~0078083

Last edited: 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.

oan

2018-07-27 12:48

developer   ~0078084

>>>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

oan

2018-07-27 13:04

developer   ~0078085

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.

oan

2018-07-27 14:26

developer   ~0078087

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.

oan

2018-07-27 14:32

developer   ~0078089

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)

oan

2018-07-27 14:46

developer   ~0078091

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.

oan

2018-07-27 14:50

developer   ~0078092

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.

oan

2018-07-27 14:56

developer   ~0078093

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.

oan

2018-07-27 14:59

developer   ~0078094

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

To be checked.

oan

2018-07-27 15:05

developer   ~0078096

>>> 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;
}

oan

2018-07-27 15:10

developer   ~0078097

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

oan

2018-07-27 15:12

developer   ~0078098

Other remarks - agree, to be corrected.

git

2018-07-29 06:48

administrator   ~0078167

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

oan

2018-07-29 06:49

developer   ~0078168

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.

oan

2018-07-29 06:51

developer   ~0078169

Last edited: 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?

oan

2018-07-29 06:52

developer   ~0078170

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.

git

2018-08-01 12:45

administrator   ~0078261

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

git

2018-08-01 13:19

administrator   ~0078262

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

oan

2018-08-01 13:21

developer   ~0078263

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.

msv

2018-08-01 15:19

developer   ~0078264

I propose to leave the default block size.

git

2018-08-01 15:27

administrator   ~0078265

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

oan

2018-08-01 15:44

developer   ~0078266

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.

msv

2018-08-01 16:17

developer   ~0078270

Please update upgrade.md

git

2018-08-01 17:44

administrator   ~0078277

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

git

2018-08-01 17:56

administrator   ~0078280

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

oan

2018-08-01 17:57

developer   ~0078281

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

msv

2018-08-01 18:24

developer   ~0078287

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

kgv

2018-08-01 18:36

developer   ~0078289

Last edited: 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.

msv

2018-08-01 18:47

developer   ~0078290

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.

oan

2018-08-02 11:35

developer   ~0078309

Last edited: 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.

oan

2018-08-02 11:56

developer   ~0078311

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.

oan

2018-08-02 16:10

developer  

OCC-20161006-v0.4-UpdatedArchitectureOfBRepMeshComponent.doc (1,079,808 bytes)

git

2018-08-02 16:10

administrator   ~0078326

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

git

2018-08-02 17:06

administrator   ~0078330

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;

oan

2018-08-02 17:17

developer   ~0078332

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?

oan

2018-08-02 17:20

developer   ~0078333

Current branch is CR26106_IR_7.3.0_rebased

git

2018-08-03 17:22

administrator   ~0078367

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;

oan

2018-08-06 11:12

developer  

OCC-20161006-v0.5-UpdatedArchitectureOfBRepMeshComponent.doc (1,095,168 bytes)

oan

2018-08-06 11:12

developer  

upgrade.md (1,788 bytes)

git

2018-08-06 13:34

administrator   ~0078420

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 6ddb81ad258abe00fa38855d675e76fb714077fb

git

2018-08-08 10:35

administrator   ~0078483

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: d355fa667eef77587d5258281cd9699df55aeb1e

git

2018-08-08 11:47

administrator   ~0078484

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 0bdfcf38a8ca857999bd9298732c7a4641f3afe7

git

2018-08-08 17:56

administrator   ~0078502

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 0a929251e3ada5dae316ff2ce35ddf2217294dc2

git

2018-08-09 16:32

administrator   ~0078538

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

git

2018-08-10 12:31

administrator   ~0078552

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

git

2018-08-10 12:53

administrator   ~0078553

Branch CR26106_rebase has been created by oan.

SHA-1: d909b2b522e8740e689a08eead9be0aba77084c0


No new revisions were added by this update.

git

2018-08-10 13:31

administrator   ~0078554

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 7dcb1a5970bba11693bdf00785514169721fddd6

git

2018-08-13 10:01

administrator   ~0078577

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: bb5eb7f44295f804b6278509ffb35a4eb0cbe4fd

kgv

2018-08-14 14:23

developer   ~0078591

Last edited: 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.

git

2018-08-14 18:08

administrator   ~0078610

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: e0bc01bfe728a0452a4587c012561ee6639f66d6

git

2018-08-15 17:17

administrator   ~0078630

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 146ff7291f4904b8a6b01fab3f99d4ca2ae44a6b

git

2018-08-15 17:21

administrator   ~0078632

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)

git

2018-08-16 09:32

administrator   ~0078642

Branch CR26106oan has been updated forcibly by nbv.

SHA-1: 1fc1c78fc619ee0909f1cb98ace47c0910d15401

git

2018-08-16 10:54

administrator   ~0078643

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 69b45a47704860588b0c3ce2ba69169bf852d8b2

git

2018-08-16 10:57

administrator   ~0078644

Branch CR26106oan has been updated forcibly by nbv.

SHA-1: 25da422d3ff064cdff67ac98fb33d949ac60f4fa

git

2018-08-20 16:33

administrator   ~0078692

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: b821f404f5ddd85b999957029f289478c9f83953

git

2018-08-20 16:36

administrator   ~0078693

Branch CR26106oan has been updated forcibly by nbv.

SHA-1: d8f815aafb37bc6c295c82539f87f4cd919ceb88

git

2018-08-21 11:07

administrator   ~0078703

Branch CR26106oan has been updated forcibly by nbv.

SHA-1: 38271ac8d9aedccdd2369575c6770e2c9e96c669

git

2018-08-21 17:51

administrator   ~0078709

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: f7b3a5d93f1366fb6f13720c3b2a6868dd05ec96

git

2018-08-24 15:58

administrator   ~0078761

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 0dfdfaa3a5628dc6c0eaace630cb528852dc4b04

git

2018-08-27 10:00

administrator   ~0078787

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 202eac7b3adaa6a3635df2c5a748432966999275

git

2018-08-30 12:22

administrator   ~0078855

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.

oan

2018-08-31 11:12

developer   ~0078878

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.

kgv

2018-08-31 11:17

developer   ~0078879

Last edited: 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.

oan

2018-08-31 11:28

developer   ~0078880

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.

git

2018-09-03 09:28

administrator   ~0078914

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 202eac7b3adaa6a3635df2c5a748432966999275

git

2018-09-03 17:47

administrator   ~0078951

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 1fa236a4018dcc3fb99b968915cc31e9de507172

git

2018-09-04 13:33

administrator   ~0078984

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 89000bfe7e485281ff73ff14dcf55108da5e785a

git

2018-09-10 17:03

administrator   ~0079097

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 09128dbb352b301c325df4f83513bda1384dc2c1

git

2018-09-17 09:13

administrator   ~0079204

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 7620777a8e63845642271b7d57dffe9417fb556e

git

2018-09-20 12:11

administrator   ~0079272

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 4c97fda98e0f2c2e66b042f7a293e291173c2d31

git

2018-09-20 13:26

administrator   ~0079277

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: abb08a0ff5ae111245329180e870232022736345

nbv

2018-09-24 13:09

developer  

pipe_specidic_L5.PNG (76,109 bytes)

nbv

2018-09-24 13:47

developer   ~0079359

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.

nbv

2018-10-02 16:23

developer   ~0079607

The fix has been moved to the issue #0030008.

git

2018-10-19 15:46

administrator   ~0080126

Branch CR26106nbv has been updated forcibly by nbv.

SHA-1: 85dad5ab233e90c25ca3262898180f1836f0c920

git

2018-10-19 15:54

administrator   ~0080128

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;

msv

2018-10-23 12:40

developer   ~0080228

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.

git

2018-10-25 12:28

administrator   ~0080306

Branch CR26106_final has been created by nbv.

SHA-1: 9c08e039966cc8019b1f6416db920733ab88c346


No new revisions were added by this update.

msv

2018-10-25 12:47

developer   ~0080307

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.

apn

2018-10-26 15:40

administrator   ~0080386

Tested with IR-WEEK43.

abv

2018-10-29 13:50

manager   ~0080453

Last edited: 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?

oan

2018-10-29 14:03

developer   ~0080454

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.

abv

2018-10-29 14:16

manager   ~0080455

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

oan

2018-10-29 15:10

developer   ~0080457

Last edited: 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".

oan

2018-10-29 15:11

developer   ~0080458

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

oan

2018-10-29 15:23

developer   ~0080460

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

oan

2018-10-29 15:29

developer   ~0080462

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

oan

2018-10-29 15:39

developer   ~0080463

Last edited: 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.

abv

2018-10-29 16:28

manager   ~0080465

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.

oan

2018-10-29 17:16

developer   ~0080472

Agree.

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

TIA.

nbv

2018-10-29 17:22

developer   ~0080473

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

abv

2018-10-29 17:23

manager   ~0080474

Document OCC-20161006-v0.5-UpdatedArchitectureOfBRepMeshComponent.doc attached to this issue has broken formatting (see e.g. page 4)

oan

2018-10-29 17:30

developer   ~0080476

Last edited: 2018-10-29 19:04

Entire documentation has been integrated in markdown format along with patch.

git

2018-10-31 14:24

administrator   ~0080550

Branch CR26106 has been updated forcibly by nbv.

SHA-1: 20d4dbcdc775def3a1b1cd06230ba8fa22c85fcc

nbv

2018-10-31 18:05

developer   ~0080558

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.

git

2018-11-01 09:32

administrator   ~0080567

Branch CR26106 has been updated forcibly by nbv.

SHA-1: 7a19de7dd5386217c6675cb6394d513fe691a490

msv

2018-11-01 12:27

developer   ~0080572

Test bugs vis bug172 is a real improvement? Then it is needed to remove TODO.

nbv

2018-11-01 13:11

developer   ~0080575

Test bugs vis bug172 is unstable. The last testing has returned it as BAD.

nbv

2018-11-01 15:50

developer   ~0080588

Fixed and tested in farame of 0030322

msv

2018-11-01 15:50

developer   ~0080589

I have reviewed.

abv

2018-11-02 14:28

manager   ~0080619

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.

bugmaster

2018-11-02 14:34

administrator   ~0080624

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

git

2018-11-04 14:08

administrator   ~0080696

Branch CR26106 has been deleted by inv.

SHA-1: 7a19de7dd5386217c6675cb6394d513fe691a490

git

2018-11-04 14:08

administrator   ~0080708

Branch CR26106_final has been deleted by inv.

SHA-1: 9c08e039966cc8019b1f6416db920733ab88c346

git

2018-11-04 14:08

administrator   ~0080710

Branch CR26106nbv_1 has been deleted by inv.

SHA-1: 652e810ec26d72f95db3d580e41759ab1bb2219c

git

2018-11-04 14:08

administrator   ~0080711

Branch CR26106nbv has been deleted by inv.

SHA-1: 85dad5ab233e90c25ca3262898180f1836f0c920

git

2018-11-04 14:09

administrator   ~0080720

Branch CR26106oan has been deleted by inv.

SHA-1: 38271ac8d9aedccdd2369575c6770e2c9e96c669

git

2018-11-04 14:09

administrator   ~0080721

Branch CR26106_rebase has been deleted by inv.

SHA-1: d909b2b522e8740e689a08eead9be0aba77084c0

git

2018-11-04 14:09

administrator   ~0080722

Branch CR26106_IR_7.3.0_rebased has been deleted by inv.

SHA-1: 002b8c87ba1b40d0f46bd1431900f0d29ce0d6d7

git

2018-11-04 14:09

administrator   ~0080723

Branch CR26106_IR_7.3.0 has been deleted by inv.

SHA-1: ca02fbfcfac257cd582348c6630cbedfb9d4d19d

git

2018-11-04 14:09

administrator   ~0080724

Branch CR26106_IR_MOD has been deleted by inv.

SHA-1: bdd35bf3dae702a80553bb1f3384e1b61f05fab8

git

2018-11-04 14:09

administrator   ~0080725

Branch CR26106_IR has been deleted by inv.

SHA-1: ad0d53951d585ff241c5613eddba7302aae452e8

git

2018-11-04 14:09

administrator   ~0080726

Branch CR26106_origin has been deleted by inv.

SHA-1: 7a5505fd91f2c98afa0361a6ef87151ba3532bfa

abv

2019-02-14 10:38

manager   ~0082173

File badshape.brep mentioned in comments above can be found in the issue #30008

Related Changesets

occt: master 7bd071ed

2017-10-09 10:04:54

oan


Committer: bugmaster Details Diff
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;
* Heal discrete model: source TopoDS_Shape can contain problems, such as open-wire or self-intersections, introduced during design, exchange or modification of model. In addition, some problems like self-intersections can be introduced by roughly discretized edges. This stage is responsible for analysis of discrete model in order to detect and repair faced problems or refuse model’s part for further processing in case if problem cannot be solved;
* Preprocess discrete model: defines actions specific for implemented approach to be performed before meshing of faces. By default, iterates over model faces and checks consistency of existing triangulations. Cleans topological faces and its adjacent edges from polygonal data in case of inconsistency or marks face of discrete model as not required for computation;
* Discretize faces: represents core part performing mesh generation for particular face based on 2D discrete data related to processing face. Caches polygonal data associated with face’s edges in data model for further processing and stores generated mesh to TopoDS_Face;
* Postprocess discrete model: defines actions specific for implemented approach to be performed after meshing of faces. By default, stores polygonal data obtained on previous stage to TopoDS_Edge objects of source model.

Component is now spread over IMeshData, IMeshTools, BRepMeshData and BRepMesh units.

<!break>

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

2. Class BRepMesh_FastDiscret::Parameters has been declared as deprecated.

3. NURBS range splitter: do not split intervals without necessity. Intervals are split only in case if it is impossible to compute normals directly on intervals.

4. Default value of IMeshTools_Parameters::MinSize has been changed. New value is equal to 0.1*Deflection.

5. Correction of test scripts:

1) perf mesh bug27119: requested deflection is increased from 1e-6 to 1e-5 to keep reasonable performance (but still reproducing original issue)
2) bugs mesh bug26692_1, 2: make snapshot of triangulation instead of wireframe (irrelevant)

Correction in upgrade guide.
Affected Issues
0026106
mod - adm/UDLIST Diff File
mod - dox/dev_guides/upgrade/upgrade.md Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_mesh_001.svg Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_mesh_002.svg Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_mesh_003.svg Diff File
add - dox/user_guides/modeling_algos/images/modeling_algos_mesh_004.svg Diff File
mod - dox/user_guides/modeling_algos/modeling_algos.md Diff File
mod - src/AIS/AIS_RubberBand.cxx Diff File
rm - src/BRepMesh/BRepMesh.hxx Diff File
add - src/BRepMesh/BRepMesh_BaseMeshAlgo.cxx Diff File
add - src/BRepMesh/BRepMesh_BaseMeshAlgo.hxx Diff File
add - src/BRepMesh/BRepMesh_BoundaryParamsRangeSplitter.hxx Diff File
mod - src/BRepMesh/BRepMesh_CircleInspector.hxx Diff File
mod - src/BRepMesh/BRepMesh_CircleTool.cxx Diff File
mod - src/BRepMesh/BRepMesh_CircleTool.hxx Diff File
mod - src/BRepMesh/BRepMesh_Classifier.cxx Diff File
mod - src/BRepMesh/BRepMesh_Classifier.hxx Diff File
add - src/BRepMesh/BRepMesh_ConeRangeSplitter.cxx Diff File
add - src/BRepMesh/BRepMesh_ConeRangeSplitter.hxx Diff File
add - src/BRepMesh/BRepMesh_Context.cxx Diff File
add - src/BRepMesh/BRepMesh_CurveTessellator.cxx Diff File
add - src/BRepMesh/BRepMesh_CurveTessellator.hxx Diff File
add - src/BRepMesh/BRepMesh_CylinderRangeSplitter.cxx Diff File
add - src/BRepMesh/BRepMesh_CylinderRangeSplitter.hxx Diff File
mod - src/BRepMesh/BRepMesh_DataStructureOfDelaun.cxx Diff File
mod - src/BRepMesh/BRepMesh_DataStructureOfDelaun.hxx Diff File
add - src/BRepMesh/BRepMesh_DefaultRangeSplitter.cxx Diff File
add - src/BRepMesh/BRepMesh_DefaultRangeSplitter.hxx Diff File
add - src/BRepMesh/BRepMesh_Deflection.cxx Diff File
add - src/BRepMesh/BRepMesh_Deflection.hxx Diff File
mod - src/BRepMesh/BRepMesh_Delaun.cxx Diff File
mod - src/BRepMesh/BRepMesh_Delaun.hxx Diff File
add - src/BRepMesh/BRepMesh_DelaunayBaseMeshAlgo.cxx Diff File
add - src/BRepMesh/BRepMesh_DelaunayBaseMeshAlgo.hxx Diff File
add - src/BRepMesh/BRepMesh_DelaunayDeflectionControlMeshAlgo.hxx Diff File
add - src/BRepMesh/BRepMesh_DelaunayNodeInsertionMeshAlgo.hxx Diff File
mod - src/BRepMesh/BRepMesh_DiscretRoot.hxx Diff File
mod - src/BRepMesh/BRepMesh_Edge.hxx Diff File
add - src/BRepMesh/BRepMesh_EdgeDiscret.cxx Diff File
add - src/BRepMesh/BRepMesh_EdgeDiscret.hxx Diff File
rm - src/BRepMesh/BRepMesh_EdgeParameterProvider.cxx Diff File
mod - src/BRepMesh/BRepMesh_EdgeParameterProvider.hxx Diff File
mod - src/BRepMesh/BRepMesh_EdgeTessellationExtractor.cxx Diff File
mod - src/BRepMesh/BRepMesh_EdgeTessellationExtractor.hxx Diff File
rm - src/BRepMesh/BRepMesh_EdgeTessellator.cxx Diff File
rm - src/BRepMesh/BRepMesh_EdgeTessellator.hxx Diff File
rm - src/BRepMesh/BRepMesh_FaceAttribute.cxx Diff File
rm - src/BRepMesh/BRepMesh_FaceAttribute.hxx Diff File
add - src/BRepMesh/BRepMesh_FaceChecker.cxx Diff File
add - src/BRepMesh/BRepMesh_FaceChecker.hxx Diff File
add - src/BRepMesh/BRepMesh_FaceDiscret.cxx Diff File
add - src/BRepMesh/BRepMesh_FaceDiscret.hxx Diff File
rm - src/BRepMesh/BRepMesh_FastDiscret.cxx Diff File
mod - src/BRepMesh/BRepMesh_FastDiscret.hxx Diff File
rm - src/BRepMesh/BRepMesh_FastDiscretFace.cxx Diff File
rm - src/BRepMesh/BRepMesh_FastDiscretFace.hxx Diff File
mod - src/BRepMesh/BRepMesh_GeomTool.cxx Diff File
mod - src/BRepMesh/BRepMesh_GeomTool.hxx Diff File
rm - src/BRepMesh/BRepMesh_IEdgeTool.cxx Diff File
add - src/BRepMesh/BRepMesh_IncAllocator.hxx Diff File
mod - src/BRepMesh/BRepMesh_IncrementalMesh.cxx Diff File
mod - src/BRepMesh/BRepMesh_IncrementalMesh.hxx Diff File
add - src/BRepMesh/BRepMesh_MeshAlgoFactory.cxx Diff File
add - src/BRepMesh/BRepMesh_MeshAlgoFactory.hxx Diff File
add - src/BRepMesh/BRepMesh_MeshTool.cxx Diff File
add - src/BRepMesh/BRepMesh_MeshTool.hxx Diff File
add - src/BRepMesh/BRepMesh_ModelBuilder.cxx Diff File
add - src/BRepMesh/BRepMesh_ModelBuilder.hxx Diff File
add - src/BRepMesh/BRepMesh_ModelHealer.cxx Diff File
add - src/BRepMesh/BRepMesh_ModelHealer.hxx Diff File
add - src/BRepMesh/BRepMesh_ModelPostProcessor.cxx Diff File
add - src/BRepMesh/BRepMesh_ModelPostProcessor.hxx Diff File
add - src/BRepMesh/BRepMesh_ModelPreProcessor.cxx Diff File
add - src/BRepMesh/BRepMesh_ModelPreProcessor.hxx Diff File
add - src/BRepMesh/BRepMesh_NodeInsertionMeshAlgo.hxx Diff File
add - src/BRepMesh/BRepMesh_NURBSRangeSplitter.cxx Diff File
add - src/BRepMesh/BRepMesh_NURBSRangeSplitter.hxx Diff File
mod - src/BRepMesh/BRepMesh_OrientedEdge.hxx Diff File
rm - src/BRepMesh/BRepMesh_PairOfPolygon.hxx Diff File
mod - src/BRepMesh/BRepMesh_SelectorOfDataStructureOfDelaun.cxx Diff File
mod - src/BRepMesh/BRepMesh_SelectorOfDataStructureOfDelaun.hxx Diff File
mod - src/BRepMesh/BRepMesh_ShapeTool.cxx Diff File
mod - src/BRepMesh/BRepMesh_ShapeTool.hxx Diff File
add - src/BRepMesh/BRepMesh_ShapeVisitor.cxx Diff File
add - src/BRepMesh/BRepMesh_ShapeVisitor.hxx Diff File
add - src/BRepMesh/BRepMesh_SphereRangeSplitter.cxx Diff File
add - src/BRepMesh/BRepMesh_SphereRangeSplitter.hxx Diff File
add - src/BRepMesh/BRepMesh_TorusRangeSplitter.cxx Diff File
add - src/BRepMesh/BRepMesh_TorusRangeSplitter.hxx Diff File
mod - src/BRepMesh/BRepMesh_Triangle.hxx Diff File
add - src/BRepMesh/BRepMesh_UVParamRangeSplitter.hxx Diff File
mod - src/BRepMesh/BRepMesh_Vertex.hxx Diff File
mod - src/BRepMesh/BRepMesh_VertexInspector.hxx Diff File
mod - src/BRepMesh/BRepMesh_VertexTool.cxx Diff File
mod - src/BRepMesh/BRepMesh_VertexTool.hxx Diff File
rm - src/BRepMesh/BRepMesh_WireChecker.cxx Diff File
rm - src/BRepMesh/BRepMesh_WireChecker.hxx Diff File
rm - src/BRepMesh/BRepMesh_WireInterferenceChecker.cxx Diff File
rm - src/BRepMesh/BRepMesh_WireInterferenceChecker.hxx Diff File
mod - src/BRepMesh/FILES Diff File
add - src/BRepMeshData/BRepMeshData_Curve.cxx Diff File
add - src/BRepMeshData/BRepMeshData_Curve.hxx Diff File
add - src/BRepMeshData/BRepMeshData_Edge.cxx Diff File
add - src/BRepMeshData/BRepMeshData_Edge.hxx Diff File
add - src/BRepMeshData/BRepMeshData_Face.cxx Diff File
add - src/BRepMeshData/BRepMeshData_Face.hxx Diff File
add - src/BRepMeshData/BRepMeshData_Model.cxx Diff File
add - src/BRepMeshData/BRepMeshData_Model.hxx Diff File
add - src/BRepMeshData/BRepMeshData_PCurve.cxx Diff File
add - src/BRepMeshData/BRepMeshData_PCurve.hxx Diff File
add - src/BRepMeshData/BRepMeshData_Wire.cxx Diff File
add - src/BRepMeshData/BRepMeshData_Wire.hxx Diff File
add - src/BRepMeshData/FILES Diff File
mod - src/DBRep/DBRep_DrawableShape.cxx Diff File
mod - src/DrawResources/Vector.tcl Diff File
mod - src/ElCLib/ElCLib.cxx Diff File
mod - src/GCPnts/GCPnts_TangentialDeflection.pxx Diff File
add - src/IMeshData/FILES Diff File
add - src/IMeshData/IMeshData_Curve.hxx Diff File
add - src/IMeshData/IMeshData_Edge.hxx Diff File
add - src/IMeshData/IMeshData_Face.hxx Diff File
add - src/IMeshData/IMeshData_Model.hxx Diff File
add - src/IMeshData/IMeshData_ParametersList.hxx Diff File
add - src/IMeshData/IMeshData_ParametersListArrayAdaptor.hxx Diff File
add - src/IMeshData/IMeshData_PCurve.hxx Diff File
add - src/IMeshData/IMeshData_Shape.hxx Diff File
add - src/IMeshData/IMeshData_Status.hxx Diff File
add - src/IMeshData/IMeshData_StatusOwner.hxx Diff File
add - src/IMeshData/IMeshData_TessellatedShape.hxx Diff File
add - src/IMeshData/IMeshData_Types.hxx Diff File
add - src/IMeshData/IMeshData_Wire.hxx Diff File
add - src/IMeshTools/FILES Diff File
add - src/IMeshTools/IMeshTools_Context.hxx Diff File
add - src/IMeshTools/IMeshTools_MeshAlgo.hxx Diff File
add - src/IMeshTools/IMeshTools_MeshAlgoFactory.hxx Diff File
add - src/IMeshTools/IMeshTools_MeshBuilder.cxx Diff File
add - src/IMeshTools/IMeshTools_MeshBuilder.hxx Diff File
add - src/IMeshTools/IMeshTools_ModelAlgo.hxx Diff File
add - src/IMeshTools/IMeshTools_ModelBuilder.hxx Diff File
add - src/IMeshTools/IMeshTools_Parameters.hxx Diff File
add - src/IMeshTools/IMeshTools_ShapeExplorer.cxx Diff File
add - src/IMeshTools/IMeshTools_ShapeExplorer.hxx Diff File
add - src/IMeshTools/IMeshTools_ShapeVisitor.hxx Diff File
mod - src/IVtkOCC/IVtkOCC_ShapeMesher.cxx Diff File
mod - src/MeshTest/MeshTest.cxx Diff File
mod - src/MeshTest/MeshTest_CheckTopology.cxx Diff File
mod - src/MeshTest/MeshTest_CheckTopology.hxx Diff File
mod - src/MeshTest/MeshTest_Debug.cxx Diff File
mod - src/MeshTest/MeshTest_DrawableMesh.cxx Diff File
mod - src/MeshTest/MeshTest_PluginCommands.cxx Diff File
mod - src/QABugs/QABugs_11.cxx Diff File
mod - src/QABugs/QABugs_2.cxx Diff File
mod - src/SelectMgr/SelectMgr_TriangularFrustumSet.cxx Diff File
mod - src/StdPrs/StdPrs_HLRPolyShape.cxx Diff File
mod - src/TKMesh/EXTERNLIB Diff File
mod - src/TKMesh/PACKAGES Diff File
mod - src/VrmlConverter/VrmlConverter_ShadedShape.cxx Diff File
mod - src/VrmlData/VrmlData_ShapeConvert.cxx Diff File
mod - src/XBRepMesh/XBRepMesh.cxx Diff File
mod - tests/bugs/end Diff File
mod - tests/bugs/fclasses/bug7287_4 Diff File
mod - tests/bugs/heal/bug26244 Diff File
mod - tests/bugs/heal/bug26716 Diff File
mod - tests/bugs/iges/buc60820_1 Diff File
mod - tests/bugs/iges/buc60820_2 Diff File
mod - tests/bugs/iges/buc60823 Diff File
mod - tests/bugs/iges/bug22487_2 Diff File
mod - tests/bugs/iges/bug306 Diff File
mod - tests/bugs/mesh/bug22778 Diff File
mod - tests/bugs/mesh/bug23105 Diff File
mod - tests/bugs/mesh/bug23631 Diff File
mod - tests/bugs/mesh/bug24127 Diff File
mod - tests/bugs/mesh/bug24938 Diff File
mod - tests/bugs/mesh/bug25061 Diff File
mod - tests/bugs/mesh/bug25503_2 Diff File
mod - tests/bugs/mesh/bug25519 Diff File
mod - tests/bugs/mesh/bug25628 Diff File
mod - tests/bugs/mesh/bug25817 Diff File
mod - tests/bugs/mesh/bug25837_2 Diff File
mod - tests/bugs/mesh/bug26291 Diff File
mod - tests/bugs/mesh/bug26372 Diff File
mod - tests/bugs/mesh/bug26664 Diff File
mod - tests/bugs/mesh/bug26692_1 Diff File
mod - tests/bugs/mesh/bug26692_2 Diff File
mod - tests/bugs/mesh/bug27384_2 Diff File
mod - tests/bugs/mesh/bug27453 Diff File
mod - tests/bugs/mesh/bug28247 Diff File
mod - tests/bugs/mesh/bug28500 Diff File
add - tests/bugs/mesh/bug30167 Diff File
mod - tests/bugs/modalg_2/bug264_0 Diff File
mod - tests/bugs/modalg_2/bug264_11 Diff File
mod - tests/bugs/modalg_2/bug264_7 Diff File
mod - tests/bugs/modalg_2/bug269_1 Diff File
mod - tests/bugs/modalg_2/bug269_2 Diff File
mod - tests/bugs/modalg_2/bug269_3 Diff File
mod - tests/bugs/modalg_2/bug269_4 Diff File
mod - tests/bugs/modalg_2/bug291 Diff File
mod - tests/bugs/modalg_2/bug292 Diff File
mod - tests/bugs/modalg_2/bug358 Diff File
mod - tests/bugs/modalg_2/bug397 Diff File
mod - tests/bugs/modalg_4/bug825 Diff File
mod - tests/bugs/modalg_7/bug29311_17 Diff File
mod - tests/bugs/modalg_7/bug29701_1 Diff File
mod - tests/bugs/modalg_7/bug29701_2 Diff File
mod - tests/bugs/modalg_7/bug29701_3 Diff File
mod - tests/bugs/modalg_7/bug29807_b3a Diff File
mod - tests/bugs/moddata_1/bug15 Diff File
mod - tests/bugs/moddata_1/bug15519 Diff File
mod - tests/bugs/moddata_1/bug21122 Diff File
mod - tests/bugs/moddata_1/bug22759 Diff File
mod - tests/bugs/moddata_2/bug428 Diff File
mod - tests/bugs/moddata_2/fra62476_2 Diff File
mod - tests/bugs/moddata_3/bug25737_1 Diff File
mod - tests/bugs/vis/buc60858 Diff File
mod - tests/bugs/vis/bug19_1 Diff File
mod - tests/bugs/vis/bug22313 Diff File
mod - tests/bugs/vis/bug22849 Diff File
mod - tests/bugs/vis/bug288_5 Diff File
mod - tests/bugs/vis/bug344 Diff File
mod - tests/bugs/xde/bug22898 Diff File
mod - tests/de_mesh/shape_write_stl/A10 Diff File
mod - tests/de_mesh/shape_write_stl/A11 Diff File
mod - tests/de_mesh/shape_write_stl/A4 Diff File
mod - tests/de_mesh/shape_write_stl/A7 Diff File
mod - tests/de_mesh/shape_write_stl/A8 Diff File
mod - tests/de_mesh/shape_write_stl/A9 Diff File
mod - tests/mesh/data/advanced/A1 Diff File
mod - tests/mesh/data/advanced/A6 Diff File
mod - tests/mesh/data/advanced/A9 Diff File
mod - tests/mesh/data/advanced/B8 Diff File
mod - tests/mesh/data/standard/B5 Diff File
mod - tests/mesh/data/standard/B9 Diff File
mod - tests/mesh/data/standard/C7 Diff File
mod - tests/mesh/data/standard/C9 Diff File
mod - tests/mesh/data/standard/G1 Diff File
mod - tests/mesh/data/standard/H5 Diff File
mod - tests/mesh/data/standard/J8 Diff File
mod - tests/mesh/data/standard/L2 Diff File
mod - tests/mesh/data/standard/M1 Diff File
mod - tests/mesh/data/standard/M4 Diff File
mod - tests/mesh/data/standard/M8 Diff File
mod - tests/mesh/data/standard/Q3 Diff File
mod - tests/mesh/data/standard/U2 Diff File
mod - tests/mesh/data/standard/U5 Diff File
mod - tests/mesh/data/standard/U6 Diff File
mod - tests/mesh/data/standard/U7 Diff File
mod - tests/mesh/data/standard/V2 Diff File
mod - tests/mesh/data/standard/V4 Diff File
mod - tests/mesh/data/standard/V7 Diff File
mod - tests/mesh/data/standard/W2 Diff File
mod - tests/mesh/data/standard/W4 Diff File
mod - tests/mesh/data/standard/W5 Diff File
mod - tests/mesh/data/standard/W6 Diff File
mod - tests/mesh/data/standard/W7 Diff File
mod - tests/mesh/data/standard/X1 Diff File
mod - tests/mesh/data/standard/X2 Diff File
mod - tests/mesh/data/standard/X4 Diff File
mod - tests/mesh/end Diff File
mod - tests/perf/mesh/bug27119 Diff File

Issue History

Date Modified Username Field Change
2015-04-20 14:03 oan New Issue
2015-04-20 14:03 oan Assigned To => oan
2016-04-07 11:42 oan Severity minor => feature
2016-09-06 18:55 oan Relationship added related to 0027845
2016-10-12 16:28 git Note Added: 0058625
2016-10-12 16:29 oan Assigned To oan => abv
2016-10-12 16:29 oan Status new => feedback
2016-10-13 16:54 bugmaster Project Open CASCADE => Internal
2016-10-13 17:02 oan File Added: OCC-20161006-v0.1-UpdatedArchitectureOfBRepMeshComponent.doc
2016-10-13 21:37 abv Summary Introduction of data model => BRepMesh - revision of data model
2016-10-14 11:41 git Note Added: 0058714
2016-10-14 14:18 git Note Added: 0058719
2016-10-14 14:21 git Note Added: 0058720
2016-10-17 11:25 oan Relationship added related to 0023111
2016-10-17 11:26 oan Relationship added parent of 0025061
2016-10-17 11:27 oan Relationship added related to 0025837
2016-10-17 11:28 oan Relationship added related to 0024084
2016-10-17 11:30 oan Relationship added related to 0025633
2016-10-17 11:30 oan Relationship added related to 0025062
2016-10-17 11:30 oan Relationship added related to 0020827
2016-10-17 11:31 oan Relationship added related to 0023837
2016-10-25 17:42 oan Relationship added related to 0025588
2016-10-26 16:34 git Note Added: 0059182
2016-10-26 16:50 oan Note Added: 0059186
2016-10-26 16:53 oan Assigned To abv => msv
2016-10-26 16:53 oan Status feedback => resolved
2016-10-26 16:53 oan Steps to Reproduce Updated
2016-11-01 13:52 oan Relationship added related to 0026889
2016-11-01 13:53 oan Relationship added related to 0026965
2016-11-01 14:04 oan Relationship added related to 0025249
2016-11-01 14:10 oan Relationship added related to 0023795
2016-11-01 17:11 git Note Added: 0059714
2016-11-01 19:21 msv Note Added: 0059727
2016-11-01 19:21 msv Assigned To msv => oan
2016-11-01 19:21 msv Status resolved => assigned
2016-11-02 11:04 git Note Added: 0059742
2016-11-02 11:06 oan Note Added: 0059743
2016-11-02 11:06 oan Assigned To oan => msv
2016-11-02 11:06 oan Status assigned => resolved
2016-11-02 14:17 msv Note Added: 0059783
2016-11-02 14:17 msv Assigned To msv => oan
2016-11-02 14:17 msv Status resolved => assigned
2016-11-02 15:22 oan Note Added: 0059790
2016-11-02 15:48 git Note Added: 0059793
2016-11-02 16:01 oan Note Added: 0059794
2016-11-02 16:01 oan Status assigned => resolved
2016-11-02 16:01 oan Assigned To oan => msv
2016-11-09 13:59 oan Target Version Unscheduled => 7.2.0
2016-11-21 10:37 msv Note Added: 0060592
2016-11-21 10:37 msv Assigned To msv => oan
2016-11-21 10:37 msv Status resolved => assigned
2016-11-21 12:47 oan Note Added: 0060611
2016-11-21 12:47 oan Assigned To oan => msv
2016-11-21 12:47 oan Status assigned => feedback
2016-11-21 14:49 msv Assigned To msv => oan
2016-11-21 14:49 msv Status feedback => assigned
2016-11-23 18:11 git Note Added: 0060746
2016-11-23 18:21 oan Note Added: 0060747
2016-11-23 18:21 oan Assigned To oan => msv
2016-11-23 18:21 oan Status assigned => resolved
2016-11-24 12:00 oan File Added: OCC-20161006-v0.2-UpdatedArchitectureOfBRepMeshComponent.doc
2016-11-24 12:11 oan File Deleted: OCC-20161006-v0.2-UpdatedArchitectureOfBRepMeshComponent.doc
2016-11-24 12:11 oan File Added: OCC-20161006-v0.2-UpdatedArchitectureOfBRepMeshComponent.doc
2016-11-25 09:43 msv Assigned To msv => epa
2016-11-25 09:44 msv Note Added: 0060769
2017-01-23 15:14 git Note Added: 0062903
2017-02-03 10:46 oan Note Added: 0063381
2017-02-15 06:41 epa Assigned To epa => pdn
2017-04-20 14:35 oan Note Added: 0065393
2017-07-20 12:43 oan Target Version 7.2.0 => 7.3.0
2017-07-20 15:15 git Note Added: 0068498
2017-07-20 15:48 git Note Added: 0068500
2017-07-20 16:14 git Note Added: 0068502
2017-07-20 17:11 git Note Added: 0068510
2017-07-20 17:35 git Note Added: 0068511
2017-07-20 18:38 git Note Added: 0068513
2017-07-20 18:56 git Note Added: 0068514
2017-07-21 10:34 git Note Added: 0068528
2017-07-21 10:46 git Note Added: 0068530
2017-07-21 11:26 git Note Added: 0068537
2017-07-21 11:39 git Note Added: 0068538
2017-07-21 16:05 oan Note Added: 0068566
2017-07-21 16:41 msv Note Added: 0068590
2017-07-21 16:55 oan Note Added: 0068595
2017-07-24 15:42 oan Note Added: 0068630
2017-07-24 15:44 oan Note Added: 0068632
2017-07-24 15:44 oan Note Edited: 0068632
2017-07-24 15:45 oan Note Edited: 0068632
2017-07-24 17:38 bugmaster Note Edited: 0068632
2017-07-24 17:38 bugmaster Note Edited: 0068632
2017-07-24 17:40 bugmaster Note Edited: 0068632
2017-07-24 17:46 bugmaster Note Edited: 0068632
2017-07-24 17:46 bugmaster Note Edited: 0068632
2017-07-25 10:50 oan File Added: bugs_moddata_1_bug22761.png
2017-07-25 10:50 oan File Added: mesh_standard_shading_W5.png
2017-07-25 10:50 oan File Added: mesh_standard_shading_X2.png
2017-07-25 10:51 oan File Added: bugs_vis_buc60887.png
2017-07-25 10:51 oan File Added: bugs_vis_buc60858.png
2017-07-25 10:51 oan File Added: bugs_moddata_2_bug22746_2.png
2017-07-25 10:51 oan File Added: bugs_modalg_2_bug20827.png
2017-07-25 10:52 oan File Added: bugs_moddata_2_bug22746_3.png
2017-07-25 10:52 oan File Added: mesh_standard_shading_C9.png
2017-07-25 10:52 oan File Added: mesh_standard_shading_U2.png
2017-07-25 10:52 oan File Added: mesh_standard_shading_U7.png
2017-07-25 10:53 oan File Added: mesh_standard_shading_W2.png
2017-07-25 10:53 oan File Added: mesh_standard_shading_W4.png
2017-07-25 10:53 oan File Added: mesh_standard_shading_X1.png
2017-07-25 10:53 oan File Added: mesh_standard_shading_X4.png
2017-07-25 10:55 oan Note Added: 0068658
2017-07-25 11:18 git Note Added: 0068660
2017-08-11 11:52 oan Relationship added related to 0027693
2017-08-11 12:27 oan Relationship added related to 0026074
2017-10-09 13:05 git Note Added: 0071300
2017-11-13 11:23 oan Relationship added related to 0029316
2017-12-05 12:15 msv Target Version 7.3.0 => 7.4.0
2018-01-16 11:44 oan Note Added: 0073428
2018-05-10 14:19 oan Relationship added related to 0029751
2018-06-09 00:39 git Note Added: 0076689
2018-06-09 12:31 git Note Added: 0076692
2018-06-09 12:56 git Note Added: 0076693
2018-06-09 20:33 msv Note Added: 0076718
2018-06-09 20:36 msv Note Added: 0076719
2018-06-09 23:08 oan Note Added: 0076720
2018-06-09 23:50 msv Note Added: 0076721
2018-06-13 12:16 oan Note Added: 0076737
2018-06-14 12:11 oan Note Added: 0076766
2018-06-14 16:02 msv Note Added: 0076772
2018-06-18 19:21 oan Note Added: 0076824
2018-06-18 19:21 oan Assigned To pdn => msv
2018-06-18 19:21 oan Status resolved => feedback
2018-06-19 09:07 msv Note Added: 0076827
2018-07-09 13:00 oan Note Added: 0077390
2018-07-09 13:44 oan Note Edited: 0077390
2018-07-15 16:29 oan Relationship added related to 0029962
2018-07-18 18:22 oan File Added: OCC-20161006-v0.3-UpdatedArchitectureOfBRepMeshComponent.doc
2018-07-27 11:42 msv Note Added: 0078076
2018-07-27 11:42 msv Assigned To msv => oan
2018-07-27 11:42 msv Status feedback => assigned
2018-07-27 11:53 msv File Added: badshape.brep
2018-07-27 11:54 msv File Added: bad_mesh.PNG
2018-07-27 11:55 msv Note Added: 0078078
2018-07-27 11:56 msv Note Added: 0078079
2018-07-27 12:06 oan Note Added: 0078080
2018-07-27 12:29 oan Note Added: 0078082
2018-07-27 12:30 oan Note Edited: 0078082
2018-07-27 12:47 oan Note Added: 0078083
2018-07-27 12:48 oan Note Added: 0078084
2018-07-27 13:04 oan Note Added: 0078085
2018-07-27 13:28 oan Note Edited: 0078083
2018-07-27 13:29 oan Note Edited: 0078083
2018-07-27 14:26 oan Note Added: 0078087
2018-07-27 14:32 oan Note Added: 0078089
2018-07-27 14:46 oan Note Added: 0078091
2018-07-27 14:50 oan Note Added: 0078092
2018-07-27 14:56 oan Note Added: 0078093
2018-07-27 14:59 oan Note Added: 0078094
2018-07-27 15:05 oan Note Added: 0078096
2018-07-27 15:10 oan Note Added: 0078097
2018-07-27 15:12 oan Note Added: 0078098
2018-07-29 06:48 git Note Added: 0078167
2018-07-29 06:49 oan Note Added: 0078168
2018-07-29 06:51 oan Note Added: 0078169
2018-07-29 06:52 oan Note Added: 0078170
2018-07-30 11:39 oan Note Edited: 0078169
2018-08-01 12:45 git Note Added: 0078261
2018-08-01 13:19 git Note Added: 0078262
2018-08-01 13:21 oan Note Added: 0078263
2018-08-01 13:21 oan Assigned To oan => msv
2018-08-01 13:21 oan Status assigned => feedback
2018-08-01 15:19 msv Note Added: 0078264
2018-08-01 15:27 git Note Added: 0078265
2018-08-01 15:40 oan Additional Information Updated
2018-08-01 15:44 oan Note Added: 0078266
2018-08-01 15:44 oan Assigned To msv => oan
2018-08-01 15:44 oan Status feedback => resolved
2018-08-01 15:44 oan Assigned To oan => msv
2018-08-01 15:49 oan Additional Information Updated
2018-08-01 16:17 msv Note Added: 0078270
2018-08-01 16:17 msv Assigned To msv => oan
2018-08-01 16:17 msv Status resolved => assigned
2018-08-01 17:44 git Note Added: 0078277
2018-08-01 17:56 git Note Added: 0078280
2018-08-01 17:57 oan Note Added: 0078281
2018-08-01 18:24 msv Note Added: 0078287
2018-08-01 18:36 kgv Note Added: 0078289
2018-08-01 18:37 kgv Note Edited: 0078289
2018-08-01 18:47 msv Note Added: 0078290
2018-08-02 11:35 oan Note Added: 0078309
2018-08-02 11:35 oan Note Edited: 0078309
2018-08-02 11:56 oan Note Added: 0078311
2018-08-02 16:10 oan File Added: OCC-20161006-v0.4-UpdatedArchitectureOfBRepMeshComponent.doc
2018-08-02 16:10 git Note Added: 0078326
2018-08-02 17:06 git Note Added: 0078330
2018-08-02 17:17 oan Note Added: 0078332
2018-08-02 17:17 oan Assigned To oan => msv
2018-08-02 17:17 oan Status assigned => feedback
2018-08-02 17:20 oan Note Added: 0078333
2018-08-02 17:44 msv Assigned To msv => nbv
2018-08-02 17:44 msv Status feedback => assigned
2018-08-03 17:22 git Note Added: 0078367
2018-08-06 11:12 oan File Added: OCC-20161006-v0.5-UpdatedArchitectureOfBRepMeshComponent.doc
2018-08-06 11:12 oan File Added: upgrade.md
2018-08-06 13:34 git Note Added: 0078420
2018-08-08 10:35 git Note Added: 0078483
2018-08-08 11:47 git Note Added: 0078484
2018-08-08 17:56 git Note Added: 0078502
2018-08-09 16:32 git Note Added: 0078538
2018-08-10 12:31 git Note Added: 0078552
2018-08-10 12:53 git Note Added: 0078553
2018-08-10 13:31 git Note Added: 0078554
2018-08-10 16:33 nbv Relationship added parent of 0030056
2018-08-13 10:01 git Note Added: 0078577
2018-08-14 14:23 kgv Note Added: 0078591
2018-08-14 14:23 kgv Note Edited: 0078591
2018-08-14 18:08 git Note Added: 0078610
2018-08-15 17:17 git Note Added: 0078630
2018-08-15 17:21 git Note Added: 0078632
2018-08-16 09:32 git Note Added: 0078642
2018-08-16 10:54 git Note Added: 0078643
2018-08-16 10:57 git Note Added: 0078644
2018-08-20 16:33 git Note Added: 0078692
2018-08-20 16:36 git Note Added: 0078693
2018-08-21 09:38 nbv Relationship added related to 0026716
2018-08-21 11:07 git Note Added: 0078703
2018-08-21 17:51 git Note Added: 0078709
2018-08-24 15:58 git Note Added: 0078761
2018-08-27 10:00 git Note Added: 0078787
2018-08-30 12:22 git Note Added: 0078855
2018-08-31 11:12 oan Note Added: 0078878
2018-08-31 11:17 kgv Note Added: 0078879
2018-08-31 11:17 kgv Note Edited: 0078879
2018-08-31 11:28 oan Note Added: 0078880
2018-09-03 09:28 git Note Added: 0078914
2018-09-03 17:47 git Note Added: 0078951
2018-09-04 13:33 git Note Added: 0078984
2018-09-10 17:03 git Note Added: 0079097
2018-09-17 09:13 git Note Added: 0079204
2018-09-20 12:11 git Note Added: 0079272
2018-09-20 13:26 git Note Added: 0079277
2018-09-24 13:09 nbv File Added: pipe_specidic_L5.PNG
2018-09-24 13:47 nbv Note Added: 0079359
2018-09-27 12:14 nbv Relationship added parent of 0030167
2018-10-02 16:23 nbv Note Added: 0079607
2018-10-11 17:59 oan Relationship added related to 0030234
2018-10-11 18:19 oan Relationship deleted related to 0030234
2018-10-19 15:46 git Note Added: 0080126
2018-10-19 15:54 git Note Added: 0080128
2018-10-23 12:40 msv Note Added: 0080228
2018-10-25 12:28 git Note Added: 0080306
2018-10-25 12:44 msv Assigned To nbv => msv
2018-10-25 12:44 msv Status assigned => resolved
2018-10-25 12:47 msv Note Added: 0080307
2018-10-25 12:47 msv Assigned To msv => bugmaster
2018-10-25 12:47 msv Status resolved => reviewed
2018-10-26 15:40 apn Test case number => Not needed
2018-10-26 15:40 apn Note Added: 0080386
2018-10-26 15:40 apn Status reviewed => tested
2018-10-29 13:50 abv Note Added: 0080453
2018-10-29 13:50 abv Assigned To bugmaster => oan
2018-10-29 13:50 abv Status tested => feedback
2018-10-29 13:54 abv Relationship added related to 0022687
2018-10-29 14:03 oan Note Added: 0080454
2018-10-29 14:13 abv Note Edited: 0080453
2018-10-29 14:16 abv Note Added: 0080455
2018-10-29 15:10 oan Note Added: 0080457
2018-10-29 15:11 oan Note Added: 0080458
2018-10-29 15:23 oan Note Added: 0080460
2018-10-29 15:29 oan Note Added: 0080462
2018-10-29 15:39 oan Note Added: 0080463
2018-10-29 15:39 oan Note Edited: 0080463
2018-10-29 15:41 oan Assigned To oan => nbv
2018-10-29 15:43 oan Note Edited: 0080457
2018-10-29 15:45 oan Note Edited: 0080463
2018-10-29 15:46 oan Note Edited: 0080463
2018-10-29 16:28 abv Note Added: 0080465
2018-10-29 17:16 oan Note Added: 0080472
2018-10-29 17:22 nbv Note Added: 0080473
2018-10-29 17:23 abv Note Added: 0080474
2018-10-29 17:30 oan Note Added: 0080476
2018-10-29 19:04 oan Note Edited: 0080476
2018-10-31 14:24 git Note Added: 0080550
2018-10-31 18:05 nbv Note Added: 0080558
2018-11-01 09:32 git Note Added: 0080567
2018-11-01 09:35 nbv Assigned To nbv => msv
2018-11-01 09:35 nbv Status feedback => resolved
2018-11-01 09:38 nbv Relationship added related to 0030322
2018-11-01 12:27 msv Note Added: 0080572
2018-11-01 13:11 nbv Note Added: 0080575
2018-11-01 15:49 nbv Assigned To msv => bugmaster
2018-11-01 15:49 nbv Status resolved => reviewed
2018-11-01 15:50 nbv Note Added: 0080588
2018-11-01 15:50 msv Note Added: 0080589
2018-11-01 15:50 msv Assigned To bugmaster => abv
2018-11-01 15:50 msv Status reviewed => feedback
2018-11-01 16:25 nbv Relationship added parent of 0030329
2018-11-02 14:28 abv Note Added: 0080619
2018-11-02 14:28 abv Assigned To abv => bugmaster
2018-11-02 14:28 abv Status feedback => reviewed
2018-11-02 14:34 bugmaster Note Added: 0080624
2018-11-02 14:34 bugmaster Status reviewed => tested
2018-11-04 13:01 bugmaster Changeset attached => occt master 7bd071ed
2018-11-04 13:01 bugmaster Status tested => verified
2018-11-04 13:01 bugmaster Resolution open => fixed
2018-11-04 14:08 git Note Added: 0080696
2018-11-04 14:08 git Note Added: 0080708
2018-11-04 14:08 git Note Added: 0080710
2018-11-04 14:08 git Note Added: 0080711
2018-11-04 14:09 git Note Added: 0080720
2018-11-04 14:09 git Note Added: 0080721
2018-11-04 14:09 git Note Added: 0080722
2018-11-04 14:09 git Note Added: 0080723
2018-11-04 14:09 git Note Added: 0080724
2018-11-04 14:09 git Note Added: 0080725
2018-11-04 14:09 git Note Added: 0080726
2018-11-06 17:44 kgv Relationship added parent of 0030345
2018-11-06 18:41 kgv Relationship added parent of 0030347
2019-02-14 10:27 abv File Deleted: badshape.brep
2019-02-14 10:38 abv Note Added: 0082173
2019-02-14 12:02 bugmaster Project Internal => Open CASCADE
2019-02-15 09:32 nds Relationship added related to 0030497
2019-02-15 13:08 kgv Relationship replaced parent of 0030497
2019-08-28 10:18 kgv Relationship added parent of 0030924
2020-03-04 20:54 kgv Relationship added related to 0031401
2021-03-23 12:44 kgv Relationship added parent of 0032241
2021-03-27 21:42 kgv Relationship added parent of 0032253
2021-06-28 15:22 kgv Relationship added parent of 0032462
2022-01-12 12:55 kgv Relationship added related to 0032767