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

"""
Contap module, see official documentation at
https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_contap.html
"""

from sys import version_info as _swig_python_version_info
if _swig_python_version_info < (2, 7, 0):
    raise RuntimeError("Python 2.7 or later required")

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _Contap
else:
    import _Contap

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

_swig_new_instance_method = _Contap.SWIG_PyInstanceMethod_New
_swig_new_static_method = _Contap.SWIG_PyStaticMethod_New

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


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


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


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


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


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

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


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

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.math
import OCC.Core.TColStd
import OCC.Core.TCollection
import OCC.Core.Message
import OCC.Core.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
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
Handle_Contap_TheIWLineOfTheIWalking_Create = _Contap.Handle_Contap_TheIWLineOfTheIWalking_Create
Handle_Contap_TheIWLineOfTheIWalking_DownCast = _Contap.Handle_Contap_TheIWLineOfTheIWalking_DownCast
Handle_Contap_TheIWLineOfTheIWalking_IsNull = _Contap.Handle_Contap_TheIWLineOfTheIWalking_IsNull
Handle_Contap_TheHSequenceOfPoint_Create = _Contap.Handle_Contap_TheHSequenceOfPoint_Create
Handle_Contap_TheHSequenceOfPoint_DownCast = _Contap.Handle_Contap_TheHSequenceOfPoint_DownCast
Handle_Contap_TheHSequenceOfPoint_IsNull = _Contap.Handle_Contap_TheHSequenceOfPoint_IsNull
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
    begin = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_begin)
    end = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_end)
    cbegin = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_cbegin)
    cend = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_cend)

    def __init__(self, *args):
        _Contap.Contap_TheSequenceOfPoint_swiginit(self, _Contap.new_Contap_TheSequenceOfPoint(*args))
    Size = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_Size)
    Length = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_Length)
    Lower = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_Lower)
    Upper = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_Upper)
    IsEmpty = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_IsEmpty)
    Reverse = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_Reverse)
    Exchange = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_Exchange)
    delNode = _swig_new_static_method(_Contap.Contap_TheSequenceOfPoint_delNode)
    Clear = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_Clear)
    Assign = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_Assign)
    Set = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_Set)
    Remove = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_Remove)
    Append = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_Append)
    Prepend = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_Prepend)
    InsertBefore = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_InsertBefore)
    InsertAfter = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_InsertAfter)
    Split = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_Split)
    First = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_First)
    ChangeFirst = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_ChangeFirst)
    Last = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_Last)
    ChangeLast = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_ChangeLast)
    Value = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_Value)
    ChangeValue = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_ChangeValue)
    __call__ = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint___call__)
    SetValue = _swig_new_instance_method(_Contap.Contap_TheSequenceOfPoint_SetValue)
    __swig_destroy__ = _Contap.delete_Contap_TheSequenceOfPoint

# Register Contap_TheSequenceOfPoint in _Contap:
_Contap.Contap_TheSequenceOfPoint_swigregister(Contap_TheSequenceOfPoint)
Contap_TheSequenceOfPoint_delNode = _Contap.Contap_TheSequenceOfPoint_delNode

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
    begin = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_begin)
    end = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_end)
    cbegin = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_cbegin)
    cend = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_cend)

    def __init__(self, *args):
        _Contap.Contap_SequenceOfSegmentOfTheSearch_swiginit(self, _Contap.new_Contap_SequenceOfSegmentOfTheSearch(*args))
    Size = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_Size)
    Length = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_Length)
    Lower = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_Lower)
    Upper = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_Upper)
    IsEmpty = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_IsEmpty)
    Reverse = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_Reverse)
    Exchange = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_Exchange)
    delNode = _swig_new_static_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_delNode)
    Clear = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_Clear)
    Assign = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_Assign)
    Set = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_Set)
    Remove = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_Remove)
    Append = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_Append)
    Prepend = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_Prepend)
    InsertBefore = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_InsertBefore)
    InsertAfter = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_InsertAfter)
    Split = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_Split)
    First = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_First)
    ChangeFirst = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_ChangeFirst)
    Last = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_Last)
    ChangeLast = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_ChangeLast)
    Value = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_Value)
    ChangeValue = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_ChangeValue)
    __call__ = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch___call__)
    SetValue = _swig_new_instance_method(_Contap.Contap_SequenceOfSegmentOfTheSearch_SetValue)
    __swig_destroy__ = _Contap.delete_Contap_SequenceOfSegmentOfTheSearch

