View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0030305 | Open CASCADE | OCCT:Mesh | public | 2018-10-25 15:14 | 2018-11-04 14:08 |
Reporter | Assigned To | bugmaster | |||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Target Version | 7.4.0 | Fixed in Version | 7.4.0 | ||
Summary | 0030305: Strange logic in BRepMesh_Deflection::ComputeDeflection(...) method | ||||
Description | In the fix 0026106, in case when relative deflection is used, the angular deflection is scaled to some coefficient. It is strange. Angular deflection must be constant. ... if (theParameters.Relative) { ... aAngDeflection = theParameters.Angle * aScale; } ... | ||||
Steps To Reproduce | Test case is not needed. | ||||
Tags | No tags attached. | ||||
Test case number | Not needed | ||||
|
Branch CR30305 has been created by nbv. SHA-1: e1465aa0479c453155dde4a5ca6a9a93dfa3930c Detailed log of new commits: Author: nbv Date: Thu Oct 25 15:21:34 2018 +0300 0030305: Strange logic in BRepMesh_Deflection::ComputeDeflection(...) method Before the fix, angular deflection was scaled to some coefficient in the method BRepMesh_Deflection::ComputeDeflection(...). Now, angular deflection is constant. Author: nbv Date: Fri Oct 19 16:38:02 2018 +0300 0030008: BRepMesh does not respect angular deflection in internal area of bspline surface 1. Check whether the mesh satisfies the required angular deflection has been amended. Namely normals (to the surface) in the ends of any not "frontier" link are made collinear (with the given angular tolerance). 2. Default value of IMeshTools_Parameters::MinSize has been changed. 3. New parameters AngleInterior and DeflectionInterior have been added in IMeshTools_Parameters structure. 4. In case of thin long faces with internal edges, add points of internal edges to control parameters using grabParamsOfInternalEdges() in order to avoid aberrations on its ends. Disable addition of parameters from boundary edges in case of BSpline surface. Deviation can be controlled through the deflection parameter. 5. Grab parameters from edges in case if there is just a single interval on BSpline surface along U and V direction. |
|
Dear Mikhail, Please review CR30305 branch. Please note that it is rebased on the current version of CR30008_8 (but squashed) branch. |
|
Reviewed. It is based on #30008. |
|
Branch CR30305_1 has been created by apn. SHA-1: fd5fb9c98765b78938a74f720d33c4d2f4c05490 Detailed log of new commits: Author: nbv Date: Thu Oct 25 15:21:34 2018 +0300 0030305: Strange logic in BRepMesh_Deflection::ComputeDeflection(...) method Before the fix, angular deflection was scaled to some coefficient in the method BRepMesh_Deflection::ComputeDeflection(...). Now, angular deflection is constant. Author: nbv Date: Fri Oct 19 16:38:02 2018 +0300 0030008: BRepMesh does not respect angular deflection in internal area of bspline surface 1. Check whether the mesh satisfies the required angular deflection has been amended. Namely normals (to the surface) in the ends of any not "frontier" link are made collinear (with the given angular tolerance). 2. Default value of IMeshTools_Parameters::MinSize has been changed. 3. New parameters AngleInterior and DeflectionInterior have been added in IMeshTools_Parameters structure. 4. In case of thin long faces with internal edges, add points of internal edges to control parameters using grabParamsOfInternalEdges() in order to avoid aberrations on its ends. Disable addition of parameters from boundary edges in case of BSpline surface. Deviation can be controlled through the deflection parameter. 5. Grab parameters from edges in case if there is just a single interval on BSpline surface along U and V direction. |
|
Tested with IR-WEEK43. |
|
Branch CR30305_2 has been created by abv. SHA-1: ec0d3d3384072fca64f69f705d9dcccf5fc03559 Detailed log of new commits: Author: abv Date: Mon Oct 29 15:18:41 2018 +0300 Correction of test scripts: perf mesh bug27119: requested deflection is increased from 1e-6 to 1e-5 to keep reasonable performance (but still reproducing original issue) bugs mesh bug26692_1, 2: make snapshot of triangulation instead of wireframe (irrelevant) |
|
Branch CR30305PDN has been created by pdn. SHA-1: 53456997172403840ebddd95b57affccbe630dcd Detailed log of new commits: Author: nbv Date: Thu Oct 25 17:14:21 2018 +0300 Correction of test scripts: perf mesh bug27119: requested deflection is increased from 1e-6 to 1e-5 to keep reasonable performance (but still reproducing original issue) bugs mesh bug26692_1, 2: make snapshot of triangulation instead of wireframe (irrelevant) 0030305: Strange logic in BRepMesh_Deflection::ComputeDeflection(...) method Before the fix, angular deflection was scaled to some coefficient in the method BRepMesh_Deflection::ComputeDeflection(...). Now, angular deflection is constant. 0030008: BRepMesh does not respect angular deflection in internal area of bspline surface 1. Check whether the mesh satisfies the required angular deflection has been amended. Namely normals (to the surface) in the ends of any not "frontier" link are made collinear (with the given angular tolerance). 2. Default value of IMeshTools_Parameters::MinSize has been changed. 3. New parameters AngleInterior and DeflectionInterior have been added in IMeshTools_Parameters structure. 4. In case of thin long faces with internal edges, add points of internal edges to control parameters using grabParamsOfInternalEdges() in order to avoid aberrations on its ends. Disable addition of parameters from boundary edges in case of BSpline surface. Deviation can be controlled through the deflection parameter. 5. Grab parameters from edges in case if there is just a single interval on BSpline surface along U and V direction. 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 CR30305_3 has been created by nbv. SHA-1: 46adb2b4583c3bbd678b056b26d7eefd9f9ab5c2 Detailed log of new commits: Author: nbv Date: Thu Oct 25 15:21:34 2018 +0300 0030305: Strange logic in BRepMesh_Deflection::ComputeDeflection(...) method Before the fix, angular deflection was scaled to some coefficient in the method BRepMesh_Deflection::ComputeDeflection(...). Now, angular deflection is constant. Author: abv Date: Mon Oct 29 15:18:41 2018 +0300 Correction of test scripts: perf mesh bug27119: requested deflection is increased from 1e-6 to 1e-5 to keep reasonable performance (but still reproducing original issue) bugs mesh bug26692_1, 2: make snapshot of triangulation instead of wireframe (irrelevant) (cherry picked from commit ec0d3d3384072fca64f69f705d9dcccf5fc03559) Author: nbv Date: Fri Oct 19 16:38:02 2018 +0300 0030008: BRepMesh does not respect angular deflection in internal area of bspline surface 1. Check whether the mesh satisfies the required angular deflection has been amended. Namely normals (to the surface) in the ends of any not "frontier" link are made collinear (with the given angular tolerance). 2. Default value of IMeshTools_Parameters::MinSize has been changed. 3. New parameters AngleInterior and DeflectionInterior have been added in IMeshTools_Parameters structure. 4. In case of thin long faces with internal edges, add points of internal edges to control parameters using grabParamsOfInternalEdges() in order to avoid aberrations on its ends. Disable addition of parameters from boundary edges in case of BSpline surface. Deviation can be controlled through the deflection parameter. 5. Grab parameters from edges in case if there is just a single interval on BSpline surface along U and V direction. # Adjusting test cases # Minor corrections # Minor corrections (Number 2) Minor changes. 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 CR30305PDN has been deleted by pdn. SHA-1: 53456997172403840ebddd95b57affccbe630dcd |
|
Branch CR30305_3 has been updated by nbv. SHA-1: c5af2d6f28226a0d42bd9914d30bb046133bed48 Detailed log of new commits: Author: nbv Date: Tue Oct 30 18:29:51 2018 +0300 # Additional corrections. |
|
Branch CR30305_3 has been updated by nbv. SHA-1: 40efd2e4d898f7c8f3991365425d4b3f443f391c Detailed log of new commits: Author: nbv Date: Wed Oct 31 10:13:23 2018 +0300 # Adjusting of MinSize |
|
Branch CR30305 has been updated forcibly by nbv. SHA-1: 903169f0b9d9dea1d70b8edbd441c5f73bad2977 |
|
Branch CR30305 has been updated forcibly by nbv. SHA-1: 038671e2e0beb638d0c78e104ea125d5a174481a |
|
Reviewed. Please integrate along with 0026106. |
|
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 CR30305 has been deleted by inv. SHA-1: 038671e2e0beb638d0c78e104ea125d5a174481a |
|
Branch CR30305_3 has been deleted by inv. SHA-1: 40efd2e4d898f7c8f3991365425d4b3f443f391c |
|
Branch CR30305_2 has been deleted by inv. SHA-1: ec0d3d3384072fca64f69f705d9dcccf5fc03559 |
|
Branch CR30305_1 has been deleted by inv. SHA-1: fd5fb9c98765b78938a74f720d33c4d2f4c05490 |
occt: master 6933df8f 2018-10-25 12:21:34
Committer: bugmaster Details Diff |
0030305: Strange logic in BRepMesh_Deflection::ComputeDeflection(...) method Before the fix, angular deflection was scaled to some coefficient in the method BRepMesh_Deflection::ComputeDeflection(...). Now, angular deflection is constant. |
Affected Issues 0030305 |
|
mod - src/BRepMesh/BRepMesh_Deflection.cxx | Diff File | ||
mod - src/BRepMesh/BRepMesh_Deflection.hxx | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-10-25 15:14 |
|
New Issue | |
2018-10-25 15:14 |
|
Assigned To | => oan |
2018-10-25 15:15 |
|
Description Updated | |
2018-10-25 15:32 | git | Note Added: 0080316 | |
2018-10-25 15:32 |
|
Assigned To | oan => nbv |
2018-10-25 15:32 |
|
Status | new => assigned |
2018-10-25 17:33 |
|
Note Added: 0080335 | |
2018-10-25 17:33 |
|
Assigned To | nbv => msv |
2018-10-25 17:33 |
|
Status | assigned => resolved |
2018-10-25 17:38 |
|
Note Added: 0080336 | |
2018-10-25 17:38 |
|
Assigned To | msv => bugmaster |
2018-10-25 17:38 |
|
Status | resolved => reviewed |
2018-10-26 15:35 | git | Note Added: 0080382 | |
2018-10-26 15:39 | apn | Test case number | => Not needed |
2018-10-26 15:39 | apn | Note Added: 0080384 | |
2018-10-26 15:39 | apn | Status | reviewed => tested |
2018-10-29 15:20 | git | Note Added: 0080459 | |
2018-10-29 15:52 | git | Note Added: 0080464 | |
2018-10-29 17:15 | git | Note Added: 0080471 | |
2018-10-30 07:08 | git | Note Added: 0080489 | |
2018-10-30 15:32 | bugmaster | Assigned To | bugmaster => nbv |
2018-10-30 15:32 | bugmaster | Status | tested => assigned |
2018-10-30 18:31 | git | Note Added: 0080536 | |
2018-10-31 10:15 | git | Note Added: 0080543 | |
2018-10-31 14:27 | git | Note Added: 0080552 | |
2018-11-01 09:36 | git | Note Added: 0080569 | |
2018-11-01 09:37 |
|
Assigned To | nbv => msv |
2018-11-01 09:37 |
|
Status | assigned => resolved |
2018-11-01 09:38 |
|
Relationship added | related to 0030322 |
2018-11-01 15:28 |
|
Note Added: 0080585 | |
2018-11-01 15:28 |
|
Assigned To | msv => bugmaster |
2018-11-01 15:28 |
|
Status | resolved => reviewed |
2018-11-02 14:33 | bugmaster | Note Added: 0080621 | |
2018-11-02 14:33 | bugmaster | Status | reviewed => tested |
2018-11-04 13:01 | bugmaster | Changeset attached | => occt master 6933df8f |
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: 0080695 | |
2018-11-04 14:08 | git | Note Added: 0080698 | |
2018-11-04 14:08 | git | Note Added: 0080702 | |
2018-11-04 14:08 | git | Note Added: 0080705 |