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

"""
SelectMgr module, see official documentation at
https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_selectmgr.html
"""

from sys import version_info as _swig_python_version_info
if _swig_python_version_info < (2, 7, 0):
    raise RuntimeError("Python 2.7 or later required")

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _SelectMgr
else:
    import _SelectMgr

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

_swig_new_instance_method = _SelectMgr.SWIG_PyInstanceMethod_New
_swig_new_static_method = _SelectMgr.SWIG_PyStaticMethod_New

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 == "thisown":
            self.this.own(value)
        elif name == "this":
            set(self, name, 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__ = _SelectMgr.delete_SwigPyIterator
    value = _swig_new_instance_method(_SelectMgr.SwigPyIterator_value)
    incr = _swig_new_instance_method(_SelectMgr.SwigPyIterator_incr)
    decr = _swig_new_instance_method(_SelectMgr.SwigPyIterator_decr)
    distance = _swig_new_instance_method(_SelectMgr.SwigPyIterator_distance)
    equal = _swig_new_instance_method(_SelectMgr.SwigPyIterator_equal)
    copy = _swig_new_instance_method(_SelectMgr.SwigPyIterator_copy)
    next = _swig_new_instance_method(_SelectMgr.SwigPyIterator_next)
    __next__ = _swig_new_instance_method(_SelectMgr.SwigPyIterator___next__)
    previous = _swig_new_instance_method(_SelectMgr.SwigPyIterator_previous)
    advance = _swig_new_instance_method(_SelectMgr.SwigPyIterator_advance)
    __eq__ = _swig_new_instance_method(_SelectMgr.SwigPyIterator___eq__)
    __ne__ = _swig_new_instance_method(_SelectMgr.SwigPyIterator___ne__)
    __iadd__ = _swig_new_instance_method(_SelectMgr.SwigPyIterator___iadd__)
    __isub__ = _swig_new_instance_method(_SelectMgr.SwigPyIterator___isub__)
    __add__ = _swig_new_instance_method(_SelectMgr.SwigPyIterator___add__)
    __sub__ = _swig_new_instance_method(_SelectMgr.SwigPyIterator___sub__)
    def __iter__(self):
        return self

# Register SwigPyIterator in _SelectMgr:
_SelectMgr.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


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

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.PrsMgr
import OCC.Core.Prs3d
import OCC.Core.TColgp
import OCC.Core.Graphic3d
import OCC.Core.BVH
import OCC.Core.Quantity
import OCC.Core.TCollection
import OCC.Core.gp
import OCC.Core.Aspect
import OCC.Core.Geom
import OCC.Core.GeomAbs
import OCC.Core.TColStd
import OCC.Core.Bnd
import OCC.Core.Image
import OCC.Core.OSD
import OCC.Core.TopoDS
import OCC.Core.Message
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.HLRAlgo
import OCC.Core.Poly
import OCC.Core.TShort
import OCC.Core.TopTools
import OCC.Core.V3d
import OCC.Core.SelectBasics
import OCC.Core.Select3D
SelectMgr_TOU_Full = _SelectMgr.SelectMgr_TOU_Full
SelectMgr_TOU_Partial = _SelectMgr.SelectMgr_TOU_Partial
SelectMgr_TOU_None = _SelectMgr.SelectMgr_TOU_None
SelectMgr_TBU_Add = _SelectMgr.SelectMgr_TBU_Add
SelectMgr_TBU_Remove = _SelectMgr.SelectMgr_TBU_Remove
SelectMgr_TBU_Renew = _SelectMgr.SelectMgr_TBU_Renew
SelectMgr_TBU_Invalidate = _SelectMgr.SelectMgr_TBU_Invalidate
SelectMgr_TBU_None = _SelectMgr.SelectMgr_TBU_None
SelectMgr_SOS_Any = _SelectMgr.SelectMgr_SOS_Any
SelectMgr_SOS_Unknown = _SelectMgr.SelectMgr_SOS_Unknown
SelectMgr_SOS_Deactivated = _SelectMgr.SelectMgr_SOS_Deactivated
SelectMgr_SOS_Activated = _SelectMgr.SelectMgr_SOS_Activated
SelectMgr_PickingStrategy_FirstAcceptable = _SelectMgr.SelectMgr_PickingStrategy_FirstAcceptable
SelectMgr_PickingStrategy_OnlyTopmost = _SelectMgr.SelectMgr_PickingStrategy_OnlyTopmost
Handle_SelectMgr_EntityOwner_Create = _SelectMgr.Handle_SelectMgr_EntityOwner_Create
Handle_SelectMgr_EntityOwner_DownCast = _SelectMgr.Handle_SelectMgr_EntityOwner_DownCast
Handle_SelectMgr_EntityOwner_IsNull = _SelectMgr.Handle_SelectMgr_EntityOwner_IsNull
Handle_SelectMgr_Filter_Create = _SelectMgr.Handle_SelectMgr_Filter_Create
Handle_SelectMgr_Filter_DownCast = _SelectMgr.Handle_SelectMgr_Filter_DownCast
Handle_SelectMgr_Filter_IsNull = _SelectMgr.Handle_SelectMgr_Filter_IsNull
Handle_SelectMgr_SelectableObject_Create = _SelectMgr.Handle_SelectMgr_SelectableObject_Create
Handle_SelectMgr_SelectableObject_DownCast = _SelectMgr.Handle_SelectMgr_SelectableObject_DownCast
Handle_SelectMgr_SelectableObject_IsNull = _SelectMgr.Handle_SelectMgr_SelectableObject_IsNull
Handle_SelectMgr_Selection_Create = _SelectMgr.Handle_SelectMgr_Selection_Create
Handle_SelectMgr_Selection_DownCast = _SelectMgr.Handle_SelectMgr_Selection_DownCast
Handle_SelectMgr_Selection_IsNull = _SelectMgr.Handle_SelectMgr_Selection_IsNull
Handle_SelectMgr_SelectionManager_Create = _SelectMgr.Handle_SelectMgr_SelectionManager_Create
Handle_SelectMgr_SelectionManager_DownCast = _SelectMgr.Handle_SelectMgr_SelectionManager_DownCast
Handle_SelectMgr_SelectionManager_IsNull = _SelectMgr.Handle_SelectMgr_SelectionManager_IsNull
Handle_SelectMgr_SensitiveEntity_Create = _SelectMgr.Handle_SelectMgr_SensitiveEntity_Create
Handle_SelectMgr_SensitiveEntity_DownCast = _SelectMgr.Handle_SelectMgr_SensitiveEntity_DownCast
Handle_SelectMgr_SensitiveEntity_IsNull = _SelectMgr.Handle_SelectMgr_SensitiveEntity_IsNull
Handle_SelectMgr_CompositionFilter_Create = _SelectMgr.Handle_SelectMgr_CompositionFilter_Create
Handle_SelectMgr_CompositionFilter_DownCast = _SelectMgr.Handle_SelectMgr_CompositionFilter_DownCast
Handle_SelectMgr_CompositionFilter_IsNull = _SelectMgr.Handle_SelectMgr_CompositionFilter_IsNull
Handle_SelectMgr_AndFilter_Create = _SelectMgr.Handle_SelectMgr_AndFilter_Create
Handle_SelectMgr_AndFilter_DownCast = _SelectMgr.Handle_SelectMgr_AndFilter_DownCast
Handle_SelectMgr_AndFilter_IsNull = _SelectMgr.Handle_SelectMgr_AndFilter_IsNull
Handle_SelectMgr_OrFilter_Create = _SelectMgr.Handle_SelectMgr_OrFilter_Create
Handle_SelectMgr_OrFilter_DownCast = _SelectMgr.Handle_SelectMgr_OrFilter_DownCast
Handle_SelectMgr_OrFilter_IsNull = _SelectMgr.Handle_SelectMgr_OrFilter_IsNull
class SelectMgr_FrustumCache(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_begin)
    end = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_end)
    cbegin = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_cbegin)
    cend = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_cend)

    def __init__(self, *args):
        _SelectMgr.SelectMgr_FrustumCache_swiginit(self, _SelectMgr.new_SelectMgr_FrustumCache(*args))
    Exchange = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_Exchange)
    Assign = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_Assign)
    Set = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_Set)
    ReSize = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_ReSize)
    Bind = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_Bind)
    Bound = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_Bound)
    IsBound = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_IsBound)
    UnBind = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_UnBind)
    Seek = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_Seek)
    Find = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_Find)
    ChangeSeek = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_ChangeSeek)
    ChangeFind = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_ChangeFind)
    __call__ = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache___call__)
    Clear = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_Clear)
    __swig_destroy__ = _SelectMgr.delete_SelectMgr_FrustumCache
    Size = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_Size)
    Keys = _swig_new_instance_method(_SelectMgr.SelectMgr_FrustumCache_Keys)

# Register SelectMgr_FrustumCache in _SelectMgr:
_SelectMgr.SelectMgr_FrustumCache_swigregister(SelectMgr_FrustumCache)

class SelectMgr_SequenceOfFilter(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_begin)
    end = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_end)
    cbegin = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_cbegin)
    cend = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_cend)

    def __init__(self, *args):
        _SelectMgr.SelectMgr_SequenceOfFilter_swiginit(self, _SelectMgr.new_SelectMgr_SequenceOfFilter(*args))
    Size = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_Size)
    Length = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_Length)
    Lower = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_Lower)
    Upper = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_Upper)
    IsEmpty = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_IsEmpty)
    Reverse = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_Reverse)
    Exchange = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_Exchange)
    delNode = _swig_new_static_method(_SelectMgr.SelectMgr_SequenceOfFilter_delNode)
    Clear = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_Clear)
    Assign = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_Assign)
    Set = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_Set)
    Remove = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_Remove)
    Append = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_Append)
    Prepend = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_Prepend)
    InsertBefore = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_InsertBefore)
    InsertAfter = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_InsertAfter)
    Split = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_Split)
    First = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_First)
    ChangeFirst = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_ChangeFirst)
    Last = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_Last)
    ChangeLast = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_ChangeLast)
    Value = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_Value)
    ChangeValue = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_ChangeValue)
    __call__ = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter___call__)
    SetValue = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfFilter_SetValue)
    __swig_destroy__ = _SelectMgr.delete_SelectMgr_SequenceOfFilter

# Register SelectMgr_SequenceOfFilter in _SelectMgr:
_SelectMgr.SelectMgr_SequenceOfFilter_swigregister(SelectMgr_SequenceOfFilter)
SelectMgr_SequenceOfFilter_delNode = _SelectMgr.SelectMgr_SequenceOfFilter_delNode

class SelectMgr_SequenceOfSelection(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_begin)
    end = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_end)
    cbegin = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_cbegin)
    cend = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_cend)

    def __init__(self, *args):
        _SelectMgr.SelectMgr_SequenceOfSelection_swiginit(self, _SelectMgr.new_SelectMgr_SequenceOfSelection(*args))
    Size = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_Size)
    Length = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_Length)
    Lower = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_Lower)
    Upper = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_Upper)
    IsEmpty = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_IsEmpty)
    Reverse = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_Reverse)
    Exchange = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_Exchange)
    delNode = _swig_new_static_method(_SelectMgr.SelectMgr_SequenceOfSelection_delNode)
    Clear = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_Clear)
    Assign = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_Assign)
    Set = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_Set)
    Remove = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_Remove)
    Append = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_Append)
    Prepend = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_Prepend)
    InsertBefore = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_InsertBefore)
    InsertAfter = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_InsertAfter)
    Split = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_Split)
    First = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_First)
    ChangeFirst = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_ChangeFirst)
    Last = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_Last)
    ChangeLast = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_ChangeLast)
    Value = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_Value)
    ChangeValue = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_ChangeValue)
    __call__ = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection___call__)
    SetValue = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfSelection_SetValue)
    __swig_destroy__ = _SelectMgr.delete_SelectMgr_SequenceOfSelection

# Register SelectMgr_SequenceOfSelection in _SelectMgr:
_SelectMgr.SelectMgr_SequenceOfSelection_swigregister(SelectMgr_SequenceOfSelection)
SelectMgr_SequenceOfSelection_delNode = _SelectMgr.SelectMgr_SequenceOfSelection_delNode

class SelectMgr_Vec3(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Length = _swig_new_static_method(_SelectMgr.SelectMgr_Vec3_Length)

    def __init__(self, *args):
        _SelectMgr.SelectMgr_Vec3_swiginit(self, _SelectMgr.new_SelectMgr_Vec3(*args))
    SetValues = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_SetValues)
    xy = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_xy)
    yx = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_yx)
    xz = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_xz)
    zx = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_zx)
    yz = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_yz)
    zy = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_zy)
    xyz = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_xyz)
    xzy = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_xzy)
    yxz = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_yxz)
    yzx = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_yzx)
    zyx = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_zyx)
    zxy = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_zxy)
    x = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_x)
    r = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_r)
    y = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_y)
    g = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_g)
    z = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_z)
    b = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_b)
    IsEqual = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_IsEqual)
    __eq__ = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3___eq__)
    __ne__ = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3___ne__)
    GetData = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_GetData)
    ChangeData = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_ChangeData)
    __iadd__ = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3___iadd__)
    __neg__ = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3___neg__)
    __isub__ = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3___isub__)
    Multiply = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_Multiply)
    __imul__ = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3___imul__)
    __mul__ = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3___mul__)
    Multiplied = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_Multiplied)
    cwiseMin = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_cwiseMin)
    cwiseMax = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_cwiseMax)
    cwiseAbs = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_cwiseAbs)
    maxComp = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_maxComp)
    minComp = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_minComp)

    def __itruediv__(self, *args):
        return _SelectMgr.SelectMgr_Vec3___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _SelectMgr.SelectMgr_Vec3___truediv__(self, *args)
    __div__ = __truediv__


    Dot = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_Dot)
    Modulus = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_Modulus)
    SquareModulus = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_SquareModulus)
    Normalize = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_Normalize)
    Normalized = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec3_Normalized)
    Cross = _swig_new_static_method(_SelectMgr.SelectMgr_Vec3_Cross)
    GetLERP = _swig_new_static_method(_SelectMgr.SelectMgr_Vec3_GetLERP)
    DX = _swig_new_static_method(_SelectMgr.SelectMgr_Vec3_DX)
    DY = _swig_new_static_method(_SelectMgr.SelectMgr_Vec3_DY)
    DZ = _swig_new_static_method(_SelectMgr.SelectMgr_Vec3_DZ)
    __swig_destroy__ = _SelectMgr.delete_SelectMgr_Vec3

# Register SelectMgr_Vec3 in _SelectMgr:
_SelectMgr.SelectMgr_Vec3_swigregister(SelectMgr_Vec3)
SelectMgr_Vec3_Length = _SelectMgr.SelectMgr_Vec3_Length
SelectMgr_Vec3_Cross = _SelectMgr.SelectMgr_Vec3_Cross
SelectMgr_Vec3_GetLERP = _SelectMgr.SelectMgr_Vec3_GetLERP
SelectMgr_Vec3_DX = _SelectMgr.SelectMgr_Vec3_DX
SelectMgr_Vec3_DY = _SelectMgr.SelectMgr_Vec3_DY
SelectMgr_Vec3_DZ = _SelectMgr.SelectMgr_Vec3_DZ

class SelectMgr_Vec4(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Length = _swig_new_static_method(_SelectMgr.SelectMgr_Vec4_Length)

    def __init__(self, *args):
        _SelectMgr.SelectMgr_Vec4_swiginit(self, _SelectMgr.new_SelectMgr_Vec4(*args))
    SetValues = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_SetValues)
    xy = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_xy)
    yx = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_yx)
    xz = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_xz)
    zx = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_zx)
    xw = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_xw)
    wx = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_wx)
    yz = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_yz)
    zy = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_zy)
    yw = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_yw)
    wy = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_wy)
    zw = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_zw)
    wz = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_wz)
    xyz = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_xyz)
    xzy = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_xzy)
    yxz = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_yxz)
    yzx = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_yzx)
    zyx = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_zyx)
    zxy = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_zxy)
    xyw = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_xyw)
    xwy = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_xwy)
    yxw = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_yxw)
    ywx = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_ywx)
    wyx = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_wyx)
    wxy = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_wxy)
    xzw = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_xzw)
    xwz = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_xwz)
    zxw = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_zxw)
    zwx = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_zwx)
    wzx = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_wzx)
    wxz = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_wxz)
    yzw = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_yzw)
    ywz = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_ywz)
    zyw = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_zyw)
    zwy = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_zwy)
    wzy = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_wzy)
    wyz = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_wyz)
    rgb = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_rgb)
    rbg = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_rbg)
    grb = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_grb)
    gbr = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_gbr)
    bgr = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_bgr)
    brg = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_brg)
    x = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_x)
    r = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_r)
    y = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_y)
    g = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_g)
    z = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_z)
    b = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_b)
    w = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_w)
    a = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_a)
    IsEqual = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_IsEqual)
    __eq__ = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4___eq__)
    __ne__ = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4___ne__)
    GetData = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_GetData)
    ChangeData = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_ChangeData)
    __iadd__ = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4___iadd__)
    __neg__ = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4___neg__)
    __isub__ = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4___isub__)
    Multiply = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_Multiply)
    __imul__ = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4___imul__)
    __mul__ = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4___mul__)
    Multiplied = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_Multiplied)
    cwiseMin = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_cwiseMin)
    cwiseMax = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_cwiseMax)
    cwiseAbs = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_cwiseAbs)
    maxComp = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_maxComp)
    minComp = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_minComp)
    Dot = _swig_new_instance_method(_SelectMgr.SelectMgr_Vec4_Dot)

    def __itruediv__(self, *args):
        return _SelectMgr.SelectMgr_Vec4___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _SelectMgr.SelectMgr_Vec4___truediv__(self, *args)
    __div__ = __truediv__


    __swig_destroy__ = _SelectMgr.delete_SelectMgr_Vec4

# Register SelectMgr_Vec4 in _SelectMgr:
_SelectMgr.SelectMgr_Vec4_swigregister(SelectMgr_Vec4)
SelectMgr_Vec4_Length = _SelectMgr.SelectMgr_Vec4_Length

class SelectMgr_Mat4(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Rows = _swig_new_static_method(_SelectMgr.SelectMgr_Mat4_Rows)
    Cols = _swig_new_static_method(_SelectMgr.SelectMgr_Mat4_Cols)

    def __init__(self):
        _SelectMgr.SelectMgr_Mat4_swiginit(self, _SelectMgr.new_SelectMgr_Mat4())
    GetValue = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_GetValue)
    ChangeValue = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_ChangeValue)
    SetValue = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_SetValue)
    GetRow = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_GetRow)
    SetRow = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_SetRow)
    GetColumn = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_GetColumn)
    SetColumn = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_SetColumn)
    GetDiagonal = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_GetDiagonal)
    SetDiagonal = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_SetDiagonal)
    InitIdentity = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_InitIdentity)
    IsIdentity = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_IsIdentity)
    IsEqual = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_IsEqual)
    __eq__ = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4___eq__)
    __ne__ = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4___ne__)
    GetData = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_GetData)
    ChangeData = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_ChangeData)
    Multiply = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_Multiply)
    __imul__ = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4___imul__)
    __mul__ = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4___mul__)
    Multiplied = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_Multiplied)
    Translate = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_Translate)
    Transposed = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_Transposed)
    Transpose = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_Transpose)
    Inverted = _swig_new_instance_method(_SelectMgr.SelectMgr_Mat4_Inverted)
    Map = _swig_new_static_method(_SelectMgr.SelectMgr_Mat4_Map)
    __swig_destroy__ = _SelectMgr.delete_SelectMgr_Mat4

# Register SelectMgr_Mat4 in _SelectMgr:
_SelectMgr.SelectMgr_Mat4_swigregister(SelectMgr_Mat4)
SelectMgr_Mat4_Rows = _SelectMgr.SelectMgr_Mat4_Rows
SelectMgr_Mat4_Cols = _SelectMgr.SelectMgr_Mat4_Cols
SelectMgr_Mat4_Map = _SelectMgr.SelectMgr_Mat4_Map

class SelectMgr_IndexedDataMapOfOwnerCriterion(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_begin)
    end = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_end)
    cbegin = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_cbegin)
    cend = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_cend)

    def __init__(self, *args):
        _SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_swiginit(self, _SelectMgr.new_SelectMgr_IndexedDataMapOfOwnerCriterion(*args))
    Exchange = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_Exchange)
    Assign = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_Assign)
    Set = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_Set)
    ReSize = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_ReSize)
    Add = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_Add)
    Contains = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_Contains)
    Substitute = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_Substitute)
    Swap = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_Swap)
    RemoveLast = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_RemoveLast)
    RemoveFromIndex = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_RemoveFromIndex)
    RemoveKey = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_RemoveKey)
    FindKey = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_FindKey)
    FindFromIndex = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_FindFromIndex)
    ChangeFromIndex = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_ChangeFromIndex)
    __call__ = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion___call__)
    FindIndex = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_FindIndex)
    ChangeFromKey = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_ChangeFromKey)
    Seek = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_Seek)
    ChangeSeek = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_ChangeSeek)
    FindFromKey = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_FindFromKey)
    Clear = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_Clear)
    __swig_destroy__ = _SelectMgr.delete_SelectMgr_IndexedDataMapOfOwnerCriterion
    Size = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_Size)

# Register SelectMgr_IndexedDataMapOfOwnerCriterion in _SelectMgr:
_SelectMgr.SelectMgr_IndexedDataMapOfOwnerCriterion_swigregister(SelectMgr_IndexedDataMapOfOwnerCriterion)

class SelectMgr_ListOfFilter(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_SelectMgr.SelectMgr_ListOfFilter_begin)
    end = _swig_new_instance_method(_SelectMgr.SelectMgr_ListOfFilter_end)
    cbegin = _swig_new_instance_method(_SelectMgr.SelectMgr_ListOfFilter_cbegin)
    cend = _swig_new_instance_method(_SelectMgr.SelectMgr_ListOfFilter_cend)

    def __init__(self, *args):
        _SelectMgr.SelectMgr_ListOfFilter_swiginit(self, _SelectMgr.new_SelectMgr_ListOfFilter(*args))
    Size = _swig_new_instance_method(_SelectMgr.SelectMgr_ListOfFilter_Size)
    Assign = _swig_new_instance_method(_SelectMgr.SelectMgr_ListOfFilter_Assign)
    Set = _swig_new_instance_method(_SelectMgr.SelectMgr_ListOfFilter_Set)
    Clear = _swig_new_instance_method(_SelectMgr.SelectMgr_ListOfFilter_Clear)
    First = _swig_new_instance_method(_SelectMgr.SelectMgr_ListOfFilter_First)
    Last = _swig_new_instance_method(_SelectMgr.SelectMgr_ListOfFilter_Last)
    Append = _swig_new_instance_method(_SelectMgr.SelectMgr_ListOfFilter_Append)
    Prepend = _swig_new_instance_method(_SelectMgr.SelectMgr_ListOfFilter_Prepend)
    RemoveFirst = _swig_new_instance_method(_SelectMgr.SelectMgr_ListOfFilter_RemoveFirst)
    Remove = _swig_new_instance_method(_SelectMgr.SelectMgr_ListOfFilter_Remove)
    InsertBefore = _swig_new_instance_method(_SelectMgr.SelectMgr_ListOfFilter_InsertBefore)
    InsertAfter = _swig_new_instance_method(_SelectMgr.SelectMgr_ListOfFilter_InsertAfter)
    Reverse = _swig_new_instance_method(_SelectMgr.SelectMgr_ListOfFilter_Reverse)
    __swig_destroy__ = _SelectMgr.delete_SelectMgr_ListOfFilter

# Register SelectMgr_ListOfFilter in _SelectMgr:
_SelectMgr.SelectMgr_ListOfFilter_swigregister(SelectMgr_ListOfFilter)

class SelectMgr_ListIteratorOfListOfFilter(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):
        _SelectMgr.SelectMgr_ListIteratorOfListOfFilter_swiginit(self, _SelectMgr.new_SelectMgr_ListIteratorOfListOfFilter(*args))
    More = _swig_new_instance_method(_SelectMgr.SelectMgr_ListIteratorOfListOfFilter_More)
    Next = _swig_new_instance_method(_SelectMgr.SelectMgr_ListIteratorOfListOfFilter_Next)
    Value = _swig_new_instance_method(_SelectMgr.SelectMgr_ListIteratorOfListOfFilter_Value)
    ChangeValue = _swig_new_instance_method(_SelectMgr.SelectMgr_ListIteratorOfListOfFilter_ChangeValue)
    __swig_destroy__ = _SelectMgr.delete_SelectMgr_ListIteratorOfListOfFilter

# Register SelectMgr_ListIteratorOfListOfFilter in _SelectMgr:
_SelectMgr.SelectMgr_ListIteratorOfListOfFilter_swigregister(SelectMgr_ListIteratorOfListOfFilter)

class SelectMgr_IndexedMapOfHSensitive(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    cbegin = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedMapOfHSensitive_cbegin)
    cend = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedMapOfHSensitive_cend)

    def __init__(self, *args):
        _SelectMgr.SelectMgr_IndexedMapOfHSensitive_swiginit(self, _SelectMgr.new_SelectMgr_IndexedMapOfHSensitive(*args))
    Exchange = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedMapOfHSensitive_Exchange)
    Assign = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedMapOfHSensitive_Assign)
    Set = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedMapOfHSensitive_Set)
    ReSize = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedMapOfHSensitive_ReSize)
    Add = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedMapOfHSensitive_Add)
    Contains = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedMapOfHSensitive_Contains)
    Substitute = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedMapOfHSensitive_Substitute)
    Swap = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedMapOfHSensitive_Swap)
    RemoveLast = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedMapOfHSensitive_RemoveLast)
    RemoveFromIndex = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedMapOfHSensitive_RemoveFromIndex)
    RemoveKey = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedMapOfHSensitive_RemoveKey)
    FindKey = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedMapOfHSensitive_FindKey)
    __call__ = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedMapOfHSensitive___call__)
    FindIndex = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedMapOfHSensitive_FindIndex)
    Clear = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedMapOfHSensitive_Clear)
    __swig_destroy__ = _SelectMgr.delete_SelectMgr_IndexedMapOfHSensitive
    Size = _swig_new_instance_method(_SelectMgr.SelectMgr_IndexedMapOfHSensitive_Size)

# Register SelectMgr_IndexedMapOfHSensitive in _SelectMgr:
_SelectMgr.SelectMgr_IndexedMapOfHSensitive_swigregister(SelectMgr_IndexedMapOfHSensitive)

class SelectMgr_SequenceOfOwner(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_begin)
    end = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_end)
    cbegin = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_cbegin)
    cend = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_cend)

    def __init__(self, *args):
        _SelectMgr.SelectMgr_SequenceOfOwner_swiginit(self, _SelectMgr.new_SelectMgr_SequenceOfOwner(*args))
    Size = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_Size)
    Length = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_Length)
    Lower = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_Lower)
    Upper = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_Upper)
    IsEmpty = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_IsEmpty)
    Reverse = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_Reverse)
    Exchange = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_Exchange)
    delNode = _swig_new_static_method(_SelectMgr.SelectMgr_SequenceOfOwner_delNode)
    Clear = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_Clear)
    Assign = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_Assign)
    Set = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_Set)
    Remove = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_Remove)
    Append = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_Append)
    Prepend = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_Prepend)
    InsertBefore = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_InsertBefore)
    InsertAfter = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_InsertAfter)
    Split = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_Split)
    First = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_First)
    ChangeFirst = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_ChangeFirst)
    Last = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_Last)
    ChangeLast = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_ChangeLast)
    Value = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_Value)
    ChangeValue = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_ChangeValue)
    __call__ = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner___call__)
    SetValue = _swig_new_instance_method(_SelectMgr.SelectMgr_SequenceOfOwner_SetValue)
    __swig_destroy__ = _SelectMgr.delete_SelectMgr_SequenceOfOwner

# Register SelectMgr_SequenceOfOwner in _SelectMgr:
_SelectMgr.SelectMgr_SequenceOfOwner_swigregister(SelectMgr_SequenceOfOwner)
SelectMgr_SequenceOfOwner_delNode = _SelectMgr.SelectMgr_SequenceOfOwner_delNode

class SelectMgr_EntityOwner(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Clear = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_Clear)
    ComesFromDecomposition = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_ComesFromDecomposition)
    DumpJsonToString = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_DumpJsonToString)
    HandleMouseClick = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_HandleMouseClick)
    HasLocation = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_HasLocation)
    HasSelectable = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_HasSelectable)
    HilightWithColor = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_HilightWithColor)
    IsAutoHilight = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_IsAutoHilight)
    IsForcedHilight = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_IsForcedHilight)
    IsHilighted = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_IsHilighted)
    IsSameSelectable = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_IsSameSelectable)
    IsSelected = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_IsSelected)
    Location = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_Location)
    Priority = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_Priority)

    def __init__(self, *args):
        r"""
        * Initializes the selection priority aPriority.
        	:param aPriority: default value is 0
        	:type aPriority: int
        	:rtype: None* Constructs a framework with the selectable object anSO being attributed the selection priority aPriority.
        	:param aSO:
        	:type aSO: SelectMgr_SelectableObject
        	:param aPriority: default value is 0
        	:type aPriority: int
        	:rtype: None* Constructs a framework from existing one anSO being attributed the selection priority aPriority.
        	:param theOwner:
        	:type theOwner: SelectMgr_EntityOwner
        	:param aPriority: default value is 0
        	:type aPriority: int
        	:rtype: None
        """
        _SelectMgr.SelectMgr_EntityOwner_swiginit(self, _SelectMgr.new_SelectMgr_EntityOwner(*args))
    Selectable = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_Selectable)
    Set = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_Set)
    SetComesFromDecomposition = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_SetComesFromDecomposition)
    SetLocation = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_SetLocation)
    SetPriority = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_SetPriority)
    SetSelectable = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_SetSelectable)
    SetSelected = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_SetSelected)
    SetZLayer = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_SetZLayer)
    State = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_State)
    Unhilight = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_Unhilight)
    UpdateHighlightTrsf = _swig_new_instance_method(_SelectMgr.SelectMgr_EntityOwner_UpdateHighlightTrsf)


    @staticmethod
    def DownCast(t):
      return Handle_SelectMgr_EntityOwner_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _SelectMgr.delete_SelectMgr_EntityOwner

# Register SelectMgr_EntityOwner in _SelectMgr:
_SelectMgr.SelectMgr_EntityOwner_swigregister(SelectMgr_EntityOwner)

class SelectMgr_Filter(OCC.Core.Standard.Standard_Transient):
    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
    ActsOn = _swig_new_instance_method(_SelectMgr.SelectMgr_Filter_ActsOn)
    IsOk = _swig_new_instance_method(_SelectMgr.SelectMgr_Filter_IsOk)


    @staticmethod
    def DownCast(t):
      return Handle_SelectMgr_Filter_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _SelectMgr.delete_SelectMgr_Filter

# Register SelectMgr_Filter in _SelectMgr:
_SelectMgr.SelectMgr_Filter_swigregister(SelectMgr_Filter)

class SelectMgr_SelectableObject(OCC.Core.PrsMgr.PrsMgr_PresentableObject):
    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
    AcceptShapeDecomposition = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_AcceptShapeDecomposition)
    AddSelection = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_AddSelection)
    ClearDynamicHighlight = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_ClearDynamicHighlight)
    ClearSelected = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_ClearSelected)
    ClearSelections = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_ClearSelections)
    ComputeSelection = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_ComputeSelection)
    CurrentSelection = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_CurrentSelection)
    DumpJsonToString = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_DumpJsonToString)
    ErasePresentations = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_ErasePresentations)
    GetAssemblyOwner = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_GetAssemblyOwner)
    GetHilightPresentation = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_GetHilightPresentation)
    GetSelectPresentation = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_GetSelectPresentation)
    GlobalSelOwner = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_GlobalSelOwner)
    GlobalSelectionMode = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_GlobalSelectionMode)
    HasSelection = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_HasSelection)
    HilightOwnerWithColor = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_HilightOwnerWithColor)
    HilightSelected = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_HilightSelected)
    Init = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_Init)
    IsAutoHilight = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_IsAutoHilight)
    More = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_More)
    Next = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_Next)
    RecomputePrimitives = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_RecomputePrimitives)
    Selection = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_Selection)
    Selections = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_Selections)
    SetAssemblyOwner = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_SetAssemblyOwner)
    SetAutoHilight = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_SetAutoHilight)
    UpdateSelection = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_UpdateSelection)
    UpdateTransformations = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObject_UpdateTransformations)


    @staticmethod
    def DownCast(t):
      return Handle_SelectMgr_SelectableObject_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _SelectMgr.delete_SelectMgr_SelectableObject

# Register SelectMgr_SelectableObject in _SelectMgr:
_SelectMgr.SelectMgr_SelectableObject_swigregister(SelectMgr_SelectableObject)

class SelectMgr_SelectableObjectSet(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    BVHSubset_3d = _SelectMgr.SelectMgr_SelectableObjectSet_BVHSubset_3d
    BVHSubset_3dPersistent = _SelectMgr.SelectMgr_SelectableObjectSet_BVHSubset_3dPersistent
    BVHSubset_2dPersistent = _SelectMgr.SelectMgr_SelectableObjectSet_BVHSubset_2dPersistent
    BVHSubsetNb = _SelectMgr.SelectMgr_SelectableObjectSet_BVHSubsetNb
    Append = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObjectSet_Append)
    BVH = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObjectSet_BVH)
    ChangeSubset = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObjectSet_ChangeSubset)
    Contains = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObjectSet_Contains)
    GetObjectById = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObjectSet_GetObjectById)
    IsEmpty = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObjectSet_IsEmpty)
    MarkDirty = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObjectSet_MarkDirty)
    Remove = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObjectSet_Remove)

    def __init__(self, *args):
        r"""
        * Creates new empty objects set and initializes BVH tree builders for each subset.
        	:rtype: None
        """
        _SelectMgr.SelectMgr_SelectableObjectSet_swiginit(self, _SelectMgr.new_SelectMgr_SelectableObjectSet(*args))
    UpdateBVH = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectableObjectSet_UpdateBVH)

    __repr__ = _dumps_object

    __swig_destroy__ = _SelectMgr.delete_SelectMgr_SelectableObjectSet

# Register SelectMgr_SelectableObjectSet in _SelectMgr:
_SelectMgr.SelectMgr_SelectableObjectSet_swigregister(SelectMgr_SelectableObjectSet)

class SelectMgr_SelectingVolumeManager(OCC.Core.SelectBasics.SelectBasics_SelectingVolumeManager):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AllowOverlapDetection = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_AllowOverlapDetection)
    BuildSelectingVolume = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_BuildSelectingVolume)
    Camera = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_Camera)
    DetectedPoint = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_DetectedPoint)
    DistToGeometryCenter = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_DistToGeometryCenter)
    GetActiveSelectionType = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_GetActiveSelectionType)
    GetFarPickedPnt = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_GetFarPickedPnt)
    GetMousePosition = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_GetMousePosition)
    GetNearPickedPnt = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_GetNearPickedPnt)
    GetPlanes = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_GetPlanes)
    GetVertices = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_GetVertices)
    IsOverlapAllowed = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_IsOverlapAllowed)
    ObjectClipping = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_ObjectClipping)
    Overlaps = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_Overlaps)
    ProjectionMatrix = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_ProjectionMatrix)
    ScaleAndTransform = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_ScaleAndTransform)

    def __init__(self, *args):
        r"""
        * Creates instances of all available selecting volume types
        	:param theToAllocateFrustums: default value is Standard_True
        	:type theToAllocateFrustums: bool
        	:rtype: None
        """
        _SelectMgr.SelectMgr_SelectingVolumeManager_swiginit(self, _SelectMgr.new_SelectMgr_SelectingVolumeManager(*args))
    SetActiveSelectionType = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_SetActiveSelectionType)
    SetCamera = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_SetCamera)
    SetPixelTolerance = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_SetPixelTolerance)
    SetViewClipRanges = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_SetViewClipRanges)
    SetViewClipping = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_SetViewClipping)
    SetViewport = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_SetViewport)
    SetWindowSize = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_SetWindowSize)
    ViewClipRanges = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_ViewClipRanges)
    ViewClipping = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_ViewClipping)
    WindowSize = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_WindowSize)
    WorldViewMatrix = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_WorldViewMatrix)
    WorldViewProjState = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectingVolumeManager_WorldViewProjState)

    __repr__ = _dumps_object

    __swig_destroy__ = _SelectMgr.delete_SelectMgr_SelectingVolumeManager

