mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +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:
@@ -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 :
|
||||
|
@@ -93,8 +93,6 @@ public:
|
||||
const Handle(V3d_View)& theView,
|
||||
const Standard_Boolean theToClearOthers = Standard_True);
|
||||
|
||||
Standard_EXPORT virtual Standard_Boolean HasDepthClipping (const Handle(SelectMgr_EntityOwner)& theOwner) const Standard_OVERRIDE;
|
||||
|
||||
DEFINE_STANDARD_RTTIEXT(StdSelect_ViewerSelector3d,SelectMgr_ViewerSelector)
|
||||
|
||||
protected:
|
||||
|
Reference in New Issue
Block a user