View Issue Details

IDProjectCategoryView StatusLast Update
0028047Open CASCADEOCCT:Visualizationpublic2020-09-09 11:52
ReportervpaAssigned Toapn  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Target Version7.2.0Fixed in Version7.2.0 
Summary0028047: Visualization - support objects with customized highlighting in AIS_InteractiveContext
DescriptionIn 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).
Steps To ReproduceN/A
TagsNo tags attached.
Test case numberNot needed

Relationships

parent of 0031758 closedbugmaster Open CASCADE Visualization, AIS_InteractiveContext - unify clearDynamicHighlight() method 

Activities

git

2016-11-03 12:44

administrator   ~0059837

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.

git

2016-11-03 18:00

administrator   ~0059879

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.

vpa

2016-11-03 18:00

developer   ~0059880

Dear Kirill,

please review patch in branch CR28047_1.

kgv

2016-12-16 18:27

developer   ~0061766

Please rebase onto current master.

git

2016-12-27 09:37

administrator   ~0062155

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.

isk

2016-12-27 09:38

developer   ~0062156

Rebase onto current master.

kgv

2016-12-27 14:36

developer   ~0062183

Last edited: 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.

git

2016-12-28 15:49

administrator   ~0062260

Branch CR28047_2 has been updated forcibly by vpa.

SHA-1: aa0d72b6d46376c37babc72d171c830ced615301

git

2016-12-28 15:52

administrator   ~0062261

Branch CR28047_2 has been updated forcibly by vpa.

SHA-1: 25ee08060951ceeabeeaab31c6150c20524574f3

vpa

2016-12-28 15:54

developer   ~0062262

Dear Kirill,

please review updated patch in branch CR28047_2.

kgv

2016-12-28 15:57

developer   ~0062263

Please test the patch.

apv

2016-12-29 13:36

tester   ~0062311

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%]

git

2017-02-08 11:31

administrator   ~0063531

Branch CR28047 has been deleted by kgv.

SHA-1: eb528838603b529c42c56ed0eadc205cdd52a8b5

git

2017-02-08 11:31

administrator   ~0063532

Branch CR28047_1 has been deleted by kgv.

SHA-1: bcb809219e79ada0f000184d9b9179602489b3e9

git

2017-02-08 11:31

administrator   ~0063533

Branch CR28047_2 has been deleted by kgv.

SHA-1: 25ee08060951ceeabeeaab31c6150c20524574f3

Related Changesets

occt: master 731c9b5b

2016-12-28 12:52:31

vpa


Committer: apn Details Diff
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.
Affected Issues
0028047
mod - src/AIS/AIS_InteractiveContext.cxx Diff File
mod - src/AIS/AIS_InteractiveContext.hxx Diff File
mod - src/AIS/AIS_InteractiveContext_1.cxx Diff File
mod - src/SelectMgr/SelectMgr_SelectableObject.cxx Diff File
mod - src/SelectMgr/SelectMgr_SelectableObject.hxx Diff File

Issue History

Date Modified Username Field Change
2016-11-03 12:30 vpa New Issue
2016-11-03 12:30 vpa Assigned To => kgv
2016-11-03 12:30 vpa Assigned To kgv => vpa
2016-11-03 12:30 vpa Status new => assigned
2016-11-03 12:44 git Note Added: 0059837
2016-11-03 18:00 git Note Added: 0059879
2016-11-03 18:00 vpa Note Added: 0059880
2016-11-03 18:00 vpa Assigned To vpa => kgv
2016-11-03 18:00 vpa Status assigned => resolved
2016-11-09 10:15 abv Target Version 7.1.0 => 7.2.0
2016-12-16 18:27 kgv Note Added: 0061766
2016-12-16 18:27 kgv Assigned To kgv => vpa
2016-12-16 18:27 kgv Status resolved => reviewed
2016-12-16 18:28 kgv Status reviewed => feedback
2016-12-27 09:37 git Note Added: 0062155
2016-12-27 09:38 isk Note Added: 0062156
2016-12-27 14:36 kgv Note Added: 0062183
2016-12-27 14:37 kgv Note Edited: 0062183
2016-12-28 15:49 git Note Added: 0062260
2016-12-28 15:52 git Note Added: 0062261
2016-12-28 15:54 vpa Note Added: 0062262
2016-12-28 15:54 vpa Assigned To vpa => kgv
2016-12-28 15:54 vpa Status feedback => resolved
2016-12-28 15:57 kgv Note Added: 0062263
2016-12-28 15:57 kgv Assigned To kgv => bugmaster
2016-12-28 15:57 kgv Status resolved => reviewed
2016-12-28 17:52 apv Assigned To bugmaster => apv
2016-12-28 17:57 apv Test case number => Not needed
2016-12-29 13:36 apv Note Added: 0062311
2016-12-29 13:36 apv Assigned To apv => bugmaster
2016-12-29 13:36 apv Status reviewed => tested
2016-12-30 18:08 apn Changeset attached => occt master 731c9b5b
2016-12-30 18:08 apn Assigned To bugmaster => apn
2016-12-30 18:08 apn Status tested => verified
2016-12-30 18:08 apn Resolution open => fixed
2017-02-08 11:31 git Note Added: 0063531
2017-02-08 11:31 git Note Added: 0063532
2017-02-08 11:31 git Note Added: 0063533
2017-09-29 16:21 aiv Fixed in Version => 7.2.0
2017-09-29 16:31 aiv Status verified => closed
2020-09-09 11:52 kgv Relationship added parent of 0031758