Open CASCADE Technology  6.9.0
Public Types | Public Member Functions | Protected Attributes

SelectBasics_SelectingVolumeManager Class Referenceabstract

This class provides an interface for selecting volume manager, which is responsible for all overlap detection methods and calculation of minimum depth, distance to center of geometry and detected closest point on entity. More...

#include <SelectBasics_SelectingVolumeManager.hxx>

Inheritance diagram for SelectBasics_SelectingVolumeManager:
Inheritance graph
[legend]

Public Types

enum  SelectionType { Point, Box, Polyline, Unknown }
 Available selection types. More...
 

Public Member Functions

 SelectBasics_SelectingVolumeManager ()
 
virtual ~SelectBasics_SelectingVolumeManager ()
 
virtual Standard_Integer GetActiveSelectionType () const =0
 
virtual Standard_Boolean Overlaps (const BVH_Box< Standard_Real, 3 > &theBox, Standard_Real &theDepth)=0
 Returns true if selecting volume is overlapped by box theBox. More...
 
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 axis-aligned bounding box with minimum corner at point theMinPt and maximum at point theMaxPt. More...
 
virtual Standard_Boolean Overlaps (const gp_Pnt &thePt, Standard_Real &theDepth)=0
 Returns true if selecting volume is overlapped by point thePt. More...
 
virtual Standard_Boolean Overlaps (const Handle< TColgp_HArray1OfPnt > &theArrayOfPts, Standard_Integer theSensType, Standard_Real &theDepth)=0
 Returns true if selecting volume is overlapped by planar convex polygon, which points are stored in theArrayOfPts, taking into account sensitivity type theSensType. More...
 
virtual Standard_Boolean Overlaps (const gp_Pnt &thePt1, const gp_Pnt &thePt2, Standard_Real &theDepth)=0
 Returns true if selecting volume is overlapped by line segment with start point at thePt1 and end point at thePt2. More...
 
virtual Standard_Boolean Overlaps (const gp_Pnt &thePt1, const gp_Pnt &thePt2, const gp_Pnt &thePt3, Standard_Integer theSensType, Standard_Real &theDepth)=0
 Returns true if selecting volume is overlapped by triangle with vertices thePt1, thePt2 and thePt3, taking into account sensitivity type theSensType. More...
 
virtual Standard_Real DistToGeometryCenter (const gp_Pnt &theCOG)=0
 Calculates distance from 3d projection of user-defined selection point to the given point theCOG. More...
 
virtual NCollection_Vec3
< Standard_Real
DetectedPoint (const Standard_Real theDepth) const =0
 
virtual Standard_Boolean IsOverlapAllowed () const =0
 

Protected Attributes

SelectionType myActiveSelectionType
 Active selection type: point, box or polyline. More...
 

Detailed Description

This class provides an interface for selecting volume manager, which is responsible for all overlap detection methods and calculation of minimum depth, distance to center of geometry and detected closest point on entity.

Member Enumeration Documentation

Available selection types.

Enumerator
Point 
Box 
Polyline 
Unknown 

Constructor & Destructor Documentation

SelectBasics_SelectingVolumeManager::SelectBasics_SelectingVolumeManager ( )
inline
virtual SelectBasics_SelectingVolumeManager::~SelectBasics_SelectingVolumeManager ( )
inlinevirtual

Member Function Documentation

virtual NCollection_Vec3<Standard_Real> SelectBasics_SelectingVolumeManager::DetectedPoint ( const Standard_Real  theDepth) const
pure virtual
virtual Standard_Real SelectBasics_SelectingVolumeManager::DistToGeometryCenter ( const gp_Pnt theCOG)
pure virtual

Calculates distance from 3d projection of user-defined selection point to the given point theCOG.

Implemented in SelectMgr_SelectingVolumeManager.

virtual Standard_Integer SelectBasics_SelectingVolumeManager::GetActiveSelectionType ( ) const
pure virtual
virtual Standard_Boolean SelectBasics_SelectingVolumeManager::IsOverlapAllowed ( ) const
pure virtual
virtual Standard_Boolean SelectBasics_SelectingVolumeManager::Overlaps ( const BVH_Box< Standard_Real, 3 > &  theBox,
Standard_Real theDepth 
)
pure virtual

Returns true if selecting volume is overlapped by box theBox.

Implemented in SelectMgr_SelectingVolumeManager.

virtual Standard_Boolean SelectBasics_SelectingVolumeManager::Overlaps ( const NCollection_Vec3< Standard_Real > &  theBoxMin,
const NCollection_Vec3< Standard_Real > &  theBoxMax,
Standard_Boolean theInside = NULL 
)
pure virtual

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 SelectBasics_SelectingVolumeManager::Overlaps ( const gp_Pnt thePt,
Standard_Real theDepth 
)
pure virtual

Returns true if selecting volume is overlapped by point thePt.

Implemented in SelectMgr_SelectingVolumeManager.

virtual Standard_Boolean SelectBasics_SelectingVolumeManager::Overlaps ( const Handle< TColgp_HArray1OfPnt > &  theArrayOfPts,
Standard_Integer  theSensType,
Standard_Real theDepth 
)
pure virtual

Returns true if selecting volume is overlapped by planar convex polygon, which points are stored in theArrayOfPts, taking into account sensitivity type theSensType.

Implemented in SelectMgr_SelectingVolumeManager.

virtual Standard_Boolean SelectBasics_SelectingVolumeManager::Overlaps ( const gp_Pnt thePt1,
const gp_Pnt thePt2,
Standard_Real theDepth 
)
pure virtual

Returns true if selecting volume is overlapped by line segment with start point at thePt1 and end point at thePt2.

Implemented in SelectMgr_SelectingVolumeManager.

virtual Standard_Boolean SelectBasics_SelectingVolumeManager::Overlaps ( const gp_Pnt thePt1,
const gp_Pnt thePt2,
const gp_Pnt thePt3,
Standard_Integer  theSensType,
Standard_Real theDepth 
)
pure virtual

Returns true if selecting volume is overlapped by triangle with vertices thePt1, thePt2 and thePt3, taking into account sensitivity type theSensType.

Implemented in SelectMgr_SelectingVolumeManager.

Field Documentation

SelectionType SelectBasics_SelectingVolumeManager::myActiveSelectionType
protected

Active selection type: point, box or polyline.


The documentation for this class was generated from the following file: