# This file was automatically generated by SWIG (https://www.swig.org).
# Version 4.2.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://www.opencascade.com/doc/occt-7.7.0/refman/html/package_stepselections.html
"""

from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if __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)

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.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.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, theOther):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyComponent_Set(self, theOther)

    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, theOther):
        return _STEPSelections.STEPSelections_SequenceOfAssemblyLink_Set(self, theOther)

    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 DumpToString(self):
        r"""DumpToString(STEPSelections_AssemblyExplorer self) -> std::string"""
        return _STEPSelections.STEPSelections_AssemblyExplorer_DumpToString(self)

    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)



