MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0030305Open CASCADE[OCCT] OCCT:Meshpublic2018-10-25 15:142018-11-04 14:08
Reporternbv 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusverifiedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.4.0*Fixed in Version 
Summary0030305: Strange logic in BRepMesh_Deflection::ComputeDeflection(...) method
DescriptionIn the fix #26106, 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 ReproduceTest case is not needed.
TagsNo tags attached.
Test case numberNot needed
Attached Files

- Relationships
related to 0030322verifiedbugmaster Open CASCADE Remove DRAW-command "mesh" as useless 

-  Notes
(0080316)
git (administrator)
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 (developer)
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 (developer)
2018-10-25 17:38

Reviewed.
It is based on #30008.
(0080382)
git (administrator)
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 (administrator)
2018-10-26 15:39

Tested with IR-WEEK43.
(0080459)
git (administrator)
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 (administrator)
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 (administrator)
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 (administrator)
2018-10-30 07:08

Branch CR30305PDN has been deleted by pdn.

SHA-1: 53456997172403840ebddd95b57affccbe630dcd
(0080536)
git (administrator)
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 (administrator)
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 (administrator)
2018-10-31 14:27

Branch CR30305 has been updated forcibly by nbv.

SHA-1: 903169f0b9d9dea1d70b8edbd441c5f73bad2977
(0080569)
git (administrator)
2018-11-01 09:36

Branch CR30305 has been updated forcibly by nbv.

SHA-1: 038671e2e0beb638d0c78e104ea125d5a174481a
(0080585)
msv (developer)
2018-11-01 15:28

Reviewed.
Please integrate along with #26106.
(0080621)
bugmaster (administrator)
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 (administrator)
2018-11-04 14:08

Branch CR30305 has been deleted by inv.

SHA-1: 038671e2e0beb638d0c78e104ea125d5a174481a
(0080698)
git (administrator)
2018-11-04 14:08

Branch CR30305_3 has been deleted by inv.

SHA-1: 40efd2e4d898f7c8f3991365425d4b3f443f391c
(0080702)
git (administrator)
2018-11-04 14:08

Branch CR30305_2 has been deleted by inv.

SHA-1: ec0d3d3384072fca64f69f705d9dcccf5fc03559
(0080705)
git (administrator)
2018-11-04 14:08

Branch CR30305_1 has been deleted by inv.

SHA-1: fd5fb9c98765b78938a74f720d33c4d2f4c05490

- Related Changesets
occt: master 6933df8f
Timestamp: 2018-10-25 12:21:34
Author: nbv
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.
mod - src/BRepMesh/BRepMesh_Deflection.cxx Diff ] File ]
mod - src/BRepMesh/BRepMesh_Deflection.hxx Diff ] File ]

- Issue History
Date Modified Username Field Change
2018-10-25 15:14 nbv New Issue
2018-10-25 15:14 nbv Assigned To => oan
2018-10-25 15:15 nbv Description Updated View Revisions
2018-10-25 15:32 git Note Added: 0080316
2018-10-25 15:32 nbv Assigned To oan => nbv
2018-10-25 15:32 nbv Status new => assigned
2018-10-25 16:42 nbv Relationship added child of 0030008
2018-10-25 17:33 nbv Note Added: 0080335
2018-10-25 17:33 nbv Assigned To nbv => msv
2018-10-25 17:33 nbv Status assigned => resolved
2018-10-25 17:38 msv Note Added: 0080336
2018-10-25 17:38 msv Assigned To msv => bugmaster
2018-10-25 17:38 msv 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 nbv Assigned To nbv => msv
2018-11-01 09:37 nbv Status assigned => resolved
2018-11-01 09:38 nbv Relationship added related to 0030322
2018-11-01 15:28 msv Note Added: 0080585
2018-11-01 15:28 msv Assigned To msv => bugmaster
2018-11-01 15:28 msv 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


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker