Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions | Static Public 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 Member Functions

 SelectBasics_SelectingVolumeManager ()
 Empty constructor.
 
virtual ~SelectBasics_SelectingVolumeManager ()
 Destructor.
 
virtual int GetActiveSelectionType () const =0
 Return selection type.
 
virtual bool OverlapsBox (const NCollection_Vec3< double > &theBoxMin, const NCollection_Vec3< double > &theBoxMax, SelectBasics_PickResult &thePickResult) const =0
 Returns true if selecting volume is overlapped by box theBox.
 
virtual bool OverlapsBox (const NCollection_Vec3< double > &theBoxMin, const NCollection_Vec3< double > &theBoxMax, bool *theInside=nullptr) const =0
 Returns true if selecting volume is overlapped by axis-aligned bounding box with minimum corner at point theMinPt and maximum at point theMaxPt.
 
virtual bool OverlapsPoint (const gp_Pnt &thePnt, SelectBasics_PickResult &thePickResult) const =0
 Returns true if selecting volume is overlapped by point thePnt.
 
virtual bool OverlapsPoint (const gp_Pnt &thePnt) const =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.
 
virtual bool OverlapsPolygon (const NCollection_Array1< gp_Pnt > &theArrayOfPts, int theSensType, SelectBasics_PickResult &thePickResult) const =0
 Returns true if selecting volume is overlapped by planar convex polygon, which points are stored in theArrayOfPts, taking into account sensitivity type theSensType.
 
virtual bool OverlapsSegment (const gp_Pnt &thePt1, const gp_Pnt &thePt2, SelectBasics_PickResult &thePickResult) const =0
 Returns true if selecting volume is overlapped by line segment with start point at thePt1 and end point at thePt2.
 
virtual bool OverlapsTriangle (const gp_Pnt &thePt1, const gp_Pnt &thePt2, const gp_Pnt &thePt3, int theSensType, SelectBasics_PickResult &thePickResult) const =0
 Returns true if selecting volume is overlapped by triangle with vertices thePt1, thePt2 and thePt3, taking into account sensitivity type theSensType.
 
virtual bool OverlapsSphere (const gp_Pnt &theCenter, const double theRadius, SelectBasics_PickResult &thePickResult) const =0
 Returns true if selecting volume is overlapped by sphere with center theCenter and radius theRadius.
 
virtual bool OverlapsSphere (const gp_Pnt &theCenter, const double theRadius, bool *theInside=nullptr) const =0
 Returns true if selecting volume is overlapped by sphere with center theCenter and radius theRadius.
 
virtual bool OverlapsCylinder (const double theBottomRad, const double theTopRad, const double theHeight, const gp_Trsf &theTrsf, const bool theIsHollow, SelectBasics_PickResult &thePickResult) const =0
 Returns true if selecting volume is overlapped by cylinder (or cone) with radiuses theBottomRad and theTopRad, height theHeight, the boolean theIsHollow and transformation to apply theTrsf.
 
virtual bool OverlapsCylinder (const double theBottomRad, const double theTopRad, const double theHeight, const gp_Trsf &theTrsf, const bool theIsHollow, bool *theInside=nullptr) const =0
 Returns true if selecting volume is overlapped by cylinder (or cone) with radiuses theBottomRad and theTopRad, height theHeight, the boolean theIsHollow and transformation to apply theTrsf.
 
virtual bool OverlapsCircle (const double theRadius, const gp_Trsf &theTrsf, const bool theIsFilled, SelectBasics_PickResult &thePickResult) const =0
 Returns true if selecting volume is overlapped by circle with radius theRadius, the boolean theIsFilled, and transformation to apply theTrsf. The position and orientation of the circle are specified via theTrsf transformation for gp::XOY() with center in gp::Origin().
 
virtual bool OverlapsCircle (const double theRadius, const gp_Trsf &theTrsf, const bool theIsFilled, bool *theInside=nullptr) const =0
 Returns true if selecting volume is overlapped by circle with radius theRadius, the boolean theIsFilled, and transformation to apply theTrsf. The position and orientation of the circle are specified via theTrsf transformation for gp::XOY() with center in gp::Origin().
 
virtual double DistToGeometryCenter (const gp_Pnt &theCOG) const =0
 Calculates distance from 3d projection of user-defined selection point to the given point theCOG.
 
virtual gp_Pnt DetectedPoint (const double theDepth) const =0
 Return 3D point corresponding to specified depth within picking ray.
 
virtual bool IsOverlapAllowed () const =0
 Returns flag indicating if partial overlapping of entities is allowed or should be rejected.
 
virtual gp_Pnt GetNearPickedPnt () const =0
 Valid only for point and rectangular selection. Returns projection of 2d mouse picked point or projection of center of 2d rectangle (for point and rectangular selection correspondingly) onto near view frustum plane.
 
virtual gp_Pnt GetFarPickedPnt () const =0
 Valid only for point and rectangular selection. Returns projection of 2d mouse picked point or projection of center of 2d rectangle (for point and rectangular selection correspondingly) onto far view frustum plane.
 
virtual gp_Dir GetViewRayDirection () const =0
 Valid only for point and rectangular selection. Returns view ray direction.
 
virtual bool IsScalableActiveVolume () const =0
 Checks if it is possible to scale current active selecting volume.
 
virtual gp_Pnt2d GetMousePosition () const =0
 Returns mouse coordinates for Point selection mode.
 
virtual void GetPlanes (NCollection_DynamicArray< NCollection_Vec4< double > > &thePlaneEquations) const =0
 Stores plane equation coefficients (in the following form: Ax + By + Cz + D = 0) to the given vector.
 
virtual void DumpJson (Standard_OStream &theOStream, int theDepth=-1) const
 Dumps the content of me into the stream.
 
bool Overlaps (const NCollection_Vec3< double > &theBoxMin, const NCollection_Vec3< double > &theBoxMax, SelectBasics_PickResult &thePickResult) const
 
bool Overlaps (const NCollection_Vec3< double > &theBoxMin, const NCollection_Vec3< double > &theBoxMax, bool *theInside=nullptr) const
 
bool Overlaps (const gp_Pnt &thePnt, SelectBasics_PickResult &thePickResult) const
 
bool Overlaps (const gp_Pnt &thePnt) const
 
bool Overlaps (const occ::handle< NCollection_HArray1< gp_Pnt > > &theArrayOfPts, int theSensType, SelectBasics_PickResult &thePickResult) const
 
bool Overlaps (const NCollection_Array1< gp_Pnt > &theArrayOfPts, int theSensType, SelectBasics_PickResult &thePickResult) const
 
bool Overlaps (const gp_Pnt &thePnt1, const gp_Pnt &thePnt2, SelectBasics_PickResult &thePickResult) const
 
bool Overlaps (const gp_Pnt &thePnt1, const gp_Pnt &thePnt2, const gp_Pnt &thePnt3, int theSensType, SelectBasics_PickResult &thePickResult) const
 

Static Public Attributes

static const SelectMgr_SelectionType Point = SelectMgr_SelectionType_Point
 Deprecated static const class members aren't supported for Visual Studio prior to 2015 (vc14) and GCC >= 5.0 and GCC < 6.3 (due to bug when warning was raised without member usage).
 
static const SelectMgr_SelectionType Box = SelectMgr_SelectionType_Box
 
static const SelectMgr_SelectionType Polyline = SelectMgr_SelectionType_Polyline
 
static const SelectMgr_SelectionType Unknown = SelectMgr_SelectionType_Unknown
 

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.

Constructor & Destructor Documentation

◆ SelectBasics_SelectingVolumeManager()

SelectBasics_SelectingVolumeManager::SelectBasics_SelectingVolumeManager ( )

Empty constructor.

◆ ~SelectBasics_SelectingVolumeManager()

virtual SelectBasics_SelectingVolumeManager::~SelectBasics_SelectingVolumeManager ( )
virtual

Destructor.

Member Function Documentation

◆ DetectedPoint()

