]> 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, 11 Jun 2019 10:41:13 +0000 (13:41 +0300)
(cherry picked from commit a151681f49e3f365a76c0491bec127c72b594258)
(cherry picked from commit 555748a0d1583c1951fe4d85530c14a87edfdec8)

src/SelectMgr/SelectMgr_ViewerSelector.cxx

index 88be7da13c93bd97e58865d6bda323f751b0da7d..b700fffe6b63f617265843303ebdf62f41432eeb 100644 (file)
@@ -286,6 +286,9 @@ void SelectMgr_ViewerSelector::checkOverlap (const Handle(Select3D_SensitiveEnti
   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))