View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0026106 | Open CASCADE | OCCT:Mesh | public | 2015-04-20 14:03 | 2022-01-12 12:55 |
Reporter | oan | Assigned To | bugmaster | ||
Priority | normal | Severity | feature | ||
Status | closed | Resolution | fixed | ||
Target Version | 7.4.0 | Fixed in Version | 7.4.0 | ||
Summary | 0026106: BRepMesh - revision of data model | ||||
Description | BRepMesh operates on data structure representing set of UV nodes and links between them forming discretization model of a face expected to be meshed. Internal logic of mesher keeps information about subset of nodes associated to the particular edge, however such organization of data does not give possibility to resolve cases connected with existing geometrical problems of source shape like self intersections of edge’s curve or loops on face’s wires. Introduction of data model with face – wires – edges relations will give possibility to implement preprocessing tools mentioned below and will separate algorithm from data making source code easy for maintenance. | ||||
Steps To Reproduce | Not 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. | ||||
Tags | No tags attached. | ||||
Test case number | Not needed | ||||
|
related to | 0023111 | closed | bugmaster | Open CASCADE | Incorrect mesh |
related to | 0025837 | closed | bugmaster | Open CASCADE | Bad triangulation when IGES loaded in meters |
related to | 0024084 | assigned | oan | Open CASCADE | Additional tool for resolving 2d loops on discretized wires should be implemented in BRepMesh |
related to | 0025633 | closed | bugmaster | Open CASCADE | Improve quality of mesh in case of sphere |
related to | 0025062 | closed | bugmaster | Open CASCADE | BRepMesh should decrease deflection for edges of suspected wires only |
related to | 0020827 | assigned | oan | Open CASCADE | Problem of displaying in SHADING mode |
related to | 0023837 | new | oan | Open CASCADE | BRepMesh shouldn't trust the SameParameter flag |
related to | 0026889 | closed | bugmaster | Community | Very poor mesh result from shape |
related to | 0026965 | closed | bugmaster | Community | BRepMesh_IncrementalMesh hangs, and consumes infinite memory |
related to | 0025249 | feedback | oan | Open CASCADE | Some problematic cases from mesh tests have been uncovered during refactoring of BRepMesh |
related to | 0023795 | closed | bugmaster | Open CASCADE | Performance regression of meshing |
related to | 0022687 | assigned | oan | Open CASCADE | Triangulation is made with errors on mesh test. |
parent of | 0025061 | new | oan | Open CASCADE | BRepMesh should skip internal wires with self intersections to produce mesh for the shape anyway |
parent of | 0030056 | new | oan | Open CASCADE | Mesh - Rename fail statuses entered in BRepMesh algorith in the issue 0026106 |
parent of | 0030167 | closed | bugmaster | Open CASCADE | Face is displayed wrongly in OCCT 3D-viewer |
parent of | 0030329 | closed | bugmaster | Open CASCADE | Move BRepMesh_IncAllocator to NCollection package |
parent of | 0030345 | closed | bugmaster | Open CASCADE | [REGRESSION] Mesh, BRepMesh_CurveTessellator - GCPnts_TangentialDeflection throws Standard_ConstructionError |
parent of | 0030347 | closed | bugmaster | Open CASCADE | [REGRESSION] Mesh, BRepMesh_ModelPostProcessor - NCollection_Array1 throws Standard_RangeError |
parent of | 0030497 | closed | apn | Open CASCADE | [REGRESSION] Mesh - wrong Poly_Polygon3D within local selection of located shape |
parent of | 0030924 | closed | apn | Open CASCADE | Coding - incorrect header in file OSD_ThreadPool.hxx |
parent of | 0032241 | closed | oan | Community | Mesh - wrong shading display of thrusections [regression since OCCT 7.4.0] |
parent of | 0032253 | closed | bugmaster | Community | Mesh - The refactored Mesher fails to mesh correctly scaled (planar) faces |
parent of | 0032462 | new | oan | Community | Mesh - missing face issue, bad surface and bad volume [Regression compared to OCCT 7.3.0] |
related to | 0027845 | closed | bugmaster | Open CASCADE | BRepMesh produces invalid result on spline cavity |
related to | 0025588 | closed | bugmaster | Community | Mesh - BRepMesh_ShapeTool::FindUV check for 2d points to be the same is inconsistent with ShapeAnalysis_Wire::CheckLacking |
related to | 0027693 | closed | bugmaster | Open CASCADE | BRepMesh: fine edge tessellation leads to excess number of triangles along the whole U or V stripes |
related to | 0026074 | assigned | oan | Open CASCADE | Mesh - BRepMesh_IncrementalMesh meshes a specific shape for a long time |
related to | 0029316 | closed | bugmaster | Open CASCADE | Test case bugs mesh bug25806 works unstable |
related to | 0029751 | closed | bugmaster | Open CASCADE | Incremental mesh produces different meshes for windows and linux (debian 8) |
related to | 0029962 | closed | bugmaster | Open CASCADE | Master version of BRepMesh does not respect obvious details despite of specified deflection |
related to | 0026716 | closed | bugmaster | Community | Mesher cannot create a mesh of brep model due to ShapeFix_Wire::FixShifted() |
related to | 0030322 | closed | bugmaster | Open CASCADE | Remove DRAW-command "mesh" as useless |
related to | 0031401 | new | dpasukhi | Open CASCADE | Visualization - revise Toolkits dependency graph |
related to | 0032767 | closed | 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. |
|
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 |
|
OCC-20161006-v0.1-UpdatedArchitectureOfBRepMeshComponent.doc (1,297,408 bytes) |
|
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 |
|
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 |
|
Branch CR26106 has been updated forcibly by oan. SHA-1: f368c00b300b344f8263638dfb0623f53d03257b |
|
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 |
|
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. |
|
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 |
|
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] |
|
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 |
|
Works on VS2015. Please take the latest commit, it should work for VS2013. |
|
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] |
|
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. |
|
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 |
|
Done, warnings have been suppressed for VS2013. |
|
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. |
|
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. |
|
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 |
|
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 |
|
OCC-20161006-v0.2-UpdatedArchitectureOfBRepMeshComponent.doc (1,324,544 bytes) |
|
Dear Katya, please take care of further review. |
|
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 |
|
DC, Just a remainder. Do you have any additional remarks since three month of review? TIA. |
|
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. |
|
Branch CR26106_origin has been updated forcibly by oan. SHA-1: 2048da704645234df14071fa2dfff56235651bf6 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
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. |
|
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? |
|
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. |
|
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). |
|
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. |
|
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) |
|
Several pictures are attached to the issue representing significant improvements introduced by patch. |
|
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 |
|
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; |
|
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. |
|
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. |
|
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; |
|
Branch CR26106_IR_7.3.0 has been updated forcibly by oan. SHA-1: 6d32faddc93a739688cb41269174dc1dd0482765 |
|
Compilation warning on MAC: BRepMesh_VertexTool.hxx:99, Clang (LLVM based), Priority: Normal 'BRepMesh_VertexTool::Delete' hides overloaded virtual function |
|
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 |
|
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/ |
|
It would be better to check CPU results on Windows. I wonder why OCCT compilation failed on Windows. I directed query to INV. |
|
Thanks, link is available: http://occt-tests/master-CR26106_IR_7.3.0-OAN-OCCT/Windows-64-VC10/diff_summary.html |
|
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. |
|
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. |
|
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? |
|
Oleg, I have made only some cursory remarks. I have to review more deep before final decision. |
|
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. |
|
OCC-20161006-v0.3-UpdatedArchitectureOfBRepMeshComponent.doc (1,079,296 bytes) |
|
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. |
2018-07-27 11:54 developer |
bad_mesh.PNG (152,436 bytes) |
|
Dear Oleg, please also take care of the attached badshape.brep. Its visualization in the fix in worse than in master (see attached snapshots). |
|
This shape is confidential. |
|
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 |
|
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). |
|
>>>> 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. |
|
>>>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 |
|
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. |
|
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. |
|
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) |
|
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. |
|
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. |
|
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. |
|
BRepMesh_ModelPreProcessor.cxx The logic of TriangulationConsistency::operator() is incorrect, since it always sets IMeshData_Outdated to all faces containing triangulation. To be checked. |
|
>>> 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; } |
|
- 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. |
|
Other remarks - agree, to be corrected. |
|
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 |
|
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. |
|
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? |
|
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. |
|
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 |
|
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 |
|
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. |
|
I propose to leave the default block size. |
|
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 |
|
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. |
|
Please update upgrade.md |
|
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 |
|
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 |
|
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 |
|
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 |
|
+ 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. |
|
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. |
|
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. |
|
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. |
|
OCC-20161006-v0.4-UpdatedArchitectureOfBRepMeshComponent.doc (1,079,808 bytes) |
|
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 |
|
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; |
|
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? |
|
Current branch is CR26106_IR_7.3.0_rebased |
|
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; |
|
OCC-20161006-v0.5-UpdatedArchitectureOfBRepMeshComponent.doc (1,095,168 bytes) |
|
upgrade.md (1,788 bytes) |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: 6ddb81ad258abe00fa38855d675e76fb714077fb |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: d355fa667eef77587d5258281cd9699df55aeb1e |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: 0bdfcf38a8ca857999bd9298732c7a4641f3afe7 |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: 0a929251e3ada5dae316ff2ce35ddf2217294dc2 |
|
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 |
|
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 |
|
Branch CR26106_rebase has been created by oan. SHA-1: d909b2b522e8740e689a08eead9be0aba77084c0 No new revisions were added by this update. |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: 7dcb1a5970bba11693bdf00785514169721fddd6 |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: bb5eb7f44295f804b6278509ffb35a4eb0cbe4fd |
|
- 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. |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: e0bc01bfe728a0452a4587c012561ee6639f66d6 |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: 146ff7291f4904b8a6b01fab3f99d4ca2ae44a6b |
|
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) |
|
Branch CR26106oan has been updated forcibly by nbv. SHA-1: 1fc1c78fc619ee0909f1cb98ace47c0910d15401 |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: 69b45a47704860588b0c3ce2ba69169bf852d8b2 |
|
Branch CR26106oan has been updated forcibly by nbv. SHA-1: 25da422d3ff064cdff67ac98fb33d949ac60f4fa |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: b821f404f5ddd85b999957029f289478c9f83953 |
|
Branch CR26106oan has been updated forcibly by nbv. SHA-1: d8f815aafb37bc6c295c82539f87f4cd919ceb88 |
|
Branch CR26106oan has been updated forcibly by nbv. SHA-1: 38271ac8d9aedccdd2369575c6770e2c9e96c669 |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: f7b3a5d93f1366fb6f13720c3b2a6868dd05ec96 |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: 0dfdfaa3a5628dc6c0eaace630cb528852dc4b04 |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: 202eac7b3adaa6a3635df2c5a748432966999275 |
|
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. |
|
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. |
|
> 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. |
|
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. |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: 202eac7b3adaa6a3635df2c5a748432966999275 |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: 1fa236a4018dcc3fb99b968915cc31e9de507172 |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: 89000bfe7e485281ff73ff14dcf55108da5e785a |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: 09128dbb352b301c325df4f83513bda1384dc2c1 |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: 7620777a8e63845642271b7d57dffe9417fb556e |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: 4c97fda98e0f2c2e66b042f7a293e291173c2d31 |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: abb08a0ff5ae111245329180e870232022736345 |
2018-09-24 13:09 developer |
pipe_specidic_L5.PNG (76,109 bytes) |
|
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. |
|
The fix has been moved to the issue #0030008. |
|
Branch CR26106nbv has been updated forcibly by nbv. SHA-1: 85dad5ab233e90c25ca3262898180f1836f0c920 |
|
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; |
|
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. |
|
Branch CR26106_final has been created by nbv. SHA-1: 9c08e039966cc8019b1f6416db920733ab88c346 No new revisions were added by this update. |
|
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. |
|
Tested with IR-WEEK43. |
|
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? |
|
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. |
|
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 |
|
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". |
|
>>> 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. |
|
>>> 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. |
|
>>> 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. |
|
>>> 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. |
|
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. |
|
Agree. Nikolay, could you please check the issues mentioned in 1) above. TIA. |
|
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 |
|
Document OCC-20161006-v0.5-UpdatedArchitectureOfBRepMeshComponent.doc attached to this issue has broken formatting (see e.g. page 4) |
|
Entire documentation has been integrated in markdown format along with patch. |
|
Branch CR26106 has been updated forcibly by nbv. SHA-1: 20d4dbcdc775def3a1b1cd06230ba8fa22c85fcc |
|
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. |
|
Branch CR26106 has been updated forcibly by nbv. SHA-1: 7a19de7dd5386217c6675cb6394d513fe691a490 |
|
Test bugs vis bug172 is a real improvement? Then it is needed to remove TODO. |
|
Test bugs vis bug172 is unstable. The last testing has returned it as BAD. |
|
Fixed and tested in farame of 0030322 |
|
I have reviewed. |
|
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. |
|
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 |
|
Branch CR26106 has been deleted by inv. SHA-1: 7a19de7dd5386217c6675cb6394d513fe691a490 |
|
Branch CR26106_final has been deleted by inv. SHA-1: 9c08e039966cc8019b1f6416db920733ab88c346 |
|
Branch CR26106nbv_1 has been deleted by inv. SHA-1: 652e810ec26d72f95db3d580e41759ab1bb2219c |
|
Branch CR26106nbv has been deleted by inv. SHA-1: 85dad5ab233e90c25ca3262898180f1836f0c920 |
|
Branch CR26106oan has been deleted by inv. SHA-1: 38271ac8d9aedccdd2369575c6770e2c9e96c669 |
|
Branch CR26106_rebase has been deleted by inv. SHA-1: d909b2b522e8740e689a08eead9be0aba77084c0 |
|
Branch CR26106_IR_7.3.0_rebased has been deleted by inv. SHA-1: 002b8c87ba1b40d0f46bd1431900f0d29ce0d6d7 |
|
Branch CR26106_IR_7.3.0 has been deleted by inv. SHA-1: ca02fbfcfac257cd582348c6630cbedfb9d4d19d |
|
Branch CR26106_IR_MOD has been deleted by inv. SHA-1: bdd35bf3dae702a80553bb1f3384e1b61f05fab8 |
|
Branch CR26106_IR has been deleted by inv. SHA-1: ad0d53951d585ff241c5613eddba7302aae452e8 |
|
Branch CR26106_origin has been deleted by inv. SHA-1: 7a5505fd91f2c98afa0361a6ef87151ba3532bfa |
|
File badshape.brep mentioned in comments above can be found in the issue #30008 |
occt: master 7bd071ed 2017-10-09 10:04:54 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 |
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 |
|
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 |
|
Note Added: 0059727 | |
2016-11-01 19:21 |
|
Assigned To | msv => oan |
2016-11-01 19:21 |
|
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 |
|
Note Added: 0059783 | |
2016-11-02 14:17 |
|
Assigned To | msv => oan |
2016-11-02 14:17 |
|
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 |
|
Note Added: 0060592 | |
2016-11-21 10:37 |
|
Assigned To | msv => oan |
2016-11-21 10:37 |
|
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 |
|
Assigned To | msv => oan |
2016-11-21 14:49 |
|
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 |
|
Assigned To | msv => epa |
2016-11-25 09:44 |
|
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 |
|
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 |
|
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 |
|
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 |
|
Note Added: 0076718 | |
2018-06-09 20:36 |
|
Note Added: 0076719 | |
2018-06-09 23:08 | oan | Note Added: 0076720 | |
2018-06-09 23:50 |
|
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 |
|
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 |
|
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 |
|
Note Added: 0078076 | |
2018-07-27 11:42 |
|
Assigned To | msv => oan |
2018-07-27 11:42 |
|
Status | feedback => assigned |
2018-07-27 11:53 |
|
File Added: badshape.brep | |
2018-07-27 11:54 |
|
File Added: bad_mesh.PNG | |
2018-07-27 11:55 |
|
Note Added: 0078078 | |
2018-07-27 11:56 |
|
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 |
|
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 |
|
Note Added: 0078270 | |
2018-08-01 16:17 |
|
Assigned To | msv => oan |
2018-08-01 16:17 |
|
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 |
|
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 |
|
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 |
|
Assigned To | msv => nbv |
2018-08-02 17:44 |
|
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 |
|
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 |
|
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 |
|
File Added: pipe_specidic_L5.PNG | |
2018-09-24 13:47 |
|
Note Added: 0079359 | |
2018-09-27 12:14 |
|
Relationship added | parent of 0030167 |
2018-10-02 16:23 |
|
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 |
|
Note Added: 0080228 | |
2018-10-25 12:28 | git | Note Added: 0080306 | |
2018-10-25 12:44 |
|
Assigned To | nbv => msv |
2018-10-25 12:44 |
|
Status | assigned => resolved |
2018-10-25 12:47 |
|
Note Added: 0080307 | |
2018-10-25 12:47 |
|
Assigned To | msv => bugmaster |
2018-10-25 12:47 |
|
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 |
|
Note Added: 0080453 | |
2018-10-29 13:50 |
|
Assigned To | bugmaster => oan |
2018-10-29 13:50 |
|
Status | tested => feedback |
2018-10-29 13:54 |
|
Relationship added | related to 0022687 |
2018-10-29 14:03 | oan | Note Added: 0080454 | |
2018-10-29 14:13 |
|
Note Edited: 0080453 | |
2018-10-29 14:16 |
|
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 |
|
Note Added: 0080465 | |
2018-10-29 17:16 | oan | Note Added: 0080472 | |
2018-10-29 17:22 |
|
Note Added: 0080473 | |
2018-10-29 17:23 |
|
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 |
|
Note Added: 0080558 | |
2018-11-01 09:32 | git | Note Added: 0080567 | |
2018-11-01 09:35 |
|
Assigned To | nbv => msv |
2018-11-01 09:35 |
|
Status | feedback => resolved |
2018-11-01 09:38 |
|
Relationship added | related to 0030322 |
2018-11-01 12:27 |
|
Note Added: 0080572 | |
2018-11-01 13:11 |
|
Note Added: 0080575 | |
2018-11-01 15:49 |
|
Assigned To | msv => bugmaster |
2018-11-01 15:49 |
|
Status | resolved => reviewed |
2018-11-01 15:50 |
|
Note Added: 0080588 | |
2018-11-01 15:50 |
|
Note Added: 0080589 | |
2018-11-01 15:50 |
|
Assigned To | bugmaster => abv |
2018-11-01 15:50 |
|
Status | reviewed => feedback |
2018-11-01 16:25 |
|
Relationship added | parent of 0030329 |
2018-11-02 14:28 |
|
Note Added: 0080619 | |
2018-11-02 14:28 |
|
Assigned To | abv => bugmaster |
2018-11-02 14:28 |
|
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 |
|
File Deleted: badshape.brep | |
2019-02-14 10:38 |
|
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 |