# Register Contap_SequenceOfSegmentOfTheSearch in _Contap:
_Contap.Contap_SequenceOfSegmentOfTheSearch_swigregister(Contap_SequenceOfSegmentOfTheSearch)
Contap_SequenceOfSegmentOfTheSearch_delNode = _Contap.Contap_SequenceOfSegmentOfTheSearch_delNode

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
    begin = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_begin)
    end = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_end)
    cbegin = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_cbegin)
    cend = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_cend)

    def __init__(self, *args):
        _Contap.Contap_TheSequenceOfLine_swiginit(self, _Contap.new_Contap_TheSequenceOfLine(*args))
    Size = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_Size)
    Length = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_Length)
    Lower = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_Lower)
    Upper = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_Upper)
    IsEmpty = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_IsEmpty)
    Reverse = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_Reverse)
    Exchange = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_Exchange)
    delNode = _swig_new_static_method(_Contap.Contap_TheSequenceOfLine_delNode)
    Clear = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_Clear)
    Assign = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_Assign)
    Set = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_Set)
    Remove = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_Remove)
    Append = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_Append)
    Prepend = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_Prepend)
    InsertBefore = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_InsertBefore)
    InsertAfter = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_InsertAfter)
    Split = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_Split)
    First = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_First)
    ChangeFirst = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_ChangeFirst)
    Last = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_Last)
    ChangeLast = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_ChangeLast)
    Value = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_Value)
    ChangeValue = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_ChangeValue)
    __call__ = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine___call__)
    SetValue = _swig_new_instance_method(_Contap.Contap_TheSequenceOfLine_SetValue)
    __swig_destroy__ = _Contap.delete_Contap_TheSequenceOfLine

# Register Contap_TheSequenceOfLine in _Contap:
_Contap.Contap_TheSequenceOfLine_swigregister(Contap_TheSequenceOfLine)
Contap_TheSequenceOfLine_delNode = _Contap.Contap_TheSequenceOfLine_delNode

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
    begin = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_begin)
    end = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_end)
    cbegin = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_cbegin)
    cend = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_cend)

    def __init__(self, *args):
        _Contap.Contap_SequenceOfIWLineOfTheIWalking_swiginit(self, _Contap.new_Contap_SequenceOfIWLineOfTheIWalking(*args))
    Size = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_Size)
    Length = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_Length)
    Lower = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_Lower)
    Upper = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_Upper)
    IsEmpty = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_IsEmpty)
    Reverse = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_Reverse)
    Exchange = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_Exchange)
    delNode = _swig_new_static_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_delNode)
    Clear = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_Clear)
    Assign = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_Assign)
    Set = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_Set)
    Remove = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_Remove)
    Append = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_Append)
    Prepend = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_Prepend)
    InsertBefore = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_InsertBefore)
    InsertAfter = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_InsertAfter)
    Split = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_Split)
    First = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_First)
    ChangeFirst = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_ChangeFirst)
    Last = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_Last)
    ChangeLast = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_ChangeLast)
    Value = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_Value)
    ChangeValue = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_ChangeValue)
    __call__ = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking___call__)
    SetValue = _swig_new_instance_method(_Contap.Contap_SequenceOfIWLineOfTheIWalking_SetValue)
    __swig_destroy__ = _Contap.delete_Contap_SequenceOfIWLineOfTheIWalking

# Register Contap_SequenceOfIWLineOfTheIWalking in _Contap:
_Contap.Contap_SequenceOfIWLineOfTheIWalking_swigregister(Contap_SequenceOfIWLineOfTheIWalking)
Contap_SequenceOfIWLineOfTheIWalking_delNode = _Contap.Contap_SequenceOfIWLineOfTheIWalking_delNode

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
    begin = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_begin)
    end = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_end)
    cbegin = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_cbegin)
    cend = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_cend)

    def __init__(self, *args):
        _Contap.Contap_SequenceOfPathPointOfTheSearch_swiginit(self, _Contap.new_Contap_SequenceOfPathPointOfTheSearch(*args))
    Size = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_Size)
    Length = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_Length)
    Lower = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_Lower)
    Upper = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_Upper)
    IsEmpty = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_IsEmpty)
    Reverse = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_Reverse)
    Exchange = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_Exchange)
    delNode = _swig_new_static_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_delNode)
    Clear = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_Clear)
    Assign = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_Assign)
    Set = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_Set)
    Remove = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_Remove)
    Append = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_Append)
    Prepend = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_Prepend)
    InsertBefore = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_InsertBefore)
    InsertAfter = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_InsertAfter)
    Split = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_Split)
    First = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_First)
    ChangeFirst = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_ChangeFirst)
    Last = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_Last)
    ChangeLast = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_ChangeLast)
    Value = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_Value)
    ChangeValue = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_ChangeValue)
    __call__ = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch___call__)
    SetValue = _swig_new_instance_method(_Contap.Contap_SequenceOfPathPointOfTheSearch_SetValue)
    __swig_destroy__ = _Contap.delete_Contap_SequenceOfPathPointOfTheSearch

# Register Contap_SequenceOfPathPointOfTheSearch in _Contap:
_Contap.Contap_SequenceOfPathPointOfTheSearch_swigregister(Contap_SequenceOfPathPointOfTheSearch)
Contap_SequenceOfPathPointOfTheSearch_delNode = _Contap.Contap_SequenceOfPathPointOfTheSearch_delNode

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""":rtype: None"""
        _Contap.Contap_ArcFunction_swiginit(self, _Contap.new_Contap_ArcFunction(*args))
    LastComputedPoint = _swig_new_instance_method(_Contap.Contap_ArcFunction_LastComputedPoint)
    NbSamples = _swig_new_instance_method(_Contap.Contap_ArcFunction_NbSamples)
    Quadric = _swig_new_instance_method(_Contap.Contap_ArcFunction_Quadric)
    Set = _swig_new_instance_method(_Contap.Contap_ArcFunction_Set)
    Surface = _swig_new_instance_method(_Contap.Contap_ArcFunction_Surface)
    Valpoint = _swig_new_instance_method(_Contap.Contap_ArcFunction_Valpoint)

    __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
    Circle = _swig_new_instance_method(_Contap.Contap_ContAna_Circle)

    def __init__(self, *args):
        r""":rtype: None"""
        _Contap.Contap_ContAna_swiginit(self, _Contap.new_Contap_ContAna(*args))
    IsDone = _swig_new_instance_method(_Contap.Contap_ContAna_IsDone)
    Line = _swig_new_instance_method(_Contap.Contap_ContAna_Line)
    NbContours = _swig_new_instance_method(_Contap.Contap_ContAna_NbContours)
    Perform = _swig_new_instance_method(_Contap.Contap_ContAna_Perform)
    TypeContour = _swig_new_instance_method(_Contap.Contap_ContAna_TypeContour)

    __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"""
        :rtype: None:param Direction:
        	:type Direction: gp_Vec
        	:rtype: None:param Direction:
        	:type Direction: gp_Vec
        	:param Angle:
        	:type Angle: float
        	:rtype: None:param Eye:
        	:type Eye: gp_Pnt
        	:rtype: None* Creates the contour in a given direction.
        	:param Surf:
        	:type Surf: Adaptor3d_HSurface
        	:param Domain:
        	:type Domain: Adaptor3d_TopolTool
        	:param Direction:
        	:type Direction: gp_Vec
        	:rtype: None* Creates the contour in a given direction.
        	:param Surf:
        	:type Surf: Adaptor3d_HSurface
        	:param Domain:
        	:type Domain: Adaptor3d_TopolTool
        	:param Direction:
        	:type Direction: gp_Vec
        	:param Angle:
        	:type Angle: float
        	:rtype: None* Creates the contour for a perspective view.
        	:param Surf:
        	:type Surf: Adaptor3d_HSurface
        	:param Domain:
        	:type Domain: Adaptor3d_TopolTool
        	:param Eye:
        	:type Eye: gp_Pnt
        	:rtype: None
        """
        _Contap.Contap_Contour_swiginit(self, _Contap.new_Contap_Contour(*args))
    Init = _swig_new_instance_method(_Contap.Contap_Contour_Init)
    IsDone = _swig_new_instance_method(_Contap.Contap_Contour_IsDone)
    IsEmpty = _swig_new_instance_method(_Contap.Contap_Contour_IsEmpty)
    Line = _swig_new_instance_method(_Contap.Contap_Contour_Line)
    NbLines = _swig_new_instance_method(_Contap.Contap_Contour_NbLines)
    Perform = _swig_new_instance_method(_Contap.Contap_Contour_Perform)
    SurfaceFunction = _swig_new_instance_method(_Contap.Contap_Contour_SurfaceFunction)

    __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
    Bounds = _swig_new_static_method(_Contap.Contap_HContTool_Bounds)
    HasBeenSeen = _swig_new_static_method(_Contap.Contap_HContTool_HasBeenSeen)
    HasFirstPoint = _swig_new_static_method(_Contap.Contap_HContTool_HasFirstPoint)
    HasLastPoint = _swig_new_static_method(_Contap.Contap_HContTool_HasLastPoint)
    IsAllSolution = _swig_new_static_method(_Contap.Contap_HContTool_IsAllSolution)
    IsVertex = _swig_new_static_method(_Contap.Contap_HContTool_IsVertex)
    NbPoints = _swig_new_static_method(_Contap.Contap_HContTool_NbPoints)
    NbSamplePoints = _swig_new_static_method(_Contap.Contap_HContTool_NbSamplePoints)
    NbSamplesOnArc = _swig_new_static_method(_Contap.Contap_HContTool_NbSamplesOnArc)
    NbSamplesU = _swig_new_static_method(_Contap.Contap_HContTool_NbSamplesU)
    NbSamplesV = _swig_new_static_method(_Contap.Contap_HContTool_NbSamplesV)
    NbSegments = _swig_new_static_method(_Contap.Contap_HContTool_NbSegments)
    Parameter = _swig_new_static_method(_Contap.Contap_HContTool_Parameter)
    Project = _swig_new_static_method(_Contap.Contap_HContTool_Project)
    SamplePoint = _swig_new_static_method(_Contap.Contap_HContTool_SamplePoint)
    Tolerance = _swig_new_static_method(_Contap.Contap_HContTool_Tolerance)
    Value = _swig_new_static_method(_Contap.Contap_HContTool_Value)
    Vertex = _swig_new_static_method(_Contap.Contap_HContTool_Vertex)

    __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)
