View Issue Details

IDProjectCategoryView StatusLast Update
0030305Open CASCADEOCCT:Meshpublic2018-11-04 14:08
ReporternbvAssigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Target Version7.4.0Fixed in Version7.4.0 
Summary0030305: Strange logic in BRepMesh_Deflection::ComputeDeflection(...) method
DescriptionIn 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 ReproduceTest case is not needed.
TagsNo tags attached.
Test case numberNot needed

Relationships

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

Activities

git

2018-10-25 15:32

administrator   ~0080316

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.

nbv

2018-10-25 17:33

developer   ~0080335

Dear Mikhail,

Please review CR30305 branch.

Please note that it is rebased on the current version of CR30008_8 (but squashed) branch.

msv

2018-10-25 17:38

developer   ~0080336

Reviewed.
It is based on #30008.

git

2018-10-26 15:35

administrator   ~0080382

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.

apn

2018-10-26 15:39

administrator   ~0080384

Tested with IR-WEEK43.

git

2018-10-29 15:20

administrator   ~0080459

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)

git

2018-10-29 15:52

administrator   ~0080464

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;

git

2018-10-29 17:15

administrator   ~0080471

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;

git

2018-10-30 07:08

administrator   ~0080489

Branch CR30305PDN has been deleted by pdn.

SHA-1: 53456997172403840ebddd95b57affccbe630dcd

git

2018-10-30 18:31

administrator   ~0080536

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.

git

2018-10-31 10:15

administrator   ~0080543

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

git

2018-10-31 14:27

administrator   ~0080552

Branch CR30305 has been updated forcibly by nbv.

SHA-1: 903169f0b9d9dea1d70b8edbd441c5f73bad2977

git

2018-11-01 09:36

administrator   ~0080569

Branch CR30305 has been updated forcibly by nbv.

SHA-1: 038671e2e0beb638d0c78e104ea125d5a174481a

msv

2018-11-01 15:28

developer   ~0080585

Reviewed.
Please integrate along with 0026106.

bugmaster

2018-11-02 14:33

administrator   ~0080621

Tested on WEEK-44

Combination -
OCCT branch : WEEK-44 SHA - 28ba266f89541152a33628babc066c381fc74d43
Products branch : WEEK-44 SHA - 4525a60ddf97fbcad482f1351d777d1e352a8307
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 16039.140000000109 / 16239.160000000287 [-1.23%]
Products
Total CPU difference: 7026.560000000032 / 7077.76000000003 [-0.72%]
Windows-64-VC14:
OCCT
Total CPU difference: 17510.3125 / 17699.515625 [-1.07%]
Products
Total CPU difference: 8514.828125 / 8596.328125 [-0.95%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2018-11-04 14:08

administrator   ~0080695

Branch CR30305 has been deleted by inv.

SHA-1: 038671e2e0beb638d0c78e104ea125d5a174481a

git

2018-11-04 14:08

administrator   ~0080698

Branch CR30305_3 has been deleted by inv.

SHA-1: 40efd2e4d898f7c8f3991365425d4b3f443f391c

git

2018-11-04 14:08

administrator   ~0080702

Branch CR30305_2 has been deleted by inv.

SHA-1: ec0d3d3384072fca64f69f705d9dcccf5fc03559

git

2018-11-04 14:08

administrator   ~0080705

Branch CR30305_1 has been deleted by inv.

SHA-1: fd5fb9c98765b78938a74f720d33c4d2f4c05490

Related Changesets

occt: master 6933df8f

2018-10-25 12:21:34

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.
Affected Issues
0030305
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
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 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