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

"""
TransferBRep module, see official documentation at
https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_transferbrep.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 _TransferBRep
else:
    import _TransferBRep

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

    def value(self) -> "PyObject *":
        return _TransferBRep.SwigPyIterator_value(self)

    def incr(self, n: "size_t"=1) -> "swig::SwigPyIterator *":
        return _TransferBRep.SwigPyIterator_incr(self, n)

    def decr(self, n: "size_t"=1) -> "swig::SwigPyIterator *":
        return _TransferBRep.SwigPyIterator_decr(self, n)

    def distance(self, x: "SwigPyIterator") -> "ptrdiff_t":
        return _TransferBRep.SwigPyIterator_distance(self, x)

    def equal(self, x: "SwigPyIterator") -> "bool":
        return _TransferBRep.SwigPyIterator_equal(self, x)

    def copy(self) -> "swig::SwigPyIterator *":
        return _TransferBRep.SwigPyIterator_copy(self)

    def next(self) -> "PyObject *":
        return _TransferBRep.SwigPyIterator_next(self)

    def __next__(self) -> "PyObject *":
        return _TransferBRep.SwigPyIterator___next__(self)

    def previous(self) -> "PyObject *":
        return _TransferBRep.SwigPyIterator_previous(self)

    def advance(self, n: "ptrdiff_t") -> "swig::SwigPyIterator *":
        return _TransferBRep.SwigPyIterator_advance(self, n)

    def __eq__(self, x: "SwigPyIterator") -> "bool":
        return _TransferBRep.SwigPyIterator___eq__(self, x)

    def __ne__(self, x: "SwigPyIterator") -> "bool":
        return _TransferBRep.SwigPyIterator___ne__(self, x)

    def __iadd__(self, n: "ptrdiff_t") -> "swig::SwigPyIterator &":
        return _TransferBRep.SwigPyIterator___iadd__(self, n)

    def __isub__(self, n: "ptrdiff_t") -> "swig::SwigPyIterator &":
        return _TransferBRep.SwigPyIterator___isub__(self, n)

    def __add__(self, n: "ptrdiff_t") -> "swig::SwigPyIterator *":
        return _TransferBRep.SwigPyIterator___add__(self, n)

    def __sub__(self, *args) -> "ptrdiff_t":
        return _TransferBRep.SwigPyIterator___sub__(self, *args)
    def __iter__(self):
        return self

# Register SwigPyIterator in _TransferBRep:
_TransferBRep.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: "Standard_Failure", method_name: "std::string", class_name: "std::string") -> "void":
    return _TransferBRep.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.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.TopTools
import OCC.Core.Transfer

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




def Handle_TransferBRep_BinderOfShape_Create() -> "opencascade::handle< TransferBRep_BinderOfShape >":
    return _TransferBRep.Handle_TransferBRep_BinderOfShape_Create()

def Handle_TransferBRep_BinderOfShape_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TransferBRep_BinderOfShape >":
    return _TransferBRep.Handle_TransferBRep_BinderOfShape_DownCast(t)

def Handle_TransferBRep_BinderOfShape_IsNull(t: "opencascade::handle< TransferBRep_BinderOfShape > const &") -> "bool":
    return _TransferBRep.Handle_TransferBRep_BinderOfShape_IsNull(t)

def Handle_TransferBRep_OrientedShapeMapper_Create() -> "opencascade::handle< TransferBRep_OrientedShapeMapper >":
    return _TransferBRep.Handle_TransferBRep_OrientedShapeMapper_Create()

def Handle_TransferBRep_OrientedShapeMapper_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TransferBRep_OrientedShapeMapper >":
    return _TransferBRep.Handle_TransferBRep_OrientedShapeMapper_DownCast(t)

def Handle_TransferBRep_OrientedShapeMapper_IsNull(t: "opencascade::handle< TransferBRep_OrientedShapeMapper > const &") -> "bool":
    return _TransferBRep.Handle_TransferBRep_OrientedShapeMapper_IsNull(t)

def Handle_TransferBRep_ShapeListBinder_Create() -> "opencascade::handle< TransferBRep_ShapeListBinder >":
    return _TransferBRep.Handle_TransferBRep_ShapeListBinder_Create()

def Handle_TransferBRep_ShapeListBinder_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TransferBRep_ShapeListBinder >":
    return _TransferBRep.Handle_TransferBRep_ShapeListBinder_DownCast(t)

def Handle_TransferBRep_ShapeListBinder_IsNull(t: "opencascade::handle< TransferBRep_ShapeListBinder > const &") -> "bool":
    return _TransferBRep.Handle_TransferBRep_ShapeListBinder_IsNull(t)

def Handle_TransferBRep_ShapeMapper_Create() -> "opencascade::handle< TransferBRep_ShapeMapper >":
    return _TransferBRep.Handle_TransferBRep_ShapeMapper_Create()

def Handle_TransferBRep_ShapeMapper_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TransferBRep_ShapeMapper >":
    return _TransferBRep.Handle_TransferBRep_ShapeMapper_DownCast(t)

def Handle_TransferBRep_ShapeMapper_IsNull(t: "opencascade::handle< TransferBRep_ShapeMapper > const &") -> "bool":
    return _TransferBRep.Handle_TransferBRep_ShapeMapper_IsNull(t)

def Handle_TransferBRep_TransferResultInfo_Create() -> "opencascade::handle< TransferBRep_TransferResultInfo >":
    return _TransferBRep.Handle_TransferBRep_TransferResultInfo_Create()

def Handle_TransferBRep_TransferResultInfo_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TransferBRep_TransferResultInfo >":
    return _TransferBRep.Handle_TransferBRep_TransferResultInfo_DownCast(t)

def Handle_TransferBRep_TransferResultInfo_IsNull(t: "opencascade::handle< TransferBRep_TransferResultInfo > const &") -> "bool":
    return _TransferBRep.Handle_TransferBRep_TransferResultInfo_IsNull(t)

def Handle_TransferBRep_ShapeBinder_Create() -> "opencascade::handle< TransferBRep_ShapeBinder >":
    return _TransferBRep.Handle_TransferBRep_ShapeBinder_Create()

def Handle_TransferBRep_ShapeBinder_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TransferBRep_ShapeBinder >":
    return _TransferBRep.Handle_TransferBRep_ShapeBinder_DownCast(t)

def Handle_TransferBRep_ShapeBinder_IsNull(t: "opencascade::handle< TransferBRep_ShapeBinder > const &") -> "bool":
    return _TransferBRep.Handle_TransferBRep_ShapeBinder_IsNull(t)

def Handle_TransferBRep_HSequenceOfTransferResultInfo_Create() -> "opencascade::handle< TransferBRep_HSequenceOfTransferResultInfo >":
    return _TransferBRep.Handle_TransferBRep_HSequenceOfTransferResultInfo_Create()

def Handle_TransferBRep_HSequenceOfTransferResultInfo_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TransferBRep_HSequenceOfTransferResultInfo >":
    return _TransferBRep.Handle_TransferBRep_HSequenceOfTransferResultInfo_DownCast(t)

def Handle_TransferBRep_HSequenceOfTransferResultInfo_IsNull(t: "opencascade::handle< TransferBRep_HSequenceOfTransferResultInfo > const &") -> "bool":
    return _TransferBRep.Handle_TransferBRep_HSequenceOfTransferResultInfo_IsNull(t)
class TransferBRep_SequenceOfTransferResultInfo(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) -> "NCollection_Sequence< opencascade::handle< TransferBRep_TransferResultInfo > >::iterator":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_begin(self)

    def end(self) -> "NCollection_Sequence< opencascade::handle< TransferBRep_TransferResultInfo > >::iterator":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_end(self)

    def cbegin(self) -> "NCollection_Sequence< opencascade::handle< TransferBRep_TransferResultInfo > >::const_iterator":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_cbegin(self)

    def cend(self) -> "NCollection_Sequence< opencascade::handle< TransferBRep_TransferResultInfo > >::const_iterator":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_cend(self)

    def __init__(self, *args):
        _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_swiginit(self, _TransferBRep.new_TransferBRep_SequenceOfTransferResultInfo(*args))

    def Size(self) -> "Standard_Integer":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_Size(self)

    def Length(self) -> "Standard_Integer":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_IsEmpty(self)

    def Reverse(self) -> "void":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_Reverse(self)

    def Exchange(self, I: "Standard_Integer const", J: "Standard_Integer const") -> "void":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_delNode(theNode, theAl)

    def Clear(self, theAllocator: "opencascade::handle< NCollection_BaseAllocator > const &"=0) -> "void":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_Clear(self, theAllocator)

    def Assign(self, theOther: "TransferBRep_SequenceOfTransferResultInfo") -> "NCollection_Sequence< opencascade::handle< TransferBRep_TransferResultInfo > > &":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_Assign(self, theOther)

    def Set(self, theOther: "TransferBRep_SequenceOfTransferResultInfo") -> "NCollection_Sequence< opencascade::handle< TransferBRep_TransferResultInfo > > &":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "TransferBRep_SequenceOfTransferResultInfo") -> "void":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_Split(self, theIndex, theSeq)

    def First(self) -> "opencascade::handle< TransferBRep_TransferResultInfo > const &":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_First(self)

    def ChangeFirst(self) -> "opencascade::handle< TransferBRep_TransferResultInfo > &":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_ChangeFirst(self)

    def Last(self) -> "opencascade::handle< TransferBRep_TransferResultInfo > const &":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_Last(self)

    def ChangeLast(self) -> "opencascade::handle< TransferBRep_TransferResultInfo > &":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "opencascade::handle< TransferBRep_TransferResultInfo > const &":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "opencascade::handle< TransferBRep_TransferResultInfo > &":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "opencascade::handle< TransferBRep_TransferResultInfo > &":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "opencascade::handle< TransferBRep_TransferResultInfo > const &") -> "void":
        return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _TransferBRep.delete_TransferBRep_SequenceOfTransferResultInfo

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


# Register TransferBRep_SequenceOfTransferResultInfo in _TransferBRep:
_TransferBRep.TransferBRep_SequenceOfTransferResultInfo_swigregister(TransferBRep_SequenceOfTransferResultInfo)

def TransferBRep_SequenceOfTransferResultInfo_delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
    return _TransferBRep.TransferBRep_SequenceOfTransferResultInfo_delNode(theNode, theAl)

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

    @staticmethod
    def CheckObject(*args) -> "Interface_CheckIterator":
        r"""
        Returns the check-list bound to a given object, generally none (if ok) or one check. <obj> can be, either a true transient object or entity, or a shapemapper, in that case the shape is considered.

        Parameters
        ----------
        chl: Interface_CheckIterator
        obj: Standard_Transient

        Returns
        -------
        Interface_CheckIterator

        """
        return _TransferBRep.transferbrep_CheckObject(*args)

    @staticmethod
    def Checked(*args) -> "opencascade::handle< TColStd_HSequenceOfTransient >":
        r"""
        Returns the list of objects to which a non-empty check is bound in a check-list. objects are transients, they can then be either imagine objects entities for an interface norm. <alsoshapes> commands shapes to be returned too (as shapemapper), see also checkedshapes.

        Parameters
        ----------
        chl: Interface_CheckIterator
        alsoshapes: bool,optional
        	default value is Standard_False

        Returns
        -------
        opencascade::handle<TColStd_HSequenceOfTransient>

        """
        return _TransferBRep.transferbrep_Checked(*args)

    @staticmethod
    def CheckedShapes(*args) -> "opencascade::handle< TopTools_HSequenceOfShape >":
        r"""
        Returns the list of shapes to which a non-empty check is bound in a check-list.

        Parameters
        ----------
        chl: Interface_CheckIterator

        Returns
        -------
        opencascade::handle<TopTools_HSequenceOfShape>

        """
        return _TransferBRep.transferbrep_CheckedShapes(*args)

    @staticmethod
    def PrintResultInfo(*args) -> "void":
        r"""
        Prints the results of transfer to given priner with given header.

        Parameters
        ----------
        Printer: Message_Printer
        Header: Message_Msg
        ResultInfo: TransferBRep_TransferResultInfo
        printEmpty: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _TransferBRep.transferbrep_PrintResultInfo(*args)

    @staticmethod
    def ResultCheckList(*args) -> "Interface_CheckIterator":
        r"""
        Takes a starting checkiterator which brings checks bound with starting objects (shapes, transient from an imagine appli ...) and converts it to a checkiterator in which checks are bound with results in an interfacemodel mapping is recorded in the finderprocess starting objects for which no individual result is recorded remain in their state.

        Parameters
        ----------
        chl: Interface_CheckIterator
        FP: Transfer_FinderProcess
        model: Interface_InterfaceModel

        Returns
        -------
        Interface_CheckIterator

        """
        return _TransferBRep.transferbrep_ResultCheckList(*args)

    @staticmethod
    def ResultFromShape(*args) -> "opencascade::handle< Transfer_Binder >":
        r"""
        Returns the result (as a binder) attached to a given shape null if none.

        Parameters
        ----------
        FP: Transfer_FinderProcess
        shape: TopoDS_Shape

        Returns
        -------
        opencascade::handle<Transfer_Binder>

        """
        return _TransferBRep.transferbrep_ResultFromShape(*args)

    @staticmethod
    def SetShapeResult(*args) -> "void":
        r"""
        Sets a shape as a result for a starting entity <ent> (reverse of shaperesult) it simply creates a shapebinder then binds it to the entity.

        Parameters
        ----------
        TP: Transfer_TransientProcess
        ent: Standard_Transient
        result: TopoDS_Shape

        Returns
        -------
        None

        """
        return _TransferBRep.transferbrep_SetShapeResult(*args)

    @staticmethod
    def SetTransientFromShape(*args) -> "void":
        r"""
        Binds a transient result to a shape in a finderprocess (as first result if multiple : does not add it to existing one).

        Parameters
        ----------
        FP: Transfer_FinderProcess
        shape: TopoDS_Shape
        result: Standard_Transient

        Returns
        -------
        None

        """
        return _TransferBRep.transferbrep_SetTransientFromShape(*args)

    @staticmethod
    def ShapeMapper(*args) -> "opencascade::handle< TransferBRep_ShapeMapper >":
        r"""
        Returns a shapemapper for a given shape (location included) either <shape> is already mapped, then its mapper is returned or it is not, then a new one is created then returned, but it is not mapped here (use bind or findelsebind to do this).

        Parameters
        ----------
        FP: Transfer_FinderProcess
        shape: TopoDS_Shape

        Returns
        -------
        opencascade::handle<TransferBRep_ShapeMapper>

        """
        return _TransferBRep.transferbrep_ShapeMapper(*args)

    @staticmethod
    def ShapeResult(*args) -> "TopoDS_Shape":
        r"""
        Get the shape recorded in a binder if the binder brings a multiple result, search for the shape.

        Parameters
        ----------
        binder: Transfer_Binder

        Returns
        -------
        TopoDS_Shape
        Get the shape recorded in a transientprocess as result of the transfer of an entity. i.e. in the binder bound to that entity if no result or result not a single shape, returns a null shape.

        Parameters
        ----------
        TP: Transfer_TransientProcess
        ent: Standard_Transient

        Returns
        -------
        TopoDS_Shape

        """
        return _TransferBRep.transferbrep_ShapeResult(*args)

    @staticmethod
    def ShapeState(*args) -> "TopAbs_Orientation":
        r"""
        Returns a status regarding a shape in a finderprocess - forward means bound with same orientation - reversed means bound with reverse orientation - external means not bound - internal is not used.

        Parameters
        ----------
        FP: Transfer_FinderProcess
        shape: TopoDS_Shape

        Returns
        -------
        TopAbs_Orientation

        """
        return _TransferBRep.transferbrep_ShapeState(*args)

    @staticmethod
    def Shapes(*args) -> "opencascade::handle< TopTools_HSequenceOfShape >":
        r"""
        Gets the shapes recorded in a transientprocess as result of a transfer, considers roots only or all results according <rootsonly>, returns them as a hsequence.

        Parameters
        ----------
        TP: Transfer_TransientProcess
        rootsonly: bool,optional
        	default value is Standard_True

        Returns
        -------
        opencascade::handle<TopTools_HSequenceOfShape>
        Gets the shapes recorded in a transientprocess as result of a transfer, for a given list of starting entities, returns the shapes as a hsequence.

        Parameters
        ----------
        TP: Transfer_TransientProcess
        list: TColStd_HSequenceOfTransient

        Returns
        -------
        opencascade::handle<TopTools_HSequenceOfShape>

        """
        return _TransferBRep.transferbrep_Shapes(*args)

    @staticmethod
    def TransferResultInfo(*args) -> "void":
        r"""
        Fills sequence of transferresultinfo for each type of entity given in the entitytypes (entity are given as objects). method iskind applied to the entities in tp is used to compare with entities in entitytypes. topabs_shapeenum).

        Parameters
        ----------
        TP: Transfer_TransientProcess
        EntityTypes: TColStd_HSequenceOfTransient
        InfoSeq: TransferBRep_HSequenceOfTransferResultInfo

        Returns
        -------
        None
        Fills sequence of transferresultinfo for each type of shape given in the shapetypes (which are in fact considered as topabs_shapeenum). the finders in the fp are considered as shapemappers.

        Parameters
        ----------
        FP: Transfer_FinderProcess
        ShapeTypes: TColStd_HSequenceOfInteger
        InfoSeq: TransferBRep_HSequenceOfTransferResultInfo

        Returns
        -------
        None

        """
        return _TransferBRep.transferbrep_TransferResultInfo(*args)

    @staticmethod
    def TransientFromShape(*args) -> "opencascade::handle< Standard_Transient >":
        r"""
        Returns the result as pure transient attached to a shape first one if multiple result.

        Parameters
        ----------
        FP: Transfer_FinderProcess
        shape: TopoDS_Shape

        Returns
        -------
        opencascade::handle<Standard_Transient>

        """
        return _TransferBRep.transferbrep_TransientFromShape(*args)

    __repr__ = _dumps_object

    @methodnotwrapped
    def BRepCheck(self):
    	pass


    def __init__(self):
        _TransferBRep.transferbrep_swiginit(self, _TransferBRep.new_transferbrep())
    __swig_destroy__ = _TransferBRep.delete_transferbrep

