MantisBT - Open CASCADE
View Issue Details
0028047Open CASCADE[OCCT] OCCT:Visualizationpublic2016-11-03 12:302020-09-09 11:52
vpa 
apn 
normalminor 
closedfixed 
 
[OCCT] 7.2.0[OCCT] 7.2.0 
Not needed
0028047: Visualization - support objects with customized highlighting in AIS_InteractiveContext
In OCCT it is available to implement custom highlighting in AIS_InteractiveObject by setting SelectMgr_EntityOwner::IsAutoHilight to false and redefining necessary virtual methods. But if such object does not use immediate mode for dynamic highlight, there is no possibility to determine when dynamic highlight presentation or related data must be invalidated.

It is also necessary to allow owners with SelectMgr_EntityOwner::IsForceHighlight set to true to redraw selection highlight at each call of AIS_InteractiveContext::Select (like it is done already in AIS_InteractiveContext::MoveTo).
N/A
No tags attached.
parent of 0031758closed bugmaster Open CASCADE Visualization, AIS_InteractiveContext - unify clearDynamicHighlight() method 
Issue History
2016-11-03 12:30vpaNew Issue
2016-11-03 12:30vpaAssigned To => kgv
2016-11-03 12:30vpaAssigned Tokgv => vpa
2016-11-03 12:30vpaStatusnew => assigned
2016-11-03 12:44gitNote Added: 0059837
2016-11-03 18:00gitNote Added: 0059879
2016-11-03 18:00vpaNote Added: 0059880
2016-11-03 18:00vpaAssigned Tovpa => kgv
2016-11-03 18:00vpaStatusassigned => resolved
2016-11-09 10:15abvTarget Version7.1.0 => 7.2.0
2016-12-16 18:27kgvNote Added: 0061766
2016-12-16 18:27kgvAssigned Tokgv => vpa
2016-12-16 18:27kgvStatusresolved => reviewed
2016-12-16 18:28kgvStatusreviewed => feedback
2016-12-27 09:37gitNote Added: 0062155
2016-12-27 09:38iskNote Added: 0062156
2016-12-27 14:36kgvNote Added: 0062183
2016-12-27 14:37kgvNote Edited: 0062183bug_revision_view_page.php?bugnote_id=62183#r15710
2016-12-28 15:49gitNote Added: 0062260
2016-12-28 15:52gitNote Added: 0062261
2016-12-28 15:54vpaNote Added: 0062262
2016-12-28 15:54vpaAssigned Tovpa => kgv
2016-12-28 15:54vpaStatusfeedback => resolved
2016-12-28 15:57kgvNote Added: 0062263
2016-12-28 15:57kgvAssigned Tokgv => bugmaster
2016-12-28 15:57kgvStatusresolved => reviewed
2016-12-28 15:57kgvRelationship addedrelated to 0028023
2016-12-28 17:52apvAssigned Tobugmaster => apv
2016-12-28 17:57apvTest case number => Not needed
2016-12-29 13:36apvNote Added: 0062311
2016-12-29 13:36apvAssigned Toapv => bugmaster
2016-12-29 13:36apvStatusreviewed => tested
2016-12-30 18:08apnChangeset attached => occt master 731c9b5b
2016-12-30 18:08apnAssigned Tobugmaster => apn
2016-12-30 18:08apnStatustested => verified
2016-12-30 18:08apnResolutionopen => fixed
2017-02-08 11:31gitNote Added: 0063531
2017-02-08 11:31gitNote Added: 0063532
2017-02-08 11:31gitNote Added: 0063533
2017-09-29 16:21aivFixed in Version => 7.2.0
2017-09-29 16:31aivStatusverified => closed
2020-09-09 11:52kgvRelationship addedparent of 0031758

Notes
(0059837)
git   
2016-11-03 12:44   
Branch CR28047 has been created by vpa.

SHA-1: eb528838603b529c42c56ed0eadc205cdd52a8b5


Detailed log of new commits:

Author: vpa
Date: Thu Nov 3 12:43:51 2016 +0300

    0028047: Visualization - support objects with customized highlighting in AIS_InteractiveContext
    
    - SelectMgr_SelectableObject::ClearHighlighted method is added to remove dynamic highlight data;
    - interactive context will pass processing of dynamic highlight erase to the object if the owner returns false in SelectMgr_EntityOwner::IsAutoHilight;
    - if owner returns true in SelectMgr_EntityOwner::IsForcedHilight, selection presentation will be re-highlighted at each ::Select call;
    - redundant logic related to old object-oriented highlight mechanism was removed from AIS_InteractiveContext::MoveTo.
