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

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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

_swig_new_instance_method = _BRepBlend.SWIG_PyInstanceMethod_New
_swig_new_static_method = _BRepBlend.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__ = _BRepBlend.delete_SwigPyIterator
    value = _swig_new_instance_method(_BRepBlend.SwigPyIterator_value)
    incr = _swig_new_instance_method(_BRepBlend.SwigPyIterator_incr)
    decr = _swig_new_instance_method(_BRepBlend.SwigPyIterator_decr)
    distance = _swig_new_instance_method(_BRepBlend.SwigPyIterator_distance)
    equal = _swig_new_instance_method(_BRepBlend.SwigPyIterator_equal)
    copy = _swig_new_instance_method(_BRepBlend.SwigPyIterator_copy)
    next = _swig_new_instance_method(_BRepBlend.SwigPyIterator_next)
    __next__ = _swig_new_instance_method(_BRepBlend.SwigPyIterator___next__)
    previous = _swig_new_instance_method(_BRepBlend.SwigPyIterator_previous)
    advance = _swig_new_instance_method(_BRepBlend.SwigPyIterator_advance)
    __eq__ = _swig_new_instance_method(_BRepBlend.SwigPyIterator___eq__)
    __ne__ = _swig_new_instance_method(_BRepBlend.SwigPyIterator___ne__)
    __iadd__ = _swig_new_instance_method(_BRepBlend.SwigPyIterator___iadd__)
    __isub__ = _swig_new_instance_method(_BRepBlend.SwigPyIterator___isub__)
    __add__ = _swig_new_instance_method(_BRepBlend.SwigPyIterator___add__)
    __sub__ = _swig_new_instance_method(_BRepBlend.SwigPyIterator___sub__)
    def __iter__(self):
        return self

# Register SwigPyIterator in _BRepBlend:
_BRepBlend.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.BlendFunc
import OCC.Core.Adaptor3d
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.TopAbs
import OCC.Core.Adaptor2d
import OCC.Core.Geom2d
import OCC.Core.math
import OCC.Core.Message
import OCC.Core.Convert
import OCC.Core.Blend
import OCC.Core.Law
import OCC.Core.Approx
import OCC.Core.AppCont
import OCC.Core.AppParCurves
import OCC.Core.AppBlend
import OCC.Core.IntSurf
import OCC.Core.ChFiDS
import OCC.Core.TopoDS
import OCC.Core.TopLoc
import OCC.Core.TopTools
import OCC.Core.BRepAdaptor
import OCC.Core.GeomAdaptor
import OCC.Core.Geom2dAdaptor
Handle_BRepBlend_AppFuncRoot_Create = _BRepBlend.Handle_BRepBlend_AppFuncRoot_Create
Handle_BRepBlend_AppFuncRoot_DownCast = _BRepBlend.Handle_BRepBlend_AppFuncRoot_DownCast
Handle_BRepBlend_AppFuncRoot_IsNull = _BRepBlend.Handle_BRepBlend_AppFuncRoot_IsNull
Handle_BRepBlend_Line_Create = _BRepBlend.Handle_BRepBlend_Line_Create
Handle_BRepBlend_Line_DownCast = _BRepBlend.Handle_BRepBlend_Line_DownCast
Handle_BRepBlend_Line_IsNull = _BRepBlend.Handle_BRepBlend_Line_IsNull
Handle_BRepBlend_AppFunc_Create = _BRepBlend.Handle_BRepBlend_AppFunc_Create
Handle_BRepBlend_AppFunc_DownCast = _BRepBlend.Handle_BRepBlend_AppFunc_DownCast
Handle_BRepBlend_AppFunc_IsNull = _BRepBlend.Handle_BRepBlend_AppFunc_IsNull
Handle_BRepBlend_AppFuncRst_Create = _BRepBlend.Handle_BRepBlend_AppFuncRst_Create
Handle_BRepBlend_AppFuncRst_DownCast = _BRepBlend.Handle_BRepBlend_AppFuncRst_DownCast
Handle_BRepBlend_AppFuncRst_IsNull = _BRepBlend.Handle_BRepBlend_AppFuncRst_IsNull
Handle_BRepBlend_AppFuncRstRst_Create = _BRepBlend.Handle_BRepBlend_AppFuncRstRst_Create
Handle_BRepBlend_AppFuncRstRst_DownCast = _BRepBlend.Handle_BRepBlend_AppFuncRstRst_DownCast
Handle_BRepBlend_AppFuncRstRst_IsNull = _BRepBlend.Handle_BRepBlend_AppFuncRstRst_IsNull
class BRepBlend_SequenceOfLine(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_begin)
    end = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_end)
    cbegin = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_cbegin)
    cend = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_cend)

    def __init__(self, *args):
        _BRepBlend.BRepBlend_SequenceOfLine_swiginit(self, _BRepBlend.new_BRepBlend_SequenceOfLine(*args))
    Size = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_Size)
    Length = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_Length)
    Lower = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_Lower)
    Upper = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_Upper)
    IsEmpty = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_IsEmpty)
    Reverse = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_Reverse)
    Exchange = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_Exchange)
    delNode = _swig_new_static_method(_BRepBlend.BRepBlend_SequenceOfLine_delNode)
    Clear = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_Clear)
    Assign = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_Assign)
    Set = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_Set)
    Remove = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_Remove)
    Append = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_Append)
    Prepend = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_Prepend)
    InsertBefore = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_InsertBefore)
    InsertAfter = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_InsertAfter)
    Split = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_Split)
    First = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_First)
    ChangeFirst = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_ChangeFirst)
    Last = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_Last)
    ChangeLast = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_ChangeLast)
    Value = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_Value)
    ChangeValue = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_ChangeValue)
    __call__ = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine___call__)
    SetValue = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfLine_SetValue)
    __swig_destroy__ = _BRepBlend.delete_BRepBlend_SequenceOfLine

# Register BRepBlend_SequenceOfLine in _BRepBlend:
_BRepBlend.BRepBlend_SequenceOfLine_swigregister(BRepBlend_SequenceOfLine)
BRepBlend_SequenceOfLine_delNode = _BRepBlend.BRepBlend_SequenceOfLine_delNode

class BRepBlend_SequenceOfPointOnRst(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_begin)
    end = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_end)
    cbegin = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_cbegin)
    cend = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_cend)

    def __init__(self, *args):
        _BRepBlend.BRepBlend_SequenceOfPointOnRst_swiginit(self, _BRepBlend.new_BRepBlend_SequenceOfPointOnRst(*args))
    Size = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_Size)
    Length = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_Length)
    Lower = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_Lower)
    Upper = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_Upper)
    IsEmpty = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_IsEmpty)
    Reverse = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_Reverse)
    Exchange = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_Exchange)
    delNode = _swig_new_static_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_delNode)
    Clear = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_Clear)
    Assign = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_Assign)
    Set = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_Set)
    Remove = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_Remove)
    Append = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_Append)
    Prepend = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_Prepend)
    InsertBefore = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_InsertBefore)
    InsertAfter = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_InsertAfter)
    Split = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_Split)
    First = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_First)
    ChangeFirst = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_ChangeFirst)
    Last = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_Last)
    ChangeLast = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_ChangeLast)
    Value = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_Value)
    ChangeValue = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_ChangeValue)
    __call__ = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst___call__)
    SetValue = _swig_new_instance_method(_BRepBlend.BRepBlend_SequenceOfPointOnRst_SetValue)
    __swig_destroy__ = _BRepBlend.delete_BRepBlend_SequenceOfPointOnRst

# Register BRepBlend_SequenceOfPointOnRst in _BRepBlend:
_BRepBlend.BRepBlend_SequenceOfPointOnRst_swigregister(BRepBlend_SequenceOfPointOnRst)
BRepBlend_SequenceOfPointOnRst_delNode = _BRepBlend.BRepBlend_SequenceOfPointOnRst_delNode

class BRepBlend_AppFuncRoot(OCC.Core.Approx.Approx_SweepFunction):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr
    Point = _swig_new_instance_method(_BRepBlend.BRepBlend_AppFuncRoot_Point)
    Vec = _swig_new_instance_method(_BRepBlend.BRepBlend_AppFuncRoot_Vec)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_AppFuncRoot

# Register BRepBlend_AppFuncRoot in _BRepBlend:
_BRepBlend.BRepBlend_AppFuncRoot_swigregister(BRepBlend_AppFuncRoot)

class BRepBlend_AppSurf(OCC.Core.AppBlend.AppBlend_Approx):
    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:param Degmin:
        	:type Degmin: int
        	:param Degmax:
        	:type Degmax: int
        	:param Tol3d:
        	:type Tol3d: float
        	:param Tol2d:
        	:type Tol2d: float
        	:param NbIt:
        	:type NbIt: int
        	:param KnownParameters: default value is Standard_False
        	:type KnownParameters: bool
        	:rtype: None
        """
        _BRepBlend.BRepBlend_AppSurf_swiginit(self, _BRepBlend.new_BRepBlend_AppSurf(*args))
    Continuity = _swig_new_instance_method(_BRepBlend.BRepBlend_AppSurf_Continuity)
    CriteriumWeight = _swig_new_instance_method(_BRepBlend.BRepBlend_AppSurf_CriteriumWeight)
    Init = _swig_new_instance_method(_BRepBlend.BRepBlend_AppSurf_Init)
    ParType = _swig_new_instance_method(_BRepBlend.BRepBlend_AppSurf_ParType)
    Perform = _swig_new_instance_method(_BRepBlend.BRepBlend_AppSurf_Perform)
    PerformSmoothing = _swig_new_instance_method(_BRepBlend.BRepBlend_AppSurf_PerformSmoothing)
    SetContinuity = _swig_new_instance_method(_BRepBlend.BRepBlend_AppSurf_SetContinuity)
    SetCriteriumWeight = _swig_new_instance_method(_BRepBlend.BRepBlend_AppSurf_SetCriteriumWeight)
    SetParType = _swig_new_instance_method(_BRepBlend.BRepBlend_AppSurf_SetParType)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_AppSurf

# Register BRepBlend_AppSurf in _BRepBlend:
_BRepBlend.BRepBlend_AppSurf_swigregister(BRepBlend_AppSurf)

class BRepBlend_AppSurface(OCC.Core.AppBlend.AppBlend_Approx):
    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"""
        * Approximation of the new Surface (and eventually the 2d Curves on the support surfaces). Normaly the 2d curve are approximated with an tolerance given by the resolution on support surfaces, but if this tolerance is too large Tol2d is used.
        	:param Funct:
        	:type Funct: Approx_SweepFunction
        	:param First:
        	:type First: float
        	:param Last:
        	:type Last: float
        	:param Tol3d:
        	:type Tol3d: float
        	:param Tol2d:
        	:type Tol2d: float
        	:param TolAngular:
        	:type TolAngular: float
        	:param Continuity: default value is GeomAbs_C0
        	:type Continuity: GeomAbs_Shape
        	:param Degmax: default value is 11
        	:type Degmax: int
        	:param Segmax: default value is 50
        	:type Segmax: int
        	:rtype: None
        """
        _BRepBlend.BRepBlend_AppSurface_swiginit(self, _BRepBlend.new_BRepBlend_AppSurface(*args))
    DumpToString = _swig_new_instance_method(_BRepBlend.BRepBlend_AppSurface_DumpToString)
    Max2dError = _swig_new_instance_method(_BRepBlend.BRepBlend_AppSurface_Max2dError)
    MaxErrorOnSurf = _swig_new_instance_method(_BRepBlend.BRepBlend_AppSurface_MaxErrorOnSurf)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_AppSurface

# Register BRepBlend_AppSurface in _BRepBlend:
_BRepBlend.BRepBlend_AppSurface_swigregister(BRepBlend_AppSurface)

class BRepBlend_CSWalking(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"""
        :param Curv:
        	:type Curv: Adaptor3d_HCurve
        	:param Surf:
        	:type Surf: Adaptor3d_HSurface
        	:param Domain:
        	:type Domain: Adaptor3d_TopolTool
        	:rtype: None
        """
        _BRepBlend.BRepBlend_CSWalking_swiginit(self, _BRepBlend.new_BRepBlend_CSWalking(*args))
    Complete = _swig_new_instance_method(_BRepBlend.BRepBlend_CSWalking_Complete)
    IsDone = _swig_new_instance_method(_BRepBlend.BRepBlend_CSWalking_IsDone)
    Line = _swig_new_instance_method(_BRepBlend.BRepBlend_CSWalking_Line)
    Perform = _swig_new_instance_method(_BRepBlend.BRepBlend_CSWalking_Perform)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_CSWalking

# Register BRepBlend_CSWalking in _BRepBlend:
_BRepBlend.BRepBlend_CSWalking_swigregister(BRepBlend_CSWalking)

class BRepBlend_CurvPointRadInv(OCC.Core.Blend.Blend_CurvPointFuncInv):
    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"""
        :param C1:
        	:type C1: Adaptor3d_HCurve
        	:param C2:
        	:type C2: Adaptor3d_HCurve
        	:rtype: None
        """
        _BRepBlend.BRepBlend_CurvPointRadInv_swiginit(self, _BRepBlend.new_BRepBlend_CurvPointRadInv(*args))
    Set = _swig_new_instance_method(_BRepBlend.BRepBlend_CurvPointRadInv_Set)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_CurvPointRadInv

# Register BRepBlend_CurvPointRadInv in _BRepBlend:
_BRepBlend.BRepBlend_CurvPointRadInv_swigregister(BRepBlend_CurvPointRadInv)

class BRepBlend_Extremity(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AddArc = _swig_new_instance_method(_BRepBlend.BRepBlend_Extremity_AddArc)

    def __init__(self, *args):
        r"""
        :rtype: None* Creates an extremity on a surface
        	:param P:
        	:type P: gp_Pnt
        	:param U:
        	:type U: float
        	:param V:
        	:type V: float
        	:param Param:
        	:type Param: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None* Creates an extremity on a surface. This extremity matches the vertex <Vtx>.
        	:param P:
        	:type P: gp_Pnt
        	:param U:
        	:type U: float
        	:param V:
        	:type V: float
        	:param Param:
        	:type Param: float
        	:param Tol:
        	:type Tol: float
        	:param Vtx:
        	:type Vtx: Adaptor3d_HVertex
        	:rtype: None* Creates an extremity on a curve
        	:param P:
        	:type P: gp_Pnt
        	:param W:
        	:type W: float
        	:param Param:
        	:type Param: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None
        """
        _BRepBlend.BRepBlend_Extremity_swiginit(self, _BRepBlend.new_BRepBlend_Extremity(*args))
    HasTangent = _swig_new_instance_method(_BRepBlend.BRepBlend_Extremity_HasTangent)
    IsVertex = _swig_new_instance_method(_BRepBlend.BRepBlend_Extremity_IsVertex)
    NbPointOnRst = _swig_new_instance_method(_BRepBlend.BRepBlend_Extremity_NbPointOnRst)
    Parameter = _swig_new_instance_method(_BRepBlend.BRepBlend_Extremity_Parameter)
    ParameterOnGuide = _swig_new_instance_method(_BRepBlend.BRepBlend_Extremity_ParameterOnGuide)
    Parameters = _swig_new_instance_method(_BRepBlend.BRepBlend_Extremity_Parameters)
    PointOnRst = _swig_new_instance_method(_BRepBlend.BRepBlend_Extremity_PointOnRst)
    SetTangent = _swig_new_instance_method(_BRepBlend.BRepBlend_Extremity_SetTangent)
    SetValue = _swig_new_instance_method(_BRepBlend.BRepBlend_Extremity_SetValue)
    SetVertex = _swig_new_instance_method(_BRepBlend.BRepBlend_Extremity_SetVertex)
    Tangent = _swig_new_instance_method(_BRepBlend.BRepBlend_Extremity_Tangent)
    Tolerance = _swig_new_instance_method(_BRepBlend.BRepBlend_Extremity_Tolerance)
    Value = _swig_new_instance_method(_BRepBlend.BRepBlend_Extremity_Value)
    Vertex = _swig_new_instance_method(_BRepBlend.BRepBlend_Extremity_Vertex)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_Extremity

# Register BRepBlend_Extremity in _BRepBlend:
_BRepBlend.BRepBlend_Extremity_swigregister(BRepBlend_Extremity)

class BRepBlend_Line(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
    Append = _swig_new_instance_method(_BRepBlend.BRepBlend_Line_Append)

    def __init__(self, *args):
        r""":rtype: None"""
        _BRepBlend.BRepBlend_Line_swiginit(self, _BRepBlend.new_BRepBlend_Line(*args))
    Clear = _swig_new_instance_method(_BRepBlend.BRepBlend_Line_Clear)
    EndPointOnFirst = _swig_new_instance_method(_BRepBlend.BRepBlend_Line_EndPointOnFirst)
    EndPointOnSecond = _swig_new_instance_method(_BRepBlend.BRepBlend_Line_EndPointOnSecond)
    InsertBefore = _swig_new_instance_method(_BRepBlend.BRepBlend_Line_InsertBefore)
    NbPoints = _swig_new_instance_method(_BRepBlend.BRepBlend_Line_NbPoints)
    Point = _swig_new_instance_method(_BRepBlend.BRepBlend_Line_Point)
    Prepend = _swig_new_instance_method(_BRepBlend.BRepBlend_Line_Prepend)
    Remove = _swig_new_instance_method(_BRepBlend.BRepBlend_Line_Remove)
    Set = _swig_new_instance_method(_BRepBlend.BRepBlend_Line_Set)
    SetEndPoints = _swig_new_instance_method(_BRepBlend.BRepBlend_Line_SetEndPoints)
    SetStartPoints = _swig_new_instance_method(_BRepBlend.BRepBlend_Line_SetStartPoints)
    StartPointOnFirst = _swig_new_instance_method(_BRepBlend.BRepBlend_Line_StartPointOnFirst)
    StartPointOnSecond = _swig_new_instance_method(_BRepBlend.BRepBlend_Line_StartPointOnSecond)
    TransitionOnS = _swig_new_instance_method(_BRepBlend.BRepBlend_Line_TransitionOnS)
    TransitionOnS1 = _swig_new_instance_method(_BRepBlend.BRepBlend_Line_TransitionOnS1)
    TransitionOnS2 = _swig_new_instance_method(_BRepBlend.BRepBlend_Line_TransitionOnS2)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_Line

# Register BRepBlend_Line in _BRepBlend:
_BRepBlend.BRepBlend_Line_swigregister(BRepBlend_Line)

class BRepBlend_PointOnRst(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Arc = _swig_new_instance_method(_BRepBlend.BRepBlend_PointOnRst_Arc)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None* Creates the PointOnRst on the arc A, at parameter Param, with the transition TLine on the walking line, and TArc on the arc A.
        	:param A:
        	:type A: Adaptor2d_HCurve2d
        	:param Param:
        	:type Param: float
        	:param TLine:
        	:type TLine: IntSurf_Transition
        	:param TArc:
        	:type TArc: IntSurf_Transition
        	:rtype: None
        """
        _BRepBlend.BRepBlend_PointOnRst_swiginit(self, _BRepBlend.new_BRepBlend_PointOnRst(*args))
    ParameterOnArc = _swig_new_instance_method(_BRepBlend.BRepBlend_PointOnRst_ParameterOnArc)
    SetArc = _swig_new_instance_method(_BRepBlend.BRepBlend_PointOnRst_SetArc)
    TransitionOnArc = _swig_new_instance_method(_BRepBlend.BRepBlend_PointOnRst_TransitionOnArc)
    TransitionOnLine = _swig_new_instance_method(_BRepBlend.BRepBlend_PointOnRst_TransitionOnLine)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_PointOnRst

# Register BRepBlend_PointOnRst in _BRepBlend:
_BRepBlend.BRepBlend_PointOnRst_swigregister(BRepBlend_PointOnRst)

class BRepBlend_RstRstConstRad(OCC.Core.Blend.Blend_RstRstFunction):
    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"""
        :param Surf1:
        	:type Surf1: Adaptor3d_HSurface
        	:param Rst1:
        	:type Rst1: Adaptor2d_HCurve2d
        	:param Surf2:
        	:type Surf2: Adaptor3d_HSurface
        	:param Rst2:
        	:type Rst2: Adaptor2d_HCurve2d
        	:param CGuide:
        	:type CGuide: Adaptor3d_HCurve
        	:rtype: None
        """
        _BRepBlend.BRepBlend_RstRstConstRad_swiginit(self, _BRepBlend.new_BRepBlend_RstRstConstRad(*args))
    CenterCircleRst1Rst2 = _swig_new_instance_method(_BRepBlend.BRepBlend_RstRstConstRad_CenterCircleRst1Rst2)
    GetTolerance = _swig_new_instance_method(_BRepBlend.BRepBlend_RstRstConstRad_GetTolerance)
    Section = _swig_new_instance_method(_BRepBlend.BRepBlend_RstRstConstRad_Section)
    Set = _swig_new_instance_method(_BRepBlend.BRepBlend_RstRstConstRad_Set)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_RstRstConstRad

# Register BRepBlend_RstRstConstRad in _BRepBlend:
_BRepBlend.BRepBlend_RstRstConstRad_swigregister(BRepBlend_RstRstConstRad)

class BRepBlend_RstRstEvolRad(OCC.Core.Blend.Blend_RstRstFunction):
    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"""
        :param Surf1:
        	:type Surf1: Adaptor3d_HSurface
        	:param Rst1:
        	:type Rst1: Adaptor2d_HCurve2d
        	:param Surf2:
        	:type Surf2: Adaptor3d_HSurface
        	:param Rst2:
        	:type Rst2: Adaptor2d_HCurve2d
        	:param CGuide:
        	:type CGuide: Adaptor3d_HCurve
        	:param Evol:
        	:type Evol: Law_Function
        	:rtype: None
        """
        _BRepBlend.BRepBlend_RstRstEvolRad_swiginit(self, _BRepBlend.new_BRepBlend_RstRstEvolRad(*args))
    CenterCircleRst1Rst2 = _swig_new_instance_method(_BRepBlend.BRepBlend_RstRstEvolRad_CenterCircleRst1Rst2)
    GetTolerance = _swig_new_instance_method(_BRepBlend.BRepBlend_RstRstEvolRad_GetTolerance)
    Section = _swig_new_instance_method(_BRepBlend.BRepBlend_RstRstEvolRad_Section)
    Set = _swig_new_instance_method(_BRepBlend.BRepBlend_RstRstEvolRad_Set)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_RstRstEvolRad

# Register BRepBlend_RstRstEvolRad in _BRepBlend:
_BRepBlend.BRepBlend_RstRstEvolRad_swigregister(BRepBlend_RstRstEvolRad)

class BRepBlend_RstRstLineBuilder(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"""
        :param Surf1:
        	:type Surf1: Adaptor3d_HSurface
        	:param Rst1:
        	:type Rst1: Adaptor2d_HCurve2d
        	:param Domain1:
        	:type Domain1: Adaptor3d_TopolTool
        	:param Surf2:
        	:type Surf2: Adaptor3d_HSurface
        	:param Rst2:
        	:type Rst2: Adaptor2d_HCurve2d
        	:param Domain2:
        	:type Domain2: Adaptor3d_TopolTool
        	:rtype: None
        """
        _BRepBlend.BRepBlend_RstRstLineBuilder_swiginit(self, _BRepBlend.new_BRepBlend_RstRstLineBuilder(*args))
    Complete = _swig_new_instance_method(_BRepBlend.BRepBlend_RstRstLineBuilder_Complete)
    Decroch1End = _swig_new_instance_method(_BRepBlend.BRepBlend_RstRstLineBuilder_Decroch1End)
    Decroch1Start = _swig_new_instance_method(_BRepBlend.BRepBlend_RstRstLineBuilder_Decroch1Start)
    Decroch2End = _swig_new_instance_method(_BRepBlend.BRepBlend_RstRstLineBuilder_Decroch2End)
    Decroch2Start = _swig_new_instance_method(_BRepBlend.BRepBlend_RstRstLineBuilder_Decroch2Start)
    IsDone = _swig_new_instance_method(_BRepBlend.BRepBlend_RstRstLineBuilder_IsDone)
    Line = _swig_new_instance_method(_BRepBlend.BRepBlend_RstRstLineBuilder_Line)
    Perform = _swig_new_instance_method(_BRepBlend.BRepBlend_RstRstLineBuilder_Perform)
    PerformFirstSection = _swig_new_instance_method(_BRepBlend.BRepBlend_RstRstLineBuilder_PerformFirstSection)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_RstRstLineBuilder

# Register BRepBlend_RstRstLineBuilder in _BRepBlend:
_BRepBlend.BRepBlend_RstRstLineBuilder_swigregister(BRepBlend_RstRstLineBuilder)

class BRepBlend_SurfCurvConstRadInv(OCC.Core.Blend.Blend_SurfCurvFuncInv):
    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"""
        :param S:
        	:type S: Adaptor3d_HSurface
        	:param C:
        	:type C: Adaptor3d_HCurve
        	:param Cg:
        	:type Cg: Adaptor3d_HCurve
        	:rtype: None
        """
        _BRepBlend.BRepBlend_SurfCurvConstRadInv_swiginit(self, _BRepBlend.new_BRepBlend_SurfCurvConstRadInv(*args))
    Set = _swig_new_instance_method(_BRepBlend.BRepBlend_SurfCurvConstRadInv_Set)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_SurfCurvConstRadInv

# Register BRepBlend_SurfCurvConstRadInv in _BRepBlend:
_BRepBlend.BRepBlend_SurfCurvConstRadInv_swigregister(BRepBlend_SurfCurvConstRadInv)

class BRepBlend_SurfCurvEvolRadInv(OCC.Core.Blend.Blend_SurfCurvFuncInv):
    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"""
        :param S:
        	:type S: Adaptor3d_HSurface
        	:param C:
        	:type C: Adaptor3d_HCurve
        	:param Cg:
        	:type Cg: Adaptor3d_HCurve
        	:param Evol:
        	:type Evol: Law_Function
        	:rtype: None
        """
        _BRepBlend.BRepBlend_SurfCurvEvolRadInv_swiginit(self, _BRepBlend.new_BRepBlend_SurfCurvEvolRadInv(*args))
    Set = _swig_new_instance_method(_BRepBlend.BRepBlend_SurfCurvEvolRadInv_Set)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_SurfCurvEvolRadInv

# Register BRepBlend_SurfCurvEvolRadInv in _BRepBlend:
_BRepBlend.BRepBlend_SurfCurvEvolRadInv_swigregister(BRepBlend_SurfCurvEvolRadInv)

class BRepBlend_SurfPointConstRadInv(OCC.Core.Blend.Blend_SurfPointFuncInv):
    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"""
        :param S:
        	:type S: Adaptor3d_HSurface
        	:param C:
        	:type C: Adaptor3d_HCurve
        	:rtype: None
        """
        _BRepBlend.BRepBlend_SurfPointConstRadInv_swiginit(self, _BRepBlend.new_BRepBlend_SurfPointConstRadInv(*args))
    Set = _swig_new_instance_method(_BRepBlend.BRepBlend_SurfPointConstRadInv_Set)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_SurfPointConstRadInv

# Register BRepBlend_SurfPointConstRadInv in _BRepBlend:
_BRepBlend.BRepBlend_SurfPointConstRadInv_swigregister(BRepBlend_SurfPointConstRadInv)

class BRepBlend_SurfPointEvolRadInv(OCC.Core.Blend.Blend_SurfPointFuncInv):
    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"""
        :param S:
        	:type S: Adaptor3d_HSurface
        	:param C:
        	:type C: Adaptor3d_HCurve
        	:param Evol:
        	:type Evol: Law_Function
        	:rtype: None
        """
        _BRepBlend.BRepBlend_SurfPointEvolRadInv_swiginit(self, _BRepBlend.new_BRepBlend_SurfPointEvolRadInv(*args))
    Set = _swig_new_instance_method(_BRepBlend.BRepBlend_SurfPointEvolRadInv_Set)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_SurfPointEvolRadInv

# Register BRepBlend_SurfPointEvolRadInv in _BRepBlend:
_BRepBlend.BRepBlend_SurfPointEvolRadInv_swigregister(BRepBlend_SurfPointEvolRadInv)

class BRepBlend_SurfRstConstRad(OCC.Core.Blend.Blend_SurfRstFunction):
    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"""
        :param Surf:
        	:type Surf: Adaptor3d_HSurface
        	:param SurfRst:
        	:type SurfRst: Adaptor3d_HSurface
        	:param Rst:
        	:type Rst: Adaptor2d_HCurve2d
        	:param CGuide:
        	:type CGuide: Adaptor3d_HCurve
        	:rtype: None
        """
        _BRepBlend.BRepBlend_SurfRstConstRad_swiginit(self, _BRepBlend.new_BRepBlend_SurfRstConstRad(*args))
    GetTolerance = _swig_new_instance_method(_BRepBlend.BRepBlend_SurfRstConstRad_GetTolerance)
    Section = _swig_new_instance_method(_BRepBlend.BRepBlend_SurfRstConstRad_Section)
    Set = _swig_new_instance_method(_BRepBlend.BRepBlend_SurfRstConstRad_Set)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_SurfRstConstRad

# Register BRepBlend_SurfRstConstRad in _BRepBlend:
_BRepBlend.BRepBlend_SurfRstConstRad_swigregister(BRepBlend_SurfRstConstRad)

class BRepBlend_SurfRstEvolRad(OCC.Core.Blend.Blend_SurfRstFunction):
    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"""
        :param Surf:
        	:type Surf: Adaptor3d_HSurface
        	:param SurfRst:
        	:type SurfRst: Adaptor3d_HSurface
        	:param Rst:
        	:type Rst: Adaptor2d_HCurve2d
        	:param CGuide:
        	:type CGuide: Adaptor3d_HCurve
        	:param Evol:
        	:type Evol: Law_Function
        	:rtype: None
        """
        _BRepBlend.BRepBlend_SurfRstEvolRad_swiginit(self, _BRepBlend.new_BRepBlend_SurfRstEvolRad(*args))
    GetTolerance = _swig_new_instance_method(_BRepBlend.BRepBlend_SurfRstEvolRad_GetTolerance)
    Section = _swig_new_instance_method(_BRepBlend.BRepBlend_SurfRstEvolRad_Section)
    Set = _swig_new_instance_method(_BRepBlend.BRepBlend_SurfRstEvolRad_Set)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_SurfRstEvolRad

# Register BRepBlend_SurfRstEvolRad in _BRepBlend:
_BRepBlend.BRepBlend_SurfRstEvolRad_swigregister(BRepBlend_SurfRstEvolRad)

class BRepBlend_SurfRstLineBuilder(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    ArcToRecadre = _swig_new_instance_method(_BRepBlend.BRepBlend_SurfRstLineBuilder_ArcToRecadre)

    def __init__(self, *args):
        r"""
        :param Surf1:
        	:type Surf1: Adaptor3d_HSurface
        	:param Domain1:
        	:type Domain1: Adaptor3d_TopolTool
        	:param Surf2:
        	:type Surf2: Adaptor3d_HSurface
        	:param Rst:
        	:type Rst: Adaptor2d_HCurve2d
        	:param Domain2:
        	:type Domain2: Adaptor3d_TopolTool
        	:rtype: None
        """
        _BRepBlend.BRepBlend_SurfRstLineBuilder_swiginit(self, _BRepBlend.new_BRepBlend_SurfRstLineBuilder(*args))
    Complete = _swig_new_instance_method(_BRepBlend.BRepBlend_SurfRstLineBuilder_Complete)
    DecrochEnd = _swig_new_instance_method(_BRepBlend.BRepBlend_SurfRstLineBuilder_DecrochEnd)
    DecrochStart = _swig_new_instance_method(_BRepBlend.BRepBlend_SurfRstLineBuilder_DecrochStart)
    IsDone = _swig_new_instance_method(_BRepBlend.BRepBlend_SurfRstLineBuilder_IsDone)
    Line = _swig_new_instance_method(_BRepBlend.BRepBlend_SurfRstLineBuilder_Line)
    Perform = _swig_new_instance_method(_BRepBlend.BRepBlend_SurfRstLineBuilder_Perform)
    PerformFirstSection = _swig_new_instance_method(_BRepBlend.BRepBlend_SurfRstLineBuilder_PerformFirstSection)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_SurfRstLineBuilder

# Register BRepBlend_SurfRstLineBuilder in _BRepBlend:
_BRepBlend.BRepBlend_SurfRstLineBuilder_swigregister(BRepBlend_SurfRstLineBuilder)

class BRepBlend_Walking(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AddSingularPoint = _swig_new_instance_method(_BRepBlend.BRepBlend_Walking_AddSingularPoint)

    def __init__(self, *args):
        r"""
        :param Surf1:
        	:type Surf1: Adaptor3d_HSurface
        	:param Surf2:
        	:type Surf2: Adaptor3d_HSurface
        	:param Domain1:
        	:type Domain1: Adaptor3d_TopolTool
        	:param Domain2:
        	:type Domain2: Adaptor3d_TopolTool
        	:param HGuide:
        	:type HGuide: ChFiDS_HElSpine
        	:rtype: None
        """
        _BRepBlend.BRepBlend_Walking_swiginit(self, _BRepBlend.new_BRepBlend_Walking(*args))
    Check = _swig_new_instance_method(_BRepBlend.BRepBlend_Walking_Check)
    Check2d = _swig_new_instance_method(_BRepBlend.BRepBlend_Walking_Check2d)
    ClassificationOnS1 = _swig_new_instance_method(_BRepBlend.BRepBlend_Walking_ClassificationOnS1)
    ClassificationOnS2 = _swig_new_instance_method(_BRepBlend.BRepBlend_Walking_ClassificationOnS2)
    Complete = _swig_new_instance_method(_BRepBlend.BRepBlend_Walking_Complete)
    Continu = _swig_new_instance_method(_BRepBlend.BRepBlend_Walking_Continu)
    IsDone = _swig_new_instance_method(_BRepBlend.BRepBlend_Walking_IsDone)
    Line = _swig_new_instance_method(_BRepBlend.BRepBlend_Walking_Line)
    Perform = _swig_new_instance_method(_BRepBlend.BRepBlend_Walking_Perform)
    PerformFirstSection = _swig_new_instance_method(_BRepBlend.BRepBlend_Walking_PerformFirstSection)
    SetDomainsToRecadre = _swig_new_instance_method(_BRepBlend.BRepBlend_Walking_SetDomainsToRecadre)
    TwistOnS1 = _swig_new_instance_method(_BRepBlend.BRepBlend_Walking_TwistOnS1)
    TwistOnS2 = _swig_new_instance_method(_BRepBlend.BRepBlend_Walking_TwistOnS2)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_Walking

# Register BRepBlend_Walking in _BRepBlend:
_BRepBlend.BRepBlend_Walking_swigregister(BRepBlend_Walking)

class BRepBlend_AppFunc(BRepBlend_AppFuncRoot):
    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"""
        :param Line:
        	:type Line: BRepBlend_Line
        	:param Func:
        	:type Func: Blend_Function
        	:param Tol3d:
        	:type Tol3d: float
        	:param Tol2d:
        	:type Tol2d: float
        	:rtype: None
        """
        _BRepBlend.BRepBlend_AppFunc_swiginit(self, _BRepBlend.new_BRepBlend_AppFunc(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_AppFunc

# Register BRepBlend_AppFunc in _BRepBlend:
_BRepBlend.BRepBlend_AppFunc_swigregister(BRepBlend_AppFunc)

class BRepBlend_AppFuncRst(BRepBlend_AppFuncRoot):
    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"""
        :param Line:
        	:type Line: BRepBlend_Line
        	:param Func:
        	:type Func: Blend_SurfRstFunction
        	:param Tol3d:
        	:type Tol3d: float
        	:param Tol2d:
        	:type Tol2d: float
        	:rtype: None
        """
        _BRepBlend.BRepBlend_AppFuncRst_swiginit(self, _BRepBlend.new_BRepBlend_AppFuncRst(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_AppFuncRst

# Register BRepBlend_AppFuncRst in _BRepBlend:
_BRepBlend.BRepBlend_AppFuncRst_swigregister(BRepBlend_AppFuncRst)

class BRepBlend_AppFuncRstRst(BRepBlend_AppFuncRoot):
    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"""
        :param Line:
        	:type Line: BRepBlend_Line
        	:param Func:
        	:type Func: Blend_RstRstFunction
        	:param Tol3d:
        	:type Tol3d: float
        	:param Tol2d:
        	:type Tol2d: float
        	:rtype: None
        """
        _BRepBlend.BRepBlend_AppFuncRstRst_swiginit(self, _BRepBlend.new_BRepBlend_AppFuncRstRst(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_AppFuncRstRst

# Register BRepBlend_AppFuncRstRst in _BRepBlend:
_BRepBlend.BRepBlend_AppFuncRstRst_swigregister(BRepBlend_AppFuncRstRst)



