0031412: Visualization - entity behind is returned as topmost at the edges
authormzernova <mzernova@opencascade.com>
Tue, 10 Mar 2020 13:06:24 +0000 (16:06 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 25 Jun 2020 16:09:04 +0000 (19:09 +0300)
commit2ff1d580f14f2d59c4fba7790ea5753fe4ebf0c5
tree5190fd7c58e72eb8af682cc7c31ca08034677d98
parent64f128c1117c91c5e41a83b0ae2d14e64ed71f64
0031412: Visualization - entity behind is returned as topmost at the edges

SelectMgr_RectangularFrustum now handles degenerated triangle as a segment or a point.
Triangle orthogonal to view direction is now handled as a segment.
myViewRayDir field is now defined as normalized vector to avoid confusing math.

For the case when the segment and myViewRayDir are almost parallel,
the segmentSegmentDistance function may set the depth to zero, although this will not
be the correct value, therefore it is better to pass a segment that will not
be parallel to myViewRayDir as an argument to the function.

vpoint command has been extended by arguments -2d and -nosel
for displaying picking mouse position as on-screen point in pixels.
Fixed double-binding-map error in case of displaying point with already used name.

bugs/vis/bug31412: test case added.
src/SelectMgr/SelectMgr_RectangularFrustum.cxx
src/SelectMgr/SelectMgr_RectangularFrustum.hxx
src/ViewerTest/ViewerTest_ObjectCommands.cxx
tests/bugs/vis/bug31412 [new file with mode: 0644]
tests/v3d/manipulator/zoom_persistence