mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-06-05 11:24:17 +03:00
0033575: Visualization - Volume selection of labels add repeated instances of the same object to selection list.
Modified logic to add selectable object in SelectMgr_ViewerSelector::checkOverlap.
This commit is contained in:
parent
072c986e7d
commit
d272ad9089
@ -296,9 +296,26 @@ void SelectMgr_ViewerSelector::checkOverlap (const Handle(Select3D_SensitiveEnti
|
|||||||
{
|
{
|
||||||
aCriterion.NbOwnerMatches = 1;
|
aCriterion.NbOwnerMatches = 1;
|
||||||
updatePoint3d (aCriterion, aPickResult, theEntity, theInversedTrsf, theMgr);
|
updatePoint3d (aCriterion, aPickResult, theEntity, theInversedTrsf, theMgr);
|
||||||
|
Standard_Boolean anExists = Standard_False;
|
||||||
|
for (Standard_Integer aStoredIter = 1; aStoredIter <= mystored.Extent(); ++aStoredIter)
|
||||||
|
{
|
||||||
|
const SelectMgr_SortCriterion& aSearchCriterion = mystored.FindFromIndex (aStoredIter);
|
||||||
|
const Handle(SelectMgr_EntityOwner)& aSearchOwner = aSearchCriterion.Entity->OwnerId();
|
||||||
|
Handle(SelectMgr_SelectableObject) aSearchSelectable = !aSearchOwner.IsNull() ? aSearchOwner->Selectable() : Handle(SelectMgr_SelectableObject)();
|
||||||
|
if (!aSearchSelectable.IsNull() && !aSelectable.IsNull())
|
||||||
|
{
|
||||||
|
if (aSearchSelectable == aSelectable)
|
||||||
|
{
|
||||||
|
anExists = Standard_True;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!anExists)
|
||||||
|
{
|
||||||
mystored.Add (anOwner, aCriterion);
|
mystored.Add (anOwner, aCriterion);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
// Function: updateZLayers
|
// Function: updateZLayers
|
||||||
|
Loading…
x
Reference in New Issue
Block a user