1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

0030777: Visualization - Incorrect selection/highlighting of clipped objects

SelectMgr_ViewerSelector::traverseObject() now handles Object clipping planes in the same way as View clipping planes.
This commit is contained in:
kgv
2019-06-16 17:09:14 +03:00
committed by bugmaster
parent 3b739e69c9
commit fe525c6f7c
13 changed files with 124 additions and 214 deletions

View File

@@ -132,7 +132,7 @@ void StdSelect_ViewerSelector3d::Pick (const Standard_Integer theXPix,
gp_Pnt2d aMousePos (static_cast<Standard_Real> (theXPix),
static_cast<Standard_Real> (theYPix));
mySelectingVolumeMgr.BuildSelectingVolume (aMousePos);
mySelectingVolumeMgr.SetViewClipping (theView->ClipPlanes());
mySelectingVolumeMgr.SetViewClipping (theView->ClipPlanes(), Handle(Graphic3d_SequenceOfHClipPlane)());
TraverseSensitives();
}
@@ -624,22 +624,6 @@ void StdSelect_ViewerSelector3d::computeSensitivePrs (const Handle(Graphic3d_Str
}
}
//=======================================================================
//function : HasDepthClipping
//purpose :
//=======================================================================
Standard_Boolean StdSelect_ViewerSelector3d::HasDepthClipping (const Handle(SelectMgr_EntityOwner)& theOwner) const
{
if (!theOwner->HasSelectable())
{
return Standard_False;
}
const Handle(SelectMgr_SelectableObject)& aSelectable = theOwner->Selectable();
return !aSelectable->ClipPlanes().IsNull()
&& !aSelectable->ClipPlanes()->IsEmpty();
}
//=======================================================================
// Function: updateZLayers
// Purpose :