1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

0026721: Visualization - selection highlight of selected face is broken

- fixed misprint in changing owner higlight status AIS_InteractiveContext::SetSelected;
- duplicatied code for unhighlighting seleced owners was moved in a separate function;
- test case for issue #26721
This commit is contained in:
vpa
2015-10-02 17:21:58 +03:00
committed by bugmaster
parent bcd1975693
commit b400611710
3 changed files with 97 additions and 109 deletions

View File

@@ -1039,6 +1039,7 @@ public:
//! Unhighlights previously selected owners and marks them as not selected.
//! Marks owner given as selected and highlights it.
//! Performs selection filters check.
Standard_EXPORT void SetSelected (const Handle(SelectMgr_EntityOwner)& theOwners,
const Standard_Boolean theToUpdateViewer = Standard_True);
@@ -1048,6 +1049,7 @@ public:
//! Standard_False, the presentation of the Interactive
//! Object activates the selection mode; the object is
//! displayed but no viewer will be updated.
//! Performs selection filters check.
Standard_EXPORT void SetSelected (const Handle(AIS_InteractiveObject)& theObject,
const Standard_Boolean theToUpdateViewer = Standard_True);
@@ -1610,6 +1612,12 @@ private:
void highlightSelected (const Handle(SelectMgr_EntityOwner)& theOwner,
const Quantity_NameOfColor theSelColor);
//! Helper function that unhighlights all owners that are stored in current AIS_Selection.
//! The function updates global status and selection state of owner and interactive object.
//! If the parameter <theIsToHilightSubIntensity> is set to true, interactive objects with sub-intensity
//! switched on in AIS_GlobalStatus will be highlighted with context's sub-intensity color.
void unhighlightSelected (const Standard_Boolean theIsToHilightSubIntensity = Standard_False);
AIS_DataMapOfIOStatus myObjects;
Handle(SelectMgr_SelectionManager) mgrSelector;
Handle(PrsMgr_PresentationManager3d) myMainPM;