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

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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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

# Register SwigPyIterator in _IntTools:
_IntTools.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.BRepAdaptor
import OCC.Core.Adaptor3d
import OCC.Core.Geom
import OCC.Core.gp
import OCC.Core.GeomAbs
import OCC.Core.TColgp
import OCC.Core.TColStd
import OCC.Core.TCollection
import OCC.Core.TopAbs
import OCC.Core.Adaptor2d
import OCC.Core.Geom2d
import OCC.Core.math
import OCC.Core.Message
import OCC.Core.TopoDS
import OCC.Core.TopLoc
import OCC.Core.GeomAdaptor
import OCC.Core.Geom2dAdaptor
import OCC.Core.Bnd
import OCC.Core.BVH
import OCC.Core.Geom2dHatch
import OCC.Core.IntRes2d
import OCC.Core.HatchGen
import OCC.Core.Geom2dInt
import OCC.Core.IntCurve
import OCC.Core.Extrema
import OCC.Core.Intf
import OCC.Core.GeomAPI
import OCC.Core.Approx
import OCC.Core.AppCont
import OCC.Core.AppParCurves
import OCC.Core.BRepClass3d
import OCC.Core.IntCurveSurface
import OCC.Core.IntSurf
import OCC.Core.TopTools
import OCC.Core.IntCurvesFace
import OCC.Core.IntPatch
import OCC.Core.IntAna
import OCC.Core.GeomInt
import OCC.Core.IntImp
import OCC.Core.ApproxInt
Handle_IntTools_Context_Create = _IntTools.Handle_IntTools_Context_Create
Handle_IntTools_Context_DownCast = _IntTools.Handle_IntTools_Context_DownCast
Handle_IntTools_Context_IsNull = _IntTools.Handle_IntTools_Context_IsNull
Handle_IntTools_TopolTool_Create = _IntTools.Handle_IntTools_TopolTool_Create
Handle_IntTools_TopolTool_DownCast = _IntTools.Handle_IntTools_TopolTool_DownCast
Handle_IntTools_TopolTool_IsNull = _IntTools.Handle_IntTools_TopolTool_IsNull
class IntTools_DataMapOfSurfaceSampleBox(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(_IntTools.IntTools_DataMapOfSurfaceSampleBox_begin)
    end = _swig_new_instance_method(_IntTools.IntTools_DataMapOfSurfaceSampleBox_end)
    cbegin = _swig_new_instance_method(_IntTools.IntTools_DataMapOfSurfaceSampleBox_cbegin)
    cend = _swig_new_instance_method(_IntTools.IntTools_DataMapOfSurfaceSampleBox_cend)

    def __init__(self, *args):
        _IntTools.IntTools_DataMapOfSurfaceSampleBox_swiginit(self, _IntTools.new_IntTools_DataMapOfSurfaceSampleBox(*args))
    Exchange = _swig_new_instance_method(_IntTools.IntTools_DataMapOfSurfaceSampleBox_Exchange)
    Assign = _swig_new_instance_method(_IntTools.IntTools_DataMapOfSurfaceSampleBox_Assign)
    Set = _swig_new_instance_method(_IntTools.IntTools_DataMapOfSurfaceSampleBox_Set)
    ReSize = _swig_new_instance_method(_IntTools.IntTools_DataMapOfSurfaceSampleBox_ReSize)
    Bind = _swig_new_instance_method(_IntTools.IntTools_DataMapOfSurfaceSampleBox_Bind)
    Bound = _swig_new_instance_method(_IntTools.IntTools_DataMapOfSurfaceSampleBox_Bound)
    IsBound = _swig_new_instance_method(_IntTools.IntTools_DataMapOfSurfaceSampleBox_IsBound)
    UnBind = _swig_new_instance_method(_IntTools.IntTools_DataMapOfSurfaceSampleBox_UnBind)
    Seek = _swig_new_instance_method(_IntTools.IntTools_DataMapOfSurfaceSampleBox_Seek)
    Find = _swig_new_instance_method(_IntTools.IntTools_DataMapOfSurfaceSampleBox_Find)
    ChangeSeek = _swig_new_instance_method(_IntTools.IntTools_DataMapOfSurfaceSampleBox_ChangeSeek)
    ChangeFind = _swig_new_instance_method(_IntTools.IntTools_DataMapOfSurfaceSampleBox_ChangeFind)
    __call__ = _swig_new_instance_method(_IntTools.IntTools_DataMapOfSurfaceSampleBox___call__)
    Clear = _swig_new_instance_method(_IntTools.IntTools_DataMapOfSurfaceSampleBox_Clear)
    __swig_destroy__ = _IntTools.delete_IntTools_DataMapOfSurfaceSampleBox
    Size = _swig_new_instance_method(_IntTools.IntTools_DataMapOfSurfaceSampleBox_Size)

# Register IntTools_DataMapOfSurfaceSampleBox in _IntTools:
_IntTools.IntTools_DataMapOfSurfaceSampleBox_swigregister(IntTools_DataMapOfSurfaceSampleBox)

class IntTools_SequenceOfCommonPrts(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(_IntTools.IntTools_SequenceOfCommonPrts_begin)
    end = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_end)
    cbegin = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_cbegin)
    cend = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_cend)

    def __init__(self, *args):
        _IntTools.IntTools_SequenceOfCommonPrts_swiginit(self, _IntTools.new_IntTools_SequenceOfCommonPrts(*args))
    Size = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_Size)
    Length = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_Length)
    Lower = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_Lower)
    Upper = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_Upper)
    IsEmpty = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_IsEmpty)
    Reverse = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_Reverse)
    Exchange = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_Exchange)
    delNode = _swig_new_static_method(_IntTools.IntTools_SequenceOfCommonPrts_delNode)
    Clear = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_Clear)
    Assign = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_Assign)
    Set = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_Set)
    Remove = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_Remove)
    Append = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_Append)
    Prepend = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_Prepend)
    InsertBefore = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_InsertBefore)
    InsertAfter = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_InsertAfter)
    Split = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_Split)
    First = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_First)
    ChangeFirst = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_ChangeFirst)
    Last = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_Last)
    ChangeLast = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_ChangeLast)
    Value = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_Value)
    ChangeValue = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_ChangeValue)
    __call__ = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts___call__)
    SetValue = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCommonPrts_SetValue)
    __swig_destroy__ = _IntTools.delete_IntTools_SequenceOfCommonPrts

# Register IntTools_SequenceOfCommonPrts in _IntTools:
_IntTools.IntTools_SequenceOfCommonPrts_swigregister(IntTools_SequenceOfCommonPrts)
IntTools_SequenceOfCommonPrts_delNode = _IntTools.IntTools_SequenceOfCommonPrts_delNode

class IntTools_Array1OfRoots(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(_IntTools.IntTools_Array1OfRoots_begin)
    end = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_end)
    cbegin = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_cbegin)
    cend = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_cend)

    def __init__(self, *args):
        _IntTools.IntTools_Array1OfRoots_swiginit(self, _IntTools.new_IntTools_Array1OfRoots(*args))
    Init = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_Init)
    Size = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_Size)
    Length = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_Length)
    IsEmpty = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_IsEmpty)
    Lower = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_Lower)
    Upper = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_Upper)
    IsDeletable = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_IsDeletable)
    IsAllocated = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_IsAllocated)
    Assign = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_Assign)
    Move = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_Move)
    Set = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_Set)
    First = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_First)
    ChangeFirst = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_ChangeFirst)
    Last = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_Last)
    ChangeLast = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_ChangeLast)
    Value = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_Value)
    ChangeValue = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_ChangeValue)
    __call__ = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots___call__)
    SetValue = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_SetValue)
    Resize = _swig_new_instance_method(_IntTools.IntTools_Array1OfRoots_Resize)
    __swig_destroy__ = _IntTools.delete_IntTools_Array1OfRoots

    def __getitem__(self, index):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            return self.Value(index + self.Lower())

    def __setitem__(self, index, value):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            self.SetValue(index + self.Lower(), value)

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

    def __iter__(self):
        self.low = self.Lower()
        self.up = self.Upper()
        self.current = self.Lower() - 1
        return self

    def next(self):
        if self.current >= self.Upper():
            raise StopIteration
        else:
            self.current += 1
        return self.Value(self.current)

    __next__ = next


# Register IntTools_Array1OfRoots in _IntTools:
_IntTools.IntTools_Array1OfRoots_swigregister(IntTools_Array1OfRoots)

class IntTools_MapOfCurveSample(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    cbegin = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_cbegin)
    cend = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_cend)

    def __init__(self, *args):
        _IntTools.IntTools_MapOfCurveSample_swiginit(self, _IntTools.new_IntTools_MapOfCurveSample(*args))
    Exchange = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_Exchange)
    Assign = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_Assign)
    Set = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_Set)
    ReSize = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_ReSize)
    Add = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_Add)
    Added = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_Added)
    Remove = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_Remove)
    Clear = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_Clear)
    __swig_destroy__ = _IntTools.delete_IntTools_MapOfCurveSample
    Size = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_Size)
    IsEqual = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_IsEqual)
    Contains = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_Contains)
    Union = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_Union)
    Unite = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_Unite)
    HasIntersection = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_HasIntersection)
    Intersection = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_Intersection)
    Intersect = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_Intersect)
    Subtraction = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_Subtraction)
    Subtract = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_Subtract)
    Difference = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_Difference)
    Differ = _swig_new_instance_method(_IntTools.IntTools_MapOfCurveSample_Differ)

# Register IntTools_MapOfCurveSample in _IntTools:
_IntTools.IntTools_MapOfCurveSample_swigregister(IntTools_MapOfCurveSample)

class IntTools_SequenceOfCurves(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(_IntTools.IntTools_SequenceOfCurves_begin)
    end = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_end)
    cbegin = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_cbegin)
    cend = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_cend)

    def __init__(self, *args):
        _IntTools.IntTools_SequenceOfCurves_swiginit(self, _IntTools.new_IntTools_SequenceOfCurves(*args))
    Size = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_Size)
    Length = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_Length)
    Lower = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_Lower)
    Upper = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_Upper)
    IsEmpty = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_IsEmpty)
    Reverse = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_Reverse)
    Exchange = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_Exchange)
    delNode = _swig_new_static_method(_IntTools.IntTools_SequenceOfCurves_delNode)
    Clear = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_Clear)
    Assign = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_Assign)
    Set = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_Set)
    Remove = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_Remove)
    Append = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_Append)
    Prepend = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_Prepend)
    InsertBefore = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_InsertBefore)
    InsertAfter = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_InsertAfter)
    Split = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_Split)
    First = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_First)
    ChangeFirst = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_ChangeFirst)
    Last = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_Last)
    ChangeLast = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_ChangeLast)
    Value = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_Value)
    ChangeValue = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_ChangeValue)
    __call__ = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves___call__)
    SetValue = _swig_new_instance_method(_IntTools.IntTools_SequenceOfCurves_SetValue)
    __swig_destroy__ = _IntTools.delete_IntTools_SequenceOfCurves

# Register IntTools_SequenceOfCurves in _IntTools:
_IntTools.IntTools_SequenceOfCurves_swigregister(IntTools_SequenceOfCurves)
IntTools_SequenceOfCurves_delNode = _IntTools.IntTools_SequenceOfCurves_delNode

class IntTools_ListOfSurfaceRangeSample(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(_IntTools.IntTools_ListOfSurfaceRangeSample_begin)
    end = _swig_new_instance_method(_IntTools.IntTools_ListOfSurfaceRangeSample_end)
    cbegin = _swig_new_instance_method(_IntTools.IntTools_ListOfSurfaceRangeSample_cbegin)
    cend = _swig_new_instance_method(_IntTools.IntTools_ListOfSurfaceRangeSample_cend)

    def __init__(self, *args):
        _IntTools.IntTools_ListOfSurfaceRangeSample_swiginit(self, _IntTools.new_IntTools_ListOfSurfaceRangeSample(*args))
    Size = _swig_new_instance_method(_IntTools.IntTools_ListOfSurfaceRangeSample_Size)
    Assign = _swig_new_instance_method(_IntTools.IntTools_ListOfSurfaceRangeSample_Assign)
    Set = _swig_new_instance_method(_IntTools.IntTools_ListOfSurfaceRangeSample_Set)
    Clear = _swig_new_instance_method(_IntTools.IntTools_ListOfSurfaceRangeSample_Clear)
    First = _swig_new_instance_method(_IntTools.IntTools_ListOfSurfaceRangeSample_First)
    Last = _swig_new_instance_method(_IntTools.IntTools_ListOfSurfaceRangeSample_Last)
    Append = _swig_new_instance_method(_IntTools.IntTools_ListOfSurfaceRangeSample_Append)
    Prepend = _swig_new_instance_method(_IntTools.IntTools_ListOfSurfaceRangeSample_Prepend)
    RemoveFirst = _swig_new_instance_method(_IntTools.IntTools_ListOfSurfaceRangeSample_RemoveFirst)
    Remove = _swig_new_instance_method(_IntTools.IntTools_ListOfSurfaceRangeSample_Remove)
    InsertBefore = _swig_new_instance_method(_IntTools.IntTools_ListOfSurfaceRangeSample_InsertBefore)
    InsertAfter = _swig_new_instance_method(_IntTools.IntTools_ListOfSurfaceRangeSample_InsertAfter)
    Reverse = _swig_new_instance_method(_IntTools.IntTools_ListOfSurfaceRangeSample_Reverse)
    __swig_destroy__ = _IntTools.delete_IntTools_ListOfSurfaceRangeSample

# Register IntTools_ListOfSurfaceRangeSample in _IntTools:
_IntTools.IntTools_ListOfSurfaceRangeSample_swigregister(IntTools_ListOfSurfaceRangeSample)

class IntTools_ListIteratorOfListOfSurfaceRangeSample(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):
        _IntTools.IntTools_ListIteratorOfListOfSurfaceRangeSample_swiginit(self, _IntTools.new_IntTools_ListIteratorOfListOfSurfaceRangeSample(*args))
    More = _swig_new_instance_method(_IntTools.IntTools_ListIteratorOfListOfSurfaceRangeSample_More)
    Next = _swig_new_instance_method(_IntTools.IntTools_ListIteratorOfListOfSurfaceRangeSample_Next)
    Value = _swig_new_instance_method(_IntTools.IntTools_ListIteratorOfListOfSurfaceRangeSample_Value)
    ChangeValue = _swig_new_instance_method(_IntTools.IntTools_ListIteratorOfListOfSurfaceRangeSample_ChangeValue)
    __swig_destroy__ = _IntTools.delete_IntTools_ListIteratorOfListOfSurfaceRangeSample

# Register IntTools_ListIteratorOfListOfSurfaceRangeSample in _IntTools:
_IntTools.IntTools_ListIteratorOfListOfSurfaceRangeSample_swigregister(IntTools_ListIteratorOfListOfSurfaceRangeSample)

class IntTools_ListOfCurveRangeSample(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(_IntTools.IntTools_ListOfCurveRangeSample_begin)
    end = _swig_new_instance_method(_IntTools.IntTools_ListOfCurveRangeSample_end)
    cbegin = _swig_new_instance_method(_IntTools.IntTools_ListOfCurveRangeSample_cbegin)
    cend = _swig_new_instance_method(_IntTools.IntTools_ListOfCurveRangeSample_cend)

    def __init__(self, *args):
        _IntTools.IntTools_ListOfCurveRangeSample_swiginit(self, _IntTools.new_IntTools_ListOfCurveRangeSample(*args))
    Size = _swig_new_instance_method(_IntTools.IntTools_ListOfCurveRangeSample_Size)
    Assign = _swig_new_instance_method(_IntTools.IntTools_ListOfCurveRangeSample_Assign)
    Set = _swig_new_instance_method(_IntTools.IntTools_ListOfCurveRangeSample_Set)
    Clear = _swig_new_instance_method(_IntTools.IntTools_ListOfCurveRangeSample_Clear)
    First = _swig_new_instance_method(_IntTools.IntTools_ListOfCurveRangeSample_First)
    Last = _swig_new_instance_method(_IntTools.IntTools_ListOfCurveRangeSample_Last)
    Append = _swig_new_instance_method(_IntTools.IntTools_ListOfCurveRangeSample_Append)
    Prepend = _swig_new_instance_method(_IntTools.IntTools_ListOfCurveRangeSample_Prepend)
    RemoveFirst = _swig_new_instance_method(_IntTools.IntTools_ListOfCurveRangeSample_RemoveFirst)
    Remove = _swig_new_instance_method(_IntTools.IntTools_ListOfCurveRangeSample_Remove)
    InsertBefore = _swig_new_instance_method(_IntTools.IntTools_ListOfCurveRangeSample_InsertBefore)
    InsertAfter = _swig_new_instance_method(_IntTools.IntTools_ListOfCurveRangeSample_InsertAfter)
    Reverse = _swig_new_instance_method(_IntTools.IntTools_ListOfCurveRangeSample_Reverse)
    __swig_destroy__ = _IntTools.delete_IntTools_ListOfCurveRangeSample

# Register IntTools_ListOfCurveRangeSample in _IntTools:
_IntTools.IntTools_ListOfCurveRangeSample_swigregister(IntTools_ListOfCurveRangeSample)

class IntTools_ListIteratorOfListOfCurveRangeSample(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):
        _IntTools.IntTools_ListIteratorOfListOfCurveRangeSample_swiginit(self, _IntTools.new_IntTools_ListIteratorOfListOfCurveRangeSample(*args))
    More = _swig_new_instance_method(_IntTools.IntTools_ListIteratorOfListOfCurveRangeSample_More)
    Next = _swig_new_instance_method(_IntTools.IntTools_ListIteratorOfListOfCurveRangeSample_Next)
    Value = _swig_new_instance_method(_IntTools.IntTools_ListIteratorOfListOfCurveRangeSample_Value)
    ChangeValue = _swig_new_instance_method(_IntTools.IntTools_ListIteratorOfListOfCurveRangeSample_ChangeValue)
    __swig_destroy__ = _IntTools.delete_IntTools_ListIteratorOfListOfCurveRangeSample

# Register IntTools_ListIteratorOfListOfCurveRangeSample in _IntTools:
_IntTools.IntTools_ListIteratorOfListOfCurveRangeSample_swigregister(IntTools_ListIteratorOfListOfCurveRangeSample)

class IntTools_Array1OfRange(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(_IntTools.IntTools_Array1OfRange_begin)
    end = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_end)
    cbegin = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_cbegin)
    cend = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_cend)

    def __init__(self, *args):
        _IntTools.IntTools_Array1OfRange_swiginit(self, _IntTools.new_IntTools_Array1OfRange(*args))
    Init = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_Init)
    Size = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_Size)
    Length = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_Length)
    IsEmpty = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_IsEmpty)
    Lower = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_Lower)
    Upper = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_Upper)
    IsDeletable = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_IsDeletable)
    IsAllocated = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_IsAllocated)
    Assign = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_Assign)
    Move = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_Move)
    Set = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_Set)
    First = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_First)
    ChangeFirst = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_ChangeFirst)
    Last = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_Last)
    ChangeLast = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_ChangeLast)
    Value = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_Value)
    ChangeValue = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_ChangeValue)
    __call__ = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange___call__)
    SetValue = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_SetValue)
    Resize = _swig_new_instance_method(_IntTools.IntTools_Array1OfRange_Resize)
    __swig_destroy__ = _IntTools.delete_IntTools_Array1OfRange

    def __getitem__(self, index):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            return self.Value(index + self.Lower())

    def __setitem__(self, index, value):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            self.SetValue(index + self.Lower(), value)

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

    def __iter__(self):
        self.low = self.Lower()
        self.up = self.Upper()
        self.current = self.Lower() - 1
        return self

    def next(self):
        if self.current >= self.Upper():
            raise StopIteration
        else:
            self.current += 1
        return self.Value(self.current)

    __next__ = next


