Open CASCADE Technology  6.9.1
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 NCollection_Vec3< Standard_Real > &theBoxMin, const NCollection_Vec3< Standard_Real > &theBoxMax, 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 &thePnt, Standard_Real &theDepth)=0
 Returns true if selecting volume is overlapped by point thePnt. More...
 
virtual Standard_Boolean Overlaps (const gp_Pnt &thePnt)=0
 Returns true if selecting volume is overlapped by point thePnt. Does not perform depth calculation, so this method is defined as helper function for inclusion test. 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 gp_Pnt 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 gp_Pnt 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 NCollection_Vec3< Standard_Real > &  theBoxMin,
const NCollection_Vec3< Standard_Real > &  theBoxMax,
Standard_Real theDepth 
)
pure virtual

Returns true if selecting volume is overlapped by box theBox.

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 thePnt,
Standard_Real theDepth 
)
pure virtual

Returns true if selecting volume is overlapped by point thePnt.

Implemented in SelectMgr_SelectingVolumeManager.

virtual Standard_Boolean SelectBasics_SelectingVolumeManager::Overlaps ( const gp_Pnt thePnt)
pure virtual

Returns true if selecting volume is overlapped by point thePnt. Does not perform depth calculation, so this method is defined as helper function for inclusion test.

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: