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

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

_swig_new_instance_method = _ShapeUpgrade.SWIG_PyInstanceMethod_New
_swig_new_static_method = _ShapeUpgrade.SWIG_PyStaticMethod_New

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


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


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


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


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


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

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


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.GeomAbs
import OCC.Core.TColgp
import OCC.Core.TColStd
import OCC.Core.TCollection
import OCC.Core.TColGeom
import OCC.Core.Geom2d
import OCC.Core.TColGeom2d
import OCC.Core.TopoDS
import OCC.Core.Message
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
Handle_ShapeUpgrade_RemoveLocations_Create = _ShapeUpgrade.Handle_ShapeUpgrade_RemoveLocations_Create
Handle_ShapeUpgrade_RemoveLocations_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_RemoveLocations_DownCast
Handle_ShapeUpgrade_RemoveLocations_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_RemoveLocations_IsNull
Handle_ShapeUpgrade_SplitCurve_Create = _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve_Create
Handle_ShapeUpgrade_SplitCurve_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve_DownCast
Handle_ShapeUpgrade_SplitCurve_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve_IsNull
Handle_ShapeUpgrade_SplitSurface_Create = _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurface_Create
Handle_ShapeUpgrade_SplitSurface_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurface_DownCast
Handle_ShapeUpgrade_SplitSurface_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurface_IsNull
Handle_ShapeUpgrade_Tool_Create = _ShapeUpgrade.Handle_ShapeUpgrade_Tool_Create
Handle_ShapeUpgrade_Tool_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_Tool_DownCast
Handle_ShapeUpgrade_Tool_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_Tool_IsNull
Handle_ShapeUpgrade_UnifySameDomain_Create = _ShapeUpgrade.Handle_ShapeUpgrade_UnifySameDomain_Create
Handle_ShapeUpgrade_UnifySameDomain_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_UnifySameDomain_DownCast
Handle_ShapeUpgrade_UnifySameDomain_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_UnifySameDomain_IsNull
Handle_ShapeUpgrade_ConvertSurfaceToBezierBasis_Create = _ShapeUpgrade.Handle_ShapeUpgrade_ConvertSurfaceToBezierBasis_Create
Handle_ShapeUpgrade_ConvertSurfaceToBezierBasis_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_ConvertSurfaceToBezierBasis_DownCast
Handle_ShapeUpgrade_ConvertSurfaceToBezierBasis_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_ConvertSurfaceToBezierBasis_IsNull
Handle_ShapeUpgrade_EdgeDivide_Create = _ShapeUpgrade.Handle_ShapeUpgrade_EdgeDivide_Create
Handle_ShapeUpgrade_EdgeDivide_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_EdgeDivide_DownCast
Handle_ShapeUpgrade_EdgeDivide_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_EdgeDivide_IsNull
Handle_ShapeUpgrade_FaceDivide_Create = _ShapeUpgrade.Handle_ShapeUpgrade_FaceDivide_Create
Handle_ShapeUpgrade_FaceDivide_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_FaceDivide_DownCast
Handle_ShapeUpgrade_FaceDivide_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_FaceDivide_IsNull
Handle_ShapeUpgrade_FixSmallCurves_Create = _ShapeUpgrade.Handle_ShapeUpgrade_FixSmallCurves_Create
Handle_ShapeUpgrade_FixSmallCurves_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_FixSmallCurves_DownCast
Handle_ShapeUpgrade_FixSmallCurves_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_FixSmallCurves_IsNull
Handle_ShapeUpgrade_RemoveInternalWires_Create = _ShapeUpgrade.Handle_ShapeUpgrade_RemoveInternalWires_Create
Handle_ShapeUpgrade_RemoveInternalWires_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_RemoveInternalWires_DownCast
Handle_ShapeUpgrade_RemoveInternalWires_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_RemoveInternalWires_IsNull
Handle_ShapeUpgrade_SplitCurve2d_Create = _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve2d_Create
Handle_ShapeUpgrade_SplitCurve2d_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve2d_DownCast
Handle_ShapeUpgrade_SplitCurve2d_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve2d_IsNull
Handle_ShapeUpgrade_SplitCurve3d_Create = _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve3d_Create
Handle_ShapeUpgrade_SplitCurve3d_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve3d_DownCast
Handle_ShapeUpgrade_SplitCurve3d_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve3d_IsNull
Handle_ShapeUpgrade_SplitSurfaceAngle_Create = _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurfaceAngle_Create
Handle_ShapeUpgrade_SplitSurfaceAngle_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurfaceAngle_DownCast
Handle_ShapeUpgrade_SplitSurfaceAngle_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurfaceAngle_IsNull
Handle_ShapeUpgrade_SplitSurfaceArea_Create = _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurfaceArea_Create
Handle_ShapeUpgrade_SplitSurfaceArea_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurfaceArea_DownCast
Handle_ShapeUpgrade_SplitSurfaceArea_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurfaceArea_IsNull
Handle_ShapeUpgrade_SplitSurfaceContinuity_Create = _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurfaceContinuity_Create
Handle_ShapeUpgrade_SplitSurfaceContinuity_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurfaceContinuity_DownCast
Handle_ShapeUpgrade_SplitSurfaceContinuity_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_SplitSurfaceContinuity_IsNull
Handle_ShapeUpgrade_WireDivide_Create = _ShapeUpgrade.Handle_ShapeUpgrade_WireDivide_Create
Handle_ShapeUpgrade_WireDivide_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_WireDivide_DownCast
Handle_ShapeUpgrade_WireDivide_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_WireDivide_IsNull
Handle_ShapeUpgrade_ClosedEdgeDivide_Create = _ShapeUpgrade.Handle_ShapeUpgrade_ClosedEdgeDivide_Create
Handle_ShapeUpgrade_ClosedEdgeDivide_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_ClosedEdgeDivide_DownCast
Handle_ShapeUpgrade_ClosedEdgeDivide_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_ClosedEdgeDivide_IsNull
Handle_ShapeUpgrade_ClosedFaceDivide_Create = _ShapeUpgrade.Handle_ShapeUpgrade_ClosedFaceDivide_Create
Handle_ShapeUpgrade_ClosedFaceDivide_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_ClosedFaceDivide_DownCast
Handle_ShapeUpgrade_ClosedFaceDivide_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_ClosedFaceDivide_IsNull
Handle_ShapeUpgrade_ConvertCurve2dToBezier_Create = _ShapeUpgrade.Handle_ShapeUpgrade_ConvertCurve2dToBezier_Create
Handle_ShapeUpgrade_ConvertCurve2dToBezier_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_ConvertCurve2dToBezier_DownCast
Handle_ShapeUpgrade_ConvertCurve2dToBezier_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_ConvertCurve2dToBezier_IsNull
Handle_ShapeUpgrade_ConvertCurve3dToBezier_Create = _ShapeUpgrade.Handle_ShapeUpgrade_ConvertCurve3dToBezier_Create
Handle_ShapeUpgrade_ConvertCurve3dToBezier_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_ConvertCurve3dToBezier_DownCast
Handle_ShapeUpgrade_ConvertCurve3dToBezier_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_ConvertCurve3dToBezier_IsNull
Handle_ShapeUpgrade_FaceDivideArea_Create = _ShapeUpgrade.Handle_ShapeUpgrade_FaceDivideArea_Create
Handle_ShapeUpgrade_FaceDivideArea_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_FaceDivideArea_DownCast
Handle_ShapeUpgrade_FaceDivideArea_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_FaceDivideArea_IsNull
Handle_ShapeUpgrade_FixSmallBezierCurves_Create = _ShapeUpgrade.Handle_ShapeUpgrade_FixSmallBezierCurves_Create
Handle_ShapeUpgrade_FixSmallBezierCurves_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_FixSmallBezierCurves_DownCast
Handle_ShapeUpgrade_FixSmallBezierCurves_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_FixSmallBezierCurves_IsNull
Handle_ShapeUpgrade_SplitCurve2dContinuity_Create = _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve2dContinuity_Create
Handle_ShapeUpgrade_SplitCurve2dContinuity_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve2dContinuity_DownCast
Handle_ShapeUpgrade_SplitCurve2dContinuity_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve2dContinuity_IsNull
Handle_ShapeUpgrade_SplitCurve3dContinuity_Create = _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve3dContinuity_Create
Handle_ShapeUpgrade_SplitCurve3dContinuity_DownCast = _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve3dContinuity_DownCast
Handle_ShapeUpgrade_SplitCurve3dContinuity_IsNull = _ShapeUpgrade.Handle_ShapeUpgrade_SplitCurve3dContinuity_IsNull
class shapeupgrade(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    C0BSplineToSequenceOfC1BSplineCurve = _swig_new_static_method(_ShapeUpgrade.shapeupgrade_C0BSplineToSequenceOfC1BSplineCurve)

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

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
    GetResult = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_RemoveLocations_GetResult)
    ModifiedShape = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_RemoveLocations_ModifiedShape)
    Remove = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_RemoveLocations_Remove)
    RemoveLevel = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_RemoveLocations_RemoveLevel)
    SetRemoveLevel = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_RemoveLocations_SetRemoveLevel)

    def __init__(self, *args):
        r"""
        * Empy constructor
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_RemoveLocations_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_RemoveLocations(*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
    GetContext = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivide_GetContext)
    Init = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivide_Init)
    MsgRegistrator = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivide_MsgRegistrator)
    Perform = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivide_Perform)
    Result = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivide_Result)
    SendMsg = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivide_SendMsg)
    SetContext = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivide_SetContext)
    SetEdgeMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivide_SetEdgeMode)
    SetMaxTolerance = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivide_SetMaxTolerance)
    SetMinTolerance = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivide_SetMinTolerance)
    SetMsgRegistrator = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivide_SetMsgRegistrator)
    SetPrecision = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivide_SetPrecision)
    SetSplitFaceTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivide_SetSplitFaceTool)
    SetSurfaceSegmentMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivide_SetSurfaceSegmentMode)

    def __init__(self, *args):
        r"""
        :rtype: None* Initialize by a Shape.
        	:param S:
        	:type S: TopoDS_Shape
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_ShapeDivide_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ShapeDivide(*args))
    Status = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivide_Status)

    __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
    ApplySewing = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShellSewing_ApplySewing)

    def __init__(self, *args):
        r"""
        * Creates a ShellSewing, empty
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_ShellSewing_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ShellSewing(*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
    Build = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitCurve_Build)
    Compute = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitCurve_Compute)
    Init = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitCurve_Init)
    Perform = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitCurve_Perform)
    SetSplitValues = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitCurve_SetSplitValues)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_SplitCurve_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_SplitCurve(*args))
    SplitValues = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitCurve_SplitValues)
    Status = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitCurve_Status)


    @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
    Build = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitSurface_Build)
    Compute = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitSurface_Compute)
    Init = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitSurface_Init)
    Perform = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitSurface_Perform)
    ResSurfaces = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitSurface_ResSurfaces)
    SetUSplitValues = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitSurface_SetUSplitValues)
    SetVSplitValues = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitSurface_SetVSplitValues)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_SplitSurface_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_SplitSurface(*args))
    Status = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitSurface_Status)
    USplitValues = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitSurface_USplitValues)
    VSplitValues = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitSurface_VSplitValues)


    @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
    Context = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_Tool_Context)
    LimitTolerance = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_Tool_LimitTolerance)
    MaxTolerance = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_Tool_MaxTolerance)
    MinTolerance = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_Tool_MinTolerance)
    Precision = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_Tool_Precision)
    Set = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_Tool_Set)
    SetContext = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_Tool_SetContext)
    SetMaxTolerance = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_Tool_SetMaxTolerance)
    SetMinTolerance = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_Tool_SetMinTolerance)
    SetPrecision = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_Tool_SetPrecision)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_Tool_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_Tool(*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
    AllowInternalEdges = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_UnifySameDomain_AllowInternalEdges)
    Build = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_UnifySameDomain_Build)
    History = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_UnifySameDomain_History)
    Initialize = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_UnifySameDomain_Initialize)
    KeepShape = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_UnifySameDomain_KeepShape)
    KeepShapes = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_UnifySameDomain_KeepShapes)
    SetAngularTolerance = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_UnifySameDomain_SetAngularTolerance)
    SetLinearTolerance = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_UnifySameDomain_SetLinearTolerance)
    SetSafeInputMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_UnifySameDomain_SetSafeInputMode)
    Shape = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_UnifySameDomain_Shape)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None* Constructor defining input shape and necessary flags. It does not perform unification.
        	:param aShape:
        	:type aShape: TopoDS_Shape
        	:param UnifyEdges: default value is Standard_True
        	:type UnifyEdges: bool
        	:param UnifyFaces: default value is Standard_True
        	:type UnifyFaces: bool
        	:param ConcatBSplines: default value is Standard_False
        	:type ConcatBSplines: bool
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_UnifySameDomain_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_UnifySameDomain(*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
    GetBSplineMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_GetBSplineMode)
    GetExtrusionMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_GetExtrusionMode)
    GetPlaneMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_GetPlaneMode)
    GetRevolutionMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_GetRevolutionMode)
    Segments = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_Segments)
    SetBSplineMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_SetBSplineMode)
    SetExtrusionMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_SetExtrusionMode)
    SetPlaneMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_SetPlaneMode)
    SetRevolutionMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_SetRevolutionMode)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_ConvertSurfaceToBezierBasis_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ConvertSurfaceToBezierBasis(*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
    Clear = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_EdgeDivide_Clear)
    Compute = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_EdgeDivide_Compute)
    GetSplitCurve2dTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_EdgeDivide_GetSplitCurve2dTool)
    GetSplitCurve3dTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_EdgeDivide_GetSplitCurve3dTool)
    HasCurve2d = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_EdgeDivide_HasCurve2d)
    HasCurve3d = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_EdgeDivide_HasCurve3d)
    Knots2d = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_EdgeDivide_Knots2d)
    Knots3d = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_EdgeDivide_Knots3d)
    SetFace = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_EdgeDivide_SetFace)
    SetSplitCurve2dTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_EdgeDivide_SetSplitCurve2dTool)
    SetSplitCurve3dTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_EdgeDivide_SetSplitCurve3dTool)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_EdgeDivide_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_EdgeDivide(*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
    GetSplitSurfaceTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_FaceDivide_GetSplitSurfaceTool)
    GetWireDivideTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_FaceDivide_GetWireDivideTool)
    Init = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_FaceDivide_Init)
    Perform = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_FaceDivide_Perform)
    Result = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_FaceDivide_Result)
    SetSplitSurfaceTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_FaceDivide_SetSplitSurfaceTool)
    SetSurfaceSegmentMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_FaceDivide_SetSurfaceSegmentMode)
    SetWireDivideTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_FaceDivide_SetWireDivideTool)

    def __init__(self, *args):
        r"""
        * Creates empty constructor.
        	:rtype: None* Initialize by a Face.
        	:param F:
        	:type F: TopoDS_Face
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_FaceDivide_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_FaceDivide(*args))
    SplitCurves = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_FaceDivide_SplitCurves)
    SplitSurface = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_FaceDivide_SplitSurface)
    Status = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_FaceDivide_Status)


    @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
    Approx = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_FixSmallCurves_Approx)
    Init = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_FixSmallCurves_Init)
    SetSplitCurve2dTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_FixSmallCurves_SetSplitCurve2dTool)
    SetSplitCurve3dTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_FixSmallCurves_SetSplitCurve3dTool)

    def __init__(self, *args):
        r""":rtype: None"""
        _ShapeUpgrade.ShapeUpgrade_FixSmallCurves_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_FixSmallCurves(*args))
    Status = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_FixSmallCurves_Status)


    @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
    GetResult = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_GetResult)
    Init = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_Init)
    GetMinArea = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_GetMinArea)
    SetMinArea = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_SetMinArea)
    Perform = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_Perform)
    GetRemoveFaceMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_GetRemoveFaceMode)
    SetRemoveFaceMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_SetRemoveFaceMode)
    RemovedFaces = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_RemovedFaces)
    RemovedWires = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_RemovedWires)

    def __init__(self, *args):
        r"""
        * Creates empty constructor.
        	:rtype: None:param theShape:
        	:type theShape: TopoDS_Shape
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_RemoveInternalWires(*args))
    Status = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_RemoveInternalWires_Status)


    @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
    Get2dConversion = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Get2dConversion)
    Get3dCircleConversion = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Get3dCircleConversion)
    Get3dConicConversion = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Get3dConicConversion)
    Get3dConversion = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Get3dConversion)
    Get3dLineConversion = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Get3dLineConversion)
    GetBSplineMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_GetBSplineMode)
    GetExtrusionMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_GetExtrusionMode)
    GetPlaneMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_GetPlaneMode)
    GetRevolutionMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_GetRevolutionMode)
    GetSurfaceConversion = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_GetSurfaceConversion)
    Set2dConversion = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Set2dConversion)
    Set3dCircleConversion = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Set3dCircleConversion)
    Set3dConicConversion = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Set3dConicConversion)
    Set3dConversion = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Set3dConversion)
    Set3dLineConversion = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_Set3dLineConversion)
    SetBSplineMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_SetBSplineMode)
    SetExtrusionMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_SetExtrusionMode)
    SetPlaneMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_SetPlaneMode)
    SetRevolutionMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_SetRevolutionMode)
    SetSurfaceConversion = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_SetSurfaceConversion)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None* Initialize by a Shape.
        	:param S:
        	:type S: TopoDS_Shape
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_ShapeConvertToBezier_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ShapeConvertToBezier(*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
    InitTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivideAngle_InitTool)
    MaxAngle = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivideAngle_MaxAngle)
    SetMaxAngle = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivideAngle_SetMaxAngle)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:param MaxAngle:
        	:type MaxAngle: float
        	:rtype: None* Initialize by a Shape.
        	:param MaxAngle:
        	:type MaxAngle: float
        	:param S:
        	:type S: TopoDS_Shape
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_ShapeDivideAngle_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ShapeDivideAngle(*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
    GetMaxArea = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivideArea_GetMaxArea)
    SetMaxArea = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivideArea_SetMaxArea)

    def __init__(self, *args):
        r"""
        :rtype: None* Initialize by a Shape.
        	:param S:
        	:type S: TopoDS_Shape
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_ShapeDivideArea_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ShapeDivideArea(*args))

    __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
    SetNbSplitPoints = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivideClosed_SetNbSplitPoints)

    def __init__(self, *args):
        r"""
        * Initialises tool with shape and default parameter.
        	:param S:
        	:type S: TopoDS_Shape
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_ShapeDivideClosed_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ShapeDivideClosed(*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
    SetNbSplitPoints = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivideClosedEdges_SetNbSplitPoints)

    def __init__(self, *args):
        r"""
        * Initialises tool with shape and default parameter.
        	:param S:
        	:type S: TopoDS_Shape
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_ShapeDivideClosedEdges_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ShapeDivideClosedEdges(*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
    SetBoundaryCriterion = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivideContinuity_SetBoundaryCriterion)
    SetPCurveCriterion = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivideContinuity_SetPCurveCriterion)
    SetSurfaceCriterion = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivideContinuity_SetSurfaceCriterion)
    SetTolerance = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivideContinuity_SetTolerance)
    SetTolerance2d = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ShapeDivideContinuity_SetTolerance2d)

    def __init__(self, *args):
        r"""
        :rtype: None* Initialize by a Shape.
        	:param S:
        	:type S: TopoDS_Shape
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_ShapeDivideContinuity_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ShapeDivideContinuity(*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
    GetCurves = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitCurve2d_GetCurves)
    Init = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitCurve2d_Init)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_SplitCurve2d_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_SplitCurve2d(*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
    GetCurves = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitCurve3d_GetCurves)
    Init = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitCurve3d_Init)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_SplitCurve3d_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_SplitCurve3d(*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
    MaxAngle = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitSurfaceAngle_MaxAngle)
    SetMaxAngle = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitSurfaceAngle_SetMaxAngle)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:param MaxAngle:
        	:type MaxAngle: float
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_SplitSurfaceAngle_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_SplitSurfaceAngle(*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
    GetNbParts = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitSurfaceArea_GetNbParts)
    SetNbParts = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitSurfaceArea_SetNbParts)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_SplitSurfaceArea_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_SplitSurfaceArea(*args))


    @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
    SetCriterion = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitSurfaceContinuity_SetCriterion)
    SetTolerance = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitSurfaceContinuity_SetTolerance)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_SplitSurfaceContinuity_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_SplitSurfaceContinuity(*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
    GetEdgeDivideTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_WireDivide_GetEdgeDivideTool)
    GetFixSmallCurveTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_WireDivide_GetFixSmallCurveTool)
    GetTransferParamTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_WireDivide_GetTransferParamTool)
    Init = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_WireDivide_Init)
    Load = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_WireDivide_Load)
    Perform = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_WireDivide_Perform)
    SetEdgeDivideTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_WireDivide_SetEdgeDivideTool)
    SetEdgeMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_WireDivide_SetEdgeMode)
    SetFace = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_WireDivide_SetFace)
    SetFixSmallCurveTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_WireDivide_SetFixSmallCurveTool)
    SetSplitCurve2dTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_WireDivide_SetSplitCurve2dTool)
    SetSplitCurve3dTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_WireDivide_SetSplitCurve3dTool)
    SetSurface = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_WireDivide_SetSurface)
    SetTransferParamTool = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_WireDivide_SetTransferParamTool)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_WireDivide_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_WireDivide(*args))
    Status = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_WireDivide_Status)
    Wire = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_WireDivide_Wire)


    @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.
        	:rtype: 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
    GetNbSplitPoints = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ClosedFaceDivide_GetNbSplitPoints)
    SetNbSplitPoints = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ClosedFaceDivide_SetNbSplitPoints)

    def __init__(self, *args):
        r"""
        * Creates empty constructor.
        	:rtype: None* Initialize by a Face.
        	:param F:
        	:type F: TopoDS_Face
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_ClosedFaceDivide_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ClosedFaceDivide(*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.
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_ConvertCurve2dToBezier_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ConvertCurve2dToBezier(*args))
    SplitParams = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ConvertCurve2dToBezier_SplitParams)


    @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
    GetCircleMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ConvertCurve3dToBezier_GetCircleMode)
    GetConicMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ConvertCurve3dToBezier_GetConicMode)
    GetLineMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ConvertCurve3dToBezier_GetLineMode)
    SetCircleMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ConvertCurve3dToBezier_SetCircleMode)
    SetConicMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ConvertCurve3dToBezier_SetConicMode)
    SetLineMode = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ConvertCurve3dToBezier_SetLineMode)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_ConvertCurve3dToBezier_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_ConvertCurve3dToBezier(*args))
    SplitParams = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_ConvertCurve3dToBezier_SplitParams)


    @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
    GetMaxArea = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_FaceDivideArea_GetMaxArea)
    SetMaxArea = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_FaceDivideArea_SetMaxArea)

    def __init__(self, *args):
        r"""
        * Creates empty constructor.
        	:rtype: None:param F:
        	:type F: TopoDS_Face
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_FaceDivideArea_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_FaceDivideArea(*args))


    @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""":rtype: 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
    SetCriterion = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitCurve2dContinuity_SetCriterion)
    SetTolerance = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitCurve2dContinuity_SetTolerance)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_SplitCurve2dContinuity_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_SplitCurve2dContinuity(*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
    GetCurve = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitCurve3dContinuity_GetCurve)
    SetCriterion = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitCurve3dContinuity_SetCriterion)
    SetTolerance = _swig_new_instance_method(_ShapeUpgrade.ShapeUpgrade_SplitCurve3dContinuity_SetTolerance)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None
        """
        _ShapeUpgrade.ShapeUpgrade_SplitCurve3dContinuity_swiginit(self, _ShapeUpgrade.new_ShapeUpgrade_SplitCurve3dContinuity(*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)