Contap_HContTool_Bounds = _Contap.Contap_HContTool_Bounds
Contap_HContTool_HasBeenSeen = _Contap.Contap_HContTool_HasBeenSeen
Contap_HContTool_HasFirstPoint = _Contap.Contap_HContTool_HasFirstPoint
Contap_HContTool_HasLastPoint = _Contap.Contap_HContTool_HasLastPoint
Contap_HContTool_IsAllSolution = _Contap.Contap_HContTool_IsAllSolution
Contap_HContTool_IsVertex = _Contap.Contap_HContTool_IsVertex
Contap_HContTool_NbPoints = _Contap.Contap_HContTool_NbPoints
Contap_HContTool_NbSamplePoints = _Contap.Contap_HContTool_NbSamplePoints
Contap_HContTool_NbSamplesOnArc = _Contap.Contap_HContTool_NbSamplesOnArc
Contap_HContTool_NbSamplesU = _Contap.Contap_HContTool_NbSamplesU
Contap_HContTool_NbSamplesV = _Contap.Contap_HContTool_NbSamplesV
Contap_HContTool_NbSegments = _Contap.Contap_HContTool_NbSegments
Contap_HContTool_Parameter = _Contap.Contap_HContTool_Parameter
Contap_HContTool_Project = _Contap.Contap_HContTool_Project
Contap_HContTool_SamplePoint = _Contap.Contap_HContTool_SamplePoint
Contap_HContTool_Tolerance = _Contap.Contap_HContTool_Tolerance
Contap_HContTool_Value = _Contap.Contap_HContTool_Value
Contap_HContTool_Vertex = _Contap.Contap_HContTool_Vertex

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
    BSpline = _swig_new_static_method(_Contap.Contap_HCurve2dTool_BSpline)
    Bezier = _swig_new_static_method(_Contap.Contap_HCurve2dTool_Bezier)
    Circle = _swig_new_static_method(_Contap.Contap_HCurve2dTool_Circle)
    Continuity = _swig_new_static_method(_Contap.Contap_HCurve2dTool_Continuity)
    D0 = _swig_new_static_method(_Contap.Contap_HCurve2dTool_D0)
    D1 = _swig_new_static_method(_Contap.Contap_HCurve2dTool_D1)
    D2 = _swig_new_static_method(_Contap.Contap_HCurve2dTool_D2)
    D3 = _swig_new_static_method(_Contap.Contap_HCurve2dTool_D3)
    DN = _swig_new_static_method(_Contap.Contap_HCurve2dTool_DN)
    Ellipse = _swig_new_static_method(_Contap.Contap_HCurve2dTool_Ellipse)
    FirstParameter = _swig_new_static_method(_Contap.Contap_HCurve2dTool_FirstParameter)
    GetType = _swig_new_static_method(_Contap.Contap_HCurve2dTool_GetType)
    Hyperbola = _swig_new_static_method(_Contap.Contap_HCurve2dTool_Hyperbola)
    Intervals = _swig_new_static_method(_Contap.Contap_HCurve2dTool_Intervals)
    IsClosed = _swig_new_static_method(_Contap.Contap_HCurve2dTool_IsClosed)
    IsPeriodic = _swig_new_static_method(_Contap.Contap_HCurve2dTool_IsPeriodic)
    LastParameter = _swig_new_static_method(_Contap.Contap_HCurve2dTool_LastParameter)
    Line = _swig_new_static_method(_Contap.Contap_HCurve2dTool_Line)
    NbIntervals = _swig_new_static_method(_Contap.Contap_HCurve2dTool_NbIntervals)
    NbSamples = _swig_new_static_method(_Contap.Contap_HCurve2dTool_NbSamples)
    Parabola = _swig_new_static_method(_Contap.Contap_HCurve2dTool_Parabola)
    Period = _swig_new_static_method(_Contap.Contap_HCurve2dTool_Period)
    Resolution = _swig_new_static_method(_Contap.Contap_HCurve2dTool_Resolution)
    Value = _swig_new_static_method(_Contap.Contap_HCurve2dTool_Value)

    __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)
