# This file was automatically generated by SWIG (https://www.swig.org).
# Version 4.4.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://dev.opencascade.org/doc/occt-7.9.0/refman/html/package_brepblend.html
"""

from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if getattr(globals().get("__spec__"), "parent", None) or __package__ or "." in __name__:
    from . import _BRepBlend
else:
    import _BRepBlend

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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


def _swig_setattr_nondynamic_instance_variable(set):
    def set_instance_attr(self, name, value):
        if name == "this":
            set(self, name, value)
        elif name == "thisown":
            self.this.own(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

    def value(self):
        return _BRepBlend.SwigPyIterator_value(self)

    def incr(self, n=1):
        return _BRepBlend.SwigPyIterator_incr(self, n)

    def decr(self, n=1):
        return _BRepBlend.SwigPyIterator_decr(self, n)

    def distance(self, x):
        return _BRepBlend.SwigPyIterator_distance(self, x)

    def equal(self, x):
        return _BRepBlend.SwigPyIterator_equal(self, x)

    def copy(self):
        return _BRepBlend.SwigPyIterator_copy(self)

    def next(self):
        return _BRepBlend.SwigPyIterator_next(self)

    def __next__(self):
        return _BRepBlend.SwigPyIterator___next__(self)

    def previous(self):
        return _BRepBlend.SwigPyIterator_previous(self)

    def advance(self, n):
        return _BRepBlend.SwigPyIterator_advance(self, n)

    def __eq__(self, x):
        return _BRepBlend.SwigPyIterator___eq__(self, x)

    def __ne__(self, x):
        return _BRepBlend.SwigPyIterator___ne__(self, x)

    def __iadd__(self, n):
        return _BRepBlend.SwigPyIterator___iadd__(self, n)

    def __isub__(self, n):
        return _BRepBlend.SwigPyIterator___isub__(self, n)

    def __add__(self, n):
        return _BRepBlend.SwigPyIterator___add__(self, n)

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


def process_exception(error, method_name, class_name):
    return _BRepBlend.process_exception(error, method_name, class_name)

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

class ios_base(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")
    __repr__ = _swig_repr
    erase_event = _BRepBlend.ios_base_erase_event
    imbue_event = _BRepBlend.ios_base_imbue_event
    copyfmt_event = _BRepBlend.ios_base_copyfmt_event

    def register_callback(self, __fn, __index):
        return _BRepBlend.ios_base_register_callback(self, __fn, __index)

    def flags(self, *args):
        return _BRepBlend.ios_base_flags(self, *args)

    def setf(self, *args):
        return _BRepBlend.ios_base_setf(self, *args)

    def unsetf(self, __mask):
        return _BRepBlend.ios_base_unsetf(self, __mask)

    def precision(self, *args):
        return _BRepBlend.ios_base_precision(self, *args)

    def width(self, *args):
        return _BRepBlend.ios_base_width(self, *args)

    @staticmethod
    def sync_with_stdio(__sync=True):
        return _BRepBlend.ios_base_sync_with_stdio(__sync)

    def imbue(self, __loc):
        return _BRepBlend.ios_base_imbue(self, __loc)

    def getloc(self):
        return _BRepBlend.ios_base_getloc(self)

    @staticmethod
    def xalloc():
        return _BRepBlend.ios_base_xalloc()

    def iword(self, __ix):
        return _BRepBlend.ios_base_iword(self, __ix)

    def pword(self, __ix):
        return _BRepBlend.ios_base_pword(self, __ix)
    __swig_destroy__ = _BRepBlend.delete_ios_base

# Register ios_base in _BRepBlend:
_BRepBlend.ios_base_swigregister(ios_base)
cvar = _BRepBlend.cvar
ios_base.boolalpha = _BRepBlend.cvar.ios_base_boolalpha
ios_base.dec = _BRepBlend.cvar.ios_base_dec
ios_base.fixed = _BRepBlend.cvar.ios_base_fixed
ios_base.hex = _BRepBlend.cvar.ios_base_hex
ios_base.internal = _BRepBlend.cvar.ios_base_internal
ios_base.left = _BRepBlend.cvar.ios_base_left
ios_base.oct = _BRepBlend.cvar.ios_base_oct
ios_base.right = _BRepBlend.cvar.ios_base_right
ios_base.scientific = _BRepBlend.cvar.ios_base_scientific
ios_base.showbase = _BRepBlend.cvar.ios_base_showbase
ios_base.showpoint = _BRepBlend.cvar.ios_base_showpoint
ios_base.showpos = _BRepBlend.cvar.ios_base_showpos
ios_base.skipws = _BRepBlend.cvar.ios_base_skipws
ios_base.unitbuf = _BRepBlend.cvar.ios_base_unitbuf
ios_base.uppercase = _BRepBlend.cvar.ios_base_uppercase
ios_base.adjustfield = _BRepBlend.cvar.ios_base_adjustfield
ios_base.basefield = _BRepBlend.cvar.ios_base_basefield
ios_base.floatfield = _BRepBlend.cvar.ios_base_floatfield
ios_base.badbit = _BRepBlend.cvar.ios_base_badbit
ios_base.eofbit = _BRepBlend.cvar.ios_base_eofbit
ios_base.failbit = _BRepBlend.cvar.ios_base_failbit
ios_base.goodbit = _BRepBlend.cvar.ios_base_goodbit
ios_base.app = _BRepBlend.cvar.ios_base_app
ios_base.ate = _BRepBlend.cvar.ios_base_ate
ios_base.binary = _BRepBlend.cvar.ios_base_binary
ios_base.ios_base_in = _BRepBlend.cvar.ios_base_ios_base_in
ios_base.out = _BRepBlend.cvar.ios_base_out
ios_base.trunc = _BRepBlend.cvar.ios_base_trunc
ios_base.beg = _BRepBlend.cvar.ios_base_beg
ios_base.cur = _BRepBlend.cvar.ios_base_cur
ios_base.end = _BRepBlend.cvar.ios_base_end

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

    def rdstate(self):
        return _BRepBlend.ios_rdstate(self)

    def clear(self, *args):
        return _BRepBlend.ios_clear(self, *args)

    def setstate(self, __state):
        return _BRepBlend.ios_setstate(self, __state)

    def good(self):
        return _BRepBlend.ios_good(self)

    def eof(self):
        return _BRepBlend.ios_eof(self)

    def fail(self):
        return _BRepBlend.ios_fail(self)

    def bad(self):
        return _BRepBlend.ios_bad(self)

    def exceptions(self, *args):
        return _BRepBlend.ios_exceptions(self, *args)

    def __init__(self, __sb):
        _BRepBlend.ios_swiginit(self, _BRepBlend.new_ios(__sb))
    __swig_destroy__ = _BRepBlend.delete_ios

    def tie(self, *args):
        return _BRepBlend.ios_tie(self, *args)

    def rdbuf(self, *args):
        return _BRepBlend.ios_rdbuf(self, *args)

    def copyfmt(self, __rhs):
        return _BRepBlend.ios_copyfmt(self, __rhs)

    def fill(self, *args):
        return _BRepBlend.ios_fill(self, *args)

    def imbue(self, __loc):
        return _BRepBlend.ios_imbue(self, __loc)

    def narrow(self, __c, __dfault):
        return _BRepBlend.ios_narrow(self, __c, __dfault)

    def widen(self, __c):
        return _BRepBlend.ios_widen(self, __c)

# Register ios in _BRepBlend:
_BRepBlend.ios_swigregister(ios)
class ostream(ios):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _BRepBlend.ostream_swiginit(self, _BRepBlend.new_ostream(__sb))
    __swig_destroy__ = _BRepBlend.delete_ostream

    def __lshift__(self, *args):
        return _BRepBlend.ostream___lshift__(self, *args)

    def put(self, __c):
        return _BRepBlend.ostream_put(self, __c)

    def write(self, __s, __n):
        return _BRepBlend.ostream_write(self, __s, __n)

    def flush(self):
        return _BRepBlend.ostream_flush(self)

    def tellp(self):
        return _BRepBlend.ostream_tellp(self)

    def seekp(self, *args):
        return _BRepBlend.ostream_seekp(self, *args)

# Register ostream in _BRepBlend:
_BRepBlend.ostream_swigregister(ostream)
class istream(ios):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _BRepBlend.istream_swiginit(self, _BRepBlend.new_istream(__sb))
    __swig_destroy__ = _BRepBlend.delete_istream

    def __rshift__(self, *args):
        return _BRepBlend.istream___rshift__(self, *args)

    def gcount(self):
        return _BRepBlend.istream_gcount(self)

    def get(self, *args):
        return _BRepBlend.istream_get(self, *args)

    def getline(self, *args):
        return _BRepBlend.istream_getline(self, *args)

    def ignore(self, *args):
        return _BRepBlend.istream_ignore(self, *args)

    def peek(self):
        return _BRepBlend.istream_peek(self)

    def read(self, __s, __n):
        return _BRepBlend.istream_read(self, __s, __n)

    def readsome(self, __s, __n):
        return _BRepBlend.istream_readsome(self, __s, __n)

    def putback(self, __c):
        return _BRepBlend.istream_putback(self, __c)

    def unget(self):
        return _BRepBlend.istream_unget(self)

    def sync(self):
        return _BRepBlend.istream_sync(self)

    def tellg(self):
        return _BRepBlend.istream_tellg(self)

    def seekg(self, *args):
        return _BRepBlend.istream_seekg(self, *args)

# Register istream in _BRepBlend:
_BRepBlend.istream_swigregister(istream)
class iostream(istream, ostream):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _BRepBlend.iostream_swiginit(self, _BRepBlend.new_iostream(__sb))
    __swig_destroy__ = _BRepBlend.delete_iostream

# Register iostream in _BRepBlend:
_BRepBlend.iostream_swigregister(iostream)
cin = cvar.cin
cout = cvar.cout
cerr = cvar.cerr
clog = cvar.clog

endl_cb_ptr = _BRepBlend.endl_cb_ptr
endl = _BRepBlend.endl
ends_cb_ptr = _BRepBlend.ends_cb_ptr
ends = _BRepBlend.ends
flush_cb_ptr = _BRepBlend.flush_cb_ptr
flush = _BRepBlend.flush
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.TColStd
import OCC.Core.TCollection
import OCC.Core.GeomAbs
import OCC.Core.TColgp
import OCC.Core.TopAbs
import OCC.Core.Adaptor2d
import OCC.Core.Geom2d
import OCC.Core.math
import OCC.Core.Message
import OCC.Core.OSD
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

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




def Handle_BRepBlend_AppFuncRoot_Create():
    return _BRepBlend.Handle_BRepBlend_AppFuncRoot_Create()

def Handle_BRepBlend_AppFuncRoot_DownCast(t):
    return _BRepBlend.Handle_BRepBlend_AppFuncRoot_DownCast(t)

def Handle_BRepBlend_AppFuncRoot_IsNull(t):
    return _BRepBlend.Handle_BRepBlend_AppFuncRoot_IsNull(t)

def Handle_BRepBlend_Line_Create():
    return _BRepBlend.Handle_BRepBlend_Line_Create()

def Handle_BRepBlend_Line_DownCast(t):
    return _BRepBlend.Handle_BRepBlend_Line_DownCast(t)

def Handle_BRepBlend_Line_IsNull(t):
    return _BRepBlend.Handle_BRepBlend_Line_IsNull(t)

def Handle_BRepBlend_AppFunc_Create():
    return _BRepBlend.Handle_BRepBlend_AppFunc_Create()

def Handle_BRepBlend_AppFunc_DownCast(t):
    return _BRepBlend.Handle_BRepBlend_AppFunc_DownCast(t)

def Handle_BRepBlend_AppFunc_IsNull(t):
    return _BRepBlend.Handle_BRepBlend_AppFunc_IsNull(t)

def Handle_BRepBlend_AppFuncRst_Create():
    return _BRepBlend.Handle_BRepBlend_AppFuncRst_Create()

def Handle_BRepBlend_AppFuncRst_DownCast(t):
    return _BRepBlend.Handle_BRepBlend_AppFuncRst_DownCast(t)

def Handle_BRepBlend_AppFuncRst_IsNull(t):
    return _BRepBlend.Handle_BRepBlend_AppFuncRst_IsNull(t)

def Handle_BRepBlend_AppFuncRstRst_Create():
    return _BRepBlend.Handle_BRepBlend_AppFuncRstRst_Create()

def Handle_BRepBlend_AppFuncRstRst_DownCast(t):
    return _BRepBlend.Handle_BRepBlend_AppFuncRstRst_DownCast(t)

def Handle_BRepBlend_AppFuncRstRst_IsNull(t):
    return _BRepBlend.Handle_BRepBlend_AppFuncRstRst_IsNull(t)
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

    def begin(self):
        return _BRepBlend.BRepBlend_SequenceOfLine_begin(self)

    def end(self):
        return _BRepBlend.BRepBlend_SequenceOfLine_end(self)

    def cbegin(self):
        return _BRepBlend.BRepBlend_SequenceOfLine_cbegin(self)

    def cend(self):
        return _BRepBlend.BRepBlend_SequenceOfLine_cend(self)

    def __init__(self, *args):
        _BRepBlend.BRepBlend_SequenceOfLine_swiginit(self, _BRepBlend.new_BRepBlend_SequenceOfLine(*args))

    def Size(self):
        return _BRepBlend.BRepBlend_SequenceOfLine_Size(self)

    def Length(self):
        return _BRepBlend.BRepBlend_SequenceOfLine_Length(self)

    def Lower(self):
        return _BRepBlend.BRepBlend_SequenceOfLine_Lower(self)

    def Upper(self):
        return _BRepBlend.BRepBlend_SequenceOfLine_Upper(self)

    def IsEmpty(self):
        return _BRepBlend.BRepBlend_SequenceOfLine_IsEmpty(self)

    def Reverse(self):
        return _BRepBlend.BRepBlend_SequenceOfLine_Reverse(self)

    def Exchange(self, I, J):
        return _BRepBlend.BRepBlend_SequenceOfLine_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _BRepBlend.BRepBlend_SequenceOfLine_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _BRepBlend.BRepBlend_SequenceOfLine_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _BRepBlend.BRepBlend_SequenceOfLine_Assign(self, theOther)

    def Set(self, *args):
        return _BRepBlend.BRepBlend_SequenceOfLine_Set(self, *args)

    def Remove(self, *args):
        return _BRepBlend.BRepBlend_SequenceOfLine_Remove(self, *args)

    def Append(self, *args):
        return _BRepBlend.BRepBlend_SequenceOfLine_Append(self, *args)

    def Prepend(self, *args):
        return _BRepBlend.BRepBlend_SequenceOfLine_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _BRepBlend.BRepBlend_SequenceOfLine_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _BRepBlend.BRepBlend_SequenceOfLine_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _BRepBlend.BRepBlend_SequenceOfLine_Split(self, theIndex, theSeq)

    def First(self):
        return _BRepBlend.BRepBlend_SequenceOfLine_First(self)

    def ChangeFirst(self):
        return _BRepBlend.BRepBlend_SequenceOfLine_ChangeFirst(self)

    def Last(self):
        return _BRepBlend.BRepBlend_SequenceOfLine_Last(self)

    def ChangeLast(self):
        return _BRepBlend.BRepBlend_SequenceOfLine_ChangeLast(self)

    def Value(self, theIndex):
        return _BRepBlend.BRepBlend_SequenceOfLine_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _BRepBlend.BRepBlend_SequenceOfLine_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _BRepBlend.BRepBlend_SequenceOfLine___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _BRepBlend.BRepBlend_SequenceOfLine_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _BRepBlend.delete_BRepBlend_SequenceOfLine

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


# Register BRepBlend_SequenceOfLine in _BRepBlend:
_BRepBlend.BRepBlend_SequenceOfLine_swigregister(BRepBlend_SequenceOfLine)
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

    def begin(self):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_begin(self)

    def end(self):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_end(self)

    def cbegin(self):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_cbegin(self)

    def cend(self):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_cend(self)

    def __init__(self, *args):
        _BRepBlend.BRepBlend_SequenceOfPointOnRst_swiginit(self, _BRepBlend.new_BRepBlend_SequenceOfPointOnRst(*args))

    def Size(self):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_Size(self)

    def Length(self):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_Length(self)

    def Lower(self):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_Lower(self)

    def Upper(self):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_Upper(self)

    def IsEmpty(self):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_IsEmpty(self)

    def Reverse(self):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_Reverse(self)

    def Exchange(self, I, J):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_Assign(self, theOther)

    def Set(self, *args):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_Set(self, *args)

    def Remove(self, *args):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_Remove(self, *args)

    def Append(self, *args):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_Append(self, *args)

    def Prepend(self, *args):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_Split(self, theIndex, theSeq)

    def First(self):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_First(self)

    def ChangeFirst(self):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_ChangeFirst(self)

    def Last(self):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_Last(self)

    def ChangeLast(self):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_ChangeLast(self)

    def Value(self, theIndex):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _BRepBlend.BRepBlend_SequenceOfPointOnRst_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _BRepBlend.delete_BRepBlend_SequenceOfPointOnRst

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


# Register BRepBlend_SequenceOfPointOnRst in _BRepBlend:
_BRepBlend.BRepBlend_SequenceOfPointOnRst_swigregister(BRepBlend_SequenceOfPointOnRst)
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

    def Point(self, *args):
        r"""

        Parameters
        ----------
        Func: Blend_AppFunction
        Param: float
        Sol: math_Vector
        Pnt: Blend_Point

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_AppFuncRoot_Point(self, *args)

    def Vec(self, *args):
        r"""

        Parameters
        ----------
        Sol: math_Vector
        Pnt: Blend_Point

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_AppFuncRoot_Vec(self, *args)


    @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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Degmin: int
        Degmax: int
        Tol3d: float
        Tol2d: float
        NbIt: int
        KnownParameters: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _BRepBlend.BRepBlend_AppSurf_swiginit(self, _BRepBlend.new_BRepBlend_AppSurf(*args))

    def Continuity(self, *args):
        r"""
        Return
        -------
        GeomAbs_Shape

        Description
        -----------
        returns the Continuity used in the approximation.

        """
        return _BRepBlend.BRepBlend_AppSurf_Continuity(self, *args)

    def CriteriumWeight(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        W1: float
        W2: float
        W3: float

        Description
        -----------
        returns the Weights (as percent) associed to the criterium used in the optimization.

        """
        return _BRepBlend.BRepBlend_AppSurf_CriteriumWeight(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        Degmin: int
        Degmax: int
        Tol3d: float
        Tol2d: float
        NbIt: int
        KnownParameters: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_AppSurf_Init(self, *args)

    def ParType(self, *args):
        r"""
        Return
        -------
        Approx_ParametrizationType

        Description
        -----------
        returns the type of parametrization used in the approximation.

        """
        return _BRepBlend.BRepBlend_AppSurf_ParType(self, *args)

    def Perform(self, *args):
        r"""

        Parameters
        ----------
        Lin: BRepBlend_Line
        SecGen: Blend_AppFunction
        SpApprox: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Lin: BRepBlend_Line
        SecGen: Blend_AppFunction
        NbMaxP: int

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_AppSurf_Perform(self, *args)

    def PerformSmoothing(self, *args):
        r"""

        Parameters
        ----------
        Lin: BRepBlend_Line
        SecGen: Blend_AppFunction

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_AppSurf_PerformSmoothing(self, *args)

    def SetContinuity(self, *args):
        r"""

        Parameters
        ----------
        C: GeomAbs_Shape

        Return
        -------
        None

        Description
        -----------
        Define the Continuity used in the approximation.

        """
        return _BRepBlend.BRepBlend_AppSurf_SetContinuity(self, *args)

    def SetCriteriumWeight(self, *args):
        r"""

        Parameters
        ----------
        W1: float
        W2: float
        W3: float

        Return
        -------
        None

        Description
        -----------
        define the Weights associed to the criterium used in the optimization. //! if Wi <= 0.

        """
        return _BRepBlend.BRepBlend_AppSurf_SetCriteriumWeight(self, *args)

    def SetParType(self, *args):
        r"""

        Parameters
        ----------
        ParType: Approx_ParametrizationType

        Return
        -------
        None

        Description
        -----------
        Define the type of parametrization used in the approximation.

        """
        return _BRepBlend.BRepBlend_AppSurf_SetParType(self, *args)

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

        Parameters
        ----------
        Funct: Approx_SweepFunction
        First: float
        Last: float
        Tol3d: float
        Tol2d: float
        TolAngular: float
        Continuity: GeomAbs_Shape (optional, default to GeomAbs_C0)
        Degmax: int (optional, default to 11)
        Segmax: int (optional, default to 50)

        Return
        -------
        None

        Description
        -----------
        Approximation of the new Surface (and eventually the 2d Curves on the support surfaces). Normally 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.

        """
        _BRepBlend.BRepBlend_AppSurface_swiginit(self, _BRepBlend.new_BRepBlend_AppSurface(*args))

    def Dump(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        o: Standard_OStream

        Description
        -----------
        display information on approximation.

        """
        return _BRepBlend.BRepBlend_AppSurface_Dump(self, *args)

    def Max2dError(self, *args):
        r"""

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

        Return
        -------
        float

        Description
        -----------
        returns the maximum error in the <Index> 2d curve approximation.

        """
        return _BRepBlend.BRepBlend_AppSurface_Max2dError(self, *args)

    def MaxErrorOnSurf(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        returns the maximum error in the surface approximation.

        """
        return _BRepBlend.BRepBlend_AppSurface_MaxErrorOnSurf(self, *args)

    __repr__ = _dumps_object

    @methodnotwrapped
    def TolReached(self):
    	pass

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_AppSurface

# Register BRepBlend_AppSurface in _BRepBlend:
_BRepBlend.BRepBlend_AppSurface_swigregister(BRepBlend_AppSurface)
class BRepBlend_BlendTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    @staticmethod
    def Bounds(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d

        Return
        -------
        Ufirst: float
        Ulast: float

        Description
        -----------
        Returns the parametric limits on the arc C. These limits must be finite: they are either the real limits of the arc, for a finite arc, or a bounding box for an infinite arc.

        """
        return _BRepBlend.BRepBlend_BlendTool_Bounds(*args)

    @staticmethod
    def CurveOnSurf(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d
        S: Adaptor3d_Surface

        Return
        -------
        opencascade::handle<Adaptor2d_Curve2d>

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_BlendTool_CurveOnSurf(*args)

    @staticmethod
    def Inters(*args):
        r"""

        Parameters
        ----------
        P1: gp_Pnt2d
        P2: gp_Pnt2d
        S: Adaptor3d_Surface
        C: Adaptor2d_Curve2d

        Return
        -------
        Param: float
        Dist: float

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_BlendTool_Inters(*args)

    @staticmethod
    def NbSamplesU(*args):
        r"""

        Parameters
        ----------
        S: Adaptor3d_Surface
        u1: float
        u2: float

        Return
        -------
        int

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_BlendTool_NbSamplesU(*args)

    @staticmethod
    def NbSamplesV(*args):
        r"""

        Parameters
        ----------
        S: Adaptor3d_Surface
        v1: float
        v2: float

        Return
        -------
        int

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_BlendTool_NbSamplesV(*args)

    @staticmethod
    def Parameter(*args):
        r"""

        Parameters
        ----------
        V: Adaptor3d_HVertex
        A: Adaptor2d_Curve2d

        Return
        -------
        float

        Description
        -----------
        Returns the parameter of the vertex V on the edge A.

        """
        return _BRepBlend.BRepBlend_BlendTool_Parameter(*args)

    @staticmethod
    def Project(*args):
        r"""

        Parameters
        ----------
        P: gp_Pnt2d
        S: Adaptor3d_Surface
        C: Adaptor2d_Curve2d

        Return
        -------
        Paramproj: float
        Dist: float

        Description
        -----------
        Projects the point P on the arc C. If the methods returns Standard_True, the projection is successful, and Paramproj is the parameter on the arc of the projected point, Dist is the distance between P and the curve.. If the method returns Standard_False, Param proj and Dist are not significant.

        """
        return _BRepBlend.BRepBlend_BlendTool_Project(*args)

    @staticmethod
    def SingularOnUMax(*args):
        r"""

        Parameters
        ----------
        S: Adaptor3d_Surface

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_BlendTool_SingularOnUMax(*args)

    @staticmethod
    def SingularOnUMin(*args):
        r"""

        Parameters
        ----------
        S: Adaptor3d_Surface

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_BlendTool_SingularOnUMin(*args)

    @staticmethod
    def SingularOnVMax(*args):
        r"""

        Parameters
        ----------
        S: Adaptor3d_Surface

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_BlendTool_SingularOnVMax(*args)

    @staticmethod
    def SingularOnVMin(*args):
        r"""

        Parameters
        ----------
        S: Adaptor3d_Surface

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_BlendTool_SingularOnVMin(*args)

    @staticmethod
    def Tolerance(*args):
        r"""

        Parameters
        ----------
        V: Adaptor3d_HVertex
        A: Adaptor2d_Curve2d

        Return
        -------
        float

        Description
        -----------
        Returns the parametric tolerance on the arc A used to consider that the vertex and another point meet, i-e if Abs(Parameter(Vertex)-Parameter(OtherPnt))<= Tolerance, the points are 'merged'.

        """
        return _BRepBlend.BRepBlend_BlendTool_Tolerance(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _BRepBlend.BRepBlend_BlendTool_swiginit(self, _BRepBlend.new_BRepBlend_BlendTool())
    __swig_destroy__ = _BRepBlend.delete_BRepBlend_BlendTool

# Register BRepBlend_BlendTool in _BRepBlend:
_BRepBlend.BRepBlend_BlendTool_swigregister(BRepBlend_BlendTool)
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"""

        Parameters
        ----------
        C1: Adaptor3d_Curve
        C2: Adaptor3d_Curve

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _BRepBlend.BRepBlend_CurvPointRadInv_swiginit(self, _BRepBlend.new_BRepBlend_CurvPointRadInv(*args))

    def Set(self, *args):
        r"""

        Parameters
        ----------
        Choix: int

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P: gp_Pnt

        Return
        -------
        None

        Description
        -----------
        Set the Point on which a solution has to be found.

        """
        return _BRepBlend.BRepBlend_CurvPointRadInv_Set(self, *args)

    __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

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P: gp_Pnt
        U: float
        V: float
        Param: float
        Tol: float

        Return
        -------
        None

        Description
        -----------
        Creates an extremity on a surface.

        Parameters
        ----------
        P: gp_Pnt
        U: float
        V: float
        Param: float
        Tol: float
        Vtx: Adaptor3d_HVertex

        Return
        -------
        None

        Description
        -----------
        Creates an extremity on a surface. This extremity matches the vertex <Vtx>.

        Parameters
        ----------
        P: gp_Pnt
        W: float
        Param: float
        Tol: float

        Return
        -------
        None

        Description
        -----------
        Creates an extremity on a curve.

        """
        _BRepBlend.BRepBlend_Extremity_swiginit(self, _BRepBlend.new_BRepBlend_Extremity(*args))

    def AddArc(self, *args):
        r"""

        Parameters
        ----------
        A: Adaptor2d_Curve2d
        Param: float
        TLine: IntSurf_Transition
        TArc: IntSurf_Transition

        Return
        -------
        None

        Description
        -----------
        Sets the values of a point which is on the arc A, at parameter Param.

        """
        return _BRepBlend.BRepBlend_Extremity_AddArc(self, *args)

    def HasTangent(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns True if the Tangent is stored.

        """
        return _BRepBlend.BRepBlend_Extremity_HasTangent(self, *args)

    def IsVertex(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns Standard_True when the point coincide with an existing vertex.

        """
        return _BRepBlend.BRepBlend_Extremity_IsVertex(self, *args)

    def NbPointOnRst(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Returns the number of arc containing the extremity. If the method returns 0, the point is inside the surface. Otherwise, the extremity lies on at least 1 arc, and all the information (arc, parameter, transitions) are given by the point on restriction (PointOnRst) returned by the next method.

        """
        return _BRepBlend.BRepBlend_Extremity_NbPointOnRst(self, *args)

    def Parameter(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_Extremity_Parameter(self, *args)

    def ParameterOnGuide(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_Extremity_ParameterOnGuide(self, *args)

    def Parameters(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        U: float
        V: float

        Description
        -----------
        This method returns the parameters of the point on the concerned surface.

        """
        return _BRepBlend.BRepBlend_Extremity_Parameters(self, *args)

    def PointOnRst(self, *args):
        r"""

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

        Return
        -------
        BRepBlend_PointOnRst

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_Extremity_PointOnRst(self, *args)

    def SetTangent(self, *args):
        r"""

        Parameters
        ----------
        Tangent: gp_Vec

        Return
        -------
        None

        Description
        -----------
        Set the tangent vector for an extremity on a surface.

        """
        return _BRepBlend.BRepBlend_Extremity_SetTangent(self, *args)

    def SetValue(self, *args):
        r"""

        Parameters
        ----------
        P: gp_Pnt
        U: float
        V: float
        Param: float
        Tol: float

        Return
        -------
        None

        Description
        -----------
        Set the values for an extremity on a surface.

        Parameters
        ----------
        P: gp_Pnt
        U: float
        V: float
        Param: float
        Tol: float
        Vtx: Adaptor3d_HVertex

        Return
        -------
        None

        Description
        -----------
        Set the values for an extremity on a surface.This extremity matches the vertex <Vtx>.

        Parameters
        ----------
        P: gp_Pnt
        W: float
        Param: float
        Tol: float

        Return
        -------
        None

        Description
        -----------
        Set the values for an extremity on curve.

        """
        return _BRepBlend.BRepBlend_Extremity_SetValue(self, *args)

    def SetVertex(self, *args):
        r"""

        Parameters
        ----------
        V: Adaptor3d_HVertex

        Return
        -------
        None

        Description
        -----------
        Set the values for an extremity on a curve.

        """
        return _BRepBlend.BRepBlend_Extremity_SetVertex(self, *args)

    def Tangent(self, *args):
        r"""
        Return
        -------
        gp_Vec

        Description
        -----------
        This method returns the value of tangent in 3d space.

        """
        return _BRepBlend.BRepBlend_Extremity_Tangent(self, *args)

    def Tolerance(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        This method returns the fuzziness on the point in 3d space.

        """
        return _BRepBlend.BRepBlend_Extremity_Tolerance(self, *args)

    def Value(self, *args):
        r"""
        Return
        -------
        gp_Pnt

        Description
        -----------
        This method returns the value of the point in 3d space.

        """
        return _BRepBlend.BRepBlend_Extremity_Value(self, *args)

    def Vertex(self, *args):
        r"""
        Return
        -------
        opencascade::handle<Adaptor3d_HVertex>

        Description
        -----------
        Returns the vertex when IsVertex returns Standard_True.

        """
        return _BRepBlend.BRepBlend_Extremity_Vertex(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBlend.delete_BRepBlend_Extremity

# Register BRepBlend_Extremity in _BRepBlend:
_BRepBlend.BRepBlend_Extremity_swigregister(BRepBlend_Extremity)
class BRepBlend_HCurve2dTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    @staticmethod
    def BSpline(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d

        Return
        -------
        opencascade::handle<Geom2d_BSplineCurve>

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_BSpline(*args)

    @staticmethod
    def Bezier(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d

        Return
        -------
        opencascade::handle<Geom2d_BezierCurve>

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_Bezier(*args)

    @staticmethod
    def Circle(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d

        Return
        -------
        gp_Circ2d

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_Circle(*args)

    @staticmethod
    def Continuity(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d

        Return
        -------
        GeomAbs_Shape

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_Continuity(*args)

    @staticmethod
    def D0(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d
        U: float
        P: gp_Pnt2d

        Return
        -------
        None

        Description
        -----------
        Computes the point of parameter U on the curve.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_D0(*args)

    @staticmethod
    def D1(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d
        U: float
        P: gp_Pnt2d
        V: gp_Vec2d

        Return
        -------
        None

        Description
        -----------
        Computes the point of parameter U on the curve with its first derivative. Raised if the continuity of the current interval is not C1.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_D1(*args)

    @staticmethod
    def D2(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d
        U: float
        P: gp_Pnt2d
        V1: gp_Vec2d
        V2: gp_Vec2d

        Return
        -------
        None

        Description
        -----------
        Returns the point P of parameter U, the first and second derivatives V1 and V2. Raised if the continuity of the current interval is not C2.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_D2(*args)

    @staticmethod
    def D3(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d
        U: float
        P: gp_Pnt2d
        V1: gp_Vec2d
        V2: gp_Vec2d
        V3: gp_Vec2d

        Return
        -------
        None

        Description
        -----------
        Returns the point P of parameter U, the first, the second and the third derivative. Raised if the continuity of the current interval is not C3.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_D3(*args)

    @staticmethod
    def DN(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d
        U: float
        N: int

        Return
        -------
        gp_Vec2d

        Description
        -----------
        The returned vector gives the value of the derivative for the order of derivation N. Raised if the continuity of the current interval is not CN. Raised if N < 1.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_DN(*args)

    @staticmethod
    def Ellipse(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d

        Return
        -------
        gp_Elips2d

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_Ellipse(*args)

    @staticmethod
    def FirstParameter(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d

        Return
        -------
        float

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_FirstParameter(*args)

    @staticmethod
    def GetType(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d

        Return
        -------
        GeomAbs_CurveType

        Description
        -----------
        Returns the type of the curve in the current interval: Line, Circle, Ellipse, Hyperbola, Parabola, BezierCurve, BSplineCurve, OtherCurve.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_GetType(*args)

    @staticmethod
    def Hyperbola(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d

        Return
        -------
        gp_Hypr2d

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_Hyperbola(*args)

    @staticmethod
    def Intervals(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d
        T: TColStd_Array1OfReal
        S: GeomAbs_Shape

        Return
        -------
        None

        Description
        -----------
        Stores in <T> the parameters bounding the intervals of continuity <S>. //! The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals().

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_Intervals(*args)

    @staticmethod
    def IsClosed(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_IsClosed(*args)

    @staticmethod
    def IsPeriodic(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_IsPeriodic(*args)

    @staticmethod
    def LastParameter(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d

        Return
        -------
        float

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_LastParameter(*args)

    @staticmethod
    def Line(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d

        Return
        -------
        gp_Lin2d

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_Line(*args)

    @staticmethod
    def NbIntervals(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d
        S: GeomAbs_Shape

        Return
        -------
        int

        Description
        -----------
        Returns the number of intervals for continuity <S>. May be one if Continuity(myclass) >= <S>.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_NbIntervals(*args)

    @staticmethod
    def NbSamples(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d
        U0: float
        U1: float

        Return
        -------
        int

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_NbSamples(*args)

    @staticmethod
    def Parabola(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d

        Return
        -------
        gp_Parab2d

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_Parabola(*args)

    @staticmethod
    def Period(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d

        Return
        -------
        float

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_Period(*args)

    @staticmethod
    def Resolution(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d
        R3d: float

        Return
        -------
        float

        Description
        -----------
        Returns the parametric resolution corresponding to the real space resolution <R3d>.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_Resolution(*args)

    @staticmethod
    def Value(*args):
        r"""

        Parameters
        ----------
        C: Adaptor2d_Curve2d
        U: float

        Return
        -------
        gp_Pnt2d

        Description
        -----------
        Computes the point of parameter U on the curve.

        """
        return _BRepBlend.BRepBlend_HCurve2dTool_Value(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _BRepBlend.BRepBlend_HCurve2dTool_swiginit(self, _BRepBlend.new_BRepBlend_HCurve2dTool())
    __swig_destroy__ = _BRepBlend.delete_BRepBlend_HCurve2dTool

# Register BRepBlend_HCurve2dTool in _BRepBlend:
_BRepBlend.BRepBlend_HCurve2dTool_swigregister(BRepBlend_HCurve2dTool)
class BRepBlend_HCurveTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    @staticmethod
    def BSpline(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve

        Return
        -------
        opencascade::handle<Geom_BSplineCurve>

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurveTool_BSpline(*args)

    @staticmethod
    def Bezier(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve

        Return
        -------
        opencascade::handle<Geom_BezierCurve>

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurveTool_Bezier(*args)

    @staticmethod
    def Circle(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve

        Return
        -------
        gp_Circ

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurveTool_Circle(*args)

    @staticmethod
    def Continuity(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve

        Return
        -------
        GeomAbs_Shape

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurveTool_Continuity(*args)

    @staticmethod
    def D0(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve
        U: float
        P: gp_Pnt

        Return
        -------
        None

        Description
        -----------
        Computes the point of parameter U on the curve.

        """
        return _BRepBlend.BRepBlend_HCurveTool_D0(*args)

    @staticmethod
    def D1(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve
        U: float
        P: gp_Pnt
        V: gp_Vec

        Return
        -------
        None

        Description
        -----------
        Computes the point of parameter U on the curve with its first derivative. Raised if the continuity of the current interval is not C1.

        """
        return _BRepBlend.BRepBlend_HCurveTool_D1(*args)

    @staticmethod
    def D2(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve
        U: float
        P: gp_Pnt
        V1: gp_Vec
        V2: gp_Vec

        Return
        -------
        None

        Description
        -----------
        Returns the point P of parameter U, the first and second derivatives V1 and V2. Raised if the continuity of the current interval is not C2.

        """
        return _BRepBlend.BRepBlend_HCurveTool_D2(*args)

    @staticmethod
    def D3(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve
        U: float
        P: gp_Pnt
        V1: gp_Vec
        V2: gp_Vec
        V3: gp_Vec

        Return
        -------
        None

        Description
        -----------
        Returns the point P of parameter U, the first, the second and the third derivative. Raised if the continuity of the current interval is not C3.

        """
        return _BRepBlend.BRepBlend_HCurveTool_D3(*args)

    @staticmethod
    def DN(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve
        U: float
        N: int

        Return
        -------
        gp_Vec

        Description
        -----------
        The returned vector gives the value of the derivative for the order of derivation N. Raised if the continuity of the current interval is not CN. Raised if N < 1.

        """
        return _BRepBlend.BRepBlend_HCurveTool_DN(*args)

    @staticmethod
    def Ellipse(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve

        Return
        -------
        gp_Elips

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurveTool_Ellipse(*args)

    @staticmethod
    def FirstParameter(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve

        Return
        -------
        float

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurveTool_FirstParameter(*args)

    @staticmethod
    def GetType(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve

        Return
        -------
        GeomAbs_CurveType

        Description
        -----------
        Returns the type of the curve in the current interval: Line, Circle, Ellipse, Hyperbola, Parabola, BezierCurve, BSplineCurve, OtherCurve.

        """
        return _BRepBlend.BRepBlend_HCurveTool_GetType(*args)

    @staticmethod
    def Hyperbola(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve

        Return
        -------
        gp_Hypr

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurveTool_Hyperbola(*args)

    @staticmethod
    def Intervals(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve
        T: TColStd_Array1OfReal
        S: GeomAbs_Shape

        Return
        -------
        None

        Description
        -----------
        Stores in <T> the parameters bounding the intervals of continuity <S>. //! The array must provide enough room to accommodate for the parameters. i.e. T.Length() > NbIntervals().

        """
        return _BRepBlend.BRepBlend_HCurveTool_Intervals(*args)

    @staticmethod
    def IsClosed(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurveTool_IsClosed(*args)

    @staticmethod
    def IsPeriodic(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurveTool_IsPeriodic(*args)

    @staticmethod
    def LastParameter(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve

        Return
        -------
        float

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurveTool_LastParameter(*args)

    @staticmethod
    def Line(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve

        Return
        -------
        gp_Lin

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurveTool_Line(*args)

    @staticmethod
    def NbIntervals(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve
        S: GeomAbs_Shape

        Return
        -------
        int

        Description
        -----------
        Returns the number of intervals for continuity <S>. May be one if Continuity(myclass) >= <S>.

        """
        return _BRepBlend.BRepBlend_HCurveTool_NbIntervals(*args)

    @staticmethod
    def NbSamples(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve
        U0: float
        U1: float

        Return
        -------
        int

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurveTool_NbSamples(*args)

    @staticmethod
    def Parabola(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve

        Return
        -------
        gp_Parab

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurveTool_Parabola(*args)

    @staticmethod
    def Period(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve

        Return
        -------
        float

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_HCurveTool_Period(*args)

    @staticmethod
    def Resolution(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve
        R3d: float

        Return
        -------
        float

        Description
        -----------
        Returns the parametric resolution corresponding to the real space resolution <R3d>.

        """
        return _BRepBlend.BRepBlend_HCurveTool_Resolution(*args)

    @staticmethod
    def Value(*args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve
        U: float

        Return
        -------
        gp_Pnt

        Description
        -----------
        Computes the point of parameter U on the curve.

        """
        return _BRepBlend.BRepBlend_HCurveTool_Value(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _BRepBlend.BRepBlend_HCurveTool_swiginit(self, _BRepBlend.new_BRepBlend_HCurveTool())
    __swig_destroy__ = _BRepBlend.delete_BRepBlend_HCurveTool

# Register BRepBlend_HCurveTool in _BRepBlend:
_BRepBlend.BRepBlend_HCurveTool_swigregister(BRepBlend_HCurveTool)
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

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _BRepBlend.BRepBlend_Line_swiginit(self, _BRepBlend.new_BRepBlend_Line(*args))

    def Append(self, *args):
        r"""

        Parameters
        ----------
        P: Blend_Point

        Return
        -------
        None

        Description
        -----------
        Adds a point in the line.

        """
        return _BRepBlend.BRepBlend_Line_Append(self, *args)

    def Clear(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Clears the content of the line.

        """
        return _BRepBlend.BRepBlend_Line_Clear(self, *args)

    def EndPointOnFirst(self, *args):
        r"""
        Return
        -------
        BRepBlend_Extremity

        Description
        -----------
        Returns the end point on S1.

        """
        return _BRepBlend.BRepBlend_Line_EndPointOnFirst(self, *args)

    def EndPointOnSecond(self, *args):
        r"""
        Return
        -------
        BRepBlend_Extremity

        Description
        -----------
        Returns the point on S2.

        """
        return _BRepBlend.BRepBlend_Line_EndPointOnSecond(self, *args)

    def InsertBefore(self, *args):
        r"""

        Parameters
        ----------
        Index: int
        P: Blend_Point

        Return
        -------
        None

        Description
        -----------
        Adds a point in the line at the first place.

        """
        return _BRepBlend.BRepBlend_Line_InsertBefore(self, *args)

    def NbPoints(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Returns the number of points in the line.

        """
        return _BRepBlend.BRepBlend_Line_NbPoints(self, *args)

    def Point(self, *args):
        r"""

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

        Return
        -------
        Blend_Point

        Description
        -----------
        Returns the point of range Index.

        """
        return _BRepBlend.BRepBlend_Line_Point(self, *args)

    def Prepend(self, *args):
        r"""

        Parameters
        ----------
        P: Blend_Point

        Return
        -------
        None

        Description
        -----------
        Adds a point in the line at the first place.

        """
        return _BRepBlend.BRepBlend_Line_Prepend(self, *args)

    def Remove(self, *args):
        r"""

        Parameters
        ----------
        FromIndex: int
        ToIndex: int

        Return
        -------
        None

        Description
        -----------
        Removes from <self> all the items of positions between <FromIndex> and <ToIndex>. Raises an exception if the indices are out of bounds.

        """
        return _BRepBlend.BRepBlend_Line_Remove(self, *args)

    def Set(self, *args):
        r"""

        Parameters
        ----------
        TranS1: IntSurf_TypeTrans
        TranS2: IntSurf_TypeTrans

        Return
        -------
        None

        Description
        -----------
        Sets the value of the transition of the line on S1 and the line on S2.

        Parameters
        ----------
        Trans: IntSurf_TypeTrans

        Return
        -------
        None

        Description
        -----------
        Sets the value of the transition of the line on a surface.

        """
        return _BRepBlend.BRepBlend_Line_Set(self, *args)

    def SetEndPoints(self, *args):
        r"""

        Parameters
        ----------
        EndPt1: BRepBlend_Extremity
        EndPt2: BRepBlend_Extremity

        Return
        -------
        None

        Description
        -----------
        Sets tne values of the end points for the line.

        """
        return _BRepBlend.BRepBlend_Line_SetEndPoints(self, *args)

    def SetStartPoints(self, *args):
        r"""

        Parameters
        ----------
        StartPt1: BRepBlend_Extremity
        StartPt2: BRepBlend_Extremity

        Return
        -------
        None

        Description
        -----------
        Sets the values of the start points for the line.

        """
        return _BRepBlend.BRepBlend_Line_SetStartPoints(self, *args)

    def StartPointOnFirst(self, *args):
        r"""
        Return
        -------
        BRepBlend_Extremity

        Description
        -----------
        Returns the start point on S1.

        """
        return _BRepBlend.BRepBlend_Line_StartPointOnFirst(self, *args)

    def StartPointOnSecond(self, *args):
        r"""
        Return
        -------
        BRepBlend_Extremity

        Description
        -----------
        Returns the start point on S2.

        """
        return _BRepBlend.BRepBlend_Line_StartPointOnSecond(self, *args)

    def TransitionOnS(self, *args):
        r"""
        Return
        -------
        IntSurf_TypeTrans

        Description
        -----------
        Returns the type of the transition of the line defined on the surface.

        """
        return _BRepBlend.BRepBlend_Line_TransitionOnS(self, *args)

    def TransitionOnS1(self, *args):
        r"""
        Return
        -------
        IntSurf_TypeTrans

        Description
        -----------
        Returns the type of the transition of the line defined on the first surface. The transition is 'constant' along the line. The transition is IN if the line is oriented in such a way that the system of vectors (N,DRac,T) is right-handed, where N is the normal to the first surface at a point P, DRac is a vector tangent to the blending patch, oriented towards the valid part of this patch, T is the tangent to the line on S1 at P. The transitioon is OUT when the system of vectors is left-handed.

        """
        return _BRepBlend.BRepBlend_Line_TransitionOnS1(self, *args)

    def TransitionOnS2(self, *args):
        r"""
        Return
        -------
        IntSurf_TypeTrans

        Description
        -----------
        Returns the type of the transition of the line defined on the second surface. The transition is 'constant' along the line.

        """
        return _BRepBlend.BRepBlend_Line_TransitionOnS2(self, *args)


    @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

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        Parameters
        ----------
        A: Adaptor2d_Curve2d
        Param: float
        TLine: IntSurf_Transition
        TArc: IntSurf_Transition

        Return
        -------
        None

        Description
        -----------
        Creates the PointOnRst on the arc A, at parameter Param, with the transition TLine on the walking line, and TArc on the arc A.

        """
        _BRepBlend.BRepBlend_PointOnRst_swiginit(self, _BRepBlend.new_BRepBlend_PointOnRst(*args))

    def Arc(self, *args):
        r"""
        Return
        -------
        opencascade::handle<Adaptor2d_Curve2d>

        Description
        -----------
        Returns the arc of restriction containing the vertex.

        """
        return _BRepBlend.BRepBlend_PointOnRst_Arc(self, *args)

    def ParameterOnArc(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Returns the parameter of the point on the arc returned by the method Arc().

        """
        return _BRepBlend.BRepBlend_PointOnRst_ParameterOnArc(self, *args)

    def SetArc(self, *args):
        r"""

        Parameters
        ----------
        A: Adaptor2d_Curve2d
        Param: float
        TLine: IntSurf_Transition
        TArc: IntSurf_Transition

        Return
        -------
        None

        Description
        -----------
        Sets the values of a point which is on the arc A, at parameter Param.

        """
        return _BRepBlend.BRepBlend_PointOnRst_SetArc(self, *args)

    def TransitionOnArc(self, *args):
        r"""
        Return
        -------
        IntSurf_Transition

        Description
        -----------
        Returns the transition of the point on the arc returned by Arc().

        """
        return _BRepBlend.BRepBlend_PointOnRst_TransitionOnArc(self, *args)

    def TransitionOnLine(self, *args):
        r"""
        Return
        -------
        IntSurf_Transition

        Description
        -----------
        Returns the transition of the point on the line on surface.

        """
        return _BRepBlend.BRepBlend_PointOnRst_TransitionOnLine(self, *args)

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

        Parameters
        ----------
        Surf1: Adaptor3d_Surface
        Rst1: Adaptor2d_Curve2d
        Surf2: Adaptor3d_Surface
        Rst2: Adaptor2d_Curve2d
        CGuide: Adaptor3d_Curve

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _BRepBlend.BRepBlend_RstRstConstRad_swiginit(self, _BRepBlend.new_BRepBlend_RstRstConstRad(*args))

    def CenterCircleRst1Rst2(self, *args):
        r"""

        Parameters
        ----------
        PtRst1: gp_Pnt
        PtRst2: gp_Pnt
        np: gp_Vec
        Center: gp_Pnt
        VdMed: gp_Vec

        Return
        -------
        bool

        Description
        -----------
        Give the center of circle define by PtRst1, PtRst2 and radius ray.

        """
        return _BRepBlend.BRepBlend_RstRstConstRad_CenterCircleRst1Rst2(self, *args)

    def GetTolerance(self, *args):
        r"""

        Parameters
        ----------
        Tolerance: math_Vector
        Tol: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        BoundTol: float
        SurfTol: float
        AngleTol: float
        Tol3d: math_Vector
        Tol1D: math_Vector

        Return
        -------
        None

        Description
        -----------
        Returns the tolerance to reach in approximation to respect BoundTol error at the Boundary AngleTol tangent error at the Boundary SurfTol error inside the surface.

        """
        return _BRepBlend.BRepBlend_RstRstConstRad_GetTolerance(self, *args)

    def Section(self, *args):
        r"""

        Parameters
        ----------
        Param: float
        U: float
        V: float
        C: gp_Circ

        Return
        -------
        Pdeb: float
        Pfin: float

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P: Blend_Point
        Poles: TColgp_Array1OfPnt
        DPoles: TColgp_Array1OfVec
        Poles2d: TColgp_Array1OfPnt2d
        DPoles2d: TColgp_Array1OfVec2d
        Weigths: TColStd_Array1OfReal
        DWeigths: TColStd_Array1OfReal

        Return
        -------
        bool

        Description
        -----------
        Used for the first and last section.

        Parameters
        ----------
        P: Blend_Point
        Poles: TColgp_Array1OfPnt
        Poles2d: TColgp_Array1OfPnt2d
        Weigths: TColStd_Array1OfReal

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P: Blend_Point
        Poles: TColgp_Array1OfPnt
        DPoles: TColgp_Array1OfVec
        D2Poles: TColgp_Array1OfVec
        Poles2d: TColgp_Array1OfPnt2d
        DPoles2d: TColgp_Array1OfVec2d
        D2Poles2d: TColgp_Array1OfVec2d
        Weigths: TColStd_Array1OfReal
        DWeigths: TColStd_Array1OfReal
        D2Weigths: TColStd_Array1OfReal

        Return
        -------
        bool

        Description
        -----------
        Used for the first and last section The method returns Standard_True if the derivatives are computed, otherwise it returns Standard_False.

        """
        return _BRepBlend.BRepBlend_RstRstConstRad_Section(self, *args)

    def Set(self, *args):
        r"""

        Parameters
        ----------
        SurfRef1: Adaptor3d_Surface
        RstRef1: Adaptor2d_Curve2d
        SurfRef2: Adaptor3d_Surface
        RstRef2: Adaptor2d_Curve2d

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Param: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        Sets the bounds of the parametric interval on the guide line. This determines the derivatives in these values if the function is not Cn.

        Parameters
        ----------
        Radius: float
        Choix: int

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        TypeSection: BlendFunc_SectionShape

        Return
        -------
        None

        Description
        -----------
        Sets the type of section generation for the approximations.

        """
        return _BRepBlend.BRepBlend_RstRstConstRad_Set(self, *args)

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

        Parameters
        ----------
        Surf1: Adaptor3d_Surface
        Rst1: Adaptor2d_Curve2d
        Surf2: Adaptor3d_Surface
        Rst2: Adaptor2d_Curve2d
        CGuide: Adaptor3d_Curve
        Evol: Law_Function

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _BRepBlend.BRepBlend_RstRstEvolRad_swiginit(self, _BRepBlend.new_BRepBlend_RstRstEvolRad(*args))

    def CenterCircleRst1Rst2(self, *args):
        r"""

        Parameters
        ----------
        PtRst1: gp_Pnt
        PtRst2: gp_Pnt
        np: gp_Vec
        Center: gp_Pnt
        VdMed: gp_Vec

        Return
        -------
        bool

        Description
        -----------
        Gives the center of circle defined by PtRst1, PtRst2 and radius ray.

        """
        return _BRepBlend.BRepBlend_RstRstEvolRad_CenterCircleRst1Rst2(self, *args)

    def GetTolerance(self, *args):
        r"""

        Parameters
        ----------
        Tolerance: math_Vector
        Tol: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        BoundTol: float
        SurfTol: float
        AngleTol: float
        Tol3d: math_Vector
        Tol1D: math_Vector

        Return
        -------
        None

        Description
        -----------
        Returns the tolerance to reach in approximation to respect BoundTol error at the Boundary AngleTol tangent error at the Boundary SurfTol error inside the surface.

        """
        return _BRepBlend.BRepBlend_RstRstEvolRad_GetTolerance(self, *args)

    def Section(self, *args):
        r"""

        Parameters
        ----------
        Param: float
        U: float
        V: float
        C: gp_Circ

        Return
        -------
        Pdeb: float
        Pfin: float

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P: Blend_Point
        Poles: TColgp_Array1OfPnt
        DPoles: TColgp_Array1OfVec
        Poles2d: TColgp_Array1OfPnt2d
        DPoles2d: TColgp_Array1OfVec2d
        Weigths: TColStd_Array1OfReal
        DWeigths: TColStd_Array1OfReal

        Return
        -------
        bool

        Description
        -----------
        Used for the first and last section.

        Parameters
        ----------
        P: Blend_Point
        Poles: TColgp_Array1OfPnt
        Poles2d: TColgp_Array1OfPnt2d
        Weigths: TColStd_Array1OfReal

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P: Blend_Point
        Poles: TColgp_Array1OfPnt
        DPoles: TColgp_Array1OfVec
        D2Poles: TColgp_Array1OfVec
        Poles2d: TColgp_Array1OfPnt2d
        DPoles2d: TColgp_Array1OfVec2d
        D2Poles2d: TColgp_Array1OfVec2d
        Weigths: TColStd_Array1OfReal
        DWeigths: TColStd_Array1OfReal
        D2Weigths: TColStd_Array1OfReal

        Return
        -------
        bool

        Description
        -----------
        Used for the first and last section The method returns Standard_True if the derivatives are computed, otherwise it returns Standard_False.

        """
        return _BRepBlend.BRepBlend_RstRstEvolRad_Section(self, *args)

    def Set(self, *args):
        r"""

        Parameters
        ----------
        SurfRef1: Adaptor3d_Surface
        RstRef1: Adaptor2d_Curve2d
        SurfRef2: Adaptor3d_Surface
        RstRef2: Adaptor2d_Curve2d

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Param: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        Sets the bounds of the parametric interval on the guide line. This determines the derivatives in these values if the function is not Cn.

        Parameters
        ----------
        Choix: int

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        TypeSection: BlendFunc_SectionShape

        Return
        -------
        None

        Description
        -----------
        Sets the type of section generation for the approximations.

        """
        return _BRepBlend.BRepBlend_RstRstEvolRad_Set(self, *args)

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

        Parameters
        ----------
        Surf1: Adaptor3d_Surface
        Rst1: Adaptor2d_Curve2d
        Domain1: Adaptor3d_TopolTool
        Surf2: Adaptor3d_Surface
        Rst2: Adaptor2d_Curve2d
        Domain2: Adaptor3d_TopolTool

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _BRepBlend.BRepBlend_RstRstLineBuilder_swiginit(self, _BRepBlend.new_BRepBlend_RstRstLineBuilder(*args))

    def Complete(self, *args):
        r"""

        Parameters
        ----------
        Func: Blend_RstRstFunction
        Finv1: Blend_SurfCurvFuncInv
        FinvP1: Blend_CurvPointFuncInv
        Finv2: Blend_SurfCurvFuncInv
        FinvP2: Blend_CurvPointFuncInv
        Pmin: float

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_RstRstLineBuilder_Complete(self, *args)

    def Decroch1End(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_RstRstLineBuilder_Decroch1End(self, *args)

    def Decroch1Start(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_RstRstLineBuilder_Decroch1Start(self, *args)

    def Decroch2End(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_RstRstLineBuilder_Decroch2End(self, *args)

    def Decroch2Start(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_RstRstLineBuilder_Decroch2Start(self, *args)

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_RstRstLineBuilder_IsDone(self, *args)

    def Line(self, *args):
        r"""
        Return
        -------
        opencascade::handle<BRepBlend_Line>

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_RstRstLineBuilder_Line(self, *args)

    def Perform(self, *args):
        r"""

        Parameters
        ----------
        Func: Blend_RstRstFunction
        Finv1: Blend_SurfCurvFuncInv
        FinvP1: Blend_CurvPointFuncInv
        Finv2: Blend_SurfCurvFuncInv
        FinvP2: Blend_CurvPointFuncInv
        Pdep: float
        Pmax: float
        MaxStep: float
        Tol3d: float
        TolGuide: float
        Soldep: math_Vector
        Fleche: float
        Appro: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_RstRstLineBuilder_Perform(self, *args)

    def PerformFirstSection(self, *args):
        r"""

        Parameters
        ----------
        Func: Blend_RstRstFunction
        Finv1: Blend_SurfCurvFuncInv
        FinvP1: Blend_CurvPointFuncInv
        Finv2: Blend_SurfCurvFuncInv
        FinvP2: Blend_CurvPointFuncInv
        Pdep: float
        Pmax: float
        Soldep: math_Vector
        Tol3d: float
        TolGuide: float
        RecRst1: bool
        RecP1: bool
        RecRst2: bool
        RecP2: bool
        ParSol: math_Vector

        Return
        -------
        Psol: float

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_RstRstLineBuilder_PerformFirstSection(self, *args)

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

        Parameters
        ----------
        S: Adaptor3d_Surface
        C: Adaptor3d_Curve
        Cg: Adaptor3d_Curve

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _BRepBlend.BRepBlend_SurfCurvConstRadInv_swiginit(self, _BRepBlend.new_BRepBlend_SurfCurvConstRadInv(*args))

    def Set(self, *args):
        r"""

        Parameters
        ----------
        R: float
        Choix: int

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Rst: Adaptor2d_Curve2d

        Return
        -------
        None

        Description
        -----------
        Set the restriction on which a solution has to be found.

        """
        return _BRepBlend.BRepBlend_SurfCurvConstRadInv_Set(self, *args)

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

        Parameters
        ----------
        S: Adaptor3d_Surface
        C: Adaptor3d_Curve
        Cg: Adaptor3d_Curve
        Evol: Law_Function

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _BRepBlend.BRepBlend_SurfCurvEvolRadInv_swiginit(self, _BRepBlend.new_BRepBlend_SurfCurvEvolRadInv(*args))

    def Set(self, *args):
        r"""

        Parameters
        ----------
        Choix: int

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Rst: Adaptor2d_Curve2d

        Return
        -------
        None

        Description
        -----------
        Set the restriction on which a solution has to be found.

        """
        return _BRepBlend.BRepBlend_SurfCurvEvolRadInv_Set(self, *args)

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

        Parameters
        ----------
        S: Adaptor3d_Surface
        C: Adaptor3d_Curve

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _BRepBlend.BRepBlend_SurfPointConstRadInv_swiginit(self, _BRepBlend.new_BRepBlend_SurfPointConstRadInv(*args))

    def Set(self, *args):
        r"""

        Parameters
        ----------
        R: float
        Choix: int

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P: gp_Pnt

        Return
        -------
        None

        Description
        -----------
        Set the Point on which a solution has to be found.

        """
        return _BRepBlend.BRepBlend_SurfPointConstRadInv_Set(self, *args)

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

        Parameters
        ----------
        S: Adaptor3d_Surface
        C: Adaptor3d_Curve
        Evol: Law_Function

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _BRepBlend.BRepBlend_SurfPointEvolRadInv_swiginit(self, _BRepBlend.new_BRepBlend_SurfPointEvolRadInv(*args))

    def Set(self, *args):
        r"""

        Parameters
        ----------
        Choix: int

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P: gp_Pnt

        Return
        -------
        None

        Description
        -----------
        Set the Point on which a solution has to be found.

        """
        return _BRepBlend.BRepBlend_SurfPointEvolRadInv_Set(self, *args)

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

        Parameters
        ----------
        Surf: Adaptor3d_Surface
        SurfRst: Adaptor3d_Surface
        Rst: Adaptor2d_Curve2d
        CGuide: Adaptor3d_Curve

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _BRepBlend.BRepBlend_SurfRstConstRad_swiginit(self, _BRepBlend.new_BRepBlend_SurfRstConstRad(*args))

    def GetTolerance(self, *args):
        r"""

        Parameters
        ----------
        Tolerance: math_Vector
        Tol: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        BoundTol: float
        SurfTol: float
        AngleTol: float
        Tol3d: math_Vector
        Tol1D: math_Vector

        Return
        -------
        None

        Description
        -----------
        Returns the tolerance to reach in approximation to respect BoundTol error at the Boundary AngleTol tangent error at the Boundary SurfTol error inside the surface.

        """
        return _BRepBlend.BRepBlend_SurfRstConstRad_GetTolerance(self, *args)

    def Section(self, *args):
        r"""

        Parameters
        ----------
        Param: float
        U: float
        V: float
        W: float
        C: gp_Circ

        Return
        -------
        Pdeb: float
        Pfin: float

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P: Blend_Point
        Poles: TColgp_Array1OfPnt
        DPoles: TColgp_Array1OfVec
        Poles2d: TColgp_Array1OfPnt2d
        DPoles2d: TColgp_Array1OfVec2d
        Weigths: TColStd_Array1OfReal
        DWeigths: TColStd_Array1OfReal

        Return
        -------
        bool

        Description
        -----------
        Used for the first and last section.

        Parameters
        ----------
        P: Blend_Point
        Poles: TColgp_Array1OfPnt
        DPoles: TColgp_Array1OfVec
        D2Poles: TColgp_Array1OfVec
        Poles2d: TColgp_Array1OfPnt2d
        DPoles2d: TColgp_Array1OfVec2d
        D2Poles2d: TColgp_Array1OfVec2d
        Weigths: TColStd_Array1OfReal
        DWeigths: TColStd_Array1OfReal
        D2Weigths: TColStd_Array1OfReal

        Return
        -------
        bool

        Description
        -----------
        Used for the first and last section The method returns Standard_True if the derivatives are computed, otherwise it returns Standard_False.

        Parameters
        ----------
        P: Blend_Point
        Poles: TColgp_Array1OfPnt
        Poles2d: TColgp_Array1OfPnt2d
        Weigths: TColStd_Array1OfReal

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_SurfRstConstRad_Section(self, *args)

    def Set(self, *args):
        r"""

        Parameters
        ----------
        SurfRef: Adaptor3d_Surface
        RstRef: Adaptor2d_Curve2d

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Param: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        Sets the bounds of the parametric interval on the guide line. This determines the derivatives in these values if the function is not Cn.

        Parameters
        ----------
        Radius: float
        Choix: int

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        TypeSection: BlendFunc_SectionShape

        Return
        -------
        None

        Description
        -----------
        Sets the type of section generation for the approximations.

        """
        return _BRepBlend.BRepBlend_SurfRstConstRad_Set(self, *args)

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

        Parameters
        ----------
        Surf: Adaptor3d_Surface
        SurfRst: Adaptor3d_Surface
        Rst: Adaptor2d_Curve2d
        CGuide: Adaptor3d_Curve
        Evol: Law_Function

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _BRepBlend.BRepBlend_SurfRstEvolRad_swiginit(self, _BRepBlend.new_BRepBlend_SurfRstEvolRad(*args))

    def GetTolerance(self, *args):
        r"""

        Parameters
        ----------
        Tolerance: math_Vector
        Tol: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        BoundTol: float
        SurfTol: float
        AngleTol: float
        Tol3d: math_Vector
        Tol1D: math_Vector

        Return
        -------
        None

        Description
        -----------
        Returns the tolerance to reach in approximation to respect BoundTol error at the Boundary AngleTol tangent error at the Boundary SurfTol error inside the surface.

        """
        return _BRepBlend.BRepBlend_SurfRstEvolRad_GetTolerance(self, *args)

    def Section(self, *args):
        r"""

        Parameters
        ----------
        Param: float
        U: float
        V: float
        W: float
        C: gp_Circ

        Return
        -------
        Pdeb: float
        Pfin: float

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P: Blend_Point
        Poles: TColgp_Array1OfPnt
        DPoles: TColgp_Array1OfVec
        Poles2d: TColgp_Array1OfPnt2d
        DPoles2d: TColgp_Array1OfVec2d
        Weigths: TColStd_Array1OfReal
        DWeigths: TColStd_Array1OfReal

        Return
        -------
        bool

        Description
        -----------
        Used for the first and last section.

        Parameters
        ----------
        P: Blend_Point
        Poles: TColgp_Array1OfPnt
        DPoles: TColgp_Array1OfVec
        D2Poles: TColgp_Array1OfVec
        Poles2d: TColgp_Array1OfPnt2d
        DPoles2d: TColgp_Array1OfVec2d
        D2Poles2d: TColgp_Array1OfVec2d
        Weigths: TColStd_Array1OfReal
        DWeigths: TColStd_Array1OfReal
        D2Weigths: TColStd_Array1OfReal

        Return
        -------
        bool

        Description
        -----------
        Used for the first and last section The method returns Standard_True if the derivatives are computed, otherwise it returns Standard_False.

        Parameters
        ----------
        P: Blend_Point
        Poles: TColgp_Array1OfPnt
        Poles2d: TColgp_Array1OfPnt2d
        Weigths: TColStd_Array1OfReal

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_SurfRstEvolRad_Section(self, *args)

    def Set(self, *args):
        r"""

        Parameters
        ----------
        SurfRef: Adaptor3d_Surface
        RstRef: Adaptor2d_Curve2d

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Param: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        Sets the bounds of the parametric interval on the guide line. This determines the derivatives in these values if the function is not Cn.

        Parameters
        ----------
        Choix: int

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        TypeSection: BlendFunc_SectionShape

        Return
        -------
        None

        Description
        -----------
        Sets the type of section generation for the approximations.

        """
        return _BRepBlend.BRepBlend_SurfRstEvolRad_Set(self, *args)

    __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

    def __init__(self, *args):
        r"""

        Parameters
        ----------
        Surf1: Adaptor3d_Surface
        Domain1: Adaptor3d_TopolTool
        Surf2: Adaptor3d_Surface
        Rst: Adaptor2d_Curve2d
        Domain2: Adaptor3d_TopolTool

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _BRepBlend.BRepBlend_SurfRstLineBuilder_swiginit(self, _BRepBlend.new_BRepBlend_SurfRstLineBuilder(*args))

    def ArcToRecadre(self, *args):
        r"""

        Parameters
        ----------
        Sol: math_Vector
        PrevIndex: int
        pt2d: gp_Pnt2d
        lastpt2d: gp_Pnt2d

        Return
        -------
        ponarc: float

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_SurfRstLineBuilder_ArcToRecadre(self, *args)

    def Complete(self, *args):
        r"""

        Parameters
        ----------
        Func: Blend_SurfRstFunction
        Finv: Blend_FuncInv
        FinvP: Blend_SurfPointFuncInv
        FinvC: Blend_SurfCurvFuncInv
        Pmin: float

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_SurfRstLineBuilder_Complete(self, *args)

    def DecrochEnd(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_SurfRstLineBuilder_DecrochEnd(self, *args)

    def DecrochStart(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_SurfRstLineBuilder_DecrochStart(self, *args)

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_SurfRstLineBuilder_IsDone(self, *args)

    def Line(self, *args):
        r"""
        Return
        -------
        opencascade::handle<BRepBlend_Line>

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_SurfRstLineBuilder_Line(self, *args)

    def Perform(self, *args):
        r"""

        Parameters
        ----------
        Func: Blend_SurfRstFunction
        Finv: Blend_FuncInv
        FinvP: Blend_SurfPointFuncInv
        FinvC: Blend_SurfCurvFuncInv
        Pdep: float
        Pmax: float
        MaxStep: float
        Tol3d: float
        Tol2d: float
        TolGuide: float
        Soldep: math_Vector
        Fleche: float
        Appro: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_SurfRstLineBuilder_Perform(self, *args)

    def PerformFirstSection(self, *args):
        r"""

        Parameters
        ----------
        Func: Blend_SurfRstFunction
        Finv: Blend_FuncInv
        FinvP: Blend_SurfPointFuncInv
        FinvC: Blend_SurfCurvFuncInv
        Pdep: float
        Pmax: float
        Soldep: math_Vector
        Tol3d: float
        Tol2d: float
        TolGuide: float
        RecRst: bool
        RecP: bool
        RecS: bool
        ParSol: math_Vector

        Return
        -------
        Psol: float

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_SurfRstLineBuilder_PerformFirstSection(self, *args)

    __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

    def __init__(self, *args):
        r"""

        Parameters
        ----------
        Surf1: Adaptor3d_Surface
        Surf2: Adaptor3d_Surface
        Domain1: Adaptor3d_TopolTool
        Domain2: Adaptor3d_TopolTool
        HGuide: ChFiDS_ElSpine

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _BRepBlend.BRepBlend_Walking_swiginit(self, _BRepBlend.new_BRepBlend_Walking(*args))

    def AddSingularPoint(self, *args):
        r"""

        Parameters
        ----------
        P: Blend_Point

        Return
        -------
        None

        Description
        -----------
        To define singular points computed before walking.

        """
        return _BRepBlend.BRepBlend_Walking_AddSingularPoint(self, *args)

    def Check(self, *args):
        r"""

        Parameters
        ----------
        C: bool

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_Walking_Check(self, *args)

    def Check2d(self, *args):
        r"""

        Parameters
        ----------
        C: bool

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_Walking_Check2d(self, *args)

    def ClassificationOnS1(self, *args):
        r"""

        Parameters
        ----------
        C: bool

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_Walking_ClassificationOnS1(self, *args)

    def ClassificationOnS2(self, *args):
        r"""

        Parameters
        ----------
        C: bool

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_Walking_ClassificationOnS2(self, *args)

    def Complete(self, *args):
        r"""

        Parameters
        ----------
        F: Blend_Function
        FInv: Blend_FuncInv
        Pmin: float

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_Walking_Complete(self, *args)

    def Continu(self, *args):
        r"""

        Parameters
        ----------
        F: Blend_Function
        FInv: Blend_FuncInv
        P: float

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        F: Blend_Function
        FInv: Blend_FuncInv
        P: float
        OnS1: bool

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_Walking_Continu(self, *args)

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_Walking_IsDone(self, *args)

    def Line(self, *args):
        r"""
        Return
        -------
        opencascade::handle<BRepBlend_Line>

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_Walking_Line(self, *args)

    def Perform(self, *args):
        r"""

        Parameters
        ----------
        F: Blend_Function
        FInv: Blend_FuncInv
        Pdep: float
        Pmax: float
        MaxStep: float
        Tol3d: float
        TolGuide: float
        Soldep: math_Vector
        Fleche: float
        Appro: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_Walking_Perform(self, *args)

    def PerformFirstSection(self, *args):
        r"""

        Parameters
        ----------
        F: Blend_Function
        Pdep: float
        ParDep: math_Vector
        Tol3d: float
        TolGuide: float

        Return
        -------
        Pos1: TopAbs_State
        Pos2: TopAbs_State

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        F: Blend_Function
        FInv: Blend_FuncInv
        Pdep: float
        Pmax: float
        ParDep: math_Vector
        Tol3d: float
        TolGuide: float
        RecOnS1: bool
        RecOnS2: bool
        ParSol: math_Vector

        Return
        -------
        Psol: float

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_Walking_PerformFirstSection(self, *args)

    def SetDomainsToRecadre(self, *args):
        r"""

        Parameters
        ----------
        RecDomain1: Adaptor3d_TopolTool
        RecDomain2: Adaptor3d_TopolTool

        Return
        -------
        None

        Description
        -----------
        To define different domains for control and clipping.

        """
        return _BRepBlend.BRepBlend_Walking_SetDomainsToRecadre(self, *args)

    def TwistOnS1(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_Walking_TwistOnS1(self, *args)

    def TwistOnS2(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _BRepBlend.BRepBlend_Walking_TwistOnS2(self, *args)

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

        Parameters
        ----------
        Line: BRepBlend_Line
        Func: Blend_Function
        Tol3d: float
        Tol2d: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Parameters
        ----------
        Line: BRepBlend_Line
        Func: Blend_SurfRstFunction
        Tol3d: float
        Tol2d: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Parameters
        ----------
        Line: BRepBlend_Line
        Func: Blend_RstRstFunction
        Tol3d: float
        Tol2d: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _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)

@classnotwrapped
class BRepBlend_CSWalking:
	pass



BRepBlend_CSCircular=OCC.Core.BlendFunc.BlendFunc_CSCircular
BRepBlend_CSConstRad=OCC.Core.BlendFunc.BlendFunc_CSConstRad
BRepBlend_ChAsym=OCC.Core.BlendFunc.BlendFunc_ChAsym
BRepBlend_ChAsymInv=OCC.Core.BlendFunc.BlendFunc_ChAsymInv
BRepBlend_ChamfInv=OCC.Core.BlendFunc.BlendFunc_ChamfInv
BRepBlend_Chamfer=OCC.Core.BlendFunc.BlendFunc_Chamfer
BRepBlend_ConstRad=OCC.Core.BlendFunc.BlendFunc_ConstRad
BRepBlend_ConstRadInv=OCC.Core.BlendFunc.BlendFunc_ConstRadInv
BRepBlend_ConstThroat=OCC.Core.BlendFunc.BlendFunc_ConstThroat
BRepBlend_ConstThroatInv=OCC.Core.BlendFunc.BlendFunc_ConstThroatInv
BRepBlend_ConstThroatWithPenetration=OCC.Core.BlendFunc.BlendFunc_ConstThroatWithPenetration
BRepBlend_ConstThroatWithPenetrationInv=OCC.Core.BlendFunc.BlendFunc_ConstThroatWithPenetrationInv
BRepBlend_EvolRad=OCC.Core.BlendFunc.BlendFunc_EvolRad
BRepBlend_EvolRadInv=OCC.Core.BlendFunc.BlendFunc_EvolRadInv
BRepBlend_Ruled=OCC.Core.BlendFunc.BlendFunc_Ruled
BRepBlend_RuledInv=OCC.Core.BlendFunc.BlendFunc_RuledInv


@deprecated
def BRepBlend_BlendTool_Bounds(*args):
	return BRepBlend_BlendTool.Bounds(*args)

@deprecated
def BRepBlend_BlendTool_CurveOnSurf(*args):
	return BRepBlend_BlendTool.CurveOnSurf(*args)

@deprecated
def BRepBlend_BlendTool_Inters(*args):
	return BRepBlend_BlendTool.Inters(*args)

@deprecated
def BRepBlend_BlendTool_NbSamplesU(*args):
	return BRepBlend_BlendTool.NbSamplesU(*args)

@deprecated
def BRepBlend_BlendTool_NbSamplesV(*args):
	return BRepBlend_BlendTool.NbSamplesV(*args)

@deprecated
def BRepBlend_BlendTool_Parameter(*args):
	return BRepBlend_BlendTool.Parameter(*args)

@deprecated
def BRepBlend_BlendTool_Project(*args):
	return BRepBlend_BlendTool.Project(*args)

@deprecated
def BRepBlend_BlendTool_SingularOnUMax(*args):
	return BRepBlend_BlendTool.SingularOnUMax(*args)

@deprecated
def BRepBlend_BlendTool_SingularOnUMin(*args):
	return BRepBlend_BlendTool.SingularOnUMin(*args)

@deprecated
def BRepBlend_BlendTool_SingularOnVMax(*args):
	return BRepBlend_BlendTool.SingularOnVMax(*args)

@deprecated
def BRepBlend_BlendTool_SingularOnVMin(*args):
	return BRepBlend_BlendTool.SingularOnVMin(*args)

@deprecated
def BRepBlend_BlendTool_Tolerance(*args):
	return BRepBlend_BlendTool.Tolerance(*args)

@deprecated
def BRepBlend_HCurve2dTool_BSpline(*args):
	return BRepBlend_HCurve2dTool.BSpline(*args)

@deprecated
def BRepBlend_HCurve2dTool_Bezier(*args):
	return BRepBlend_HCurve2dTool.Bezier(*args)

@deprecated
def BRepBlend_HCurve2dTool_Circle(*args):
	return BRepBlend_HCurve2dTool.Circle(*args)

@deprecated
def BRepBlend_HCurve2dTool_Continuity(*args):
	return BRepBlend_HCurve2dTool.Continuity(*args)

@deprecated
def BRepBlend_HCurve2dTool_D0(*args):
	return BRepBlend_HCurve2dTool.D0(*args)

@deprecated
def BRepBlend_HCurve2dTool_D1(*args):
	return BRepBlend_HCurve2dTool.D1(*args)

@deprecated
def BRepBlend_HCurve2dTool_D2(*args):
	return BRepBlend_HCurve2dTool.D2(*args)

@deprecated
def BRepBlend_HCurve2dTool_D3(*args):
	return BRepBlend_HCurve2dTool.D3(*args)

@deprecated
def BRepBlend_HCurve2dTool_DN(*args):
	return BRepBlend_HCurve2dTool.DN(*args)

@deprecated
def BRepBlend_HCurve2dTool_Ellipse(*args):
	return BRepBlend_HCurve2dTool.Ellipse(*args)

@deprecated
def BRepBlend_HCurve2dTool_FirstParameter(*args):
	return BRepBlend_HCurve2dTool.FirstParameter(*args)

@deprecated
def BRepBlend_HCurve2dTool_GetType(*args):
	return BRepBlend_HCurve2dTool.GetType(*args)

@deprecated
def BRepBlend_HCurve2dTool_Hyperbola(*args):
	return BRepBlend_HCurve2dTool.Hyperbola(*args)

@deprecated
def BRepBlend_HCurve2dTool_Intervals(*args):
	return BRepBlend_HCurve2dTool.Intervals(*args)

@deprecated
def BRepBlend_HCurve2dTool_IsClosed(*args):
	return BRepBlend_HCurve2dTool.IsClosed(*args)

@deprecated
def BRepBlend_HCurve2dTool_IsPeriodic(*args):
	return BRepBlend_HCurve2dTool.IsPeriodic(*args)

@deprecated
def BRepBlend_HCurve2dTool_LastParameter(*args):
	return BRepBlend_HCurve2dTool.LastParameter(*args)

@deprecated
def BRepBlend_HCurve2dTool_Line(*args):
	return BRepBlend_HCurve2dTool.Line(*args)

@deprecated
def BRepBlend_HCurve2dTool_NbIntervals(*args):
	return BRepBlend_HCurve2dTool.NbIntervals(*args)

@deprecated
def BRepBlend_HCurve2dTool_NbSamples(*args):
	return BRepBlend_HCurve2dTool.NbSamples(*args)

@deprecated
def BRepBlend_HCurve2dTool_Parabola(*args):
	return BRepBlend_HCurve2dTool.Parabola(*args)

@deprecated
def BRepBlend_HCurve2dTool_Period(*args):
	return BRepBlend_HCurve2dTool.Period(*args)

@deprecated
def BRepBlend_HCurve2dTool_Resolution(*args):
	return BRepBlend_HCurve2dTool.Resolution(*args)

@deprecated
def BRepBlend_HCurve2dTool_Value(*args):
	return BRepBlend_HCurve2dTool.Value(*args)

@deprecated
def BRepBlend_HCurveTool_BSpline(*args):
	return BRepBlend_HCurveTool.BSpline(*args)

@deprecated
def BRepBlend_HCurveTool_Bezier(*args):
	return BRepBlend_HCurveTool.Bezier(*args)

@deprecated
def BRepBlend_HCurveTool_Circle(*args):
	return BRepBlend_HCurveTool.Circle(*args)

@deprecated
def BRepBlend_HCurveTool_Continuity(*args):
	return BRepBlend_HCurveTool.Continuity(*args)

@deprecated
def BRepBlend_HCurveTool_D0(*args):
	return BRepBlend_HCurveTool.D0(*args)

@deprecated
def BRepBlend_HCurveTool_D1(*args):
	return BRepBlend_HCurveTool.D1(*args)

@deprecated
def BRepBlend_HCurveTool_D2(*args):
	return BRepBlend_HCurveTool.D2(*args)

@deprecated
def BRepBlend_HCurveTool_D3(*args):
	return BRepBlend_HCurveTool.D3(*args)

@deprecated
def BRepBlend_HCurveTool_DN(*args):
	return BRepBlend_HCurveTool.DN(*args)

@deprecated
def BRepBlend_HCurveTool_Ellipse(*args):
	return BRepBlend_HCurveTool.Ellipse(*args)

@deprecated
def BRepBlend_HCurveTool_FirstParameter(*args):
	return BRepBlend_HCurveTool.FirstParameter(*args)

@deprecated
def BRepBlend_HCurveTool_GetType(*args):
	return BRepBlend_HCurveTool.GetType(*args)

@deprecated
def BRepBlend_HCurveTool_Hyperbola(*args):
	return BRepBlend_HCurveTool.Hyperbola(*args)

@deprecated
def BRepBlend_HCurveTool_Intervals(*args):
	return BRepBlend_HCurveTool.Intervals(*args)

@deprecated
def BRepBlend_HCurveTool_IsClosed(*args):
	return BRepBlend_HCurveTool.IsClosed(*args)

@deprecated
def BRepBlend_HCurveTool_IsPeriodic(*args):
	return BRepBlend_HCurveTool.IsPeriodic(*args)

@deprecated
def BRepBlend_HCurveTool_LastParameter(*args):
	return BRepBlend_HCurveTool.LastParameter(*args)

@deprecated
def BRepBlend_HCurveTool_Line(*args):
	return BRepBlend_HCurveTool.Line(*args)

@deprecated
def BRepBlend_HCurveTool_NbIntervals(*args):
	return BRepBlend_HCurveTool.NbIntervals(*args)

@deprecated
def BRepBlend_HCurveTool_NbSamples(*args):
	return BRepBlend_HCurveTool.NbSamples(*args)

@deprecated
def BRepBlend_HCurveTool_Parabola(*args):
	return BRepBlend_HCurveTool.Parabola(*args)

@deprecated
def BRepBlend_HCurveTool_Period(*args):
	return BRepBlend_HCurveTool.Period(*args)

@deprecated
def BRepBlend_HCurveTool_Resolution(*args):
	return BRepBlend_HCurveTool.Resolution(*args)

@deprecated
def BRepBlend_HCurveTool_Value(*args):
	return BRepBlend_HCurveTool.Value(*args)