# Register SelectMgr_SelectingVolumeManager in _SelectMgr:
_SelectMgr.SelectMgr_SelectingVolumeManager_swigregister(SelectMgr_SelectingVolumeManager)

class SelectMgr_Selection(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Add = _swig_new_instance_method(_SelectMgr.SelectMgr_Selection_Add)
    BVHUpdateStatus = _swig_new_instance_method(_SelectMgr.SelectMgr_Selection_BVHUpdateStatus)
    ChangeEntities = _swig_new_instance_method(_SelectMgr.SelectMgr_Selection_ChangeEntities)
    Clear = _swig_new_instance_method(_SelectMgr.SelectMgr_Selection_Clear)
    Destroy = _swig_new_instance_method(_SelectMgr.SelectMgr_Selection_Destroy)
    Entities = _swig_new_instance_method(_SelectMgr.SelectMgr_Selection_Entities)
    GetSelectionState = _swig_new_instance_method(_SelectMgr.SelectMgr_Selection_GetSelectionState)
    Init = _swig_new_instance_method(_SelectMgr.SelectMgr_Selection_Init)
    IsEmpty = _swig_new_instance_method(_SelectMgr.SelectMgr_Selection_IsEmpty)
    Mode = _swig_new_instance_method(_SelectMgr.SelectMgr_Selection_Mode)
    More = _swig_new_instance_method(_SelectMgr.SelectMgr_Selection_More)
    Next = _swig_new_instance_method(_SelectMgr.SelectMgr_Selection_Next)

    def __init__(self, *args):
        r"""
        * Constructs a selection object defined by the selection mode IdMode. The default setting 0 is the selection mode for a shape in its entirety.
        	:param theModeIdx: default value is 0
        	:type theModeIdx: int
        	:rtype: None
        """
        _SelectMgr.SelectMgr_Selection_swiginit(self, _SelectMgr.new_SelectMgr_Selection(*args))
    Sensitive = _swig_new_instance_method(_SelectMgr.SelectMgr_Selection_Sensitive)
    Sensitivity = _swig_new_instance_method(_SelectMgr.SelectMgr_Selection_Sensitivity)
    SetSelectionState = _swig_new_instance_method(_SelectMgr.SelectMgr_Selection_SetSelectionState)
    SetSensitivity = _swig_new_instance_method(_SelectMgr.SelectMgr_Selection_SetSensitivity)
    UpdateBVHStatus = _swig_new_instance_method(_SelectMgr.SelectMgr_Selection_UpdateBVHStatus)
    UpdateStatus = _swig_new_instance_method(_SelectMgr.SelectMgr_Selection_UpdateStatus)


    @staticmethod
    def DownCast(t):
      return Handle_SelectMgr_Selection_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _SelectMgr.delete_SelectMgr_Selection

# Register SelectMgr_Selection in _SelectMgr:
_SelectMgr.SelectMgr_Selection_swigregister(SelectMgr_Selection)

class SelectMgr_SelectionManager(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Activate = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectionManager_Activate)
    ClearSelectionStructures = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectionManager_ClearSelectionStructures)
    Contains = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectionManager_Contains)
    Deactivate = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectionManager_Deactivate)
    IsActivated = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectionManager_IsActivated)
    Load = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectionManager_Load)
    RecomputeSelection = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectionManager_RecomputeSelection)
    Remove = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectionManager_Remove)
    RestoreSelectionStructures = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectionManager_RestoreSelectionStructures)

    def __init__(self, *args):
        r"""
        * Constructs an empty selection manager object.
        	:param theSelector:
        	:type theSelector: SelectMgr_ViewerSelector
        	:rtype: None
        """
        _SelectMgr.SelectMgr_SelectionManager_swiginit(self, _SelectMgr.new_SelectMgr_SelectionManager(*args))
    Selector = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectionManager_Selector)
    SetSelectionSensitivity = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectionManager_SetSelectionSensitivity)
    SetUpdateMode = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectionManager_SetUpdateMode)
    Update = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectionManager_Update)
    UpdateSelection = _swig_new_instance_method(_SelectMgr.SelectMgr_SelectionManager_UpdateSelection)


    @staticmethod
    def DownCast(t):
      return Handle_SelectMgr_SelectionManager_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _SelectMgr.delete_SelectMgr_SelectionManager

# Register SelectMgr_SelectionManager in _SelectMgr:
_SelectMgr.SelectMgr_SelectionManager_swigregister(SelectMgr_SelectionManager)

