1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-21 10:13:43 +03:00

0032334: Visualization - SelectMgr_RectangularFrustum::Overlaps() does not set triangle normal in some cases

Added missing SelectBasics_PickResult::SetSurfaceNormal().
This commit is contained in:
kgv 2021-04-27 12:31:23 +03:00 committed by bugmaster
parent 342bb7fd4d
commit cece953cb4

View File

@ -678,6 +678,7 @@ Standard_Boolean SelectMgr_RectangularFrustum::Overlaps (const gp_Pnt& thePnt1,
segmentSegmentDistance (aStartPnt, anEndPnt, aPickResult); segmentSegmentDistance (aStartPnt, anEndPnt, aPickResult);
thePickResult = SelectBasics_PickResult::Min (thePickResult, aPickResult); thePickResult = SelectBasics_PickResult::Min (thePickResult, aPickResult);
} }
thePickResult.SetSurfaceNormal (aTriangleNormal);
return !theClipRange.IsClipped (thePickResult.Depth()); return !theClipRange.IsClipped (thePickResult.Depth());
} }
@ -720,6 +721,7 @@ Standard_Boolean SelectMgr_RectangularFrustum::Overlaps (const gp_Pnt& thePnt1,
aNearestEdgeIdx2 = aNearestEdgeIdx1 == 0 ? 2 : aNearestEdgeIdx1 - 1; aNearestEdgeIdx2 = aNearestEdgeIdx1 == 0 ? 2 : aNearestEdgeIdx1 - 1;
} }
segmentSegmentDistance (aPnts[aNearestEdgeIdx1], aPnts[aNearestEdgeIdx2], thePickResult); segmentSegmentDistance (aPnts[aNearestEdgeIdx1], aPnts[aNearestEdgeIdx2], thePickResult);
thePickResult.SetSurfaceNormal (aTriangleNormal);
} }
return !theClipRange.IsClipped (thePickResult.Depth()); return !theClipRange.IsClipped (thePickResult.Depth());