mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0026147: Visualization - restore the ability to pick only fully included objects in rectangular selection
2 modes of rectangular selection are available: inclusion-only and overlap-allowing; The modes can be switched using method AllowOverlapDetection from StdSelect_ViewerSelector3d; BVH for sensitive entities now builds if there is more than max number of leafs in collection; Added option -allowoverlap to command vselect; Interactive rectangular selection in Draw is now available in 2 modes: - if the user starts selection from upper corners, only fully included objects will be selected; - if the user starts selection from lower corners, both partially and fully overlapped objects will be selected.
This commit is contained in:
@@ -49,8 +49,9 @@ public:
|
||||
|
||||
//! Returns true if selecting volume is overlapped by axis-aligned bounding box with minimum
|
||||
//! corner at point theMinPt and maximum at point theMaxPt
|
||||
virtual Standard_Boolean Overlaps (const NCollection_Vec3<Standard_Real>& theMinPt,
|
||||
const NCollection_Vec3<Standard_Real>& theMaxPt) = 0;
|
||||
virtual Standard_Boolean Overlaps (const NCollection_Vec3<Standard_Real>& theBoxMin,
|
||||
const NCollection_Vec3<Standard_Real>& theBoxMax,
|
||||
Standard_Boolean* theInside = NULL) = 0;
|
||||
|
||||
//! Returns true if selecting volume is overlapped by point thePt
|
||||
virtual Standard_Boolean Overlaps (const gp_Pnt& thePt,
|
||||
@@ -82,6 +83,8 @@ public:
|
||||
|
||||
virtual NCollection_Vec3<Standard_Real> DetectedPoint (const Standard_Real theDepth) const = 0;
|
||||
|
||||
virtual Standard_Boolean IsOverlapAllowed() const = 0;
|
||||
|
||||
protected:
|
||||
SelectionType myActiveSelectionType; //!< Active selection type: point, box or polyline
|
||||
};
|
||||
|
Reference in New Issue
Block a user