# Register transferbrep in _TransferBRep:
_TransferBRep.transferbrep_swigregister(transferbrep)

def transferbrep_CheckObject(*args) -> "Interface_CheckIterator":
    r"""
    Returns the check-list bound to a given object, generally none (if ok) or one check. <obj> can be, either a true transient object or entity, or a shapemapper, in that case the shape is considered.

    Parameters
    ----------
    chl: Interface_CheckIterator
    obj: Standard_Transient

    Returns
    -------
    Interface_CheckIterator

    """
    return _TransferBRep.transferbrep_CheckObject(*args)

def transferbrep_Checked(*args) -> "opencascade::handle< TColStd_HSequenceOfTransient >":
    r"""
    Returns the list of objects to which a non-empty check is bound in a check-list. objects are transients, they can then be either imagine objects entities for an interface norm. <alsoshapes> commands shapes to be returned too (as shapemapper), see also checkedshapes.

    Parameters
    ----------
    chl: Interface_CheckIterator
    alsoshapes: bool,optional
    	default value is Standard_False

    Returns
    -------
    opencascade::handle<TColStd_HSequenceOfTransient>

    """
    return _TransferBRep.transferbrep_Checked(*args)

def transferbrep_CheckedShapes(*args) -> "opencascade::handle< TopTools_HSequenceOfShape >":
    r"""
    Returns the list of shapes to which a non-empty check is bound in a check-list.

    Parameters
    ----------
    chl: Interface_CheckIterator

    Returns
    -------
    opencascade::handle<TopTools_HSequenceOfShape>

    """
    return _TransferBRep.transferbrep_CheckedShapes(*args)

