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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register SwigPyIterator in _ShapeUpgrade:
_ShapeUpgrade.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 _ShapeUpgrade.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.Geom
import OCC.Core.gp
import OCC.Core.TColStd
import OCC.Core.TCollection
import OCC.Core.GeomAbs
import OCC.Core.TColgp
import OCC.Core.TColGeom
import OCC.Core.Geom2d
import OCC.Core.TColGeom2d
import OCC.Core.TopoDS
import OCC.Core.Message
import OCC.Core.OSD
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.ShapeBuild
import OCC.Core.BRepTools
import OCC.Core.Bnd
import OCC.Core.BVH
import OCC.Core.TopTools
import OCC.Core.BRep
import OCC.Core.Poly
import OCC.Core.TShort
import OCC.Core.ShapeExtend
import OCC.Core.ShapeAnalysis
import OCC.Core.Adaptor3d
import OCC.Core.Adaptor2d
import OCC.Core.math
import OCC.Core.GeomAdaptor
import OCC.Core.IntRes2d

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




def Handle_ShapeUpgrade_RemoveLocations_Create() -> "opencascade::handle< ShapeUpgrade_RemoveLocations >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_RemoveLocations_Create()

def Handle_ShapeUpgrade_RemoveLocations_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_RemoveLocations >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_RemoveLocations_DownCast(t)

def Handle_ShapeUpgrade_RemoveLocations_IsNull(t: "opencascade::handle< ShapeUpgrade_RemoveLocations > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_RemoveLocations_IsNull(t)

def Handle_ShapeUpgrade_SplitCurve_Create() -> "opencascade::handle< ShapeUpgrade_SplitCurve >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve_Create()

def Handle_ShapeUpgrade_SplitCurve_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_SplitCurve >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve_DownCast(t)

def Handle_ShapeUpgrade_SplitCurve_IsNull(t: "opencascade::handle< ShapeUpgrade_SplitCurve > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve_IsNull(t)

def Handle_ShapeUpgrade_SplitSurface_Create() -> "opencascade::handle< ShapeUpgrade_SplitSurface >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurface_Create()

def Handle_ShapeUpgrade_SplitSurface_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_SplitSurface >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurface_DownCast(t)

def Handle_ShapeUpgrade_SplitSurface_IsNull(t: "opencascade::handle< ShapeUpgrade_SplitSurface > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurface_IsNull(t)

def Handle_ShapeUpgrade_Tool_Create() -> "opencascade::handle< ShapeUpgrade_Tool >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_Tool_Create()

def Handle_ShapeUpgrade_Tool_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_Tool >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_Tool_DownCast(t)

def Handle_ShapeUpgrade_Tool_IsNull(t: "opencascade::handle< ShapeUpgrade_Tool > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_Tool_IsNull(t)

def Handle_ShapeUpgrade_UnifySameDomain_Create() -> "opencascade::handle< ShapeUpgrade_UnifySameDomain >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_UnifySameDomain_Create()

def Handle_ShapeUpgrade_UnifySameDomain_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_UnifySameDomain >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_UnifySameDomain_DownCast(t)

def Handle_ShapeUpgrade_UnifySameDomain_IsNull(t: "opencascade::handle< ShapeUpgrade_UnifySameDomain > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_UnifySameDomain_IsNull(t)

def Handle_ShapeUpgrade_ConvertSurfaceToBezierBasis_Create() -> "opencascade::handle< ShapeUpgrade_ConvertSurfaceToBezierBasis >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_ConvertSurfaceToBezierBasis_Create()

def Handle_ShapeUpgrade_ConvertSurfaceToBezierBasis_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_ConvertSurfaceToBezierBasis >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_ConvertSurfaceToBezierBasis_DownCast(t)

def Handle_ShapeUpgrade_ConvertSurfaceToBezierBasis_IsNull(t: "opencascade::handle< ShapeUpgrade_ConvertSurfaceToBezierBasis > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_ConvertSurfaceToBezierBasis_IsNull(t)

def Handle_ShapeUpgrade_EdgeDivide_Create() -> "opencascade::handle< ShapeUpgrade_EdgeDivide >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_EdgeDivide_Create()

def Handle_ShapeUpgrade_EdgeDivide_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_EdgeDivide >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_EdgeDivide_DownCast(t)

def Handle_ShapeUpgrade_EdgeDivide_IsNull(t: "opencascade::handle< ShapeUpgrade_EdgeDivide > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_EdgeDivide_IsNull(t)

def Handle_ShapeUpgrade_FaceDivide_Create() -> "opencascade::handle< ShapeUpgrade_FaceDivide >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_FaceDivide_Create()

def Handle_ShapeUpgrade_FaceDivide_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_FaceDivide >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_FaceDivide_DownCast(t)

def Handle_ShapeUpgrade_FaceDivide_IsNull(t: "opencascade::handle< ShapeUpgrade_FaceDivide > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_FaceDivide_IsNull(t)

def Handle_ShapeUpgrade_FixSmallCurves_Create() -> "opencascade::handle< ShapeUpgrade_FixSmallCurves >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_FixSmallCurves_Create()

def Handle_ShapeUpgrade_FixSmallCurves_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_FixSmallCurves >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_FixSmallCurves_DownCast(t)

def Handle_ShapeUpgrade_FixSmallCurves_IsNull(t: "opencascade::handle< ShapeUpgrade_FixSmallCurves > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_FixSmallCurves_IsNull(t)

def Handle_ShapeUpgrade_RemoveInternalWires_Create() -> "opencascade::handle< ShapeUpgrade_RemoveInternalWires >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_RemoveInternalWires_Create()

def Handle_ShapeUpgrade_RemoveInternalWires_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_RemoveInternalWires >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_RemoveInternalWires_DownCast(t)

def Handle_ShapeUpgrade_RemoveInternalWires_IsNull(t: "opencascade::handle< ShapeUpgrade_RemoveInternalWires > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_RemoveInternalWires_IsNull(t)

def Handle_ShapeUpgrade_SplitCurve2d_Create() -> "opencascade::handle< ShapeUpgrade_SplitCurve2d >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve2d_Create()

def Handle_ShapeUpgrade_SplitCurve2d_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_SplitCurve2d >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve2d_DownCast(t)

def Handle_ShapeUpgrade_SplitCurve2d_IsNull(t: "opencascade::handle< ShapeUpgrade_SplitCurve2d > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve2d_IsNull(t)

def Handle_ShapeUpgrade_SplitCurve3d_Create() -> "opencascade::handle< ShapeUpgrade_SplitCurve3d >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve3d_Create()

def Handle_ShapeUpgrade_SplitCurve3d_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_SplitCurve3d >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve3d_DownCast(t)

def Handle_ShapeUpgrade_SplitCurve3d_IsNull(t: "opencascade::handle< ShapeUpgrade_SplitCurve3d > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve3d_IsNull(t)

def Handle_ShapeUpgrade_SplitSurfaceAngle_Create() -> "opencascade::handle< ShapeUpgrade_SplitSurfaceAngle >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurfaceAngle_Create()

def Handle_ShapeUpgrade_SplitSurfaceAngle_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_SplitSurfaceAngle >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurfaceAngle_DownCast(t)

def Handle_ShapeUpgrade_SplitSurfaceAngle_IsNull(t: "opencascade::handle< ShapeUpgrade_SplitSurfaceAngle > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurfaceAngle_IsNull(t)

def Handle_ShapeUpgrade_SplitSurfaceArea_Create() -> "opencascade::handle< ShapeUpgrade_SplitSurfaceArea >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurfaceArea_Create()

def Handle_ShapeUpgrade_SplitSurfaceArea_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_SplitSurfaceArea >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurfaceArea_DownCast(t)

def Handle_ShapeUpgrade_SplitSurfaceArea_IsNull(t: "opencascade::handle< ShapeUpgrade_SplitSurfaceArea > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurfaceArea_IsNull(t)

def Handle_ShapeUpgrade_SplitSurfaceContinuity_Create() -> "opencascade::handle< ShapeUpgrade_SplitSurfaceContinuity >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurfaceContinuity_Create()

def Handle_ShapeUpgrade_SplitSurfaceContinuity_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_SplitSurfaceContinuity >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurfaceContinuity_DownCast(t)

def Handle_ShapeUpgrade_SplitSurfaceContinuity_IsNull(t: "opencascade::handle< ShapeUpgrade_SplitSurfaceContinuity > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurfaceContinuity_IsNull(t)

def Handle_ShapeUpgrade_WireDivide_Create() -> "opencascade::handle< ShapeUpgrade_WireDivide >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_WireDivide_Create()

def Handle_ShapeUpgrade_WireDivide_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_WireDivide >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_WireDivide_DownCast(t)

def Handle_ShapeUpgrade_WireDivide_IsNull(t: "opencascade::handle< ShapeUpgrade_WireDivide > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_WireDivide_IsNull(t)

def Handle_ShapeUpgrade_ClosedEdgeDivide_Create() -> "opencascade::handle< ShapeUpgrade_ClosedEdgeDivide >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_ClosedEdgeDivide_Create()

def Handle_ShapeUpgrade_ClosedEdgeDivide_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_ClosedEdgeDivide >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_ClosedEdgeDivide_DownCast(t)

def Handle_ShapeUpgrade_ClosedEdgeDivide_IsNull(t: "opencascade::handle< ShapeUpgrade_ClosedEdgeDivide > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_ClosedEdgeDivide_IsNull(t)

def Handle_ShapeUpgrade_ClosedFaceDivide_Create() -> "opencascade::handle< ShapeUpgrade_ClosedFaceDivide >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_ClosedFaceDivide_Create()

def Handle_ShapeUpgrade_ClosedFaceDivide_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_ClosedFaceDivide >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_ClosedFaceDivide_DownCast(t)

def Handle_ShapeUpgrade_ClosedFaceDivide_IsNull(t: "opencascade::handle< ShapeUpgrade_ClosedFaceDivide > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_ClosedFaceDivide_IsNull(t)

def Handle_ShapeUpgrade_ConvertCurve2dToBezier_Create() -> "opencascade::handle< ShapeUpgrade_ConvertCurve2dToBezier >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_ConvertCurve2dToBezier_Create()

def Handle_ShapeUpgrade_ConvertCurve2dToBezier_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_ConvertCurve2dToBezier >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_ConvertCurve2dToBezier_DownCast(t)

def Handle_ShapeUpgrade_ConvertCurve2dToBezier_IsNull(t: "opencascade::handle< ShapeUpgrade_ConvertCurve2dToBezier > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_ConvertCurve2dToBezier_IsNull(t)

def Handle_ShapeUpgrade_ConvertCurve3dToBezier_Create() -> "opencascade::handle< ShapeUpgrade_ConvertCurve3dToBezier >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_ConvertCurve3dToBezier_Create()

def Handle_ShapeUpgrade_ConvertCurve3dToBezier_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_ConvertCurve3dToBezier >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_ConvertCurve3dToBezier_DownCast(t)

def Handle_ShapeUpgrade_ConvertCurve3dToBezier_IsNull(t: "opencascade::handle< ShapeUpgrade_ConvertCurve3dToBezier > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_ConvertCurve3dToBezier_IsNull(t)

def Handle_ShapeUpgrade_FaceDivideArea_Create() -> "opencascade::handle< ShapeUpgrade_FaceDivideArea >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_FaceDivideArea_Create()

def Handle_ShapeUpgrade_FaceDivideArea_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_FaceDivideArea >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_FaceDivideArea_DownCast(t)

def Handle_ShapeUpgrade_FaceDivideArea_IsNull(t: "opencascade::handle< ShapeUpgrade_FaceDivideArea > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_FaceDivideArea_IsNull(t)

def Handle_ShapeUpgrade_FixSmallBezierCurves_Create() -> "opencascade::handle< ShapeUpgrade_FixSmallBezierCurves >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_FixSmallBezierCurves_Create()

def Handle_ShapeUpgrade_FixSmallBezierCurves_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_FixSmallBezierCurves >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_FixSmallBezierCurves_DownCast(t)

def Handle_ShapeUpgrade_FixSmallBezierCurves_IsNull(t: "opencascade::handle< ShapeUpgrade_FixSmallBezierCurves > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_FixSmallBezierCurves_IsNull(t)

def Handle_ShapeUpgrade_SplitCurve2dContinuity_Create() -> "opencascade::handle< ShapeUpgrade_SplitCurve2dContinuity >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve2dContinuity_Create()

def Handle_ShapeUpgrade_SplitCurve2dContinuity_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_SplitCurve2dContinuity >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve2dContinuity_DownCast(t)

def Handle_ShapeUpgrade_SplitCurve2dContinuity_IsNull(t: "opencascade::handle< ShapeUpgrade_SplitCurve2dContinuity > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve2dContinuity_IsNull(t)

def Handle_ShapeUpgrade_SplitCurve3dContinuity_Create() -> "opencascade::handle< ShapeUpgrade_SplitCurve3dContinuity >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve3dContinuity_Create()

def Handle_ShapeUpgrade_SplitCurve3dContinuity_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< ShapeUpgrade_SplitCurve3dContinuity >":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve3dContinuity_DownCast(t)

def Handle_ShapeUpgrade_SplitCurve3dContinuity_IsNull(t: "opencascade::handle< ShapeUpgrade_SplitCurve3dContinuity > const &") -> "bool":
    return _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve3dContinuity_IsNull(t)
class shapeupgrade(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    @staticmethod
    def C0BSplineToSequenceOfC1BSplineCurve(*args) -> "Standard_Boolean":
        r"""
        Unifies same domain faces and edges of specified shape.

        Parameters
        ----------
        BS: Geom_BSplineCurve
        seqBS: TColGeom_HSequenceOfBoundedCurve

        Returns
        -------
        bool
        Converts c0 b-spline curve into sequence of c1 b-spline curves. this method splits b-spline at the knots with multiplicities equal to degree, i.e. unlike method geomconvert::c0bsplinetoarrayofc1bsplinecurve this one does not use any tolerance and therefore does not change the geometry of b-spline. returns true if c0 b-spline was successfully splitted, else returns false (if bs is c1 b-spline).

        Parameters
        ----------
        BS: Geom2d_BSplineCurve
        seqBS: TColGeom2d_HSequenceOfBoundedCurve

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.shapeupgrade_C0BSplineToSequenceOfC1BSplineCurve(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _ShapeUpgrade.shapeupgrade_swiginit(self, _ShapeUpgrade.new_shapeupgrade())
    __swig_destroy__ = _ShapeUpgrade.delete_shapeupgrade

# Register shapeupgrade in _ShapeUpgrade:
_ShapeUpgrade.shapeupgrade_swigregister(shapeupgrade)

def shapeupgrade_C0BSplineToSequenceOfC1BSplineCurve(*args) -> "Standard_Boolean":
    r"""
    Unifies same domain faces and edges of specified shape.

    Parameters
    ----------
    BS: Geom_BSplineCurve
    seqBS: TColGeom_HSequenceOfBoundedCurve

    Returns
    -------
    bool
    Converts c0 b-spline curve into sequence of c1 b-spline curves. this method splits b-spline at the knots with multiplicities equal to degree, i.e. unlike method geomconvert::c0bsplinetoarrayofc1bsplinecurve this one does not use any tolerance and therefore does not change the geometry of b-spline. returns true if c0 b-spline was successfully splitted, else returns false (if bs is c1 b-spline).

    Parameters
    ----------
    BS: Geom2d_BSplineCurve
    seqBS: TColGeom2d_HSequenceOfBoundedCurve

    Returns
    -------
    bool

    """
    return _ShapeUpgrade.shapeupgrade_C0BSplineToSequenceOfC1BSplineCurve(*args)

class ShapeUpgrade_RemoveLocations(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"""
        Empy constructor.

        Returns
        -------
        None

        """
        _ShapeUpgrade.ShapeUpgrade_RemoveLocations_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_RemoveLocations(*args))

    def GetResult(self, *args) -> "TopoDS_Shape":
        r"""
        Returns shape with removed locatins.

        Returns
        -------
        TopoDS_Shape

        """
        return _ShapeUpgrade.ShapeUpgrade_RemoveLocations_GetResult(self, *args)

    def ModifiedShape(self, *args) -> "TopoDS_Shape":
        r"""
        Returns modified shape obtained from initial shape.

        Parameters
        ----------
        theInitShape: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _ShapeUpgrade.ShapeUpgrade_RemoveLocations_ModifiedShape(self, *args)

    def Remove(self, *args) -> "Standard_Boolean":
        r"""
        Removes all location correspodingly to removelevel.

        Parameters
        ----------
        theShape: TopoDS_Shape

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_RemoveLocations_Remove(self, *args)

    def RemoveLevel(self, *args) -> "TopAbs_ShapeEnum":
        r"""
        Sets level starting with that location will be removed.value of level can be set to topabs_shape,topabs_compound,topabs_solid,topabs_shell,topabs_face.by default topabs_shape. in this case location will be removed for all shape types for exception of compound.

        Returns
        -------
        TopAbs_ShapeEnum

        """
        return _ShapeUpgrade.ShapeUpgrade_RemoveLocations_RemoveLevel(self, *args)

    def SetRemoveLevel(self, *args) -> "void":
        r"""
        Sets level starting with that location will be removed, by default topabs_shape. in this case locations will be kept for specified shape and if specified shape is topabs_compound for sub-shapes of first level.

        Parameters
        ----------
        theLevel: TopAbs_ShapeEnum

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_RemoveLocations_SetRemoveLevel(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_RemoveLocations

# Register ShapeUpgrade_RemoveLocations in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_RemoveLocations_swigregister(ShapeUpgrade_RemoveLocations)

class ShapeUpgrade_ShapeDivide(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
        Initialize by a shape.

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

        Returns
        -------
        None

        """
        _ShapeUpgrade.ShapeUpgrade_ShapeDivide_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ShapeDivide(*args))

    def GetContext(self, *args) -> "opencascade::handle< ShapeBuild_ReShape >":
        r"""
        Returns context with all the modifications made during last call(s) to perform() recorded.

        Returns
        -------
        opencascade::handle<ShapeBuild_ReShape>

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivide_GetContext(self, *args)

    def Init(self, *args) -> "void":
        r"""
        Initialize by a shape.

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

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivide_Init(self, *args)

    def MsgRegistrator(self, *args) -> "opencascade::handle< ShapeExtend_BasicMsgRegistrator >":
        r"""
        Returns message registrator.

        Returns
        -------
        opencascade::handle<ShapeExtend_BasicMsgRegistrator>

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivide_MsgRegistrator(self, *args)

    def Perform(self, *args) -> "Standard_Boolean":
        r"""
        Performs splitting and computes the resulting shape if newcontext is true (default), the internal context will be cleared at start, else previous substitutions will be acting.

        Parameters
        ----------
        newContext: bool,optional
        	default value is Standard_True

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivide_Perform(self, *args)

    def Result(self, *args) -> "TopoDS_Shape":
        r"""
        Gives the resulting shape, or null shape if not done.

        Returns
        -------
        TopoDS_Shape

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivide_Result(self, *args)

    def SendMsg(self, *args) -> "void":
        r"""
        Sends a message to be attached to the shape. calls corresponding message of message registrator.

        Parameters
        ----------
        shape: TopoDS_Shape
        message: Message_Msg
        gravity: Message_Gravity,optional
        	default value is Message_Info

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivide_SendMsg(self, *args)

    def SetContext(self, *args) -> "void":
        r"""
        Sets context with recorded modifications to be applied during next call(s) to perform(shape,standard_false).

        Parameters
        ----------
        context: ShapeBuild_ReShape

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivide_SetContext(self, *args)

    def SetEdgeMode(self, *args) -> "void":
        r"""
        Sets mode for splitting 3d curves from edges. 0 - only curve 3d from free edges. 1 - only curve 3d from shared edges. 2 - all curve 3d.

        Parameters
        ----------
        aEdgeMode: int

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivide_SetEdgeMode(self, *args)

    def SetMaxTolerance(self, *args) -> "void":
        r"""
        Sets maximal allowed tolerance.

        Parameters
        ----------
        maxtol: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivide_SetMaxTolerance(self, *args)

    def SetMinTolerance(self, *args) -> "void":
        r"""
        Sets minimal allowed tolerance.

        Parameters
        ----------
        mintol: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivide_SetMinTolerance(self, *args)

    def SetMsgRegistrator(self, *args) -> "void":
        r"""
        Sets message registrator.

        Parameters
        ----------
        msgreg: ShapeExtend_BasicMsgRegistrator

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivide_SetMsgRegistrator(self, *args)

    def SetPrecision(self, *args) -> "void":
        r"""
        Defines the spatial precision used for splitting.

        Parameters
        ----------
        Prec: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivide_SetPrecision(self, *args)

    def SetSplitFaceTool(self, *args) -> "void":
        r"""
        Sets the tool for splitting faces.

        Parameters
        ----------
        splitFaceTool: ShapeUpgrade_FaceDivide

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivide_SetSplitFaceTool(self, *args)

    def SetSurfaceSegmentMode(self, *args) -> "void":
        r"""
        Purpose sets mode for trimming (segment) surface by wire uv bounds.

        Parameters
        ----------
        Segment: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivide_SetSurfaceSegmentMode(self, *args)

    def Status(self, *args) -> "Standard_Boolean":
        r"""
        Queries the status of last call to perform ok : no splitting was done (or no call to perform) done1: some edges were splitted done2: surface was splitted fail1: some errors occured.

        Parameters
        ----------
        status: ShapeExtend_Status

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivide_Status(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_ShapeDivide

# Register ShapeUpgrade_ShapeDivide in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_ShapeDivide_swigregister(ShapeUpgrade_ShapeDivide)

class ShapeUpgrade_ShellSewing(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"""
        Creates a shellsewing, empty.

        Returns
        -------
        None

        """
        _ShapeUpgrade.ShapeUpgrade_ShellSewing_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ShellSewing(*args))

    def ApplySewing(self, *args) -> "TopoDS_Shape":
        r"""
        Builds a new shape from a former one, by calling sewing from brepbuilderapi. rebuilt solids are oriented to be 'not infinite' //! if <tol> is not given (i.e. value 0. by default), it is computed as the mean tolerance recorded in <shape> //! if no shell has been sewed, this method returns the input shape.

        Parameters
        ----------
        shape: TopoDS_Shape
        tol: float,optional
        	default value is 0.0

        Returns
        -------
        TopoDS_Shape

        """
        return _ShapeUpgrade.ShapeUpgrade_ShellSewing_ApplySewing(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_ShellSewing

# Register ShapeUpgrade_ShellSewing in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_ShellSewing_swigregister(ShapeUpgrade_ShellSewing)

class ShapeUpgrade_SplitCurve(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"""
        Empty constructor.

        Returns
        -------
        None

        """
        _ShapeUpgrade.ShapeUpgrade_SplitCurve_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_SplitCurve(*args))

    def Build(self, *args) -> "void":
        r"""
        If segment is true, the result is composed with segments of the curve bounded by the splitvalues. if segment is false, the result is composed with trimmed curves all based on the same complete curve.

        Parameters
        ----------
        Segment: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitCurve_Build(self, *args)

    def Compute(self, *args) -> "void":
        r"""
        Calculates points for correction/splitting of the curve.

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitCurve_Compute(self, *args)

    def Init(self, *args) -> "void":
        r"""
        Initializes with curve first and last parameters.

        Parameters
        ----------
        First: float
        Last: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitCurve_Init(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        Performs correction/splitting of the curve. first defines splitting values by method compute(), then calls method build().

        Parameters
        ----------
        Segment: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitCurve_Perform(self, *args)

    def SetSplitValues(self, *args) -> "void":
        r"""
        Sets the parameters where splitting has to be done.

        Parameters
        ----------
        SplitValues: TColStd_HSequenceOfReal

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitCurve_SetSplitValues(self, *args)

    def SplitValues(self, *args) -> "opencascade::handle< TColStd_HSequenceOfReal > const &":
        r"""
        Returns all the splitting values including the first and last parameters of the input curve merges input split values and new ones into myglobalknots.

        Returns
        -------
        opencascade::handle<TColStd_HSequenceOfReal>

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitCurve_SplitValues(self, *args)

    def Status(self, *args) -> "Standard_Boolean":
        r"""
        Returns the status ok - no splitting is needed done1 - splitting required and gives more than one segment done2 - splitting is required, but gives only one segment (initial) done3 - geometric form of the curve or parametrisation is modified.

        Parameters
        ----------
        status: ShapeExtend_Status

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitCurve_Status(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_SplitCurve

# Register ShapeUpgrade_SplitCurve in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_SplitCurve_swigregister(ShapeUpgrade_SplitCurve)

class ShapeUpgrade_SplitSurface(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"""
        Empty constructor.

        Returns
        -------
        None

        """
        _ShapeUpgrade.ShapeUpgrade_SplitSurface_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_SplitSurface(*args))

    def Build(self, *args) -> "void":
        r"""
        Performs splitting of the supporting surface. if resulting surface is b-spline and segment is true, the result is composed with segments of the surface bounded by the u and v splitvalues (method geom_bsplinesurface::segment is used). if segment is false, the result is composed with geom_rectangulartrimmedsurface all based on the same complete surface. fields mynbresultingrow and mynbresultingcol must be set to specify the size of resulting grid of surfaces.

        Parameters
        ----------
        Segment: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitSurface_Build(self, *args)

    def Compute(self, *args) -> "void":
        r"""
        Calculates points for correction/splitting of the surface.

        Parameters
        ----------
        Segment: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitSurface_Compute(self, *args)

    def Init(self, *args) -> "void":
        r"""
        Initializes with single supporting surface.

        Parameters
        ----------
        S: Geom_Surface

        Returns
        -------
        None
        Initializes with single supporting surface with bounding parameters.

        Parameters
        ----------
        S: Geom_Surface
        UFirst: float
        ULast: float
        VFirst: float
        VLast: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitSurface_Init(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        Performs correction/splitting of the surface. first defines splitting values by method compute(), then calls method build().

        Parameters
        ----------
        Segment: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitSurface_Perform(self, *args)

    def ResSurfaces(self, *args) -> "opencascade::handle< ShapeExtend_CompositeSurface > const &":
        r"""
        Returns obtained surfaces after splitting as compositesurface.

        Returns
        -------
        opencascade::handle<ShapeExtend_CompositeSurface>

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitSurface_ResSurfaces(self, *args)

    def SetUSplitValues(self, *args) -> "void":
        r"""
        Sets u parameters where splitting has to be done.

        Parameters
        ----------
        UValues: TColStd_HSequenceOfReal

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitSurface_SetUSplitValues(self, *args)

    def SetVSplitValues(self, *args) -> "void":
        r"""
        Sets v parameters where splitting has to be done.

        Parameters
        ----------
        VValues: TColStd_HSequenceOfReal

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitSurface_SetVSplitValues(self, *args)

    def Status(self, *args) -> "Standard_Boolean":
        r"""
        Returns the status ok - no splitting is needed done1 - splitting required and gives more than one patch done2 - splitting is required, but gives only single patch (initial) done3 - geometric form of the surface or parametrisation is modified.

        Parameters
        ----------
        status: ShapeExtend_Status

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitSurface_Status(self, *args)

    def USplitValues(self, *args) -> "opencascade::handle< TColStd_HSequenceOfReal > const &":
        r"""
        Returns all the u splitting values including the first and last parameters of the input surface.

        Returns
        -------
        opencascade::handle<TColStd_HSequenceOfReal>

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitSurface_USplitValues(self, *args)

    def VSplitValues(self, *args) -> "opencascade::handle< TColStd_HSequenceOfReal > const &":
        r"""
        Returns all the splitting v values including the first and last parameters of the input surface.

        Returns
        -------
        opencascade::handle<TColStd_HSequenceOfReal>

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitSurface_VSplitValues(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_SplitSurface

# Register ShapeUpgrade_SplitSurface in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_SplitSurface_swigregister(ShapeUpgrade_SplitSurface)

class ShapeUpgrade_Tool(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"""
        Empty constructor.

        Returns
        -------
        None

        """
        _ShapeUpgrade.ShapeUpgrade_Tool_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_Tool(*args))

    def Context(self, *args) -> "opencascade::handle< ShapeBuild_ReShape >":
        r"""
        Returns context.

        Returns
        -------
        opencascade::handle<ShapeBuild_ReShape>

        """
        return _ShapeUpgrade.ShapeUpgrade_Tool_Context(self, *args)

    def LimitTolerance(self, *args) -> "Standard_Real":
        r"""
        Returns tolerance limited by [mymintol,mymaxtol].

        Parameters
        ----------
        toler: float

        Returns
        -------
        float

        """
        return _ShapeUpgrade.ShapeUpgrade_Tool_LimitTolerance(self, *args)

    def MaxTolerance(self, *args) -> "Standard_Real":
        r"""
        Returns maximal allowed tolerance.

        Returns
        -------
        float

        """
        return _ShapeUpgrade.ShapeUpgrade_Tool_MaxTolerance(self, *args)

    def MinTolerance(self, *args) -> "Standard_Real":
        r"""
        Returns minimal allowed tolerance.

        Returns
        -------
        float

        """
        return _ShapeUpgrade.ShapeUpgrade_Tool_MinTolerance(self, *args)

    def Precision(self, *args) -> "Standard_Real":
        r"""
        Returns basic precision value.

        Returns
        -------
        float

        """
        return _ShapeUpgrade.ShapeUpgrade_Tool_Precision(self, *args)

    def Set(self, *args) -> "void":
        r"""
        Copy all fields from another root object.

        Parameters
        ----------
        tool: ShapeUpgrade_Tool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_Tool_Set(self, *args)

    def SetContext(self, *args) -> "void":
        r"""
        Sets context.

        Parameters
        ----------
        context: ShapeBuild_ReShape

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_Tool_SetContext(self, *args)

    def SetMaxTolerance(self, *args) -> "void":
        r"""
        Sets maximal allowed tolerance.

        Parameters
        ----------
        maxtol: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_Tool_SetMaxTolerance(self, *args)

    def SetMinTolerance(self, *args) -> "void":
        r"""
        Sets minimal allowed tolerance.

        Parameters
        ----------
        mintol: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_Tool_SetMinTolerance(self, *args)

    def SetPrecision(self, *args) -> "void":
        r"""
        Sets basic precision value.

        Parameters
        ----------
        preci: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_Tool_SetPrecision(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_Tool

# Register ShapeUpgrade_Tool in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_Tool_swigregister(ShapeUpgrade_Tool)

class ShapeUpgrade_UnifySameDomain(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"""
        Empty constructor.

        Returns
        -------
        None
        Constructor defining input shape and necessary flags. it does not perform unification.

        Parameters
        ----------
        aShape: TopoDS_Shape
        UnifyEdges: bool,optional
        	default value is Standard_True
        UnifyFaces: bool,optional
        	default value is Standard_True
        ConcatBSplines: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _ShapeUpgrade.ShapeUpgrade_UnifySameDomain_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_UnifySameDomain(*args))

    def AllowInternalEdges(self, *args) -> "void":
        r"""
        Sets the flag defining whether it is allowed to create internal edges inside merged faces in the case of non-manifold topology. without this flag merging through multi connected edge is forbidden. default value is false.

        Parameters
        ----------
        theValue: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_UnifySameDomain_AllowInternalEdges(self, *args)

    def Build(self, *args) -> "void":
        r"""
        Performs unification and builds the resulting shape.

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_UnifySameDomain_Build(self, *args)

    def History(self, *args) -> "opencascade::handle< BRepTools_History > const &":
        r"""
        Returns the history of the processed shapes.

        Returns
        -------
        opencascade::handle<BRepTools_History>

        """
        return _ShapeUpgrade.ShapeUpgrade_UnifySameDomain_History(self, *args)

    def Initialize(self, *args) -> "void":
        r"""
        Initializes with a shape and necessary flags. it does not perform unification. if you intend to nullify the history place holder do it after initialization.

        Parameters
        ----------
        aShape: TopoDS_Shape
        UnifyEdges: bool,optional
        	default value is Standard_True
        UnifyFaces: bool,optional
        	default value is Standard_True
        ConcatBSplines: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_UnifySameDomain_Initialize(self, *args)

    def KeepShape(self, *args) -> "void":
        r"""
        Sets the shape for avoid merging of the faces/edges. this shape can be vertex or edge. if the shape is a vertex it forbids merging of connected edges. if the shape is a edge it forbids merging of connected faces. this method can be called several times to keep several shapes.

        Parameters
        ----------
        theShape: TopoDS_Shape

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_UnifySameDomain_KeepShape(self, *args)

    def KeepShapes(self, *args) -> "void":
        r"""
        Sets the map of shapes for avoid merging of the faces/edges. it allows passing a ready to use map instead of calling many times the method keepshape.

        Parameters
        ----------
        theShapes: TopTools_MapOfShape

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_UnifySameDomain_KeepShapes(self, *args)

    def SetAngularTolerance(self, *args) -> "void":
        r"""
        Sets the angular tolerance. if two shapes form a connection angle greater than this value they will not be merged. default value is precision::angular().

        Parameters
        ----------
        theValue: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_UnifySameDomain_SetAngularTolerance(self, *args)

    def SetLinearTolerance(self, *args) -> "void":
        r"""
        Sets the linear tolerance. it plays the role of chord error when taking decision about merging of shapes. default value is precision::confusion().

        Parameters
        ----------
        theValue: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_UnifySameDomain_SetLinearTolerance(self, *args)

    def SetSafeInputMode(self, *args) -> "void":
        r"""
        Sets the flag defining the behavior of the algorithm regarding modification of input shape. if this flag is equal to true then the input (original) shape can't be modified during modification process. default value is true.

        Parameters
        ----------
        theValue: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_UnifySameDomain_SetSafeInputMode(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _ShapeUpgrade.ShapeUpgrade_UnifySameDomain_Shape(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_UnifySameDomain

# Register ShapeUpgrade_UnifySameDomain in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_UnifySameDomain_swigregister(ShapeUpgrade_UnifySameDomain)

class ShapeUpgrade_ConvertSurfaceToBezierBasis(ShapeUpgrade_SplitSurface):
    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

        """
        _ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ConvertSurfaceToBezierBasis(*args))

    def GetBSplineMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns the geom_bsplinesurface conversion mode.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_GetBSplineMode(self, *args)

    def GetExtrusionMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns the geom_surfaceoflinearextrusion conversion mode.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_GetExtrusionMode(self, *args)

    def GetPlaneMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns the geom_pline conversion mode.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_GetPlaneMode(self, *args)

    def GetRevolutionMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns the geom_surfaceofrevolution conversion mode.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_GetRevolutionMode(self, *args)

    def Segments(self, *args) -> "opencascade::handle< ShapeExtend_CompositeSurface >":
        r"""
        Returns the grid of bezier based surfaces correspondent to original surface.

        Returns
        -------
        opencascade::handle<ShapeExtend_CompositeSurface>

        """
        return _ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_Segments(self, *args)

    def SetBSplineMode(self, *args) -> "void":
        r"""
        Sets mode for conversion geom_bsplinesurface to bezier.

        Parameters
        ----------
        mode: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_SetBSplineMode(self, *args)

    def SetExtrusionMode(self, *args) -> "void":
        r"""
        Sets mode for conversion geom_surfaceoflinearextrusion to bezier.

        Parameters
        ----------
        mode: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_SetExtrusionMode(self, *args)

    def SetPlaneMode(self, *args) -> "void":
        r"""
        Sets mode for conversion geom_plane to bezier.

        Parameters
        ----------
        mode: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_SetPlaneMode(self, *args)

    def SetRevolutionMode(self, *args) -> "void":
        r"""
        Sets mode for conversion geom_surfaceofrevolution to bezier.

        Parameters
        ----------
        mode: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_SetRevolutionMode(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_ConvertSurfaceToBezierBasis

# Register ShapeUpgrade_ConvertSurfaceToBezierBasis in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_swigregister(ShapeUpgrade_ConvertSurfaceToBezierBasis)

class ShapeUpgrade_EdgeDivide(ShapeUpgrade_Tool):
    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

        """
        _ShapeUpgrade.ShapeUpgrade_EdgeDivide_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_EdgeDivide(*args))

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

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_EdgeDivide_Clear(self, *args)

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

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

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_EdgeDivide_Compute(self, *args)

    def GetSplitCurve2dTool(self, *args) -> "opencascade::handle< ShapeUpgrade_SplitCurve2d >":
        r"""
        Returns the tool for splitting pcurves.

        Returns
        -------
        opencascade::handle<ShapeUpgrade_SplitCurve2d>

        """
        return _ShapeUpgrade.ShapeUpgrade_EdgeDivide_GetSplitCurve2dTool(self, *args)

    def GetSplitCurve3dTool(self, *args) -> "opencascade::handle< ShapeUpgrade_SplitCurve3d >":
        r"""
        Returns the tool for splitting 3d curves.

        Returns
        -------
        opencascade::handle<ShapeUpgrade_SplitCurve3d>

        """
        return _ShapeUpgrade.ShapeUpgrade_EdgeDivide_GetSplitCurve3dTool(self, *args)

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

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_EdgeDivide_HasCurve2d(self, *args)

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

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_EdgeDivide_HasCurve3d(self, *args)

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

        Returns
        -------
        opencascade::handle<TColStd_HSequenceOfReal>

        """
        return _ShapeUpgrade.ShapeUpgrade_EdgeDivide_Knots2d(self, *args)

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

        Returns
        -------
        opencascade::handle<TColStd_HSequenceOfReal>

        """
        return _ShapeUpgrade.ShapeUpgrade_EdgeDivide_Knots3d(self, *args)

    def SetFace(self, *args) -> "void":
        r"""
        Sets supporting surface by face.

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

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_EdgeDivide_SetFace(self, *args)

    def SetSplitCurve2dTool(self, *args) -> "void":
        r"""
        Sets the tool for splitting pcurves.

        Parameters
        ----------
        splitCurve2dTool: ShapeUpgrade_SplitCurve2d

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_EdgeDivide_SetSplitCurve2dTool(self, *args)

    def SetSplitCurve3dTool(self, *args) -> "void":
        r"""
        Sets the tool for splitting 3d curves.

        Parameters
        ----------
        splitCurve3dTool: ShapeUpgrade_SplitCurve3d

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_EdgeDivide_SetSplitCurve3dTool(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_EdgeDivide

# Register ShapeUpgrade_EdgeDivide in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_EdgeDivide_swigregister(ShapeUpgrade_EdgeDivide)

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

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

        Returns
        -------
        None
        Initialize by a face.

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

        Returns
        -------
        None

        """
        _ShapeUpgrade.ShapeUpgrade_FaceDivide_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_FaceDivide(*args))

    def GetSplitSurfaceTool(self, *args) -> "opencascade::handle< ShapeUpgrade_SplitSurface >":
        r"""
        Returns the tool for splitting surfaces. this tool must be already initialized.

        Returns
        -------
        opencascade::handle<ShapeUpgrade_SplitSurface>

        """
        return _ShapeUpgrade.ShapeUpgrade_FaceDivide_GetSplitSurfaceTool(self, *args)

    def GetWireDivideTool(self, *args) -> "opencascade::handle< ShapeUpgrade_WireDivide >":
        r"""
        Returns the tool for dividing edges on face. this tool must be already initialized.

        Returns
        -------
        opencascade::handle<ShapeUpgrade_WireDivide>

        """
        return _ShapeUpgrade.ShapeUpgrade_FaceDivide_GetWireDivideTool(self, *args)

    def Init(self, *args) -> "void":
        r"""
        Initialize by a face.

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

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_FaceDivide_Init(self, *args)

    def Perform(self, *args) -> "Standard_Boolean":
        r"""
        Performs splitting and computes the resulting shell the context is used to keep track of former splittings in order to keep sharings. it is updated according to modifications made.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_FaceDivide_Perform(self, *args)

    def Result(self, *args) -> "TopoDS_Shape":
        r"""
        Gives the resulting shell, or face, or null shape if not done.

        Returns
        -------
        TopoDS_Shape

        """
        return _ShapeUpgrade.ShapeUpgrade_FaceDivide_Result(self, *args)

    def SetSplitSurfaceTool(self, *args) -> "void":
        r"""
        Sets the tool for splitting surfaces.

        Parameters
        ----------
        splitSurfaceTool: ShapeUpgrade_SplitSurface

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_FaceDivide_SetSplitSurfaceTool(self, *args)

    def SetSurfaceSegmentMode(self, *args) -> "void":
        r"""
        Purpose sets mode for trimming (segment) surface by wire uv bounds.

        Parameters
        ----------
        Segment: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_FaceDivide_SetSurfaceSegmentMode(self, *args)

    def SetWireDivideTool(self, *args) -> "void":
        r"""
        Sets the tool for dividing edges on face.

        Parameters
        ----------
        wireDivideTool: ShapeUpgrade_WireDivide

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_FaceDivide_SetWireDivideTool(self, *args)

    def SplitCurves(self, *args) -> "Standard_Boolean":
        r"""
        Performs splitting of curves of all the edges in the shape and divides these edges.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_FaceDivide_SplitCurves(self, *args)

    def SplitSurface(self, *args) -> "Standard_Boolean":
        r"""
        Performs splitting of surface and computes the shell from source face.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_FaceDivide_SplitSurface(self, *args)

    def Status(self, *args) -> "Standard_Boolean":
        r"""
        Queries the status of last call to perform ok : no splitting was done (or no call to perform) done1: some edges were splitted done2: surface was splitted done3: surface was modified without splitting fail1: some fails encountered during splitting wires fail2: face cannot be splitted.

        Parameters
        ----------
        status: ShapeExtend_Status

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_FaceDivide_Status(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_FaceDivide

# Register ShapeUpgrade_FaceDivide in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_FaceDivide_swigregister(ShapeUpgrade_FaceDivide)

class ShapeUpgrade_FixSmallCurves(ShapeUpgrade_Tool):
    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

        """
        _ShapeUpgrade.ShapeUpgrade_FixSmallCurves_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_FixSmallCurves(*args))

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

        Parameters
        ----------
        Curve3d: Geom_Curve
        Curve2d: Geom2d_Curve
        Curve2dR: Geom2d_Curve

        Returns
        -------
        First: float
        Last: float

        """
        return _ShapeUpgrade.ShapeUpgrade_FixSmallCurves_Approx(self, *args)

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

        Parameters
        ----------
        theEdge: TopoDS_Edge
        theFace: TopoDS_Face

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_FixSmallCurves_Init(self, *args)

    def SetSplitCurve2dTool(self, *args) -> "void":
        r"""
        Sets the tool for splitting pcurves.

        Parameters
        ----------
        splitCurve2dTool: ShapeUpgrade_SplitCurve2d

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_FixSmallCurves_SetSplitCurve2dTool(self, *args)

    def SetSplitCurve3dTool(self, *args) -> "void":
        r"""
        Sets the tool for splitting 3d curves.

        Parameters
        ----------
        splitCurve3dTool: ShapeUpgrade_SplitCurve3d

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_FixSmallCurves_SetSplitCurve3dTool(self, *args)

    def Status(self, *args) -> "Standard_Boolean":
        r"""
        Queries the status of last call to perform ok : done1: done2: fail1:.

        Parameters
        ----------
        status: ShapeExtend_Status

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_FixSmallCurves_Status(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_FixSmallCurves

# Register ShapeUpgrade_FixSmallCurves in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_FixSmallCurves_swigregister(ShapeUpgrade_FixSmallCurves)

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

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

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

        Parameters
        ----------
        theShape: TopoDS_Shape

        Returns
        -------
        None

        """
        _ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_RemoveInternalWires(*args))

    def GetResult(self, *args) -> "TopoDS_Shape":
        r"""
        Get result shape.

        Returns
        -------
        TopoDS_Shape

        """
        return _ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_GetResult(self, *args)

    def Init(self, *args) -> "void":
        r"""
        Initialize by a shape.

        Parameters
        ----------
        theShape: TopoDS_Shape

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_Init(self, *args)

    def GetMinArea(self) -> "Standard_Real":
        r"""GetMinArea(ShapeUpgrade_RemoveInternalWires self) -> Standard_Real"""
        return _ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_GetMinArea(self)

    def SetMinArea(self, value: "Standard_Real") -> "void":
        r"""SetMinArea(ShapeUpgrade_RemoveInternalWires self, Standard_Real value)"""
        return _ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_SetMinArea(self, value)

    def Perform(self, *args) -> "Standard_Boolean":
        r"""
        Removes all internal wires having area less than area specified as minimal allowed area.

        Returns
        -------
        bool
        If specified sequence of shape contains - 1.wires then these wires will be removed if they have area less than allowed min area. 2.faces than internal wires from these faces will be removed if they have area less than allowed min area.

        Parameters
        ----------
        theSeqShapes: TopTools_SequenceOfShape

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_Perform(self, *args)

    def GetRemoveFaceMode(self) -> "Standard_Boolean":
        r"""GetRemoveFaceMode(ShapeUpgrade_RemoveInternalWires self) -> Standard_Boolean"""
        return _ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_GetRemoveFaceMode(self)

    def SetRemoveFaceMode(self, value: "Standard_Boolean") -> "void":
        r"""SetRemoveFaceMode(ShapeUpgrade_RemoveInternalWires self, Standard_Boolean value)"""
        return _ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_SetRemoveFaceMode(self, value)

    def RemovedFaces(self, *args) -> "TopTools_SequenceOfShape const &":
        r"""
        Returns sequence of removed faces.

        Returns
        -------
        TopTools_SequenceOfShape

        """
        return _ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_RemovedFaces(self, *args)

    def RemovedWires(self, *args) -> "TopTools_SequenceOfShape const &":
        r"""
        Returns sequence of removed faces.

        Returns
        -------
        TopTools_SequenceOfShape

        """
        return _ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_RemovedWires(self, *args)

    def Status(self, *args) -> "Standard_Boolean":
        r"""
        Queries status of last call to perform() : ok - nothing was done :done1 - internal wires were removed :done2 - small faces were removed. :fail1 - initial shape is not specified :fail2 - specified sub-shape is not belonged to inotial shape.

        Parameters
        ----------
        theStatus: ShapeExtend_Status

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_Status(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_RemoveInternalWires

# Register ShapeUpgrade_RemoveInternalWires in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_swigregister(ShapeUpgrade_RemoveInternalWires)

class ShapeUpgrade_ShapeConvertToBezier(ShapeUpgrade_ShapeDivide):
    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
        Initialize by a shape.

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

        Returns
        -------
        None

        """
        _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ShapeConvertToBezier(*args))

    def Get2dConversion(self, *args) -> "Standard_Boolean":
        r"""
        Returns the 2d conversion mode.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Get2dConversion(self, *args)

    def Get3dCircleConversion(self, *args) -> "Standard_Boolean":
        r"""
        Returns the geom_circle conversion mode.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Get3dCircleConversion(self, *args)

    def Get3dConicConversion(self, *args) -> "Standard_Boolean":
        r"""
        Returns the geom_conic conversion mode.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Get3dConicConversion(self, *args)

    def Get3dConversion(self, *args) -> "Standard_Boolean":
        r"""
        Returns the 3d conversion mode.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Get3dConversion(self, *args)

    def Get3dLineConversion(self, *args) -> "Standard_Boolean":
        r"""
        Returns the geom_line conversion mode.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Get3dLineConversion(self, *args)

    def GetBSplineMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns the geom_bsplinesurface conversion mode.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_GetBSplineMode(self, *args)

    def GetExtrusionMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns the geom_surfaceoflinearextrusion conversion mode.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_GetExtrusionMode(self, *args)

    def GetPlaneMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns the geom_pline conversion mode.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_GetPlaneMode(self, *args)

    def GetRevolutionMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns the geom_surfaceofrevolution conversion mode.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_GetRevolutionMode(self, *args)

    def GetSurfaceConversion(self, *args) -> "Standard_Boolean":
        r"""
        Returns the surface conversion mode.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_GetSurfaceConversion(self, *args)

    def Set2dConversion(self, *args) -> "void":
        r"""
        Sets mode for conversion 2d curves to bezier.

        Parameters
        ----------
        mode: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Set2dConversion(self, *args)

    def Set3dCircleConversion(self, *args) -> "void":
        r"""
        Sets mode for conversion geom_circle to bezier.

        Parameters
        ----------
        mode: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Set3dCircleConversion(self, *args)

    def Set3dConicConversion(self, *args) -> "void":
        r"""
        Sets mode for conversion geom_conic to bezier.

        Parameters
        ----------
        mode: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Set3dConicConversion(self, *args)

    def Set3dConversion(self, *args) -> "void":
        r"""
        Sets mode for conversion 3d curves to bezier.

        Parameters
        ----------
        mode: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Set3dConversion(self, *args)

    def Set3dLineConversion(self, *args) -> "void":
        r"""
        Sets mode for conversion geom_line to bezier.

        Parameters
        ----------
        mode: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Set3dLineConversion(self, *args)

    def SetBSplineMode(self, *args) -> "void":
        r"""
        Sets mode for conversion geom_bsplinesurface to bezier.

        Parameters
        ----------
        mode: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_SetBSplineMode(self, *args)

    def SetExtrusionMode(self, *args) -> "void":
        r"""
        Sets mode for conversion geom_surfaceoflinearextrusion to bezier.

        Parameters
        ----------
        mode: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_SetExtrusionMode(self, *args)

    def SetPlaneMode(self, *args) -> "void":
        r"""
        Sets mode for conversion geom_plane to bezier.

        Parameters
        ----------
        mode: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_SetPlaneMode(self, *args)

    def SetRevolutionMode(self, *args) -> "void":
        r"""
        Sets mode for conversion geom_surfaceofrevolution to bezier.

        Parameters
        ----------
        mode: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_SetRevolutionMode(self, *args)

    def SetSurfaceConversion(self, *args) -> "void":
        r"""
        Sets mode for conversion surfaces curves to bezier basis.

        Parameters
        ----------
        mode: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_SetSurfaceConversion(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_ShapeConvertToBezier

# Register ShapeUpgrade_ShapeConvertToBezier in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_swigregister(ShapeUpgrade_ShapeConvertToBezier)

class ShapeUpgrade_ShapeDivideAngle(ShapeUpgrade_ShapeDivide):
    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.

        Parameters
        ----------
        MaxAngle: float

        Returns
        -------
        None
        Initialize by a shape.

        Parameters
        ----------
        MaxAngle: float
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        _ShapeUpgrade.ShapeUpgrade_ShapeDivideAngle_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ShapeDivideAngle(*args))

    def InitTool(self, *args) -> "void":
        r"""
        Resets tool for splitting face with given angle.

        Parameters
        ----------
        MaxAngle: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivideAngle_InitTool(self, *args)

    def MaxAngle(self, *args) -> "Standard_Real":
        r"""
        Returns maximal angle.

        Returns
        -------
        float

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivideAngle_MaxAngle(self, *args)

    def SetMaxAngle(self, *args) -> "void":
        r"""
        Set maximal angle (calls inittool).

        Parameters
        ----------
        MaxAngle: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivideAngle_SetMaxAngle(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_ShapeDivideAngle

# Register ShapeUpgrade_ShapeDivideAngle in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_ShapeDivideAngle_swigregister(ShapeUpgrade_ShapeDivideAngle)

class ShapeUpgrade_ShapeDivideArea(ShapeUpgrade_ShapeDivide):
    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
        Initialize by a shape.

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

        Returns
        -------
        None

        """
        _ShapeUpgrade.ShapeUpgrade_ShapeDivideArea_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ShapeDivideArea(*args))

    def GetMaxArea(self) -> "Standard_Real":
        r"""GetMaxArea(ShapeUpgrade_ShapeDivideArea self) -> Standard_Real"""
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivideArea_GetMaxArea(self)

    def SetMaxArea(self, value: "Standard_Real") -> "void":
        r"""SetMaxArea(ShapeUpgrade_ShapeDivideArea self, Standard_Real value)"""
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivideArea_SetMaxArea(self, value)

    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_ShapeDivideArea

# Register ShapeUpgrade_ShapeDivideArea in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_ShapeDivideArea_swigregister(ShapeUpgrade_ShapeDivideArea)

class ShapeUpgrade_ShapeDivideClosed(ShapeUpgrade_ShapeDivide):
    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"""
        Initialises tool with shape and default parameter.

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

        Returns
        -------
        None

        """
        _ShapeUpgrade.ShapeUpgrade_ShapeDivideClosed_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ShapeDivideClosed(*args))

    def SetNbSplitPoints(self, *args) -> "void":
        r"""
        Sets the number of cuts applied to divide closed faces. the number of resulting faces will be num+1.

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

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivideClosed_SetNbSplitPoints(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_ShapeDivideClosed

# Register ShapeUpgrade_ShapeDivideClosed in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_ShapeDivideClosed_swigregister(ShapeUpgrade_ShapeDivideClosed)

class ShapeUpgrade_ShapeDivideClosedEdges(ShapeUpgrade_ShapeDivide):
    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"""
        Initialises tool with shape and default parameter.

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

        Returns
        -------
        None

        """
        _ShapeUpgrade.ShapeUpgrade_ShapeDivideClosedEdges_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ShapeDivideClosedEdges(*args))

    def SetNbSplitPoints(self, *args) -> "void":
        r"""
        Sets the number of cuts applied to divide closed edges. the number of resulting faces will be num+1.

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

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivideClosedEdges_SetNbSplitPoints(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_ShapeDivideClosedEdges

# Register ShapeUpgrade_ShapeDivideClosedEdges in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_ShapeDivideClosedEdges_swigregister(ShapeUpgrade_ShapeDivideClosedEdges)

class ShapeUpgrade_ShapeDivideContinuity(ShapeUpgrade_ShapeDivide):
    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
        Initialize by a shape.

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

        Returns
        -------
        None

        """
        _ShapeUpgrade.ShapeUpgrade_ShapeDivideContinuity_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ShapeDivideContinuity(*args))

    def SetBoundaryCriterion(self, *args) -> "void":
        r"""
        Defines a criterion of continuity for the boundary (all the wires) //! the possible values are c0, g1, c1, g2, c2, c3, cn the default is c1 to respect the cas.cade shape validity. g1 and g2 are not authorized.

        Parameters
        ----------
        Criterion: GeomAbs_Shape,optional
        	default value is GeomAbs_C1

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivideContinuity_SetBoundaryCriterion(self, *args)

    def SetPCurveCriterion(self, *args) -> "void":
        r"""
        Defines a criterion of continuity for the boundary (all the pcurves of wires) //! the possible values are c0, g1, c1, g2, c2, c3, cn the default is c1 to respect the cas.cade shape validity. g1 and g2 are not authorized.

        Parameters
        ----------
        Criterion: GeomAbs_Shape,optional
        	default value is GeomAbs_C1

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivideContinuity_SetPCurveCriterion(self, *args)

    def SetSurfaceCriterion(self, *args) -> "void":
        r"""
        Defines a criterion of continuity for the boundary (all the wires) //! the possible values are c0, g1, c1, g2, c2, c3, cn the default is c1 to respect the cas.cade shape validity. g1 and g2 are not authorized.

        Parameters
        ----------
        Criterion: GeomAbs_Shape,optional
        	default value is GeomAbs_C1

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivideContinuity_SetSurfaceCriterion(self, *args)

    def SetTolerance(self, *args) -> "void":
        r"""
        Sets tolerance.

        Parameters
        ----------
        Tol: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivideContinuity_SetTolerance(self, *args)

    def SetTolerance2d(self, *args) -> "void":
        r"""
        Sets tolerance.

        Parameters
        ----------
        Tol: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ShapeDivideContinuity_SetTolerance2d(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_ShapeDivideContinuity

# Register ShapeUpgrade_ShapeDivideContinuity in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_ShapeDivideContinuity_swigregister(ShapeUpgrade_ShapeDivideContinuity)

class ShapeUpgrade_SplitCurve2d(ShapeUpgrade_SplitCurve):
    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

        """
        _ShapeUpgrade.ShapeUpgrade_SplitCurve2d_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_SplitCurve2d(*args))

    def GetCurves(self, *args) -> "opencascade::handle< TColGeom2d_HArray1OfCurve > const &":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<TColGeom2d_HArray1OfCurve>

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitCurve2d_GetCurves(self, *args)

    def Init(self, *args) -> "void":
        r"""
        Initializes with pcurve with its first and last parameters.

        Parameters
        ----------
        C: Geom2d_Curve

        Returns
        -------
        None
        Initializes with pcurve with its parameters.

        Parameters
        ----------
        C: Geom2d_Curve
        First: float
        Last: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitCurve2d_Init(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_SplitCurve2d

# Register ShapeUpgrade_SplitCurve2d in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_SplitCurve2d_swigregister(ShapeUpgrade_SplitCurve2d)

class ShapeUpgrade_SplitCurve3d(ShapeUpgrade_SplitCurve):
    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

        """
        _ShapeUpgrade.ShapeUpgrade_SplitCurve3d_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_SplitCurve3d(*args))

    def GetCurves(self, *args) -> "opencascade::handle< TColGeom_HArray1OfCurve > const &":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<TColGeom_HArray1OfCurve>

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitCurve3d_GetCurves(self, *args)

    def Init(self, *args) -> "void":
        r"""
        Initializes with curve with its first and last parameters.

        Parameters
        ----------
        C: Geom_Curve

        Returns
        -------
        None
        Initializes with curve with its parameters.

        Parameters
        ----------
        C: Geom_Curve
        First: float
        Last: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitCurve3d_Init(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_SplitCurve3d

# Register ShapeUpgrade_SplitCurve3d in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_SplitCurve3d_swigregister(ShapeUpgrade_SplitCurve3d)

class ShapeUpgrade_SplitSurfaceAngle(ShapeUpgrade_SplitSurface):
    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.

        Parameters
        ----------
        MaxAngle: float

        Returns
        -------
        None

        """
        _ShapeUpgrade.ShapeUpgrade_SplitSurfaceAngle_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_SplitSurfaceAngle(*args))

    def MaxAngle(self, *args) -> "Standard_Real":
        r"""
        Returns maximal angle.

        Returns
        -------
        float

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitSurfaceAngle_MaxAngle(self, *args)

    def SetMaxAngle(self, *args) -> "void":
        r"""
        Set maximal angle.

        Parameters
        ----------
        MaxAngle: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitSurfaceAngle_SetMaxAngle(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_SplitSurfaceAngle

# Register ShapeUpgrade_SplitSurfaceAngle in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_SplitSurfaceAngle_swigregister(ShapeUpgrade_SplitSurfaceAngle)

class ShapeUpgrade_SplitSurfaceArea(ShapeUpgrade_SplitSurface):
    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

        """
        _ShapeUpgrade.ShapeUpgrade_SplitSurfaceArea_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_SplitSurfaceArea(*args))

    def GetNbParts(self) -> "Standard_Integer":
        r"""GetNbParts(ShapeUpgrade_SplitSurfaceArea self) -> Standard_Integer"""
        return _ShapeUpgrade.ShapeUpgrade_SplitSurfaceArea_GetNbParts(self)

    def SetNbParts(self, value: "Standard_Integer") -> "void":
        r"""SetNbParts(ShapeUpgrade_SplitSurfaceArea self, Standard_Integer value)"""
        return _ShapeUpgrade.ShapeUpgrade_SplitSurfaceArea_SetNbParts(self, value)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_SplitSurfaceArea

# Register ShapeUpgrade_SplitSurfaceArea in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_SplitSurfaceArea_swigregister(ShapeUpgrade_SplitSurfaceArea)

class ShapeUpgrade_SplitSurfaceContinuity(ShapeUpgrade_SplitSurface):
    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

        """
        _ShapeUpgrade.ShapeUpgrade_SplitSurfaceContinuity_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_SplitSurfaceContinuity(*args))

    def SetCriterion(self, *args) -> "void":
        r"""
        Sets criterion for splitting.

        Parameters
        ----------
        Criterion: GeomAbs_Shape

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitSurfaceContinuity_SetCriterion(self, *args)

    def SetTolerance(self, *args) -> "void":
        r"""
        Sets tolerance.

        Parameters
        ----------
        Tol: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitSurfaceContinuity_SetTolerance(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_SplitSurfaceContinuity

# Register ShapeUpgrade_SplitSurfaceContinuity in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_SplitSurfaceContinuity_swigregister(ShapeUpgrade_SplitSurfaceContinuity)

class ShapeUpgrade_WireDivide(ShapeUpgrade_Tool):
    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

        """
        _ShapeUpgrade.ShapeUpgrade_WireDivide_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_WireDivide(*args))

    def GetEdgeDivideTool(self, *args) -> "opencascade::handle< ShapeUpgrade_EdgeDivide >":
        r"""
        Returns tool for splitting edges.

        Returns
        -------
        opencascade::handle<ShapeUpgrade_EdgeDivide>

        """
        return _ShapeUpgrade.ShapeUpgrade_WireDivide_GetEdgeDivideTool(self, *args)

    def GetFixSmallCurveTool(self, *args) -> "opencascade::handle< ShapeUpgrade_FixSmallCurves >":
        r"""
        Returns tool for fixing small curves.

        Returns
        -------
        opencascade::handle<ShapeUpgrade_FixSmallCurves>

        """
        return _ShapeUpgrade.ShapeUpgrade_WireDivide_GetFixSmallCurveTool(self, *args)

    def GetTransferParamTool(self, *args) -> "opencascade::handle< ShapeAnalysis_TransferParameters >":
        r"""
        Returns the tool for transfer of parameters.

        Returns
        -------
        opencascade::handle<ShapeAnalysis_TransferParameters>

        """
        return _ShapeUpgrade.ShapeUpgrade_WireDivide_GetTransferParamTool(self, *args)

    def Init(self, *args) -> "void":
        r"""
        Initializes by wire and face.

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

        Returns
        -------
        None
        Initializes by wire and surface.

        Parameters
        ----------
        W: TopoDS_Wire
        S: Geom_Surface

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_WireDivide_Init(self, *args)

    def Load(self, *args) -> "void":
        r"""
        Loads working wire.

        Parameters
        ----------
        W: TopoDS_Wire

        Returns
        -------
        None
        Creates wire of one edge and calls load for wire.

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

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_WireDivide_Load(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        Computes the resulting wire by splitting all the edges according to splitting criteria. all the modifications made are recorded in context (shapebuild_reshape). this tool is applied to all edges before splitting them in order to keep sharings. if no supporting face or surface is defined, only 3d splitting criteria are used.

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_WireDivide_Perform(self, *args)

    def SetEdgeDivideTool(self, *args) -> "void":
        r"""
        Sets tool for splitting edge.

        Parameters
        ----------
        edgeDivideTool: ShapeUpgrade_EdgeDivide

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_WireDivide_SetEdgeDivideTool(self, *args)

    def SetEdgeMode(self, *args) -> "void":
        r"""
        Sets mode for splitting 3d curves from edges. 0 - only curve 3d from free edges. 1 - only curve 3d from shared edges. 2 - all curve 3d.

        Parameters
        ----------
        EdgeMode: int

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_WireDivide_SetEdgeMode(self, *args)

    def SetFace(self, *args) -> "void":
        r"""
        Sets supporting surface by face.

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

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_WireDivide_SetFace(self, *args)

    def SetFixSmallCurveTool(self, *args) -> "void":
        r"""
        Sets tool for fixing small curves with specified min tolerance;.

        Parameters
        ----------
        FixSmallCurvesTool: ShapeUpgrade_FixSmallCurves

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_WireDivide_SetFixSmallCurveTool(self, *args)

    def SetSplitCurve2dTool(self, *args) -> "void":
        r"""
        Sets the tool for splitting pcurves.

        Parameters
        ----------
        splitCurve2dTool: ShapeUpgrade_SplitCurve2d

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_WireDivide_SetSplitCurve2dTool(self, *args)

    def SetSplitCurve3dTool(self, *args) -> "void":
        r"""
        Sets the tool for splitting 3d curves.

        Parameters
        ----------
        splitCurve3dTool: ShapeUpgrade_SplitCurve3d

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_WireDivide_SetSplitCurve3dTool(self, *args)

    def SetSurface(self, *args) -> "void":
        r"""
        Sets supporting surface.

        Parameters
        ----------
        S: Geom_Surface

        Returns
        -------
        None
        Sets supporting surface with location.

        Parameters
        ----------
        S: Geom_Surface
        L: TopLoc_Location

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_WireDivide_SetSurface(self, *args)

    def SetTransferParamTool(self, *args) -> "void":
        r"""
        Sets the tool for transfer parameters between curves and pcurves.

        Parameters
        ----------
        TransferParam: ShapeAnalysis_TransferParameters

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_WireDivide_SetTransferParamTool(self, *args)

    def Status(self, *args) -> "Standard_Boolean":
        r"""
        Queries status of last call to perform() ok - no edges were splitted, wire left untouched done1 - some edges were splitted fail1 - some edges have no 3d curve (skipped) fail2 - some edges have no pcurve (skipped).

        Parameters
        ----------
        status: ShapeExtend_Status

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_WireDivide_Status(self, *args)

    def Wire(self, *args) -> "TopoDS_Wire const":
        r"""
        Gives the resulting wire (equal to initial one if not done or null if not loaded).

        Returns
        -------
        TopoDS_Wire

        """
        return _ShapeUpgrade.ShapeUpgrade_WireDivide_Wire(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_WireDivide

# Register ShapeUpgrade_WireDivide in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_WireDivide_swigregister(ShapeUpgrade_WireDivide)

class ShapeUpgrade_ClosedEdgeDivide(ShapeUpgrade_EdgeDivide):
    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

        """
        _ShapeUpgrade.ShapeUpgrade_ClosedEdgeDivide_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ClosedEdgeDivide(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_ClosedEdgeDivide

# Register ShapeUpgrade_ClosedEdgeDivide in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_ClosedEdgeDivide_swigregister(ShapeUpgrade_ClosedEdgeDivide)

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

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

        Returns
        -------
        None
        Initialize by a face.

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

        Returns
        -------
        None

        """
        _ShapeUpgrade.ShapeUpgrade_ClosedFaceDivide_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ClosedFaceDivide(*args))

    def GetNbSplitPoints(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of splitting points.

        Returns
        -------
        int

        """
        return _ShapeUpgrade.ShapeUpgrade_ClosedFaceDivide_GetNbSplitPoints(self, *args)

    def SetNbSplitPoints(self, *args) -> "void":
        r"""
        Sets the number of cutting lines by which closed face will be splitted. the resulting faces will be num+1.

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

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ClosedFaceDivide_SetNbSplitPoints(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_ClosedFaceDivide

# Register ShapeUpgrade_ClosedFaceDivide in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_ClosedFaceDivide_swigregister(ShapeUpgrade_ClosedFaceDivide)

class ShapeUpgrade_ConvertCurve2dToBezier(ShapeUpgrade_SplitCurve2d):
    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

        """
        _ShapeUpgrade.ShapeUpgrade_ConvertCurve2dToBezier_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ConvertCurve2dToBezier(*args))

    def SplitParams(self, *args) -> "opencascade::handle< TColStd_HSequenceOfReal >":
        r"""
        Returns the list of splitted parameters in original curve parametrisation.

        Returns
        -------
        opencascade::handle<TColStd_HSequenceOfReal>

        """
        return _ShapeUpgrade.ShapeUpgrade_ConvertCurve2dToBezier_SplitParams(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_ConvertCurve2dToBezier

# Register ShapeUpgrade_ConvertCurve2dToBezier in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_ConvertCurve2dToBezier_swigregister(ShapeUpgrade_ConvertCurve2dToBezier)

class ShapeUpgrade_ConvertCurve3dToBezier(ShapeUpgrade_SplitCurve3d):
    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

        """
        _ShapeUpgrade.ShapeUpgrade_ConvertCurve3dToBezier_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ConvertCurve3dToBezier(*args))

    def GetCircleMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns the geom_circle conversion mode.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ConvertCurve3dToBezier_GetCircleMode(self, *args)

    def GetConicMode(self, *args) -> "Standard_Boolean":
        r"""
        Performs converting and computes the resulting shape.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ConvertCurve3dToBezier_GetConicMode(self, *args)

    def GetLineMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns the geom_line conversion mode.

        Returns
        -------
        bool

        """
        return _ShapeUpgrade.ShapeUpgrade_ConvertCurve3dToBezier_GetLineMode(self, *args)

    def SetCircleMode(self, *args) -> "void":
        r"""
        Sets mode for conversion geom_circle to bezier.

        Parameters
        ----------
        mode: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ConvertCurve3dToBezier_SetCircleMode(self, *args)

    def SetConicMode(self, *args) -> "void":
        r"""
        Returns the geom_conic conversion mode.

        Parameters
        ----------
        mode: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ConvertCurve3dToBezier_SetConicMode(self, *args)

    def SetLineMode(self, *args) -> "void":
        r"""
        Sets mode for conversion geom_line to bezier.

        Parameters
        ----------
        mode: bool

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_ConvertCurve3dToBezier_SetLineMode(self, *args)

    def SplitParams(self, *args) -> "opencascade::handle< TColStd_HSequenceOfReal >":
        r"""
        Returns the list of splitted parameters in original curve parametrisation.

        Returns
        -------
        opencascade::handle<TColStd_HSequenceOfReal>

        """
        return _ShapeUpgrade.ShapeUpgrade_ConvertCurve3dToBezier_SplitParams(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_ConvertCurve3dToBezier

# Register ShapeUpgrade_ConvertCurve3dToBezier in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_ConvertCurve3dToBezier_swigregister(ShapeUpgrade_ConvertCurve3dToBezier)

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

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

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

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

        Returns
        -------
        None

        """
        _ShapeUpgrade.ShapeUpgrade_FaceDivideArea_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_FaceDivideArea(*args))

    def GetMaxArea(self) -> "Standard_Real":
        r"""GetMaxArea(ShapeUpgrade_FaceDivideArea self) -> Standard_Real"""
        return _ShapeUpgrade.ShapeUpgrade_FaceDivideArea_GetMaxArea(self)

    def SetMaxArea(self, value: "Standard_Real") -> "void":
        r"""SetMaxArea(ShapeUpgrade_FaceDivideArea self, Standard_Real value)"""
        return _ShapeUpgrade.ShapeUpgrade_FaceDivideArea_SetMaxArea(self, value)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_FaceDivideArea

# Register ShapeUpgrade_FaceDivideArea in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_FaceDivideArea_swigregister(ShapeUpgrade_FaceDivideArea)

class ShapeUpgrade_FixSmallBezierCurves(ShapeUpgrade_FixSmallCurves):
    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

        """
        _ShapeUpgrade.ShapeUpgrade_FixSmallBezierCurves_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_FixSmallBezierCurves(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_FixSmallBezierCurves

# Register ShapeUpgrade_FixSmallBezierCurves in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_FixSmallBezierCurves_swigregister(ShapeUpgrade_FixSmallBezierCurves)

class ShapeUpgrade_SplitCurve2dContinuity(ShapeUpgrade_SplitCurve2d):
    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

        """
        _ShapeUpgrade.ShapeUpgrade_SplitCurve2dContinuity_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_SplitCurve2dContinuity(*args))

    def SetCriterion(self, *args) -> "void":
        r"""
        Sets criterion for splitting.

        Parameters
        ----------
        Criterion: GeomAbs_Shape

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitCurve2dContinuity_SetCriterion(self, *args)

    def SetTolerance(self, *args) -> "void":
        r"""
        Sets tolerance.

        Parameters
        ----------
        Tol: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitCurve2dContinuity_SetTolerance(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_SplitCurve2dContinuity

# Register ShapeUpgrade_SplitCurve2dContinuity in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_SplitCurve2dContinuity_swigregister(ShapeUpgrade_SplitCurve2dContinuity)

class ShapeUpgrade_SplitCurve3dContinuity(ShapeUpgrade_SplitCurve3d):
    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

        """
        _ShapeUpgrade.ShapeUpgrade_SplitCurve3dContinuity_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_SplitCurve3dContinuity(*args))

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

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

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitCurve3dContinuity_GetCurve(self, *args)

    def SetCriterion(self, *args) -> "void":
        r"""
        Sets criterion for splitting.

        Parameters
        ----------
        Criterion: GeomAbs_Shape

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitCurve3dContinuity_SetCriterion(self, *args)

    def SetTolerance(self, *args) -> "void":
        r"""
        Sets tolerance.

        Parameters
        ----------
        Tol: float

        Returns
        -------
        None

        """
        return _ShapeUpgrade.ShapeUpgrade_SplitCurve3dContinuity_SetTolerance(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeUpgrade.delete_ShapeUpgrade_SplitCurve3dContinuity

# Register ShapeUpgrade_SplitCurve3dContinuity in _ShapeUpgrade:
_ShapeUpgrade.ShapeUpgrade_SplitCurve3dContinuity_swigregister(ShapeUpgrade_SplitCurve3dContinuity)





