MantisBT - Open CASCADE
View Issue Details
0030305Open CASCADE[OCCT] OCCT:Meshpublic2018-10-25 15:142018-11-04 14:08
nbv 
bugmaster 
normalminor 
closedfixed 
 
[OCCT] 7.4.0[OCCT] 7.4.0 
Not needed
0030305: Strange logic in BRepMesh_Deflection::ComputeDeflection(...) method
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;
  }
...
Test case is not needed.
No tags attached.
related to 0030322closed bugmaster Open CASCADE Remove DRAW-command "mesh" as useless 
Issue History
2018-10-25 15:14nbvNew Issue
2018-10-25 15:14nbvAssigned To => oan
2018-10-25 15:15nbvDescription Updatedbug_revision_view_page.php?rev_id=20199#r20199
2018-10-25 15:32gitNote Added: 0080316
2018-10-25 15:32nbvAssigned Tooan => nbv
2018-10-25 15:32nbvStatusnew => assigned
2018-10-25 16:42nbvRelationship addedchild of 0030008
2018-10-25 17:33nbvNote Added: 0080335
2018-10-25 17:33nbvAssigned Tonbv => msv
2018-10-25 17:33nbvStatusassigned => resolved
2018-10-25 17:38msvNote Added: 0080336
2018-10-25 17:38msvAssigned Tomsv => bugmaster
2018-10-25 17:38msvStatusresolved => reviewed
2018-10-26 15:35gitNote Added: 0080382
2018-10-26 15:39apnTest case number => Not needed
2018-10-26 15:39apnNote Added: 0080384
2018-10-26 15:39apnStatusreviewed => tested
2018-10-29 15:20gitNote Added: 0080459
2018-10-29 15:52gitNote Added: 0080464
2018-10-29 17:15gitNote Added: 0080471
2018-10-30 07:08gitNote Added: 0080489
2018-10-30 15:32bugmasterAssigned Tobugmaster => nbv
2018-10-30 15:32bugmasterStatustested => assigned
2018-10-30 18:31gitNote Added: 0080536
2018-10-31 10:15gitNote Added: 0080543
2018-10-31 14:27gitNote Added: 0080552
2018-11-01 09:36gitNote Added: 0080569
2018-11-01 09:37nbvAssigned Tonbv => msv
2018-11-01 09:37nbvStatusassigned => resolved
2018-11-01 09:38nbvRelationship addedrelated to 0030322
2018-11-01 15:28msvNote Added: 0080585
2018-11-01 15:28msvAssigned Tomsv => bugmaster
2018-11-01 15:28msvStatusresolved => reviewed
2018-11-02 14:33bugmasterNote Added: 0080621
2018-11-02 14:33bugmasterStatusreviewed => tested
2018-11-04 13:01bugmasterChangeset attached => occt master 6933df8f
2018-11-04 13:01bugmasterStatustested => verified
2018-11-04 13:01bugmasterResolutionopen => fixed
2018-11-04 14:08gitNote Added: 0080695
2018-11-04 14:08gitNote Added: 0080698
2018-11-04 14:08gitNote Added: 0080702
2018-11-04 14:08gitNote Added: 0080705

Notes
(0080316)
git   
2018-10-25 15:32   
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.
(0080335)
nbv   
2018-10-25 17:33   
Dear Mikhail,

Please review CR30305 branch.

Please note that it is rebased on the current version of CR30008_8 (but squashed) branch.
(0080336)
msv   
2018-10-25 17:38   
Reviewed.
It is based on #30008.
(0080382)
git   
2018-10-26 15:35   
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.
(0080384)
apn   
2018-10-26 15:39   
Tested with IR-WEEK43.
(0080459)
git   
2018-10-29 15:20   
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)
(0080464)
git   
2018-10-29 15:52   
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;
(0080471)
git   
2018-10-29 17:15   
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;
(0080489)
git   
2018-10-30 07:08   
Branch CR30305PDN has been deleted by pdn.

SHA-1: 53456997172403840ebddd95b57affccbe630dcd
(0080536)
git   
2018-10-30 18:31   
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.

(0080543)
git   
2018-10-31 10:15   
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

(0080552)
git   
2018-10-31 14:27   
Branch CR30305 has been updated forcibly by nbv.

SHA-1: 903169f0b9d9dea1d70b8edbd441c5f73bad2977
(0080569)
git   
2018-11-01 09:36   
Branch CR30305 has been updated forcibly by nbv.

SHA-1: 038671e2e0beb638d0c78e104ea125d5a174481a
(0080585)
msv   
2018-11-01 15:28   
Reviewed.
Please integrate along with 0026106.
(0080621)
bugmaster   
2018-11-02 14:33   
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
(0080695)
git   
2018-11-04 14:08   
Branch CR30305 has been deleted by inv.

SHA-1: 038671e2e0beb638d0c78e104ea125d5a174481a
(0080698)
git   
2018-11-04 14:08   
Branch CR30305_3 has been deleted by inv.

SHA-1: 40efd2e4d898f7c8f3991365425d4b3f443f391c
(0080702)
git   
2018-11-04 14:08   
Branch CR30305_2 has been deleted by inv.

SHA-1: ec0d3d3384072fca64f69f705d9dcccf5fc03559
(0080705)
git   
2018-11-04 14:08   
Branch CR30305_1 has been deleted by inv.

SHA-1: fd5fb9c98765b78938a74f720d33c4d2f4c05490