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

"""
GeomInt module, see official documentation at
https://www.opencascade.com/doc/occt-7.7.0/refman/html/package_geomint.html
"""

from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _GeomInt
else:
    import _GeomInt

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    def __sub__(self, *args):
        return _GeomInt.SwigPyIterator___sub__(self, *args)
    def __iter__(self):
        return self

# Register SwigPyIterator in _GeomInt:
_GeomInt.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 _GeomInt.process_exception(error, method_name, class_name)

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

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.math
import OCC.Core.TColStd
import OCC.Core.TCollection
import OCC.Core.Message
import OCC.Core.OSD
import OCC.Core.gp
import OCC.Core.AppParCurves
import OCC.Core.TColgp
import OCC.Core.Geom
import OCC.Core.GeomAbs
import OCC.Core.Geom2d
import OCC.Core.IntPatch
import OCC.Core.Intf
import OCC.Core.Bnd
import OCC.Core.BVH
import OCC.Core.Adaptor3d
import OCC.Core.TopAbs
import OCC.Core.Adaptor2d
import OCC.Core.IntSurf
import OCC.Core.IntAna
import OCC.Core.GeomAdaptor
import OCC.Core.Approx
import OCC.Core.AppCont
import OCC.Core.IntImp
import OCC.Core.ApproxInt

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