(0059879)
git   
2016-11-03 18:00   
Branch CR28047_1 has been created by vpa.

SHA-1: bcb809219e79ada0f000184d9b9179602489b3e9


Detailed log of new commits:

Author: vpa
Date: Thu Nov 3 12:43:51 2016 +0300

    0028047: Visualization - support objects with customized highlighting in AIS_InteractiveContext
    
    - SelectMgr_SelectableObject::ClearHighlighted method is added to remove dynamic highlight data;
    - interactive context will pass processing of dynamic highlight erase to the object if the owner returns false in SelectMgr_EntityOwner::IsAutoHilight;
    - if owner returns true in SelectMgr_EntityOwner::IsForcedHilight, selection presentation will be re-highlighted at each ::Select call;
    - redundant logic related to old object-oriented highlight mechanism was removed from AIS_InteractiveContext::MoveTo.
(0059880)
vpa   
2016-11-03 18:00   
Dear Kirill,

please review patch in branch CR28047_1.
(0061766)
kgv   
2016-12-16 18:27   
Please rebase onto current master.
(0062155)
git   
2016-12-27 09:37   
Branch CR28047_2 has been created by isk.

SHA-1: 0fc19be90b5e01285182e59437f0efed349018a2


Detailed log of new commits:

Author: vpa
Date: Thu Nov 3 12:43:51 2016 +0300

    0028047: Visualization - support objects with customized highlighting in AIS_InteractiveContext
    
    - SelectMgr_SelectableObject::ClearHighlighted method is added to remove dynamic highlight data;
    - interactive context will pass processing of dynamic highlight erase to the object if the owner returns false in SelectMgr_EntityOwner::IsAutoHilight;
    - if owner returns true in SelectMgr_EntityOwner::IsForcedHilight, selection presentation will be re-highlighted at each ::Select call;
    - redundant logic related to old object-oriented highlight mechanism was removed from AIS_InteractiveContext::MoveTo.
(0062156)
isk   
2016-12-27 09:38   
Rebase onto current master.
(0062183)
kgv   
2016-12-27 14:36   
(edited on: 2016-12-27 14:37)
+void SelectMgr_SelectableObject::ClearHighlighted (const Handle(PrsMgr_PresentationManager3d)& theMgr)

+{
+  theMgr->ClearImmediateDraw();
+}


Please rename new methof to –°learDynamicHighlight() to avoid ambiguity of method purpose.

(0062260)
git   
2016-12-28 15:49   
Branch CR28047_2 has been updated forcibly by vpa.

SHA-1: aa0d72b6d46376c37babc72d171c830ced615301
(0062261)
git   
2016-12-28 15:52   
Branch CR28047_2 has been updated forcibly by vpa.

SHA-1: 25ee08060951ceeabeeaab31c6150c20524574f3
(0062262)
vpa   
2016-12-28 15:54   
Dear Kirill,

please review updated patch in branch CR28047_2.
(0062263)
kgv   
2016-12-28 15:57   
Please test the patch.
(0062311)
apv   
2016-12-29 13:36   
Dear BugMaster,

Branch CR28047_2 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 25ee08060951ceeabeeaab31c6150c20524574f3

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 63
   Windows: 0
   MacOS: 1168

Regressions/Differences:
Not detected

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 93768893 / 93046513 [+0.78%]
Total CPU difference: 21575.77000000031 / 21520.67000000037 [+0.26%]

Testing on Windows:
Total MEMORY difference: 58631059 / 58650770 [-0.03%]
Total CPU difference: 19318.212233898546 / 19731.318481998722 [-2.09%]
(0063531)
git   
2017-02-08 11:31   
Branch CR28047 has been deleted by kgv.

SHA-1: eb528838603b529c42c56ed0eadc205cdd52a8b5
(0063532)
git   
2017-02-08 11:31   
Branch CR28047_1 has been deleted by kgv.

SHA-1: bcb809219e79ada0f000184d9b9179602489b3e9
(0063533)
git   
2017-02-08 11:31   
Branch CR28047_2 has been deleted by kgv.

SHA-1: 25ee08060951ceeabeeaab31c6150c20524574f3