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

"""
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__

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    def __sub__(self, *args) -> "ptrdiff_t":
        return _LocOpe.SwigPyIterator___sub__(self, *args)
    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


def process_exception(error: "Standard_Failure", method_name: "std::string", class_name: "std::string") -> "void":
    return _LocOpe.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.TopoDS
import OCC.Core.Message
import OCC.Core.TCollection
import OCC.Core.OSD
import OCC.Core.TColStd
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.gp
import OCC.Core.TColgp
import OCC.Core.TopTools
import OCC.Core.TColGeom
import OCC.Core.Geom
import OCC.Core.GeomAbs

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

LocOpe_FUSE = _LocOpe.LocOpe_FUSE
LocOpe_CUT = _LocOpe.LocOpe_CUT
LocOpe_INVALID = _LocOpe.LocOpe_INVALID


class LocOpe_Operation(IntEnum):
	LocOpe_FUSE = 0
	LocOpe_CUT = 1
	LocOpe_INVALID = 2
LocOpe_FUSE = LocOpe_Operation.LocOpe_FUSE
LocOpe_CUT = LocOpe_Operation.LocOpe_CUT
LocOpe_INVALID = LocOpe_Operation.LocOpe_INVALID


def Handle_LocOpe_GeneratedShape_Create() -> "opencascade::handle< LocOpe_GeneratedShape >":
    return _LocOpe.Handle_LocOpe_GeneratedShape_Create()

def Handle_LocOpe_GeneratedShape_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< LocOpe_GeneratedShape >":
    return _LocOpe.Handle_LocOpe_GeneratedShape_DownCast(t)

def Handle_LocOpe_GeneratedShape_IsNull(t: "opencascade::handle< LocOpe_GeneratedShape > const &") -> "bool":
    return _LocOpe.Handle_LocOpe_GeneratedShape_IsNull(t)

def Handle_LocOpe_WiresOnShape_Create() -> "opencascade::handle< LocOpe_WiresOnShape >":
    return _LocOpe.Handle_LocOpe_WiresOnShape_Create()

def Handle_LocOpe_WiresOnShape_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< LocOpe_WiresOnShape >":
    return _LocOpe.Handle_LocOpe_WiresOnShape_DownCast(t)

def Handle_LocOpe_WiresOnShape_IsNull(t: "opencascade::handle< LocOpe_WiresOnShape > const &") -> "bool":
    return _LocOpe.Handle_LocOpe_WiresOnShape_IsNull(t)

def Handle_LocOpe_GluedShape_Create() -> "opencascade::handle< LocOpe_GluedShape >":
    return _LocOpe.Handle_LocOpe_GluedShape_Create()

def Handle_LocOpe_GluedShape_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< LocOpe_GluedShape >":
    return _LocOpe.Handle_LocOpe_GluedShape_DownCast(t)

def Handle_LocOpe_GluedShape_IsNull(t: "opencascade::handle< LocOpe_GluedShape > const &") -> "bool":
    return _LocOpe.Handle_LocOpe_GluedShape_IsNull(t)
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

    def begin(self) -> "NCollection_DataMap< TopoDS_Shape,gp_Pnt,TopTools_ShapeMapHasher >::iterator":
        return _LocOpe.LocOpe_DataMapOfShapePnt_begin(self)

    def end(self) -> "NCollection_DataMap< TopoDS_Shape,gp_Pnt,TopTools_ShapeMapHasher >::iterator":
        return _LocOpe.LocOpe_DataMapOfShapePnt_end(self)

    def cbegin(self) -> "NCollection_DataMap< TopoDS_Shape,gp_Pnt,TopTools_ShapeMapHasher >::const_iterator":
        return _LocOpe.LocOpe_DataMapOfShapePnt_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TopoDS_Shape,gp_Pnt,TopTools_ShapeMapHasher >::const_iterator":
        return _LocOpe.LocOpe_DataMapOfShapePnt_cend(self)

    def __init__(self, *args):
        _LocOpe.LocOpe_DataMapOfShapePnt_swiginit(self, _LocOpe.new_LocOpe_DataMapOfShapePnt(*args))

    def Exchange(self, theOther: "LocOpe_DataMapOfShapePnt") -> "void":
        return _LocOpe.LocOpe_DataMapOfShapePnt_Exchange(self, theOther)

    def Assign(self, theOther: "LocOpe_DataMapOfShapePnt") -> "NCollection_DataMap< TopoDS_Shape,gp_Pnt,TopTools_ShapeMapHasher > &":
        return _LocOpe.LocOpe_DataMapOfShapePnt_Assign(self, theOther)

    def Set(self, theOther: "LocOpe_DataMapOfShapePnt") -> "NCollection_DataMap< TopoDS_Shape,gp_Pnt,TopTools_ShapeMapHasher > &":
        return _LocOpe.LocOpe_DataMapOfShapePnt_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _LocOpe.LocOpe_DataMapOfShapePnt_ReSize(self, N)

    def Bind(self, theKey: "TopoDS_Shape", theItem: "gp_Pnt") -> "Standard_Boolean":
        return _LocOpe.LocOpe_DataMapOfShapePnt_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TopoDS_Shape", theItem: "gp_Pnt") -> "gp_Pnt *":
        return _LocOpe.LocOpe_DataMapOfShapePnt_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _LocOpe.LocOpe_DataMapOfShapePnt_IsBound(self, theKey)

    def UnBind(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _LocOpe.LocOpe_DataMapOfShapePnt_UnBind(self, theKey)

    def Seek(self, theKey: "TopoDS_Shape") -> "gp_Pnt const *":
        return _LocOpe.LocOpe_DataMapOfShapePnt_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _LocOpe.LocOpe_DataMapOfShapePnt_Find(self, *args)

    def ChangeSeek(self, theKey: "TopoDS_Shape") -> "gp_Pnt *":
        return _LocOpe.LocOpe_DataMapOfShapePnt_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TopoDS_Shape") -> "gp_Pnt &":
        return _LocOpe.LocOpe_DataMapOfShapePnt_ChangeFind(self, theKey)

    def __call__(self, *args) -> "gp_Pnt &":
        return _LocOpe.LocOpe_DataMapOfShapePnt___call__(self, *args)

    def Clear(self, *args) -> "void":
        return _LocOpe.LocOpe_DataMapOfShapePnt_Clear(self, *args)
    __swig_destroy__ = _LocOpe.delete_LocOpe_DataMapOfShapePnt

    def Size(self) -> "Standard_Integer":
        return _LocOpe.LocOpe_DataMapOfShapePnt_Size(self)

# 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

    def begin(self) -> "NCollection_Sequence< gp_Circ >::iterator":
        return _LocOpe.LocOpe_SequenceOfCirc_begin(self)

    def end(self) -> "NCollection_Sequence< gp_Circ >::iterator":
        return _LocOpe.LocOpe_SequenceOfCirc_end(self)

    def cbegin(self) -> "NCollection_Sequence< gp_Circ >::const_iterator":
        return _LocOpe.LocOpe_SequenceOfCirc_cbegin(self)

    def cend(self) -> "NCollection_Sequence< gp_Circ >::const_iterator":
        return _LocOpe.LocOpe_SequenceOfCirc_cend(self)

    def __init__(self, *args):
        _LocOpe.LocOpe_SequenceOfCirc_swiginit(self, _LocOpe.new_LocOpe_SequenceOfCirc(*args))

    def Size(self) -> "Standard_Integer":
        return _LocOpe.LocOpe_SequenceOfCirc_Size(self)

    def Length(self) -> "Standard_Integer":
        return _LocOpe.LocOpe_SequenceOfCirc_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _LocOpe.LocOpe_SequenceOfCirc_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _LocOpe.LocOpe_SequenceOfCirc_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _LocOpe.LocOpe_SequenceOfCirc_IsEmpty(self)

    def Reverse(self) -> "void":
        return _LocOpe.LocOpe_SequenceOfCirc_Reverse(self)

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

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

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

    def Assign(self, theOther: "LocOpe_SequenceOfCirc") -> "NCollection_Sequence< gp_Circ > &":
        return _LocOpe.LocOpe_SequenceOfCirc_Assign(self, theOther)

    def Set(self, theOther: "LocOpe_SequenceOfCirc") -> "NCollection_Sequence< gp_Circ > &":
        return _LocOpe.LocOpe_SequenceOfCirc_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _LocOpe.LocOpe_SequenceOfCirc_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _LocOpe.LocOpe_SequenceOfCirc_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _LocOpe.LocOpe_SequenceOfCirc_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _LocOpe.LocOpe_SequenceOfCirc_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _LocOpe.LocOpe_SequenceOfCirc_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "LocOpe_SequenceOfCirc") -> "void":
        return _LocOpe.LocOpe_SequenceOfCirc_Split(self, theIndex, theSeq)

    def First(self) -> "gp_Circ const &":
        return _LocOpe.LocOpe_SequenceOfCirc_First(self)

    def ChangeFirst(self) -> "gp_Circ &":
        return _LocOpe.LocOpe_SequenceOfCirc_ChangeFirst(self)

    def Last(self) -> "gp_Circ const &":
        return _LocOpe.LocOpe_SequenceOfCirc_Last(self)

    def ChangeLast(self) -> "gp_Circ &":
        return _LocOpe.LocOpe_SequenceOfCirc_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "gp_Circ const &":
        return _LocOpe.LocOpe_SequenceOfCirc_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "gp_Circ &":
        return _LocOpe.LocOpe_SequenceOfCirc_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "gp_Circ &":
        return _LocOpe.LocOpe_SequenceOfCirc___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "gp_Circ") -> "void":
        return _LocOpe.LocOpe_SequenceOfCirc_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _LocOpe.delete_LocOpe_SequenceOfCirc

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


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

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

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

    def begin(self) -> "NCollection_Sequence< gp_Lin >::iterator":
        return _LocOpe.LocOpe_SequenceOfLin_begin(self)

    def end(self) -> "NCollection_Sequence< gp_Lin >::iterator":
        return _LocOpe.LocOpe_SequenceOfLin_end(self)

    def cbegin(self) -> "NCollection_Sequence< gp_Lin >::const_iterator":
        return _LocOpe.LocOpe_SequenceOfLin_cbegin(self)

    def cend(self) -> "NCollection_Sequence< gp_Lin >::const_iterator":
        return _LocOpe.LocOpe_SequenceOfLin_cend(self)

    def __init__(self, *args):
        _LocOpe.LocOpe_SequenceOfLin_swiginit(self, _LocOpe.new_LocOpe_SequenceOfLin(*args))

    def Size(self) -> "Standard_Integer":
        return _LocOpe.LocOpe_SequenceOfLin_Size(self)

    def Length(self) -> "Standard_Integer":
        return _LocOpe.LocOpe_SequenceOfLin_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _LocOpe.LocOpe_SequenceOfLin_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _LocOpe.LocOpe_SequenceOfLin_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _LocOpe.LocOpe_SequenceOfLin_IsEmpty(self)

    def Reverse(self) -> "void":
        return _LocOpe.LocOpe_SequenceOfLin_Reverse(self)

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

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

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

    def Assign(self, theOther: "LocOpe_SequenceOfLin") -> "NCollection_Sequence< gp_Lin > &":
        return _LocOpe.LocOpe_SequenceOfLin_Assign(self, theOther)

    def Set(self, theOther: "LocOpe_SequenceOfLin") -> "NCollection_Sequence< gp_Lin > &":
        return _LocOpe.LocOpe_SequenceOfLin_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _LocOpe.LocOpe_SequenceOfLin_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _LocOpe.LocOpe_SequenceOfLin_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _LocOpe.LocOpe_SequenceOfLin_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _LocOpe.LocOpe_SequenceOfLin_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _LocOpe.LocOpe_SequenceOfLin_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "LocOpe_SequenceOfLin") -> "void":
        return _LocOpe.LocOpe_SequenceOfLin_Split(self, theIndex, theSeq)

    def First(self) -> "gp_Lin const &":
        return _LocOpe.LocOpe_SequenceOfLin_First(self)

    def ChangeFirst(self) -> "gp_Lin &":
        return _LocOpe.LocOpe_SequenceOfLin_ChangeFirst(self)

    def Last(self) -> "gp_Lin const &":
        return _LocOpe.LocOpe_SequenceOfLin_Last(self)

    def ChangeLast(self) -> "gp_Lin &":
        return _LocOpe.LocOpe_SequenceOfLin_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "gp_Lin const &":
        return _LocOpe.LocOpe_SequenceOfLin_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "gp_Lin &":
        return _LocOpe.LocOpe_SequenceOfLin_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "gp_Lin &":
        return _LocOpe.LocOpe_SequenceOfLin___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "gp_Lin") -> "void":
        return _LocOpe.LocOpe_SequenceOfLin_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _LocOpe.delete_LocOpe_SequenceOfLin

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


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

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

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

    def begin(self) -> "NCollection_Sequence< LocOpe_PntFace >::iterator":
        return _LocOpe.LocOpe_SequenceOfPntFace_begin(self)

    def end(self) -> "NCollection_Sequence< LocOpe_PntFace >::iterator":
        return _LocOpe.LocOpe_SequenceOfPntFace_end(self)

    def cbegin(self) -> "NCollection_Sequence< LocOpe_PntFace >::const_iterator":
        return _LocOpe.LocOpe_SequenceOfPntFace_cbegin(self)

    def cend(self) -> "NCollection_Sequence< LocOpe_PntFace >::const_iterator":
        return _LocOpe.LocOpe_SequenceOfPntFace_cend(self)

    def __init__(self, *args):
        _LocOpe.LocOpe_SequenceOfPntFace_swiginit(self, _LocOpe.new_LocOpe_SequenceOfPntFace(*args))

    def Size(self) -> "Standard_Integer":
        return _LocOpe.LocOpe_SequenceOfPntFace_Size(self)

    def Length(self) -> "Standard_Integer":
        return _LocOpe.LocOpe_SequenceOfPntFace_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _LocOpe.LocOpe_SequenceOfPntFace_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _LocOpe.LocOpe_SequenceOfPntFace_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _LocOpe.LocOpe_SequenceOfPntFace_IsEmpty(self)

    def Reverse(self) -> "void":
        return _LocOpe.LocOpe_SequenceOfPntFace_Reverse(self)

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

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

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

    def Assign(self, theOther: "LocOpe_SequenceOfPntFace") -> "NCollection_Sequence< LocOpe_PntFace > &":
        return _LocOpe.LocOpe_SequenceOfPntFace_Assign(self, theOther)

    def Set(self, theOther: "LocOpe_SequenceOfPntFace") -> "NCollection_Sequence< LocOpe_PntFace > &":
        return _LocOpe.LocOpe_SequenceOfPntFace_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _LocOpe.LocOpe_SequenceOfPntFace_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _LocOpe.LocOpe_SequenceOfPntFace_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _LocOpe.LocOpe_SequenceOfPntFace_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _LocOpe.LocOpe_SequenceOfPntFace_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _LocOpe.LocOpe_SequenceOfPntFace_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "LocOpe_SequenceOfPntFace") -> "void":
        return _LocOpe.LocOpe_SequenceOfPntFace_Split(self, theIndex, theSeq)

    def First(self) -> "LocOpe_PntFace const &":
        return _LocOpe.LocOpe_SequenceOfPntFace_First(self)

    def ChangeFirst(self) -> "LocOpe_PntFace &":
        return _LocOpe.LocOpe_SequenceOfPntFace_ChangeFirst(self)

    def Last(self) -> "LocOpe_PntFace const &":
        return _LocOpe.LocOpe_SequenceOfPntFace_Last(self)

    def ChangeLast(self) -> "LocOpe_PntFace &":
        return _LocOpe.LocOpe_SequenceOfPntFace_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "LocOpe_PntFace const &":
        return _LocOpe.LocOpe_SequenceOfPntFace_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "LocOpe_PntFace &":
        return _LocOpe.LocOpe_SequenceOfPntFace_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "LocOpe_PntFace &":
        return _LocOpe.LocOpe_SequenceOfPntFace___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "LocOpe_PntFace") -> "void":
        return _LocOpe.LocOpe_SequenceOfPntFace_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _LocOpe.delete_LocOpe_SequenceOfPntFace

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


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

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

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

    @staticmethod
    def Closed(*args) -> "Standard_Boolean":
        r"""
        Returns standard_true when the wire <w> is closed on the face <onf>.

        Parameters
        ----------
        W: TopoDS_Wire
        OnF: TopoDS_Face

        Returns
        -------
        bool
        Returns standard_true when the edge <e> is closed on the face <onf>.

        Parameters
        ----------
        E: TopoDS_Edge
        OnF: TopoDS_Face

        Returns
        -------
        bool

        """
        return _LocOpe.locope_Closed(*args)

    @staticmethod
    def SampleEdges(*args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape
        Pt: TColgp_SequenceOfPnt

        Returns
        -------
        None

        """
        return _LocOpe.locope_SampleEdges(*args)

    @staticmethod
    def TgtFaces(*args) -> "Standard_Boolean":
        r"""
        Returns standard_true when the faces are tangent.

        Parameters
        ----------
        E: TopoDS_Edge
        F1: TopoDS_Face
        F2: TopoDS_Face

        Returns
        -------
        bool

        """
        return _LocOpe.locope_TgtFaces(*args)

    __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)

def locope_Closed(*args) -> "Standard_Boolean":
    r"""
    Returns standard_true when the wire <w> is closed on the face <onf>.

    Parameters
    ----------
    W: TopoDS_Wire
    OnF: TopoDS_Face

    Returns
    -------
    bool
    Returns standard_true when the edge <e> is closed on the face <onf>.

    Parameters
    ----------
    E: TopoDS_Edge
    OnF: TopoDS_Face

    Returns
    -------
    bool

    """
    return _LocOpe.locope_Closed(*args)

def locope_SampleEdges(*args) -> "void":
    r"""
    No available documentation.

    Parameters
    ----------
    S: TopoDS_Shape
    Pt: TColgp_SequenceOfPnt

    Returns
    -------
    None

    """
    return _LocOpe.locope_SampleEdges(*args)

def locope_TgtFaces(*args) -> "Standard_Boolean":
    r"""
    Returns standard_true when the faces are tangent.

    Parameters
    ----------
    E: TopoDS_Edge
    F1: TopoDS_Face
    F2: TopoDS_Face

    Returns
    -------
    bool

    """
    return _LocOpe.locope_TgtFaces(*args)

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"""
        No available documentation.

        Returns
        -------
        None
        Builds shape(s) from the list <l>. uses only the faces of <l>.

        Parameters
        ----------
        L: TopTools_ListOfShape

        Returns
        -------
        None

        """
        _LocOpe.LocOpe_BuildShape_swiginit(self, _LocOpe.new_LocOpe_BuildShape(*args))

    def Perform(self, *args) -> "void":
        r"""
        Builds shape(s) from the list <l>. uses only the faces of <l>.

        Parameters
        ----------
        L: TopTools_ListOfShape

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_BuildShape_Perform(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_BuildShape_Shape(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

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

        Parameters
        ----------
        Ledges: TopTools_ListOfShape
        PW: LocOpe_WiresOnShape

        Returns
        -------
        None

        """
        _LocOpe.LocOpe_BuildWires_swiginit(self, _LocOpe.new_LocOpe_BuildWires(*args))

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

        Returns
        -------
        bool

        """
        return _LocOpe.LocOpe_BuildWires_IsDone(self, *args)

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

        Parameters
        ----------
        Ledges: TopTools_ListOfShape
        PW: LocOpe_WiresOnShape

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_BuildWires_Perform(self, *args)

    def Result(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        No available documentation.

        Returns
        -------
        TopTools_ListOfShape

        """
        return _LocOpe.LocOpe_BuildWires_Result(self, *args)

    __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

    def __init__(self, *args):
        r"""
        Empty constructor.

        Returns
        -------
        None
        Creates and performs the intersection betwwen <ax1> and <s>.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        _LocOpe.LocOpe_CSIntersector_swiginit(self, _LocOpe.new_LocOpe_CSIntersector(*args))

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

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_CSIntersector_Destroy(self, *args)

    def Init(self, *args) -> "void":
        r"""
        Performs the intersection between <ax1 and <s>.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_CSIntersector_Init(self, *args)

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        Returns <standard_true> if the intersection has been done.

        Returns
        -------
        bool

        """
        return _LocOpe.LocOpe_CSIntersector_IsDone(self, *args)

    def LocalizeAfter(self, *args) -> "Standard_Boolean":
        r"""
        On the element of range <i>, searches the first intersection point located after the parameter <from>, wich orientation is not topabs_external. if found, returns <standard_true>. <or> contains the orientation of the point, <indfrom> and <indto> represents the interval of index in the sequence of intersection point corresponding to the point. (indfrom <= indto). <tol> is used to determine if 2 parameters are equal. //! otherwise, returns <standard_false>.

        Parameters
        ----------
        I: int
        From: float
        Tol: float
        Or: TopAbs_Orientation

        Returns
        -------
        IndFrom: int
        IndTo: int
        On the element of range <i>, searches the first intersection point located after the index <fromind> ( >= fromind + 1), wich orientation is not topabs_external. if found, returns <standard_true>. <or> contains the orientation of the point, <indfrom> and <indto> represents the interval of index in the sequence of intersection point corresponding to the point. (indfrom <= indto). <tol> is used to determine if 2 parameters are equal. //! otherwise, returns <standard_false>.

        Parameters
        ----------
        I: int
        FromInd: int
        Tol: float
        Or: TopAbs_Orientation

        Returns
        -------
        IndFrom: int
        IndTo: int

        """
        return _LocOpe.LocOpe_CSIntersector_LocalizeAfter(self, *args)

    def LocalizeBefore(self, *args) -> "Standard_Boolean":
        r"""
        On the element of range <i>, searches the first intersection point located before the parameter <from>, wich orientation is not topabs_external. if found, returns <standard_true>. <or> contains the orientation of the point, <indfrom> and <indto> represents the interval of index in the sequence of intersection point corresponding to the point (indfrom <= indto). <tol> is used to determine if 2 parameters are equal. //! otherwise, returns <standard_false>.

        Parameters
        ----------
        I: int
        From: float
        Tol: float
        Or: TopAbs_Orientation

        Returns
        -------
        IndFrom: int
        IndTo: int
        On the element of range <i>, searches the first intersection point located before the index <fromind> ( <= fromind -1), wich orientation is not topabs_external. if found, returns <standard_true>. <or> contains the orientation of the point, <indfrom> and <indto> represents the interval of index in the sequence of intersection point corresponding to the point (indfrom <= indto). <tol> is used to determine if 2 parameters are equal. //! otherwise, returns <standard_false>.

        Parameters
        ----------
        I: int
        FromInd: int
        Tol: float
        Or: TopAbs_Orientation

        Returns
        -------
        IndFrom: int
        IndTo: int

        """
        return _LocOpe.LocOpe_CSIntersector_LocalizeBefore(self, *args)

    def NbPoints(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of intersection point on the element of range <i>.

        Parameters
        ----------
        I: int

        Returns
        -------
        int

        """
        return _LocOpe.LocOpe_CSIntersector_NbPoints(self, *args)

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

        Parameters
        ----------
        Slin: LocOpe_SequenceOfLin

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

        Parameters
        ----------
        Scir: LocOpe_SequenceOfCirc

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

        Parameters
        ----------
        Scur: TColGeom_SequenceOfCurve

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_CSIntersector_Perform(self, *args)

    def Point(self, *args) -> "LocOpe_PntFace const &":
        r"""
        Returns the intersection point of range <index> on element of range <i>. the points are sorted in increasing order of parameter along the axis.

        Parameters
        ----------
        I: int
        Index: int

        Returns
        -------
        LocOpe_PntFace

        """
        return _LocOpe.LocOpe_CSIntersector_Point(self, *args)

    __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

    def __init__(self, *args):
        r"""
        Empty constructor.

        Returns
        -------
        None
        Creates and performs the intersection betwwen <ax1> and <s>.

        Parameters
        ----------
        Axis: gp_Ax1
        S: TopoDS_Shape

        Returns
        -------
        None
        Creates and performs yte intersection betwwen <c> and <s>.

        Parameters
        ----------
        C: gp_Circ
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        _LocOpe.LocOpe_CurveShapeIntersector_swiginit(self, _LocOpe.new_LocOpe_CurveShapeIntersector(*args))

    def Init(self, *args) -> "void":
        r"""
        Performs the intersection between <ax1 and <s>.

        Parameters
        ----------
        Axis: gp_Ax1
        S: TopoDS_Shape

        Returns
        -------
        None
        Performs the intersection between <ax1 and <s>.

        Parameters
        ----------
        C: gp_Circ
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_CurveShapeIntersector_Init(self, *args)

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        Returns <standard_true> if the intersection has been done.

        Returns
        -------
        bool

        """
        return _LocOpe.LocOpe_CurveShapeIntersector_IsDone(self, *args)

    def LocalizeAfter(self, *args) -> "Standard_Boolean":
        r"""
        Searches the first intersection point located after the parameter <from>, wich orientation is not topabs_external. if found, returns <standard_true>. <or> contains the orientation of the point, <indfrom> and <indto> represents the interval of index in the sequence of intersection point corresponding to the point. (indfrom <= indto). //! otherwise, returns <standard_false>.

        Parameters
        ----------
        From: float
        Or: TopAbs_Orientation

        Returns
        -------
        IndFrom: int
        IndTo: int
        Searches the first intersection point located after the index <fromind> ( >= fromind + 1), wich orientation is not topabs_external. if found, returns <standard_true>. <or> contains the orientation of the point, <indfrom> and <indto> represents the interval of index in the sequence of intersection point corresponding to the point. (indfrom <= indto). //! otherwise, returns <standard_false>.

        Parameters
        ----------
        FromInd: int
        Or: TopAbs_Orientation

        Returns
        -------
        IndFrom: int
        IndTo: int

        """
        return _LocOpe.LocOpe_CurveShapeIntersector_LocalizeAfter(self, *args)

    def LocalizeBefore(self, *args) -> "Standard_Boolean":
        r"""
        Searches the first intersection point located before the parameter <from>, wich orientation is not topabs_external. if found, returns <standard_true>. <or> contains the orientation of the point, <indfrom> and <indto> represents the interval of index in the sequence of intersection point corresponding to the point (indfrom <= indto). //! otherwise, returns <standard_false>.

        Parameters
        ----------
        From: float
        Or: TopAbs_Orientation

        Returns
        -------
        IndFrom: int
        IndTo: int
        Searches the first intersection point located before the index <fromind> ( <= fromind -1), wich orientation is not topabs_external. if found, returns <standard_true>. <or> contains the orientation of the point, <indfrom> and <indto> represents the interval of index in the sequence of intersection point corresponding to the point (indfrom <= indto). //! otherwise, returns <standard_false>.

        Parameters
        ----------
        FromInd: int
        Or: TopAbs_Orientation

        Returns
        -------
        IndFrom: int
        IndTo: int

        """
        return _LocOpe.LocOpe_CurveShapeIntersector_LocalizeBefore(self, *args)

    def NbPoints(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of intersection point.

        Returns
        -------
        int

        """
        return _LocOpe.LocOpe_CurveShapeIntersector_NbPoints(self, *args)

    def Point(self, *args) -> "LocOpe_PntFace const &":
        r"""
        Returns the intersection point of range <index>. the points are sorted in increasing order of parameter along the axis.

        Parameters
        ----------
        Index: int

        Returns
        -------
        LocOpe_PntFace

        """
        return _LocOpe.LocOpe_CurveShapeIntersector_Point(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        Spine: TopoDS_Face
        Height1: float
        Height2: float
        Angle: float

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

        Parameters
        ----------
        Spine: TopoDS_Face
        Height: float
        Angle: float

        Returns
        -------
        None

        """
        _LocOpe.LocOpe_DPrism_swiginit(self, _LocOpe.new_LocOpe_DPrism(*args))

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

        Returns
        -------
        opencascade::handle<Geom_Curve>

        """
        return _LocOpe.LocOpe_DPrism_BarycCurve(self, *args)

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

        Parameters
        ----------
        SCurves: TColGeom_SequenceOfCurve

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_DPrism_Curves(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_DPrism_FirstShape(self, *args)

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

        Returns
        -------
        bool

        """
        return _LocOpe.LocOpe_DPrism_IsDone(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_DPrism_LastShape(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_DPrism_Profile(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_DPrism_Shape(self, *args)

    def Shapes(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopTools_ListOfShape

        """
        return _LocOpe.LocOpe_DPrism_Shapes(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_DPrism_Spine(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

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

        Parameters
        ----------
        FFrom: TopoDS_Shape
        FTo: TopoDS_Shape

        Returns
        -------
        None

        """
        _LocOpe.LocOpe_FindEdges_swiginit(self, _LocOpe.new_LocOpe_FindEdges(*args))

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

        Returns
        -------
        TopoDS_Edge

        """
        return _LocOpe.LocOpe_FindEdges_EdgeFrom(self, *args)

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

        Returns
        -------
        TopoDS_Edge

        """
        return _LocOpe.LocOpe_FindEdges_EdgeTo(self, *args)

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

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_FindEdges_InitIterator(self, *args)

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

        Returns
        -------
        bool

        """
        return _LocOpe.LocOpe_FindEdges_More(self, *args)

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

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_FindEdges_Next(self, *args)

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

        Parameters
        ----------
        FFrom: TopoDS_Shape
        FTo: TopoDS_Shape

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_FindEdges_Set(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

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

        Parameters
        ----------
        S: TopoDS_Shape
        F: TopoDS_Face

        Returns
        -------
        None

        """
        _LocOpe.LocOpe_FindEdgesInFace_swiginit(self, _LocOpe.new_LocOpe_FindEdgesInFace(*args))

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

        Returns
        -------
        TopoDS_Edge

        """
        return _LocOpe.LocOpe_FindEdgesInFace_Edge(self, *args)

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

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_FindEdgesInFace_Init(self, *args)

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

        Returns
        -------
        bool

        """
        return _LocOpe.LocOpe_FindEdgesInFace_More(self, *args)

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

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_FindEdgesInFace_Next(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape
        F: TopoDS_Face

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_FindEdgesInFace_Set(self, *args)

    __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

    def Generated(self, *args) -> "TopoDS_Face":
        r"""
        Returns the edge created by the vertex <v>. if none, must return a null shape.

        Parameters
        ----------
        V: TopoDS_Vertex

        Returns
        -------
        TopoDS_Edge
        Returns the face created by the edge <e>. if none, must return a null shape.

        Parameters
        ----------
        E: TopoDS_Edge

        Returns
        -------
        TopoDS_Face

        """
        return _LocOpe.LocOpe_GeneratedShape_Generated(self, *args)

    def GeneratingEdges(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        No available documentation.

        Returns
        -------
        TopTools_ListOfShape

        """
        return _LocOpe.LocOpe_GeneratedShape_GeneratingEdges(self, *args)

    def OrientedFaces(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns the list of correctly oriented generated faces.

        Returns
        -------
        TopTools_ListOfShape

        """
        return _LocOpe.LocOpe_GeneratedShape_OrientedFaces(self, *args)


    @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

    def __init__(self, *args):
        r"""
        Empty constructor.

        Returns
        -------
        None
        Creates the algorithm on the shape <s>.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        _LocOpe.LocOpe_Generator_swiginit(self, _LocOpe.new_LocOpe_Generator(*args))

    def DescendantFace(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns the descendant face of <f>. <f> may belong to the original shape or to the 'generated' shape. the returned face may be a null shape (when <f> disappears).

        Parameters
        ----------
        F: TopoDS_Face

        Returns
        -------
        TopTools_ListOfShape

        """
        return _LocOpe.LocOpe_Generator_DescendantFace(self, *args)

    def Init(self, *args) -> "void":
        r"""
        Initializes the algorithm on the shape <s>.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_Generator_Init(self, *args)

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

        Returns
        -------
        bool

        """
        return _LocOpe.LocOpe_Generator_IsDone(self, *args)

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

        Parameters
        ----------
        G: LocOpe_GeneratedShape

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_Generator_Perform(self, *args)

    def ResultingShape(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns the new shape.

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_Generator_ResultingShape(self, *args)

    def Shape(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns the initial shape.

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_Generator_Shape(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

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

        Parameters
        ----------
        Sbase: TopoDS_Shape
        Snew: TopoDS_Shape

        Returns
        -------
        None

        """
        _LocOpe.LocOpe_Gluer_swiginit(self, _LocOpe.new_LocOpe_Gluer(*args))

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_Gluer_BasisShape(self, *args)

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

        Parameters
        ----------
        Fnew: TopoDS_Face
        Fbase: TopoDS_Face

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

        Parameters
        ----------
        Enew: TopoDS_Edge
        Ebase: TopoDS_Edge

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_Gluer_Bind(self, *args)

    def DescendantFaces(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        No available documentation.

        Parameters
        ----------
        F: TopoDS_Face

        Returns
        -------
        TopTools_ListOfShape

        """
        return _LocOpe.LocOpe_Gluer_DescendantFaces(self, *args)

    def Edges(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        No available documentation.

        Returns
        -------
        TopTools_ListOfShape

        """
        return _LocOpe.LocOpe_Gluer_Edges(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_Gluer_GluedShape(self, *args)

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

        Parameters
        ----------
        Sbase: TopoDS_Shape
        Snew: TopoDS_Shape

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_Gluer_Init(self, *args)

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

        Returns
        -------
        bool

        """
        return _LocOpe.LocOpe_Gluer_IsDone(self, *args)

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

        Returns
        -------
        LocOpe_Operation

        """
        return _LocOpe.LocOpe_Gluer_OpeType(self, *args)

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

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_Gluer_Perform(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_Gluer_ResultingShape(self, *args)

    def TgtEdges(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        No available documentation.

        Returns
        -------
        TopTools_ListOfShape

        """
        return _LocOpe.LocOpe_Gluer_TgtEdges(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

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

        Parameters
        ----------
        Base: TopoDS_Shape
        V: gp_Vec
        Pnt1: gp_Pnt
        Pnt2: gp_Pnt

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

        Parameters
        ----------
        Base: TopoDS_Shape
        V: gp_Vec
        Vectra: gp_Vec
        Pnt1: gp_Pnt
        Pnt2: gp_Pnt

        Returns
        -------
        None

        """
        _LocOpe.LocOpe_LinearForm_swiginit(self, _LocOpe.new_LocOpe_LinearForm(*args))

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_LinearForm_FirstShape(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_LinearForm_LastShape(self, *args)

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

        Parameters
        ----------
        Base: TopoDS_Shape
        V: gp_Vec
        Pnt1: gp_Pnt
        Pnt2: gp_Pnt

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

        Parameters
        ----------
        Base: TopoDS_Shape
        V: gp_Vec
        Vectra: gp_Vec
        Pnt1: gp_Pnt
        Pnt2: gp_Pnt

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_LinearForm_Perform(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_LinearForm_Shape(self, *args)

    def Shapes(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopTools_ListOfShape

        """
        return _LocOpe.LocOpe_LinearForm_Shapes(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        Spine: TopoDS_Wire
        Profile: TopoDS_Shape

        Returns
        -------
        None

        """
        _LocOpe.LocOpe_Pipe_swiginit(self, _LocOpe.new_LocOpe_Pipe(*args))

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

        Returns
        -------
        opencascade::handle<Geom_Curve>

        """
        return _LocOpe.LocOpe_Pipe_BarycCurve(self, *args)

    def Curves(self, *args) -> "TColGeom_SequenceOfCurve const &":
        r"""
        No available documentation.

        Parameters
        ----------
        Spt: TColgp_SequenceOfPnt

        Returns
        -------
        TColGeom_SequenceOfCurve

        """
        return _LocOpe.LocOpe_Pipe_Curves(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_Pipe_FirstShape(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_Pipe_LastShape(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_Pipe_Profile(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_Pipe_Shape(self, *args)

    def Shapes(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopTools_ListOfShape

        """
        return _LocOpe.LocOpe_Pipe_Shapes(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_Pipe_Spine(self, *args)

    __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

    def __init__(self, *args):
        r"""
        Empty constructor. useful only for the list.

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

        Parameters
        ----------
        P: gp_Pnt
        F: TopoDS_Face
        Or: TopAbs_Orientation
        Param: float
        UPar: float
        VPar: float

        Returns
        -------
        None

        """
        _LocOpe.LocOpe_PntFace_swiginit(self, _LocOpe.new_LocOpe_PntFace(*args))

    def ChangeOrientation(self, *args) -> "TopAbs_Orientation &":
        r"""
        No available documentation.

        Returns
        -------
        TopAbs_Orientation

        """
        return _LocOpe.LocOpe_PntFace_ChangeOrientation(self, *args)

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

        Returns
        -------
        TopoDS_Face

        """
        return _LocOpe.LocOpe_PntFace_Face(self, *args)

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

        Returns
        -------
        TopAbs_Orientation

        """
        return _LocOpe.LocOpe_PntFace_Orientation(self, *args)

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

        Returns
        -------
        float

        """
        return _LocOpe.LocOpe_PntFace_Parameter(self, *args)

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

        Returns
        -------
        gp_Pnt

        """
        return _LocOpe.LocOpe_PntFace_Pnt(self, *args)

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

        Returns
        -------
        float

        """
        return _LocOpe.LocOpe_PntFace_UParameter(self, *args)

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

        Returns
        -------
        float

        """
        return _LocOpe.LocOpe_PntFace_VParameter(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

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

        Parameters
        ----------
        Base: TopoDS_Shape
        V: gp_Vec

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

        Parameters
        ----------
        Base: TopoDS_Shape
        V: gp_Vec
        Vectra: gp_Vec

        Returns
        -------
        None

        """
        _LocOpe.LocOpe_Prism_swiginit(self, _LocOpe.new_LocOpe_Prism(*args))

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

        Returns
        -------
        opencascade::handle<Geom_Curve>

        """
        return _LocOpe.LocOpe_Prism_BarycCurve(self, *args)

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

        Parameters
        ----------
        SCurves: TColGeom_SequenceOfCurve

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_Prism_Curves(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_Prism_FirstShape(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_Prism_LastShape(self, *args)

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

        Parameters
        ----------
        Base: TopoDS_Shape
        V: gp_Vec

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

        Parameters
        ----------
        Base: TopoDS_Shape
        V: gp_Vec
        Vtra: gp_Vec

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_Prism_Perform(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_Prism_Shape(self, *args)

    def Shapes(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopTools_ListOfShape

        """
        return _LocOpe.LocOpe_Prism_Shapes(self, *args)

    __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

    def __init__(self, *args):
        r"""
        Empty constructor.

        Returns
        -------
        None
        Creates the algoritm on the shape <s>.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        _LocOpe.LocOpe_SplitDrafts_swiginit(self, _LocOpe.new_LocOpe_SplitDrafts(*args))

    def Init(self, *args) -> "void":
        r"""
        Initializes the algoritm with the shape <s>.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_SplitDrafts_Init(self, *args)

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        Returns <standard_true> if the modification has been succesfully performed.

        Returns
        -------
        bool

        """
        return _LocOpe.LocOpe_SplitDrafts_IsDone(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_SplitDrafts_OriginalShape(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        Splits the face <f> of the former given shape with the wire <w>. the wire is assumed to lie on the face. puts a draft angle on both parts of the wire. <extractg>, <nplg>, <angleg> define the arguments for the left part of the wire. <extractd>, <npld>, <angled> define the arguments for the right part of the wire. the draft angle is measured with the direction <extract>. <npl> defines the neutral plane (points belonging to the neutral plane are not modified). <angle> is the value of the draft angle. if <modifyleft> is set to <standard_false>, no draft angle is applied to the left part of the wire. if <modifyright> is set to <standard_false>,no draft angle is applied to the right part of the wire.

        Parameters
        ----------
        F: TopoDS_Face
        W: TopoDS_Wire
        Extractg: gp_Dir
        NPlg: gp_Pln
        Angleg: float
        Extractd: gp_Dir
        NPld: gp_Pln
        Angled: float
        ModifyLeft: bool,optional
        	default value is Standard_True
        ModifyRight: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        Splits the face <f> of the former given shape with the wire <w>. the wire is assumed to lie on the face. puts a draft angle on the left part of the wire. the draft angle is measured with the direction <extract>. <npl> defines the neutral plane (points belonging to the neutral plane are not modified). <angle> is the value of the draft angle.

        Parameters
        ----------
        F: TopoDS_Face
        W: TopoDS_Wire
        Extract: gp_Dir
        NPl: gp_Pln
        Angle: float

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_SplitDrafts_Perform(self, *args)

    def Shape(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns the modified shape.

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_SplitDrafts_Shape(self, *args)

    def ShapesFromShape(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Manages the descendant shapes.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopTools_ListOfShape

        """
        return _LocOpe.LocOpe_SplitDrafts_ShapesFromShape(self, *args)

    __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

    def __init__(self, *args):
        r"""
        Empty constructor.

        Returns
        -------
        None
        Creates the process with the shape <s>.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        _LocOpe.LocOpe_SplitShape_swiginit(self, _LocOpe.new_LocOpe_SplitShape(*args))

    def Add(self, *args) -> "Standard_Boolean":
        r"""
        Adds the vertex <v> on the edge <e>, at parameter <p>.

        Parameters
        ----------
        V: TopoDS_Vertex
        P: float
        E: TopoDS_Edge

        Returns
        -------
        None
        Adds the wire <w> on the face <f>.

        Parameters
        ----------
        W: TopoDS_Wire
        F: TopoDS_Face

        Returns
        -------
        bool
        Adds the list of wires <lwires> on the face <f>.

        Parameters
        ----------
        Lwires: TopTools_ListOfShape
        F: TopoDS_Face

        Returns
        -------
        bool

        """
        return _LocOpe.LocOpe_SplitShape_Add(self, *args)

    def CanSplit(self, *args) -> "Standard_Boolean":
        r"""
        Tests if it is possible to split the edge <e>.

        Parameters
        ----------
        E: TopoDS_Edge

        Returns
        -------
        bool

        """
        return _LocOpe.LocOpe_SplitShape_CanSplit(self, *args)

    def DescendantShapes(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns the list of descendant shapes of <s>.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopTools_ListOfShape

        """
        return _LocOpe.LocOpe_SplitShape_DescendantShapes(self, *args)

    def Init(self, *args) -> "void":
        r"""
        Initializes the process on the shape <s>.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_SplitShape_Init(self, *args)

    def LeftOf(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns the 'left' part defined by the wire <w> on the face <f>. the returned list of shape is in fact a list of faces. the face <f> is considered with its topological orientation in the original shape. <w> is considered with its orientation.

        Parameters
        ----------
        W: TopoDS_Wire
        F: TopoDS_Face

        Returns
        -------
        TopTools_ListOfShape

        """
        return _LocOpe.LocOpe_SplitShape_LeftOf(self, *args)

    def Shape(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns the 'original' shape.

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_SplitShape_Shape(self, *args)

    __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

    def __init__(self, *args):
        r"""
        Empty constructor.

        Returns
        -------
        None
        Creates the algorithm on the shape <s>.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        _LocOpe.LocOpe_Spliter_swiginit(self, _LocOpe.new_LocOpe_Spliter(*args))

    def DescendantShapes(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns the list of descendant shapes of <s>.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopTools_ListOfShape

        """
        return _LocOpe.LocOpe_Spliter_DescendantShapes(self, *args)

    def DirectLeft(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns the faces which are the left of the projected wires and which are.

        Returns
        -------
        TopTools_ListOfShape

        """
        return _LocOpe.LocOpe_Spliter_DirectLeft(self, *args)

    def Init(self, *args) -> "void":
        r"""
        Initializes the algorithm on the shape <s>.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_Spliter_Init(self, *args)

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

        Returns
        -------
        bool

        """
        return _LocOpe.LocOpe_Spliter_IsDone(self, *args)

    def Left(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns the faces of the 'left' part on the shape. (it is build from directleft, with the faces connected to this set, and so on...).

        Returns
        -------
        TopTools_ListOfShape

        """
        return _LocOpe.LocOpe_Spliter_Left(self, *args)

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

        Parameters
        ----------
        PW: LocOpe_WiresOnShape

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_Spliter_Perform(self, *args)

    def ResultingShape(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns the new shape.

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_Spliter_ResultingShape(self, *args)

    def Shape(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns the initial shape.

        Returns
        -------
        TopoDS_Shape

        """
        return _LocOpe.LocOpe_Spliter_Shape(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        _LocOpe.LocOpe_WiresOnShape_swiginit(self, _LocOpe.new_LocOpe_WiresOnShape(*args))

    def Add(self, *args) -> "Standard_Boolean":
        r"""
        Add splitting edges or wires for whole initial shape withot additional specification edge->face, edge->edge this method puts edge on the corresponding faces from initial shape.

        Parameters
        ----------
        theEdges: TopTools_SequenceOfShape

        Returns
        -------
        bool

        """
        return _LocOpe.LocOpe_WiresOnShape_Add(self, *args)

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

        Parameters
        ----------
        W: TopoDS_Wire
        F: TopoDS_Face

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

        Parameters
        ----------
        Comp: TopoDS_Compound
        F: TopoDS_Face

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

        Parameters
        ----------
        E: TopoDS_Edge
        F: TopoDS_Face

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

        Parameters
        ----------
        EfromW: TopoDS_Edge
        EonFace: TopoDS_Edge

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_WiresOnShape_Bind(self, *args)

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

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_WiresOnShape_BindAll(self, *args)

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

        Returns
        -------
        TopoDS_Edge

        """
        return _LocOpe.LocOpe_WiresOnShape_Edge(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_WiresOnShape_Init(self, *args)

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

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_WiresOnShape_InitEdgeIterator(self, *args)

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

        Returns
        -------
        bool

        """
        return _LocOpe.LocOpe_WiresOnShape_IsDone(self, *args)

    def IsFaceWithSection(self, *args) -> "Standard_Boolean":
        r"""
        Tells is the face to be split by section or not.

        Parameters
        ----------
        aFace: TopoDS_Shape

        Returns
        -------
        bool

        """
        return _LocOpe.LocOpe_WiresOnShape_IsFaceWithSection(self, *args)

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

        Returns
        -------
        bool

        """
        return _LocOpe.LocOpe_WiresOnShape_MoreEdge(self, *args)

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

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_WiresOnShape_NextEdge(self, *args)

    def OnEdge(self, *args) -> "Standard_Boolean":
        r"""
        If the current edge is projected on an edge, returns <standard_true> and sets the value of <e>. otherwise, returns <standard_false>.

        Parameters
        ----------
        E: TopoDS_Edge

        Returns
        -------
        bool
        If the vertex <v> lies on an edge of the original shape, returns <standard_true> and sets the concerned edge in <e>, and the parameter on the edge in <p>. else returns <standard_false>.

        Parameters
        ----------
        V: TopoDS_Vertex
        E: TopoDS_Edge

        Returns
        -------
        P: float
        If the vertex <v> lies on an edge of the original shape, returns <standard_true> and sets the concerned edge in <e>, and the parameter on the edge in <p>. else returns <standard_false>.

        Parameters
        ----------
        V: TopoDS_Vertex
        EdgeFrom: TopoDS_Edge
        E: TopoDS_Edge

        Returns
        -------
        P: float

        """
        return _LocOpe.LocOpe_WiresOnShape_OnEdge(self, *args)

    def OnFace(self, *args) -> "TopoDS_Face":
        r"""
        Returns the face of the shape on which the current edge is projected.

        Returns
        -------
        TopoDS_Face

        """
        return _LocOpe.LocOpe_WiresOnShape_OnFace(self, *args)

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

        Parameters
        ----------
        Vwire: TopoDS_Vertex
        Vshape: TopoDS_Vertex

        Returns
        -------
        bool

        """
        return _LocOpe.LocOpe_WiresOnShape_OnVertex(self, *args)

    def SetCheckInterior(self, *args) -> "void":
        r"""
        Set the flag of check internal intersections default value is true (to check).

        Parameters
        ----------
        ToCheckInterior: bool

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_WiresOnShape_SetCheckInterior(self, *args)


    @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

    def __init__(self, *args):
        r"""
        No available documentation.

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

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        _LocOpe.LocOpe_GluedShape_swiginit(self, _LocOpe.new_LocOpe_GluedShape(*args))

    def Generated(self, *args) -> "TopoDS_Face":
        r"""
        Returns the edge created by the vertex <v>. if none, must return a null shape.

        Parameters
        ----------
        V: TopoDS_Vertex

        Returns
        -------
        TopoDS_Edge
        Returns the face created by the edge <e>. if none, must return a null shape.

        Parameters
        ----------
        E: TopoDS_Edge

        Returns
        -------
        TopoDS_Face

        """
        return _LocOpe.LocOpe_GluedShape_Generated(self, *args)

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

        Parameters
        ----------
        F: TopoDS_Face

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_GluedShape_GlueOnFace(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        return _LocOpe.LocOpe_GluedShape_Init(self, *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)


@classnotwrapped
class LocOpe_Revol:
	pass

@classnotwrapped
class LocOpe_RevolutionForm:
	pass






