]> OCCT Git - occt-copy.git/commitdiff
0030484: Visualization - 2d persistent: order of detection doesn't coincide with...
authornds <nds@opencascade.com>
Thu, 7 Feb 2019 08:59:53 +0000 (11:59 +0300)
committernds <nds@opencascade.com>
Tue, 30 Apr 2019 12:48:20 +0000 (15:48 +0300)
(cherry picked from commit a151681f49e3f365a76c0491bec127c72b594258)

src/SelectMgr/SelectMgr_ViewerSelector.cxx

index 0fb6c8666e40539cc556ec48d2858f92d3c9354b..c693773d84f051ffc5c989a350d7e0f8f0365b37 100644 (file)
@@ -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))