class SelectMgr_SensitiveEntity(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    BaseSensitive = _swig_new_instance_method(_SelectMgr.SelectMgr_SensitiveEntity_BaseSensitive)
    Clear = _swig_new_instance_method(_SelectMgr.SelectMgr_SensitiveEntity_Clear)
    IsActiveForSelection = _swig_new_instance_method(_SelectMgr.SelectMgr_SensitiveEntity_IsActiveForSelection)
    ResetSelectionActiveStatus = _swig_new_instance_method(_SelectMgr.SelectMgr_SensitiveEntity_ResetSelectionActiveStatus)

    def __init__(self, *args):
        r"""
        * Creates new inactive for selection object with base entity theEntity
        	:param theEntity:
        	:type theEntity: Select3D_SensitiveEntity
        	:rtype: None
        """
        _SelectMgr.SelectMgr_SensitiveEntity_swiginit(self, _SelectMgr.new_SelectMgr_SensitiveEntity(*args))
    SetActiveForSelection = _swig_new_instance_method(_SelectMgr.SelectMgr_SensitiveEntity_SetActiveForSelection)


    @staticmethod
    def DownCast(t):
      return Handle_SelectMgr_SensitiveEntity_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _SelectMgr.delete_SelectMgr_SensitiveEntity

# Register SelectMgr_SensitiveEntity in _SelectMgr:
_SelectMgr.SelectMgr_SensitiveEntity_swigregister(SelectMgr_SensitiveEntity)

class SelectMgr_SortCriterion(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Entity = property(_SelectMgr.SelectMgr_SortCriterion_Entity_get, _SelectMgr.SelectMgr_SortCriterion_Entity_set)
    Point = property(_SelectMgr.SelectMgr_SortCriterion_Point_get, _SelectMgr.SelectMgr_SortCriterion_Point_set)
    Depth = property(_SelectMgr.SelectMgr_SortCriterion_Depth_get, _SelectMgr.SelectMgr_SortCriterion_Depth_set)
    MinDist = property(_SelectMgr.SelectMgr_SortCriterion_MinDist_get, _SelectMgr.SelectMgr_SortCriterion_MinDist_set)
    Tolerance = property(_SelectMgr.SelectMgr_SortCriterion_Tolerance_get, _SelectMgr.SelectMgr_SortCriterion_Tolerance_set)
    Priority = property(_SelectMgr.SelectMgr_SortCriterion_Priority_get, _SelectMgr.SelectMgr_SortCriterion_Priority_set)
    ZLayerPosition = property(_SelectMgr.SelectMgr_SortCriterion_ZLayerPosition_get, _SelectMgr.SelectMgr_SortCriterion_ZLayerPosition_set)
    NbOwnerMatches = property(_SelectMgr.SelectMgr_SortCriterion_NbOwnerMatches_get, _SelectMgr.SelectMgr_SortCriterion_NbOwnerMatches_set)
    ToPreferClosest = property(_SelectMgr.SelectMgr_SortCriterion_ToPreferClosest_get, _SelectMgr.SelectMgr_SortCriterion_ToPreferClosest_set)
    IsGreater = _swig_new_instance_method(_SelectMgr.SelectMgr_SortCriterion_IsGreater)
    IsLower = _swig_new_instance_method(_SelectMgr.SelectMgr_SortCriterion_IsLower)

    def __init__(self, *args):
        r"""
        * //!< whether closest object is preferred even if has less priority Empty constructor.
        	:rtype: None
        """
        _SelectMgr.SelectMgr_SortCriterion_swiginit(self, _SelectMgr.new_SelectMgr_SortCriterion(*args))
    __gt__ = _swig_new_instance_method(_SelectMgr.SelectMgr_SortCriterion___gt__)

    __repr__ = _dumps_object

    __swig_destroy__ = _SelectMgr.delete_SelectMgr_SortCriterion

# Register SelectMgr_SortCriterion in _SelectMgr:
_SelectMgr.SelectMgr_SortCriterion_swigregister(SelectMgr_SortCriterion)

class SelectMgr_ViewClipRange(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AddClipSubRange = _swig_new_instance_method(_SelectMgr.SelectMgr_ViewClipRange_AddClipSubRange)
    AddClippingPlanes = _swig_new_instance_method(_SelectMgr.SelectMgr_ViewClipRange_AddClippingPlanes)
    ChangeUnclipRange = _swig_new_instance_method(_SelectMgr.SelectMgr_ViewClipRange_ChangeUnclipRange)
    DumpJsonToString = _swig_new_instance_method(_SelectMgr.SelectMgr_ViewClipRange_DumpJsonToString)
    GetNearestDepth = _swig_new_instance_method(_SelectMgr.SelectMgr_ViewClipRange_GetNearestDepth)
    IsClipped = _swig_new_instance_method(_SelectMgr.SelectMgr_ViewClipRange_IsClipped)

    def __init__(self, *args):
        r"""
        * Creates an empty clip range.
        	:rtype: None
        """
        _SelectMgr.SelectMgr_ViewClipRange_swiginit(self, _SelectMgr.new_SelectMgr_ViewClipRange(*args))
    SetVoid = _swig_new_instance_method(_SelectMgr.SelectMgr_ViewClipRange_SetVoid)

    __repr__ = _dumps_object

    __swig_destroy__ = _SelectMgr.delete_SelectMgr_ViewClipRange

# Register SelectMgr_ViewClipRange in _SelectMgr:
_SelectMgr.SelectMgr_ViewClipRange_swigregister(SelectMgr_ViewClipRange)

class SelectMgr_CompositionFilter(SelectMgr_Filter):
    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
    Add = _swig_new_instance_method(_SelectMgr.SelectMgr_CompositionFilter_Add)
    Clear = _swig_new_instance_method(_SelectMgr.SelectMgr_CompositionFilter_Clear)
    IsEmpty = _swig_new_instance_method(_SelectMgr.SelectMgr_CompositionFilter_IsEmpty)
    IsIn = _swig_new_instance_method(_SelectMgr.SelectMgr_CompositionFilter_IsIn)
    Remove = _swig_new_instance_method(_SelectMgr.SelectMgr_CompositionFilter_Remove)
    StoredFilters = _swig_new_instance_method(_SelectMgr.SelectMgr_CompositionFilter_StoredFilters)


    @staticmethod
    def DownCast(t):
      return Handle_SelectMgr_CompositionFilter_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _SelectMgr.delete_SelectMgr_CompositionFilter

# Register SelectMgr_CompositionFilter in _SelectMgr:
_SelectMgr.SelectMgr_CompositionFilter_swigregister(SelectMgr_CompositionFilter)

class SelectMgr_AndFilter(SelectMgr_CompositionFilter):
    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"""
        * Constructs an empty selection filter object for two or more types of entity.
        	:rtype: None
        """
        _SelectMgr.SelectMgr_AndFilter_swiginit(self, _SelectMgr.new_SelectMgr_AndFilter(*args))


    @staticmethod
    def DownCast(t):
      return Handle_SelectMgr_AndFilter_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _SelectMgr.delete_SelectMgr_AndFilter

# Register SelectMgr_AndFilter in _SelectMgr:
_SelectMgr.SelectMgr_AndFilter_swigregister(SelectMgr_AndFilter)

class SelectMgr_OrFilter(SelectMgr_CompositionFilter):
    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"""
        * Constructs an empty or selection filter.
        	:rtype: None
        """
        _SelectMgr.SelectMgr_OrFilter_swiginit(self, _SelectMgr.new_SelectMgr_OrFilter(*args))
    SetDisabledObjects = _swig_new_instance_method(_SelectMgr.SelectMgr_OrFilter_SetDisabledObjects)


    @staticmethod
    def DownCast(t):
      return Handle_SelectMgr_OrFilter_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _SelectMgr.delete_SelectMgr_OrFilter

# Register SelectMgr_OrFilter in _SelectMgr:
_SelectMgr.SelectMgr_OrFilter_swigregister(SelectMgr_OrFilter)