# Register IntTools_Array1OfRange in _IntTools:
_IntTools.IntTools_Array1OfRange_swigregister(IntTools_Array1OfRange)

class IntTools_ListOfBox(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(_IntTools.IntTools_ListOfBox_begin)
    end = _swig_new_instance_method(_IntTools.IntTools_ListOfBox_end)
    cbegin = _swig_new_instance_method(_IntTools.IntTools_ListOfBox_cbegin)
    cend = _swig_new_instance_method(_IntTools.IntTools_ListOfBox_cend)

    def __init__(self, *args):
        _IntTools.IntTools_ListOfBox_swiginit(self, _IntTools.new_IntTools_ListOfBox(*args))
    Size = _swig_new_instance_method(_IntTools.IntTools_ListOfBox_Size)
    Assign = _swig_new_instance_method(_IntTools.IntTools_ListOfBox_Assign)
    Set = _swig_new_instance_method(_IntTools.IntTools_ListOfBox_Set)
    Clear = _swig_new_instance_method(_IntTools.IntTools_ListOfBox_Clear)
    First = _swig_new_instance_method(_IntTools.IntTools_ListOfBox_First)
    Last = _swig_new_instance_method(_IntTools.IntTools_ListOfBox_Last)
    Append = _swig_new_instance_method(_IntTools.IntTools_ListOfBox_Append)
    Prepend = _swig_new_instance_method(_IntTools.IntTools_ListOfBox_Prepend)
    RemoveFirst = _swig_new_instance_method(_IntTools.IntTools_ListOfBox_RemoveFirst)
    Remove = _swig_new_instance_method(_IntTools.IntTools_ListOfBox_Remove)
    InsertBefore = _swig_new_instance_method(_IntTools.IntTools_ListOfBox_InsertBefore)
    InsertAfter = _swig_new_instance_method(_IntTools.IntTools_ListOfBox_InsertAfter)
    Reverse = _swig_new_instance_method(_IntTools.IntTools_ListOfBox_Reverse)
    __swig_destroy__ = _IntTools.delete_IntTools_ListOfBox

# Register IntTools_ListOfBox in _IntTools:
_IntTools.IntTools_ListOfBox_swigregister(IntTools_ListOfBox)

class IntTools_ListIteratorOfListOfBox(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):
        _IntTools.IntTools_ListIteratorOfListOfBox_swiginit(self, _IntTools.new_IntTools_ListIteratorOfListOfBox(*args))
    More = _swig_new_instance_method(_IntTools.IntTools_ListIteratorOfListOfBox_More)
    Next = _swig_new_instance_method(_IntTools.IntTools_ListIteratorOfListOfBox_Next)
    Value = _swig_new_instance_method(_IntTools.IntTools_ListIteratorOfListOfBox_Value)
    ChangeValue = _swig_new_instance_method(_IntTools.IntTools_ListIteratorOfListOfBox_ChangeValue)
    __swig_destroy__ = _IntTools.delete_IntTools_ListIteratorOfListOfBox

# Register IntTools_ListIteratorOfListOfBox in _IntTools:
_IntTools.IntTools_ListIteratorOfListOfBox_swigregister(IntTools_ListIteratorOfListOfBox)

class IntTools_MapOfSurfaceSample(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    cbegin = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_cbegin)
    cend = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_cend)

    def __init__(self, *args):
        _IntTools.IntTools_MapOfSurfaceSample_swiginit(self, _IntTools.new_IntTools_MapOfSurfaceSample(*args))
    Exchange = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_Exchange)
    Assign = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_Assign)
    Set = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_Set)
    ReSize = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_ReSize)
    Add = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_Add)
    Added = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_Added)
    Remove = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_Remove)
    Clear = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_Clear)
    __swig_destroy__ = _IntTools.delete_IntTools_MapOfSurfaceSample
    Size = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_Size)
    IsEqual = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_IsEqual)
    Contains = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_Contains)
    Union = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_Union)
    Unite = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_Unite)
    HasIntersection = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_HasIntersection)
    Intersection = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_Intersection)
    Intersect = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_Intersect)
    Subtraction = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_Subtraction)
    Subtract = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_Subtract)
    Difference = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_Difference)
    Differ = _swig_new_instance_method(_IntTools.IntTools_MapOfSurfaceSample_Differ)

# Register IntTools_MapOfSurfaceSample in _IntTools:
_IntTools.IntTools_MapOfSurfaceSample_swigregister(IntTools_MapOfSurfaceSample)

class IntTools_SequenceOfRanges(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(_IntTools.IntTools_SequenceOfRanges_begin)
    end = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_end)
    cbegin = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_cbegin)
    cend = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_cend)

    def __init__(self, *args):
        _IntTools.IntTools_SequenceOfRanges_swiginit(self, _IntTools.new_IntTools_SequenceOfRanges(*args))
    Size = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_Size)
    Length = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_Length)
    Lower = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_Lower)
    Upper = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_Upper)
    IsEmpty = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_IsEmpty)
    Reverse = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_Reverse)
    Exchange = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_Exchange)
    delNode = _swig_new_static_method(_IntTools.IntTools_SequenceOfRanges_delNode)
    Clear = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_Clear)
    Assign = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_Assign)
    Set = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_Set)
    Remove = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_Remove)
    Append = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_Append)
    Prepend = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_Prepend)
    InsertBefore = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_InsertBefore)
    InsertAfter = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_InsertAfter)
    Split = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_Split)
    First = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_First)
    ChangeFirst = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_ChangeFirst)
    Last = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_Last)
    ChangeLast = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_ChangeLast)
    Value = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_Value)
    ChangeValue = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_ChangeValue)
    __call__ = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges___call__)
    SetValue = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRanges_SetValue)
    __swig_destroy__ = _IntTools.delete_IntTools_SequenceOfRanges

# Register IntTools_SequenceOfRanges in _IntTools:
_IntTools.IntTools_SequenceOfRanges_swigregister(IntTools_SequenceOfRanges)
IntTools_SequenceOfRanges_delNode = _IntTools.IntTools_SequenceOfRanges_delNode

class IntTools_SequenceOfRoots(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(_IntTools.IntTools_SequenceOfRoots_begin)
    end = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_end)
    cbegin = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_cbegin)
    cend = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_cend)

    def __init__(self, *args):
        _IntTools.IntTools_SequenceOfRoots_swiginit(self, _IntTools.new_IntTools_SequenceOfRoots(*args))
    Size = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_Size)
    Length = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_Length)
    Lower = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_Lower)
    Upper = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_Upper)
    IsEmpty = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_IsEmpty)
    Reverse = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_Reverse)
    Exchange = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_Exchange)
    delNode = _swig_new_static_method(_IntTools.IntTools_SequenceOfRoots_delNode)
    Clear = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_Clear)
    Assign = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_Assign)
    Set = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_Set)
    Remove = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_Remove)
    Append = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_Append)
    Prepend = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_Prepend)
    InsertBefore = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_InsertBefore)
    InsertAfter = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_InsertAfter)
    Split = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_Split)
    First = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_First)
    ChangeFirst = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_ChangeFirst)
    Last = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_Last)
    ChangeLast = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_ChangeLast)
    Value = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_Value)
    ChangeValue = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_ChangeValue)
    __call__ = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots___call__)
    SetValue = _swig_new_instance_method(_IntTools.IntTools_SequenceOfRoots_SetValue)
    __swig_destroy__ = _IntTools.delete_IntTools_SequenceOfRoots

# Register IntTools_SequenceOfRoots in _IntTools:
_IntTools.IntTools_SequenceOfRoots_swigregister(IntTools_SequenceOfRoots)
IntTools_SequenceOfRoots_delNode = _IntTools.IntTools_SequenceOfRoots_delNode

class IntTools_SequenceOfPntOn2Faces(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(_IntTools.IntTools_SequenceOfPntOn2Faces_begin)
    end = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_end)
    cbegin = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_cbegin)
    cend = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_cend)

    def __init__(self, *args):
        _IntTools.IntTools_SequenceOfPntOn2Faces_swiginit(self, _IntTools.new_IntTools_SequenceOfPntOn2Faces(*args))
    Size = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_Size)
    Length = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_Length)
    Lower = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_Lower)
    Upper = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_Upper)
    IsEmpty = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_IsEmpty)
    Reverse = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_Reverse)
    Exchange = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_Exchange)
    delNode = _swig_new_static_method(_IntTools.IntTools_SequenceOfPntOn2Faces_delNode)
    Clear = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_Clear)
    Assign = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_Assign)
    Set = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_Set)
    Remove = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_Remove)
    Append = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_Append)
    Prepend = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_Prepend)
    InsertBefore = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_InsertBefore)
    InsertAfter = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_InsertAfter)
    Split = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_Split)
    First = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_First)
    ChangeFirst = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_ChangeFirst)
    Last = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_Last)
    ChangeLast = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_ChangeLast)
    Value = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_Value)
    ChangeValue = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_ChangeValue)
    __call__ = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces___call__)
    SetValue = _swig_new_instance_method(_IntTools.IntTools_SequenceOfPntOn2Faces_SetValue)
    __swig_destroy__ = _IntTools.delete_IntTools_SequenceOfPntOn2Faces

# Register IntTools_SequenceOfPntOn2Faces in _IntTools:
_IntTools.IntTools_SequenceOfPntOn2Faces_swigregister(IntTools_SequenceOfPntOn2Faces)
IntTools_SequenceOfPntOn2Faces_delNode = _IntTools.IntTools_SequenceOfPntOn2Faces_delNode

class IntTools_DataMapOfCurveSampleBox(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(_IntTools.IntTools_DataMapOfCurveSampleBox_begin)
    end = _swig_new_instance_method(_IntTools.IntTools_DataMapOfCurveSampleBox_end)
    cbegin = _swig_new_instance_method(_IntTools.IntTools_DataMapOfCurveSampleBox_cbegin)
    cend = _swig_new_instance_method(_IntTools.IntTools_DataMapOfCurveSampleBox_cend)

    def __init__(self, *args):
        _IntTools.IntTools_DataMapOfCurveSampleBox_swiginit(self, _IntTools.new_IntTools_DataMapOfCurveSampleBox(*args))
    Exchange = _swig_new_instance_method(_IntTools.IntTools_DataMapOfCurveSampleBox_Exchange)
    Assign = _swig_new_instance_method(_IntTools.IntTools_DataMapOfCurveSampleBox_Assign)
    Set = _swig_new_instance_method(_IntTools.IntTools_DataMapOfCurveSampleBox_Set)
    ReSize = _swig_new_instance_method(_IntTools.IntTools_DataMapOfCurveSampleBox_ReSize)
    Bind = _swig_new_instance_method(_IntTools.IntTools_DataMapOfCurveSampleBox_Bind)
    Bound = _swig_new_instance_method(_IntTools.IntTools_DataMapOfCurveSampleBox_Bound)
    IsBound = _swig_new_instance_method(_IntTools.IntTools_DataMapOfCurveSampleBox_IsBound)
    UnBind = _swig_new_instance_method(_IntTools.IntTools_DataMapOfCurveSampleBox_UnBind)
    Seek = _swig_new_instance_method(_IntTools.IntTools_DataMapOfCurveSampleBox_Seek)
    Find = _swig_new_instance_method(_IntTools.IntTools_DataMapOfCurveSampleBox_Find)
    ChangeSeek = _swig_new_instance_method(_IntTools.IntTools_DataMapOfCurveSampleBox_ChangeSeek)
    ChangeFind = _swig_new_instance_method(_IntTools.IntTools_DataMapOfCurveSampleBox_ChangeFind)
    __call__ = _swig_new_instance_method(_IntTools.IntTools_DataMapOfCurveSampleBox___call__)
    Clear = _swig_new_instance_method(_IntTools.IntTools_DataMapOfCurveSampleBox_Clear)
    __swig_destroy__ = _IntTools.delete_IntTools_DataMapOfCurveSampleBox
    Size = _swig_new_instance_method(_IntTools.IntTools_DataMapOfCurveSampleBox_Size)

# Register IntTools_DataMapOfCurveSampleBox in _IntTools:
_IntTools.IntTools_DataMapOfCurveSampleBox_swigregister(IntTools_DataMapOfCurveSampleBox)

class inttools(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    FindRootStates = _swig_new_static_method(_IntTools.inttools_FindRootStates)
    GetRadius = _swig_new_static_method(_IntTools.inttools_GetRadius)
    Length = _swig_new_static_method(_IntTools.inttools_Length)
    Parameter = _swig_new_static_method(_IntTools.inttools_Parameter)
    PrepareArgs = _swig_new_static_method(_IntTools.inttools_PrepareArgs)
    RemoveIdenticalRoots = _swig_new_static_method(_IntTools.inttools_RemoveIdenticalRoots)
    SortRoots = _swig_new_static_method(_IntTools.inttools_SortRoots)

    __repr__ = _dumps_object


    def __init__(self):
        _IntTools.inttools_swiginit(self, _IntTools.new_inttools())
    __swig_destroy__ = _IntTools.delete_inttools

# Register inttools in _IntTools:
_IntTools.inttools_swigregister(inttools)
inttools_FindRootStates = _IntTools.inttools_FindRootStates
inttools_GetRadius = _IntTools.inttools_GetRadius
inttools_Length = _IntTools.inttools_Length
inttools_Parameter = _IntTools.inttools_Parameter
inttools_PrepareArgs = _IntTools.inttools_PrepareArgs
inttools_RemoveIdenticalRoots = _IntTools.inttools_RemoveIdenticalRoots
inttools_SortRoots = _IntTools.inttools_SortRoots

class IntTools_BaseRangeSample(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    GetDepth = _swig_new_instance_method(_IntTools.IntTools_BaseRangeSample_GetDepth)

    def __init__(self, *args):
        r"""
        :rtype: None:param theDepth:
        	:type theDepth: int
        	:rtype: None
        """
        _IntTools.IntTools_BaseRangeSample_swiginit(self, _IntTools.new_IntTools_BaseRangeSample(*args))
    SetDepth = _swig_new_instance_method(_IntTools.IntTools_BaseRangeSample_SetDepth)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_BaseRangeSample

# Register IntTools_BaseRangeSample in _IntTools:
_IntTools.IntTools_BaseRangeSample_swigregister(IntTools_BaseRangeSample)

class IntTools_BeanFaceIntersector(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Context = _swig_new_instance_method(_IntTools.IntTools_BeanFaceIntersector_Context)
    Init = _swig_new_instance_method(_IntTools.IntTools_BeanFaceIntersector_Init)

    def __init__(self, *args):
        r"""
        :rtype: None* Initializes the algorithm //! Warning: The parts of the edge which are on the surface of the face and belong to the whole in the face (if there is) is considered as result
        	:param theEdge:
        	:type theEdge: TopoDS_Edge
        	:param theFace:
        	:type theFace: TopoDS_Face
        	:rtype: None* Initializes the algorithm
        	:param theCurve:
        	:type theCurve: BRepAdaptor_Curve
        	:param theSurface:
        	:type theSurface: BRepAdaptor_Surface
        	:param theBeanTolerance:
        	:type theBeanTolerance: float
        	:param theFaceTolerance:
        	:type theFaceTolerance: float
        	:rtype: None* Initializes the algorithm theUMinParameter, ... are used for optimization purposes
        	:param theCurve:
        	:type theCurve: BRepAdaptor_Curve
        	:param theSurface:
        	:type theSurface: BRepAdaptor_Surface
        	:param theFirstParOnCurve:
        	:type theFirstParOnCurve: float
        	:param theLastParOnCurve:
        	:type theLastParOnCurve: float
        	:param theUMinParameter:
        	:type theUMinParameter: float
        	:param theUMaxParameter:
        	:type theUMaxParameter: float
        	:param theVMinParameter:
        	:type theVMinParameter: float
        	:param theVMaxParameter:
        	:type theVMaxParameter: float
        	:param theBeanTolerance:
        	:type theBeanTolerance: float
        	:param theFaceTolerance:
        	:type theFaceTolerance: float
        	:rtype: None
        """
        _IntTools.IntTools_BeanFaceIntersector_swiginit(self, _IntTools.new_IntTools_BeanFaceIntersector(*args))
    IsDone = _swig_new_instance_method(_IntTools.IntTools_BeanFaceIntersector_IsDone)
    Perform = _swig_new_instance_method(_IntTools.IntTools_BeanFaceIntersector_Perform)
    Result = _swig_new_instance_method(_IntTools.IntTools_BeanFaceIntersector_Result)
    SetBeanParameters = _swig_new_instance_method(_IntTools.IntTools_BeanFaceIntersector_SetBeanParameters)
    SetContext = _swig_new_instance_method(_IntTools.IntTools_BeanFaceIntersector_SetContext)
    SetSurfaceParameters = _swig_new_instance_method(_IntTools.IntTools_BeanFaceIntersector_SetSurfaceParameters)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_BeanFaceIntersector

# Register IntTools_BeanFaceIntersector in _IntTools:
_IntTools.IntTools_BeanFaceIntersector_swigregister(IntTools_BeanFaceIntersector)

class IntTools_CommonPrt(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AllNullFlag = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_AllNullFlag)
    AppendRange2 = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_AppendRange2)
    Assign = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_Assign)
    BoundingPoints = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_BoundingPoints)
    ChangeRanges2 = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_ChangeRanges2)
    Copy = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_Copy)
    Edge1 = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_Edge1)
    Edge2 = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_Edge2)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None* Copy constructor
        	:param aCPrt:
        	:type aCPrt: IntTools_CommonPrt
        	:rtype: None
        """
        _IntTools.IntTools_CommonPrt_swiginit(self, _IntTools.new_IntTools_CommonPrt(*args))
    Range1 = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_Range1)
    Ranges2 = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_Ranges2)
    SetAllNullFlag = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_SetAllNullFlag)
    SetBoundingPoints = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_SetBoundingPoints)
    SetEdge1 = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_SetEdge1)
    SetEdge2 = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_SetEdge2)
    SetRange1 = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_SetRange1)
    SetType = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_SetType)
    SetVertexParameter1 = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_SetVertexParameter1)
    SetVertexParameter2 = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_SetVertexParameter2)
    Type = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_Type)
    VertexParameter1 = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_VertexParameter1)
    VertexParameter2 = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_VertexParameter2)
    Set = _swig_new_instance_method(_IntTools.IntTools_CommonPrt_Set)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_CommonPrt

# Register IntTools_CommonPrt in _IntTools:
_IntTools.IntTools_CommonPrt_swigregister(IntTools_CommonPrt)

class IntTools_Context(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
    BndBox = _swig_new_instance_method(_IntTools.IntTools_Context_BndBox)
    ComputePE = _swig_new_instance_method(_IntTools.IntTools_Context_ComputePE)
    ComputeVE = _swig_new_instance_method(_IntTools.IntTools_Context_ComputeVE)
    ComputeVF = _swig_new_instance_method(_IntTools.IntTools_Context_ComputeVF)
    FClass2d = _swig_new_instance_method(_IntTools.IntTools_Context_FClass2d)
    Hatcher = _swig_new_instance_method(_IntTools.IntTools_Context_Hatcher)

    def __init__(self, *args):
        r"""
        :rtype: None:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _IntTools.IntTools_Context_swiginit(self, _IntTools.new_IntTools_Context(*args))
    IsInfiniteFace = _swig_new_instance_method(_IntTools.IntTools_Context_IsInfiniteFace)
    IsPointInFace = _swig_new_instance_method(_IntTools.IntTools_Context_IsPointInFace)
    IsPointInOnFace = _swig_new_instance_method(_IntTools.IntTools_Context_IsPointInOnFace)
    IsValidBlockForFace = _swig_new_instance_method(_IntTools.IntTools_Context_IsValidBlockForFace)
    IsValidBlockForFaces = _swig_new_instance_method(_IntTools.IntTools_Context_IsValidBlockForFaces)
    IsValidPointForFace = _swig_new_instance_method(_IntTools.IntTools_Context_IsValidPointForFace)
    IsValidPointForFaces = _swig_new_instance_method(_IntTools.IntTools_Context_IsValidPointForFaces)
    IsVertexOnLine = _swig_new_instance_method(_IntTools.IntTools_Context_IsVertexOnLine)
    OBB = _swig_new_instance_method(_IntTools.IntTools_Context_OBB)
    ProjPC = _swig_new_instance_method(_IntTools.IntTools_Context_ProjPC)
    ProjPS = _swig_new_instance_method(_IntTools.IntTools_Context_ProjPS)
    ProjPT = _swig_new_instance_method(_IntTools.IntTools_Context_ProjPT)
    ProjectPointOnEdge = _swig_new_instance_method(_IntTools.IntTools_Context_ProjectPointOnEdge)
    SetPOnSProjectionTolerance = _swig_new_instance_method(_IntTools.IntTools_Context_SetPOnSProjectionTolerance)
    SolidClassifier = _swig_new_instance_method(_IntTools.IntTools_Context_SolidClassifier)
    StatePointFace = _swig_new_instance_method(_IntTools.IntTools_Context_StatePointFace)
    SurfaceAdaptor = _swig_new_instance_method(_IntTools.IntTools_Context_SurfaceAdaptor)
    SurfaceData = _swig_new_instance_method(_IntTools.IntTools_Context_SurfaceData)
    UVBounds = _swig_new_instance_method(_IntTools.IntTools_Context_UVBounds)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_Context

