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

"""
STEPSelections module, see official documentation at
https://dev.opencascade.org/doc/occt-7.9.0/refman/html/package_stepselections.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 _STEPSelections
else:
    import _STEPSelections

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__ = _STEPSelections.delete_SwigPyIterator

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register SwigPyIterator in _STEPSelections:
_STEPSelections.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 _STEPSelections.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 = _STEPSelections.ios_base_erase_event
    imbue_event = _STEPSelections.ios_base_imbue_event
    copyfmt_event = _STEPSelections.ios_base_copyfmt_event

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register ios in _STEPSelections:
_STEPSelections.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):
        _STEPSelections.ostream_swiginit(self, _STEPSelections.new_ostream(__sb))
    __swig_destroy__ = _STEPSelections.delete_ostream

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

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

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

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

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

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

# Register ostream in _STEPSelections:
_STEPSelections.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):
        _STEPSelections.istream_swiginit(self, _STEPSelections.new_istream(__sb))
    __swig_destroy__ = _STEPSelections.delete_istream

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register istream in _STEPSelections:
_STEPSelections.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):
        _STEPSelections.iostream_swiginit(self, _STEPSelections.new_iostream(__sb))
    __swig_destroy__ = _STEPSelections.delete_iostream

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

endl_cb_ptr = _STEPSelections.endl_cb_ptr
endl = _STEPSelections.endl
ends_cb_ptr = _STEPSelections.ends_cb_ptr
ends = _STEPSelections.ends
flush_cb_ptr = _STEPSelections.flush_cb_ptr
flush = _STEPSelections.flush
import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.StepShape
import OCC.Core.StepGeom
import OCC.Core.StepData
import OCC.Core.Interface
import OCC.Core.TCollection
import OCC.Core.Message
import OCC.Core.OSD
import OCC.Core.TColStd
import OCC.Core.MoniTool
import OCC.Core.TopoDS
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.gp
import OCC.Core.Resource
import OCC.Core.StepRepr
import OCC.Core.StepBasic
import OCC.Core.IFSelect
import OCC.Core.XSControl
import OCC.Core.Transfer
import OCC.Core.DE
import OCC.Core.TDocStd
import OCC.Core.TDF
import OCC.Core.CDF
import OCC.Core.CDM
import OCC.Core.PCDM
import OCC.Core.Storage
import OCC.Core.TopTools
import OCC.Core.Geom
import OCC.Core.GeomAbs
import OCC.Core.TColgp
import OCC.Core.Geom2d

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




def Handle_STEPSelections_AssemblyComponent_Create():
    return _STEPSelections.Handle_STEPSelections_AssemblyComponent_Create()

def Handle_STEPSelections_AssemblyComponent_DownCast(t):
    return _STEPSelections.Handle_STEPSelections_AssemblyComponent_DownCast(t)

def Handle_STEPSelections_AssemblyComponent_IsNull(t):
    return _STEPSelections.Handle_STEPSelections_AssemblyComponent_IsNull(t)

def Handle_STEPSelections_AssemblyLink_Create():
    return _STEPSelections.Handle_STEPSelections_AssemblyLink_Create()

def Handle_STEPSelections_AssemblyLink_DownCast(t):
    return _STEPSelections.Handle_STEPSelections_AssemblyLink_DownCast(t)

def Handle_STEPSelections_AssemblyLink_IsNull(t):
    return _STEPSelections.Handle_STEPSelections_AssemblyLink_IsNull(t)

def Handle_STEPSelections_SelectAssembly_Create():
    return _STEPSelections.Handle_STEPSelections_SelectAssembly_Create()

def Handle_STEPSelections_SelectAssembly_DownCast(t):
    return _STEPSelections.Handle_STEPSelections_SelectAssembly_DownCast(t)

def Handle_STEPSelections_SelectAssembly_IsNull(t):
    return _STEPSelections.Handle_STEPSelections_SelectAssembly_IsNull(t)

def Handle_STEPSelections_SelectDerived_Create():
    return _STEPSelections.Handle_STEPSelections_SelectDerived_Create()

def Handle_STEPSelections_SelectDerived_DownCast(t):
    return _STEPSelections.Handle_STEPSelections_SelectDerived_DownCast(t)

def Handle_STEPSelections_SelectDerived_IsNull(t):
    return _STEPSelections.Handle_STEPSelections_SelectDerived_IsNull(t)

def Handle_STEPSelections_SelectFaces_Create():
    return _STEPSelections.Handle_STEPSelections_SelectFaces_Create()

def Handle_STEPSelections_SelectFaces_DownCast(t):
    return _STEPSelections.Handle_STEPSelections_SelectFaces_DownCast(t)

def Handle_STEPSelections_SelectFaces_IsNull(t):
    return _STEPSelections.Handle_STEPSelections_SelectFaces_IsNull(t)

def Handle_STEPSelections_SelectForTransfer_Create():
    return _STEPSelections.Handle_STEPSelections_SelectForTransfer_Create()

def Handle_STEPSelections_SelectForTransfer_DownCast(t):
    return _STEPSelections.Handle_STEPSelections_SelectForTransfer_DownCast(t)

def Handle_STEPSelections_SelectForTransfer_IsNull(t):
    return _STEPSelections.Handle_STEPSelections_SelectForTransfer_IsNull(t)

def Handle_STEPSelections_SelectGSCurves_Create():
    return _STEPSelections.Handle_STEPSelections_SelectGSCurves_Create()

def Handle_STEPSelections_SelectGSCurves_DownCast(t):
    return _STEPSelections.Handle_STEPSelections_SelectGSCurves_DownCast(t)

def Handle_STEPSelections_SelectGSCurves_IsNull(t):
    return _STEPSelections.Handle_STEPSelections_SelectGSCurves_IsNull(t)

def Handle_STEPSelections_SelectInstances_Create():
    return _STEPSelections.Handle_STEPSelections_SelectInstances_Create()

def Handle_STEPSelections_SelectInstances_DownCast(t):
    return _STEPSelections.Handle_STEPSelections_SelectInstances_DownCast(t)

def Handle_STEPSelections_SelectInstances_IsNull(t):
    return _STEPSelections.Handle_STEPSelections_SelectInstances_IsNull(t)

def Handle_STEPSelections_HSequenceOfAssemblyLink_Create():
    return _STEPSelections.Handle_STEPSelections_HSequenceOfAssemblyLink_Create()

def Handle_STEPSelections_HSequenceOfAssemblyLink_DownCast(t):
    return _STEPSelections.Handle_STEPSelections_HSequenceOfAssemblyLink_DownCast(t)

def Handle_STEPSelections_HSequenceOfAssemblyLink_IsNull(t):
    return _STEPSelections.Handle_STEPSelections_HSequenceOfAssemblyLink_IsNull(t)
class STEPSelections_SequenceOfAssemblyComponent(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_begin(self)

    def end(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_end(self)

    def cbegin(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_cbegin(self)

    def cend(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_cend(self)

    def __init__(self, *args):
        _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_swiginit(self, _STEPSelections.new_STEPSelections_SequenceOfAssemblyComponent(*args))

    def Size(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_Size(self)

    def Length(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_Length(self)

    def Lower(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_Lower(self)

    def Upper(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_Upper(self)

    def IsEmpty(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_IsEmpty(self)

    def Reverse(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_Reverse(self)

    def Exchange(self, I, J):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_Assign(self, theOther)

    def Set(self, *args):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_Set(self, *args)

    def Remove(self, *args):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_Remove(self, *args)

    def Append(self, *args):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_Append(self, *args)

    def Prepend(self, *args):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_Split(self, theIndex, theSeq)

    def First(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_First(self)

    def ChangeFirst(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_ChangeFirst(self)

    def Last(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_Last(self)

    def ChangeLast(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_ChangeLast(self)

    def Value(self, theIndex):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _STEPSelections.delete_STEPSelections_SequenceOfAssemblyComponent

    def __len__(self):
        return self.Size()


# Register STEPSelections_SequenceOfAssemblyComponent in _STEPSelections:
_STEPSelections.STEPSelections_SequenceOfAssemblyComponent_swigregister(STEPSelections_SequenceOfAssemblyComponent)
class STEPSelections_SequenceOfAssemblyLink(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_begin(self)

    def end(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_end(self)

    def cbegin(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_cbegin(self)

    def cend(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_cend(self)

    def __init__(self, *args):
        _STEPSelections.STEPSelections_SequenceOfAssemblyLink_swiginit(self, _STEPSelections.new_STEPSelections_SequenceOfAssemblyLink(*args))

    def Size(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_Size(self)

    def Length(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_Length(self)

    def Lower(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_Lower(self)

    def Upper(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_Upper(self)

    def IsEmpty(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_IsEmpty(self)

    def Reverse(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_Reverse(self)

    def Exchange(self, I, J):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_Assign(self, theOther)

    def Set(self, *args):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_Set(self, *args)

    def Remove(self, *args):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_Remove(self, *args)

    def Append(self, *args):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_Append(self, *args)

    def Prepend(self, *args):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_Split(self, theIndex, theSeq)

    def First(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_First(self)

    def ChangeFirst(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_ChangeFirst(self)

    def Last(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_Last(self)

    def ChangeLast(self):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_ChangeLast(self)

    def Value(self, theIndex):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _STEPSelections.delete_STEPSelections_SequenceOfAssemblyLink

    def __len__(self):
        return self.Size()


# Register STEPSelections_SequenceOfAssemblyLink in _STEPSelections:
_STEPSelections.STEPSelections_SequenceOfAssemblyLink_swigregister(STEPSelections_SequenceOfAssemblyLink)
class STEPSelections_AssemblyComponent(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

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

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

        Parameters
        ----------
        sdr: StepShape_ShapeDefinitionRepresentation
        list: STEPSelections_HSequenceOfAssemblyLink

        Return
        -------
        None

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

        """
        _STEPSelections.STEPSelections_AssemblyComponent_swiginit(self, _STEPSelections.new_STEPSelections_AssemblyComponent(*args))

    def GetList(self, *args):
        r"""
        Return
        -------
        opencascade::handle<STEPSelections_HSequenceOfAssemblyLink>

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

        """
        return _STEPSelections.STEPSelections_AssemblyComponent_GetList(self, *args)

    def GetSDR(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepShape_ShapeDefinitionRepresentation>

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

        """
        return _STEPSelections.STEPSelections_AssemblyComponent_GetSDR(self, *args)

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

        Parameters
        ----------
        list: STEPSelections_HSequenceOfAssemblyLink

        Return
        -------
        None

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

        """
        return _STEPSelections.STEPSelections_AssemblyComponent_SetList(self, *args)

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

        Parameters
        ----------
        sdr: StepShape_ShapeDefinitionRepresentation

        Return
        -------
        None

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

        """
        return _STEPSelections.STEPSelections_AssemblyComponent_SetSDR(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _STEPSelections.delete_STEPSelections_AssemblyComponent

# Register STEPSelections_AssemblyComponent in _STEPSelections:
_STEPSelections.STEPSelections_AssemblyComponent_swigregister(STEPSelections_AssemblyComponent)
class STEPSelections_AssemblyExplorer(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"""

        Parameters
        ----------
        G: Interface_Graph

        Return
        -------
        None

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

        """
        _STEPSelections.STEPSelections_AssemblyExplorer_swiginit(self, _STEPSelections.new_STEPSelections_AssemblyExplorer(*args))

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

        Parameters
        ----------

        Return
        -------
        os: Standard_OStream

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

        """
        return _STEPSelections.STEPSelections_AssemblyExplorer_Dump(self, *args)

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

        Parameters
        ----------
        cmp: STEPSelections_AssemblyComponent

        Return
        -------
        None

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

        """
        return _STEPSelections.STEPSelections_AssemblyExplorer_FillListWithGraph(self, *args)

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

        Parameters
        ----------
        nauo: StepRepr_NextAssemblyUsageOccurrence

        Return
        -------
        opencascade::handle<Standard_Transient>

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

        """
        return _STEPSelections.STEPSelections_AssemblyExplorer_FindItemWithNAUO(self, *args)

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

        Parameters
        ----------
        product: StepBasic_ProductDefinition

        Return
        -------
        opencascade::handle<StepShape_ShapeDefinitionRepresentation>

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

        """
        return _STEPSelections.STEPSelections_AssemblyExplorer_FindSDRWithProduct(self, *args)

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

        Parameters
        ----------
        G: Interface_Graph

        Return
        -------
        None

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

        """
        return _STEPSelections.STEPSelections_AssemblyExplorer_Init(self, *args)

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

        Description
        -----------
        Returns the number of root assemblies;.

        """
        return _STEPSelections.STEPSelections_AssemblyExplorer_NbAssemblies(self, *args)

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

        Parameters
        ----------
        rank: int (optional, default to 1)

        Return
        -------
        opencascade::handle<STEPSelections_AssemblyComponent>

        Description
        -----------
        Returns root of assenbly by its rank;.

        """
        return _STEPSelections.STEPSelections_AssemblyExplorer_Root(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _STEPSelections.delete_STEPSelections_AssemblyExplorer

# Register STEPSelections_AssemblyExplorer in _STEPSelections:
_STEPSelections.STEPSelections_AssemblyExplorer_swigregister(STEPSelections_AssemblyExplorer)
class STEPSelections_AssemblyLink(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

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

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

        Parameters
        ----------
        nauo: StepRepr_NextAssemblyUsageOccurrence
        item: Standard_Transient
        part: STEPSelections_AssemblyComponent

        Return
        -------
        None

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

        """
        _STEPSelections.STEPSelections_AssemblyLink_swiginit(self, _STEPSelections.new_STEPSelections_AssemblyLink(*args))

    def GetComponent(self, *args):
        r"""
        Return
        -------
        opencascade::handle<STEPSelections_AssemblyComponent>

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

        """
        return _STEPSelections.STEPSelections_AssemblyLink_GetComponent(self, *args)

    def GetItem(self, *args):
        r"""
        Return
        -------
        opencascade::handle<Standard_Transient>

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

        """
        return _STEPSelections.STEPSelections_AssemblyLink_GetItem(self, *args)

    def GetNAUO(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepRepr_NextAssemblyUsageOccurrence>

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

        """
        return _STEPSelections.STEPSelections_AssemblyLink_GetNAUO(self, *args)

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

        Parameters
        ----------
        part: STEPSelections_AssemblyComponent

        Return
        -------
        None

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

        """
        return _STEPSelections.STEPSelections_AssemblyLink_SetComponent(self, *args)

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

        Parameters
        ----------
        item: Standard_Transient

        Return
        -------
        None

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

        """
        return _STEPSelections.STEPSelections_AssemblyLink_SetItem(self, *args)

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

        Parameters
        ----------
        nauo: StepRepr_NextAssemblyUsageOccurrence

        Return
        -------
        None

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

        """
        return _STEPSelections.STEPSelections_AssemblyLink_SetNAUO(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _STEPSelections.delete_STEPSelections_AssemblyLink

# Register STEPSelections_AssemblyLink in _STEPSelections:
_STEPSelections.STEPSelections_AssemblyLink_swigregister(STEPSelections_AssemblyLink)
class STEPSelections_Counter(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
        -----------
        No available documentation.

        """
        _STEPSelections.STEPSelections_Counter_swiginit(self, _STEPSelections.new_STEPSelections_Counter(*args))

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

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

        """
        return _STEPSelections.STEPSelections_Counter_Clear(self, *args)

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

        Parameters
        ----------
        graph: Interface_Graph
        start: Standard_Transient

        Return
        -------
        None

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

        """
        return _STEPSelections.STEPSelections_Counter_Count(self, *args)

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

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

        """
        return _STEPSelections.STEPSelections_Counter_NbInstancesOfEdges(self, *args)

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

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

        """
        return _STEPSelections.STEPSelections_Counter_NbInstancesOfFaces(self, *args)

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

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

        """
        return _STEPSelections.STEPSelections_Counter_NbInstancesOfShells(self, *args)

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

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

        """
        return _STEPSelections.STEPSelections_Counter_NbInstancesOfSolids(self, *args)

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

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

        """
        return _STEPSelections.STEPSelections_Counter_NbInstancesOfWires(self, *args)

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

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

        """
        return _STEPSelections.STEPSelections_Counter_NbSourceEdges(self, *args)

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

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

        """
        return _STEPSelections.STEPSelections_Counter_NbSourceFaces(self, *args)

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

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

        """
        return _STEPSelections.STEPSelections_Counter_NbSourceShells(self, *args)

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

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

        """
        return _STEPSelections.STEPSelections_Counter_NbSourceSolids(self, *args)

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

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

        """
        return _STEPSelections.STEPSelections_Counter_NbSourceWires(self, *args)

    __repr__ = _dumps_object

    @methodnotwrapped
    def POP(self):
    	pass

    @methodnotwrapped
    def POP2(self):
    	pass

    __swig_destroy__ = _STEPSelections.delete_STEPSelections_Counter

# Register STEPSelections_Counter in _STEPSelections:
_STEPSelections.STEPSelections_Counter_swigregister(STEPSelections_Counter)
class STEPSelections_SelectAssembly(OCC.Core.IFSelect.IFSelect_SelectExplore):
    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
        -----------
        No available documentation.

        """
        _STEPSelections.STEPSelections_SelectAssembly_swiginit(self, _STEPSelections.new_STEPSelections_SelectAssembly(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _STEPSelections.delete_STEPSelections_SelectAssembly

# Register STEPSelections_SelectAssembly in _STEPSelections:
_STEPSelections.STEPSelections_SelectAssembly_swigregister(STEPSelections_SelectAssembly)
class STEPSelections_SelectDerived(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
        -----------
        No available documentation.

        """
        _STEPSelections.STEPSelections_SelectDerived_swiginit(self, _STEPSelections.new_STEPSelections_SelectDerived(*args))

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

        Parameters
        ----------
        ent: Standard_Transient
        model: Interface_InterfaceModel
        text: str
        exact: bool

        Return
        -------
        bool

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

        """
        return _STEPSelections.STEPSelections_SelectDerived_Matches(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _STEPSelections.delete_STEPSelections_SelectDerived

# Register STEPSelections_SelectDerived in _STEPSelections:
_STEPSelections.STEPSelections_SelectDerived_swigregister(STEPSelections_SelectDerived)
class STEPSelections_SelectFaces(OCC.Core.IFSelect.IFSelect_SelectExplore):
    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
        -----------
        No available documentation.

        """
        _STEPSelections.STEPSelections_SelectFaces_swiginit(self, _STEPSelections.new_STEPSelections_SelectFaces(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _STEPSelections.delete_STEPSelections_SelectFaces

# Register STEPSelections_SelectFaces in _STEPSelections:
_STEPSelections.STEPSelections_SelectFaces_swigregister(STEPSelections_SelectFaces)
class STEPSelections_SelectForTransfer(OCC.Core.XSControl.XSControl_SelectForTransfer):
    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
        -----------
        No available documentation.

        Parameters
        ----------
        TR: XSControl_TransferReader

        Return
        -------
        None

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

        """
        _STEPSelections.STEPSelections_SelectForTransfer_swiginit(self, _STEPSelections.new_STEPSelections_SelectForTransfer(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _STEPSelections.delete_STEPSelections_SelectForTransfer

# Register STEPSelections_SelectForTransfer in _STEPSelections:
_STEPSelections.STEPSelections_SelectForTransfer_swigregister(STEPSelections_SelectForTransfer)
class STEPSelections_SelectGSCurves(OCC.Core.IFSelect.IFSelect_SelectExplore):
    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
        -----------
        No available documentation.

        """
        _STEPSelections.STEPSelections_SelectGSCurves_swiginit(self, _STEPSelections.new_STEPSelections_SelectGSCurves(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _STEPSelections.delete_STEPSelections_SelectGSCurves

# Register STEPSelections_SelectGSCurves in _STEPSelections:
_STEPSelections.STEPSelections_SelectGSCurves_swigregister(STEPSelections_SelectGSCurves)
class STEPSelections_SelectInstances(OCC.Core.IFSelect.IFSelect_SelectExplore):
    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
        -----------
        No available documentation.

        """
        _STEPSelections.STEPSelections_SelectInstances_swiginit(self, _STEPSelections.new_STEPSelections_SelectInstances(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _STEPSelections.delete_STEPSelections_SelectInstances

# Register STEPSelections_SelectInstances in _STEPSelections:
_STEPSelections.STEPSelections_SelectInstances_swigregister(STEPSelections_SelectInstances)
class STEPSelections_HSequenceOfAssemblyLink(STEPSelections_SequenceOfAssemblyLink, 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

    def __init__(self, *args):
        _STEPSelections.STEPSelections_HSequenceOfAssemblyLink_swiginit(self, _STEPSelections.new_STEPSelections_HSequenceOfAssemblyLink(*args))

    def Sequence(self):
        return _STEPSelections.STEPSelections_HSequenceOfAssemblyLink_Sequence(self)

    def Append(self, *args):
        return _STEPSelections.STEPSelections_HSequenceOfAssemblyLink_Append(self, *args)

    def ChangeSequence(self):
        return _STEPSelections.STEPSelections_HSequenceOfAssemblyLink_ChangeSequence(self)


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

    __swig_destroy__ = _STEPSelections.delete_STEPSelections_HSequenceOfAssemblyLink

# Register STEPSelections_HSequenceOfAssemblyLink in _STEPSelections:
_STEPSelections.STEPSelections_HSequenceOfAssemblyLink_swigregister(STEPSelections_HSequenceOfAssemblyLink)



