mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-04 13:13:25 +03:00
0026973: Visualization - selection of entities hidden by clipping planes is broken
- misprint in distance calculation in SelectMgr_RectangularFrustum::IsClipped is corrected; - selecting volume manager in clipping check in SelectMgr_ViewerSelector::checkOverlap was replaced ; - added view-defined clipping planes check to SelectMgr_RectangularFrustum; - test case for issue #26973.
This commit is contained in:
@@ -113,8 +113,6 @@ void StdSelect_ViewerSelector3d::Pick (const Standard_Integer theXPix,
|
||||
const Standard_Integer theYPix,
|
||||
const Handle(V3d_View)& theView)
|
||||
{
|
||||
SetClipping (theView->GetClipPlanes());
|
||||
|
||||
if(myToUpdateTolerance)
|
||||
{
|
||||
mySelectingVolumeMgr.SetPixelTolerance (myTolerances.Tolerance());
|
||||
@@ -129,6 +127,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->GetClipPlanes());
|
||||
|
||||
TraverseSensitives();
|
||||
}
|
||||
@@ -650,15 +649,6 @@ void StdSelect_ViewerSelector3d::ComputeSensitivePrs (const Handle(Graphic3d_Str
|
||||
}
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : SetClipping
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
void StdSelect_ViewerSelector3d::SetClipping (const Graphic3d_SequenceOfHClipPlane& thePlanes)
|
||||
{
|
||||
myClipPlanes = thePlanes;
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
//function : HasDepthClipping
|
||||
//purpose :
|
||||
|
@@ -83,12 +83,6 @@ public:
|
||||
|
||||
DEFINE_STANDARD_RTTIEXT(StdSelect_ViewerSelector3d,SelectMgr_ViewerSelector)
|
||||
|
||||
protected:
|
||||
|
||||
//! Set view clipping for the selector.
|
||||
//! @param thePlanes [in] the view planes.
|
||||
Standard_EXPORT void SetClipping (const Graphic3d_SequenceOfHClipPlane& thePlanes);
|
||||
|
||||
private:
|
||||
|
||||
void ComputeSensitivePrs (const Handle(Graphic3d_Structure)& theStructure,
|
||||
@@ -97,7 +91,6 @@ private:
|
||||
const Graphic3d_TransformPers& theTransPers);
|
||||
|
||||
Graphic3d_SequenceOfStructure myStructs;
|
||||
Graphic3d_SequenceOfHClipPlane myClipPlanes;
|
||||
};
|
||||
|
||||
DEFINE_STANDARD_HANDLE(StdSelect_ViewerSelector3d, SelectMgr_ViewerSelector)
|
||||
|
Reference in New Issue
Block a user