MantisBT - Open CASCADE
View Issue Details
0031424Open CASCADE[OCCT] OCCT:Visualizationpublic2020-03-11 15:152020-03-22 11:42
kgv 
kgv 
normalminor 
verifiedfixed 
[OCCT] 7.0.0 
[OCCT] 7.5.0* 
0031424: Visualization - stop using Prs3d_Drawer::HLRAngle() parameter
There is a massive confusion within two Prs3d_Drawer parameters: HLRAngle() and DeviationAngle(). For some reason, HLRAngle() has been used for BRepMesh input parameters, while its name clearly indicates its reference to HLR algorithm.

These parameters have different defaults, so that this substitution is unsafe:
  myDeviationAngle                (12.0 * M_PI / 180.0),
  myHLRAngle                      (20.0 * M_PI / 180.0),


It is desired to break this endless loop and stop using HLRAngle() in wrong places. For smooth porting, it might be necessary:
- Changing default value of DeviationAngle() property to much current HLRAngle.
- Marking HLRAngle()/SetHLRAngle() as deprecated with redirection to DeviationAngle() property.

The main purpose is to allow safe transition of existing projects relying on HLRAngle() property misuse for triangulation algorithm, as actual HLR parameter is much rarely used.
No tags attached.
related to 0030598assigned  Open CASCADE Visualization - redesign Prs3d_Drawer as aspects map 
Issue History
2020-03-11 15:15kgvNew Issue
2020-03-11 15:15kgvAssigned To => kgv
2020-03-11 17:00kgvRelationship addedrelated to 0031425
2020-03-11 19:10kgvRelationship addedrelated to 0025071
2020-03-13 00:34gitNote Added: 0090921
2020-03-13 00:36gitNote Added: 0090922
2020-03-13 00:36kgvDescription Updatedbug_revision_view_page.php?rev_id=22667#r22667
2020-03-13 07:54gitNote Added: 0090924
2020-03-13 09:18kgvNote Added: 0090925
2020-03-13 09:18kgvAssigned Tokgv => osa
2020-03-13 09:18kgvStatusnew => resolved
2020-03-13 09:20kgvRelationship addedrelated to 0030598
2020-03-16 10:02gitNote Added: 0090947
2020-03-16 11:22gitNote Added: 0090951
2020-03-16 12:27gitNote Added: 0090959
2020-03-16 12:55gitNote Added: 0090963
2020-03-16 16:56gitNote Added: 0090974
2020-03-16 18:44kgvNote Edited: 0090925bug_revision_view_page.php?bugnote_id=90925#r22673
2020-03-17 09:08osaNote Added: 0090980
2020-03-17 09:08osaAssigned Toosa => bugmaster
2020-03-17 09:08osaStatusresolved => reviewed
2020-03-19 16:31kgvChangeset attached => occt master 67441d0c
2020-03-19 16:31kgvAssigned Tobugmaster => kgv
2020-03-19 16:31kgvStatusreviewed => verified
2020-03-19 16:31kgvResolutionopen => fixed
2020-03-22 11:31gitNote Added: 0091127
2020-03-22 11:31gitNote Added: 0091130
2020-03-22 11:31gitNote Added: 0091131
2020-03-22 11:42bugmasterNote Added: 0091164

Notes
(0090921)
git   
2020-03-13 00:34   
Branch CR31424_1 has been created by kgv.

SHA-1: 5fb72d899756388c2eaeb24c6d25a37c620aa165


Detailed log of new commits:

Author: kgv
Date: Fri Mar 13 00:35:06 2020 +0300

    0031424: Visualization - stop using Prs3d_Drawer::HLRAngle() parameter
    
    Prs3d_Drawer, AIS_Shape, AIS_InteractiveContext - removed properties HLRDeviationCoefficient() and HLRAngle().
    Prs3d_Drawer::HLRAngle() is kept as alias to Prs3d_Drawer::DeviationAngle() with deprecated flag.
    Prs3d_Drawer::DeviationAngle() default value is changed from 12 to 20 degrees
    to match Prs3d_Drawer::HLRAngle() which has been previously used in majority of cases.
    Removed unused property HLRBRep_PolyAlgo::Angle().
(0090922)
git   
2020-03-13 00:36   
Branch CR31424_2 has been created by kgv.

SHA-1: 870dd294658f8fd017eaa9a25fc3ca967e709b19


Detailed log of new commits:

Author: kgv
Date: Fri Mar 13 00:35:06 2020 +0300

    0031424: Visualization - stop using Prs3d_Drawer::HLRAngle() parameter
    
    Prs3d_Drawer, AIS_Shape, AIS_InteractiveContext - removed properties HLRDeviationCoefficient() and HLRAngle().
    Prs3d_Drawer::HLRAngle() is kept as alias to Prs3d_Drawer::DeviationAngle() with deprecated flag.
    Prs3d_Drawer::DeviationAngle() default value is changed from 12 to 20 degrees
    to match Prs3d_Drawer::HLRAngle() which has been previously used in majority of cases.
    Removed unused property HLRBRep_PolyAlgo::Angle().
(0090924)
git   
2020-03-13 07:54   
Branch CR31424_2 has been updated forcibly by kgv.

SHA-1: c21f9b1668898904f43e3c5c81892f3750a0d805
(0090925)
kgv   
2020-03-13 09:18   
(edited on: 2020-03-16 18:44)
Patch is ready for review.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR31424_3-CR31424_3-KGV/ [^]

(0090947)
git   
2020-03-16 10:02   
Branch CR31424_3 has been created by kgv.

SHA-1: 07c38e683708ac65ff7b5f63cb3c3c13fd27e900


Detailed log of new commits:

Author: kgv
Date: Fri Mar 13 00:35:06 2020 +0300

    0031424: Visualization - stop using Prs3d_Drawer::HLRAngle() parameter
    
    Prs3d_Drawer, AIS_Shape, AIS_InteractiveContext - removed properties HLRDeviationCoefficient() and HLRAngle().
    Prs3d_Drawer::HLRAngle() is kept as alias to Prs3d_Drawer::DeviationAngle() with deprecated flag.
    Prs3d_Drawer::DeviationAngle() default value is changed from 12 to 20 degrees
    to match Prs3d_Drawer::HLRAngle() which has been previously used in majority of cases.
    Removed unused property HLRBRep_PolyAlgo::Angle().

Author: kgv
Date: Sat Mar 14 20:34:46 2020 +0300

    0031431: Visualization, PrsMgr_PresentableObject - simplify HLR computing interface
    
    Multiple PrsMgr_PresentableObject::Compute() methods have been replaced by single one
    PrsMgr_PresentableObject::computeHLR().
    Dummy implementations of previously declared methods have been removed
    from AIS classes not implementng HLR presentation.
    Class Prs3d_Projector has been removed and Graphic3d_Camera is now passed directly,
    so that redundant dependency from HLRAlgo_Projector in Prs3d interfaces has been eliminated.
    StdPrs_HLRShape and StdPrs_HLRPolyShape now implement common interface StdPrs_HLRShapeI.
(0090951)
git   
2020-03-16 11:22   
Branch CR31424_3 has been updated forcibly by kgv.

SHA-1: fde078c910ad619590dbb9e47dd358055f3187d8
(0090959)
git   
2020-03-16 12:27   
Branch CR31424_3 has been updated forcibly by kgv.

SHA-1: f54ced2b1c3fb2260fadb48e9ba70fb4b6e7de69
(0090963)
git   
2020-03-16 12:55   
Branch CR31424_3 has been updated forcibly by kgv.

SHA-1: 9b21895f31f5983bcb4e0190e04e0671fe1188f4
(0090974)
git   
2020-03-16 16:56   
Branch CR31424_3 has been updated forcibly by kgv.

SHA-1: 67441d0ca30466eec83edf8e8f87fcfd45c07119
(0090980)
osa   
2020-03-17 09:08   
The patches in OCCT and Products were reviewed
(0091127)
git   
2020-03-22 11:31   
Branch CR31424_3 has been deleted by inv.

SHA-1: 67441d0ca30466eec83edf8e8f87fcfd45c07119
(0091130)
git   
2020-03-22 11:31   
Branch CR31424_2 has been deleted by inv.

SHA-1: c21f9b1668898904f43e3c5c81892f3750a0d805
(0091131)
git   
2020-03-22 11:31   
Branch CR31424_1 has been deleted by inv.

SHA-1: 5fb72d899756388c2eaeb24c6d25a37c620aa165
(0091164)
bugmaster   
2020-03-22 11:42   
Combination -
OCCT branch : IR-2020-03-20
master SHA - 7ef1f9b7c1d9301c158a593dc5facb5a33450318
fe4497f3246e6bc1ced97ac331c148f0809ded15
Products branch : IR-2020-03-20 SHA - f10b867b449ebfa55e0a3c8cb276ae511f9cf7f2
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: 16845.960000000137 / 16685.300000000094 [+0.96%]
Products
Total CPU difference: 11305.960000000074 / 11298.700000000106 [+0.06%]
Windows-64-VC14:
OCCT
Total CPU difference: 18268.609375 / 18088.765625 [+0.99%]
Products
Total CPU difference: 13110.078125 / 13084.390625 [+0.20%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention