# This file was automatically generated by SWIG (https://www.swig.org).
# Version 4.4.1
#
# Do not make changes to this file unless you know what you are doing - modify
# the SWIG interface file instead.

"""
SelectBasics module, see official documentation at
https://dev.opencascade.org/doc/occt-7.9.0/refman/html/package_selectbasics.html
"""

from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if getattr(globals().get("__spec__"), "parent", None) or __package__ or "." in __name__:
    from . import _SelectBasics
else:
    import _SelectBasics

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except __builtin__.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)


def _swig_setattr_nondynamic_instance_variable(set):
    def set_instance_attr(self, name, value):
        if name == "this":
            set(self, name, value)
        elif name == "thisown":
            self.this.own(value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


def _swig_setattr_nondynamic_class_variable(set):
    def set_class_attr(cls, name, value):
        if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
            set(cls, name, value)
        else:
            raise AttributeError("You cannot add class attributes to %s" % cls)
    return set_class_attr


def _swig_add_metaclass(metaclass):
    """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
    def wrapper(cls):
        return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
    return wrapper


class _SwigNonDynamicMeta(type):
    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
    __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)


class SwigPyIterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _SelectBasics.delete_SwigPyIterator

    def value(self):
        return _SelectBasics.SwigPyIterator_value(self)

    def incr(self, n=1):
        return _SelectBasics.SwigPyIterator_incr(self, n)

    def decr(self, n=1):
        return _SelectBasics.SwigPyIterator_decr(self, n)

    def distance(self, x):
        return _SelectBasics.SwigPyIterator_distance(self, x)

    def equal(self, x):
        return _SelectBasics.SwigPyIterator_equal(self, x)

    def copy(self):
        return _SelectBasics.SwigPyIterator_copy(self)

    def next(self):
        return _SelectBasics.SwigPyIterator_next(self)

    def __next__(self):
        return _SelectBasics.SwigPyIterator___next__(self)

    def previous(self):
        return _SelectBasics.SwigPyIterator_previous(self)

    def advance(self, n):
        return _SelectBasics.SwigPyIterator_advance(self, n)

    def __eq__(self, x):
        return _SelectBasics.SwigPyIterator___eq__(self, x)

    def __ne__(self, x):
        return _SelectBasics.SwigPyIterator___ne__(self, x)

    def __iadd__(self, n):
        return _SelectBasics.SwigPyIterator___iadd__(self, n)

    def __isub__(self, n):
        return _SelectBasics.SwigPyIterator___isub__(self, n)

    def __add__(self, n):
        return _SelectBasics.SwigPyIterator___add__(self, n)

    def __sub__(self, *args):
        return _SelectBasics.SwigPyIterator___sub__(self, *args)
    def __iter__(self):
        return self

# Register SwigPyIterator in _SelectBasics:
_SelectBasics.SwigPyIterator_swigregister(SwigPyIterator)

def _dumps_object(klass):
    """ Overwrite default string output for any wrapped object.
    By default, __repr__ method returns something like:
    <OCC.Core.TopoDS.TopoDS_Shape; proxy of <Swig Object of type 'TopoDS_Shape *' at 0x02BB0758> >
    This is too much verbose.
    We prefer :
    <class 'gp_Pnt'>
    or
    <class 'TopoDS_Shape'>
    """
    klass_name = str(klass.__class__).split(".")[3].split("'")[0]
    repr_string = "<class '" + klass_name + "'"
# for TopoDS_Shape, we also look for the base type
    if klass_name == "TopoDS_Shape":
        if klass.IsNull():
            repr_string += ": Null>"
            return repr_string
        st = klass.ShapeType()
        types = {OCC.Core.TopAbs.TopAbs_VERTEX: "Vertex",
                 OCC.Core.TopAbs.TopAbs_SOLID: "Solid",
                 OCC.Core.TopAbs.TopAbs_EDGE: "Edge",
                 OCC.Core.TopAbs.TopAbs_FACE: "Face",
                 OCC.Core.TopAbs.TopAbs_SHELL: "Shell",
                 OCC.Core.TopAbs.TopAbs_WIRE: "Wire",
                 OCC.Core.TopAbs.TopAbs_COMPOUND: "Compound",
                 OCC.Core.TopAbs.TopAbs_COMPSOLID: "Compsolid"}
        repr_string += "; Type:%s" % types[st]        
    elif hasattr(klass, "IsNull"):
        if klass.IsNull():
            repr_string += "; Null"
    repr_string += ">"
    return repr_string


def process_exception(error, method_name, class_name):
    return _SelectBasics.process_exception(error, method_name, class_name)

import warnings
from OCC.Wrapper.wrapper_utils import Proxy, deprecated

class ios_base(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr
    erase_event = _SelectBasics.ios_base_erase_event
    imbue_event = _SelectBasics.ios_base_imbue_event
    copyfmt_event = _SelectBasics.ios_base_copyfmt_event

    def register_callback(self, __fn, __index):
        return _SelectBasics.ios_base_register_callback(self, __fn, __index)

    def flags(self, *args):
        return _SelectBasics.ios_base_flags(self, *args)

    def setf(self, *args):
        return _SelectBasics.ios_base_setf(self, *args)

    def unsetf(self, __mask):
        return _SelectBasics.ios_base_unsetf(self, __mask)

    def precision(self, *args):
        return _SelectBasics.ios_base_precision(self, *args)

    def width(self, *args):
        return _SelectBasics.ios_base_width(self, *args)

    @staticmethod
    def sync_with_stdio(__sync=True):
        return _SelectBasics.ios_base_sync_with_stdio(__sync)

    def imbue(self, __loc):
        return _SelectBasics.ios_base_imbue(self, __loc)

    def getloc(self):
        return _SelectBasics.ios_base_getloc(self)

    @staticmethod
    def xalloc():
        return _SelectBasics.ios_base_xalloc()

    def iword(self, __ix):
        return _SelectBasics.ios_base_iword(self, __ix)

    def pword(self, __ix):
        return _SelectBasics.ios_base_pword(self, __ix)
    __swig_destroy__ = _SelectBasics.delete_ios_base

# Register ios_base in _SelectBasics:
_SelectBasics.ios_base_swigregister(ios_base)
cvar = _SelectBasics.cvar
ios_base.boolalpha = _SelectBasics.cvar.ios_base_boolalpha
ios_base.dec = _SelectBasics.cvar.ios_base_dec
ios_base.fixed = _SelectBasics.cvar.ios_base_fixed
ios_base.hex = _SelectBasics.cvar.ios_base_hex
ios_base.internal = _SelectBasics.cvar.ios_base_internal
ios_base.left = _SelectBasics.cvar.ios_base_left
ios_base.oct = _SelectBasics.cvar.ios_base_oct
ios_base.right = _SelectBasics.cvar.ios_base_right
ios_base.scientific = _SelectBasics.cvar.ios_base_scientific
ios_base.showbase = _SelectBasics.cvar.ios_base_showbase
ios_base.showpoint = _SelectBasics.cvar.ios_base_showpoint
ios_base.showpos = _SelectBasics.cvar.ios_base_showpos
ios_base.skipws = _SelectBasics.cvar.ios_base_skipws
ios_base.unitbuf = _SelectBasics.cvar.ios_base_unitbuf
ios_base.uppercase = _SelectBasics.cvar.ios_base_uppercase
ios_base.adjustfield = _SelectBasics.cvar.ios_base_adjustfield
ios_base.basefield = _SelectBasics.cvar.ios_base_basefield
ios_base.floatfield = _SelectBasics.cvar.ios_base_floatfield
ios_base.badbit = _SelectBasics.cvar.ios_base_badbit
ios_base.eofbit = _SelectBasics.cvar.ios_base_eofbit
ios_base.failbit = _SelectBasics.cvar.ios_base_failbit
ios_base.goodbit = _SelectBasics.cvar.ios_base_goodbit
ios_base.app = _SelectBasics.cvar.ios_base_app
ios_base.ate = _SelectBasics.cvar.ios_base_ate
ios_base.binary = _SelectBasics.cvar.ios_base_binary
ios_base.ios_base_in = _SelectBasics.cvar.ios_base_ios_base_in
ios_base.out = _SelectBasics.cvar.ios_base_out
ios_base.trunc = _SelectBasics.cvar.ios_base_trunc
ios_base.beg = _SelectBasics.cvar.ios_base_beg
ios_base.cur = _SelectBasics.cvar.ios_base_cur
ios_base.end = _SelectBasics.cvar.ios_base_end

class ios(ios_base):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def rdstate(self):
        return _SelectBasics.ios_rdstate(self)

    def clear(self, *args):
        return _SelectBasics.ios_clear(self, *args)

    def setstate(self, __state):
        return _SelectBasics.ios_setstate(self, __state)

    def good(self):
        return _SelectBasics.ios_good(self)

    def eof(self):
        return _SelectBasics.ios_eof(self)

    def fail(self):
        return _SelectBasics.ios_fail(self)

    def bad(self):
        return _SelectBasics.ios_bad(self)

    def exceptions(self, *args):
        return _SelectBasics.ios_exceptions(self, *args)

    def __init__(self, __sb):
        _SelectBasics.ios_swiginit(self, _SelectBasics.new_ios(__sb))
    __swig_destroy__ = _SelectBasics.delete_ios

    def tie(self, *args):
        return _SelectBasics.ios_tie(self, *args)

    def rdbuf(self, *args):
        return _SelectBasics.ios_rdbuf(self, *args)

    def copyfmt(self, __rhs):
        return _SelectBasics.ios_copyfmt(self, __rhs)

    def fill(self, *args):
        return _SelectBasics.ios_fill(self, *args)

    def imbue(self, __loc):
        return _SelectBasics.ios_imbue(self, __loc)

    def narrow(self, __c, __dfault):
        return _SelectBasics.ios_narrow(self, __c, __dfault)

    def widen(self, __c):
        return _SelectBasics.ios_widen(self, __c)

# Register ios in _SelectBasics:
_SelectBasics.ios_swigregister(ios)
class ostream(ios):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _SelectBasics.ostream_swiginit(self, _SelectBasics.new_ostream(__sb))
    __swig_destroy__ = _SelectBasics.delete_ostream

    def __lshift__(self, *args):
        return _SelectBasics.ostream___lshift__(self, *args)

    def put(self, __c):
        return _SelectBasics.ostream_put(self, __c)

    def write(self, __s, __n):
        return _SelectBasics.ostream_write(self, __s, __n)

    def flush(self):
        return _SelectBasics.ostream_flush(self)

    def tellp(self):
        return _SelectBasics.ostream_tellp(self)

    def seekp(self, *args):
        return _SelectBasics.ostream_seekp(self, *args)

# Register ostream in _SelectBasics:
_SelectBasics.ostream_swigregister(ostream)
class istream(ios):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _SelectBasics.istream_swiginit(self, _SelectBasics.new_istream(__sb))
    __swig_destroy__ = _SelectBasics.delete_istream

    def __rshift__(self, *args):
        return _SelectBasics.istream___rshift__(self, *args)

    def gcount(self):
        return _SelectBasics.istream_gcount(self)

    def get(self, *args):
        return _SelectBasics.istream_get(self, *args)

    def getline(self, *args):
        return _SelectBasics.istream_getline(self, *args)

    def ignore(self, *args):
        return _SelectBasics.istream_ignore(self, *args)

    def peek(self):
        return _SelectBasics.istream_peek(self)

    def read(self, __s, __n):
        return _SelectBasics.istream_read(self, __s, __n)

    def readsome(self, __s, __n):
        return _SelectBasics.istream_readsome(self, __s, __n)

    def putback(self, __c):
        return _SelectBasics.istream_putback(self, __c)

    def unget(self):
        return _SelectBasics.istream_unget(self)

    def sync(self):
        return _SelectBasics.istream_sync(self)

    def tellg(self):
        return _SelectBasics.istream_tellg(self)

    def seekg(self, *args):
        return _SelectBasics.istream_seekg(self, *args)

# Register istream in _SelectBasics:
_SelectBasics.istream_swigregister(istream)
class iostream(istream, ostream):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _SelectBasics.iostream_swiginit(self, _SelectBasics.new_iostream(__sb))
    __swig_destroy__ = _SelectBasics.delete_iostream

# Register iostream in _SelectBasics:
_SelectBasics.iostream_swigregister(iostream)
cin = cvar.cin
cout = cvar.cout
cerr = cvar.cerr
clog = cvar.clog

endl_cb_ptr = _SelectBasics.endl_cb_ptr
endl = _SelectBasics.endl
ends_cb_ptr = _SelectBasics.ends_cb_ptr
ends = _SelectBasics.ends
flush_cb_ptr = _SelectBasics.flush_cb_ptr
flush = _SelectBasics.flush
import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.gp
import OCC.Core.TColStd
import OCC.Core.TCollection
import OCC.Core.TColgp

from enum import IntEnum
from OCC.Core.Exception import *



class selectbasics(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    @staticmethod
    def MaxOwnerPriority(*args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Structure to provide all-in-one result of selection of sensitive for 'Matches' method of Select3D_SensitiveEntity.

        """
        return _SelectBasics.selectbasics_MaxOwnerPriority(*args)

    @staticmethod
    def MinOwnerPriority(*args):
        r"""
        Return
        -------
        int

        Description
        -----------
        No available documentation.

        """
        return _SelectBasics.selectbasics_MinOwnerPriority(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _SelectBasics.selectbasics_swiginit(self, _SelectBasics.new_selectbasics())
    __swig_destroy__ = _SelectBasics.delete_selectbasics

# Register selectbasics in _SelectBasics:
_SelectBasics.selectbasics_swigregister(selectbasics)
class SelectBasics_PickResult(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor defining an invalid result.

        Parameters
        ----------
        theDepth: float
        theDistToCenter: float
        theObjPickedPnt: gp_Pnt

        Return
        -------
        None

        Description
        -----------
        Constructor with initialization.

        """
        _SelectBasics.SelectBasics_PickResult_swiginit(self, _SelectBasics.new_SelectBasics_PickResult(*args))

    def Depth(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Return depth along picking ray.

        """
        return _SelectBasics.SelectBasics_PickResult_Depth(self, *args)

    def DistToGeomCenter(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Return distance to geometry center (auxiliary value for comparing results).

        """
        return _SelectBasics.SelectBasics_PickResult_DistToGeomCenter(self, *args)

    def HasPickedPoint(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Return True if Picked Point lying on detected entity was set.

        """
        return _SelectBasics.SelectBasics_PickResult_HasPickedPoint(self, *args)

    def Invalidate(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Reset depth value.

        """
        return _SelectBasics.SelectBasics_PickResult_Invalidate(self, *args)

    def IsValid(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Return True if result was been defined.

        """
        return _SelectBasics.SelectBasics_PickResult_IsValid(self, *args)

    @staticmethod
    def Min(*args):
        r"""

        Parameters
        ----------
        thePickResult1: SelectBasics_PickResult
        thePickResult2: SelectBasics_PickResult

        Return
        -------
        SelectBasics_PickResult

        Description
        -----------
        Return closest result between two Pick Results according to Depth value.

        """
        return _SelectBasics.SelectBasics_PickResult_Min(*args)

    def PickedPoint(self, *args):
        r"""
        Return
        -------
        gp_Pnt

        Description
        -----------
        Return picked point lying on detected entity. WARNING! Point is defined in local coordinate system and should be translated into World System before usage!.

        """
        return _SelectBasics.SelectBasics_PickResult_PickedPoint(self, *args)

    def SetDepth(self, *args):
        r"""

        Parameters
        ----------
        theDepth: float

        Return
        -------
        None

        Description
        -----------
        Set depth along picking ray.

        """
        return _SelectBasics.SelectBasics_PickResult_SetDepth(self, *args)

    def SetDistToGeomCenter(self, *args):
        r"""

        Parameters
        ----------
        theDistToCenter: float

        Return
        -------
        None

        Description
        -----------
        Set distance to geometry center.

        """
        return _SelectBasics.SelectBasics_PickResult_SetDistToGeomCenter(self, *args)

    def SetPickedPoint(self, *args):
        r"""

        Parameters
        ----------
        theObjPickedPnt: gp_Pnt

        Return
        -------
        None

        Description
        -----------
        Set picked point.

        """
        return _SelectBasics.SelectBasics_PickResult_SetPickedPoint(self, *args)

    def SetSurfaceNormal(self, *args):
        r"""

        Parameters
        ----------
        theNormal: NCollection_Vec3<float>

        Return
        -------
        None

        Description
        -----------
        Set surface normal at picked point.

        Parameters
        ----------
        theNormal: gp_Vec

        Return
        -------
        None

        Description
        -----------
        Set surface normal at picked point.

        """
        return _SelectBasics.SelectBasics_PickResult_SetSurfaceNormal(self, *args)

    def SurfaceNormal(self, *args):
        r"""
        Return
        -------
        NCollection_Vec3<float>

        Description
        -----------
        Return (unnormalized) surface normal at picked point or zero vector if undefined. WARNING! Normal is defined in local coordinate system and should be translated into World System before usage!.

        """
        return _SelectBasics.SelectBasics_PickResult_SurfaceNormal(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _SelectBasics.delete_SelectBasics_PickResult

# Register SelectBasics_PickResult in _SelectBasics:
_SelectBasics.SelectBasics_PickResult_swigregister(SelectBasics_PickResult)
class SelectBasics_SelectingVolumeManager(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    def DetectedPoint(self, *args):
        r"""

        Parameters
        ----------
        theDepth: float

        Return
        -------
        gp_Pnt

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

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_DetectedPoint(self, *args)

    def DistToGeometryCenter(self, *args):
        r"""

        Parameters
        ----------
        theCOG: gp_Pnt

        Return
        -------
        float

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

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_DistToGeometryCenter(self, *args)

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_DumpJson(self, depth)

    def GetActiveSelectionType(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Return selection type.

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_GetActiveSelectionType(self, *args)

    def GetFarPickedPnt(self, *args):
        r"""
        Return
        -------
        gp_Pnt

        Description
        -----------
        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.

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_GetFarPickedPnt(self, *args)

    def GetMousePosition(self, *args):
        r"""
        Return
        -------
        gp_Pnt2d

        Description
        -----------
        Returns mouse coordinates for Point selection mode. 
        Return: infinite point in case of unsupport of mouse position for this active selection volume.

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_GetMousePosition(self, *args)

    def GetNearPickedPnt(self, *args):
        r"""
        Return
        -------
        gp_Pnt

        Description
        -----------
        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.

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_GetNearPickedPnt(self, *args)

    def GetPlanes(self, *args):
        r"""

        Parameters
        ----------
        thePlaneEquations: NCollection_Vector<NCollection_Vec4<float> >

        Return
        -------
        None

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

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_GetPlanes(self, *args)

    def GetViewRayDirection(self, *args):
        r"""
        Return
        -------
        gp_Dir

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

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_GetViewRayDirection(self, *args)

    def IsOverlapAllowed(self, *args):
        r"""
        Return
        -------
        bool

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

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_IsOverlapAllowed(self, *args)

    def IsScalableActiveVolume(self, *args):
        r"""
        Return
        -------
        bool

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

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_IsScalableActiveVolume(self, *args)

    def Overlaps(self, *args):
        r"""

        Parameters
        ----------
        theBoxMin: NCollection_Vec3<float>
        theBoxMax: NCollection_Vec3<float>
        thePickResult: SelectBasics_PickResult

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        theBoxMin: NCollection_Vec3<float>
        theBoxMax: NCollection_Vec3<float>
        theInside: bool * (optional, default to NULL)

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        thePnt: gp_Pnt
        thePickResult: SelectBasics_PickResult

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        thePnt: gp_Pnt

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        theArrayOfPts: TColgp_HArray1OfPnt
        theSensType: int
        thePickResult: SelectBasics_PickResult

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        theArrayOfPts: TColgp_Array1OfPnt
        theSensType: int
        thePickResult: SelectBasics_PickResult

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        thePnt1: gp_Pnt
        thePnt2: gp_Pnt
        thePickResult: SelectBasics_PickResult

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        thePnt1: gp_Pnt
        thePnt2: gp_Pnt
        thePnt3: gp_Pnt
        theSensType: int
        thePickResult: SelectBasics_PickResult

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_Overlaps(self, *args)

    def OverlapsBox(self, *args):
        r"""

        Parameters
        ----------
        theBoxMin: NCollection_Vec3<float>
        theBoxMax: NCollection_Vec3<float>
        thePickResult: SelectBasics_PickResult

        Return
        -------
        bool

        Description
        -----------
        Returns true if selecting volume is overlapped by box theBox.

        Parameters
        ----------
        theBoxMin: NCollection_Vec3<float>
        theBoxMax: NCollection_Vec3<float>
        theInside: bool * (optional, default to NULL)

        Return
        -------
        bool

        Description
        -----------
        Returns true if selecting volume is overlapped by axis-aligned bounding box with minimum corner at point theMinPt and maximum at point theMaxPt.

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_OverlapsBox(self, *args)

    def OverlapsCircle(self, *args):
        r"""

        Parameters
        ----------
        theRadius: float
        theTrsf: gp_Trsf
        theIsFilled: bool
        thePickResult: SelectBasics_PickResult

        Return
        -------
        bool

        Description
        -----------
        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().

        Parameters
        ----------
        theRadius: float
        theTrsf: gp_Trsf
        theIsFilled: bool
        theInside: bool * (optional, default to NULL)

        Return
        -------
        bool

        Description
        -----------
        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().

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_OverlapsCircle(self, *args)

    def OverlapsCylinder(self, *args):
        r"""

        Parameters
        ----------
        theBottomRad: float
        theTopRad: float
        theHeight: float
        theTrsf: gp_Trsf
        theIsHollow: bool
        thePickResult: SelectBasics_PickResult

        Return
        -------
        bool

        Description
        -----------
        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.

        Parameters
        ----------
        theBottomRad: float
        theTopRad: float
        theHeight: float
        theTrsf: gp_Trsf
        theIsHollow: bool
        theInside: bool * (optional, default to NULL)

        Return
        -------
        bool

        Description
        -----------
        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.

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_OverlapsCylinder(self, *args)

    def OverlapsPoint(self, *args):
        r"""

        Parameters
        ----------
        thePnt: gp_Pnt
        thePickResult: SelectBasics_PickResult

        Return
        -------
        bool

        Description
        -----------
        Returns true if selecting volume is overlapped by point thePnt.

        Parameters
        ----------
        thePnt: gp_Pnt

        Return
        -------
        bool

        Description
        -----------
        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.

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_OverlapsPoint(self, *args)

    def OverlapsPolygon(self, *args):
        r"""

        Parameters
        ----------
        theArrayOfPts: TColgp_Array1OfPnt
        theSensType: int
        thePickResult: SelectBasics_PickResult

        Return
        -------
        bool

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

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_OverlapsPolygon(self, *args)

    def OverlapsSegment(self, *args):
        r"""

        Parameters
        ----------
        thePt1: gp_Pnt
        thePt2: gp_Pnt
        thePickResult: SelectBasics_PickResult

        Return
        -------
        bool

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

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_OverlapsSegment(self, *args)

    def OverlapsSphere(self, *args):
        r"""

        Parameters
        ----------
        theCenter: gp_Pnt
        theRadius: float
        thePickResult: SelectBasics_PickResult

        Return
        -------
        bool

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

        Parameters
        ----------
        theCenter: gp_Pnt
        theRadius: float
        theInside: bool * (optional, default to NULL)

        Return
        -------
        bool

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

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_OverlapsSphere(self, *args)

    def OverlapsTriangle(self, *args):
        r"""

        Parameters
        ----------
        thePt1: gp_Pnt
        thePt2: gp_Pnt
        thePt3: gp_Pnt
        theSensType: int
        thePickResult: SelectBasics_PickResult

        Return
        -------
        bool

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

        """
        return _SelectBasics.SelectBasics_SelectingVolumeManager_OverlapsTriangle(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _SelectBasics.delete_SelectBasics_SelectingVolumeManager

# Register SelectBasics_SelectingVolumeManager in _SelectBasics:
_SelectBasics.SelectBasics_SelectingVolumeManager_swigregister(SelectBasics_SelectingVolumeManager)



@deprecated
def selectbasics_MaxOwnerPriority(*args):
	return selectbasics.MaxOwnerPriority(*args)

@deprecated
def selectbasics_MinOwnerPriority(*args):
	return selectbasics.MinOwnerPriority(*args)

@deprecated
def SelectBasics_PickResult_Min(*args):
	return SelectBasics_PickResult.Min(*args)