class GeomInt_SequenceOfParameterAndOrientation(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 _GeomInt.GeomInt_SequenceOfParameterAndOrientation_begin(self)

    def end(self):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_end(self)

    def cbegin(self):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_cbegin(self)

    def cend(self):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_cend(self)

    def __init__(self, *args):
        _GeomInt.GeomInt_SequenceOfParameterAndOrientation_swiginit(self, _GeomInt.new_GeomInt_SequenceOfParameterAndOrientation(*args))

    def Size(self):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_Size(self)

    def Length(self):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_Length(self)

    def Lower(self):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_Lower(self)

    def Upper(self):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_Upper(self)

    def IsEmpty(self):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_IsEmpty(self)

    def Reverse(self):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_Reverse(self)

    def Exchange(self, I, J):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_Assign(self, theOther)

    def Set(self, theOther):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_Set(self, theOther)

    def Remove(self, *args):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_Remove(self, *args)

    def Append(self, *args):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_Append(self, *args)

    def Prepend(self, *args):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_Split(self, theIndex, theSeq)

    def First(self):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_First(self)

    def ChangeFirst(self):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_ChangeFirst(self)

    def Last(self):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_Last(self)

    def ChangeLast(self):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_ChangeLast(self)

    def Value(self, theIndex):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _GeomInt.GeomInt_SequenceOfParameterAndOrientation_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _GeomInt.delete_GeomInt_SequenceOfParameterAndOrientation

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


# Register GeomInt_SequenceOfParameterAndOrientation in _GeomInt:
_GeomInt.GeomInt_SequenceOfParameterAndOrientation_swigregister(GeomInt_SequenceOfParameterAndOrientation)
class GeomInt_VectorOfReal(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 _GeomInt.GeomInt_VectorOfReal_begin(self)

    def end(self):
        return _GeomInt.GeomInt_VectorOfReal_end(self)

    def cbegin(self):
        return _GeomInt.GeomInt_VectorOfReal_cbegin(self)

    def cend(self):
        return _GeomInt.GeomInt_VectorOfReal_cend(self)

    def __init__(self, *args):
        _GeomInt.GeomInt_VectorOfReal_swiginit(self, _GeomInt.new_GeomInt_VectorOfReal(*args))
    __swig_destroy__ = _GeomInt.delete_GeomInt_VectorOfReal

    def Length(self):
        return _GeomInt.GeomInt_VectorOfReal_Length(self)

    def Size(self):
        return _GeomInt.GeomInt_VectorOfReal_Size(self)

    def Lower(self):
        return _GeomInt.GeomInt_VectorOfReal_Lower(self)

    def Upper(self):
        return _GeomInt.GeomInt_VectorOfReal_Upper(self)

    def IsEmpty(self):
        return _GeomInt.GeomInt_VectorOfReal_IsEmpty(self)

    def Assign(self, *args):
        return _GeomInt.GeomInt_VectorOfReal_Assign(self, *args)

    def Set(self, theOther):
        return _GeomInt.GeomInt_VectorOfReal_Set(self, theOther)

    def Append(self, theValue):
        return _GeomInt.GeomInt_VectorOfReal_Append(self, theValue)

    def Appended(self):
        return _GeomInt.GeomInt_VectorOfReal_Appended(self)

    def Value(self, theIndex):
        return _GeomInt.GeomInt_VectorOfReal_Value(self, theIndex)

    def First(self):
        return _GeomInt.GeomInt_VectorOfReal_First(self)

    def ChangeFirst(self):
        return _GeomInt.GeomInt_VectorOfReal_ChangeFirst(self)

    def Last(self):
        return _GeomInt.GeomInt_VectorOfReal_Last(self)

    def ChangeLast(self):
        return _GeomInt.GeomInt_VectorOfReal_ChangeLast(self)

    def __call__(self, *args):
        return _GeomInt.GeomInt_VectorOfReal___call__(self, *args)

    def ChangeValue(self, theIndex):
        return _GeomInt.GeomInt_VectorOfReal_ChangeValue(self, theIndex)

    def SetValue(self, theIndex, theValue):
        return _GeomInt.GeomInt_VectorOfReal_SetValue(self, theIndex, theValue)

# Register GeomInt_VectorOfReal in _GeomInt:
_GeomInt.GeomInt_VectorOfReal_swigregister(GeomInt_VectorOfReal)
class geomint(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        thePar: float
        theParMin: float
        theParMax: float
        thePeriod: float
        theEps: float (optional, default to 0.0)

        Return
        -------
        theNewPar: float
        theOffset: float

        Description
        -----------
        Adjusts the parameter <thepar> to the range [theparmin, theparmax].

        """
        return _GeomInt.geomint_AdjustPeriodic(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _GeomInt.geomint_swiginit(self, _GeomInt.new_geomint())
    __swig_destroy__ = _GeomInt.delete_geomint

# Register geomint in _GeomInt:
_GeomInt.geomint_swigregister(geomint)
class GeomInt_BSpGradient_BFGSOfMyBSplGradientOfTheComputeLineOfWLApprox(OCC.Core.math.math_BFGS):
    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
        ----------
        F: math_MultipleVarFunctionWithGradient
        StartingPoint: math_Vector
        Tolerance3d: float
        Tolerance2d: float
        Eps: float
        NbIterations: int (optional, default to 200)

        Return
        -------
        None

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

        """
        _GeomInt.GeomInt_BSpGradient_BFGSOfMyBSplGradientOfTheComputeLineOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_BSpGradient_BFGSOfMyBSplGradientOfTheComputeLineOfWLApprox(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_BSpGradient_BFGSOfMyBSplGradientOfTheComputeLineOfWLApprox

# Register GeomInt_BSpGradient_BFGSOfMyBSplGradientOfTheComputeLineOfWLApprox in _GeomInt:
_GeomInt.GeomInt_BSpGradient_BFGSOfMyBSplGradientOfTheComputeLineOfWLApprox_swigregister(GeomInt_BSpGradient_BFGSOfMyBSplGradientOfTheComputeLineOfWLApprox)
class GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox(OCC.Core.math.math_MultipleVarFunctionWithGradient):
    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
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        FirstPoint: int
        LastPoint: int
        TheConstraints: AppParCurves_HArray1OfConstraintCouple
        Parameters: math_Vector
        Knots: TColStd_Array1OfReal
        Mults: TColStd_Array1OfInteger
        NbPol: int

        Return
        -------
        None

        Description
        -----------
        Initializes the fields of the function. the approximating curve has <nbpol> control points.

        """
        _GeomInt.GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox(*args))

    def CurveValue(self, *args):
        r"""
        Return
        -------
        AppParCurves_MultiBSpCurve

        Description
        -----------
        Returns the multibspcurve approximating the set after computing the value f or grad(f).

        """
        return _GeomInt.GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox_CurveValue(self, *args)

    def DerivativeFunctionMatrix(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the derivative function matrix used to approximate the multiline.

        """
        return _GeomInt.GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox_DerivativeFunctionMatrix(self, *args)

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

        Parameters
        ----------
        IPoint: int
        CurveIndex: int

        Return
        -------
        float

        Description
        -----------
        Returns the distance between the multipoint of range ipoint and the curve curveindex.

        """
        return _GeomInt.GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox_Error(self, *args)

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

        Parameters
        ----------
        TheConstraints: AppParCurves_HArray1OfConstraintCouple
        FirstPoint: int

        Return
        -------
        AppParCurves_Constraint

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

        """
        return _GeomInt.GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox_FirstConstraint(self, *args)

    def FunctionMatrix(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the function matrix used to approximate the multiline.

        """
        return _GeomInt.GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox_FunctionMatrix(self, *args)

    def Index(self, *args):
        r"""
        Return
        -------
        math_IntegerVector

        Description
        -----------
        Returns the indexes of the first non null values of a and da. the values are non null from index(ieme point) +1 to index(ieme point) + degree +1.

        """
        return _GeomInt.GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox_Index(self, *args)

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

        Parameters
        ----------
        TheConstraints: AppParCurves_HArray1OfConstraintCouple
        LastPoint: int

        Return
        -------
        AppParCurves_Constraint

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

        """
        return _GeomInt.GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox_LastConstraint(self, *args)

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

        Description
        -----------
        Returns the maximum distance between the points and the multibspcurve.

        """
        return _GeomInt.GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox_MaxError2d(self, *args)

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

        Description
        -----------
        Returns the maximum distance between the points and the multibspcurve.

        """
        return _GeomInt.GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox_MaxError3d(self, *args)

    def NewParameters(self, *args):
        r"""
        Return
        -------
        math_Vector

        Description
        -----------
        Returns the new parameters of the multiline.

        """
        return _GeomInt.GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox_NewParameters(self, *args)

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

        Parameters
        ----------
        l1: float

        Return
        -------
        None

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

        """
        return _GeomInt.GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox_SetFirstLambda(self, *args)

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

        Parameters
        ----------
        l2: float

        Return
        -------
        None

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

        """
        return _GeomInt.GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox_SetLastLambda(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox

# Register GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox in _GeomInt:
_GeomInt.GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox_swigregister(GeomInt_BSpParFunctionOfMyBSplGradientOfTheComputeLineOfWLApprox)
class GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox(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
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        FirstPoint: int
        LastPoint: int
        FirstCons: AppParCurves_Constraint
        LastCons: AppParCurves_Constraint
        Parameters: math_Vector
        NbPol: int

        Return
        -------
        None

        Description
        -----------
        Given a multiline, this algorithm computes the least square resolution using the householder-qr method. if the first and/or the last point is a constraint point, the value of the tangency or curvature is computed in the resolution. nbpol is the number of control points wanted for the approximating curves. the system to solve is the following: a x = b. where a is the bernstein matrix computed with the parameters, b the points coordinates and x the poles solutions. the matrix a is the same for each coordinate x, y and z and is also the same for each multiline point because they are approximated in parallel(so with the same parameter, only the vector b changes).

        Parameters
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        FirstPoint: int
        LastPoint: int
        FirstCons: AppParCurves_Constraint
        LastCons: AppParCurves_Constraint
        NbPol: int

        Return
        -------
        None

        Description
        -----------
        Initializes the fields of the object.

        Parameters
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        Knots: TColStd_Array1OfReal
        Mults: TColStd_Array1OfInteger
        FirstPoint: int
        LastPoint: int
        FirstCons: AppParCurves_Constraint
        LastCons: AppParCurves_Constraint
        Parameters: math_Vector
        NbPol: int

        Return
        -------
        None

        Description
        -----------
        Given a multiline, this algorithm computes the least square resolution using the householder-qr method. if the first and/or the last point is a constraint point, the value of the tangency or curvature is computed in the resolution. deg is the degree wanted for the approximating curves. the system to solve is the following: a x = b. where a is the bspline functions matrix computed with <parameters>, b the points coordinates and x the poles solutions. the matrix a is the same for each coordinate x, y and z and is also the same for each multiline point because they are approximated in parallel(so with the same parameter, only the vector b changes).

        Parameters
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        Knots: TColStd_Array1OfReal
        Mults: TColStd_Array1OfInteger
        FirstPoint: int
        LastPoint: int
        FirstCons: AppParCurves_Constraint
        LastCons: AppParCurves_Constraint
        NbPol: int

        Return
        -------
        None

        Description
        -----------
        Initializes the fields of the object.

        """
        _GeomInt.GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox(*args))

    def BSplineValue(self, *args):
        r"""
        Return
        -------
        AppParCurves_MultiBSpCurve

        Description
        -----------
        Returns the result of the approximation, i.e. all the curves. an exception is raised if notdone.

        """
        return _GeomInt.GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox_BSplineValue(self, *args)

    def BezierValue(self, *args):
        r"""
        Return
        -------
        AppParCurves_MultiCurve

        Description
        -----------
        Returns the result of the approximation, i.e. all the curves. an exception is raised if notdone.

        """
        return _GeomInt.GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox_BezierValue(self, *args)

    def DerivativeFunctionMatrix(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the derivative function matrix used to approximate the set.

        """
        return _GeomInt.GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox_DerivativeFunctionMatrix(self, *args)

    def Distance(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the distances between the points of the multiline and the approximation curves.

        """
        return _GeomInt.GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox_Distance(self, *args)

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

        Parameters
        ----------

        Return
        -------
        F: float
        MaxE3d: float
        MaxE2d: float

        Description
        -----------
        Returns the maximum errors between the multiline and the approximation curves. f is the sum of the square distances.

        """
        return _GeomInt.GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox_Error(self, *args)

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

        Parameters
        ----------
        Grad: math_Vector

        Return
        -------
        F: float
        MaxE3d: float
        MaxE2d: float

        Description
        -----------
        Returns the maximum errors between the multiline and the approximation curves. f is the sum of the square distances. grad is the derivative vector of the function f.

        """
        return _GeomInt.GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox_ErrorGradient(self, *args)

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

        Description
        -----------
        Returns the value (p2 - p1)/ v1 if the first point was a tangency point.

        """
        return _GeomInt.GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox_FirstLambda(self, *args)

    def FunctionMatrix(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the function matrix used to approximate the set.

        """
        return _GeomInt.GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox_FunctionMatrix(self, *args)

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

        Description
        -----------
        Returns true if all has been correctly done.

        """
        return _GeomInt.GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox_IsDone(self, *args)

    def KIndex(self, *args):
        r"""
        Return
        -------
        math_IntegerVector

        Description
        -----------
        Returns the indexes of the first non null values of a and da. the values are non null from index(ieme point) +1 to index(ieme point) + degree +1.

        """
        return _GeomInt.GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox_KIndex(self, *args)

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

        Description
        -----------
        Returns the value (pn - pn-1)/ vn if the last point was a tangency point.

        """
        return _GeomInt.GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox_LastLambda(self, *args)

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

        Parameters
        ----------
        Parameters: math_Vector

        Return
        -------
        None

        Description
        -----------
        Is used after having initialized the fields. the case 'curvaturepoint' is not treated in this method.

        Parameters
        ----------
        Parameters: math_Vector
        l1: float
        l2: float

        Return
        -------
        None

        Description
        -----------
        Is used after having initialized the fields.

        Parameters
        ----------
        Parameters: math_Vector
        V1t: math_Vector
        V2t: math_Vector
        l1: float
        l2: float

        Return
        -------
        None

        Description
        -----------
        Is used after having initialized the fields. <v1t> is the tangent vector at the first point. <v2t> is the tangent vector at the last point.

        Parameters
        ----------
        Parameters: math_Vector
        V1t: math_Vector
        V2t: math_Vector
        V1c: math_Vector
        V2c: math_Vector
        l1: float
        l2: float

        Return
        -------
        None

        Description
        -----------
        Is used after having initialized the fields. <v1t> is the tangent vector at the first point. <v2t> is the tangent vector at the last point. <v1c> is the tangent vector at the first point. <v2c> is the tangent vector at the last point.

        """
        return _GeomInt.GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox_Perform(self, *args)

    def Points(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the matrix of points value.

        """
        return _GeomInt.GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox_Points(self, *args)

    def Poles(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the matrix of resulting control points value.

        """
        return _GeomInt.GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox_Poles(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox

# Register GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox in _GeomInt:
_GeomInt.GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox_swigregister(GeomInt_BSpParLeastSquareOfMyBSplGradientOfTheComputeLineOfWLApprox)
class GeomInt_Gradient_BFGSOfMyGradientOfTheComputeLineBezierOfWLApprox(OCC.Core.math.math_BFGS):
    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
        ----------
        F: math_MultipleVarFunctionWithGradient
        StartingPoint: math_Vector
        Tolerance3d: float
        Tolerance2d: float
        Eps: float
        NbIterations: int (optional, default to 200)

        Return
        -------
        None

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

        """
        _GeomInt.GeomInt_Gradient_BFGSOfMyGradientOfTheComputeLineBezierOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_Gradient_BFGSOfMyGradientOfTheComputeLineBezierOfWLApprox(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_Gradient_BFGSOfMyGradientOfTheComputeLineBezierOfWLApprox

# Register GeomInt_Gradient_BFGSOfMyGradientOfTheComputeLineBezierOfWLApprox in _GeomInt:
_GeomInt.GeomInt_Gradient_BFGSOfMyGradientOfTheComputeLineBezierOfWLApprox_swigregister(GeomInt_Gradient_BFGSOfMyGradientOfTheComputeLineBezierOfWLApprox)
class GeomInt_Gradient_BFGSOfMyGradientbisOfTheComputeLineOfWLApprox(OCC.Core.math.math_BFGS):
    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
        ----------
        F: math_MultipleVarFunctionWithGradient
        StartingPoint: math_Vector
        Tolerance3d: float
        Tolerance2d: float
        Eps: float
        NbIterations: int (optional, default to 200)

        Return
        -------
        None

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

        """
        _GeomInt.GeomInt_Gradient_BFGSOfMyGradientbisOfTheComputeLineOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_Gradient_BFGSOfMyGradientbisOfTheComputeLineOfWLApprox(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_Gradient_BFGSOfMyGradientbisOfTheComputeLineOfWLApprox

# Register GeomInt_Gradient_BFGSOfMyGradientbisOfTheComputeLineOfWLApprox in _GeomInt:
_GeomInt.GeomInt_Gradient_BFGSOfMyGradientbisOfTheComputeLineOfWLApprox_swigregister(GeomInt_Gradient_BFGSOfMyGradientbisOfTheComputeLineOfWLApprox)
class GeomInt_IntSS(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
        ----------
        S1: Geom_Surface
        S2: Geom_Surface
        Tol: float
        Approx: bool (optional, default to Standard_True)
        ApproxS1: bool (optional, default to Standard_False)
        ApproxS2: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Performs general intersection of two surfaces just now.

        """
        _GeomInt.GeomInt_IntSS_swiginit(self, _GeomInt.new_GeomInt_IntSS(*args))

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

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

        Return
        -------
        opencascade::handle<Geom_Curve>

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

        """
        return _GeomInt.GeomInt_IntSS_Boundary(self, *args)

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

        Parameters
        ----------
        theFirst: float
        theLast: float
        theUmin: float
        theUmax: float
        theVmin: float
        theVmax: float
        theSurface: Geom_Surface
        theCurve: Geom_Curve
        theCurve2d: Geom2d_Curve

        Return
        -------
        theTol: float

        Description
        -----------
        Creates 2d-curve on given surface from given 3d-curve.

        Parameters
        ----------
        f: float
        l: float
        S: Geom_Surface
        C: Geom_Curve
        C2d: Geom2d_Curve

        Return
        -------
        Tol: float

        Description
        -----------
        Creates 2d-curve on given surface from given 3d-curve.

        """
        return _GeomInt.GeomInt_IntSS_BuildPCurves(*args)

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

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

        Return
        -------
        bool

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

        """
        return _GeomInt.GeomInt_IntSS_HasLineOnS1(self, *args)

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

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

        Return
        -------
        bool

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

        """
        return _GeomInt.GeomInt_IntSS_HasLineOnS2(self, *args)

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

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

        """
        return _GeomInt.GeomInt_IntSS_IsDone(self, *args)

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

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

        Return
        -------
        opencascade::handle<Geom_Curve>

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

        """
        return _GeomInt.GeomInt_IntSS_Line(self, *args)

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

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

        Return
        -------
        opencascade::handle<Geom2d_Curve>

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

        """
        return _GeomInt.GeomInt_IntSS_LineOnS1(self, *args)

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

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

        Return
        -------
        opencascade::handle<Geom2d_Curve>

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

        """
        return _GeomInt.GeomInt_IntSS_LineOnS2(self, *args)

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

        Parameters
        ----------
        WL: IntPatch_WLine
        ideb: int
        ifin: int

        Return
        -------
        opencascade::handle<Geom_Curve>

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

        """
        return _GeomInt.GeomInt_IntSS_MakeBSpline(*args)

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

        Parameters
        ----------
        theWLine: IntPatch_WLine
        ideb: int
        ifin: int
        onFirst: bool

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

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

        """
        return _GeomInt.GeomInt_IntSS_MakeBSpline2d(*args)

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

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

        """
        return _GeomInt.GeomInt_IntSS_NbBoundaries(self, *args)

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

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

        """
        return _GeomInt.GeomInt_IntSS_NbLines(self, *args)

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

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

        """
        return _GeomInt.GeomInt_IntSS_NbPoints(self, *args)

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

        Parameters
        ----------
        S1: Geom_Surface
        S2: Geom_Surface
        Tol: float
        Approx: bool (optional, default to Standard_True)
        ApproxS1: bool (optional, default to Standard_False)
        ApproxS2: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        General intersection of two surfaces.

        Parameters
        ----------
        HS1: GeomAdaptor_Surface
        HS2: GeomAdaptor_Surface
        Tol: float
        Approx: bool (optional, default to Standard_True)
        ApproxS1: bool (optional, default to Standard_False)
        ApproxS2: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Intersection of adapted surfaces.

        Parameters
        ----------
        S1: Geom_Surface
        S2: Geom_Surface
        Tol: float
        U1: float
        V1: float
        U2: float
        V2: float
        Approx: bool (optional, default to Standard_True)
        ApproxS1: bool (optional, default to Standard_False)
        ApproxS2: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        General intersection using a starting point.

        Parameters
        ----------
        HS1: GeomAdaptor_Surface
        HS2: GeomAdaptor_Surface
        Tol: float
        U1: float
        V1: float
        U2: float
        V2: float
        Approx: bool (optional, default to Standard_True)
        ApproxS1: bool (optional, default to Standard_False)
        ApproxS2: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Intersection of adapted surfaces using a starting point.

        """
        return _GeomInt.GeomInt_IntSS_Perform(self, *args)

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

        Parameters
        ----------
        Index: int
        OnFirst: bool

        Return
        -------
        gp_Pnt2d

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

        """
        return _GeomInt.GeomInt_IntSS_Pnt2d(self, *args)

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

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

        Return
        -------
        gp_Pnt

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

        """
        return _GeomInt.GeomInt_IntSS_Point(self, *args)

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

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

        """
        return _GeomInt.GeomInt_IntSS_TolReached2d(self, *args)

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

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

        """
        return _GeomInt.GeomInt_IntSS_TolReached3d(self, *args)

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

        Parameters
        ----------
        theRL: IntPatch_RLine
        theHS1: GeomAdaptor_Surface
        theHS2: GeomAdaptor_Surface
        theC3d: Geom_Curve
        theC2d1: Geom2d_Curve
        theC2d2: Geom2d_Curve

        Return
        -------
        theTolReached: float

        Description
        -----------
        Converts rline to geom(2d)_curve.

        """
        return _GeomInt.GeomInt_IntSS_TreatRLine(*args)

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

        Parameters
        ----------
        theC2d1: Geom2d_Curve
        theC2d2: Geom2d_Curve
        theBound1: Bnd_Box2d
        theBound2: Bnd_Box2d
        theArrayOfParameters: GeomInt_VectorOfReal

        Return
        -------
        None

        Description
        -----------
        Puts into thearrayofparameters the parameters of intersection points of given thec2d1 and thec2d2 curves with the boundaries of the source surface.

        """
        return _GeomInt.GeomInt_IntSS_TrimILineOnSurfBoundaries(*args)

    __repr__ = _dumps_object

    @methodnotwrapped
    def TolFixTangents(self):
    	pass

    @methodnotwrapped
    def SetTolFixTangents(self):
    	pass

    __swig_destroy__ = _GeomInt.delete_GeomInt_IntSS

# Register GeomInt_IntSS in _GeomInt:
_GeomInt.GeomInt_IntSS_swigregister(GeomInt_IntSS)
class GeomInt_LineConstructor(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.

        """
        _GeomInt.GeomInt_LineConstructor_swiginit(self, _GeomInt.new_GeomInt_LineConstructor(*args))

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

        Description
        -----------
        Returns true if splitting was successful.

        """
        return _GeomInt.GeomInt_LineConstructor_IsDone(self, *args)

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

        Parameters
        ----------
        D1: Adaptor3d_TopolTool
        D2: Adaptor3d_TopolTool
        S1: GeomAdaptor_Surface
        S2: GeomAdaptor_Surface

        Return
        -------
        None

        Description
        -----------
        Initializes me by two surfaces and corresponding tools which represent boundaries of surfaces.

        """
        return _GeomInt.GeomInt_LineConstructor_Load(self, *args)

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

        Description
        -----------
        Returns number of splits.

        """
        return _GeomInt.GeomInt_LineConstructor_NbParts(self, *args)

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

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

        Return
        -------
        WFirst: float
        WLast: float

        Description
        -----------
        Return first and last parameters for given index of split.

        """
        return _GeomInt.GeomInt_LineConstructor_Part(self, *args)

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

        Parameters
        ----------
        L: IntPatch_Line

        Return
        -------
        None

        Description
        -----------
        Splits line.

        """
        return _GeomInt.GeomInt_LineConstructor_Perform(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_LineConstructor

# Register GeomInt_LineConstructor in _GeomInt:
_GeomInt.GeomInt_LineConstructor_swigregister(GeomInt_LineConstructor)
class GeomInt_LineTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theWLine: IntPatch_WLine
        theSurface1: GeomAdaptor_Surface
        theSurface2: GeomAdaptor_Surface
        aTolSum: float
        theLConstructor: GeomInt_LineConstructor
        theNewLines: IntPatch_SequenceOfLine

        Return
        -------
        bool

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

        """
        return _GeomInt.GeomInt_LineTool_DecompositionOfWLine(*args)

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

        Parameters
        ----------
        L: IntPatch_Line

        Return
        -------
        float

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

        """
        return _GeomInt.GeomInt_LineTool_FirstParameter(*args)

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

        Parameters
        ----------
        L: IntPatch_Line

        Return
        -------
        float

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

        """
        return _GeomInt.GeomInt_LineTool_LastParameter(*args)

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

        Parameters
        ----------
        L: IntPatch_Line

        Return
        -------
        int

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

        """
        return _GeomInt.GeomInt_LineTool_NbVertex(*args)

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

        Parameters
        ----------
        L: IntPatch_Line
        I: int

        Return
        -------
        IntPatch_Point

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

        """
        return _GeomInt.GeomInt_LineTool_Vertex(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _GeomInt.GeomInt_LineTool_swiginit(self, _GeomInt.new_GeomInt_LineTool())
    __swig_destroy__ = _GeomInt.delete_GeomInt_LineTool

# Register GeomInt_LineTool in _GeomInt:
_GeomInt.GeomInt_LineTool_swigregister(GeomInt_LineTool)
class GeomInt_MyBSplGradientOfTheComputeLineOfWLApprox(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
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        FirstPoint: int
        LastPoint: int
        TheConstraints: AppParCurves_HArray1OfConstraintCouple
        Parameters: math_Vector
        Knots: TColStd_Array1OfReal
        Mults: TColStd_Array1OfInteger
        Deg: int
        Tol3d: float
        Tol2d: float
        NbIterations: int (optional, default to 1)

        Return
        -------
        None

        Description
        -----------
        Tries to minimize the sum (square(||qui - bi*pi||)) where pui describe the approximating bspline curves'poles and qi the multiline points with a parameter ui. in this algorithm, the parameters ui are the unknowns. the tolerance required on this sum is given by tol. the desired degree of the resulting curve is deg.

        Parameters
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        FirstPoint: int
        LastPoint: int
        TheConstraints: AppParCurves_HArray1OfConstraintCouple
        Parameters: math_Vector
        Knots: TColStd_Array1OfReal
        Mults: TColStd_Array1OfInteger
        Deg: int
        Tol3d: float
        Tol2d: float
        NbIterations: int
        lambda1: float
        lambda2: float

        Return
        -------
        None

        Description
        -----------
        Tries to minimize the sum (square(||qui - bi*pi||)) where pui describe the approximating bspline curves'poles and qi the multiline points with a parameter ui. in this algorithm, the parameters ui are the unknowns. the tolerance required on this sum is given by tol. the desired degree of the resulting curve is deg.

        """
        _GeomInt.GeomInt_MyBSplGradientOfTheComputeLineOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_MyBSplGradientOfTheComputeLineOfWLApprox(*args))

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

        Description
        -----------
        Returns the average error between the old and the new approximation.

        """
        return _GeomInt.GeomInt_MyBSplGradientOfTheComputeLineOfWLApprox_AverageError(self, *args)

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

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

        Return
        -------
        float

        Description
        -----------
        Returns the difference between the old and the new approximation. an exception is raised if notdone. an exception is raised if index<1 or index>nbparameters.

        """
        return _GeomInt.GeomInt_MyBSplGradientOfTheComputeLineOfWLApprox_Error(self, *args)

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

        Description
        -----------
        Returns true if all has been correctly done.

        """
        return _GeomInt.GeomInt_MyBSplGradientOfTheComputeLineOfWLApprox_IsDone(self, *args)

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

        Description
        -----------
        Returns the maximum difference between the old and the new approximation.

        """
        return _GeomInt.GeomInt_MyBSplGradientOfTheComputeLineOfWLApprox_MaxError2d(self, *args)

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

        Description
        -----------
        Returns the maximum difference between the old and the new approximation.

        """
        return _GeomInt.GeomInt_MyBSplGradientOfTheComputeLineOfWLApprox_MaxError3d(self, *args)

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

        Description
        -----------
        Returns all the bspline curves approximating the multiline ssp after minimization of the parameter.

        """
        return _GeomInt.GeomInt_MyBSplGradientOfTheComputeLineOfWLApprox_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_MyBSplGradientOfTheComputeLineOfWLApprox

# Register GeomInt_MyBSplGradientOfTheComputeLineOfWLApprox in _GeomInt:
_GeomInt.GeomInt_MyBSplGradientOfTheComputeLineOfWLApprox_swigregister(GeomInt_MyBSplGradientOfTheComputeLineOfWLApprox)
class GeomInt_MyGradientOfTheComputeLineBezierOfWLApprox(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
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        FirstPoint: int
        LastPoint: int
        TheConstraints: AppParCurves_HArray1OfConstraintCouple
        Parameters: math_Vector
        Deg: int
        Tol3d: float
        Tol2d: float
        NbIterations: int (optional, default to 200)

        Return
        -------
        None

        Description
        -----------
        Tries to minimize the sum (square(||qui - bi*pi||)) where pui describe the approximating bezier curves'poles and qi the multiline points with a parameter ui. in this algorithm, the parameters ui are the unknowns. the tolerance required on this sum is given by tol. the desired degree of the resulting curve is deg.

        """
        _GeomInt.GeomInt_MyGradientOfTheComputeLineBezierOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_MyGradientOfTheComputeLineBezierOfWLApprox(*args))

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

        Description
        -----------
        Returns the average error between the old and the new approximation.

        """
        return _GeomInt.GeomInt_MyGradientOfTheComputeLineBezierOfWLApprox_AverageError(self, *args)

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

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

        Return
        -------
        float

        Description
        -----------
        Returns the difference between the old and the new approximation. an exception is raised if notdone. an exception is raised if index<1 or index>nbparameters.

        """
        return _GeomInt.GeomInt_MyGradientOfTheComputeLineBezierOfWLApprox_Error(self, *args)

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

        Description
        -----------
        Returns true if all has been correctly done.

        """
        return _GeomInt.GeomInt_MyGradientOfTheComputeLineBezierOfWLApprox_IsDone(self, *args)

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

        Description
        -----------
        Returns the maximum difference between the old and the new approximation.

        """
        return _GeomInt.GeomInt_MyGradientOfTheComputeLineBezierOfWLApprox_MaxError2d(self, *args)

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

        Description
        -----------
        Returns the maximum difference between the old and the new approximation.

        """
        return _GeomInt.GeomInt_MyGradientOfTheComputeLineBezierOfWLApprox_MaxError3d(self, *args)

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

        Description
        -----------
        Returns all the bezier curves approximating the multiline ssp after minimization of the parameter.

        """
        return _GeomInt.GeomInt_MyGradientOfTheComputeLineBezierOfWLApprox_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_MyGradientOfTheComputeLineBezierOfWLApprox

# Register GeomInt_MyGradientOfTheComputeLineBezierOfWLApprox in _GeomInt:
_GeomInt.GeomInt_MyGradientOfTheComputeLineBezierOfWLApprox_swigregister(GeomInt_MyGradientOfTheComputeLineBezierOfWLApprox)
class GeomInt_MyGradientbisOfTheComputeLineOfWLApprox(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
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        FirstPoint: int
        LastPoint: int
        TheConstraints: AppParCurves_HArray1OfConstraintCouple
        Parameters: math_Vector
        Deg: int
        Tol3d: float
        Tol2d: float
        NbIterations: int (optional, default to 200)

        Return
        -------
        None

        Description
        -----------
        Tries to minimize the sum (square(||qui - bi*pi||)) where pui describe the approximating bezier curves'poles and qi the multiline points with a parameter ui. in this algorithm, the parameters ui are the unknowns. the tolerance required on this sum is given by tol. the desired degree of the resulting curve is deg.

        """
        _GeomInt.GeomInt_MyGradientbisOfTheComputeLineOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_MyGradientbisOfTheComputeLineOfWLApprox(*args))

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

        Description
        -----------
        Returns the average error between the old and the new approximation.

        """
        return _GeomInt.GeomInt_MyGradientbisOfTheComputeLineOfWLApprox_AverageError(self, *args)

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

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

        Return
        -------
        float

        Description
        -----------
        Returns the difference between the old and the new approximation. an exception is raised if notdone. an exception is raised if index<1 or index>nbparameters.

        """
        return _GeomInt.GeomInt_MyGradientbisOfTheComputeLineOfWLApprox_Error(self, *args)

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

        Description
        -----------
        Returns true if all has been correctly done.

        """
        return _GeomInt.GeomInt_MyGradientbisOfTheComputeLineOfWLApprox_IsDone(self, *args)

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

        Description
        -----------
        Returns the maximum difference between the old and the new approximation.

        """
        return _GeomInt.GeomInt_MyGradientbisOfTheComputeLineOfWLApprox_MaxError2d(self, *args)

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

        Description
        -----------
        Returns the maximum difference between the old and the new approximation.

        """
        return _GeomInt.GeomInt_MyGradientbisOfTheComputeLineOfWLApprox_MaxError3d(self, *args)

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

        Description
        -----------
        Returns all the bezier curves approximating the multiline ssp after minimization of the parameter.

        """
        return _GeomInt.GeomInt_MyGradientbisOfTheComputeLineOfWLApprox_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_MyGradientbisOfTheComputeLineOfWLApprox

# Register GeomInt_MyGradientbisOfTheComputeLineOfWLApprox in _GeomInt:
_GeomInt.GeomInt_MyGradientbisOfTheComputeLineOfWLApprox_swigregister(GeomInt_MyGradientbisOfTheComputeLineOfWLApprox)
class GeomInt_ParFunctionOfMyGradientOfTheComputeLineBezierOfWLApprox(OCC.Core.math.math_MultipleVarFunctionWithGradient):
    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
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        FirstPoint: int
        LastPoint: int
        TheConstraints: AppParCurves_HArray1OfConstraintCouple
        Parameters: math_Vector
        Deg: int

        Return
        -------
        None

        Description
        -----------
        Initializes the fields of the function. the approximating curve has the desired degree deg.

        """
        _GeomInt.GeomInt_ParFunctionOfMyGradientOfTheComputeLineBezierOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_ParFunctionOfMyGradientOfTheComputeLineBezierOfWLApprox(*args))

    def CurveValue(self, *args):
        r"""
        Return
        -------
        AppParCurves_MultiCurve

        Description
        -----------
        Returns the multicurve approximating the set after computing the value f or grad(f).

        """
        return _GeomInt.GeomInt_ParFunctionOfMyGradientOfTheComputeLineBezierOfWLApprox_CurveValue(self, *args)

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

        Parameters
        ----------
        IPoint: int
        CurveIndex: int

        Return
        -------
        float

        Description
        -----------
        Returns the distance between the multipoint of range ipoint and the curve curveindex.

        """
        return _GeomInt.GeomInt_ParFunctionOfMyGradientOfTheComputeLineBezierOfWLApprox_Error(self, *args)

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

        Parameters
        ----------
        TheConstraints: AppParCurves_HArray1OfConstraintCouple
        FirstPoint: int

        Return
        -------
        AppParCurves_Constraint

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

        """
        return _GeomInt.GeomInt_ParFunctionOfMyGradientOfTheComputeLineBezierOfWLApprox_FirstConstraint(self, *args)

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

        Parameters
        ----------
        TheConstraints: AppParCurves_HArray1OfConstraintCouple
        LastPoint: int

        Return
        -------
        AppParCurves_Constraint

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

        """
        return _GeomInt.GeomInt_ParFunctionOfMyGradientOfTheComputeLineBezierOfWLApprox_LastConstraint(self, *args)

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

        Description
        -----------
        Returns the maximum distance between the points and the multicurve.

        """
        return _GeomInt.GeomInt_ParFunctionOfMyGradientOfTheComputeLineBezierOfWLApprox_MaxError2d(self, *args)

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

        Description
        -----------
        Returns the maximum distance between the points and the multicurve.

        """
        return _GeomInt.GeomInt_ParFunctionOfMyGradientOfTheComputeLineBezierOfWLApprox_MaxError3d(self, *args)

    def NewParameters(self, *args):
        r"""
        Return
        -------
        math_Vector

        Description
        -----------
        Returns the new parameters of the multiline.

        """
        return _GeomInt.GeomInt_ParFunctionOfMyGradientOfTheComputeLineBezierOfWLApprox_NewParameters(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_ParFunctionOfMyGradientOfTheComputeLineBezierOfWLApprox

# Register GeomInt_ParFunctionOfMyGradientOfTheComputeLineBezierOfWLApprox in _GeomInt:
_GeomInt.GeomInt_ParFunctionOfMyGradientOfTheComputeLineBezierOfWLApprox_swigregister(GeomInt_ParFunctionOfMyGradientOfTheComputeLineBezierOfWLApprox)
class GeomInt_ParFunctionOfMyGradientbisOfTheComputeLineOfWLApprox(OCC.Core.math.math_MultipleVarFunctionWithGradient):
    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
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        FirstPoint: int
        LastPoint: int
        TheConstraints: AppParCurves_HArray1OfConstraintCouple
        Parameters: math_Vector
        Deg: int

        Return
        -------
        None

        Description
        -----------
        Initializes the fields of the function. the approximating curve has the desired degree deg.

        """
        _GeomInt.GeomInt_ParFunctionOfMyGradientbisOfTheComputeLineOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_ParFunctionOfMyGradientbisOfTheComputeLineOfWLApprox(*args))

    def CurveValue(self, *args):
        r"""
        Return
        -------
        AppParCurves_MultiCurve

        Description
        -----------
        Returns the multicurve approximating the set after computing the value f or grad(f).

        """
        return _GeomInt.GeomInt_ParFunctionOfMyGradientbisOfTheComputeLineOfWLApprox_CurveValue(self, *args)

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

        Parameters
        ----------
        IPoint: int
        CurveIndex: int

        Return
        -------
        float

        Description
        -----------
        Returns the distance between the multipoint of range ipoint and the curve curveindex.

        """
        return _GeomInt.GeomInt_ParFunctionOfMyGradientbisOfTheComputeLineOfWLApprox_Error(self, *args)

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

        Parameters
        ----------
        TheConstraints: AppParCurves_HArray1OfConstraintCouple
        FirstPoint: int

        Return
        -------
        AppParCurves_Constraint

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

        """
        return _GeomInt.GeomInt_ParFunctionOfMyGradientbisOfTheComputeLineOfWLApprox_FirstConstraint(self, *args)

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

        Parameters
        ----------
        TheConstraints: AppParCurves_HArray1OfConstraintCouple
        LastPoint: int

        Return
        -------
        AppParCurves_Constraint

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

        """
        return _GeomInt.GeomInt_ParFunctionOfMyGradientbisOfTheComputeLineOfWLApprox_LastConstraint(self, *args)

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

        Description
        -----------
        Returns the maximum distance between the points and the multicurve.

        """
        return _GeomInt.GeomInt_ParFunctionOfMyGradientbisOfTheComputeLineOfWLApprox_MaxError2d(self, *args)

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

        Description
        -----------
        Returns the maximum distance between the points and the multicurve.

        """
        return _GeomInt.GeomInt_ParFunctionOfMyGradientbisOfTheComputeLineOfWLApprox_MaxError3d(self, *args)

    def NewParameters(self, *args):
        r"""
        Return
        -------
        math_Vector

        Description
        -----------
        Returns the new parameters of the multiline.

        """
        return _GeomInt.GeomInt_ParFunctionOfMyGradientbisOfTheComputeLineOfWLApprox_NewParameters(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_ParFunctionOfMyGradientbisOfTheComputeLineOfWLApprox

# Register GeomInt_ParFunctionOfMyGradientbisOfTheComputeLineOfWLApprox in _GeomInt:
_GeomInt.GeomInt_ParFunctionOfMyGradientbisOfTheComputeLineOfWLApprox_swigregister(GeomInt_ParFunctionOfMyGradientbisOfTheComputeLineOfWLApprox)
class GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox(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
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        FirstPoint: int
        LastPoint: int
        FirstCons: AppParCurves_Constraint
        LastCons: AppParCurves_Constraint
        Parameters: math_Vector
        NbPol: int

        Return
        -------
        None

        Description
        -----------
        Given a multiline, this algorithm computes the least square resolution using the householder-qr method. if the first and/or the last point is a constraint point, the value of the tangency or curvature is computed in the resolution. nbpol is the number of control points wanted for the approximating curves. the system to solve is the following: a x = b. where a is the bernstein matrix computed with the parameters, b the points coordinates and x the poles solutions. the matrix a is the same for each coordinate x, y and z and is also the same for each multiline point because they are approximated in parallel(so with the same parameter, only the vector b changes).

        Parameters
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        FirstPoint: int
        LastPoint: int
        FirstCons: AppParCurves_Constraint
        LastCons: AppParCurves_Constraint
        NbPol: int

        Return
        -------
        None

        Description
        -----------
        Initializes the fields of the object.

        Parameters
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        Knots: TColStd_Array1OfReal
        Mults: TColStd_Array1OfInteger
        FirstPoint: int
        LastPoint: int
        FirstCons: AppParCurves_Constraint
        LastCons: AppParCurves_Constraint
        Parameters: math_Vector
        NbPol: int

        Return
        -------
        None

        Description
        -----------
        Given a multiline, this algorithm computes the least square resolution using the householder-qr method. if the first and/or the last point is a constraint point, the value of the tangency or curvature is computed in the resolution. deg is the degree wanted for the approximating curves. the system to solve is the following: a x = b. where a is the bspline functions matrix computed with <parameters>, b the points coordinates and x the poles solutions. the matrix a is the same for each coordinate x, y and z and is also the same for each multiline point because they are approximated in parallel(so with the same parameter, only the vector b changes).

        Parameters
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        Knots: TColStd_Array1OfReal
        Mults: TColStd_Array1OfInteger
        FirstPoint: int
        LastPoint: int
        FirstCons: AppParCurves_Constraint
        LastCons: AppParCurves_Constraint
        NbPol: int

        Return
        -------
        None

        Description
        -----------
        Initializes the fields of the object.

        """
        _GeomInt.GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox(*args))

    def BSplineValue(self, *args):
        r"""
        Return
        -------
        AppParCurves_MultiBSpCurve

        Description
        -----------
        Returns the result of the approximation, i.e. all the curves. an exception is raised if notdone.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox_BSplineValue(self, *args)

    def BezierValue(self, *args):
        r"""
        Return
        -------
        AppParCurves_MultiCurve

        Description
        -----------
        Returns the result of the approximation, i.e. all the curves. an exception is raised if notdone.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox_BezierValue(self, *args)

    def DerivativeFunctionMatrix(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the derivative function matrix used to approximate the set.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox_DerivativeFunctionMatrix(self, *args)

    def Distance(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the distances between the points of the multiline and the approximation curves.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox_Distance(self, *args)

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

        Parameters
        ----------

        Return
        -------
        F: float
        MaxE3d: float
        MaxE2d: float

        Description
        -----------
        Returns the maximum errors between the multiline and the approximation curves. f is the sum of the square distances.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox_Error(self, *args)

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

        Parameters
        ----------
        Grad: math_Vector

        Return
        -------
        F: float
        MaxE3d: float
        MaxE2d: float

        Description
        -----------
        Returns the maximum errors between the multiline and the approximation curves. f is the sum of the square distances. grad is the derivative vector of the function f.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox_ErrorGradient(self, *args)

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

        Description
        -----------
        Returns the value (p2 - p1)/ v1 if the first point was a tangency point.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox_FirstLambda(self, *args)

    def FunctionMatrix(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the function matrix used to approximate the set.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox_FunctionMatrix(self, *args)

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

        Description
        -----------
        Returns true if all has been correctly done.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox_IsDone(self, *args)

    def KIndex(self, *args):
        r"""
        Return
        -------
        math_IntegerVector

        Description
        -----------
        Returns the indexes of the first non null values of a and da. the values are non null from index(ieme point) +1 to index(ieme point) + degree +1.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox_KIndex(self, *args)

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

        Description
        -----------
        Returns the value (pn - pn-1)/ vn if the last point was a tangency point.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox_LastLambda(self, *args)

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

        Parameters
        ----------
        Parameters: math_Vector

        Return
        -------
        None

        Description
        -----------
        Is used after having initialized the fields. the case 'curvaturepoint' is not treated in this method.

        Parameters
        ----------
        Parameters: math_Vector
        l1: float
        l2: float

        Return
        -------
        None

        Description
        -----------
        Is used after having initialized the fields.

        Parameters
        ----------
        Parameters: math_Vector
        V1t: math_Vector
        V2t: math_Vector
        l1: float
        l2: float

        Return
        -------
        None

        Description
        -----------
        Is used after having initialized the fields. <v1t> is the tangent vector at the first point. <v2t> is the tangent vector at the last point.

        Parameters
        ----------
        Parameters: math_Vector
        V1t: math_Vector
        V2t: math_Vector
        V1c: math_Vector
        V2c: math_Vector
        l1: float
        l2: float

        Return
        -------
        None

        Description
        -----------
        Is used after having initialized the fields. <v1t> is the tangent vector at the first point. <v2t> is the tangent vector at the last point. <v1c> is the tangent vector at the first point. <v2c> is the tangent vector at the last point.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox_Perform(self, *args)

    def Points(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the matrix of points value.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox_Points(self, *args)

    def Poles(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the matrix of resulting control points value.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox_Poles(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox

# Register GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox in _GeomInt:
_GeomInt.GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox_swigregister(GeomInt_ParLeastSquareOfMyGradientOfTheComputeLineBezierOfWLApprox)
class GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox(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
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        FirstPoint: int
        LastPoint: int
        FirstCons: AppParCurves_Constraint
        LastCons: AppParCurves_Constraint
        Parameters: math_Vector
        NbPol: int

        Return
        -------
        None

        Description
        -----------
        Given a multiline, this algorithm computes the least square resolution using the householder-qr method. if the first and/or the last point is a constraint point, the value of the tangency or curvature is computed in the resolution. nbpol is the number of control points wanted for the approximating curves. the system to solve is the following: a x = b. where a is the bernstein matrix computed with the parameters, b the points coordinates and x the poles solutions. the matrix a is the same for each coordinate x, y and z and is also the same for each multiline point because they are approximated in parallel(so with the same parameter, only the vector b changes).

        Parameters
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        FirstPoint: int
        LastPoint: int
        FirstCons: AppParCurves_Constraint
        LastCons: AppParCurves_Constraint
        NbPol: int

        Return
        -------
        None

        Description
        -----------
        Initializes the fields of the object.

        Parameters
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        Knots: TColStd_Array1OfReal
        Mults: TColStd_Array1OfInteger
        FirstPoint: int
        LastPoint: int
        FirstCons: AppParCurves_Constraint
        LastCons: AppParCurves_Constraint
        Parameters: math_Vector
        NbPol: int

        Return
        -------
        None

        Description
        -----------
        Given a multiline, this algorithm computes the least square resolution using the householder-qr method. if the first and/or the last point is a constraint point, the value of the tangency or curvature is computed in the resolution. deg is the degree wanted for the approximating curves. the system to solve is the following: a x = b. where a is the bspline functions matrix computed with <parameters>, b the points coordinates and x the poles solutions. the matrix a is the same for each coordinate x, y and z and is also the same for each multiline point because they are approximated in parallel(so with the same parameter, only the vector b changes).

        Parameters
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        Knots: TColStd_Array1OfReal
        Mults: TColStd_Array1OfInteger
        FirstPoint: int
        LastPoint: int
        FirstCons: AppParCurves_Constraint
        LastCons: AppParCurves_Constraint
        NbPol: int

        Return
        -------
        None

        Description
        -----------
        Initializes the fields of the object.

        """
        _GeomInt.GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox(*args))

    def BSplineValue(self, *args):
        r"""
        Return
        -------
        AppParCurves_MultiBSpCurve

        Description
        -----------
        Returns the result of the approximation, i.e. all the curves. an exception is raised if notdone.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox_BSplineValue(self, *args)

    def BezierValue(self, *args):
        r"""
        Return
        -------
        AppParCurves_MultiCurve

        Description
        -----------
        Returns the result of the approximation, i.e. all the curves. an exception is raised if notdone.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox_BezierValue(self, *args)

    def DerivativeFunctionMatrix(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the derivative function matrix used to approximate the set.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox_DerivativeFunctionMatrix(self, *args)

    def Distance(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the distances between the points of the multiline and the approximation curves.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox_Distance(self, *args)

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

        Parameters
        ----------

        Return
        -------
        F: float
        MaxE3d: float
        MaxE2d: float

        Description
        -----------
        Returns the maximum errors between the multiline and the approximation curves. f is the sum of the square distances.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox_Error(self, *args)

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

        Parameters
        ----------
        Grad: math_Vector

        Return
        -------
        F: float
        MaxE3d: float
        MaxE2d: float

        Description
        -----------
        Returns the maximum errors between the multiline and the approximation curves. f is the sum of the square distances. grad is the derivative vector of the function f.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox_ErrorGradient(self, *args)

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

        Description
        -----------
        Returns the value (p2 - p1)/ v1 if the first point was a tangency point.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox_FirstLambda(self, *args)

    def FunctionMatrix(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the function matrix used to approximate the set.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox_FunctionMatrix(self, *args)

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

        Description
        -----------
        Returns true if all has been correctly done.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox_IsDone(self, *args)

    def KIndex(self, *args):
        r"""
        Return
        -------
        math_IntegerVector

        Description
        -----------
        Returns the indexes of the first non null values of a and da. the values are non null from index(ieme point) +1 to index(ieme point) + degree +1.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox_KIndex(self, *args)

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

        Description
        -----------
        Returns the value (pn - pn-1)/ vn if the last point was a tangency point.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox_LastLambda(self, *args)

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

        Parameters
        ----------
        Parameters: math_Vector

        Return
        -------
        None

        Description
        -----------
        Is used after having initialized the fields. the case 'curvaturepoint' is not treated in this method.

        Parameters
        ----------
        Parameters: math_Vector
        l1: float
        l2: float

        Return
        -------
        None

        Description
        -----------
        Is used after having initialized the fields.

        Parameters
        ----------
        Parameters: math_Vector
        V1t: math_Vector
        V2t: math_Vector
        l1: float
        l2: float

        Return
        -------
        None

        Description
        -----------
        Is used after having initialized the fields. <v1t> is the tangent vector at the first point. <v2t> is the tangent vector at the last point.

        Parameters
        ----------
        Parameters: math_Vector
        V1t: math_Vector
        V2t: math_Vector
        V1c: math_Vector
        V2c: math_Vector
        l1: float
        l2: float

        Return
        -------
        None

        Description
        -----------
        Is used after having initialized the fields. <v1t> is the tangent vector at the first point. <v2t> is the tangent vector at the last point. <v1c> is the tangent vector at the first point. <v2c> is the tangent vector at the last point.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox_Perform(self, *args)

    def Points(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the matrix of points value.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox_Points(self, *args)

    def Poles(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the matrix of resulting control points value.

        """
        return _GeomInt.GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox_Poles(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox

# Register GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox in _GeomInt:
_GeomInt.GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox_swigregister(GeomInt_ParLeastSquareOfMyGradientbisOfTheComputeLineOfWLApprox)
class GeomInt_ParameterAndOrientation(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: float
        Or1: TopAbs_Orientation
        Or2: TopAbs_Orientation

        Return
        -------
        None

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

        """
        _GeomInt.GeomInt_ParameterAndOrientation_swiginit(self, _GeomInt.new_GeomInt_ParameterAndOrientation(*args))

    def Orientation1(self, *args):
        r"""
        Return
        -------
        TopAbs_Orientation

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

        """
        return _GeomInt.GeomInt_ParameterAndOrientation_Orientation1(self, *args)

    def Orientation2(self, *args):
        r"""
        Return
        -------
        TopAbs_Orientation

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

        """
        return _GeomInt.GeomInt_ParameterAndOrientation_Orientation2(self, *args)

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

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

        """
        return _GeomInt.GeomInt_ParameterAndOrientation_Parameter(self, *args)

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

        Parameters
        ----------
        Or: TopAbs_Orientation

        Return
        -------
        None

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

        """
        return _GeomInt.GeomInt_ParameterAndOrientation_SetOrientation1(self, *args)

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

        Parameters
        ----------
        Or: TopAbs_Orientation

        Return
        -------
        None

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

        """
        return _GeomInt.GeomInt_ParameterAndOrientation_SetOrientation2(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_ParameterAndOrientation

# Register GeomInt_ParameterAndOrientation in _GeomInt:
_GeomInt.GeomInt_ParameterAndOrientation_swigregister(GeomInt_ParameterAndOrientation)
class GeomInt_ResConstraintOfMyGradientOfTheComputeLineBezierOfWLApprox(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
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        SCurv: AppParCurves_MultiCurve
        FirstPoint: int
        LastPoint: int
        Constraints: AppParCurves_HArray1OfConstraintCouple
        Bern: math_Matrix
        DerivativeBern: math_Matrix
        Tolerance: float (optional, default to 1.0e-10)

        Return
        -------
        None

        Description
        -----------
        Given a multiline ssp with constraints points, this algorithm finds the best curve solution to approximate it. the poles from scurv issued for example from the least squares are used as a guess solution for the uzawa algorithm. the tolerance used in the uzawa algorithms is tolerance. a is the bernstein matrix associated to the multiline and da is the derivative bernstein matrix.(they can come from an approximation with parleastsquare.) the multicurve is modified. new multipoles are given.

        """
        _GeomInt.GeomInt_ResConstraintOfMyGradientOfTheComputeLineBezierOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_ResConstraintOfMyGradientOfTheComputeLineBezierOfWLApprox(*args))

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

        Parameters
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        Parameters: math_Vector
        Deg: int
        DA: math_Matrix

        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the derivative of the constraint matrix.

        """
        return _GeomInt.GeomInt_ResConstraintOfMyGradientOfTheComputeLineBezierOfWLApprox_ConstraintDerivative(self, *args)

    def ConstraintMatrix(self, *args):
        r"""
        Return
        -------
        math_Matrix

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

        """
        return _GeomInt.GeomInt_ResConstraintOfMyGradientOfTheComputeLineBezierOfWLApprox_ConstraintMatrix(self, *args)

    def Duale(self, *args):
        r"""
        Return
        -------
        math_Vector

        Description
        -----------
        Returns the duale variables of the system.

        """
        return _GeomInt.GeomInt_ResConstraintOfMyGradientOfTheComputeLineBezierOfWLApprox_Duale(self, *args)

    def InverseMatrix(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the inverse of cont*transposed(cont), where cont is the constraint matrix for the algorithm.

        """
        return _GeomInt.GeomInt_ResConstraintOfMyGradientOfTheComputeLineBezierOfWLApprox_InverseMatrix(self, *args)

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

        Description
        -----------
        Returns true if all has been correctly done.

        """
        return _GeomInt.GeomInt_ResConstraintOfMyGradientOfTheComputeLineBezierOfWLApprox_IsDone(self, *args)

    __repr__ = _dumps_object

    @methodnotwrapped
    def Error(self):
    	pass

    __swig_destroy__ = _GeomInt.delete_GeomInt_ResConstraintOfMyGradientOfTheComputeLineBezierOfWLApprox

# Register GeomInt_ResConstraintOfMyGradientOfTheComputeLineBezierOfWLApprox in _GeomInt:
_GeomInt.GeomInt_ResConstraintOfMyGradientOfTheComputeLineBezierOfWLApprox_swigregister(GeomInt_ResConstraintOfMyGradientOfTheComputeLineBezierOfWLApprox)
class GeomInt_ResConstraintOfMyGradientbisOfTheComputeLineOfWLApprox(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
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        SCurv: AppParCurves_MultiCurve
        FirstPoint: int
        LastPoint: int
        Constraints: AppParCurves_HArray1OfConstraintCouple
        Bern: math_Matrix
        DerivativeBern: math_Matrix
        Tolerance: float (optional, default to 1.0e-10)

        Return
        -------
        None

        Description
        -----------
        Given a multiline ssp with constraints points, this algorithm finds the best curve solution to approximate it. the poles from scurv issued for example from the least squares are used as a guess solution for the uzawa algorithm. the tolerance used in the uzawa algorithms is tolerance. a is the bernstein matrix associated to the multiline and da is the derivative bernstein matrix.(they can come from an approximation with parleastsquare.) the multicurve is modified. new multipoles are given.

        """
        _GeomInt.GeomInt_ResConstraintOfMyGradientbisOfTheComputeLineOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_ResConstraintOfMyGradientbisOfTheComputeLineOfWLApprox(*args))

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

        Parameters
        ----------
        SSP: GeomInt_TheMultiLineOfWLApprox
        Parameters: math_Vector
        Deg: int
        DA: math_Matrix

        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the derivative of the constraint matrix.

        """
        return _GeomInt.GeomInt_ResConstraintOfMyGradientbisOfTheComputeLineOfWLApprox_ConstraintDerivative(self, *args)

    def ConstraintMatrix(self, *args):
        r"""
        Return
        -------
        math_Matrix

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

        """
        return _GeomInt.GeomInt_ResConstraintOfMyGradientbisOfTheComputeLineOfWLApprox_ConstraintMatrix(self, *args)

    def Duale(self, *args):
        r"""
        Return
        -------
        math_Vector

        Description
        -----------
        Returns the duale variables of the system.

        """
        return _GeomInt.GeomInt_ResConstraintOfMyGradientbisOfTheComputeLineOfWLApprox_Duale(self, *args)

    def InverseMatrix(self, *args):
        r"""
        Return
        -------
        math_Matrix

        Description
        -----------
        Returns the inverse of cont*transposed(cont), where cont is the constraint matrix for the algorithm.

        """
        return _GeomInt.GeomInt_ResConstraintOfMyGradientbisOfTheComputeLineOfWLApprox_InverseMatrix(self, *args)

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

        Description
        -----------
        Returns true if all has been correctly done.

        """
        return _GeomInt.GeomInt_ResConstraintOfMyGradientbisOfTheComputeLineOfWLApprox_IsDone(self, *args)

    __repr__ = _dumps_object

    @methodnotwrapped
    def Error(self):
    	pass

    __swig_destroy__ = _GeomInt.delete_GeomInt_ResConstraintOfMyGradientbisOfTheComputeLineOfWLApprox

# Register GeomInt_ResConstraintOfMyGradientbisOfTheComputeLineOfWLApprox in _GeomInt:
_GeomInt.GeomInt_ResConstraintOfMyGradientbisOfTheComputeLineOfWLApprox_swigregister(GeomInt_ResConstraintOfMyGradientbisOfTheComputeLineOfWLApprox)
class GeomInt_TheComputeLineBezierOfWLApprox(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
        ----------
        Line: GeomInt_TheMultiLineOfWLApprox
        degreemin: int (optional, default to 4)
        degreemax: int (optional, default to 8)
        Tolerance3d: float (optional, default to 1.0e-3)
        Tolerance2d: float (optional, default to 1.0e-6)
        NbIterations: int (optional, default to 5)
        cutting: bool (optional, default to Standard_True)
        parametrization: Approx_ParametrizationType (optional, default to Approx_ChordLength)
        Squares: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        The multiline <line> will be approximated until tolerances will be reached. the approximation will be done from degreemin to degreemax with a cutting if the corresponding boolean is true. if <squares> is true, the computation will be done with no iteration at all.

        Parameters
        ----------
        Line: GeomInt_TheMultiLineOfWLApprox
        Parameters: math_Vector
        degreemin: int (optional, default to 4)
        degreemax: int (optional, default to 8)
        Tolerance3d: float (optional, default to 1.0e-03)
        Tolerance2d: float (optional, default to 1.0e-06)
        NbIterations: int (optional, default to 5)
        cutting: bool (optional, default to Standard_True)
        Squares: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        The multiline <line> will be approximated until tolerances will be reached. the approximation will be done from degreemin to degreemax with a cutting if the corresponding boolean is true. if <squares> is true, the computation will be done with no iteration at all.

        Parameters
        ----------
        Parameters: math_Vector
        degreemin: int (optional, default to 4)
        degreemax: int (optional, default to 8)
        Tolerance3d: float (optional, default to 1.0e-03)
        Tolerance2d: float (optional, default to 1.0e-06)
        NbIterations: int (optional, default to 5)
        cutting: bool (optional, default to Standard_True)
        Squares: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Initializes the fields of the algorithm.

        Parameters
        ----------
        degreemin: int (optional, default to 4)
        degreemax: int (optional, default to 8)
        Tolerance3d: float (optional, default to 1.0e-03)
        Tolerance2d: float (optional, default to 1.0e-06)
        NbIterations: int (optional, default to 5)
        cutting: bool (optional, default to Standard_True)
        parametrization: Approx_ParametrizationType (optional, default to Approx_ChordLength)
        Squares: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Initializes the fields of the algorithm.

        """
        _GeomInt.GeomInt_TheComputeLineBezierOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_TheComputeLineBezierOfWLApprox(*args))

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

        Parameters
        ----------
        Index: int (optional, default to 1)

        Return
        -------
        AppParCurves_MultiCurve

        Description
        -----------
        Returns the result of the approximation.

        """
        return _GeomInt.GeomInt_TheComputeLineBezierOfWLApprox_ChangeValue(self, *args)

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

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

        Return
        -------
        tol3d: float
        tol2d: float

        Description
        -----------
        Returns the tolerances 2d and 3d of the <index> multicurve.

        """
        return _GeomInt.GeomInt_TheComputeLineBezierOfWLApprox_Error(self, *args)

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

        Parameters
        ----------
        degreemin: int (optional, default to 4)
        degreemax: int (optional, default to 8)
        Tolerance3d: float (optional, default to 1.0e-03)
        Tolerance2d: float (optional, default to 1.0e-06)
        NbIterations: int (optional, default to 5)
        cutting: bool (optional, default to Standard_True)
        parametrization: Approx_ParametrizationType (optional, default to Approx_ChordLength)
        Squares: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Initializes the fields of the algorithm.

        """
        return _GeomInt.GeomInt_TheComputeLineBezierOfWLApprox_Init(self, *args)

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

        Description
        -----------
        Returns false if at a moment of the approximation, the status noapproximation has been sent by the user when more points were needed.

        """
        return _GeomInt.GeomInt_TheComputeLineBezierOfWLApprox_IsAllApproximated(self, *args)

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

        Description
        -----------
        Returns false if the status nopointsadded has been sent.

        """
        return _GeomInt.GeomInt_TheComputeLineBezierOfWLApprox_IsToleranceReached(self, *args)

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

        Description
        -----------
        Returns the number of multicurve doing the approximation of the multiline.

        """
        return _GeomInt.GeomInt_TheComputeLineBezierOfWLApprox_NbMultiCurves(self, *args)

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

        Parameters
        ----------
        Index: int (optional, default to 1)

        Return
        -------
        TColStd_Array1OfReal

        Description
        -----------
        Returns the new parameters of the approximation corresponding to the points of the multicurve <index>.

        """
        return _GeomInt.GeomInt_TheComputeLineBezierOfWLApprox_Parameters(self, *args)

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

        Description
        -----------
        Returns the type of parametrization.

        """
        return _GeomInt.GeomInt_TheComputeLineBezierOfWLApprox_Parametrization(self, *args)

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

        Parameters
        ----------
        Line: GeomInt_TheMultiLineOfWLApprox

        Return
        -------
        None

        Description
        -----------
        Runs the algorithm after having initialized the fields.

        """
        return _GeomInt.GeomInt_TheComputeLineBezierOfWLApprox_Perform(self, *args)

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

        Parameters
        ----------
        firstC: AppParCurves_Constraint
        lastC: AppParCurves_Constraint

        Return
        -------
        None

        Description
        -----------
        Changes the first and the last constraint points.

        """
        return _GeomInt.GeomInt_TheComputeLineBezierOfWLApprox_SetConstraints(self, *args)

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

        Parameters
        ----------
        degreemin: int
        degreemax: int

        Return
        -------
        None

        Description
        -----------
        Changes the degrees of the approximation.

        """
        return _GeomInt.GeomInt_TheComputeLineBezierOfWLApprox_SetDegrees(self, *args)

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

        Parameters
        ----------
        Tolerance3d: float
        Tolerance2d: float

        Return
        -------
        None

        Description
        -----------
        Changes the tolerances of the approximation.

        """
        return _GeomInt.GeomInt_TheComputeLineBezierOfWLApprox_SetTolerances(self, *args)

    def SplineValue(self, *args):
        r"""
        Return
        -------
        AppParCurves_MultiBSpCurve

        Description
        -----------
        Returns the result of the approximation.

        """
        return _GeomInt.GeomInt_TheComputeLineBezierOfWLApprox_SplineValue(self, *args)

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

        Parameters
        ----------
        Index: int (optional, default to 1)

        Return
        -------
        AppParCurves_MultiCurve

        Description
        -----------
        Returns the result of the approximation.

        """
        return _GeomInt.GeomInt_TheComputeLineBezierOfWLApprox_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_TheComputeLineBezierOfWLApprox

# Register GeomInt_TheComputeLineBezierOfWLApprox in _GeomInt:
_GeomInt.GeomInt_TheComputeLineBezierOfWLApprox_swigregister(GeomInt_TheComputeLineBezierOfWLApprox)
class GeomInt_TheComputeLineOfWLApprox(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
        ----------
        Line: GeomInt_TheMultiLineOfWLApprox
        degreemin: int (optional, default to 4)
        degreemax: int (optional, default to 8)
        Tolerance3d: float (optional, default to 1.0e-3)
        Tolerance2d: float (optional, default to 1.0e-6)
        NbIterations: int (optional, default to 5)
        cutting: bool (optional, default to Standard_True)
        parametrization: Approx_ParametrizationType (optional, default to Approx_ChordLength)
        Squares: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        The multiline <line> will be approximated until tolerances will be reached. the approximation will be done from degreemin to degreemax with a cutting if the corresponding boolean is true. if <squares> is true, the computation will be done with no iteration at all. //! the multiplicities of the internal knots is set by default.

        Parameters
        ----------
        Line: GeomInt_TheMultiLineOfWLApprox
        Parameters: math_Vector
        degreemin: int (optional, default to 4)
        degreemax: int (optional, default to 8)
        Tolerance3d: float (optional, default to 1.0e-03)
        Tolerance2d: float (optional, default to 1.0e-06)
        NbIterations: int (optional, default to 5)
        cutting: bool (optional, default to Standard_True)
        Squares: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        The multiline <line> will be approximated until tolerances will be reached. the approximation will be done from degreemin to degreemax with a cutting if the corresponding boolean is true. if <squares> is true, the computation will be done with no iteration at all.

        Parameters
        ----------
        Parameters: math_Vector
        degreemin: int (optional, default to 4)
        degreemax: int (optional, default to 8)
        Tolerance3d: float (optional, default to 1.0e-03)
        Tolerance2d: float (optional, default to 1.0e-06)
        NbIterations: int (optional, default to 5)
        cutting: bool (optional, default to Standard_True)
        Squares: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Initializes the fields of the algorithm.

        Parameters
        ----------
        degreemin: int (optional, default to 4)
        degreemax: int (optional, default to 8)
        Tolerance3d: float (optional, default to 1.0e-03)
        Tolerance2d: float (optional, default to 1.0e-06)
        NbIterations: int (optional, default to 5)
        cutting: bool (optional, default to Standard_True)
        parametrization: Approx_ParametrizationType (optional, default to Approx_ChordLength)
        Squares: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Initializes the fields of the algorithm.

        """
        _GeomInt.GeomInt_TheComputeLineOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_TheComputeLineOfWLApprox(*args))

    def ChangeValue(self, *args):
        r"""
        Return
        -------
        AppParCurves_MultiBSpCurve

        Description
        -----------
        Returns the result of the approximation.

        """
        return _GeomInt.GeomInt_TheComputeLineOfWLApprox_ChangeValue(self, *args)

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

        Parameters
        ----------

        Return
        -------
        tol3d: float
        tol2d: float

        Description
        -----------
        Returns the tolerances 2d and 3d of the multibspcurve.

        """
        return _GeomInt.GeomInt_TheComputeLineOfWLApprox_Error(self, *args)

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

        Parameters
        ----------
        degreemin: int (optional, default to 4)
        degreemax: int (optional, default to 8)
        Tolerance3d: float (optional, default to 1.0e-03)
        Tolerance2d: float (optional, default to 1.0e-06)
        NbIterations: int (optional, default to 5)
        cutting: bool (optional, default to Standard_True)
        parametrization: Approx_ParametrizationType (optional, default to Approx_ChordLength)
        Squares: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Initializes the fields of the algorithm.

        """
        return _GeomInt.GeomInt_TheComputeLineOfWLApprox_Init(self, *args)

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

        Parameters
        ----------
        Line: GeomInt_TheMultiLineOfWLApprox

        Return
        -------
        None

        Description
        -----------
        Constructs an interpolation of the multiline <line> the result will be a c2 curve of degree 3.

        """
        return _GeomInt.GeomInt_TheComputeLineOfWLApprox_Interpol(self, *args)

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

        Description
        -----------
        Returns false if at a moment of the approximation, the status noapproximation has been sent by the user when more points were needed.

        """
        return _GeomInt.GeomInt_TheComputeLineOfWLApprox_IsAllApproximated(self, *args)

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

        Description
        -----------
        Returns false if the status nopointsadded has been sent.

        """
        return _GeomInt.GeomInt_TheComputeLineOfWLApprox_IsToleranceReached(self, *args)

    def Parameters(self, *args):
        r"""
        Return
        -------
        TColStd_Array1OfReal

        Description
        -----------
        Returns the new parameters of the approximation corresponding to the points of the multibspcurve.

        """
        return _GeomInt.GeomInt_TheComputeLineOfWLApprox_Parameters(self, *args)

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

        Parameters
        ----------
        Line: GeomInt_TheMultiLineOfWLApprox

        Return
        -------
        None

        Description
        -----------
        Runs the algorithm after having initialized the fields.

        """
        return _GeomInt.GeomInt_TheComputeLineOfWLApprox_Perform(self, *args)

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

        Parameters
        ----------
        firstC: AppParCurves_Constraint
        lastC: AppParCurves_Constraint

        Return
        -------
        None

        Description
        -----------
        Changes the first and the last constraint points.

        """
        return _GeomInt.GeomInt_TheComputeLineOfWLApprox_SetConstraints(self, *args)

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

        Parameters
        ----------
        C: int

        Return
        -------
        None

        Description
        -----------
        Sets the continuity of the spline. if c = 2, the spline will be c2.

        """
        return _GeomInt.GeomInt_TheComputeLineOfWLApprox_SetContinuity(self, *args)

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

        Parameters
        ----------
        degreemin: int
        degreemax: int

        Return
        -------
        None

        Description
        -----------
        Changes the degrees of the approximation.

        """
        return _GeomInt.GeomInt_TheComputeLineOfWLApprox_SetDegrees(self, *args)

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

        Parameters
        ----------
        Knots: TColStd_Array1OfReal

        Return
        -------
        None

        Description
        -----------
        The approximation will be done with the set of knots <knots>. the multiplicities will be set with the degree and the desired continuity.

        """
        return _GeomInt.GeomInt_TheComputeLineOfWLApprox_SetKnots(self, *args)

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

        Parameters
        ----------
        Knots: TColStd_Array1OfReal
        Mults: TColStd_Array1OfInteger

        Return
        -------
        None

        Description
        -----------
        The approximation will be done with the set of knots <knots> and the multiplicities <mults>.

        """
        return _GeomInt.GeomInt_TheComputeLineOfWLApprox_SetKnotsAndMultiplicities(self, *args)

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

        Parameters
        ----------
        ThePar: math_Vector

        Return
        -------
        None

        Description
        -----------
        The approximation will begin with the set of parameters <thepar>.

        """
        return _GeomInt.GeomInt_TheComputeLineOfWLApprox_SetParameters(self, *args)

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

        Parameters
        ----------
        thePeriodic: bool

        Return
        -------
        None

        Description
        -----------
        Sets periodic flag. if theperiodic = standard_true, algorithm tries to build periodic multicurve using corresponding c1 boundary condition for first and last multipoints. multiline must be closed.

        """
        return _GeomInt.GeomInt_TheComputeLineOfWLApprox_SetPeriodic(self, *args)

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

        Parameters
        ----------
        Tolerance3d: float
        Tolerance2d: float

        Return
        -------
        None

        Description
        -----------
        Changes the tolerances of the approximation.

        """
        return _GeomInt.GeomInt_TheComputeLineOfWLApprox_SetTolerances(self, *args)

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

        Description
        -----------
        Returns the result of the approximation.

        """
        return _GeomInt.GeomInt_TheComputeLineOfWLApprox_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_TheComputeLineOfWLApprox

# Register GeomInt_TheComputeLineOfWLApprox in _GeomInt:
_GeomInt.GeomInt_TheComputeLineOfWLApprox_swigregister(GeomInt_TheComputeLineOfWLApprox)
class GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox(OCC.Core.math.math_FunctionSetWithDerivatives):
    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
        ----------
        S1: Adaptor3d_Surface
        S2: Adaptor3d_Surface

        Return
        -------
        None

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

        """
        _GeomInt.GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox(*args))

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

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

        """
        return _GeomInt.GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox_AuxillarSurface1(self, *args)

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

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

        """
        return _GeomInt.GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox_AuxillarSurface2(self, *args)

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

        Parameters
        ----------
        ChoixIso: IntImp_ConstIsoparametric
        Param: TColStd_Array1OfReal
        UVap: math_Vector
        BornInf: math_Vector
        BornSup: math_Vector
        Tolerance: math_Vector

        Return
        -------
        None

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

        """
        return _GeomInt.GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox_ComputeParameters(self, *args)

    def Direction(self, *args):
        r"""
        Return
        -------
        gp_Dir

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

        """
        return _GeomInt.GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox_Direction(self, *args)

    def DirectionOnS1(self, *args):
        r"""
        Return
        -------
        gp_Dir2d

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

        """
        return _GeomInt.GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox_DirectionOnS1(self, *args)

    def DirectionOnS2(self, *args):
        r"""
        Return
        -------
        gp_Dir2d

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

        """
        return _GeomInt.GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox_DirectionOnS2(self, *args)

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

        Parameters
        ----------
        UVap: math_Vector
        Param: TColStd_Array1OfReal
        BestChoix: IntImp_ConstIsoparametric

        Return
        -------
        bool

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

        """
        return _GeomInt.GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox_IsTangent(self, *args)

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

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

        """
        return _GeomInt.GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox_Point(self, *args)

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

        Description
        -----------
        Returns somme des fi*fi.

        """
        return _GeomInt.GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox_Root(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox

# Register GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox in _GeomInt:
_GeomInt.GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox_swigregister(GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox)
class GeomInt_TheImpPrmSvSurfacesOfWLApprox(OCC.Core.ApproxInt.ApproxInt_SvSurfaces):
    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: IntSurf_Quadric

        Return
        -------
        None

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

        Parameters
        ----------
        Surf1: IntSurf_Quadric
        Surf2: Adaptor3d_Surface

        Return
        -------
        None

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

        """
        _GeomInt.GeomInt_TheImpPrmSvSurfacesOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_TheImpPrmSvSurfacesOfWLApprox(*args))

    __repr__ = _dumps_object

    @methodnotwrapped
    def FillInitialVectorOfSolution(self):
    	pass

    __swig_destroy__ = _GeomInt.delete_GeomInt_TheImpPrmSvSurfacesOfWLApprox

# Register GeomInt_TheImpPrmSvSurfacesOfWLApprox in _GeomInt:
_GeomInt.GeomInt_TheImpPrmSvSurfacesOfWLApprox_swigregister(GeomInt_TheImpPrmSvSurfacesOfWLApprox)
class GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox(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
        ----------
        Param: TColStd_Array1OfReal
        S1: Adaptor3d_Surface
        S2: Adaptor3d_Surface
        TolTangency: float

        Return
        -------
        None

        Description
        -----------
        Compute the solution point with the close point.

        Parameters
        ----------
        S1: Adaptor3d_Surface
        S2: Adaptor3d_Surface
        TolTangency: float

        Return
        -------
        None

        Description
        -----------
        Initialize the parameters to compute the solution point it 's possible to write to optimize: intimp_int2s inter(s1,s2,func,toltangency); math_functionsetroot rsnld(inter.function()); while ...{ param(1)=... param(2)=... param(3)=... inter.perform(param,rsnld); }.

        """
        _GeomInt.GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox(*args))

    def ChangePoint(self, *args):
        r"""
        Return
        -------
        IntSurf_PntOn2S

        Description
        -----------
        Return the intersection point which is enable for changing.

        """
        return _GeomInt.GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox_ChangePoint(self, *args)

    def Direction(self, *args):
        r"""
        Return
        -------
        gp_Dir

        Description
        -----------
        Returns the tangent at the intersection line.

        """
        return _GeomInt.GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox_Direction(self, *args)

    def DirectionOnS1(self, *args):
        r"""
        Return
        -------
        gp_Dir2d

        Description
        -----------
        Returns the tangent at the intersection line in the parametric space of the first surface.

        """
        return _GeomInt.GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox_DirectionOnS1(self, *args)

    def DirectionOnS2(self, *args):
        r"""
        Return
        -------
        gp_Dir2d

        Description
        -----------
        Returns the tangent at the intersection line in the parametric space of the second surface.

        """
        return _GeomInt.GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox_DirectionOnS2(self, *args)

    def Function(self, *args):
        r"""
        Return
        -------
        GeomInt_TheFunctionOfTheInt2SOfThePrmPrmSvSurfacesOfWLApprox

        Description
        -----------
        Return the math function which is used to compute the intersection.

        """
        return _GeomInt.GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox_Function(self, *args)

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

        Description
        -----------
        Returns true if the creation completed without failure.

        """
        return _GeomInt.GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox_IsDone(self, *args)

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

        Description
        -----------
        Returns true when there is no solution to the problem.

        """
        return _GeomInt.GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox_IsEmpty(self, *args)

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

        Description
        -----------
        Returns true if the surfaces are tangent at the intersection point.

        """
        return _GeomInt.GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox_IsTangent(self, *args)

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

        Parameters
        ----------
        Param: TColStd_Array1OfReal
        Rsnld: math_FunctionSetRoot

        Return
        -------
        IntImp_ConstIsoparametric

        Description
        -----------
        Returns the best constant isoparametric to find the next intersection's point +stores the solution point (the solution point is found with the close point to intersect the isoparametric with the other patch; the choice of the isoparametic is calculated).

        Parameters
        ----------
        Param: TColStd_Array1OfReal
        Rsnld: math_FunctionSetRoot
        ChoixIso: IntImp_ConstIsoparametric

        Return
        -------
        IntImp_ConstIsoparametric

        Description
        -----------
        Returns the best constant isoparametric to find the next intersection's point +stores the solution point (the solution point is found with the close point to intersect the isoparametric with the other patch; the choice of the isoparametic is given by choixiso).

        """
        return _GeomInt.GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox_Perform(self, *args)

    def Point(self, *args):
        r"""
        Return
        -------
        IntSurf_PntOn2S

        Description
        -----------
        Returns the intersection point.

        """
        return _GeomInt.GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox_Point(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox

# Register GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox in _GeomInt:
_GeomInt.GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox_swigregister(GeomInt_TheInt2SOfThePrmPrmSvSurfacesOfWLApprox)
class GeomInt_TheMultiLineOfWLApprox(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
        ----------
        line: IntPatch_WLine
        PtrSvSurfaces: Standard_Address
        NbP3d: int
        NbP2d: int
        ApproxU1V1: bool
        ApproxU2V2: bool
        xo: float
        yo: float
        zo: float
        u1o: float
        v1o: float
        u2o: float
        v2o: float
        P2DOnFirst: bool
        IndMin: int (optional, default to 0)
        IndMax: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        The class svsurfaces is used when the approximation algorithm needs some extra points on the line <line>. a new line is then created which shares the same surfaces and functions. svsurfaces is a deferred class which allows several implementations of this algorithm with different surfaces (bi-parametric ones, or implicit and biparametric ones).

        Parameters
        ----------
        line: IntPatch_WLine
        NbP3d: int
        NbP2d: int
        ApproxU1V1: bool
        ApproxU2V2: bool
        xo: float
        yo: float
        zo: float
        u1o: float
        v1o: float
        u2o: float
        v2o: float
        P2DOnFirst: bool
        IndMin: int (optional, default to 0)
        IndMax: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        No extra points will be added on the current line.

        """
        _GeomInt.GeomInt_TheMultiLineOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_TheMultiLineOfWLApprox(*args))

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

        Description
        -----------
        Dump of the current multi-line.

        """
        return _GeomInt.GeomInt_TheMultiLineOfWLApprox_Dump(self, *args)

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

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

        """
        return _GeomInt.GeomInt_TheMultiLineOfWLApprox_FirstPoint(self, *args)

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

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

        """
        return _GeomInt.GeomInt_TheMultiLineOfWLApprox_LastPoint(self, *args)

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

        Parameters
        ----------
        Low: int
        High: int
        NbPointsToInsert: int

        Return
        -------
        GeomInt_TheMultiLineOfWLApprox

        Description
        -----------
        Tries to make a sub-line between <low> and <high> points of this line by adding <nbpointstoinsert> new points.

        """
        return _GeomInt.GeomInt_TheMultiLineOfWLApprox_MakeMLBetween(self, *args)

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

        Parameters
        ----------
        Low: int
        High: int
        indbad: int
        OtherLine: GeomInt_TheMultiLineOfWLApprox

        Return
        -------
        bool

        Description
        -----------
        Tries to make a sub-line between <low> and <high> points of this line by adding one more point between (indbad-1)-th and indbad-th points.

        """
        return _GeomInt.GeomInt_TheMultiLineOfWLApprox_MakeMLOneMorePoint(self, *args)

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

        Description
        -----------
        Returns the number of 2d points of a theline.

        """
        return _GeomInt.GeomInt_TheMultiLineOfWLApprox_NbP2d(self, *args)

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

        Description
        -----------
        Returns the number of 3d points of a theline.

        """
        return _GeomInt.GeomInt_TheMultiLineOfWLApprox_NbP3d(self, *args)

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

        Parameters
        ----------
        MPointIndex: int
        tabV: TColgp_Array1OfVec

        Return
        -------
        bool

        Description
        -----------
        Returns the 3d tangency points of the multipoint <mpointindex> only when 3d points exist.

        Parameters
        ----------
        MPointIndex: int
        tabV2d: TColgp_Array1OfVec2d

        Return
        -------
        bool

        Description
        -----------
        Returns the 2d tangency points of the multipoint <mpointindex> only when 2d points exist.

        Parameters
        ----------
        MPointIndex: int
        tabV: TColgp_Array1OfVec
        tabV2d: TColgp_Array1OfVec2d

        Return
        -------
        bool

        Description
        -----------
        Returns the 3d and 2d points of the multipoint <mpointindex>.

        """
        return _GeomInt.GeomInt_TheMultiLineOfWLApprox_Tangency(self, *args)

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

        Parameters
        ----------
        MPointIndex: int
        tabPt: TColgp_Array1OfPnt

        Return
        -------
        None

        Description
        -----------
        Returns the 3d points of the multipoint <mpointindex> when only 3d points exist.

        Parameters
        ----------
        MPointIndex: int
        tabPt2d: TColgp_Array1OfPnt2d

        Return
        -------
        None

        Description
        -----------
        Returns the 2d points of the multipoint <mpointindex> when only 2d points exist.

        Parameters
        ----------
        MPointIndex: int
        tabPt: TColgp_Array1OfPnt
        tabPt2d: TColgp_Array1OfPnt2d

        Return
        -------
        None

        Description
        -----------
        Returns the 3d and 2d points of the multipoint <mpointindex>.

        """
        return _GeomInt.GeomInt_TheMultiLineOfWLApprox_Value(self, *args)

    def WhatStatus(self, *args):
        r"""
        Return
        -------
        Approx_Status

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

        """
        return _GeomInt.GeomInt_TheMultiLineOfWLApprox_WhatStatus(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_TheMultiLineOfWLApprox

# Register GeomInt_TheMultiLineOfWLApprox in _GeomInt:
_GeomInt.GeomInt_TheMultiLineOfWLApprox_swigregister(GeomInt_TheMultiLineOfWLApprox)
class GeomInt_TheMultiLineToolOfWLApprox(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        ML: GeomInt_TheMultiLineOfWLApprox
        MPointIndex: int
        tabV: TColgp_Array1OfVec

        Return
        -------
        bool

        Description
        -----------
        Returns the 3d curvature of the multipoint <mpointindex> when only 3d points exist.

        Parameters
        ----------
        ML: GeomInt_TheMultiLineOfWLApprox
        MPointIndex: int
        tabV2d: TColgp_Array1OfVec2d

        Return
        -------
        bool

        Description
        -----------
        Returns the 2d curvature points of the multipoint <mpointindex> only when 2d points exist.

        Parameters
        ----------
        ML: GeomInt_TheMultiLineOfWLApprox
        MPointIndex: int
        tabV: TColgp_Array1OfVec
        tabV2d: TColgp_Array1OfVec2d

        Return
        -------
        bool

        Description
        -----------
        Returns the 3d and 2d curvature of the multipoint <mpointindex>.

        """
        return _GeomInt.GeomInt_TheMultiLineToolOfWLApprox_Curvature(*args)

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

        Parameters
        ----------
        ML: GeomInt_TheMultiLineOfWLApprox

        Return
        -------
        None

        Description
        -----------
        Dump of the current multi-line.

        """
        return _GeomInt.GeomInt_TheMultiLineToolOfWLApprox_Dump(*args)

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

        Parameters
        ----------
        ML: GeomInt_TheMultiLineOfWLApprox

        Return
        -------
        int

        Description
        -----------
        Returns the number of multipoints of the themultiline.

        """
        return _GeomInt.GeomInt_TheMultiLineToolOfWLApprox_FirstPoint(*args)

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

        Parameters
        ----------
        ML: GeomInt_TheMultiLineOfWLApprox

        Return
        -------
        int

        Description
        -----------
        Returns the number of multipoints of the themultiline.

        """
        return _GeomInt.GeomInt_TheMultiLineToolOfWLApprox_LastPoint(*args)

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

        Parameters
        ----------
        ML: GeomInt_TheMultiLineOfWLApprox
        I1: int
        I2: int
        NbPMin: int

        Return
        -------
        GeomInt_TheMultiLineOfWLApprox

        Description
        -----------
        Is called if whatstatus returned 'pointsadded'.

        """
        return _GeomInt.GeomInt_TheMultiLineToolOfWLApprox_MakeMLBetween(*args)

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

        Parameters
        ----------
        ML: GeomInt_TheMultiLineOfWLApprox
        I1: int
        I2: int
        indbad: int
        OtherLine: GeomInt_TheMultiLineOfWLApprox

        Return
        -------
        bool

        Description
        -----------
        Is called when the bezier curve contains a loop.

        """
        return _GeomInt.GeomInt_TheMultiLineToolOfWLApprox_MakeMLOneMorePoint(*args)

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

        Parameters
        ----------
        ML: GeomInt_TheMultiLineOfWLApprox

        Return
        -------
        int

        Description
        -----------
        Returns the number of 2d points of a themultiline.

        """
        return _GeomInt.GeomInt_TheMultiLineToolOfWLApprox_NbP2d(*args)

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

        Parameters
        ----------
        ML: GeomInt_TheMultiLineOfWLApprox

        Return
        -------
        int

        Description
        -----------
        Returns the number of 3d points of a themultiline.

        """
        return _GeomInt.GeomInt_TheMultiLineToolOfWLApprox_NbP3d(*args)

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

        Parameters
        ----------
        ML: GeomInt_TheMultiLineOfWLApprox
        MPointIndex: int
        tabV: TColgp_Array1OfVec

        Return
        -------
        bool

        Description
        -----------
        Returns the 3d points of the multipoint <mpointindex> when only 3d points exist.

        Parameters
        ----------
        ML: GeomInt_TheMultiLineOfWLApprox
        MPointIndex: int
        tabV2d: TColgp_Array1OfVec2d

        Return
        -------
        bool

        Description
        -----------
        Returns the 2d tangency points of the multipoint <mpointindex> only when 2d points exist.

        Parameters
        ----------
        ML: GeomInt_TheMultiLineOfWLApprox
        MPointIndex: int
        tabV: TColgp_Array1OfVec
        tabV2d: TColgp_Array1OfVec2d

        Return
        -------
        bool

        Description
        -----------
        Returns the 3d and 2d points of the multipoint <mpointindex>.

        """
        return _GeomInt.GeomInt_TheMultiLineToolOfWLApprox_Tangency(*args)

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

        Parameters
        ----------
        ML: GeomInt_TheMultiLineOfWLApprox
        MPointIndex: int
        tabPt: TColgp_Array1OfPnt

        Return
        -------
        None

        Description
        -----------
        Returns the 3d points of the multipoint <mpointindex> when only 3d points exist.

        Parameters
        ----------
        ML: GeomInt_TheMultiLineOfWLApprox
        MPointIndex: int
        tabPt2d: TColgp_Array1OfPnt2d

        Return
        -------
        None

        Description
        -----------
        Returns the 2d points of the multipoint <mpointindex> when only 2d points exist.

        Parameters
        ----------
        ML: GeomInt_TheMultiLineOfWLApprox
        MPointIndex: int
        tabPt: TColgp_Array1OfPnt
        tabPt2d: TColgp_Array1OfPnt2d

        Return
        -------
        None

        Description
        -----------
        Returns the 3d and 2d points of the multipoint <mpointindex>.

        """
        return _GeomInt.GeomInt_TheMultiLineToolOfWLApprox_Value(*args)

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

        Parameters
        ----------
        ML: GeomInt_TheMultiLineOfWLApprox
        I1: int
        I2: int

        Return
        -------
        Approx_Status

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

        """
        return _GeomInt.GeomInt_TheMultiLineToolOfWLApprox_WhatStatus(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _GeomInt.GeomInt_TheMultiLineToolOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_TheMultiLineToolOfWLApprox())
    __swig_destroy__ = _GeomInt.delete_GeomInt_TheMultiLineToolOfWLApprox

# Register GeomInt_TheMultiLineToolOfWLApprox in _GeomInt:
_GeomInt.GeomInt_TheMultiLineToolOfWLApprox_swigregister(GeomInt_TheMultiLineToolOfWLApprox)
class GeomInt_ThePrmPrmSvSurfacesOfWLApprox(OCC.Core.ApproxInt.ApproxInt_SvSurfaces):
    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

        Return
        -------
        None

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

        """
        _GeomInt.GeomInt_ThePrmPrmSvSurfacesOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_ThePrmPrmSvSurfacesOfWLApprox(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_ThePrmPrmSvSurfacesOfWLApprox

# Register GeomInt_ThePrmPrmSvSurfacesOfWLApprox in _GeomInt:
_GeomInt.GeomInt_ThePrmPrmSvSurfacesOfWLApprox_swigregister(GeomInt_ThePrmPrmSvSurfacesOfWLApprox)
class GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox(OCC.Core.math.math_FunctionSetWithDerivatives):
    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
        ----------
        PS: Adaptor3d_Surface
        IS: IntSurf_Quadric

        Return
        -------
        None

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

        Parameters
        ----------
        IS: IntSurf_Quadric

        Return
        -------
        None

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

        """
        _GeomInt.GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox_swiginit(self, _GeomInt.new_GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox(*args))

    def Direction2d(self, *args):
        r"""
        Return
        -------
        gp_Dir2d

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

        """
        return _GeomInt.GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox_Direction2d(self, *args)

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

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

        """
        return _GeomInt.GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox_Direction3d(self, *args)

    def ISurface(self, *args):
        r"""
        Return
        -------
        IntSurf_Quadric

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

        """
        return _GeomInt.GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox_ISurface(self, *args)

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

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

        """
        return _GeomInt.GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox_IsTangent(self, *args)

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

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

        """
        return _GeomInt.GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox_PSurface(self, *args)

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

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

        """
        return _GeomInt.GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox_Point(self, *args)

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

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

        """
        return _GeomInt.GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox_Root(self, *args)

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

        Parameters
        ----------
        PS: Adaptor3d_Surface

        Return
        -------
        None

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

        Parameters
        ----------
        Tolerance: float

        Return
        -------
        None

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

        """
        return _GeomInt.GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox_Set(self, *args)

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

        Parameters
        ----------
        IS: IntSurf_Quadric

        Return
        -------
        None

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

        """
        return _GeomInt.GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox_SetImplicitSurface(self, *args)

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

        Description
        -----------
        Returns the value tol so that if abs(func.root())<tol the function is considered null.

        """
        return _GeomInt.GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox_Tolerance(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomInt.delete_GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox

# Register GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox in _GeomInt:
_GeomInt.GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox_swigregister(GeomInt_TheZerImpFuncOfTheImpPrmSvSurfacesOfWLApprox)

@classnotwrapped
class GeomInt_WLApprox:
	pass





@deprecated
def geomint_AdjustPeriodic(*args):
	return geomint.AdjustPeriodic(*args)

@deprecated
def GeomInt_IntSS_BuildPCurves(*args):
	return GeomInt_IntSS.BuildPCurves(*args)

@deprecated
def GeomInt_IntSS_BuildPCurves(*args):
	return GeomInt_IntSS.BuildPCurves(*args)

@deprecated
def GeomInt_IntSS_MakeBSpline(*args):
	return GeomInt_IntSS.MakeBSpline(*args)

@deprecated
def GeomInt_IntSS_MakeBSpline2d(*args):
	return GeomInt_IntSS.MakeBSpline2d(*args)

@deprecated
def GeomInt_IntSS_TreatRLine(*args):
	return GeomInt_IntSS.TreatRLine(*args)

@deprecated
def GeomInt_IntSS_TrimILineOnSurfBoundaries(*args):
	return GeomInt_IntSS.TrimILineOnSurfBoundaries(*args)

@deprecated
def GeomInt_LineTool_DecompositionOfWLine(*args):
	return GeomInt_LineTool.DecompositionOfWLine(*args)

@deprecated
def GeomInt_LineTool_FirstParameter(*args):
	return GeomInt_LineTool.FirstParameter(*args)

@deprecated
def GeomInt_LineTool_LastParameter(*args):
	return GeomInt_LineTool.LastParameter(*args)

@deprecated
def GeomInt_LineTool_NbVertex(*args):
	return GeomInt_LineTool.NbVertex(*args)

@deprecated
def GeomInt_LineTool_Vertex(*args):
	return GeomInt_LineTool.Vertex(*args)

@deprecated
def GeomInt_TheMultiLineToolOfWLApprox_Curvature(*args):
	return GeomInt_TheMultiLineToolOfWLApprox.Curvature(*args)

@deprecated
def GeomInt_TheMultiLineToolOfWLApprox_Curvature(*args):
	return GeomInt_TheMultiLineToolOfWLApprox.Curvature(*args)

@deprecated
def GeomInt_TheMultiLineToolOfWLApprox_Curvature(*args):
	return GeomInt_TheMultiLineToolOfWLApprox.Curvature(*args)

@deprecated
def GeomInt_TheMultiLineToolOfWLApprox_Dump(*args):
	return GeomInt_TheMultiLineToolOfWLApprox.Dump(*args)

@deprecated
def GeomInt_TheMultiLineToolOfWLApprox_FirstPoint(*args):
	return GeomInt_TheMultiLineToolOfWLApprox.FirstPoint(*args)

@deprecated
def GeomInt_TheMultiLineToolOfWLApprox_LastPoint(*args):
	return GeomInt_TheMultiLineToolOfWLApprox.LastPoint(*args)

@deprecated
def GeomInt_TheMultiLineToolOfWLApprox_MakeMLBetween(*args):
	return GeomInt_TheMultiLineToolOfWLApprox.MakeMLBetween(*args)

@deprecated
def GeomInt_TheMultiLineToolOfWLApprox_MakeMLOneMorePoint(*args):
	return GeomInt_TheMultiLineToolOfWLApprox.MakeMLOneMorePoint(*args)

@deprecated
def GeomInt_TheMultiLineToolOfWLApprox_NbP2d(*args):
	return GeomInt_TheMultiLineToolOfWLApprox.NbP2d(*args)

@deprecated
def GeomInt_TheMultiLineToolOfWLApprox_NbP3d(*args):
	return GeomInt_TheMultiLineToolOfWLApprox.NbP3d(*args)

@deprecated
def GeomInt_TheMultiLineToolOfWLApprox_Tangency(*args):
	return GeomInt_TheMultiLineToolOfWLApprox.Tangency(*args)

@deprecated
def GeomInt_TheMultiLineToolOfWLApprox_Tangency(*args):
	return GeomInt_TheMultiLineToolOfWLApprox.Tangency(*args)

@deprecated
def GeomInt_TheMultiLineToolOfWLApprox_Tangency(*args):
	return GeomInt_TheMultiLineToolOfWLApprox.Tangency(*args)

@deprecated
def GeomInt_TheMultiLineToolOfWLApprox_Value(*args):
	return GeomInt_TheMultiLineToolOfWLApprox.Value(*args)

@deprecated
def GeomInt_TheMultiLineToolOfWLApprox_Value(*args):
	return GeomInt_TheMultiLineToolOfWLApprox.Value(*args)

@deprecated
def GeomInt_TheMultiLineToolOfWLApprox_Value(*args):
	return GeomInt_TheMultiLineToolOfWLApprox.Value(*args)

@deprecated
def GeomInt_TheMultiLineToolOfWLApprox_WhatStatus(*args):
	return GeomInt_TheMultiLineToolOfWLApprox.WhatStatus(*args)