def transferbrep_PrintResultInfo(*args) -> "void":
    r"""
    Prints the results of transfer to given priner with given header.

    Parameters
    ----------
    Printer: Message_Printer
    Header: Message_Msg
    ResultInfo: TransferBRep_TransferResultInfo
    printEmpty: bool,optional
    	default value is Standard_True

    Returns
    -------
    None

    """
    return _TransferBRep.transferbrep_PrintResultInfo(*args)

def transferbrep_ResultCheckList(*args) -> "Interface_CheckIterator":
    r"""
    Takes a starting checkiterator which brings checks bound with starting objects (shapes, transient from an imagine appli ...) and converts it to a checkiterator in which checks are bound with results in an interfacemodel mapping is recorded in the finderprocess starting objects for which no individual result is recorded remain in their state.

    Parameters
    ----------
    chl: Interface_CheckIterator
    FP: Transfer_FinderProcess
    model: Interface_InterfaceModel

    Returns
    -------
    Interface_CheckIterator

    """
    return _TransferBRep.transferbrep_ResultCheckList(*args)

def transferbrep_ResultFromShape(*args) -> "opencascade::handle< Transfer_Binder >":
    r"""
    Returns the result (as a binder) attached to a given shape null if none.

    Parameters
    ----------
    FP: Transfer_FinderProcess
    shape: TopoDS_Shape

    Returns
    -------
    opencascade::handle<Transfer_Binder>

    """
    return _TransferBRep.transferbrep_ResultFromShape(*args)

def transferbrep_SetShapeResult(*args) -> "void":
    r"""
    Sets a shape as a result for a starting entity <ent> (reverse of shaperesult) it simply creates a shapebinder then binds it to the entity.

    Parameters
    ----------
    TP: Transfer_TransientProcess
    ent: Standard_Transient
    result: TopoDS_Shape

    Returns
    -------
    None

    """
    return _TransferBRep.transferbrep_SetShapeResult(*args)

def transferbrep_SetTransientFromShape(*args) -> "void":
    r"""
    Binds a transient result to a shape in a finderprocess (as first result if multiple : does not add it to existing one).

    Parameters
    ----------
    FP: Transfer_FinderProcess
    shape: TopoDS_Shape
    result: Standard_Transient

    Returns
    -------
    None

    """
    return _TransferBRep.transferbrep_SetTransientFromShape(*args)

def transferbrep_ShapeMapper(*args) -> "opencascade::handle< TransferBRep_ShapeMapper >":
    r"""
    Returns a shapemapper for a given shape (location included) either <shape> is already mapped, then its mapper is returned or it is not, then a new one is created then returned, but it is not mapped here (use bind or findelsebind to do this).

    Parameters
    ----------
    FP: Transfer_FinderProcess
    shape: TopoDS_Shape

    Returns
    -------
    opencascade::handle<TransferBRep_ShapeMapper>

    """
    return _TransferBRep.transferbrep_ShapeMapper(*args)

def transferbrep_ShapeResult(*args) -> "TopoDS_Shape":
    r"""
    Get the shape recorded in a binder if the binder brings a multiple result, search for the shape.

    Parameters
    ----------
    binder: Transfer_Binder

    Returns
    -------
    TopoDS_Shape
    Get the shape recorded in a transientprocess as result of the transfer of an entity. i.e. in the binder bound to that entity if no result or result not a single shape, returns a null shape.

    Parameters
    ----------
    TP: Transfer_TransientProcess
    ent: Standard_Transient

    Returns
    -------
    TopoDS_Shape

    """
    return _TransferBRep.transferbrep_ShapeResult(*args)

def transferbrep_ShapeState(*args) -> "TopAbs_Orientation":
    r"""
    Returns a status regarding a shape in a finderprocess - forward means bound with same orientation - reversed means bound with reverse orientation - external means not bound - internal is not used.

    Parameters
    ----------
    FP: Transfer_FinderProcess
    shape: TopoDS_Shape

    Returns
    -------
    TopAbs_Orientation

    """
    return _TransferBRep.transferbrep_ShapeState(*args)

def transferbrep_Shapes(*args) -> "opencascade::handle< TopTools_HSequenceOfShape >":
    r"""
    Gets the shapes recorded in a transientprocess as result of a transfer, considers roots only or all results according <rootsonly>, returns them as a hsequence.

    Parameters
    ----------
    TP: Transfer_TransientProcess
    rootsonly: bool,optional
    	default value is Standard_True

    Returns
    -------
    opencascade::handle<TopTools_HSequenceOfShape>
    Gets the shapes recorded in a transientprocess as result of a transfer, for a given list of starting entities, returns the shapes as a hsequence.

    Parameters
    ----------
    TP: Transfer_TransientProcess
    list: TColStd_HSequenceOfTransient

    Returns
    -------
    opencascade::handle<TopTools_HSequenceOfShape>

    """
    return _TransferBRep.transferbrep_Shapes(*args)

def transferbrep_TransferResultInfo(*args) -> "void":
    r"""
    Fills sequence of transferresultinfo for each type of entity given in the entitytypes (entity are given as objects). method iskind applied to the entities in tp is used to compare with entities in entitytypes. topabs_shapeenum).

    Parameters
    ----------
    TP: Transfer_TransientProcess
    EntityTypes: TColStd_HSequenceOfTransient
    InfoSeq: TransferBRep_HSequenceOfTransferResultInfo

    Returns
    -------
    None
    Fills sequence of transferresultinfo for each type of shape given in the shapetypes (which are in fact considered as topabs_shapeenum). the finders in the fp are considered as shapemappers.

    Parameters
    ----------
    FP: Transfer_FinderProcess
    ShapeTypes: TColStd_HSequenceOfInteger
    InfoSeq: TransferBRep_HSequenceOfTransferResultInfo

    Returns
    -------
    None

    """
    return _TransferBRep.transferbrep_TransferResultInfo(*args)

def transferbrep_TransientFromShape(*args) -> "opencascade::handle< Standard_Transient >":
    r"""
    Returns the result as pure transient attached to a shape first one if multiple result.

    Parameters
    ----------
    FP: Transfer_FinderProcess
    shape: TopoDS_Shape

    Returns
    -------
    opencascade::handle<Standard_Transient>

    """
    return _TransferBRep.transferbrep_TransientFromShape(*args)

class TransferBRep_BinderOfShape(OCC.Core.Transfer.Transfer_Binder):
    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"""
        Normal standard constructor, creates an empty binderofshape.

        Returns
        -------
        None
        Constructor which in the same time defines the result returns true if a starting object is bound with several results : here, returns allways false but it can have next results.

        Parameters
        ----------
        res: TopoDS_Shape

        Returns
        -------
        None

        """
        _TransferBRep.TransferBRep_BinderOfShape_swiginit(self, _TransferBRep.new_TransferBRep_BinderOfShape(*args))

    def CResult(self, *args) -> "TopoDS_Shape":
        r"""
        Returns the defined result, if there is one, and allows to change it (avoids result + setresult). admits that result can be not yet defined warning : a call to cresult causes result to be known as defined.

        Returns
        -------
        TopoDS_Shape

        """
        return _TransferBRep.TransferBRep_BinderOfShape_CResult(self, *args)

    def Result(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns the defined result, if there is one.

        Returns
        -------
        TopoDS_Shape

        """
        return _TransferBRep.TransferBRep_BinderOfShape_Result(self, *args)

    def SetResult(self, *args) -> "void":
        r"""
        Defines the result.

        Parameters
        ----------
        res: TopoDS_Shape

        Returns
        -------
        None

        """
        return _TransferBRep.TransferBRep_BinderOfShape_SetResult(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TransferBRep.delete_TransferBRep_BinderOfShape

# Register TransferBRep_BinderOfShape in _TransferBRep:
_TransferBRep.TransferBRep_BinderOfShape_swigregister(TransferBRep_BinderOfShape)

class TransferBRep_OrientedShapeMapper(OCC.Core.Transfer.Transfer_Finder):
    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"""
        Creates a mapper with a value. this value can then not be changed. it is used by the hasher to compute the hashcode, which will then be stored for an immediate reading.

        Parameters
        ----------
        akey: TopoDS_Shape

        Returns
        -------
        None

        """
        _TransferBRep.TransferBRep_OrientedShapeMapper_swiginit(self, _TransferBRep.new_TransferBRep_OrientedShapeMapper(*args))

    def Value(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns the contained value.

        Returns
        -------
        TopoDS_Shape

        """
        return _TransferBRep.TransferBRep_OrientedShapeMapper_Value(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TransferBRep.delete_TransferBRep_OrientedShapeMapper

# Register TransferBRep_OrientedShapeMapper in _TransferBRep:
_TransferBRep.TransferBRep_OrientedShapeMapper_swigregister(TransferBRep_OrientedShapeMapper)

class TransferBRep_Reader(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"""
        Initializes a non-specialised reader. typically, for each norm or protocol, is will be required to define a specific create to load a file and transfer it.

        Returns
        -------
        None

        """
        _TransferBRep.TransferBRep_Reader_swiginit(self, _TransferBRep.new_TransferBRep_Reader(*args))

    def Actor(self, *args) -> "opencascade::handle< Transfer_ActorOfTransientProcess >":
        r"""
        Returns the recorded actor.

        Returns
        -------
        opencascade::handle<Transfer_ActorOfTransientProcess>

        """
        return _TransferBRep.TransferBRep_Reader_Actor(self, *args)

    def BeginTransfer(self, *args) -> "Standard_Boolean":
        r"""
        Initializes the reader for a transfer (one,roots, or list) also calls preparetransfer returns true when done, false if could not be done.

        Returns
        -------
        bool

        """
        return _TransferBRep.TransferBRep_Reader_BeginTransfer(self, *args)

    def CheckListModel(self, *args) -> "Interface_CheckIterator":
        r"""
        Checks the model (complete : syntax + semantic) and returns the produced check list.

        Returns
        -------
        Interface_CheckIterator

        """
        return _TransferBRep.TransferBRep_Reader_CheckListModel(self, *args)

    def CheckListResult(self, *args) -> "Interface_CheckIterator":
        r"""
        Checks the result of last transfer (individual or roots, no cumulation on several transfers) and returns the produced list.

        Returns
        -------
        Interface_CheckIterator

        """
        return _TransferBRep.TransferBRep_Reader_CheckListResult(self, *args)

    def CheckStatusModel(self, *args) -> "Standard_Boolean":
        r"""
        Checks the model. returns true if there is no fail at all (regardless warnings) if <withprint> is true, also sends checks on standard output.

        Parameters
        ----------
        withprint: bool

        Returns
        -------
        bool

        """
        return _TransferBRep.TransferBRep_Reader_CheckStatusModel(self, *args)

    def CheckStatusResult(self, *args) -> "Standard_Boolean":
        r"""
        Checks the result of last transfer (individual or roots, no cumulation on several transfers). returns true if no fail occured during transfer (queries the transientprocess).

        Parameters
        ----------
        withprints: bool

        Returns
        -------
        bool

        """
        return _TransferBRep.TransferBRep_Reader_CheckStatusResult(self, *args)

    def Clear(self, *args) -> "void":
        r"""
        Clears the result and done status. but not the model.

        Returns
        -------
        None

        """
        return _TransferBRep.TransferBRep_Reader_Clear(self, *args)

    def EndTransfer(self, *args) -> "void":
        r"""
        Ebds a transfer (one, roots or list) by recording its result.

        Returns
        -------
        None

        """
        return _TransferBRep.TransferBRep_Reader_EndTransfer(self, *args)

    def FileNotFound(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if filestatus is for filenotfound.

        Returns
        -------
        bool

        """
        return _TransferBRep.TransferBRep_Reader_FileNotFound(self, *args)

    def FileStatus(self, *args) -> "Standard_Integer":
        r"""
        Returns the file status.

        Returns
        -------
        int

        """
        return _TransferBRep.TransferBRep_Reader_FileStatus(self, *args)

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the last transfer/transferroots was a success.

        Returns
        -------
        bool

        """
        return _TransferBRep.TransferBRep_Reader_IsDone(self, *args)

    def GetModeNewTransfer(self) -> "Standard_Boolean":
        r"""GetModeNewTransfer(TransferBRep_Reader self) -> Standard_Boolean"""
        return _TransferBRep.TransferBRep_Reader_GetModeNewTransfer(self)

    def SetModeNewTransfer(self, value: "Standard_Boolean") -> "void":
        r"""SetModeNewTransfer(TransferBRep_Reader self, Standard_Boolean value)"""
        return _TransferBRep.TransferBRep_Reader_SetModeNewTransfer(self, value)

    def Model(self, *args) -> "opencascade::handle< Interface_InterfaceModel >":
        r"""
        Returns the model to be worked on.

        Returns
        -------
        opencascade::handle<Interface_InterfaceModel>

        """
        return _TransferBRep.TransferBRep_Reader_Model(self, *args)

    def NbShapes(self, *args) -> "Standard_Integer":
        r"""
        Returns the count of produced shapes (roots).

        Returns
        -------
        int

        """
        return _TransferBRep.TransferBRep_Reader_NbShapes(self, *args)

    def NbTransients(self, *args) -> "Standard_Integer":
        r"""
        Returns the count of produced transient results (roots).

        Returns
        -------
        int

        """
        return _TransferBRep.TransferBRep_Reader_NbTransients(self, *args)

    def OneShape(self, *args) -> "TopoDS_Shape":
        r"""
        Returns a unique shape for the result : - a void shape (type = shape) if result is empty - a simple shape if result has only one : returns this one - a compound if result has more than one shape.

        Returns
        -------
        TopoDS_Shape

        """
        return _TransferBRep.TransferBRep_Reader_OneShape(self, *args)

    def PrepareTransfer(self, *args) -> "void":
        r"""
        Prepares the transfer. also can act on the actor or change the transientprocess if required. should not set the actor into the transientprocess, it is done by caller. the provided default does nothing.

        Returns
        -------
        None

        """
        return _TransferBRep.TransferBRep_Reader_PrepareTransfer(self, *args)

    def Protocol(self, *args) -> "opencascade::handle< Interface_Protocol >":
        r"""
        Returns the recorded protocol.

        Returns
        -------
        opencascade::handle<Interface_Protocol>

        """
        return _TransferBRep.TransferBRep_Reader_Protocol(self, *args)

    def SetActor(self, *args) -> "void":
        r"""
        Records the actor to be used for transfers.

        Parameters
        ----------
        actor: Transfer_ActorOfTransientProcess

        Returns
        -------
        None

        """
        return _TransferBRep.TransferBRep_Reader_SetActor(self, *args)

    def SetFileStatus(self, *args) -> "void":
        r"""
        Sets file status to be interpreted as follows : = 0 ok < 0 file not found > 0 read error, no model could be created.

        Parameters
        ----------
        status: int

        Returns
        -------
        None

        """
        return _TransferBRep.TransferBRep_Reader_SetFileStatus(self, *args)

    def SetModel(self, *args) -> "void":
        r"""
        Specifies a model to work on also clears the result and done status.

        Parameters
        ----------
        model: Interface_InterfaceModel

        Returns
        -------
        None

        """
        return _TransferBRep.TransferBRep_Reader_SetModel(self, *args)

    def SetProtocol(self, *args) -> "void":
        r"""
        Records the protocol to be used for read and transfer roots.

        Parameters
        ----------
        protocol: Interface_Protocol

        Returns
        -------
        None

        """
        return _TransferBRep.TransferBRep_Reader_SetProtocol(self, *args)

    def Shape(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns a shape given its rank, by default the first one.

        Parameters
        ----------
        num: int,optional
        	default value is 1

        Returns
        -------
        TopoDS_Shape

        """
        return _TransferBRep.TransferBRep_Reader_Shape(self, *args)

    def ShapeResult(self, *args) -> "TopoDS_Shape":
        r"""
        Returns a shape produced from a given entity (if it was individually transferred or if an intermediate result is known). if no shape is bound with <ent>, returns a null shape warning : runs on the last call to transfer,transferroots,transferlist.

        Parameters
        ----------
        ent: Standard_Transient

        Returns
        -------
        TopoDS_Shape

        """
        return _TransferBRep.TransferBRep_Reader_ShapeResult(self, *args)

    def Shapes(self, *args) -> "opencascade::handle< TopTools_HSequenceOfShape >":
        r"""
        Returns the complete list of produced shapes.

        Returns
        -------
        opencascade::handle<TopTools_HSequenceOfShape>

        """
        return _TransferBRep.TransferBRep_Reader_Shapes(self, *args)

    def SyntaxError(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if filestatus is for error during read (major error; for local error, see checkmodel).

        Returns
        -------
        bool

        """
        return _TransferBRep.TransferBRep_Reader_SyntaxError(self, *args)

    def Transfer(self, *args) -> "Standard_Boolean":
        r"""
        Transfers an entity given its rank in the model (root or not) returns true if it is recognized as geom-topol. (but it can have failed : see isdone).

        Parameters
        ----------
        num: int
        theProgress: Message_ProgressRange,optional
        	default value is Message_ProgressRange()

        Returns
        -------
        bool

        """
        return _TransferBRep.TransferBRep_Reader_Transfer(self, *args)

    def TransferList(self, *args) -> "void":
        r"""
        Transfers a list of entities (only the ones also in the model) remark : former result is cleared.

        Parameters
        ----------
        list: TColStd_HSequenceOfTransient
        theProgress: Message_ProgressRange,optional
        	default value is Message_ProgressRange()

        Returns
        -------
        None

        """
        return _TransferBRep.TransferBRep_Reader_TransferList(self, *args)

    def TransferRoots(self, *args) -> "void":
        r"""
        Transfers all root entities which are recognized as geom-topol the result will be a list of shapes. this method calls user redefinable preparetransfer remark : former result is cleared.

        Parameters
        ----------
        theProgress: Message_ProgressRange,optional
        	default value is Message_ProgressRange()

        Returns
        -------
        None

        """
        return _TransferBRep.TransferBRep_Reader_TransferRoots(self, *args)

    def Transient(self, *args) -> "opencascade::handle< Standard_Transient >":
        r"""
        Returns a transient root result, given its rank (by default the first one).

        Parameters
        ----------
        num: int,optional
        	default value is 1

        Returns
        -------
        opencascade::handle<Standard_Transient>

        """
        return _TransferBRep.TransferBRep_Reader_Transient(self, *args)

    def TransientProcess(self, *args) -> "opencascade::handle< Transfer_TransientProcess >":
        r"""
        Returns the transientprocess. it records informations about the very last transfer done. null if no transfer yet done. can be used for queries more accurate than the default ones.

        Returns
        -------
        opencascade::handle<Transfer_TransientProcess>

        """
        return _TransferBRep.TransferBRep_Reader_TransientProcess(self, *args)

    def Transients(self, *args) -> "opencascade::handle< TColStd_HSequenceOfTransient >":
        r"""
        Returns the complete list of produced transient results.

        Returns
        -------
        opencascade::handle<TColStd_HSequenceOfTransient>

        """
        return _TransferBRep.TransferBRep_Reader_Transients(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TransferBRep.delete_TransferBRep_Reader

# Register TransferBRep_Reader in _TransferBRep:
_TransferBRep.TransferBRep_Reader_swigregister(TransferBRep_Reader)

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

    @staticmethod
    def Type(*args) -> "opencascade::handle< Standard_Type >":
        r"""
        Returns the type attached to an object here, tshape (shape has no dynamic type).

        Parameters
        ----------
        ent: TopoDS_Shape

        Returns
        -------
        opencascade::handle<Standard_Type>

        """
        return _TransferBRep.TransferBRep_ShapeInfo_Type(*args)

    @staticmethod
    def TypeName(*args) -> "char const *":
        r"""
        Returns type name (string) here, the true name of the type of a shape.

        Parameters
        ----------
        ent: TopoDS_Shape

        Returns
        -------
        char *

        """
        return _TransferBRep.TransferBRep_ShapeInfo_TypeName(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _TransferBRep.TransferBRep_ShapeInfo_swiginit(self, _TransferBRep.new_TransferBRep_ShapeInfo())
    __swig_destroy__ = _TransferBRep.delete_TransferBRep_ShapeInfo

# Register TransferBRep_ShapeInfo in _TransferBRep:
_TransferBRep.TransferBRep_ShapeInfo_swigregister(TransferBRep_ShapeInfo)

def TransferBRep_ShapeInfo_Type(*args) -> "opencascade::handle< Standard_Type >":
    r"""
    Returns the type attached to an object here, tshape (shape has no dynamic type).

    Parameters
    ----------
    ent: TopoDS_Shape

    Returns
    -------
    opencascade::handle<Standard_Type>

    """
    return _TransferBRep.TransferBRep_ShapeInfo_Type(*args)

def TransferBRep_ShapeInfo_TypeName(*args) -> "char const *":
    r"""
    Returns type name (string) here, the true name of the type of a shape.

    Parameters
    ----------
    ent: TopoDS_Shape

    Returns
    -------
    char *

    """
    return _TransferBRep.TransferBRep_ShapeInfo_TypeName(*args)

class TransferBRep_ShapeListBinder(OCC.Core.Transfer.Transfer_Binder):
    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"""
        No available documentation.

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        list: TopTools_HSequenceOfShape

        Returns
        -------
        None

        """
        _TransferBRep.TransferBRep_ShapeListBinder_swiginit(self, _TransferBRep.new_TransferBRep_ShapeListBinder(*args))

    def AddResult(self, *args) -> "void":
        r"""
        Adds an item to the result list.

        Parameters
        ----------
        res: TopoDS_Shape

        Returns
        -------
        None

        """
        return _TransferBRep.TransferBRep_ShapeListBinder_AddResult(self, *args)

    def CompSolid(self, *args) -> "TopoDS_CompSolid":
        r"""
        No available documentation.

        Parameters
        ----------
        num: int

        Returns
        -------
        TopoDS_CompSolid

        """
        return _TransferBRep.TransferBRep_ShapeListBinder_CompSolid(self, *args)

    def Compound(self, *args) -> "TopoDS_Compound":
        r"""
        No available documentation.

        Parameters
        ----------
        num: int

        Returns
        -------
        TopoDS_Compound

        """
        return _TransferBRep.TransferBRep_ShapeListBinder_Compound(self, *args)

    def Edge(self, *args) -> "TopoDS_Edge":
        r"""
        No available documentation.

        Parameters
        ----------
        num: int

        Returns
        -------
        TopoDS_Edge

        """
        return _TransferBRep.TransferBRep_ShapeListBinder_Edge(self, *args)

    def Face(self, *args) -> "TopoDS_Face":
        r"""
        No available documentation.

        Parameters
        ----------
        num: int

        Returns
        -------
        TopoDS_Face

        """
        return _TransferBRep.TransferBRep_ShapeListBinder_Face(self, *args)

    def NbShapes(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Returns
        -------
        int

        """
        return _TransferBRep.TransferBRep_ShapeListBinder_NbShapes(self, *args)

    def Result(self, *args) -> "opencascade::handle< TopTools_HSequenceOfShape >":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<TopTools_HSequenceOfShape>

        """
        return _TransferBRep.TransferBRep_ShapeListBinder_Result(self, *args)

    def SetResult(self, *args) -> "void":
        r"""
        Changes an already defined sub-result.

        Parameters
        ----------
        num: int
        res: TopoDS_Shape

        Returns
        -------
        None

        """
        return _TransferBRep.TransferBRep_ShapeListBinder_SetResult(self, *args)

    def Shape(self, *args) -> "TopoDS_Shape const":
        r"""
        No available documentation.

        Parameters
        ----------
        num: int

        Returns
        -------
        TopoDS_Shape

        """
        return _TransferBRep.TransferBRep_ShapeListBinder_Shape(self, *args)

    def ShapeType(self, *args) -> "TopAbs_ShapeEnum":
        r"""
        No available documentation.

        Parameters
        ----------
        num: int

        Returns
        -------
        TopAbs_ShapeEnum

        """
        return _TransferBRep.TransferBRep_ShapeListBinder_ShapeType(self, *args)

    def Shell(self, *args) -> "TopoDS_Shell":
        r"""
        No available documentation.

        Parameters
        ----------
        num: int

        Returns
        -------
        TopoDS_Shell

        """
        return _TransferBRep.TransferBRep_ShapeListBinder_Shell(self, *args)

    def Solid(self, *args) -> "TopoDS_Solid":
        r"""
        No available documentation.

        Parameters
        ----------
        num: int

        Returns
        -------
        TopoDS_Solid

        """
        return _TransferBRep.TransferBRep_ShapeListBinder_Solid(self, *args)

    def Vertex(self, *args) -> "TopoDS_Vertex":
        r"""
        No available documentation.

        Parameters
        ----------
        num: int

        Returns
        -------
        TopoDS_Vertex

        """
        return _TransferBRep.TransferBRep_ShapeListBinder_Vertex(self, *args)

    def Wire(self, *args) -> "TopoDS_Wire":
        r"""
        No available documentation.

        Parameters
        ----------
        num: int

        Returns
        -------
        TopoDS_Wire

        """
        return _TransferBRep.TransferBRep_ShapeListBinder_Wire(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TransferBRep.delete_TransferBRep_ShapeListBinder

# Register TransferBRep_ShapeListBinder in _TransferBRep:
_TransferBRep.TransferBRep_ShapeListBinder_swigregister(TransferBRep_ShapeListBinder)

class TransferBRep_ShapeMapper(OCC.Core.Transfer.Transfer_Finder):
    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"""
        Creates a mapper with a value. this value can then not be changed. it is used by the hasher to compute the hashcode, which will then be stored for an immediate reading.

        Parameters
        ----------
        akey: TopoDS_Shape

        Returns
        -------
        None

        """
        _TransferBRep.TransferBRep_ShapeMapper_swiginit(self, _TransferBRep.new_TransferBRep_ShapeMapper(*args))

    def Value(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns the contained value.

        Returns
        -------
        TopoDS_Shape

        """
        return _TransferBRep.TransferBRep_ShapeMapper_Value(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TransferBRep.delete_TransferBRep_ShapeMapper

# Register TransferBRep_ShapeMapper in _TransferBRep:
_TransferBRep.TransferBRep_ShapeMapper_swigregister(TransferBRep_ShapeMapper)

class TransferBRep_TransferResultInfo(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"""
        Creates object with all fields nullified.

        Returns
        -------
        None

        """
        _TransferBRep.TransferBRep_TransferResultInfo_swiginit(self, _TransferBRep.new_TransferBRep_TransferResultInfo(*args))

    def Clear(self, *args) -> "void":
        r"""
        Resets all the fields.

        Returns
        -------
        None

        """
        return _TransferBRep.TransferBRep_TransferResultInfo_Clear(self, *args)

    def GetNoResult(self) -> "Standard_Integer":
        r"""GetNoResult(TransferBRep_TransferResultInfo self) -> Standard_Integer"""
        return _TransferBRep.TransferBRep_TransferResultInfo_GetNoResult(self)

    def SetNoResult(self, value: "Standard_Integer") -> "void":
        r"""SetNoResult(TransferBRep_TransferResultInfo self, Standard_Integer value)"""
        return _TransferBRep.TransferBRep_TransferResultInfo_SetNoResult(self, value)

    def GetNoResultFail(self) -> "Standard_Integer":
        r"""GetNoResultFail(TransferBRep_TransferResultInfo self) -> Standard_Integer"""
        return _TransferBRep.TransferBRep_TransferResultInfo_GetNoResultFail(self)

    def SetNoResultFail(self, value: "Standard_Integer") -> "void":
        r"""SetNoResultFail(TransferBRep_TransferResultInfo self, Standard_Integer value)"""
        return _TransferBRep.TransferBRep_TransferResultInfo_SetNoResultFail(self, value)

    def GetNoResultWarning(self) -> "Standard_Integer":
        r"""GetNoResultWarning(TransferBRep_TransferResultInfo self) -> Standard_Integer"""
        return _TransferBRep.TransferBRep_TransferResultInfo_GetNoResultWarning(self)

    def SetNoResultWarning(self, value: "Standard_Integer") -> "void":
        r"""SetNoResultWarning(TransferBRep_TransferResultInfo self, Standard_Integer value)"""
        return _TransferBRep.TransferBRep_TransferResultInfo_SetNoResultWarning(self, value)

    def GetNoResultWarningFail(self) -> "Standard_Integer":
        r"""GetNoResultWarningFail(TransferBRep_TransferResultInfo self) -> Standard_Integer"""
        return _TransferBRep.TransferBRep_TransferResultInfo_GetNoResultWarningFail(self)

    def SetNoResultWarningFail(self, value: "Standard_Integer") -> "void":
        r"""SetNoResultWarningFail(TransferBRep_TransferResultInfo self, Standard_Integer value)"""
        return _TransferBRep.TransferBRep_TransferResultInfo_SetNoResultWarningFail(self, value)

    def GetResult(self) -> "Standard_Integer":
        r"""GetResult(TransferBRep_TransferResultInfo self) -> Standard_Integer"""
        return _TransferBRep.TransferBRep_TransferResultInfo_GetResult(self)

    def SetResult(self, value: "Standard_Integer") -> "void":
        r"""SetResult(TransferBRep_TransferResultInfo self, Standard_Integer value)"""
        return _TransferBRep.TransferBRep_TransferResultInfo_SetResult(self, value)

    def GetResultFail(self) -> "Standard_Integer":
        r"""GetResultFail(TransferBRep_TransferResultInfo self) -> Standard_Integer"""
        return _TransferBRep.TransferBRep_TransferResultInfo_GetResultFail(self)

    def SetResultFail(self, value: "Standard_Integer") -> "void":
        r"""SetResultFail(TransferBRep_TransferResultInfo self, Standard_Integer value)"""
        return _TransferBRep.TransferBRep_TransferResultInfo_SetResultFail(self, value)

    def GetResultWarning(self) -> "Standard_Integer":
        r"""GetResultWarning(TransferBRep_TransferResultInfo self) -> Standard_Integer"""
        return _TransferBRep.TransferBRep_TransferResultInfo_GetResultWarning(self)

    def SetResultWarning(self, value: "Standard_Integer") -> "void":
        r"""SetResultWarning(TransferBRep_TransferResultInfo self, Standard_Integer value)"""
        return _TransferBRep.TransferBRep_TransferResultInfo_SetResultWarning(self, value)

    def GetResultWarningFail(self) -> "Standard_Integer":
        r"""GetResultWarningFail(TransferBRep_TransferResultInfo self) -> Standard_Integer"""
        return _TransferBRep.TransferBRep_TransferResultInfo_GetResultWarningFail(self)

    def SetResultWarningFail(self, value: "Standard_Integer") -> "void":
        r"""SetResultWarningFail(TransferBRep_TransferResultInfo self, Standard_Integer value)"""
        return _TransferBRep.TransferBRep_TransferResultInfo_SetResultWarningFail(self, value)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TransferBRep.delete_TransferBRep_TransferResultInfo

# Register TransferBRep_TransferResultInfo in _TransferBRep:
_TransferBRep.TransferBRep_TransferResultInfo_swigregister(TransferBRep_TransferResultInfo)

class TransferBRep_ShapeBinder(TransferBRep_BinderOfShape):
    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"""
        Creates an empty shapebinder.

        Returns
        -------
        None
        Creates a shapebinder with a result.

        Parameters
        ----------
        res: TopoDS_Shape

        Returns
        -------
        None

        """
        _TransferBRep.TransferBRep_ShapeBinder_swiginit(self, _TransferBRep.new_TransferBRep_ShapeBinder(*args))

    def CompSolid(self, *args) -> "TopoDS_CompSolid":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_CompSolid

        """
        return _TransferBRep.TransferBRep_ShapeBinder_CompSolid(self, *args)

    def Compound(self, *args) -> "TopoDS_Compound":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Compound

        """
        return _TransferBRep.TransferBRep_ShapeBinder_Compound(self, *args)

    def Edge(self, *args) -> "TopoDS_Edge":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Edge

        """
        return _TransferBRep.TransferBRep_ShapeBinder_Edge(self, *args)

    def Face(self, *args) -> "TopoDS_Face":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Face

        """
        return _TransferBRep.TransferBRep_ShapeBinder_Face(self, *args)

    def ShapeType(self, *args) -> "TopAbs_ShapeEnum":
        r"""
        Returns the type of the shape result (under topabs form).

        Returns
        -------
        TopAbs_ShapeEnum

        """
        return _TransferBRep.TransferBRep_ShapeBinder_ShapeType(self, *args)

    def Shell(self, *args) -> "TopoDS_Shell":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shell

        """
        return _TransferBRep.TransferBRep_ShapeBinder_Shell(self, *args)

    def Solid(self, *args) -> "TopoDS_Solid":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Solid

        """
        return _TransferBRep.TransferBRep_ShapeBinder_Solid(self, *args)

    def Vertex(self, *args) -> "TopoDS_Vertex":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Vertex

        """
        return _TransferBRep.TransferBRep_ShapeBinder_Vertex(self, *args)

    def Wire(self, *args) -> "TopoDS_Wire":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Wire

        """
        return _TransferBRep.TransferBRep_ShapeBinder_Wire(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TransferBRep.delete_TransferBRep_ShapeBinder

# Register TransferBRep_ShapeBinder in _TransferBRep:
_TransferBRep.TransferBRep_ShapeBinder_swigregister(TransferBRep_ShapeBinder)

class TransferBRep_HSequenceOfTransferResultInfo(TransferBRep_SequenceOfTransferResultInfo, 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):
        _TransferBRep.TransferBRep_HSequenceOfTransferResultInfo_swiginit(self, _TransferBRep.new_TransferBRep_HSequenceOfTransferResultInfo(*args))

    def Sequence(self) -> "TransferBRep_SequenceOfTransferResultInfo const &":
        return _TransferBRep.TransferBRep_HSequenceOfTransferResultInfo_Sequence(self)

    def Append(self, *args) -> "void":
        return _TransferBRep.TransferBRep_HSequenceOfTransferResultInfo_Append(self, *args)

    def ChangeSequence(self) -> "TransferBRep_SequenceOfTransferResultInfo &":
        return _TransferBRep.TransferBRep_HSequenceOfTransferResultInfo_ChangeSequence(self)


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

    __swig_destroy__ = _TransferBRep.delete_TransferBRep_HSequenceOfTransferResultInfo

# Register TransferBRep_HSequenceOfTransferResultInfo in _TransferBRep:
_TransferBRep.TransferBRep_HSequenceOfTransferResultInfo_swigregister(TransferBRep_HSequenceOfTransferResultInfo)





