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

"""
Contap module, see official documentation at
https://dev.opencascade.org/doc/occt-7.9.0/refman/html/package_contap.html
"""

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr
    erase_event = _Contap.ios_base_erase_event
    imbue_event = _Contap.ios_base_imbue_event
    copyfmt_event = _Contap.ios_base_copyfmt_event

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

endl_cb_ptr = _Contap.endl_cb_ptr
endl = _Contap.endl
ends_cb_ptr = _Contap.ends_cb_ptr
ends = _Contap.ends
flush_cb_ptr = _Contap.flush_cb_ptr
flush = _Contap.flush
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.IntSurf
import OCC.Core.Adaptor3d
import OCC.Core.Geom
import OCC.Core.GeomAbs
import OCC.Core.TColgp
import OCC.Core.TopAbs
import OCC.Core.Adaptor2d
import OCC.Core.Geom2d

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

Contap_Lin = _Contap.Contap_Lin
Contap_Circle = _Contap.Contap_Circle
Contap_Walking = _Contap.Contap_Walking
Contap_Restriction = _Contap.Contap_Restriction
Contap_ContourStd = _Contap.Contap_ContourStd
Contap_ContourPrs = _Contap.Contap_ContourPrs
Contap_DraftStd = _Contap.Contap_DraftStd
Contap_DraftPrs = _Contap.Contap_DraftPrs


class Contap_IType(IntEnum):
	Contap_Lin = 0
	Contap_Circle = 1
	Contap_Walking = 2
	Contap_Restriction = 3
Contap_Lin = Contap_IType.Contap_Lin
Contap_Circle = Contap_IType.Contap_Circle
Contap_Walking = Contap_IType.Contap_Walking
Contap_Restriction = Contap_IType.Contap_Restriction

class Contap_TFunction(IntEnum):
	Contap_ContourStd = 0
	Contap_ContourPrs = 1
	Contap_DraftStd = 2
	Contap_DraftPrs = 3
Contap_ContourStd = Contap_TFunction.Contap_ContourStd
Contap_ContourPrs = Contap_TFunction.Contap_ContourPrs
Contap_DraftStd = Contap_TFunction.Contap_DraftStd
Contap_DraftPrs = Contap_TFunction.Contap_DraftPrs


def Handle_Contap_TheIWLineOfTheIWalking_Create():
    return _Contap.Handle_Contap_TheIWLineOfTheIWalking_Create()

def Handle_Contap_TheIWLineOfTheIWalking_DownCast(t):
    return _Contap.Handle_Contap_TheIWLineOfTheIWalking_DownCast(t)

def Handle_Contap_TheIWLineOfTheIWalking_IsNull(t):
    return _Contap.Handle_Contap_TheIWLineOfTheIWalking_IsNull(t)

def Handle_Contap_TheHSequenceOfPoint_Create():
    return _Contap.Handle_Contap_TheHSequenceOfPoint_Create()

def Handle_Contap_TheHSequenceOfPoint_DownCast(t):
    return _Contap.Handle_Contap_TheHSequenceOfPoint_DownCast(t)

def Handle_Contap_TheHSequenceOfPoint_IsNull(t):
    return _Contap.Handle_Contap_TheHSequenceOfPoint_IsNull(t)
class Contap_SequenceOfIWLineOfTheIWalking(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 _Contap.Contap_SequenceOfIWLineOfTheIWalking_begin(self)

    def end(self):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_end(self)

    def cbegin(self):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_cbegin(self)

    def cend(self):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_cend(self)

    def __init__(self, *args):
        _Contap.Contap_SequenceOfIWLineOfTheIWalking_swiginit(self, _Contap.new_Contap_SequenceOfIWLineOfTheIWalking(*args))

    def Size(self):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_Size(self)

    def Length(self):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_Length(self)

    def Lower(self):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_Lower(self)

    def Upper(self):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_Upper(self)

    def IsEmpty(self):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_IsEmpty(self)

    def Reverse(self):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_Reverse(self)

    def Exchange(self, I, J):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_Assign(self, theOther)

    def Set(self, *args):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_Set(self, *args)

    def Remove(self, *args):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_Remove(self, *args)

    def Append(self, *args):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_Append(self, *args)

    def Prepend(self, *args):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_Split(self, theIndex, theSeq)

    def First(self):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_First(self)

    def ChangeFirst(self):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_ChangeFirst(self)

    def Last(self):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_Last(self)

    def ChangeLast(self):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_ChangeLast(self)

    def Value(self, theIndex):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _Contap.Contap_SequenceOfIWLineOfTheIWalking_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _Contap.delete_Contap_SequenceOfIWLineOfTheIWalking

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


# Register Contap_SequenceOfIWLineOfTheIWalking in _Contap:
_Contap.Contap_SequenceOfIWLineOfTheIWalking_swigregister(Contap_SequenceOfIWLineOfTheIWalking)
class Contap_SequenceOfPathPointOfTheSearch(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 _Contap.Contap_SequenceOfPathPointOfTheSearch_begin(self)

    def end(self):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_end(self)

    def cbegin(self):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_cbegin(self)

    def cend(self):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_cend(self)

    def __init__(self, *args):
        _Contap.Contap_SequenceOfPathPointOfTheSearch_swiginit(self, _Contap.new_Contap_SequenceOfPathPointOfTheSearch(*args))

    def Size(self):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_Size(self)

    def Length(self):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_Length(self)

    def Lower(self):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_Lower(self)

    def Upper(self):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_Upper(self)

    def IsEmpty(self):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_IsEmpty(self)

    def Reverse(self):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_Reverse(self)

    def Exchange(self, I, J):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_Assign(self, theOther)

    def Set(self, *args):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_Set(self, *args)

    def Remove(self, *args):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_Remove(self, *args)

    def Append(self, *args):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_Append(self, *args)

    def Prepend(self, *args):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_Split(self, theIndex, theSeq)

    def First(self):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_First(self)

    def ChangeFirst(self):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_ChangeFirst(self)

    def Last(self):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_Last(self)

    def ChangeLast(self):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_ChangeLast(self)

    def Value(self, theIndex):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _Contap.Contap_SequenceOfPathPointOfTheSearch_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _Contap.delete_Contap_SequenceOfPathPointOfTheSearch

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


# Register Contap_SequenceOfPathPointOfTheSearch in _Contap:
_Contap.Contap_SequenceOfPathPointOfTheSearch_swigregister(Contap_SequenceOfPathPointOfTheSearch)
class Contap_SequenceOfSegmentOfTheSearch(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 _Contap.Contap_SequenceOfSegmentOfTheSearch_begin(self)

    def end(self):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_end(self)

    def cbegin(self):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_cbegin(self)

    def cend(self):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_cend(self)

    def __init__(self, *args):
        _Contap.Contap_SequenceOfSegmentOfTheSearch_swiginit(self, _Contap.new_Contap_SequenceOfSegmentOfTheSearch(*args))

    def Size(self):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_Size(self)

    def Length(self):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_Length(self)

    def Lower(self):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_Lower(self)

    def Upper(self):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_Upper(self)

    def IsEmpty(self):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_IsEmpty(self)

    def Reverse(self):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_Reverse(self)

    def Exchange(self, I, J):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_Assign(self, theOther)

    def Set(self, *args):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_Set(self, *args)

    def Remove(self, *args):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_Remove(self, *args)

    def Append(self, *args):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_Append(self, *args)

    def Prepend(self, *args):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_Split(self, theIndex, theSeq)

    def First(self):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_First(self)

    def ChangeFirst(self):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_ChangeFirst(self)

    def Last(self):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_Last(self)

    def ChangeLast(self):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_ChangeLast(self)

    def Value(self, theIndex):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _Contap.Contap_SequenceOfSegmentOfTheSearch_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _Contap.delete_Contap_SequenceOfSegmentOfTheSearch

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


# Register Contap_SequenceOfSegmentOfTheSearch in _Contap:
_Contap.Contap_SequenceOfSegmentOfTheSearch_swigregister(Contap_SequenceOfSegmentOfTheSearch)
class Contap_TheSequenceOfLine(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 _Contap.Contap_TheSequenceOfLine_begin(self)

    def end(self):
        return _Contap.Contap_TheSequenceOfLine_end(self)

    def cbegin(self):
        return _Contap.Contap_TheSequenceOfLine_cbegin(self)

    def cend(self):
        return _Contap.Contap_TheSequenceOfLine_cend(self)

    def __init__(self, *args):
        _Contap.Contap_TheSequenceOfLine_swiginit(self, _Contap.new_Contap_TheSequenceOfLine(*args))

    def Size(self):
        return _Contap.Contap_TheSequenceOfLine_Size(self)

    def Length(self):
        return _Contap.Contap_TheSequenceOfLine_Length(self)

    def Lower(self):
        return _Contap.Contap_TheSequenceOfLine_Lower(self)

    def Upper(self):
        return _Contap.Contap_TheSequenceOfLine_Upper(self)

    def IsEmpty(self):
        return _Contap.Contap_TheSequenceOfLine_IsEmpty(self)

    def Reverse(self):
        return _Contap.Contap_TheSequenceOfLine_Reverse(self)

    def Exchange(self, I, J):
        return _Contap.Contap_TheSequenceOfLine_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _Contap.Contap_TheSequenceOfLine_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _Contap.Contap_TheSequenceOfLine_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _Contap.Contap_TheSequenceOfLine_Assign(self, theOther)

    def Set(self, *args):
        return _Contap.Contap_TheSequenceOfLine_Set(self, *args)

    def Remove(self, *args):
        return _Contap.Contap_TheSequenceOfLine_Remove(self, *args)

    def Append(self, *args):
        return _Contap.Contap_TheSequenceOfLine_Append(self, *args)

    def Prepend(self, *args):
        return _Contap.Contap_TheSequenceOfLine_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _Contap.Contap_TheSequenceOfLine_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _Contap.Contap_TheSequenceOfLine_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _Contap.Contap_TheSequenceOfLine_Split(self, theIndex, theSeq)

    def First(self):
        return _Contap.Contap_TheSequenceOfLine_First(self)

    def ChangeFirst(self):
        return _Contap.Contap_TheSequenceOfLine_ChangeFirst(self)

    def Last(self):
        return _Contap.Contap_TheSequenceOfLine_Last(self)

    def ChangeLast(self):
        return _Contap.Contap_TheSequenceOfLine_ChangeLast(self)

    def Value(self, theIndex):
        return _Contap.Contap_TheSequenceOfLine_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _Contap.Contap_TheSequenceOfLine_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _Contap.Contap_TheSequenceOfLine___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _Contap.Contap_TheSequenceOfLine_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _Contap.delete_Contap_TheSequenceOfLine

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


# Register Contap_TheSequenceOfLine in _Contap:
_Contap.Contap_TheSequenceOfLine_swigregister(Contap_TheSequenceOfLine)
class Contap_TheSequenceOfPoint(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 _Contap.Contap_TheSequenceOfPoint_begin(self)

    def end(self):
        return _Contap.Contap_TheSequenceOfPoint_end(self)

    def cbegin(self):
        return _Contap.Contap_TheSequenceOfPoint_cbegin(self)

    def cend(self):
        return _Contap.Contap_TheSequenceOfPoint_cend(self)

    def __init__(self, *args):
        _Contap.Contap_TheSequenceOfPoint_swiginit(self, _Contap.new_Contap_TheSequenceOfPoint(*args))

    def Size(self):
        return _Contap.Contap_TheSequenceOfPoint_Size(self)

    def Length(self):
        return _Contap.Contap_TheSequenceOfPoint_Length(self)

    def Lower(self):
        return _Contap.Contap_TheSequenceOfPoint_Lower(self)

    def Upper(self):
        return _Contap.Contap_TheSequenceOfPoint_Upper(self)

    def IsEmpty(self):
        return _Contap.Contap_TheSequenceOfPoint_IsEmpty(self)

    def Reverse(self):
        return _Contap.Contap_TheSequenceOfPoint_Reverse(self)

    def Exchange(self, I, J):
        return _Contap.Contap_TheSequenceOfPoint_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _Contap.Contap_TheSequenceOfPoint_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _Contap.Contap_TheSequenceOfPoint_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _Contap.Contap_TheSequenceOfPoint_Assign(self, theOther)

    def Set(self, *args):
        return _Contap.Contap_TheSequenceOfPoint_Set(self, *args)

    def Remove(self, *args):
        return _Contap.Contap_TheSequenceOfPoint_Remove(self, *args)

    def Append(self, *args):
        return _Contap.Contap_TheSequenceOfPoint_Append(self, *args)

    def Prepend(self, *args):
        return _Contap.Contap_TheSequenceOfPoint_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _Contap.Contap_TheSequenceOfPoint_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _Contap.Contap_TheSequenceOfPoint_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _Contap.Contap_TheSequenceOfPoint_Split(self, theIndex, theSeq)

    def First(self):
        return _Contap.Contap_TheSequenceOfPoint_First(self)

    def ChangeFirst(self):
        return _Contap.Contap_TheSequenceOfPoint_ChangeFirst(self)

    def Last(self):
        return _Contap.Contap_TheSequenceOfPoint_Last(self)

    def ChangeLast(self):
        return _Contap.Contap_TheSequenceOfPoint_ChangeLast(self)

    def Value(self, theIndex):
        return _Contap.Contap_TheSequenceOfPoint_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _Contap.Contap_TheSequenceOfPoint_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _Contap.Contap_TheSequenceOfPoint___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _Contap.Contap_TheSequenceOfPoint_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _Contap.delete_Contap_TheSequenceOfPoint

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


# Register Contap_TheSequenceOfPoint in _Contap:
_Contap.Contap_TheSequenceOfPoint_swigregister(Contap_TheSequenceOfPoint)
class Contap_ArcFunction(OCC.Core.math.math_FunctionWithDerivative):
    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.

        """
        _Contap.Contap_ArcFunction_swiginit(self, _Contap.new_Contap_ArcFunction(*args))

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

        Description
        -----------
        Returns the point, which has been computed while the last calling Value() method.

        """
        return _Contap.Contap_ArcFunction_LastComputedPoint(self, *args)

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

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

        """
        return _Contap.Contap_ArcFunction_NbSamples(self, *args)

    def Quadric(self, *args):
        r"""
        Return
        -------
        IntSurf_Quadric

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

        """
        return _Contap.Contap_ArcFunction_Quadric(self, *args)

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

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

        Return
        -------
        None

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

        Parameters
        ----------
        Direction: gp_Dir

        Return
        -------
        None

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

        Parameters
        ----------
        Direction: gp_Dir
        Angle: float

        Return
        -------
        None

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

        Parameters
        ----------
        Eye: gp_Pnt

        Return
        -------
        None

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

        Parameters
        ----------
        Eye: gp_Pnt
        Angle: float

        Return
        -------
        None

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

        Parameters
        ----------
        A: Adaptor2d_Curve2d

        Return
        -------
        None

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

        """
        return _Contap.Contap_ArcFunction_Set(self, *args)

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

        Description
        -----------
        Returns mySurf field.

        """
        return _Contap.Contap_ArcFunction_Surface(self, *args)

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

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

        Return
        -------
        gp_Pnt

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

        """
        return _Contap.Contap_ArcFunction_Valpoint(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Contap.delete_Contap_ArcFunction

# Register Contap_ArcFunction in _Contap:
_Contap.Contap_ArcFunction_swigregister(Contap_ArcFunction)
class Contap_ContAna(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.

        """
        _Contap.Contap_ContAna_swiginit(self, _Contap.new_Contap_ContAna(*args))

    def Circle(self, *args):
        r"""
        Return
        -------
        gp_Circ

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

        """
        return _Contap.Contap_ContAna_Circle(self, *args)

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

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

        """
        return _Contap.Contap_ContAna_IsDone(self, *args)

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

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

        Return
        -------
        gp_Lin

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

        """
        return _Contap.Contap_ContAna_Line(self, *args)

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

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

        """
        return _Contap.Contap_ContAna_NbContours(self, *args)

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

        Parameters
        ----------
        S: gp_Sphere
        D: gp_Dir

        Return
        -------
        None

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

        Parameters
        ----------
        S: gp_Sphere
        D: gp_Dir
        Ang: float

        Return
        -------
        None

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

        Parameters
        ----------
        S: gp_Sphere
        Eye: gp_Pnt

        Return
        -------
        None

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

        Parameters
        ----------
        C: gp_Cylinder
        D: gp_Dir

        Return
        -------
        None

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

        Parameters
        ----------
        C: gp_Cylinder
        D: gp_Dir
        Ang: float

        Return
        -------
        None

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

        Parameters
        ----------
        C: gp_Cylinder
        Eye: gp_Pnt

        Return
        -------
        None

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

        Parameters
        ----------
        C: gp_Cone
        D: gp_Dir

        Return
        -------
        None

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

        Parameters
        ----------
        C: gp_Cone
        D: gp_Dir
        Ang: float

        Return
        -------
        None

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

        Parameters
        ----------
        C: gp_Cone
        Eye: gp_Pnt

        Return
        -------
        None

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

        """
        return _Contap.Contap_ContAna_Perform(self, *args)

    def TypeContour(self, *args):
        r"""
        Return
        -------
        GeomAbs_CurveType

        Description
        -----------
        Returns GeomAbs_Line or GeomAbs_Circle, when IsDone() returns True.

        """
        return _Contap.Contap_ContAna_TypeContour(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Contap.delete_Contap_ContAna

# Register Contap_ContAna in _Contap:
_Contap.Contap_ContAna_swigregister(Contap_ContAna)
class Contap_Contour(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
        ----------
        Direction: gp_Vec

        Return
        -------
        None

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

        Parameters
        ----------
        Direction: gp_Vec
        Angle: float

        Return
        -------
        None

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

        Parameters
        ----------
        Eye: gp_Pnt

        Return
        -------
        None

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

        Parameters
        ----------
        Surf: Adaptor3d_Surface
        Domain: Adaptor3d_TopolTool
        Direction: gp_Vec

        Return
        -------
        None

        Description
        -----------
        Creates the contour in a given direction.

        Parameters
        ----------
        Surf: Adaptor3d_Surface
        Domain: Adaptor3d_TopolTool
        Direction: gp_Vec
        Angle: float

        Return
        -------
        None

        Description
        -----------
        Creates the contour in a given direction.

        Parameters
        ----------
        Surf: Adaptor3d_Surface
        Domain: Adaptor3d_TopolTool
        Eye: gp_Pnt

        Return
        -------
        None

        Description
        -----------
        Creates the contour for a perspective view.

        """
        _Contap.Contap_Contour_swiginit(self, _Contap.new_Contap_Contour(*args))

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

        Parameters
        ----------
        Direction: gp_Vec

        Return
        -------
        None

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

        Parameters
        ----------
        Direction: gp_Vec
        Angle: float

        Return
        -------
        None

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

        Parameters
        ----------
        Eye: gp_Pnt

        Return
        -------
        None

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

        """
        return _Contap.Contap_Contour_Init(self, *args)

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

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

        """
        return _Contap.Contap_Contour_IsDone(self, *args)

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

        Description
        -----------
        Returns true if the is no line.

        """
        return _Contap.Contap_Contour_IsEmpty(self, *args)

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

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

        Return
        -------
        Contap_Line

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

        """
        return _Contap.Contap_Contour_Line(self, *args)

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

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

        """
        return _Contap.Contap_Contour_NbLines(self, *args)

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

        Parameters
        ----------
        Surf: Adaptor3d_Surface
        Domain: Adaptor3d_TopolTool

        Return
        -------
        None

        Description
        -----------
        Creates the contour in a given direction.

        Parameters
        ----------
        Surf: Adaptor3d_Surface
        Domain: Adaptor3d_TopolTool
        Direction: gp_Vec

        Return
        -------
        None

        Description
        -----------
        Creates the contour in a given direction.

        Parameters
        ----------
        Surf: Adaptor3d_Surface
        Domain: Adaptor3d_TopolTool
        Direction: gp_Vec
        Angle: float

        Return
        -------
        None

        Description
        -----------
        Creates the contour in a given direction.

        Parameters
        ----------
        Surf: Adaptor3d_Surface
        Domain: Adaptor3d_TopolTool
        Eye: gp_Pnt

        Return
        -------
        None

        Description
        -----------
        Creates the contour for a perspective view.

        """
        return _Contap.Contap_Contour_Perform(self, *args)

    def SurfaceFunction(self, *args):
        r"""
        Return
        -------
        Contap_SurfFunction

        Description
        -----------
        Returns a reference on the internal SurfaceFunction. This is used to compute tangents on the lines.

        """
        return _Contap.Contap_Contour_SurfaceFunction(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Contap.delete_Contap_Contour

# Register Contap_Contour in _Contap:
_Contap.Contap_Contour_swigregister(Contap_Contour)
class Contap_HContTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

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

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

        """
        return _Contap.Contap_HContTool_Bounds(*args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns True if all the intersection point and edges are known on the Arc. The intersection point are given as vertices. The intersection edges are given as intervals between two vertices.

        """
        return _Contap.Contap_HContTool_HasBeenSeen(*args)

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

        Parameters
        ----------
        C: Adaptor2d_Curve2d
        Index: int

        Return
        -------
        IndFirst: int

        Description
        -----------
        Returns True when the segment of range Index is not open at the left side. In that case, IndFirst is the range in the list intersection points (see NbPoints) of the one which defines the left bound of the segment. Otherwise, the method has to return False, and IndFirst has no meaning.

        """
        return _Contap.Contap_HContTool_HasFirstPoint(*args)

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

        Parameters
        ----------
        C: Adaptor2d_Curve2d
        Index: int

        Return
        -------
        IndLast: int

        Description
        -----------
        Returns True when the segment of range Index is not open at the right side. In that case, IndLast is the range in the list intersection points (see NbPoints) of the one which defines the right bound of the segment. Otherwise, the method has to return False, and IndLast has no meaning.

        """
        return _Contap.Contap_HContTool_HasLastPoint(*args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns True when the whole restriction is solution of the intersection problem.

        """
        return _Contap.Contap_HContTool_IsAllSolution(*args)

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

        Parameters
        ----------
        C: Adaptor2d_Curve2d
        Index: int

        Return
        -------
        bool

        Description
        -----------
        Returns True if the intersection point of range Index corresponds with a vertex on the arc A.

        """
        return _Contap.Contap_HContTool_IsVertex(*args)

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

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

        Return
        -------
        int

        Description
        -----------
        Returns the number of intersection points on the arc A.

        """
        return _Contap.Contap_HContTool_NbPoints(*args)

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

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

        Return
        -------
        int

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

        """
        return _Contap.Contap_HContTool_NbSamplePoints(*args)

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

        Parameters
        ----------
        A: Adaptor2d_Curve2d

        Return
        -------
        int

        Description
        -----------
        returns the number of points which is used to make a sample on the arc. this number is a function of the Surface and the CurveOnSurface complexity.

        """
        return _Contap.Contap_HContTool_NbSamplesOnArc(*args)

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

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

        Return
        -------
        int

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

        """
        return _Contap.Contap_HContTool_NbSamplesU(*args)

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

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

        Return
        -------
        int

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

        """
        return _Contap.Contap_HContTool_NbSamplesV(*args)

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

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

        Return
        -------
        int

        Description
        -----------
        returns the number of part of A solution of the of intersection problem.

        """
        return _Contap.Contap_HContTool_NbSegments(*args)

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

        Parameters
        ----------
        V: Adaptor3d_HVertex
        C: Adaptor2d_Curve2d

        Return
        -------
        float

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

        """
        return _Contap.Contap_HContTool_Parameter(*args)

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

        Parameters
        ----------
        C: Adaptor2d_Curve2d
        P: gp_Pnt2d
        Ptproj: gp_Pnt2d

        Return
        -------
        Paramproj: float

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

        """
        return _Contap.Contap_HContTool_Project(*args)

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

        Parameters
        ----------
        S: Adaptor3d_Surface
        Index: int

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

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

        """
        return _Contap.Contap_HContTool_SamplePoint(*args)

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

        Parameters
        ----------
        V: Adaptor3d_HVertex
        C: Adaptor2d_Curve2d

        Return
        -------
        float

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

        """
        return _Contap.Contap_HContTool_Tolerance(*args)

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

        Parameters
        ----------
        C: Adaptor2d_Curve2d
        Index: int
        Pt: gp_Pnt

        Return
        -------
        Tol: float
        U: float

        Description
        -----------
        Returns the value (Pt), the tolerance (Tol), and the parameter (U) on the arc A , of the intersection point of range Index.

        """
        return _Contap.Contap_HContTool_Value(*args)

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

        Parameters
        ----------
        C: Adaptor2d_Curve2d
        Index: int
        V: Adaptor3d_HVertex

        Return
        -------
        None

        Description
        -----------
        When IsVertex returns True, this method returns the vertex on the arc A.

        """
        return _Contap.Contap_HContTool_Vertex(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _Contap.Contap_HContTool_swiginit(self, _Contap.new_Contap_HContTool())
    __swig_destroy__ = _Contap.delete_Contap_HContTool

# Register Contap_HContTool in _Contap:
_Contap.Contap_HContTool_swigregister(Contap_HContTool)
class Contap_HCurve2dTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

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

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

        """
        return _Contap.Contap_HCurve2dTool_BSpline(*args)

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

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

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

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

        """
        return _Contap.Contap_HCurve2dTool_Bezier(*args)

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

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

        Return
        -------
        gp_Circ2d

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

        """
        return _Contap.Contap_HCurve2dTool_Circle(*args)

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

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

        Return
        -------
        GeomAbs_Shape

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

        """
        return _Contap.Contap_HCurve2dTool_Continuity(*args)

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

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

        Return
        -------
        None

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

        """
        return _Contap.Contap_HCurve2dTool_D0(*args)

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

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

        Return
        -------
        None

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

        """
        return _Contap.Contap_HCurve2dTool_D1(*args)

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

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

        Return
        -------
        None

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

        """
        return _Contap.Contap_HCurve2dTool_D2(*args)

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

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

        Return
        -------
        None

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

        """
        return _Contap.Contap_HCurve2dTool_D3(*args)

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

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

        Return
        -------
        gp_Vec2d

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

        """
        return _Contap.Contap_HCurve2dTool_DN(*args)

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

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

        Return
        -------
        gp_Elips2d

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

        """
        return _Contap.Contap_HCurve2dTool_Ellipse(*args)

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

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

        Return
        -------
        float

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

        """
        return _Contap.Contap_HCurve2dTool_FirstParameter(*args)

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

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

        Return
        -------
        GeomAbs_CurveType

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

        """
        return _Contap.Contap_HCurve2dTool_GetType(*args)

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

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

        Return
        -------
        gp_Hypr2d

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

        """
        return _Contap.Contap_HCurve2dTool_Hyperbola(*args)

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

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

        Return
        -------
        None

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

        """
        return _Contap.Contap_HCurve2dTool_Intervals(*args)

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

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

        Return
        -------
        bool

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

        """
        return _Contap.Contap_HCurve2dTool_IsClosed(*args)

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

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

        Return
        -------
        bool

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

        """
        return _Contap.Contap_HCurve2dTool_IsPeriodic(*args)

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

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

        Return
        -------
        float

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

        """
        return _Contap.Contap_HCurve2dTool_LastParameter(*args)

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

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

        Return
        -------
        gp_Lin2d

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

        """
        return _Contap.Contap_HCurve2dTool_Line(*args)

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

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

        Return
        -------
        int

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

        """
        return _Contap.Contap_HCurve2dTool_NbIntervals(*args)

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

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

        Return
        -------
        int

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

        """
        return _Contap.Contap_HCurve2dTool_NbSamples(*args)

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

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

        Return
        -------
        gp_Parab2d

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

        """
        return _Contap.Contap_HCurve2dTool_Parabola(*args)

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

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

        Return
        -------
        float

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

        """
        return _Contap.Contap_HCurve2dTool_Period(*args)

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

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

        Return
        -------
        float

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

        """
        return _Contap.Contap_HCurve2dTool_Resolution(*args)

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

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

        Return
        -------
        gp_Pnt2d

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

        """
        return _Contap.Contap_HCurve2dTool_Value(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _Contap.Contap_HCurve2dTool_swiginit(self, _Contap.new_Contap_HCurve2dTool())
    __swig_destroy__ = _Contap.delete_Contap_HCurve2dTool

# Register Contap_HCurve2dTool in _Contap:
_Contap.Contap_HCurve2dTool_swigregister(Contap_HCurve2dTool)
class Contap_Line(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.

        """
        _Contap.Contap_Line_swiginit(self, _Contap.new_Contap_Line(*args))

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

        Parameters
        ----------
        P: IntSurf_PntOn2S

        Return
        -------
        None

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

        Parameters
        ----------
        P: Contap_Point

        Return
        -------
        None

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

        """
        return _Contap.Contap_Line_Add(self, *args)

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

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

        """
        return _Contap.Contap_Line_Arc(self, *args)

    def Circle(self, *args):
        r"""
        Return
        -------
        gp_Circ

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

        """
        return _Contap.Contap_Line_Circle(self, *args)

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

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

        """
        return _Contap.Contap_Line_Clear(self, *args)

    def Line(self, *args):
        r"""
        Return
        -------
        gp_Lin

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

        """
        return _Contap.Contap_Line_Line(self, *args)

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

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

        """
        return _Contap.Contap_Line_LineOn2S(self, *args)

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

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

        """
        return _Contap.Contap_Line_NbPnts(self, *args)

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

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

        """
        return _Contap.Contap_Line_NbVertex(self, *args)

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

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

        Return
        -------
        IntSurf_PntOn2S

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

        """
        return _Contap.Contap_Line_Point(self, *args)

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

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

        """
        return _Contap.Contap_Line_ResetSeqOfVertex(self, *args)

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

        Parameters
        ----------
        L: IntSurf_LineOn2S

        Return
        -------
        None

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

        """
        return _Contap.Contap_Line_SetLineOn2S(self, *args)

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

        Parameters
        ----------
        T: IntSurf_TypeTrans

        Return
        -------
        None

        Description
        -----------
        Set The Transition of the line.

        """
        return _Contap.Contap_Line_SetTransitionOnS(self, *args)

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

        Parameters
        ----------
        L: gp_Lin

        Return
        -------
        None

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

        Parameters
        ----------
        C: gp_Circ

        Return
        -------
        None

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

        Parameters
        ----------
        A: Adaptor2d_Curve2d

        Return
        -------
        None

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

        """
        return _Contap.Contap_Line_SetValue(self, *args)

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

        Description
        -----------
        returns IN if at the 'left' of the line, the normale of the surface is oriented to the observator.

        """
        return _Contap.Contap_Line_TransitionOnS(self, *args)

    def TypeContour(self, *args):
        r"""
        Return
        -------
        Contap_IType

        Description
        -----------
        Returns Contap_Lin for a line, Contap_Circle for a circle, and Contap_Walking for a Walking line, Contap_Restriction for a part of boundarie.

        """
        return _Contap.Contap_Line_TypeContour(self, *args)

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

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

        Return
        -------
        Contap_Point

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

        """
        return _Contap.Contap_Line_Vertex(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Contap.delete_Contap_Line

# Register Contap_Line in _Contap:
_Contap.Contap_Line_swigregister(Contap_Line)
class Contap_Point(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        Parameters
        ----------
        Pt: gp_Pnt
        U: float
        V: float

        Return
        -------
        None

        Description
        -----------
        Creates a point.

        """
        _Contap.Contap_Point_swiginit(self, _Contap.new_Contap_Point(*args))

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

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

        """
        return _Contap.Contap_Point_Arc(self, *args)

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

        Description
        -----------
        Returns True if the point is an internal one, i.e if the tangent to the line on the point and the eye direction are parallel.

        """
        return _Contap.Contap_Point_IsInternal(self, *args)

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

        Description
        -----------
        Returns True if the point belongs to several lines.

        """
        return _Contap.Contap_Point_IsMultiple(self, *args)

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

        Description
        -----------
        Returns True when the point is an intersection between the contour and a restriction.

        """
        return _Contap.Contap_Point_IsOnArc(self, *args)

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

        Description
        -----------
        Returns True if the point is a vertex on the initial restriction facet of the surface.

        """
        return _Contap.Contap_Point_IsVertex(self, *args)

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

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

        """
        return _Contap.Contap_Point_ParameterOnArc(self, *args)

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

        Description
        -----------
        This method returns the parameter of the point on the intersection line. If the points does not belong to an intersection line, the value returned does not have any sens.

        """
        return _Contap.Contap_Point_ParameterOnLine(self, *args)

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

        Parameters
        ----------

        Return
        -------
        U1: float
        V1: float

        Description
        -----------
        Returns the parameters on the surface of the point.

        """
        return _Contap.Contap_Point_Parameters(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Sets the value of the arc and of the parameter on this arc of the point.

        """
        return _Contap.Contap_Point_SetArc(self, *args)

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

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

        """
        return _Contap.Contap_Point_SetInternal(self, *args)

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

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

        """
        return _Contap.Contap_Point_SetMultiple(self, *args)

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

        Parameters
        ----------
        Para: float

        Return
        -------
        None

        Description
        -----------
        Set the value of the parameter on the intersection line.

        """
        return _Contap.Contap_Point_SetParameter(self, *args)

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

        Parameters
        ----------
        Pt: gp_Pnt
        U: float
        V: float

        Return
        -------
        None

        Description
        -----------
        Sets the values for a point.

        """
        return _Contap.Contap_Point_SetValue(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Sets the values of a point which is a vertex on the initial facet of restriction of one of the surface.

        """
        return _Contap.Contap_Point_SetVertex(self, *args)

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

        Description
        -----------
        Returns the transition of the point on the arc.

        """
        return _Contap.Contap_Point_TransitionOnArc(self, *args)

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

        Description
        -----------
        Returns the transition of the point on the contour.

        """
        return _Contap.Contap_Point_TransitionOnLine(self, *args)

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

        Description
        -----------
        Returns the intersection point (geometric information).

        """
        return _Contap.Contap_Point_Value(self, *args)

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

        Description
        -----------
        Returns the information about the point when it is on the domain of the patch, i-e when the function IsVertex returns True. Otherwise, an exception is raised.

        """
        return _Contap.Contap_Point_Vertex(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Contap.delete_Contap_Point

# Register Contap_Point in _Contap:
_Contap.Contap_Point_swigregister(Contap_Point)
class Contap_SurfFunction(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.

        """
        _Contap.Contap_SurfFunction_swiginit(self, _Contap.new_Contap_SurfFunction(*args))

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

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

        """
        return _Contap.Contap_SurfFunction_Angle(self, *args)

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

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

        """
        return _Contap.Contap_SurfFunction_Direction(self, *args)

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

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

        """
        return _Contap.Contap_SurfFunction_Direction2d(self, *args)

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

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

        """
        return _Contap.Contap_SurfFunction_Direction3d(self, *args)

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

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

        """
        return _Contap.Contap_SurfFunction_Eye(self, *args)

    def FunctionType(self, *args):
        r"""
        Return
        -------
        Contap_TFunction

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

        """
        return _Contap.Contap_SurfFunction_FunctionType(self, *args)

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

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

        """
        return _Contap.Contap_SurfFunction_IsTangent(self, *args)

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

        Description
        -----------
        Method is entered for compatibility with IntPatch_TheSurfFunction.

        """
        return _Contap.Contap_SurfFunction_PSurface(self, *args)

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

        Description
        -----------
        Returns the value of the solution point on the surface.

        """
        return _Contap.Contap_SurfFunction_Point(self, *args)

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

        Description
        -----------
        Root is the value of the function at the solution. It is a vector of dimension 1, i-e a real.

        """
        return _Contap.Contap_SurfFunction_Root(self, *args)

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

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

        Return
        -------
        None

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

        Parameters
        ----------
        Eye: gp_Pnt

        Return
        -------
        None

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

        Parameters
        ----------
        Dir: gp_Dir

        Return
        -------
        None

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

        Parameters
        ----------
        Dir: gp_Dir
        Angle: float

        Return
        -------
        None

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

        Parameters
        ----------
        Eye: gp_Pnt
        Angle: float

        Return
        -------
        None

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

        Parameters
        ----------
        Tolerance: float

        Return
        -------
        None

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

        """
        return _Contap.Contap_SurfFunction_Set(self, *args)

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

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

        """
        return _Contap.Contap_SurfFunction_Surface(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 _Contap.Contap_SurfFunction_Tolerance(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Contap.delete_Contap_SurfFunction

# Register Contap_SurfFunction in _Contap:
_Contap.Contap_SurfFunction_swigregister(Contap_SurfFunction)
class Contap_SurfProps(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        S: Adaptor3d_Surface
        U: float
        V: float
        P: gp_Pnt
        d1u: gp_Vec
        d1v: gp_Vec
        N: gp_Vec

        Return
        -------
        None

        Description
        -----------
        Computes the point <P>, and normal vector <N> on <S> at parameters U,V.

        """
        return _Contap.Contap_SurfProps_DerivAndNorm(*args)

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

        Parameters
        ----------
        S: Adaptor3d_Surface
        U: float
        V: float
        P: gp_Pnt
        N: gp_Vec
        Dnu: gp_Vec
        Dnv: gp_Vec

        Return
        -------
        None

        Description
        -----------
        Computes the point <P>, normal vector <N>, and its derivatives <Dnu> and <Dnv> on <S> at parameters U,V.

        """
        return _Contap.Contap_SurfProps_NormAndDn(*args)

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

        Parameters
        ----------
        S: Adaptor3d_Surface
        U: float
        V: float
        P: gp_Pnt
        N: gp_Vec

        Return
        -------
        None

        Description
        -----------
        Computes the point <P>, and normal vector <N> on <S> at parameters U,V.

        """
        return _Contap.Contap_SurfProps_Normale(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _Contap.Contap_SurfProps_swiginit(self, _Contap.new_Contap_SurfProps())
    __swig_destroy__ = _Contap.delete_Contap_SurfProps

# Register Contap_SurfProps in _Contap:
_Contap.Contap_SurfProps_swigregister(Contap_SurfProps)
class Contap_TheIWLineOfTheIWalking(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theAllocator: IntSurf_Allocator (optional, default to 0)

        Return
        -------
        None

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

        """
        _Contap.Contap_TheIWLineOfTheIWalking_swiginit(self, _Contap.new_Contap_TheIWLineOfTheIWalking(*args))

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

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

        Return
        -------
        None

        Description
        -----------
        associer a l 'indice du point sur la ligne l'indice du point passant dans l'iterateur de depart.

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_AddIndexPassing(self, *args)

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

        Parameters
        ----------
        P: IntSurf_PntOn2S

        Return
        -------
        None

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

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_AddPoint(self, *args)

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

        Parameters
        ----------
        Closed: bool
        HasFirst: bool

        Return
        -------
        None

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

        Parameters
        ----------
        Closed: bool
        HasLast: bool
        Index: int
        P: IntSurf_PathPoint

        Return
        -------
        None

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

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_AddStatusFirst(self, *args)

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

        Parameters
        ----------
        Closed: bool
        HasFirst: bool
        HasLast: bool

        Return
        -------
        None

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

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_AddStatusFirstLast(self, *args)

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

        Parameters
        ----------
        HasLast: bool

        Return
        -------
        None

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

        Parameters
        ----------
        HasLast: bool
        Index: int
        P: IntSurf_PathPoint

        Return
        -------
        None

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

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_AddStatusLast(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Cut the line at the point of rank Index.

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_Cut(self, *args)

    def FirstPoint(self, *args):
        r"""
        Return
        -------
        IntSurf_PathPoint

        Description
        -----------
        Returns the first point of the line when it is a marching point. An exception is raised if HasFirstPoint returns False.

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_FirstPoint(self, *args)

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

        Description
        -----------
        Returns the Index of first point of the line when it is a marching point.This index is the index in the PointStartIterator. An exception is raised if HasFirstPoint returns False.

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_FirstPointIndex(self, *args)

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

        Description
        -----------
        Returns True if the first point of the line is a marching point . when is HasFirstPoint==False ,the line begins on the natural bound of the surface.the line can be too long.

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_HasFirstPoint(self, *args)

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

        Description
        -----------
        Returns True if the end point of the line is a marching point (Point from IntWS). when is HasFirstPoint==False ,the line ends on the natural bound of the surface.the line can be too long.

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_HasLastPoint(self, *args)

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

        Description
        -----------
        Returns True if the line is closed.

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_IsClosed(self, *args)

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

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

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_IsTangentAtBegining(self, *args)

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

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

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_IsTangentAtEnd(self, *args)

    def LastPoint(self, *args):
        r"""
        Return
        -------
        IntSurf_PathPoint

        Description
        -----------
        Returns the last point of the line when it is a marching point. An exception is raised if HasLastPoint returns False.

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_LastPoint(self, *args)

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

        Description
        -----------
        Returns the index of last point of the line when it is a marching point.This index is the index in the PointStartIterator. An exception is raised if HasLastPoint returns False.

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_LastPointIndex(self, *args)

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

        Description
        -----------
        Returns the LineOn2S contained in the walking line.

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_Line(self, *args)

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

        Description
        -----------
        returns the number of points belonging to Pnts1 which are passing point.

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_NbPassingPoint(self, *args)

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

        Description
        -----------
        Returns the number of points of the line (including first point and end point: see HasLastPoint and HasFirstPoint).

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_NbPoints(self, *args)

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

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

        Return
        -------
        IndexLine: int
        IndexPnts: int

        Description
        -----------
        returns the index of the point belonging to the line which is associated to the passing point belonging to Pnts1 an exception is raised if Index > NbPassingPoint().

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_PassingPoint(self, *args)

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

        Description
        -----------
        reverse the points in the line. Hasfirst, HasLast are kept.

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_Reverse(self, *args)

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

        Parameters
        ----------
        IsTangent: bool

        Return
        -------
        None

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

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_SetTangencyAtBegining(self, *args)

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

        Parameters
        ----------
        IsTangent: bool

        Return
        -------
        None

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

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_SetTangencyAtEnd(self, *args)

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

        Parameters
        ----------
        V: gp_Vec
        Index: int

        Return
        -------
        None

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

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_SetTangentVector(self, *args)

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

        Parameters
        ----------

        Return
        -------
        Index: int

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

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_TangentVector(self, *args)

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

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

        Return
        -------
        IntSurf_PntOn2S

        Description
        -----------
        Returns the point of range Index. If index <= 0 or Index > NbPoints, an exception is raised.

        """
        return _Contap.Contap_TheIWLineOfTheIWalking_Value(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Contap.delete_Contap_TheIWLineOfTheIWalking

# Register Contap_TheIWLineOfTheIWalking in _Contap:
_Contap.Contap_TheIWLineOfTheIWalking_swigregister(Contap_TheIWLineOfTheIWalking)
class Contap_TheIWalking(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
        ----------
        Epsilon: float
        Deflection: float
        Step: float
        theToFillHoles: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Deflection is the maximum deflection admitted between two consecutive points on a resulting polyline. Step is the maximum increment admitted between two consecutive points (in 2d space). Epsilon is the tolerance beyond which 2 points are confused. theToFillHoles is the flag defining whether possible holes between resulting curves are filled or not in case of Contap walking theToFillHoles is True.

        """
        _Contap.Contap_TheIWalking_swiginit(self, _Contap.new_Contap_TheIWalking(*args))

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

        Description
        -----------
        Returns true if the calculus was successful.

        """
        return _Contap.Contap_TheIWalking_IsDone(self, *args)

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

        Description
        -----------
        Returns the number of resulting polylines. An exception is raised if IsDone returns False.

        """
        return _Contap.Contap_TheIWalking_NbLines(self, *args)

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

        Description
        -----------
        Returns the number of points belonging to Pnts on which no line starts or ends. An exception is raised if IsDone returns False.

        """
        return _Contap.Contap_TheIWalking_NbSinglePnts(self, *args)

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

        Parameters
        ----------
        Pnts1: IntSurf_SequenceOfPathPoint
        Pnts2: IntSurf_SequenceOfInteriorPoint
        Func: Contap_SurfFunction
        S: Adaptor3d_Surface
        Reversed: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Searches a set of polylines starting on a point of Pnts1 or Pnts2. Each point on a resulting polyline verifies F(u,v)=0.

        Parameters
        ----------
        Pnts1: IntSurf_SequenceOfPathPoint
        Func: Contap_SurfFunction
        S: Adaptor3d_Surface
        Reversed: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Searches a set of polylines starting on a point of Pnts1. Each point on a resulting polyline verifies F(u,v)=0.

        """
        return _Contap.Contap_TheIWalking_Perform(self, *args)

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

        Parameters
        ----------
        Epsilon: float
        Deflection: float
        Step: float

        Return
        -------
        None

        Description
        -----------
        Deflection is the maximum deflection admitted between two consecutive points on a resulting polyline. Step is the maximum increment admitted between two consecutive points (in 2d space). Epsilon is the tolerance beyond which 2 points are confused.

        """
        return _Contap.Contap_TheIWalking_SetTolerance(self, *args)

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

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

        Return
        -------
        IntSurf_PathPoint

        Description
        -----------
        Returns the point of range Index . An exception is raised if IsDone returns False. An exception is raised if Index<=0 or Index > NbSinglePnts.

        """
        return _Contap.Contap_TheIWalking_SinglePnt(self, *args)

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

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

        Return
        -------
        opencascade::handle<Contap_TheIWLineOfTheIWalking>

        Description
        -----------
        Returns the polyline of range Index. An exception is raised if IsDone is False. An exception is raised if Index<=0 or Index>NbLines.

        """
        return _Contap.Contap_TheIWalking_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Contap.delete_Contap_TheIWalking

# Register Contap_TheIWalking in _Contap:
_Contap.Contap_TheIWalking_swigregister(Contap_TheIWalking)
class Contap_ThePathPointOfTheSearch(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        Parameters
        ----------
        P: gp_Pnt
        Tol: float
        V: Adaptor3d_HVertex
        A: Adaptor2d_Curve2d
        Parameter: float

        Return
        -------
        None

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

        Parameters
        ----------
        P: gp_Pnt
        Tol: float
        A: Adaptor2d_Curve2d
        Parameter: float

        Return
        -------
        None

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

        """
        _Contap.Contap_ThePathPointOfTheSearch_swiginit(self, _Contap.new_Contap_ThePathPointOfTheSearch(*args))

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

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

        """
        return _Contap.Contap_ThePathPointOfTheSearch_Arc(self, *args)

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

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

        """
        return _Contap.Contap_ThePathPointOfTheSearch_IsNew(self, *args)

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

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

        """
        return _Contap.Contap_ThePathPointOfTheSearch_Parameter(self, *args)

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

        Parameters
        ----------
        P: gp_Pnt
        Tol: float
        V: Adaptor3d_HVertex
        A: Adaptor2d_Curve2d
        Parameter: float

        Return
        -------
        None

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

        Parameters
        ----------
        P: gp_Pnt
        Tol: float
        A: Adaptor2d_Curve2d
        Parameter: float

        Return
        -------
        None

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

        """
        return _Contap.Contap_ThePathPointOfTheSearch_SetValue(self, *args)

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

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

        """
        return _Contap.Contap_ThePathPointOfTheSearch_Tolerance(self, *args)

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

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

        """
        return _Contap.Contap_ThePathPointOfTheSearch_Value(self, *args)

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

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

        """
        return _Contap.Contap_ThePathPointOfTheSearch_Vertex(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Contap.delete_Contap_ThePathPointOfTheSearch

# Register Contap_ThePathPointOfTheSearch in _Contap:
_Contap.Contap_ThePathPointOfTheSearch_swigregister(Contap_ThePathPointOfTheSearch)
class Contap_TheSearch(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.

        """
        _Contap.Contap_TheSearch_swiginit(self, _Contap.new_Contap_TheSearch(*args))

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

        Description
        -----------
        Returns true if all arc of the Arcs are solution (inside the surface). An exception is raised if IsDone returns False.

        """
        return _Contap.Contap_TheSearch_AllArcSolution(self, *args)

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

        Description
        -----------
        Returns True if the calculus was successful.

        """
        return _Contap.Contap_TheSearch_IsDone(self, *args)

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

        Description
        -----------
        Returns the number of resulting points. An exception is raised if IsDone returns False (NotDone).

        """
        return _Contap.Contap_TheSearch_NbPoints(self, *args)

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

        Description
        -----------
        Returns the number of the resulting segments. An exception is raised if IsDone returns False (NotDone).

        """
        return _Contap.Contap_TheSearch_NbSegments(self, *args)

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

        Parameters
        ----------
        F: Contap_ArcFunction
        Domain: Adaptor3d_TopolTool
        TolBoundary: float
        TolTangency: float
        RecheckOnRegularity: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Algorithm to find the points and parts of curves of Domain (domain of of restriction of a surface) which verify F = 0. TolBoundary defines if a curve is on Q. TolTangency defines if a point is on Q.

        """
        return _Contap.Contap_TheSearch_Perform(self, *args)

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

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

        Return
        -------
        Contap_ThePathPointOfTheSearch

        Description
        -----------
        Returns the resulting point of range Index. The exception NotDone is raised if IsDone() returns False. The exception OutOfRange is raised if Index <= 0 or Index > NbPoints.

        """
        return _Contap.Contap_TheSearch_Point(self, *args)

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

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

        Return
        -------
        Contap_TheSegmentOfTheSearch

        Description
        -----------
        Returns the resulting segment of range Index. The exception NotDone is raised if IsDone() returns False. The exception OutOfRange is raised if Index <= 0 or Index > NbPoints.

        """
        return _Contap.Contap_TheSearch_Segment(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Contap.delete_Contap_TheSearch

# Register Contap_TheSearch in _Contap:
_Contap.Contap_TheSearch_swigregister(Contap_TheSearch)
class Contap_TheSearchInside(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
        ----------
        F: Contap_SurfFunction
        Surf: Adaptor3d_Surface
        T: Adaptor3d_TopolTool
        Epsilon: float

        Return
        -------
        None

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

        """
        _Contap.Contap_TheSearchInside_swiginit(self, _Contap.new_Contap_TheSearchInside(*args))

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

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

        """
        return _Contap.Contap_TheSearchInside_IsDone(self, *args)

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

        Description
        -----------
        Returns the number of points. The exception NotDone if raised if IsDone returns False.

        """
        return _Contap.Contap_TheSearchInside_NbPoints(self, *args)

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

        Parameters
        ----------
        F: Contap_SurfFunction
        Surf: Adaptor3d_Surface
        T: Adaptor3d_TopolTool
        Epsilon: float

        Return
        -------
        None

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

        Parameters
        ----------
        F: Contap_SurfFunction
        Surf: Adaptor3d_Surface
        UStart: float
        VStart: float

        Return
        -------
        None

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

        """
        return _Contap.Contap_TheSearchInside_Perform(self, *args)

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

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

        Return
        -------
        IntSurf_InteriorPoint

        Description
        -----------
        Returns the point of range Index. The exception NotDone if raised if IsDone returns False. The exception OutOfRange if raised if Index <= 0 or Index > NbPoints.

        """
        return _Contap.Contap_TheSearchInside_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Contap.delete_Contap_TheSearchInside

# Register Contap_TheSearchInside in _Contap:
_Contap.Contap_TheSearchInside_swigregister(Contap_TheSearchInside)
class Contap_TheSegmentOfTheSearch(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.

        """
        _Contap.Contap_TheSegmentOfTheSearch_swiginit(self, _Contap.new_Contap_TheSegmentOfTheSearch(*args))

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

        Description
        -----------
        Returns the geometric curve on the surface 's domain which is solution.

        """
        return _Contap.Contap_TheSegmentOfTheSearch_Curve(self, *args)

    def FirstPoint(self, *args):
        r"""
        Return
        -------
        Contap_ThePathPointOfTheSearch

        Description
        -----------
        Returns the first point.

        """
        return _Contap.Contap_TheSegmentOfTheSearch_FirstPoint(self, *args)

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

        Description
        -----------
        Returns True if there is a vertex (ThePathPoint) defining the lowest valid parameter on the arc.

        """
        return _Contap.Contap_TheSegmentOfTheSearch_HasFirstPoint(self, *args)

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

        Description
        -----------
        Returns True if there is a vertex (ThePathPoint) defining the greatest valid parameter on the arc.

        """
        return _Contap.Contap_TheSegmentOfTheSearch_HasLastPoint(self, *args)

    def LastPoint(self, *args):
        r"""
        Return
        -------
        Contap_ThePathPointOfTheSearch

        Description
        -----------
        Returns the last point.

        """
        return _Contap.Contap_TheSegmentOfTheSearch_LastPoint(self, *args)

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

        Parameters
        ----------
        V: Contap_ThePathPointOfTheSearch
        First: bool

        Return
        -------
        None

        Description
        -----------
        Defines the first point or the last point, depending on the value of the boolean First.

        """
        return _Contap.Contap_TheSegmentOfTheSearch_SetLimitPoint(self, *args)

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

        Parameters
        ----------
        A: Adaptor2d_Curve2d

        Return
        -------
        None

        Description
        -----------
        Defines the concerned arc.

        """
        return _Contap.Contap_TheSegmentOfTheSearch_SetValue(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Contap.delete_Contap_TheSegmentOfTheSearch

# Register Contap_TheSegmentOfTheSearch in _Contap:
_Contap.Contap_TheSegmentOfTheSearch_swigregister(Contap_TheSegmentOfTheSearch)
class Contap_TheHSequenceOfPoint(Contap_TheSequenceOfPoint, OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _Contap.Contap_TheHSequenceOfPoint_swiginit(self, _Contap.new_Contap_TheHSequenceOfPoint(*args))

    def Sequence(self):
        return _Contap.Contap_TheHSequenceOfPoint_Sequence(self)

    def Append(self, *args):
        return _Contap.Contap_TheHSequenceOfPoint_Append(self, *args)

    def ChangeSequence(self):
        return _Contap.Contap_TheHSequenceOfPoint_ChangeSequence(self)


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

    __swig_destroy__ = _Contap.delete_Contap_TheHSequenceOfPoint

# Register Contap_TheHSequenceOfPoint in _Contap:
_Contap.Contap_TheHSequenceOfPoint_swigregister(Contap_TheHSequenceOfPoint)



@deprecated
def Contap_HContTool_Bounds(*args):
	return Contap_HContTool.Bounds(*args)

@deprecated
def Contap_HContTool_HasBeenSeen(*args):
	return Contap_HContTool.HasBeenSeen(*args)

@deprecated
def Contap_HContTool_HasFirstPoint(*args):
	return Contap_HContTool.HasFirstPoint(*args)

@deprecated
def Contap_HContTool_HasLastPoint(*args):
	return Contap_HContTool.HasLastPoint(*args)

@deprecated
def Contap_HContTool_IsAllSolution(*args):
	return Contap_HContTool.IsAllSolution(*args)

@deprecated
def Contap_HContTool_IsVertex(*args):
	return Contap_HContTool.IsVertex(*args)

@deprecated
def Contap_HContTool_NbPoints(*args):
	return Contap_HContTool.NbPoints(*args)

@deprecated
def Contap_HContTool_NbSamplePoints(*args):
	return Contap_HContTool.NbSamplePoints(*args)

@deprecated
def Contap_HContTool_NbSamplesOnArc(*args):
	return Contap_HContTool.NbSamplesOnArc(*args)

@deprecated
def Contap_HContTool_NbSamplesU(*args):
	return Contap_HContTool.NbSamplesU(*args)

@deprecated
def Contap_HContTool_NbSamplesV(*args):
	return Contap_HContTool.NbSamplesV(*args)

@deprecated
def Contap_HContTool_NbSegments(*args):
	return Contap_HContTool.NbSegments(*args)

@deprecated
def Contap_HContTool_Parameter(*args):
	return Contap_HContTool.Parameter(*args)

@deprecated
def Contap_HContTool_Project(*args):
	return Contap_HContTool.Project(*args)

@deprecated
def Contap_HContTool_SamplePoint(*args):
	return Contap_HContTool.SamplePoint(*args)

@deprecated
def Contap_HContTool_Tolerance(*args):
	return Contap_HContTool.Tolerance(*args)

@deprecated
def Contap_HContTool_Value(*args):
	return Contap_HContTool.Value(*args)

@deprecated
def Contap_HContTool_Vertex(*args):
	return Contap_HContTool.Vertex(*args)

@deprecated
def Contap_HCurve2dTool_BSpline(*args):
	return Contap_HCurve2dTool.BSpline(*args)

@deprecated
def Contap_HCurve2dTool_Bezier(*args):
	return Contap_HCurve2dTool.Bezier(*args)

@deprecated
def Contap_HCurve2dTool_Circle(*args):
	return Contap_HCurve2dTool.Circle(*args)

@deprecated
def Contap_HCurve2dTool_Continuity(*args):
	return Contap_HCurve2dTool.Continuity(*args)

@deprecated
def Contap_HCurve2dTool_D0(*args):
	return Contap_HCurve2dTool.D0(*args)

@deprecated
def Contap_HCurve2dTool_D1(*args):
	return Contap_HCurve2dTool.D1(*args)

@deprecated
def Contap_HCurve2dTool_D2(*args):
	return Contap_HCurve2dTool.D2(*args)

@deprecated
def Contap_HCurve2dTool_D3(*args):
	return Contap_HCurve2dTool.D3(*args)

@deprecated
def Contap_HCurve2dTool_DN(*args):
	return Contap_HCurve2dTool.DN(*args)

@deprecated
def Contap_HCurve2dTool_Ellipse(*args):
	return Contap_HCurve2dTool.Ellipse(*args)

@deprecated
def Contap_HCurve2dTool_FirstParameter(*args):
	return Contap_HCurve2dTool.FirstParameter(*args)

@deprecated
def Contap_HCurve2dTool_GetType(*args):
	return Contap_HCurve2dTool.GetType(*args)

@deprecated
def Contap_HCurve2dTool_Hyperbola(*args):
	return Contap_HCurve2dTool.Hyperbola(*args)

@deprecated
def Contap_HCurve2dTool_Intervals(*args):
	return Contap_HCurve2dTool.Intervals(*args)

@deprecated
def Contap_HCurve2dTool_IsClosed(*args):
	return Contap_HCurve2dTool.IsClosed(*args)

@deprecated
def Contap_HCurve2dTool_IsPeriodic(*args):
	return Contap_HCurve2dTool.IsPeriodic(*args)

@deprecated
def Contap_HCurve2dTool_LastParameter(*args):
	return Contap_HCurve2dTool.LastParameter(*args)

@deprecated
def Contap_HCurve2dTool_Line(*args):
	return Contap_HCurve2dTool.Line(*args)

@deprecated
def Contap_HCurve2dTool_NbIntervals(*args):
	return Contap_HCurve2dTool.NbIntervals(*args)

@deprecated
def Contap_HCurve2dTool_NbSamples(*args):
	return Contap_HCurve2dTool.NbSamples(*args)

@deprecated
def Contap_HCurve2dTool_Parabola(*args):
	return Contap_HCurve2dTool.Parabola(*args)

@deprecated
def Contap_HCurve2dTool_Period(*args):
	return Contap_HCurve2dTool.Period(*args)

@deprecated
def Contap_HCurve2dTool_Resolution(*args):
	return Contap_HCurve2dTool.Resolution(*args)

@deprecated
def Contap_HCurve2dTool_Value(*args):
	return Contap_HCurve2dTool.Value(*args)

@deprecated
def Contap_SurfProps_DerivAndNorm(*args):
	return Contap_SurfProps.DerivAndNorm(*args)

@deprecated
def Contap_SurfProps_NormAndDn(*args):
	return Contap_SurfProps.NormAndDn(*args)

@deprecated
def Contap_SurfProps_Normale(*args):
	return Contap_SurfProps.Normale(*args)