virtual gp_Pnt SelectBasics_SelectingVolumeManager::DetectedPoint ( const double theDepth) const
pure virtual

Return 3D point corresponding to specified depth within picking ray.

Implemented in SelectMgr_SelectingVolumeManager.

◆ DistToGeometryCenter()

virtual double SelectBasics_SelectingVolumeManager::DistToGeometryCenter ( const gp_Pnt & theCOG) const
pure virtual

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

Implemented in SelectMgr_SelectingVolumeManager.

◆ DumpJson()

virtual void SelectBasics_SelectingVolumeManager::DumpJson ( Standard_OStream & theOStream,
int theDepth = -1 ) const
inlinevirtual

Dumps the content of me into the stream.

Reimplemented in SelectMgr_SelectingVolumeManager.

◆ GetActiveSelectionType()

virtual int SelectBasics_SelectingVolumeManager::GetActiveSelectionType ( ) const
pure virtual

Return selection type.

Implemented in SelectMgr_SelectingVolumeManager.

◆ GetFarPickedPnt()

virtual gp_Pnt SelectBasics_SelectingVolumeManager::GetFarPickedPnt ( ) const
pure virtual

Valid only for point and rectangular selection. Returns projection of 2d mouse picked point or projection of center of 2d rectangle (for point and rectangular selection correspondingly) onto far view frustum plane.

Implemented in SelectMgr_SelectingVolumeManager.

◆ GetMousePosition()

virtual gp_Pnt2d SelectBasics_SelectingVolumeManager::GetMousePosition ( ) const
pure virtual

Returns mouse coordinates for Point selection mode.

Returns
infinite point in case of unsupport of mouse position for this active selection volume.

Implemented in SelectMgr_SelectingVolumeManager.

◆ GetNearPickedPnt()

virtual gp_Pnt SelectBasics_SelectingVolumeManager::GetNearPickedPnt ( ) const
pure virtual

Valid only for point and rectangular selection. Returns projection of 2d mouse picked point or projection of center of 2d rectangle (for point and rectangular selection correspondingly) onto near view frustum plane.

Implemented in SelectMgr_SelectingVolumeManager.

◆ GetPlanes()

virtual void SelectBasics_SelectingVolumeManager::GetPlanes ( NCollection_DynamicArray< NCollection_Vec4< double > > & thePlaneEquations) const
pure virtual

Stores plane equation coefficients (in the following form: Ax + By + Cz + D = 0) to the given vector.

Implemented in SelectMgr_SelectingVolumeManager.

◆ GetViewRayDirection()

virtual gp_Dir SelectBasics_SelectingVolumeManager::GetViewRayDirection ( ) const
pure virtual

Valid only for point and rectangular selection. Returns view ray direction.

Implemented in SelectMgr_SelectingVolumeManager.

◆ IsOverlapAllowed()

virtual bool SelectBasics_SelectingVolumeManager::IsOverlapAllowed ( ) const
pure virtual

Returns flag indicating if partial overlapping of entities is allowed or should be rejected.

Implemented in SelectMgr_SelectingVolumeManager.

◆ IsScalableActiveVolume()

virtual bool SelectBasics_SelectingVolumeManager::IsScalableActiveVolume ( ) const
pure virtual

Checks if it is possible to scale current active selecting volume.

Implemented in SelectMgr_SelectingVolumeManager.

◆ Overlaps() [1/8]

bool SelectBasics_SelectingVolumeManager::Overlaps ( const gp_Pnt & thePnt) const
inline
Deprecated
("Deprecated alias for OverlapsPoint()")

◆ Overlaps() [2/8]

bool SelectBasics_SelectingVolumeManager::Overlaps ( const gp_Pnt & thePnt,
SelectBasics_PickResult & thePickResult ) const
inline
Deprecated
("Deprecated alias for OverlapsPoint()")

◆ Overlaps() [3/8]

bool SelectBasics_SelectingVolumeManager::Overlaps ( const gp_Pnt & thePnt1,
const gp_Pnt & thePnt2,
const gp_Pnt & thePnt3,
int theSensType,
SelectBasics_PickResult & thePickResult ) const
inline
Deprecated
("Deprecated alias for OverlapsTriangle()")

