From: nds Date: Thu, 7 Feb 2019 08:59:53 +0000 (+0300) Subject: 0030484: Visualization - 2d persistent: order of detection doesn't coincide with... X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=555748a0d1583c1951fe4d85530c14a87edfdec8;p=occt-copy.git 0030484: Visualization - 2d persistent: order of detection doesn't coincide with order of objects creation (cherry picked from commit a151681f49e3f365a76c0491bec127c72b594258) --- diff --git a/src/SelectMgr/SelectMgr_ViewerSelector.cxx b/src/SelectMgr/SelectMgr_ViewerSelector.cxx index 0fb6c8666e..c693773d84 100644 --- a/src/SelectMgr/SelectMgr_ViewerSelector.cxx +++ b/src/SelectMgr/SelectMgr_ViewerSelector.cxx @@ -282,6 +282,9 @@ void SelectMgr_ViewerSelector::checkOverlap (const Handle(SelectBasics_Sensitive aCriterion.Priority = anOwner->Priority(); aCriterion.Depth = aPickResult.Depth(); aCriterion.MinDist = aPickResult.DistToGeomCenter(); + if (!aSelectable.IsNull() && !aSelectable->TransformPersistence().IsNull() && + aSelectable->TransformPersistence()->Mode() == Graphic3d_TMF_2d) + aCriterion.MinDist = 0; // having 2D persistent, 3D geometry point is not required aCriterion.ToPreferClosest = preferclosest; if (SelectMgr_SortCriterion* aPrevCriterion = mystored.ChangeSeek (anOwner))