OCCT3D OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    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:

    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: