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

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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

_swig_new_instance_method = _LocOpe.SWIG_PyInstanceMethod_New
_swig_new_static_method = _LocOpe.SWIG_PyStaticMethod_New

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


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


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


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


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


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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _LocOpe.delete_SwigPyIterator
    value = _swig_new_instance_method(_LocOpe.SwigPyIterator_value)
    incr = _swig_new_instance_method(_LocOpe.SwigPyIterator_incr)
    decr = _swig_new_instance_method(_LocOpe.SwigPyIterator_decr)
    distance = _swig_new_instance_method(_LocOpe.SwigPyIterator_distance)
    equal = _swig_new_instance_method(_LocOpe.SwigPyIterator_equal)
    copy = _swig_new_instance_method(_LocOpe.SwigPyIterator_copy)
    next = _swig_new_instance_method(_LocOpe.SwigPyIterator_next)
    __next__ = _swig_new_instance_method(_LocOpe.SwigPyIterator___next__)
    previous = _swig_new_instance_method(_LocOpe.SwigPyIterator_previous)
    advance = _swig_new_instance_method(_LocOpe.SwigPyIterator_advance)
    __eq__ = _swig_new_instance_method(_LocOpe.SwigPyIterator___eq__)
    __ne__ = _swig_new_instance_method(_LocOpe.SwigPyIterator___ne__)
    __iadd__ = _swig_new_instance_method(_LocOpe.SwigPyIterator___iadd__)
    __isub__ = _swig_new_instance_method(_LocOpe.SwigPyIterator___isub__)
    __add__ = _swig_new_instance_method(_LocOpe.SwigPyIterator___add__)
    __sub__ = _swig_new_instance_method(_LocOpe.SwigPyIterator___sub__)
    def __iter__(self):
        return self

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


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


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

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.TopoDS
import OCC.Core.Message
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.gp
import OCC.Core.TColgp
import OCC.Core.TopTools
import OCC.Core.TCollection
import OCC.Core.TColGeom
import OCC.Core.Geom
import OCC.Core.GeomAbs
import OCC.Core.TColStd
LocOpe_FUSE = _LocOpe.LocOpe_FUSE
LocOpe_CUT = _LocOpe.LocOpe_CUT
LocOpe_INVALID = _LocOpe.LocOpe_INVALID
Handle_LocOpe_GeneratedShape_Create = _LocOpe.Handle_LocOpe_GeneratedShape_Create
Handle_LocOpe_GeneratedShape_DownCast = _LocOpe.Handle_LocOpe_GeneratedShape_DownCast
Handle_LocOpe_GeneratedShape_IsNull = _LocOpe.Handle_LocOpe_GeneratedShape_IsNull
Handle_LocOpe_WiresOnShape_Create = _LocOpe.Handle_LocOpe_WiresOnShape_Create
Handle_LocOpe_WiresOnShape_DownCast = _LocOpe.Handle_LocOpe_WiresOnShape_DownCast
Handle_LocOpe_WiresOnShape_IsNull = _LocOpe.Handle_LocOpe_WiresOnShape_IsNull
Handle_LocOpe_GluedShape_Create = _LocOpe.Handle_LocOpe_GluedShape_Create
Handle_LocOpe_GluedShape_DownCast = _LocOpe.Handle_LocOpe_GluedShape_DownCast
Handle_LocOpe_GluedShape_IsNull = _LocOpe.Handle_LocOpe_GluedShape_IsNull
class LocOpe_SequenceOfLin(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_begin)
    end = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_end)
    cbegin = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_cbegin)
    cend = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_cend)

    def __init__(self, *args):
        _LocOpe.LocOpe_SequenceOfLin_swiginit(self, _LocOpe.new_LocOpe_SequenceOfLin(*args))
    Size = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_Size)
    Length = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_Length)
    Lower = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_Lower)
    Upper = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_Upper)
    IsEmpty = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_IsEmpty)
    Reverse = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_Reverse)
    Exchange = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_Exchange)
    delNode = _swig_new_static_method(_LocOpe.LocOpe_SequenceOfLin_delNode)
    Clear = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_Clear)
    Assign = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_Assign)
    Set = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_Set)
    Remove = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_Remove)
    Append = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_Append)
    Prepend = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_Prepend)
    InsertBefore = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_InsertBefore)
    InsertAfter = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_InsertAfter)
    Split = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_Split)
    First = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_First)
    ChangeFirst = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_ChangeFirst)
    Last = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_Last)
    ChangeLast = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_ChangeLast)
    Value = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_Value)
    ChangeValue = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_ChangeValue)
    __call__ = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin___call__)
    SetValue = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfLin_SetValue)
    __swig_destroy__ = _LocOpe.delete_LocOpe_SequenceOfLin

# Register LocOpe_SequenceOfLin in _LocOpe:
_LocOpe.LocOpe_SequenceOfLin_swigregister(LocOpe_SequenceOfLin)
LocOpe_SequenceOfLin_delNode = _LocOpe.LocOpe_SequenceOfLin_delNode

class LocOpe_DataMapOfShapePnt(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt_begin)
    end = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt_end)
    cbegin = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt_cbegin)
    cend = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt_cend)

    def __init__(self, *args):
        _LocOpe.LocOpe_DataMapOfShapePnt_swiginit(self, _LocOpe.new_LocOpe_DataMapOfShapePnt(*args))
    Exchange = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt_Exchange)
    Assign = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt_Assign)
    Set = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt_Set)
    ReSize = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt_ReSize)
    Bind = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt_Bind)
    Bound = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt_Bound)
    IsBound = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt_IsBound)
    UnBind = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt_UnBind)
    Seek = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt_Seek)
    Find = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt_Find)
    ChangeSeek = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt_ChangeSeek)
    ChangeFind = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt_ChangeFind)
    __call__ = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt___call__)
    Clear = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt_Clear)
    __swig_destroy__ = _LocOpe.delete_LocOpe_DataMapOfShapePnt
    Size = _swig_new_instance_method(_LocOpe.LocOpe_DataMapOfShapePnt_Size)

# Register LocOpe_DataMapOfShapePnt in _LocOpe:
_LocOpe.LocOpe_DataMapOfShapePnt_swigregister(LocOpe_DataMapOfShapePnt)

class LocOpe_SequenceOfCirc(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_begin)
    end = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_end)
    cbegin = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_cbegin)
    cend = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_cend)

    def __init__(self, *args):
        _LocOpe.LocOpe_SequenceOfCirc_swiginit(self, _LocOpe.new_LocOpe_SequenceOfCirc(*args))
    Size = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_Size)
    Length = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_Length)
    Lower = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_Lower)
    Upper = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_Upper)
    IsEmpty = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_IsEmpty)
    Reverse = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_Reverse)
    Exchange = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_Exchange)
    delNode = _swig_new_static_method(_LocOpe.LocOpe_SequenceOfCirc_delNode)
    Clear = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_Clear)
    Assign = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_Assign)
    Set = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_Set)
    Remove = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_Remove)
    Append = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_Append)
    Prepend = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_Prepend)
    InsertBefore = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_InsertBefore)
    InsertAfter = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_InsertAfter)
    Split = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_Split)
    First = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_First)
    ChangeFirst = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_ChangeFirst)
    Last = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_Last)
    ChangeLast = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_ChangeLast)
    Value = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_Value)
    ChangeValue = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_ChangeValue)
    __call__ = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc___call__)
    SetValue = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfCirc_SetValue)
    __swig_destroy__ = _LocOpe.delete_LocOpe_SequenceOfCirc

# Register LocOpe_SequenceOfCirc in _LocOpe:
_LocOpe.LocOpe_SequenceOfCirc_swigregister(LocOpe_SequenceOfCirc)
LocOpe_SequenceOfCirc_delNode = _LocOpe.LocOpe_SequenceOfCirc_delNode

class LocOpe_SequenceOfPntFace(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_begin)
    end = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_end)
    cbegin = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_cbegin)
    cend = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_cend)

    def __init__(self, *args):
        _LocOpe.LocOpe_SequenceOfPntFace_swiginit(self, _LocOpe.new_LocOpe_SequenceOfPntFace(*args))
    Size = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_Size)
    Length = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_Length)
    Lower = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_Lower)
    Upper = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_Upper)
    IsEmpty = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_IsEmpty)
    Reverse = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_Reverse)
    Exchange = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_Exchange)
    delNode = _swig_new_static_method(_LocOpe.LocOpe_SequenceOfPntFace_delNode)
    Clear = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_Clear)
    Assign = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_Assign)
    Set = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_Set)
    Remove = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_Remove)
    Append = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_Append)
    Prepend = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_Prepend)
    InsertBefore = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_InsertBefore)
    InsertAfter = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_InsertAfter)
    Split = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_Split)
    First = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_First)
    ChangeFirst = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_ChangeFirst)
    Last = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_Last)
    ChangeLast = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_ChangeLast)
    Value = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_Value)
    ChangeValue = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_ChangeValue)
    __call__ = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace___call__)
    SetValue = _swig_new_instance_method(_LocOpe.LocOpe_SequenceOfPntFace_SetValue)
    __swig_destroy__ = _LocOpe.delete_LocOpe_SequenceOfPntFace

# Register LocOpe_SequenceOfPntFace in _LocOpe:
_LocOpe.LocOpe_SequenceOfPntFace_swigregister(LocOpe_SequenceOfPntFace)
LocOpe_SequenceOfPntFace_delNode = _LocOpe.LocOpe_SequenceOfPntFace_delNode

class locope(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Closed = _swig_new_static_method(_LocOpe.locope_Closed)
    SampleEdges = _swig_new_static_method(_LocOpe.locope_SampleEdges)
    TgtFaces = _swig_new_static_method(_LocOpe.locope_TgtFaces)

    __repr__ = _dumps_object


    def __init__(self):
        _LocOpe.locope_swiginit(self, _LocOpe.new_locope())
    __swig_destroy__ = _LocOpe.delete_locope

# Register locope in _LocOpe:
_LocOpe.locope_swigregister(locope)
locope_Closed = _LocOpe.locope_Closed
locope_SampleEdges = _LocOpe.locope_SampleEdges
locope_TgtFaces = _LocOpe.locope_TgtFaces

class LocOpe_BuildShape(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"""
        :rtype: None* Builds shape(s) from the list <L>. Uses only the faces of <L>.
        	:param L:
        	:type L: TopTools_ListOfShape
        	:rtype: None
        """
        _LocOpe.LocOpe_BuildShape_swiginit(self, _LocOpe.new_LocOpe_BuildShape(*args))
    Perform = _swig_new_instance_method(_LocOpe.LocOpe_BuildShape_Perform)
    Shape = _swig_new_instance_method(_LocOpe.LocOpe_BuildShape_Shape)

    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_BuildShape

# Register LocOpe_BuildShape in _LocOpe:
_LocOpe.LocOpe_BuildShape_swigregister(LocOpe_BuildShape)

class LocOpe_BuildWires(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    IsDone = _swig_new_instance_method(_LocOpe.LocOpe_BuildWires_IsDone)

    def __init__(self, *args):
        r"""
        :rtype: None:param Ledges:
        	:type Ledges: TopTools_ListOfShape
        	:param PW:
        	:type PW: LocOpe_WiresOnShape
        	:rtype: None
        """
        _LocOpe.LocOpe_BuildWires_swiginit(self, _LocOpe.new_LocOpe_BuildWires(*args))
    Perform = _swig_new_instance_method(_LocOpe.LocOpe_BuildWires_Perform)
    Result = _swig_new_instance_method(_LocOpe.LocOpe_BuildWires_Result)

    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_BuildWires

# Register LocOpe_BuildWires in _LocOpe:
_LocOpe.LocOpe_BuildWires_swigregister(LocOpe_BuildWires)

class LocOpe_CSIntersector(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Destroy = _swig_new_instance_method(_LocOpe.LocOpe_CSIntersector_Destroy)
    Init = _swig_new_instance_method(_LocOpe.LocOpe_CSIntersector_Init)
    IsDone = _swig_new_instance_method(_LocOpe.LocOpe_CSIntersector_IsDone)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None* Creates and performs the intersection betwwen <Ax1> and <S>.
        	:param S:
        	:type S: TopoDS_Shape
        	:rtype: None
        """
        _LocOpe.LocOpe_CSIntersector_swiginit(self, _LocOpe.new_LocOpe_CSIntersector(*args))
    LocalizeAfter = _swig_new_instance_method(_LocOpe.LocOpe_CSIntersector_LocalizeAfter)
    LocalizeBefore = _swig_new_instance_method(_LocOpe.LocOpe_CSIntersector_LocalizeBefore)
    NbPoints = _swig_new_instance_method(_LocOpe.LocOpe_CSIntersector_NbPoints)
    Perform = _swig_new_instance_method(_LocOpe.LocOpe_CSIntersector_Perform)
    Point = _swig_new_instance_method(_LocOpe.LocOpe_CSIntersector_Point)

    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_CSIntersector

# Register LocOpe_CSIntersector in _LocOpe:
_LocOpe.LocOpe_CSIntersector_swigregister(LocOpe_CSIntersector)

class LocOpe_CurveShapeIntersector(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Init = _swig_new_instance_method(_LocOpe.LocOpe_CurveShapeIntersector_Init)
    IsDone = _swig_new_instance_method(_LocOpe.LocOpe_CurveShapeIntersector_IsDone)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None* Creates and performs the intersection betwwen <Ax1> and <S>.
        	:param Axis:
        	:type Axis: gp_Ax1
        	:param S:
        	:type S: TopoDS_Shape
        	:rtype: None* Creates and performs yte intersection betwwen <C> and <S>.
        	:param C:
        	:type C: gp_Circ
        	:param S:
        	:type S: TopoDS_Shape
        	:rtype: None
        """
        _LocOpe.LocOpe_CurveShapeIntersector_swiginit(self, _LocOpe.new_LocOpe_CurveShapeIntersector(*args))
    LocalizeAfter = _swig_new_instance_method(_LocOpe.LocOpe_CurveShapeIntersector_LocalizeAfter)
    LocalizeBefore = _swig_new_instance_method(_LocOpe.LocOpe_CurveShapeIntersector_LocalizeBefore)
    NbPoints = _swig_new_instance_method(_LocOpe.LocOpe_CurveShapeIntersector_NbPoints)
    Point = _swig_new_instance_method(_LocOpe.LocOpe_CurveShapeIntersector_Point)

    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_CurveShapeIntersector

# Register LocOpe_CurveShapeIntersector in _LocOpe:
_LocOpe.LocOpe_CurveShapeIntersector_swigregister(LocOpe_CurveShapeIntersector)

class LocOpe_DPrism(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    BarycCurve = _swig_new_instance_method(_LocOpe.LocOpe_DPrism_BarycCurve)
    Curves = _swig_new_instance_method(_LocOpe.LocOpe_DPrism_Curves)
    FirstShape = _swig_new_instance_method(_LocOpe.LocOpe_DPrism_FirstShape)
    IsDone = _swig_new_instance_method(_LocOpe.LocOpe_DPrism_IsDone)
    LastShape = _swig_new_instance_method(_LocOpe.LocOpe_DPrism_LastShape)

    def __init__(self, *args):
        r"""
        :param Spine:
        	:type Spine: TopoDS_Face
        	:param Height1:
        	:type Height1: float
        	:param Height2:
        	:type Height2: float
        	:param Angle:
        	:type Angle: float
        	:rtype: None:param Spine:
        	:type Spine: TopoDS_Face
        	:param Height:
        	:type Height: float
        	:param Angle:
        	:type Angle: float
        	:rtype: None
        """
        _LocOpe.LocOpe_DPrism_swiginit(self, _LocOpe.new_LocOpe_DPrism(*args))
    Profile = _swig_new_instance_method(_LocOpe.LocOpe_DPrism_Profile)
    Shape = _swig_new_instance_method(_LocOpe.LocOpe_DPrism_Shape)
    Shapes = _swig_new_instance_method(_LocOpe.LocOpe_DPrism_Shapes)
    Spine = _swig_new_instance_method(_LocOpe.LocOpe_DPrism_Spine)

    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_DPrism

# Register LocOpe_DPrism in _LocOpe:
_LocOpe.LocOpe_DPrism_swigregister(LocOpe_DPrism)

class LocOpe_FindEdges(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    EdgeFrom = _swig_new_instance_method(_LocOpe.LocOpe_FindEdges_EdgeFrom)
    EdgeTo = _swig_new_instance_method(_LocOpe.LocOpe_FindEdges_EdgeTo)
    InitIterator = _swig_new_instance_method(_LocOpe.LocOpe_FindEdges_InitIterator)

    def __init__(self, *args):
        r"""
        :rtype: None:param FFrom:
        	:type FFrom: TopoDS_Shape
        	:param FTo:
        	:type FTo: TopoDS_Shape
        	:rtype: None
        """
        _LocOpe.LocOpe_FindEdges_swiginit(self, _LocOpe.new_LocOpe_FindEdges(*args))
    More = _swig_new_instance_method(_LocOpe.LocOpe_FindEdges_More)
    Next = _swig_new_instance_method(_LocOpe.LocOpe_FindEdges_Next)
    Set = _swig_new_instance_method(_LocOpe.LocOpe_FindEdges_Set)

    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_FindEdges

# Register LocOpe_FindEdges in _LocOpe:
_LocOpe.LocOpe_FindEdges_swigregister(LocOpe_FindEdges)

class LocOpe_FindEdgesInFace(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Edge = _swig_new_instance_method(_LocOpe.LocOpe_FindEdgesInFace_Edge)
    Init = _swig_new_instance_method(_LocOpe.LocOpe_FindEdgesInFace_Init)

    def __init__(self, *args):
        r"""
        :rtype: None:param S:
        	:type S: TopoDS_Shape
        	:param F:
        	:type F: TopoDS_Face
        	:rtype: None
        """
        _LocOpe.LocOpe_FindEdgesInFace_swiginit(self, _LocOpe.new_LocOpe_FindEdgesInFace(*args))
    More = _swig_new_instance_method(_LocOpe.LocOpe_FindEdgesInFace_More)
    Next = _swig_new_instance_method(_LocOpe.LocOpe_FindEdgesInFace_Next)
    Set = _swig_new_instance_method(_LocOpe.LocOpe_FindEdgesInFace_Set)

    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_FindEdgesInFace

# Register LocOpe_FindEdgesInFace in _LocOpe:
_LocOpe.LocOpe_FindEdgesInFace_swigregister(LocOpe_FindEdgesInFace)

class LocOpe_GeneratedShape(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr
    Generated = _swig_new_instance_method(_LocOpe.LocOpe_GeneratedShape_Generated)
    GeneratingEdges = _swig_new_instance_method(_LocOpe.LocOpe_GeneratedShape_GeneratingEdges)
    OrientedFaces = _swig_new_instance_method(_LocOpe.LocOpe_GeneratedShape_OrientedFaces)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_GeneratedShape

# Register LocOpe_GeneratedShape in _LocOpe:
_LocOpe.LocOpe_GeneratedShape_swigregister(LocOpe_GeneratedShape)

class LocOpe_Generator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    DescendantFace = _swig_new_instance_method(_LocOpe.LocOpe_Generator_DescendantFace)
    Init = _swig_new_instance_method(_LocOpe.LocOpe_Generator_Init)
    IsDone = _swig_new_instance_method(_LocOpe.LocOpe_Generator_IsDone)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None* Creates the algorithm on the shape <S>.
        	:param S:
        	:type S: TopoDS_Shape
        	:rtype: None
        """
        _LocOpe.LocOpe_Generator_swiginit(self, _LocOpe.new_LocOpe_Generator(*args))
    Perform = _swig_new_instance_method(_LocOpe.LocOpe_Generator_Perform)
    ResultingShape = _swig_new_instance_method(_LocOpe.LocOpe_Generator_ResultingShape)
    Shape = _swig_new_instance_method(_LocOpe.LocOpe_Generator_Shape)

    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_Generator

# Register LocOpe_Generator in _LocOpe:
_LocOpe.LocOpe_Generator_swigregister(LocOpe_Generator)

class LocOpe_Gluer(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    BasisShape = _swig_new_instance_method(_LocOpe.LocOpe_Gluer_BasisShape)
    Bind = _swig_new_instance_method(_LocOpe.LocOpe_Gluer_Bind)
    DescendantFaces = _swig_new_instance_method(_LocOpe.LocOpe_Gluer_DescendantFaces)
    Edges = _swig_new_instance_method(_LocOpe.LocOpe_Gluer_Edges)
    GluedShape = _swig_new_instance_method(_LocOpe.LocOpe_Gluer_GluedShape)
    Init = _swig_new_instance_method(_LocOpe.LocOpe_Gluer_Init)
    IsDone = _swig_new_instance_method(_LocOpe.LocOpe_Gluer_IsDone)

    def __init__(self, *args):
        r"""
        :rtype: None:param Sbase:
        	:type Sbase: TopoDS_Shape
        	:param Snew:
        	:type Snew: TopoDS_Shape
        	:rtype: None
        """
        _LocOpe.LocOpe_Gluer_swiginit(self, _LocOpe.new_LocOpe_Gluer(*args))
    OpeType = _swig_new_instance_method(_LocOpe.LocOpe_Gluer_OpeType)
    Perform = _swig_new_instance_method(_LocOpe.LocOpe_Gluer_Perform)
    ResultingShape = _swig_new_instance_method(_LocOpe.LocOpe_Gluer_ResultingShape)
    TgtEdges = _swig_new_instance_method(_LocOpe.LocOpe_Gluer_TgtEdges)

    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_Gluer

# Register LocOpe_Gluer in _LocOpe:
_LocOpe.LocOpe_Gluer_swigregister(LocOpe_Gluer)

class LocOpe_LinearForm(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    FirstShape = _swig_new_instance_method(_LocOpe.LocOpe_LinearForm_FirstShape)
    LastShape = _swig_new_instance_method(_LocOpe.LocOpe_LinearForm_LastShape)

    def __init__(self, *args):
        r"""
        :rtype: None:param Base:
        	:type Base: TopoDS_Shape
        	:param V:
        	:type V: gp_Vec
        	:param Pnt1:
        	:type Pnt1: gp_Pnt
        	:param Pnt2:
        	:type Pnt2: gp_Pnt
        	:rtype: None:param Base:
        	:type Base: TopoDS_Shape
        	:param V:
        	:type V: gp_Vec
        	:param Vectra:
        	:type Vectra: gp_Vec
        	:param Pnt1:
        	:type Pnt1: gp_Pnt
        	:param Pnt2:
        	:type Pnt2: gp_Pnt
        	:rtype: None
        """
        _LocOpe.LocOpe_LinearForm_swiginit(self, _LocOpe.new_LocOpe_LinearForm(*args))
    Perform = _swig_new_instance_method(_LocOpe.LocOpe_LinearForm_Perform)
    Shape = _swig_new_instance_method(_LocOpe.LocOpe_LinearForm_Shape)
    Shapes = _swig_new_instance_method(_LocOpe.LocOpe_LinearForm_Shapes)

    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_LinearForm

# Register LocOpe_LinearForm in _LocOpe:
_LocOpe.LocOpe_LinearForm_swigregister(LocOpe_LinearForm)

class LocOpe_Pipe(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    BarycCurve = _swig_new_instance_method(_LocOpe.LocOpe_Pipe_BarycCurve)
    Curves = _swig_new_instance_method(_LocOpe.LocOpe_Pipe_Curves)
    FirstShape = _swig_new_instance_method(_LocOpe.LocOpe_Pipe_FirstShape)
    LastShape = _swig_new_instance_method(_LocOpe.LocOpe_Pipe_LastShape)

    def __init__(self, *args):
        r"""
        :param Spine:
        	:type Spine: TopoDS_Wire
        	:param Profile:
        	:type Profile: TopoDS_Shape
        	:rtype: None
        """
        _LocOpe.LocOpe_Pipe_swiginit(self, _LocOpe.new_LocOpe_Pipe(*args))
    Profile = _swig_new_instance_method(_LocOpe.LocOpe_Pipe_Profile)
    Shape = _swig_new_instance_method(_LocOpe.LocOpe_Pipe_Shape)
    Shapes = _swig_new_instance_method(_LocOpe.LocOpe_Pipe_Shapes)
    Spine = _swig_new_instance_method(_LocOpe.LocOpe_Pipe_Spine)

    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_Pipe

# Register LocOpe_Pipe in _LocOpe:
_LocOpe.LocOpe_Pipe_swigregister(LocOpe_Pipe)

class LocOpe_PntFace(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    ChangeOrientation = _swig_new_instance_method(_LocOpe.LocOpe_PntFace_ChangeOrientation)
    Face = _swig_new_instance_method(_LocOpe.LocOpe_PntFace_Face)

    def __init__(self, *args):
        r"""
        * Empty constructor. Useful only for the list.
        	:rtype: None:param P:
        	:type P: gp_Pnt
        	:param F:
        	:type F: TopoDS_Face
        	:param Or:
        	:type Or: TopAbs_Orientation
        	:param Param:
        	:type Param: float
        	:param UPar:
        	:type UPar: float
        	:param VPar:
        	:type VPar: float
        	:rtype: None
        """
        _LocOpe.LocOpe_PntFace_swiginit(self, _LocOpe.new_LocOpe_PntFace(*args))
    Orientation = _swig_new_instance_method(_LocOpe.LocOpe_PntFace_Orientation)
    Parameter = _swig_new_instance_method(_LocOpe.LocOpe_PntFace_Parameter)
    Pnt = _swig_new_instance_method(_LocOpe.LocOpe_PntFace_Pnt)
    UParameter = _swig_new_instance_method(_LocOpe.LocOpe_PntFace_UParameter)
    VParameter = _swig_new_instance_method(_LocOpe.LocOpe_PntFace_VParameter)

    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_PntFace

# Register LocOpe_PntFace in _LocOpe:
_LocOpe.LocOpe_PntFace_swigregister(LocOpe_PntFace)

class LocOpe_Prism(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    BarycCurve = _swig_new_instance_method(_LocOpe.LocOpe_Prism_BarycCurve)
    Curves = _swig_new_instance_method(_LocOpe.LocOpe_Prism_Curves)
    FirstShape = _swig_new_instance_method(_LocOpe.LocOpe_Prism_FirstShape)
    LastShape = _swig_new_instance_method(_LocOpe.LocOpe_Prism_LastShape)

    def __init__(self, *args):
        r"""
        :rtype: None:param Base:
        	:type Base: TopoDS_Shape
        	:param V:
        	:type V: gp_Vec
        	:rtype: None:param Base:
        	:type Base: TopoDS_Shape
        	:param V:
        	:type V: gp_Vec
        	:param Vectra:
        	:type Vectra: gp_Vec
        	:rtype: None
        """
        _LocOpe.LocOpe_Prism_swiginit(self, _LocOpe.new_LocOpe_Prism(*args))
    Perform = _swig_new_instance_method(_LocOpe.LocOpe_Prism_Perform)
    Shape = _swig_new_instance_method(_LocOpe.LocOpe_Prism_Shape)
    Shapes = _swig_new_instance_method(_LocOpe.LocOpe_Prism_Shapes)

    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_Prism

# Register LocOpe_Prism in _LocOpe:
_LocOpe.LocOpe_Prism_swigregister(LocOpe_Prism)

class LocOpe_SplitDrafts(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Init = _swig_new_instance_method(_LocOpe.LocOpe_SplitDrafts_Init)
    IsDone = _swig_new_instance_method(_LocOpe.LocOpe_SplitDrafts_IsDone)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None* Creates the algoritm on the shape <S>.
        	:param S:
        	:type S: TopoDS_Shape
        	:rtype: None
        """
        _LocOpe.LocOpe_SplitDrafts_swiginit(self, _LocOpe.new_LocOpe_SplitDrafts(*args))
    OriginalShape = _swig_new_instance_method(_LocOpe.LocOpe_SplitDrafts_OriginalShape)
    Perform = _swig_new_instance_method(_LocOpe.LocOpe_SplitDrafts_Perform)
    Shape = _swig_new_instance_method(_LocOpe.LocOpe_SplitDrafts_Shape)
    ShapesFromShape = _swig_new_instance_method(_LocOpe.LocOpe_SplitDrafts_ShapesFromShape)

    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_SplitDrafts

# Register LocOpe_SplitDrafts in _LocOpe:
_LocOpe.LocOpe_SplitDrafts_swigregister(LocOpe_SplitDrafts)

class LocOpe_SplitShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Add = _swig_new_instance_method(_LocOpe.LocOpe_SplitShape_Add)
    CanSplit = _swig_new_instance_method(_LocOpe.LocOpe_SplitShape_CanSplit)
    DescendantShapes = _swig_new_instance_method(_LocOpe.LocOpe_SplitShape_DescendantShapes)
    Init = _swig_new_instance_method(_LocOpe.LocOpe_SplitShape_Init)
    LeftOf = _swig_new_instance_method(_LocOpe.LocOpe_SplitShape_LeftOf)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None* Creates the process with the shape <S>.
        	:param S:
        	:type S: TopoDS_Shape
        	:rtype: None
        """
        _LocOpe.LocOpe_SplitShape_swiginit(self, _LocOpe.new_LocOpe_SplitShape(*args))
    Shape = _swig_new_instance_method(_LocOpe.LocOpe_SplitShape_Shape)

    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_SplitShape

# Register LocOpe_SplitShape in _LocOpe:
_LocOpe.LocOpe_SplitShape_swigregister(LocOpe_SplitShape)

class LocOpe_Spliter(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    DescendantShapes = _swig_new_instance_method(_LocOpe.LocOpe_Spliter_DescendantShapes)
    DirectLeft = _swig_new_instance_method(_LocOpe.LocOpe_Spliter_DirectLeft)
    Init = _swig_new_instance_method(_LocOpe.LocOpe_Spliter_Init)
    IsDone = _swig_new_instance_method(_LocOpe.LocOpe_Spliter_IsDone)
    Left = _swig_new_instance_method(_LocOpe.LocOpe_Spliter_Left)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None* Creates the algorithm on the shape <S>.
        	:param S:
        	:type S: TopoDS_Shape
        	:rtype: None
        """
        _LocOpe.LocOpe_Spliter_swiginit(self, _LocOpe.new_LocOpe_Spliter(*args))
    Perform = _swig_new_instance_method(_LocOpe.LocOpe_Spliter_Perform)
    ResultingShape = _swig_new_instance_method(_LocOpe.LocOpe_Spliter_ResultingShape)
    Shape = _swig_new_instance_method(_LocOpe.LocOpe_Spliter_Shape)

    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_Spliter

# Register LocOpe_Spliter in _LocOpe:
_LocOpe.LocOpe_Spliter_swigregister(LocOpe_Spliter)

class LocOpe_WiresOnShape(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Add = _swig_new_instance_method(_LocOpe.LocOpe_WiresOnShape_Add)
    Bind = _swig_new_instance_method(_LocOpe.LocOpe_WiresOnShape_Bind)
    BindAll = _swig_new_instance_method(_LocOpe.LocOpe_WiresOnShape_BindAll)
    Edge = _swig_new_instance_method(_LocOpe.LocOpe_WiresOnShape_Edge)
    Init = _swig_new_instance_method(_LocOpe.LocOpe_WiresOnShape_Init)
    InitEdgeIterator = _swig_new_instance_method(_LocOpe.LocOpe_WiresOnShape_InitEdgeIterator)
    IsDone = _swig_new_instance_method(_LocOpe.LocOpe_WiresOnShape_IsDone)
    IsFaceWithSection = _swig_new_instance_method(_LocOpe.LocOpe_WiresOnShape_IsFaceWithSection)

    def __init__(self, *args):
        r"""
        :param S:
        	:type S: TopoDS_Shape
        	:rtype: None
        """
        _LocOpe.LocOpe_WiresOnShape_swiginit(self, _LocOpe.new_LocOpe_WiresOnShape(*args))
    MoreEdge = _swig_new_instance_method(_LocOpe.LocOpe_WiresOnShape_MoreEdge)
    NextEdge = _swig_new_instance_method(_LocOpe.LocOpe_WiresOnShape_NextEdge)
    OnEdge = _swig_new_instance_method(_LocOpe.LocOpe_WiresOnShape_OnEdge)
    OnFace = _swig_new_instance_method(_LocOpe.LocOpe_WiresOnShape_OnFace)
    OnVertex = _swig_new_instance_method(_LocOpe.LocOpe_WiresOnShape_OnVertex)
    SetCheckInterior = _swig_new_instance_method(_LocOpe.LocOpe_WiresOnShape_SetCheckInterior)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_WiresOnShape

# Register LocOpe_WiresOnShape in _LocOpe:
_LocOpe.LocOpe_WiresOnShape_swigregister(LocOpe_WiresOnShape)

class LocOpe_GluedShape(LocOpe_GeneratedShape):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Generated = _swig_new_instance_method(_LocOpe.LocOpe_GluedShape_Generated)
    GlueOnFace = _swig_new_instance_method(_LocOpe.LocOpe_GluedShape_GlueOnFace)
    Init = _swig_new_instance_method(_LocOpe.LocOpe_GluedShape_Init)

    def __init__(self, *args):
        r"""
        :rtype: None:param S:
        	:type S: TopoDS_Shape
        	:rtype: None
        """
        _LocOpe.LocOpe_GluedShape_swiginit(self, _LocOpe.new_LocOpe_GluedShape(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _LocOpe.delete_LocOpe_GluedShape

# Register LocOpe_GluedShape in _LocOpe:
_LocOpe.LocOpe_GluedShape_swigregister(LocOpe_GluedShape)