◆ Overlaps() [4/8]

bool SelectBasics_SelectingVolumeManager::Overlaps ( const gp_Pnt & thePnt1,
const gp_Pnt & thePnt2,
SelectBasics_PickResult & thePickResult ) const
inline
Deprecated
("Deprecated alias for OverlapsSegment()")

◆ Overlaps() [5/8]

bool SelectBasics_SelectingVolumeManager::Overlaps ( const NCollection_Array1< gp_Pnt > & theArrayOfPts,
int theSensType,
SelectBasics_PickResult & thePickResult ) const
inline
Deprecated
("Deprecated alias for OverlapsPolygon()")

◆ Overlaps() [6/8]

bool SelectBasics_SelectingVolumeManager::Overlaps ( const NCollection_Vec3< double > & theBoxMin,
const NCollection_Vec3< double > & theBoxMax,
bool * theInside = nullptr ) const
inline
Deprecated
("Deprecated alias for OverlapsBox()")

◆ Overlaps() [7/8]

bool SelectBasics_SelectingVolumeManager::Overlaps ( const NCollection_Vec3< double > & theBoxMin,
const NCollection_Vec3< double > & theBoxMax,
SelectBasics_PickResult & thePickResult ) const
inline
Deprecated
("Deprecated alias for OverlapsBox()")

◆ Overlaps() [8/8]

bool SelectBasics_SelectingVolumeManager::Overlaps ( const occ::handle< NCollection_HArray1< gp_Pnt > > & theArrayOfPts,
int theSensType,
SelectBasics_PickResult & thePickResult ) const
Deprecated
("Deprecated alias for OverlapsPolygon()")

◆ OverlapsBox() [1/2]

virtual bool SelectBasics_SelectingVolumeManager::OverlapsBox ( const NCollection_Vec3< double > & theBoxMin,
const NCollection_Vec3< double > & theBoxMax,
bool * theInside = nullptr ) const
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.

Implemented in SelectMgr_SelectingVolumeManager.

◆ OverlapsBox() [2/2]

virtual bool SelectBasics_SelectingVolumeManager::OverlapsBox ( const NCollection_Vec3< double > & theBoxMin,
const NCollection_Vec3< double > & theBoxMax,
SelectBasics_PickResult & thePickResult ) const
pure virtual

Returns true if selecting volume is overlapped by box theBox.

Implemented in SelectMgr_SelectingVolumeManager.

◆ OverlapsCircle() [1/2]

virtual bool SelectBasics_SelectingVolumeManager::OverlapsCircle ( const double theRadius,
const gp_Trsf & theTrsf,
const bool theIsFilled,
bool * theInside = nullptr ) const
pure virtual

Returns true if selecting volume is overlapped by circle with radius theRadius, the boolean theIsFilled, and transformation to apply theTrsf. The position and orientation of the circle are specified via theTrsf transformation for gp::XOY() with center in gp::Origin().

Implemented in SelectMgr_SelectingVolumeManager.

◆ OverlapsCircle() [2/2]

virtual bool SelectBasics_SelectingVolumeManager::OverlapsCircle ( const double theRadius,
const gp_Trsf & theTrsf,
const bool theIsFilled,
SelectBasics_PickResult & thePickResult ) const
pure virtual

Returns true if selecting volume is overlapped by circle with radius theRadius, the boolean theIsFilled, and transformation to apply theTrsf. The position and orientation of the circle are specified via theTrsf transformation for gp::XOY() with center in gp::Origin().

Implemented in SelectMgr_SelectingVolumeManager.

◆ OverlapsCylinder() [1/2]

virtual bool SelectBasics_SelectingVolumeManager::OverlapsCylinder ( const double theBottomRad,
const double theTopRad,
const double theHeight,
const gp_Trsf & theTrsf,
const bool theIsHollow,
bool * theInside = nullptr ) const
pure virtual

Returns true if selecting volume is overlapped by cylinder (or cone) with radiuses theBottomRad and theTopRad, height theHeight, the boolean theIsHollow and transformation to apply theTrsf.

Implemented in SelectMgr_SelectingVolumeManager.

◆ OverlapsCylinder() [2/2]

virtual bool SelectBasics_SelectingVolumeManager::OverlapsCylinder ( const double theBottomRad,
const double theTopRad,
const double theHeight,
const gp_Trsf & theTrsf,
const bool theIsHollow,
SelectBasics_PickResult & thePickResult ) const
pure virtual

Returns true if selecting volume is overlapped by cylinder (or cone) with radiuses theBottomRad and theTopRad, height theHeight, the boolean theIsHollow and transformation to apply theTrsf.

Implemented in SelectMgr_SelectingVolumeManager.

◆ OverlapsPoint() [1/2]

virtual bool SelectBasics_SelectingVolumeManager::OverlapsPoint ( const gp_Pnt & thePnt) const
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.

◆ OverlapsPoint() [2/2]

virtual bool SelectBasics_SelectingVolumeManager::OverlapsPoint ( const gp_Pnt & thePnt,
SelectBasics_PickResult & thePickResult ) const
pure virtual

Returns true if selecting volume is overlapped by point thePnt.

Implemented in SelectMgr_SelectingVolumeManager.

◆ OverlapsPolygon()

virtual bool SelectBasics_SelectingVolumeManager::OverlapsPolygon ( const NCollection_Array1< gp_Pnt > & theArrayOfPts,
int theSensType,
SelectBasics_PickResult & thePickResult ) const
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.

◆ OverlapsSegment()

virtual bool SelectBasics_SelectingVolumeManager::OverlapsSegment ( const gp_Pnt & thePt1,
const gp_Pnt & thePt2,
SelectBasics_PickResult & thePickResult ) const
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.

◆ OverlapsSphere() [1/2]

virtual bool SelectBasics_SelectingVolumeManager::OverlapsSphere ( const gp_Pnt & theCenter,
const double theRadius,
bool * theInside = nullptr ) const
pure virtual

Returns true if selecting volume is overlapped by sphere with center theCenter and radius theRadius.

Implemented in SelectMgr_SelectingVolumeManager.

◆ OverlapsSphere() [2/2]

virtual bool SelectBasics_SelectingVolumeManager::OverlapsSphere ( const gp_Pnt & theCenter,
const double theRadius,
SelectBasics_PickResult & thePickResult ) const
pure virtual

Returns true if selecting volume is overlapped by sphere with center theCenter and radius theRadius.

Implemented in SelectMgr_SelectingVolumeManager.

◆ OverlapsTriangle()

virtual bool SelectBasics_SelectingVolumeManager::OverlapsTriangle ( const gp_Pnt & thePt1,
const gp_Pnt & thePt2,
const gp_Pnt & thePt3,
int theSensType,
SelectBasics_PickResult & thePickResult ) const
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

◆ Box

const SelectMgr_SelectionType SelectBasics_SelectingVolumeManager::Box = SelectMgr_SelectionType_Box
static
Deprecated
("Deprecated alias - SelectMgr_SelectionType should be used instead")

◆ Point

const SelectMgr_SelectionType SelectBasics_SelectingVolumeManager::Point = SelectMgr_SelectionType_Point
static

Deprecated static const class members aren't supported for Visual Studio prior to 2015 (vc14) and GCC >= 5.0 and GCC < 6.3 (due to bug when warning was raised without member usage).

Deprecated
("Deprecated alias - SelectMgr_SelectionType should be used instead")

◆ Polyline

const SelectMgr_SelectionType SelectBasics_SelectingVolumeManager::Polyline = SelectMgr_SelectionType_Polyline
static
Deprecated
("Deprecated alias - SelectMgr_SelectionType should be used instead")

◆ Unknown

const SelectMgr_SelectionType SelectBasics_SelectingVolumeManager::Unknown = SelectMgr_SelectionType_Unknown
static
Deprecated
("Deprecated alias - SelectMgr_SelectionType should be used instead")

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