Contap_HCurve2dTool_BSpline = _Contap.Contap_HCurve2dTool_BSpline
Contap_HCurve2dTool_Bezier = _Contap.Contap_HCurve2dTool_Bezier
Contap_HCurve2dTool_Circle = _Contap.Contap_HCurve2dTool_Circle
Contap_HCurve2dTool_Continuity = _Contap.Contap_HCurve2dTool_Continuity
Contap_HCurve2dTool_D0 = _Contap.Contap_HCurve2dTool_D0
Contap_HCurve2dTool_D1 = _Contap.Contap_HCurve2dTool_D1
Contap_HCurve2dTool_D2 = _Contap.Contap_HCurve2dTool_D2
Contap_HCurve2dTool_D3 = _Contap.Contap_HCurve2dTool_D3
Contap_HCurve2dTool_DN = _Contap.Contap_HCurve2dTool_DN
Contap_HCurve2dTool_Ellipse = _Contap.Contap_HCurve2dTool_Ellipse
Contap_HCurve2dTool_FirstParameter = _Contap.Contap_HCurve2dTool_FirstParameter
Contap_HCurve2dTool_GetType = _Contap.Contap_HCurve2dTool_GetType
Contap_HCurve2dTool_Hyperbola = _Contap.Contap_HCurve2dTool_Hyperbola
Contap_HCurve2dTool_Intervals = _Contap.Contap_HCurve2dTool_Intervals
Contap_HCurve2dTool_IsClosed = _Contap.Contap_HCurve2dTool_IsClosed
Contap_HCurve2dTool_IsPeriodic = _Contap.Contap_HCurve2dTool_IsPeriodic
Contap_HCurve2dTool_LastParameter = _Contap.Contap_HCurve2dTool_LastParameter
Contap_HCurve2dTool_Line = _Contap.Contap_HCurve2dTool_Line
Contap_HCurve2dTool_NbIntervals = _Contap.Contap_HCurve2dTool_NbIntervals
Contap_HCurve2dTool_NbSamples = _Contap.Contap_HCurve2dTool_NbSamples
Contap_HCurve2dTool_Parabola = _Contap.Contap_HCurve2dTool_Parabola
Contap_HCurve2dTool_Period = _Contap.Contap_HCurve2dTool_Period
Contap_HCurve2dTool_Resolution = _Contap.Contap_HCurve2dTool_Resolution
Contap_HCurve2dTool_Value = _Contap.Contap_HCurve2dTool_Value

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
    Add = _swig_new_instance_method(_Contap.Contap_Line_Add)
    Arc = _swig_new_instance_method(_Contap.Contap_Line_Arc)
    Circle = _swig_new_instance_method(_Contap.Contap_Line_Circle)
    Clear = _swig_new_instance_method(_Contap.Contap_Line_Clear)

    def __init__(self, *args):
        r""":rtype: None"""
        _Contap.Contap_Line_swiginit(self, _Contap.new_Contap_Line(*args))
    Line = _swig_new_instance_method(_Contap.Contap_Line_Line)
    LineOn2S = _swig_new_instance_method(_Contap.Contap_Line_LineOn2S)
    NbPnts = _swig_new_instance_method(_Contap.Contap_Line_NbPnts)
    NbVertex = _swig_new_instance_method(_Contap.Contap_Line_NbVertex)
    Point = _swig_new_instance_method(_Contap.Contap_Line_Point)
    ResetSeqOfVertex = _swig_new_instance_method(_Contap.Contap_Line_ResetSeqOfVertex)
    SetLineOn2S = _swig_new_instance_method(_Contap.Contap_Line_SetLineOn2S)
    SetTransitionOnS = _swig_new_instance_method(_Contap.Contap_Line_SetTransitionOnS)
    SetValue = _swig_new_instance_method(_Contap.Contap_Line_SetValue)
    TransitionOnS = _swig_new_instance_method(_Contap.Contap_Line_TransitionOnS)
    TypeContour = _swig_new_instance_method(_Contap.Contap_Line_TypeContour)
    Vertex = _swig_new_instance_method(_Contap.Contap_Line_Vertex)

    __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
    Arc = _swig_new_instance_method(_Contap.Contap_Point_Arc)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None* Creates a point.
        	:param Pt:
        	:type Pt: gp_Pnt
        	:param U:
        	:type U: float
        	:param V:
        	:type V: float
        	:rtype: None
        """
        _Contap.Contap_Point_swiginit(self, _Contap.new_Contap_Point(*args))
    IsInternal = _swig_new_instance_method(_Contap.Contap_Point_IsInternal)
    IsMultiple = _swig_new_instance_method(_Contap.Contap_Point_IsMultiple)
    IsOnArc = _swig_new_instance_method(_Contap.Contap_Point_IsOnArc)
    IsVertex = _swig_new_instance_method(_Contap.Contap_Point_IsVertex)
    ParameterOnArc = _swig_new_instance_method(_Contap.Contap_Point_ParameterOnArc)
    ParameterOnLine = _swig_new_instance_method(_Contap.Contap_Point_ParameterOnLine)
    Parameters = _swig_new_instance_method(_Contap.Contap_Point_Parameters)
    SetArc = _swig_new_instance_method(_Contap.Contap_Point_SetArc)
    SetInternal = _swig_new_instance_method(_Contap.Contap_Point_SetInternal)
    SetMultiple = _swig_new_instance_method(_Contap.Contap_Point_SetMultiple)
    SetParameter = _swig_new_instance_method(_Contap.Contap_Point_SetParameter)
    SetValue = _swig_new_instance_method(_Contap.Contap_Point_SetValue)
    SetVertex = _swig_new_instance_method(_Contap.Contap_Point_SetVertex)
    TransitionOnArc = _swig_new_instance_method(_Contap.Contap_Point_TransitionOnArc)
    TransitionOnLine = _swig_new_instance_method(_Contap.Contap_Point_TransitionOnLine)
    Value = _swig_new_instance_method(_Contap.Contap_Point_Value)
    Vertex = _swig_new_instance_method(_Contap.Contap_Point_Vertex)

    __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
    Angle = _swig_new_instance_method(_Contap.Contap_SurfFunction_Angle)

    def __init__(self, *args):
        r""":rtype: None"""
        _Contap.Contap_SurfFunction_swiginit(self, _Contap.new_Contap_SurfFunction(*args))
    Direction = _swig_new_instance_method(_Contap.Contap_SurfFunction_Direction)
    Direction2d = _swig_new_instance_method(_Contap.Contap_SurfFunction_Direction2d)
    Direction3d = _swig_new_instance_method(_Contap.Contap_SurfFunction_Direction3d)
    Eye = _swig_new_instance_method(_Contap.Contap_SurfFunction_Eye)
    FunctionType = _swig_new_instance_method(_Contap.Contap_SurfFunction_FunctionType)
    IsTangent = _swig_new_instance_method(_Contap.Contap_SurfFunction_IsTangent)
    PSurface = _swig_new_instance_method(_Contap.Contap_SurfFunction_PSurface)
    Point = _swig_new_instance_method(_Contap.Contap_SurfFunction_Point)
    Root = _swig_new_instance_method(_Contap.Contap_SurfFunction_Root)
    Set = _swig_new_instance_method(_Contap.Contap_SurfFunction_Set)
    Surface = _swig_new_instance_method(_Contap.Contap_SurfFunction_Surface)
    Tolerance = _swig_new_instance_method(_Contap.Contap_SurfFunction_Tolerance)

    __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
    DerivAndNorm = _swig_new_static_method(_Contap.Contap_SurfProps_DerivAndNorm)
    NormAndDn = _swig_new_static_method(_Contap.Contap_SurfProps_NormAndDn)
    Normale = _swig_new_static_method(_Contap.Contap_SurfProps_Normale)

    __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)
Contap_SurfProps_DerivAndNorm = _Contap.Contap_SurfProps_DerivAndNorm
Contap_SurfProps_NormAndDn = _Contap.Contap_SurfProps_NormAndDn
Contap_SurfProps_Normale = _Contap.Contap_SurfProps_Normale

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
    AddIndexPassing = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_AddIndexPassing)
    AddPoint = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_AddPoint)
    AddStatusFirst = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_AddStatusFirst)
    AddStatusFirstLast = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_AddStatusFirstLast)
    AddStatusLast = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_AddStatusLast)

    def __init__(self, *args):
        r"""
        :param theAllocator: default value is 0
        	:type theAllocator: IntSurf_Allocator
        	:rtype: None
        """
        _Contap.Contap_TheIWLineOfTheIWalking_swiginit(self, _Contap.new_Contap_TheIWLineOfTheIWalking(*args))
    Cut = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_Cut)
    FirstPoint = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_FirstPoint)
    FirstPointIndex = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_FirstPointIndex)
    HasFirstPoint = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_HasFirstPoint)
    HasLastPoint = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_HasLastPoint)
    IsClosed = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_IsClosed)
    IsTangentAtBegining = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_IsTangentAtBegining)
    IsTangentAtEnd = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_IsTangentAtEnd)
    LastPoint = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_LastPoint)
    LastPointIndex = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_LastPointIndex)
    Line = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_Line)
    NbPassingPoint = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_NbPassingPoint)
    NbPoints = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_NbPoints)
    PassingPoint = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_PassingPoint)
    Reverse = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_Reverse)
    SetTangencyAtBegining = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_SetTangencyAtBegining)
    SetTangencyAtEnd = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_SetTangencyAtEnd)
    SetTangentVector = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_SetTangentVector)
    TangentVector = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_TangentVector)
    Value = _swig_new_instance_method(_Contap.Contap_TheIWLineOfTheIWalking_Value)


    @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"""
        * 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
        	:param Epsilon:
        	:type Epsilon: float
        	:param Deflection:
        	:type Deflection: float
        	:param Step:
        	:type Step: float
        	:param theToFillHoles: default value is Standard_False
        	:type theToFillHoles: bool
        	:rtype: None
        """
        _Contap.Contap_TheIWalking_swiginit(self, _Contap.new_Contap_TheIWalking(*args))
    IsDone = _swig_new_instance_method(_Contap.Contap_TheIWalking_IsDone)
    NbLines = _swig_new_instance_method(_Contap.Contap_TheIWalking_NbLines)
    NbSinglePnts = _swig_new_instance_method(_Contap.Contap_TheIWalking_NbSinglePnts)
    Perform = _swig_new_instance_method(_Contap.Contap_TheIWalking_Perform)
    SetTolerance = _swig_new_instance_method(_Contap.Contap_TheIWalking_SetTolerance)
    SinglePnt = _swig_new_instance_method(_Contap.Contap_TheIWalking_SinglePnt)
    Value = _swig_new_instance_method(_Contap.Contap_TheIWalking_Value)

    __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
    Arc = _swig_new_instance_method(_Contap.Contap_ThePathPointOfTheSearch_Arc)

    def __init__(self, *args):
        r"""
        :rtype: None:param P:
        	:type P: gp_Pnt
        	:param Tol:
        	:type Tol: float
        	:param V:
        	:type V: Adaptor3d_HVertex
        	:param A:
        	:type A: Adaptor2d_HCurve2d
        	:param Parameter:
        	:type Parameter: float
        	:rtype: None:param P:
        	:type P: gp_Pnt
        	:param Tol:
        	:type Tol: float
        	:param A:
        	:type A: Adaptor2d_HCurve2d
        	:param Parameter:
        	:type Parameter: float
        	:rtype: None
        """
        _Contap.Contap_ThePathPointOfTheSearch_swiginit(self, _Contap.new_Contap_ThePathPointOfTheSearch(*args))
    IsNew = _swig_new_instance_method(_Contap.Contap_ThePathPointOfTheSearch_IsNew)
    Parameter = _swig_new_instance_method(_Contap.Contap_ThePathPointOfTheSearch_Parameter)
    SetValue = _swig_new_instance_method(_Contap.Contap_ThePathPointOfTheSearch_SetValue)
    Tolerance = _swig_new_instance_method(_Contap.Contap_ThePathPointOfTheSearch_Tolerance)
    Value = _swig_new_instance_method(_Contap.Contap_ThePathPointOfTheSearch_Value)
    Vertex = _swig_new_instance_method(_Contap.Contap_ThePathPointOfTheSearch_Vertex)

    __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
    AllArcSolution = _swig_new_instance_method(_Contap.Contap_TheSearch_AllArcSolution)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None
        """
        _Contap.Contap_TheSearch_swiginit(self, _Contap.new_Contap_TheSearch(*args))
    IsDone = _swig_new_instance_method(_Contap.Contap_TheSearch_IsDone)
    NbPoints = _swig_new_instance_method(_Contap.Contap_TheSearch_NbPoints)
    NbSegments = _swig_new_instance_method(_Contap.Contap_TheSearch_NbSegments)
    Perform = _swig_new_instance_method(_Contap.Contap_TheSearch_Perform)
    Point = _swig_new_instance_method(_Contap.Contap_TheSearch_Point)
    Segment = _swig_new_instance_method(_Contap.Contap_TheSearch_Segment)

    __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"""
        :rtype: None:param F:
        	:type F: Contap_SurfFunction
        	:param Surf:
        	:type Surf: Adaptor3d_HSurface
        	:param T:
        	:type T: Adaptor3d_TopolTool
        	:param Epsilon:
        	:type Epsilon: float
        	:rtype: None
        """
        _Contap.Contap_TheSearchInside_swiginit(self, _Contap.new_Contap_TheSearchInside(*args))
    IsDone = _swig_new_instance_method(_Contap.Contap_TheSearchInside_IsDone)
    NbPoints = _swig_new_instance_method(_Contap.Contap_TheSearchInside_NbPoints)
    Perform = _swig_new_instance_method(_Contap.Contap_TheSearchInside_Perform)
    Value = _swig_new_instance_method(_Contap.Contap_TheSearchInside_Value)

    __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"""
        * Empty constructor.
        	:rtype: None
        """
        _Contap.Contap_TheSegmentOfTheSearch_swiginit(self, _Contap.new_Contap_TheSegmentOfTheSearch(*args))
    Curve = _swig_new_instance_method(_Contap.Contap_TheSegmentOfTheSearch_Curve)
    FirstPoint = _swig_new_instance_method(_Contap.Contap_TheSegmentOfTheSearch_FirstPoint)
    HasFirstPoint = _swig_new_instance_method(_Contap.Contap_TheSegmentOfTheSearch_HasFirstPoint)
    HasLastPoint = _swig_new_instance_method(_Contap.Contap_TheSegmentOfTheSearch_HasLastPoint)
    LastPoint = _swig_new_instance_method(_Contap.Contap_TheSegmentOfTheSearch_LastPoint)
    SetLimitPoint = _swig_new_instance_method(_Contap.Contap_TheSegmentOfTheSearch_SetLimitPoint)
    SetValue = _swig_new_instance_method(_Contap.Contap_TheSegmentOfTheSearch_SetValue)

    __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))
    Sequence = _swig_new_instance_method(_Contap.Contap_TheHSequenceOfPoint_Sequence)
    Append = _swig_new_instance_method(_Contap.Contap_TheHSequenceOfPoint_Append)
    ChangeSequence = _swig_new_instance_method(_Contap.Contap_TheHSequenceOfPoint_ChangeSequence)


    @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)