# Register IntTools_Context in _IntTools:
_IntTools.IntTools_Context_swigregister(IntTools_Context)

class IntTools_Curve(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_instance_method(_IntTools.IntTools_Curve_Bounds)
    Curve = _swig_new_instance_method(_IntTools.IntTools_Curve_Curve)
    D0 = _swig_new_instance_method(_IntTools.IntTools_Curve_D0)
    FirstCurve2d = _swig_new_instance_method(_IntTools.IntTools_Curve_FirstCurve2d)
    HasBounds = _swig_new_instance_method(_IntTools.IntTools_Curve_HasBounds)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None* Constructor taking 3d curve, two 2d curves and two tolerance values
        	:param the3dCurve3d:
        	:type the3dCurve3d: Geom_Curve
        	:param the2dCurve1:
        	:type the2dCurve1: Geom2d_Curve
        	:param the2dCurve2:
        	:type the2dCurve2: Geom2d_Curve
        	:param theTolerance: default value is 0.0
        	:type theTolerance: float
        	:param theTangentialTolerance: default value is 0.0
        	:type theTangentialTolerance: float
        	:rtype: None
        """
        _IntTools.IntTools_Curve_swiginit(self, _IntTools.new_IntTools_Curve(*args))
    SecondCurve2d = _swig_new_instance_method(_IntTools.IntTools_Curve_SecondCurve2d)
    SetCurve = _swig_new_instance_method(_IntTools.IntTools_Curve_SetCurve)
    SetCurves = _swig_new_instance_method(_IntTools.IntTools_Curve_SetCurves)
    SetFirstCurve2d = _swig_new_instance_method(_IntTools.IntTools_Curve_SetFirstCurve2d)
    SetSecondCurve2d = _swig_new_instance_method(_IntTools.IntTools_Curve_SetSecondCurve2d)
    SetTangentialTolerance = _swig_new_instance_method(_IntTools.IntTools_Curve_SetTangentialTolerance)
    SetTolerance = _swig_new_instance_method(_IntTools.IntTools_Curve_SetTolerance)
    TangentialTolerance = _swig_new_instance_method(_IntTools.IntTools_Curve_TangentialTolerance)
    Tolerance = _swig_new_instance_method(_IntTools.IntTools_Curve_Tolerance)
    Type = _swig_new_instance_method(_IntTools.IntTools_Curve_Type)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_Curve

# Register IntTools_Curve in _IntTools:
_IntTools.IntTools_Curve_swigregister(IntTools_Curve)

class IntTools_CurveRangeLocalizeData(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AddBox = _swig_new_instance_method(_IntTools.IntTools_CurveRangeLocalizeData_AddBox)
    AddOutRange = _swig_new_instance_method(_IntTools.IntTools_CurveRangeLocalizeData_AddOutRange)
    FindBox = _swig_new_instance_method(_IntTools.IntTools_CurveRangeLocalizeData_FindBox)
    GetMinRange = _swig_new_instance_method(_IntTools.IntTools_CurveRangeLocalizeData_GetMinRange)
    GetNbSample = _swig_new_instance_method(_IntTools.IntTools_CurveRangeLocalizeData_GetNbSample)

    def __init__(self, *args):
        r"""
        :param theNbSample:
        	:type theNbSample: int
        	:param theMinRange:
        	:type theMinRange: float
        	:rtype: None
        """
        _IntTools.IntTools_CurveRangeLocalizeData_swiginit(self, _IntTools.new_IntTools_CurveRangeLocalizeData(*args))
    IsRangeOut = _swig_new_instance_method(_IntTools.IntTools_CurveRangeLocalizeData_IsRangeOut)
    ListRangeOut = _swig_new_instance_method(_IntTools.IntTools_CurveRangeLocalizeData_ListRangeOut)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_CurveRangeLocalizeData

# Register IntTools_CurveRangeLocalizeData in _IntTools:
_IntTools.IntTools_CurveRangeLocalizeData_swigregister(IntTools_CurveRangeLocalizeData)

class IntTools_CurveRangeSampleMapHasher(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    HashCode = _swig_new_static_method(_IntTools.IntTools_CurveRangeSampleMapHasher_HashCode)
    IsEqual = _swig_new_static_method(_IntTools.IntTools_CurveRangeSampleMapHasher_IsEqual)

    __repr__ = _dumps_object


    def __init__(self):
        _IntTools.IntTools_CurveRangeSampleMapHasher_swiginit(self, _IntTools.new_IntTools_CurveRangeSampleMapHasher())
    __swig_destroy__ = _IntTools.delete_IntTools_CurveRangeSampleMapHasher

# Register IntTools_CurveRangeSampleMapHasher in _IntTools:
_IntTools.IntTools_CurveRangeSampleMapHasher_swigregister(IntTools_CurveRangeSampleMapHasher)
IntTools_CurveRangeSampleMapHasher_HashCode = _IntTools.IntTools_CurveRangeSampleMapHasher_HashCode
IntTools_CurveRangeSampleMapHasher_IsEqual = _IntTools.IntTools_CurveRangeSampleMapHasher_IsEqual

class IntTools_EdgeEdge(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    CommonParts = _swig_new_instance_method(_IntTools.IntTools_EdgeEdge_CommonParts)
    FuzzyValue = _swig_new_instance_method(_IntTools.IntTools_EdgeEdge_FuzzyValue)

    def __init__(self, *args):
        r"""
        * Empty contructor
        	:rtype: None* Contructor
        	:param theEdge1:
        	:type theEdge1: TopoDS_Edge
        	:param theEdge2:
        	:type theEdge2: TopoDS_Edge
        	:rtype: None* Contructor
        	:param theEdge1:
        	:type theEdge1: TopoDS_Edge
        	:param aT11:
        	:type aT11: float
        	:param aT12:
        	:type aT12: float
        	:param theEdge2:
        	:type theEdge2: TopoDS_Edge
        	:param aT21:
        	:type aT21: float
        	:param aT22:
        	:type aT22: float
        	:rtype: None
        """
        _IntTools.IntTools_EdgeEdge_swiginit(self, _IntTools.new_IntTools_EdgeEdge(*args))
    IsCoincidenceCheckedQuickly = _swig_new_instance_method(_IntTools.IntTools_EdgeEdge_IsCoincidenceCheckedQuickly)
    IsDone = _swig_new_instance_method(_IntTools.IntTools_EdgeEdge_IsDone)
    Perform = _swig_new_instance_method(_IntTools.IntTools_EdgeEdge_Perform)
    SetEdge1 = _swig_new_instance_method(_IntTools.IntTools_EdgeEdge_SetEdge1)
    SetEdge2 = _swig_new_instance_method(_IntTools.IntTools_EdgeEdge_SetEdge2)
    SetFuzzyValue = _swig_new_instance_method(_IntTools.IntTools_EdgeEdge_SetFuzzyValue)
    SetRange1 = _swig_new_instance_method(_IntTools.IntTools_EdgeEdge_SetRange1)
    SetRange2 = _swig_new_instance_method(_IntTools.IntTools_EdgeEdge_SetRange2)
    UseQuickCoincidenceCheck = _swig_new_instance_method(_IntTools.IntTools_EdgeEdge_UseQuickCoincidenceCheck)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_EdgeEdge

# Register IntTools_EdgeEdge in _IntTools:
_IntTools.IntTools_EdgeEdge_swigregister(IntTools_EdgeEdge)

class IntTools_EdgeFace(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    CommonParts = _swig_new_instance_method(_IntTools.IntTools_EdgeFace_CommonParts)
    Context = _swig_new_instance_method(_IntTools.IntTools_EdgeFace_Context)
    Edge = _swig_new_instance_method(_IntTools.IntTools_EdgeFace_Edge)
    ErrorStatus = _swig_new_instance_method(_IntTools.IntTools_EdgeFace_ErrorStatus)
    Face = _swig_new_instance_method(_IntTools.IntTools_EdgeFace_Face)
    FuzzyValue = _swig_new_instance_method(_IntTools.IntTools_EdgeFace_FuzzyValue)

    def __init__(self, *args):
        r"""
        * @name Constructors Empty Constructor
        	:rtype: None
        """
        _IntTools.IntTools_EdgeFace_swiginit(self, _IntTools.new_IntTools_EdgeFace(*args))
    IsCoincidenceCheckedQuickly = _swig_new_instance_method(_IntTools.IntTools_EdgeFace_IsCoincidenceCheckedQuickly)
    IsDone = _swig_new_instance_method(_IntTools.IntTools_EdgeFace_IsDone)
    Perform = _swig_new_instance_method(_IntTools.IntTools_EdgeFace_Perform)
    Range = _swig_new_instance_method(_IntTools.IntTools_EdgeFace_Range)
    SetContext = _swig_new_instance_method(_IntTools.IntTools_EdgeFace_SetContext)
    SetEdge = _swig_new_instance_method(_IntTools.IntTools_EdgeFace_SetEdge)
    SetFace = _swig_new_instance_method(_IntTools.IntTools_EdgeFace_SetFace)
    SetFuzzyValue = _swig_new_instance_method(_IntTools.IntTools_EdgeFace_SetFuzzyValue)
    SetRange = _swig_new_instance_method(_IntTools.IntTools_EdgeFace_SetRange)
    UseQuickCoincidenceCheck = _swig_new_instance_method(_IntTools.IntTools_EdgeFace_UseQuickCoincidenceCheck)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_EdgeFace

# Register IntTools_EdgeFace in _IntTools:
_IntTools.IntTools_EdgeFace_swigregister(IntTools_EdgeFace)

class IntTools_FClass2d(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Destroy = _swig_new_instance_method(_IntTools.IntTools_FClass2d_Destroy)
    Init = _swig_new_instance_method(_IntTools.IntTools_FClass2d_Init)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None* Initializes algorithm by the face F and tolerance Tol
        	:param F:
        	:type F: TopoDS_Face
        	:param Tol:
        	:type Tol: float
        	:rtype: None
        """
        _IntTools.IntTools_FClass2d_swiginit(self, _IntTools.new_IntTools_FClass2d(*args))
    IsHole = _swig_new_instance_method(_IntTools.IntTools_FClass2d_IsHole)
    Perform = _swig_new_instance_method(_IntTools.IntTools_FClass2d_Perform)
    PerformInfinitePoint = _swig_new_instance_method(_IntTools.IntTools_FClass2d_PerformInfinitePoint)
    TestOnRestriction = _swig_new_instance_method(_IntTools.IntTools_FClass2d_TestOnRestriction)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_FClass2d

# Register IntTools_FClass2d in _IntTools:
_IntTools.IntTools_FClass2d_swigregister(IntTools_FClass2d)

class IntTools_FaceFace(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Context = _swig_new_instance_method(_IntTools.IntTools_FaceFace_Context)
    Face1 = _swig_new_instance_method(_IntTools.IntTools_FaceFace_Face1)
    Face2 = _swig_new_instance_method(_IntTools.IntTools_FaceFace_Face2)
    FuzzyValue = _swig_new_instance_method(_IntTools.IntTools_FaceFace_FuzzyValue)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None
        """
        _IntTools.IntTools_FaceFace_swiginit(self, _IntTools.new_IntTools_FaceFace(*args))
    IsDone = _swig_new_instance_method(_IntTools.IntTools_FaceFace_IsDone)
    Lines = _swig_new_instance_method(_IntTools.IntTools_FaceFace_Lines)
    Perform = _swig_new_instance_method(_IntTools.IntTools_FaceFace_Perform)
    Points = _swig_new_instance_method(_IntTools.IntTools_FaceFace_Points)
    PrepareLines3D = _swig_new_instance_method(_IntTools.IntTools_FaceFace_PrepareLines3D)
    SetContext = _swig_new_instance_method(_IntTools.IntTools_FaceFace_SetContext)
    SetFuzzyValue = _swig_new_instance_method(_IntTools.IntTools_FaceFace_SetFuzzyValue)
    SetList = _swig_new_instance_method(_IntTools.IntTools_FaceFace_SetList)
    SetParameters = _swig_new_instance_method(_IntTools.IntTools_FaceFace_SetParameters)
    TangentFaces = _swig_new_instance_method(_IntTools.IntTools_FaceFace_TangentFaces)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_FaceFace

# Register IntTools_FaceFace in _IntTools:
_IntTools.IntTools_FaceFace_swigregister(IntTools_FaceFace)

class IntTools_MarkedRangeSet(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Flag = _swig_new_instance_method(_IntTools.IntTools_MarkedRangeSet_Flag)
    GetIndex = _swig_new_instance_method(_IntTools.IntTools_MarkedRangeSet_GetIndex)
    GetIndices = _swig_new_instance_method(_IntTools.IntTools_MarkedRangeSet_GetIndices)
    InsertRange = _swig_new_instance_method(_IntTools.IntTools_MarkedRangeSet_InsertRange)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None* build set of ranges which consists of one range with boundary values theFirstBoundary and theLastBoundary
        	:param theFirstBoundary:
        	:type theFirstBoundary: float
        	:param theLastBoundary:
        	:type theLastBoundary: float
        	:param theInitFlag:
        	:type theInitFlag: int
        	:rtype: None* Build set of ranges based on the array of progressive sorted values //! Warning: The constructor do not check if the values of array are not sorted It should be checked before function invocation
        	:param theSortedArray:
        	:type theSortedArray: IntTools_CArray1OfReal
        	:param theInitFlag:
        	:type theInitFlag: int
        	:rtype: None
        """
        _IntTools.IntTools_MarkedRangeSet_swiginit(self, _IntTools.new_IntTools_MarkedRangeSet(*args))
    Length = _swig_new_instance_method(_IntTools.IntTools_MarkedRangeSet_Length)
    Range = _swig_new_instance_method(_IntTools.IntTools_MarkedRangeSet_Range)
    SetBoundaries = _swig_new_instance_method(_IntTools.IntTools_MarkedRangeSet_SetBoundaries)
    SetFlag = _swig_new_instance_method(_IntTools.IntTools_MarkedRangeSet_SetFlag)
    SetRanges = _swig_new_instance_method(_IntTools.IntTools_MarkedRangeSet_SetRanges)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_MarkedRangeSet

# Register IntTools_MarkedRangeSet in _IntTools:
_IntTools.IntTools_MarkedRangeSet_swigregister(IntTools_MarkedRangeSet)

class IntTools_PntOn2Faces(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* Initializes me by two points aP1 and aP2
        	:param aP1:
        	:type aP1: IntTools_PntOnFace
        	:param aP2:
        	:type aP2: IntTools_PntOnFace
        	:rtype: None
        """
        _IntTools.IntTools_PntOn2Faces_swiginit(self, _IntTools.new_IntTools_PntOn2Faces(*args))
    IsValid = _swig_new_instance_method(_IntTools.IntTools_PntOn2Faces_IsValid)
    P1 = _swig_new_instance_method(_IntTools.IntTools_PntOn2Faces_P1)
    P2 = _swig_new_instance_method(_IntTools.IntTools_PntOn2Faces_P2)
    SetP1 = _swig_new_instance_method(_IntTools.IntTools_PntOn2Faces_SetP1)
    SetP2 = _swig_new_instance_method(_IntTools.IntTools_PntOn2Faces_SetP2)
    SetValid = _swig_new_instance_method(_IntTools.IntTools_PntOn2Faces_SetValid)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_PntOn2Faces

# Register IntTools_PntOn2Faces in _IntTools:
_IntTools.IntTools_PntOn2Faces_swigregister(IntTools_PntOn2Faces)

class IntTools_PntOnFace(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Face = _swig_new_instance_method(_IntTools.IntTools_PntOnFace_Face)
    Init = _swig_new_instance_method(_IntTools.IntTools_PntOnFace_Init)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _IntTools.IntTools_PntOnFace_swiginit(self, _IntTools.new_IntTools_PntOnFace(*args))
    Parameters = _swig_new_instance_method(_IntTools.IntTools_PntOnFace_Parameters)
    Pnt = _swig_new_instance_method(_IntTools.IntTools_PntOnFace_Pnt)
    SetFace = _swig_new_instance_method(_IntTools.IntTools_PntOnFace_SetFace)
    SetParameters = _swig_new_instance_method(_IntTools.IntTools_PntOnFace_SetParameters)
    SetPnt = _swig_new_instance_method(_IntTools.IntTools_PntOnFace_SetPnt)
    SetValid = _swig_new_instance_method(_IntTools.IntTools_PntOnFace_SetValid)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_PntOnFace

# Register IntTools_PntOnFace in _IntTools:
_IntTools.IntTools_PntOnFace_swigregister(IntTools_PntOnFace)

class IntTools_Range(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    First = _swig_new_instance_method(_IntTools.IntTools_Range_First)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None* Initialize me by range boundaries
        	:param aFirst:
        	:type aFirst: float
        	:param aLast:
        	:type aLast: float
        	:rtype: None
        """
        _IntTools.IntTools_Range_swiginit(self, _IntTools.new_IntTools_Range(*args))
    Last = _swig_new_instance_method(_IntTools.IntTools_Range_Last)
    Range = _swig_new_instance_method(_IntTools.IntTools_Range_Range)
    SetFirst = _swig_new_instance_method(_IntTools.IntTools_Range_SetFirst)
    SetLast = _swig_new_instance_method(_IntTools.IntTools_Range_SetLast)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_Range

# Register IntTools_Range in _IntTools:
_IntTools.IntTools_Range_swigregister(IntTools_Range)

class IntTools_Root(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* Initializes my by range of parameters and type of root
        	:param aRoot:
        	:type aRoot: float
        	:param aType:
        	:type aType: int
        	:rtype: None
        """
        _IntTools.IntTools_Root_swiginit(self, _IntTools.new_IntTools_Root(*args))
    Interval = _swig_new_instance_method(_IntTools.IntTools_Root_Interval)
    IsValid = _swig_new_instance_method(_IntTools.IntTools_Root_IsValid)
    LayerHeight = _swig_new_instance_method(_IntTools.IntTools_Root_LayerHeight)
    Root = _swig_new_instance_method(_IntTools.IntTools_Root_Root)
    SetInterval = _swig_new_instance_method(_IntTools.IntTools_Root_SetInterval)
    SetLayerHeight = _swig_new_instance_method(_IntTools.IntTools_Root_SetLayerHeight)
    SetRoot = _swig_new_instance_method(_IntTools.IntTools_Root_SetRoot)
    SetStateAfter = _swig_new_instance_method(_IntTools.IntTools_Root_SetStateAfter)
    SetStateBefore = _swig_new_instance_method(_IntTools.IntTools_Root_SetStateBefore)
    SetType = _swig_new_instance_method(_IntTools.IntTools_Root_SetType)
    StateAfter = _swig_new_instance_method(_IntTools.IntTools_Root_StateAfter)
    StateBefore = _swig_new_instance_method(_IntTools.IntTools_Root_StateBefore)
    Type = _swig_new_instance_method(_IntTools.IntTools_Root_Type)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_Root

# Register IntTools_Root in _IntTools:
_IntTools.IntTools_Root_swigregister(IntTools_Root)

class IntTools_ShrunkRange(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    BndBox = _swig_new_instance_method(_IntTools.IntTools_ShrunkRange_BndBox)
    Context = _swig_new_instance_method(_IntTools.IntTools_ShrunkRange_Context)
    Edge = _swig_new_instance_method(_IntTools.IntTools_ShrunkRange_Edge)

    def __init__(self, *args):
        r""":rtype: None"""
        _IntTools.IntTools_ShrunkRange_swiginit(self, _IntTools.new_IntTools_ShrunkRange(*args))
    IsDone = _swig_new_instance_method(_IntTools.IntTools_ShrunkRange_IsDone)
    IsSplittable = _swig_new_instance_method(_IntTools.IntTools_ShrunkRange_IsSplittable)
    Length = _swig_new_instance_method(_IntTools.IntTools_ShrunkRange_Length)
    Perform = _swig_new_instance_method(_IntTools.IntTools_ShrunkRange_Perform)
    SetContext = _swig_new_instance_method(_IntTools.IntTools_ShrunkRange_SetContext)
    SetData = _swig_new_instance_method(_IntTools.IntTools_ShrunkRange_SetData)
    SetShrunkRange = _swig_new_instance_method(_IntTools.IntTools_ShrunkRange_SetShrunkRange)
    ShrunkRange = _swig_new_instance_method(_IntTools.IntTools_ShrunkRange_ShrunkRange)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_ShrunkRange

# Register IntTools_ShrunkRange in _IntTools:
_IntTools.IntTools_ShrunkRange_swigregister(IntTools_ShrunkRange)

class IntTools_SurfaceRangeLocalizeData(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AddBox = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_AddBox)
    AddOutRange = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_AddOutRange)
    Assign = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_Assign)
    ClearGrid = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_ClearGrid)
    FindBox = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_FindBox)
    GetGridDeflection = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_GetGridDeflection)
    GetGridPoint = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_GetGridPoint)
    GetMinRangeU = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_GetMinRangeU)
    GetMinRangeV = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_GetMinRangeV)
    GetNBUPointsInFrame = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_GetNBUPointsInFrame)
    GetNBVPointsInFrame = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_GetNBVPointsInFrame)
    GetNbSampleU = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_GetNbSampleU)
    GetNbSampleV = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_GetNbSampleV)
    GetPointInFrame = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_GetPointInFrame)
    GetRangeUGrid = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_GetRangeUGrid)
    GetRangeVGrid = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_GetRangeVGrid)
    GetUParam = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_GetUParam)
    GetUParamInFrame = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_GetUParamInFrame)
    GetVParam = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_GetVParam)
    GetVParamInFrame = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_GetVParamInFrame)

    def __init__(self, *args):
        r"""
        :rtype: None:param theNbSampleU:
        	:type theNbSampleU: int
        	:param theNbSampleV:
        	:type theNbSampleV: int
        	:param theMinRangeU:
        	:type theMinRangeU: float
        	:param theMinRangeV:
        	:type theMinRangeV: float
        	:rtype: None:param Other:
        	:type Other: IntTools_SurfaceRangeLocalizeData
        	:rtype: None
        """
        _IntTools.IntTools_SurfaceRangeLocalizeData_swiginit(self, _IntTools.new_IntTools_SurfaceRangeLocalizeData(*args))
    IsRangeOut = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_IsRangeOut)
    ListRangeOut = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_ListRangeOut)
    RemoveRangeOutAll = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_RemoveRangeOutAll)
    SetFrame = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_SetFrame)
    SetGridDeflection = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_SetGridDeflection)
    SetGridPoint = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_SetGridPoint)
    SetRangeUGrid = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_SetRangeUGrid)
    SetRangeVGrid = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_SetRangeVGrid)
    SetUParam = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_SetUParam)
    SetVParam = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_SetVParam)
    Set = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeLocalizeData_Set)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_SurfaceRangeLocalizeData

# Register IntTools_SurfaceRangeLocalizeData in _IntTools:
_IntTools.IntTools_SurfaceRangeLocalizeData_swigregister(IntTools_SurfaceRangeLocalizeData)

class IntTools_SurfaceRangeSample(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Assign = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_Assign)
    GetDepthU = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_GetDepthU)
    GetDepthV = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_GetDepthV)
    GetDepths = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_GetDepths)
    GetIndexU = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_GetIndexU)
    GetIndexV = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_GetIndexV)
    GetIndexes = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_GetIndexes)
    GetRangeIndexUDeeper = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_GetRangeIndexUDeeper)
    GetRangeIndexVDeeper = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_GetRangeIndexVDeeper)
    GetRangeU = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_GetRangeU)
    GetRangeV = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_GetRangeV)
    GetRanges = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_GetRanges)
    GetSampleRangeU = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_GetSampleRangeU)
    GetSampleRangeV = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_GetSampleRangeV)

    def __init__(self, *args):
        r"""
        :rtype: None:param theIndexU:
        	:type theIndexU: int
        	:param theDepthU:
        	:type theDepthU: int
        	:param theIndexV:
        	:type theIndexV: int
        	:param theDepthV:
        	:type theDepthV: int
        	:rtype: None:param theRangeU:
        	:type theRangeU: IntTools_CurveRangeSample
        	:param theRangeV:
        	:type theRangeV: IntTools_CurveRangeSample
        	:rtype: None:param Other:
        	:type Other: IntTools_SurfaceRangeSample
        	:rtype: None
        """
        _IntTools.IntTools_SurfaceRangeSample_swiginit(self, _IntTools.new_IntTools_SurfaceRangeSample(*args))
    IsEqual = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_IsEqual)
    SetDepthU = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_SetDepthU)
    SetDepthV = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_SetDepthV)
    SetIndexU = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_SetIndexU)
    SetIndexV = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_SetIndexV)
    SetIndexes = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_SetIndexes)
    SetRanges = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_SetRanges)
    SetSampleRangeU = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_SetSampleRangeU)
    SetSampleRangeV = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_SetSampleRangeV)
    Set = _swig_new_instance_method(_IntTools.IntTools_SurfaceRangeSample_Set)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_SurfaceRangeSample

# Register IntTools_SurfaceRangeSample in _IntTools:
_IntTools.IntTools_SurfaceRangeSample_swigregister(IntTools_SurfaceRangeSample)

class IntTools_SurfaceRangeSampleMapHasher(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    HashCode = _swig_new_static_method(_IntTools.IntTools_SurfaceRangeSampleMapHasher_HashCode)
    IsEqual = _swig_new_static_method(_IntTools.IntTools_SurfaceRangeSampleMapHasher_IsEqual)

    __repr__ = _dumps_object


    def __init__(self):
        _IntTools.IntTools_SurfaceRangeSampleMapHasher_swiginit(self, _IntTools.new_IntTools_SurfaceRangeSampleMapHasher())
    __swig_destroy__ = _IntTools.delete_IntTools_SurfaceRangeSampleMapHasher

# Register IntTools_SurfaceRangeSampleMapHasher in _IntTools:
_IntTools.IntTools_SurfaceRangeSampleMapHasher_swigregister(IntTools_SurfaceRangeSampleMapHasher)
IntTools_SurfaceRangeSampleMapHasher_HashCode = _IntTools.IntTools_SurfaceRangeSampleMapHasher_HashCode
IntTools_SurfaceRangeSampleMapHasher_IsEqual = _IntTools.IntTools_SurfaceRangeSampleMapHasher_IsEqual

class IntTools_Tools(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    CheckCurve = _swig_new_static_method(_IntTools.IntTools_Tools_CheckCurve)
    ClassifyPointByFace = _swig_new_static_method(_IntTools.IntTools_Tools_ClassifyPointByFace)
    ComputeIntRange = _swig_new_static_method(_IntTools.IntTools_Tools_ComputeIntRange)
    ComputeTolerance = _swig_new_static_method(_IntTools.IntTools_Tools_ComputeTolerance)
    ComputeVV = _swig_new_static_method(_IntTools.IntTools_Tools_ComputeVV)
    CurveTolerance = _swig_new_static_method(_IntTools.IntTools_Tools_CurveTolerance)
    HasInternalEdge = _swig_new_static_method(_IntTools.IntTools_Tools_HasInternalEdge)
    IntermediatePoint = _swig_new_static_method(_IntTools.IntTools_Tools_IntermediatePoint)
    IsClosed = _swig_new_static_method(_IntTools.IntTools_Tools_IsClosed)
    IsDirsCoinside = _swig_new_static_method(_IntTools.IntTools_Tools_IsDirsCoinside)
    IsInRange = _swig_new_static_method(_IntTools.IntTools_Tools_IsInRange)
    IsMiddlePointsEqual = _swig_new_static_method(_IntTools.IntTools_Tools_IsMiddlePointsEqual)
    IsOnPave = _swig_new_static_method(_IntTools.IntTools_Tools_IsOnPave)
    IsOnPave1 = _swig_new_static_method(_IntTools.IntTools_Tools_IsOnPave1)
    IsVertex = _swig_new_static_method(_IntTools.IntTools_Tools_IsVertex)
    MakeFaceFromWireAndFace = _swig_new_static_method(_IntTools.IntTools_Tools_MakeFaceFromWireAndFace)
    RejectLines = _swig_new_static_method(_IntTools.IntTools_Tools_RejectLines)
    SegPln = _swig_new_static_method(_IntTools.IntTools_Tools_SegPln)
    SplitCurve = _swig_new_static_method(_IntTools.IntTools_Tools_SplitCurve)
    VertexParameter = _swig_new_static_method(_IntTools.IntTools_Tools_VertexParameter)
    VertexParameters = _swig_new_static_method(_IntTools.IntTools_Tools_VertexParameters)

    __repr__ = _dumps_object


    def __init__(self):
        _IntTools.IntTools_Tools_swiginit(self, _IntTools.new_IntTools_Tools())
    __swig_destroy__ = _IntTools.delete_IntTools_Tools

# Register IntTools_Tools in _IntTools:
_IntTools.IntTools_Tools_swigregister(IntTools_Tools)
IntTools_Tools_CheckCurve = _IntTools.IntTools_Tools_CheckCurve
IntTools_Tools_ClassifyPointByFace = _IntTools.IntTools_Tools_ClassifyPointByFace
IntTools_Tools_ComputeIntRange = _IntTools.IntTools_Tools_ComputeIntRange
IntTools_Tools_ComputeTolerance = _IntTools.IntTools_Tools_ComputeTolerance
IntTools_Tools_ComputeVV = _IntTools.IntTools_Tools_ComputeVV
IntTools_Tools_CurveTolerance = _IntTools.IntTools_Tools_CurveTolerance
IntTools_Tools_HasInternalEdge = _IntTools.IntTools_Tools_HasInternalEdge
IntTools_Tools_IntermediatePoint = _IntTools.IntTools_Tools_IntermediatePoint
IntTools_Tools_IsClosed = _IntTools.IntTools_Tools_IsClosed
IntTools_Tools_IsDirsCoinside = _IntTools.IntTools_Tools_IsDirsCoinside
IntTools_Tools_IsInRange = _IntTools.IntTools_Tools_IsInRange
IntTools_Tools_IsMiddlePointsEqual = _IntTools.IntTools_Tools_IsMiddlePointsEqual
IntTools_Tools_IsOnPave = _IntTools.IntTools_Tools_IsOnPave
IntTools_Tools_IsOnPave1 = _IntTools.IntTools_Tools_IsOnPave1
IntTools_Tools_IsVertex = _IntTools.IntTools_Tools_IsVertex
IntTools_Tools_MakeFaceFromWireAndFace = _IntTools.IntTools_Tools_MakeFaceFromWireAndFace
IntTools_Tools_RejectLines = _IntTools.IntTools_Tools_RejectLines
IntTools_Tools_SegPln = _IntTools.IntTools_Tools_SegPln
IntTools_Tools_SplitCurve = _IntTools.IntTools_Tools_SplitCurve
IntTools_Tools_VertexParameter = _IntTools.IntTools_Tools_VertexParameter
IntTools_Tools_VertexParameters = _IntTools.IntTools_Tools_VertexParameters

class IntTools_TopolTool(OCC.Core.Adaptor3d.Adaptor3d_TopolTool):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Initialize = _swig_new_instance_method(_IntTools.IntTools_TopolTool_Initialize)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None* Initializes me by surface
        	:param theSurface:
        	:type theSurface: Adaptor3d_HSurface
        	:rtype: None
        """
        _IntTools.IntTools_TopolTool_swiginit(self, _IntTools.new_IntTools_TopolTool(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_TopolTool

# Register IntTools_TopolTool in _IntTools:
_IntTools.IntTools_TopolTool_swigregister(IntTools_TopolTool)

class IntTools_WLineTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    DecompositionOfWLine = _swig_new_static_method(_IntTools.IntTools_WLineTool_DecompositionOfWLine)
    NotUseSurfacesForApprox = _swig_new_static_method(_IntTools.IntTools_WLineTool_NotUseSurfacesForApprox)

    __repr__ = _dumps_object


    def __init__(self):
        _IntTools.IntTools_WLineTool_swiginit(self, _IntTools.new_IntTools_WLineTool())
    __swig_destroy__ = _IntTools.delete_IntTools_WLineTool

# Register IntTools_WLineTool in _IntTools:
_IntTools.IntTools_WLineTool_swigregister(IntTools_WLineTool)
IntTools_WLineTool_DecompositionOfWLine = _IntTools.IntTools_WLineTool_DecompositionOfWLine
IntTools_WLineTool_NotUseSurfacesForApprox = _IntTools.IntTools_WLineTool_NotUseSurfacesForApprox

class IntTools_CurveRangeSample(IntTools_BaseRangeSample):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    GetRange = _swig_new_instance_method(_IntTools.IntTools_CurveRangeSample_GetRange)
    GetRangeIndex = _swig_new_instance_method(_IntTools.IntTools_CurveRangeSample_GetRangeIndex)
    GetRangeIndexDeeper = _swig_new_instance_method(_IntTools.IntTools_CurveRangeSample_GetRangeIndexDeeper)

    def __init__(self, *args):
        r"""
        :rtype: None:param theIndex:
        	:type theIndex: int
        	:rtype: None
        """
        _IntTools.IntTools_CurveRangeSample_swiginit(self, _IntTools.new_IntTools_CurveRangeSample(*args))
    IsEqual = _swig_new_instance_method(_IntTools.IntTools_CurveRangeSample_IsEqual)
    SetRangeIndex = _swig_new_instance_method(_IntTools.IntTools_CurveRangeSample_SetRangeIndex)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_CurveRangeSample

# Register IntTools_CurveRangeSample in _IntTools:
_IntTools.IntTools_CurveRangeSample_swigregister(IntTools_CurveRangeSample)



