# This file was automatically generated by SWIG (https://www.swig.org).
# Version 4.1.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.7.0/refman/html/package_inttools.html
"""

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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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


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


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


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


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


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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _IntTools.delete_SwigPyIterator

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.TColStd
import OCC.Core.TCollection
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.TopAbs
import OCC.Core.Adaptor2d
import OCC.Core.Geom2d
import OCC.Core.math
import OCC.Core.Message
import OCC.Core.OSD
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

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




def Handle_IntTools_Context_Create():
    return _IntTools.Handle_IntTools_Context_Create()

def Handle_IntTools_Context_DownCast(t):
    return _IntTools.Handle_IntTools_Context_DownCast(t)

def Handle_IntTools_Context_IsNull(t):
    return _IntTools.Handle_IntTools_Context_IsNull(t)

def Handle_IntTools_TopolTool_Create():
    return _IntTools.Handle_IntTools_TopolTool_Create()

def Handle_IntTools_TopolTool_DownCast(t):
    return _IntTools.Handle_IntTools_TopolTool_DownCast(t)

def Handle_IntTools_TopolTool_IsNull(t):
    return _IntTools.Handle_IntTools_TopolTool_IsNull(t)
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

    def begin(self):
        return _IntTools.IntTools_Array1OfRange_begin(self)

    def end(self):
        return _IntTools.IntTools_Array1OfRange_end(self)

    def cbegin(self):
        return _IntTools.IntTools_Array1OfRange_cbegin(self)

    def cend(self):
        return _IntTools.IntTools_Array1OfRange_cend(self)

    def __init__(self, *args):
        _IntTools.IntTools_Array1OfRange_swiginit(self, _IntTools.new_IntTools_Array1OfRange(*args))

    def Init(self, theValue):
        return _IntTools.IntTools_Array1OfRange_Init(self, theValue)

    def Size(self):
        return _IntTools.IntTools_Array1OfRange_Size(self)

    def Length(self):
        return _IntTools.IntTools_Array1OfRange_Length(self)

    def IsEmpty(self):
        return _IntTools.IntTools_Array1OfRange_IsEmpty(self)

    def Lower(self):
        return _IntTools.IntTools_Array1OfRange_Lower(self)

    def Upper(self):
        return _IntTools.IntTools_Array1OfRange_Upper(self)

    def IsDeletable(self):
        return _IntTools.IntTools_Array1OfRange_IsDeletable(self)

    def IsAllocated(self):
        return _IntTools.IntTools_Array1OfRange_IsAllocated(self)

    def Assign(self, theOther):
        return _IntTools.IntTools_Array1OfRange_Assign(self, theOther)

    def Move(self, theOther):
        return _IntTools.IntTools_Array1OfRange_Move(self, theOther)

    def Set(self, *args):
        return _IntTools.IntTools_Array1OfRange_Set(self, *args)

    def First(self):
        return _IntTools.IntTools_Array1OfRange_First(self)

    def ChangeFirst(self):
        return _IntTools.IntTools_Array1OfRange_ChangeFirst(self)

    def Last(self):
        return _IntTools.IntTools_Array1OfRange_Last(self)

    def ChangeLast(self):
        return _IntTools.IntTools_Array1OfRange_ChangeLast(self)

    def Value(self, theIndex):
        return _IntTools.IntTools_Array1OfRange_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _IntTools.IntTools_Array1OfRange_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _IntTools.IntTools_Array1OfRange___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _IntTools.IntTools_Array1OfRange_SetValue(self, theIndex, theItem)

    def Resize(self, theLower, theUpper, theToCopyData):
        return _IntTools.IntTools_Array1OfRange_Resize(self, theLower, theUpper, theToCopyData)
    __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_Array1OfRoots(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _IntTools.IntTools_Array1OfRoots_begin(self)

    def end(self):
        return _IntTools.IntTools_Array1OfRoots_end(self)

    def cbegin(self):
        return _IntTools.IntTools_Array1OfRoots_cbegin(self)

    def cend(self):
        return _IntTools.IntTools_Array1OfRoots_cend(self)

    def __init__(self, *args):
        _IntTools.IntTools_Array1OfRoots_swiginit(self, _IntTools.new_IntTools_Array1OfRoots(*args))

    def Init(self, theValue):
        return _IntTools.IntTools_Array1OfRoots_Init(self, theValue)

    def Size(self):
        return _IntTools.IntTools_Array1OfRoots_Size(self)

    def Length(self):
        return _IntTools.IntTools_Array1OfRoots_Length(self)

    def IsEmpty(self):
        return _IntTools.IntTools_Array1OfRoots_IsEmpty(self)

    def Lower(self):
        return _IntTools.IntTools_Array1OfRoots_Lower(self)

    def Upper(self):
        return _IntTools.IntTools_Array1OfRoots_Upper(self)

    def IsDeletable(self):
        return _IntTools.IntTools_Array1OfRoots_IsDeletable(self)

    def IsAllocated(self):
        return _IntTools.IntTools_Array1OfRoots_IsAllocated(self)

    def Assign(self, theOther):
        return _IntTools.IntTools_Array1OfRoots_Assign(self, theOther)

    def Move(self, theOther):
        return _IntTools.IntTools_Array1OfRoots_Move(self, theOther)

    def Set(self, *args):
        return _IntTools.IntTools_Array1OfRoots_Set(self, *args)

    def First(self):
        return _IntTools.IntTools_Array1OfRoots_First(self)

    def ChangeFirst(self):
        return _IntTools.IntTools_Array1OfRoots_ChangeFirst(self)

    def Last(self):
        return _IntTools.IntTools_Array1OfRoots_Last(self)

    def ChangeLast(self):
        return _IntTools.IntTools_Array1OfRoots_ChangeLast(self)

    def Value(self, theIndex):
        return _IntTools.IntTools_Array1OfRoots_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _IntTools.IntTools_Array1OfRoots_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _IntTools.IntTools_Array1OfRoots___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _IntTools.IntTools_Array1OfRoots_SetValue(self, theIndex, theItem)

    def Resize(self, theLower, theUpper, theToCopyData):
        return _IntTools.IntTools_Array1OfRoots_Resize(self, theLower, theUpper, theToCopyData)
    __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_DataMapOfCurveSampleBox(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _IntTools.IntTools_DataMapOfCurveSampleBox_begin(self)

    def end(self):
        return _IntTools.IntTools_DataMapOfCurveSampleBox_end(self)

    def cbegin(self):
        return _IntTools.IntTools_DataMapOfCurveSampleBox_cbegin(self)

    def cend(self):
        return _IntTools.IntTools_DataMapOfCurveSampleBox_cend(self)

    def __init__(self, *args):
        _IntTools.IntTools_DataMapOfCurveSampleBox_swiginit(self, _IntTools.new_IntTools_DataMapOfCurveSampleBox(*args))

    def Exchange(self, theOther):
        return _IntTools.IntTools_DataMapOfCurveSampleBox_Exchange(self, theOther)

    def Assign(self, theOther):
        return _IntTools.IntTools_DataMapOfCurveSampleBox_Assign(self, theOther)

    def Set(self, theOther):
        return _IntTools.IntTools_DataMapOfCurveSampleBox_Set(self, theOther)

    def ReSize(self, N):
        return _IntTools.IntTools_DataMapOfCurveSampleBox_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _IntTools.IntTools_DataMapOfCurveSampleBox_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _IntTools.IntTools_DataMapOfCurveSampleBox_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _IntTools.IntTools_DataMapOfCurveSampleBox_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _IntTools.IntTools_DataMapOfCurveSampleBox_UnBind(self, theKey)

    def Seek(self, theKey):
        return _IntTools.IntTools_DataMapOfCurveSampleBox_Seek(self, theKey)

    def Find(self, *args):
        return _IntTools.IntTools_DataMapOfCurveSampleBox_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _IntTools.IntTools_DataMapOfCurveSampleBox_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _IntTools.IntTools_DataMapOfCurveSampleBox_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _IntTools.IntTools_DataMapOfCurveSampleBox___call__(self, *args)

    def Clear(self, *args):
        return _IntTools.IntTools_DataMapOfCurveSampleBox_Clear(self, *args)
    __swig_destroy__ = _IntTools.delete_IntTools_DataMapOfCurveSampleBox

    def Size(self):
        return _IntTools.IntTools_DataMapOfCurveSampleBox_Size(self)

# Register IntTools_DataMapOfCurveSampleBox in _IntTools:
_IntTools.IntTools_DataMapOfCurveSampleBox_swigregister(IntTools_DataMapOfCurveSampleBox)
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

    def begin(self):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox_begin(self)

    def end(self):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox_end(self)

    def cbegin(self):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox_cbegin(self)

    def cend(self):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox_cend(self)

    def __init__(self, *args):
        _IntTools.IntTools_DataMapOfSurfaceSampleBox_swiginit(self, _IntTools.new_IntTools_DataMapOfSurfaceSampleBox(*args))

    def Exchange(self, theOther):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox_Exchange(self, theOther)

    def Assign(self, theOther):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox_Assign(self, theOther)

    def Set(self, theOther):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox_Set(self, theOther)

    def ReSize(self, N):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox_UnBind(self, theKey)

    def Seek(self, theKey):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox_Seek(self, theKey)

    def Find(self, *args):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox___call__(self, *args)

    def Clear(self, *args):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox_Clear(self, *args)
    __swig_destroy__ = _IntTools.delete_IntTools_DataMapOfSurfaceSampleBox

    def Size(self):
        return _IntTools.IntTools_DataMapOfSurfaceSampleBox_Size(self)

# Register IntTools_DataMapOfSurfaceSampleBox in _IntTools:
_IntTools.IntTools_DataMapOfSurfaceSampleBox_swigregister(IntTools_DataMapOfSurfaceSampleBox)
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))

    def More(self):
        return _IntTools.IntTools_ListIteratorOfListOfBox_More(self)

    def Next(self):
        return _IntTools.IntTools_ListIteratorOfListOfBox_Next(self)

    def Value(self):
        return _IntTools.IntTools_ListIteratorOfListOfBox_Value(self)

    def ChangeValue(self):
        return _IntTools.IntTools_ListIteratorOfListOfBox_ChangeValue(self)
    __swig_destroy__ = _IntTools.delete_IntTools_ListIteratorOfListOfBox

# Register IntTools_ListIteratorOfListOfBox in _IntTools:
_IntTools.IntTools_ListIteratorOfListOfBox_swigregister(IntTools_ListIteratorOfListOfBox)
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))

    def More(self):
        return _IntTools.IntTools_ListIteratorOfListOfCurveRangeSample_More(self)

    def Next(self):
        return _IntTools.IntTools_ListIteratorOfListOfCurveRangeSample_Next(self)

    def Value(self):
        return _IntTools.IntTools_ListIteratorOfListOfCurveRangeSample_Value(self)

    def ChangeValue(self):
        return _IntTools.IntTools_ListIteratorOfListOfCurveRangeSample_ChangeValue(self)
    __swig_destroy__ = _IntTools.delete_IntTools_ListIteratorOfListOfCurveRangeSample

# Register IntTools_ListIteratorOfListOfCurveRangeSample in _IntTools:
_IntTools.IntTools_ListIteratorOfListOfCurveRangeSample_swigregister(IntTools_ListIteratorOfListOfCurveRangeSample)
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))

    def More(self):
        return _IntTools.IntTools_ListIteratorOfListOfSurfaceRangeSample_More(self)

    def Next(self):
        return _IntTools.IntTools_ListIteratorOfListOfSurfaceRangeSample_Next(self)

    def Value(self):
        return _IntTools.IntTools_ListIteratorOfListOfSurfaceRangeSample_Value(self)

    def ChangeValue(self):
        return _IntTools.IntTools_ListIteratorOfListOfSurfaceRangeSample_ChangeValue(self)
    __swig_destroy__ = _IntTools.delete_IntTools_ListIteratorOfListOfSurfaceRangeSample

# Register IntTools_ListIteratorOfListOfSurfaceRangeSample in _IntTools:
_IntTools.IntTools_ListIteratorOfListOfSurfaceRangeSample_swigregister(IntTools_ListIteratorOfListOfSurfaceRangeSample)
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

    def begin(self):
        return _IntTools.IntTools_ListOfBox_begin(self)

    def end(self):
        return _IntTools.IntTools_ListOfBox_end(self)

    def cbegin(self):
        return _IntTools.IntTools_ListOfBox_cbegin(self)

    def cend(self):
        return _IntTools.IntTools_ListOfBox_cend(self)

    def __init__(self, *args):
        _IntTools.IntTools_ListOfBox_swiginit(self, _IntTools.new_IntTools_ListOfBox(*args))

    def Size(self):
        return _IntTools.IntTools_ListOfBox_Size(self)

    def Assign(self, theOther):
        return _IntTools.IntTools_ListOfBox_Assign(self, theOther)

    def Set(self, theOther):
        return _IntTools.IntTools_ListOfBox_Set(self, theOther)

    def Clear(self, theAllocator=0):
        return _IntTools.IntTools_ListOfBox_Clear(self, theAllocator)

    def First(self):
        return _IntTools.IntTools_ListOfBox_First(self)

    def Last(self):
        return _IntTools.IntTools_ListOfBox_Last(self)

    def Append(self, *args):
        return _IntTools.IntTools_ListOfBox_Append(self, *args)

    def Prepend(self, *args):
        return _IntTools.IntTools_ListOfBox_Prepend(self, *args)

    def RemoveFirst(self):
        return _IntTools.IntTools_ListOfBox_RemoveFirst(self)

    def Remove(self, theIter):
        return _IntTools.IntTools_ListOfBox_Remove(self, theIter)

    def InsertBefore(self, *args):
        return _IntTools.IntTools_ListOfBox_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _IntTools.IntTools_ListOfBox_InsertAfter(self, *args)

    def Reverse(self):
        return _IntTools.IntTools_ListOfBox_Reverse(self)
    __swig_destroy__ = _IntTools.delete_IntTools_ListOfBox

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


# Register IntTools_ListOfBox in _IntTools:
_IntTools.IntTools_ListOfBox_swigregister(IntTools_ListOfBox)
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

    def begin(self):
        return _IntTools.IntTools_ListOfCurveRangeSample_begin(self)

    def end(self):
        return _IntTools.IntTools_ListOfCurveRangeSample_end(self)

    def cbegin(self):
        return _IntTools.IntTools_ListOfCurveRangeSample_cbegin(self)

    def cend(self):
        return _IntTools.IntTools_ListOfCurveRangeSample_cend(self)

    def __init__(self, *args):
        _IntTools.IntTools_ListOfCurveRangeSample_swiginit(self, _IntTools.new_IntTools_ListOfCurveRangeSample(*args))

    def Size(self):
        return _IntTools.IntTools_ListOfCurveRangeSample_Size(self)

    def Assign(self, theOther):
        return _IntTools.IntTools_ListOfCurveRangeSample_Assign(self, theOther)

    def Set(self, theOther):
        return _IntTools.IntTools_ListOfCurveRangeSample_Set(self, theOther)

    def Clear(self, theAllocator=0):
        return _IntTools.IntTools_ListOfCurveRangeSample_Clear(self, theAllocator)

    def First(self):
        return _IntTools.IntTools_ListOfCurveRangeSample_First(self)

    def Last(self):
        return _IntTools.IntTools_ListOfCurveRangeSample_Last(self)

    def Append(self, *args):
        return _IntTools.IntTools_ListOfCurveRangeSample_Append(self, *args)

    def Prepend(self, *args):
        return _IntTools.IntTools_ListOfCurveRangeSample_Prepend(self, *args)

    def RemoveFirst(self):
        return _IntTools.IntTools_ListOfCurveRangeSample_RemoveFirst(self)

    def Remove(self, theIter):
        return _IntTools.IntTools_ListOfCurveRangeSample_Remove(self, theIter)

    def InsertBefore(self, *args):
        return _IntTools.IntTools_ListOfCurveRangeSample_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _IntTools.IntTools_ListOfCurveRangeSample_InsertAfter(self, *args)

    def Reverse(self):
        return _IntTools.IntTools_ListOfCurveRangeSample_Reverse(self)
    __swig_destroy__ = _IntTools.delete_IntTools_ListOfCurveRangeSample

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


# Register IntTools_ListOfCurveRangeSample in _IntTools:
_IntTools.IntTools_ListOfCurveRangeSample_swigregister(IntTools_ListOfCurveRangeSample)
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

    def begin(self):
        return _IntTools.IntTools_ListOfSurfaceRangeSample_begin(self)

    def end(self):
        return _IntTools.IntTools_ListOfSurfaceRangeSample_end(self)

    def cbegin(self):
        return _IntTools.IntTools_ListOfSurfaceRangeSample_cbegin(self)

    def cend(self):
        return _IntTools.IntTools_ListOfSurfaceRangeSample_cend(self)

    def __init__(self, *args):
        _IntTools.IntTools_ListOfSurfaceRangeSample_swiginit(self, _IntTools.new_IntTools_ListOfSurfaceRangeSample(*args))

    def Size(self):
        return _IntTools.IntTools_ListOfSurfaceRangeSample_Size(self)

    def Assign(self, theOther):
        return _IntTools.IntTools_ListOfSurfaceRangeSample_Assign(self, theOther)

    def Set(self, theOther):
        return _IntTools.IntTools_ListOfSurfaceRangeSample_Set(self, theOther)

    def Clear(self, theAllocator=0):
        return _IntTools.IntTools_ListOfSurfaceRangeSample_Clear(self, theAllocator)

    def First(self):
        return _IntTools.IntTools_ListOfSurfaceRangeSample_First(self)

    def Last(self):
        return _IntTools.IntTools_ListOfSurfaceRangeSample_Last(self)

    def Append(self, *args):
        return _IntTools.IntTools_ListOfSurfaceRangeSample_Append(self, *args)

    def Prepend(self, *args):
        return _IntTools.IntTools_ListOfSurfaceRangeSample_Prepend(self, *args)

    def RemoveFirst(self):
        return _IntTools.IntTools_ListOfSurfaceRangeSample_RemoveFirst(self)

    def Remove(self, theIter):
        return _IntTools.IntTools_ListOfSurfaceRangeSample_Remove(self, theIter)

    def InsertBefore(self, *args):
        return _IntTools.IntTools_ListOfSurfaceRangeSample_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _IntTools.IntTools_ListOfSurfaceRangeSample_InsertAfter(self, *args)

    def Reverse(self):
        return _IntTools.IntTools_ListOfSurfaceRangeSample_Reverse(self)
    __swig_destroy__ = _IntTools.delete_IntTools_ListOfSurfaceRangeSample

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


# Register IntTools_ListOfSurfaceRangeSample in _IntTools:
_IntTools.IntTools_ListOfSurfaceRangeSample_swigregister(IntTools_ListOfSurfaceRangeSample)
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

    def cbegin(self):
        return _IntTools.IntTools_MapOfCurveSample_cbegin(self)

    def cend(self):
        return _IntTools.IntTools_MapOfCurveSample_cend(self)

    def __init__(self, *args):
        _IntTools.IntTools_MapOfCurveSample_swiginit(self, _IntTools.new_IntTools_MapOfCurveSample(*args))

    def Exchange(self, theOther):
        return _IntTools.IntTools_MapOfCurveSample_Exchange(self, theOther)

    def Assign(self, theOther):
        return _IntTools.IntTools_MapOfCurveSample_Assign(self, theOther)

    def Set(self, theOther):
        return _IntTools.IntTools_MapOfCurveSample_Set(self, theOther)

    def ReSize(self, N):
        return _IntTools.IntTools_MapOfCurveSample_ReSize(self, N)

    def Add(self, K):
        return _IntTools.IntTools_MapOfCurveSample_Add(self, K)

    def Added(self, K):
        return _IntTools.IntTools_MapOfCurveSample_Added(self, K)

    def Remove(self, K):
        return _IntTools.IntTools_MapOfCurveSample_Remove(self, K)

    def Clear(self, *args):
        return _IntTools.IntTools_MapOfCurveSample_Clear(self, *args)
    __swig_destroy__ = _IntTools.delete_IntTools_MapOfCurveSample

    def Size(self):
        return _IntTools.IntTools_MapOfCurveSample_Size(self)

    def IsEqual(self, theOther):
        return _IntTools.IntTools_MapOfCurveSample_IsEqual(self, theOther)

    def Contains(self, *args):
        return _IntTools.IntTools_MapOfCurveSample_Contains(self, *args)

    def Union(self, theLeft, theRight):
        return _IntTools.IntTools_MapOfCurveSample_Union(self, theLeft, theRight)

    def Unite(self, theOther):
        return _IntTools.IntTools_MapOfCurveSample_Unite(self, theOther)

    def HasIntersection(self, theMap):
        return _IntTools.IntTools_MapOfCurveSample_HasIntersection(self, theMap)

    def Intersection(self, theLeft, theRight):
        return _IntTools.IntTools_MapOfCurveSample_Intersection(self, theLeft, theRight)

    def Intersect(self, theOther):
        return _IntTools.IntTools_MapOfCurveSample_Intersect(self, theOther)

    def Subtraction(self, theLeft, theRight):
        return _IntTools.IntTools_MapOfCurveSample_Subtraction(self, theLeft, theRight)

    def Subtract(self, theOther):
        return _IntTools.IntTools_MapOfCurveSample_Subtract(self, theOther)

    def Difference(self, theLeft, theRight):
        return _IntTools.IntTools_MapOfCurveSample_Difference(self, theLeft, theRight)

    def Differ(self, theOther):
        return _IntTools.IntTools_MapOfCurveSample_Differ(self, theOther)

# Register IntTools_MapOfCurveSample in _IntTools:
_IntTools.IntTools_MapOfCurveSample_swigregister(IntTools_MapOfCurveSample)
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

    def cbegin(self):
        return _IntTools.IntTools_MapOfSurfaceSample_cbegin(self)

    def cend(self):
        return _IntTools.IntTools_MapOfSurfaceSample_cend(self)

    def __init__(self, *args):
        _IntTools.IntTools_MapOfSurfaceSample_swiginit(self, _IntTools.new_IntTools_MapOfSurfaceSample(*args))

    def Exchange(self, theOther):
        return _IntTools.IntTools_MapOfSurfaceSample_Exchange(self, theOther)

    def Assign(self, theOther):
        return _IntTools.IntTools_MapOfSurfaceSample_Assign(self, theOther)

    def Set(self, theOther):
        return _IntTools.IntTools_MapOfSurfaceSample_Set(self, theOther)

    def ReSize(self, N):
        return _IntTools.IntTools_MapOfSurfaceSample_ReSize(self, N)

    def Add(self, K):
        return _IntTools.IntTools_MapOfSurfaceSample_Add(self, K)

    def Added(self, K):
        return _IntTools.IntTools_MapOfSurfaceSample_Added(self, K)

    def Remove(self, K):
        return _IntTools.IntTools_MapOfSurfaceSample_Remove(self, K)

    def Clear(self, *args):
        return _IntTools.IntTools_MapOfSurfaceSample_Clear(self, *args)
    __swig_destroy__ = _IntTools.delete_IntTools_MapOfSurfaceSample

    def Size(self):
        return _IntTools.IntTools_MapOfSurfaceSample_Size(self)

    def IsEqual(self, theOther):
        return _IntTools.IntTools_MapOfSurfaceSample_IsEqual(self, theOther)

    def Contains(self, *args):
        return _IntTools.IntTools_MapOfSurfaceSample_Contains(self, *args)

    def Union(self, theLeft, theRight):
        return _IntTools.IntTools_MapOfSurfaceSample_Union(self, theLeft, theRight)

    def Unite(self, theOther):
        return _IntTools.IntTools_MapOfSurfaceSample_Unite(self, theOther)

    def HasIntersection(self, theMap):
        return _IntTools.IntTools_MapOfSurfaceSample_HasIntersection(self, theMap)

    def Intersection(self, theLeft, theRight):
        return _IntTools.IntTools_MapOfSurfaceSample_Intersection(self, theLeft, theRight)

    def Intersect(self, theOther):
        return _IntTools.IntTools_MapOfSurfaceSample_Intersect(self, theOther)

    def Subtraction(self, theLeft, theRight):
        return _IntTools.IntTools_MapOfSurfaceSample_Subtraction(self, theLeft, theRight)

    def Subtract(self, theOther):
        return _IntTools.IntTools_MapOfSurfaceSample_Subtract(self, theOther)

    def Difference(self, theLeft, theRight):
        return _IntTools.IntTools_MapOfSurfaceSample_Difference(self, theLeft, theRight)

    def Differ(self, theOther):
        return _IntTools.IntTools_MapOfSurfaceSample_Differ(self, theOther)

# Register IntTools_MapOfSurfaceSample in _IntTools:
_IntTools.IntTools_MapOfSurfaceSample_swigregister(IntTools_MapOfSurfaceSample)
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

    def begin(self):
        return _IntTools.IntTools_SequenceOfCommonPrts_begin(self)

    def end(self):
        return _IntTools.IntTools_SequenceOfCommonPrts_end(self)

    def cbegin(self):
        return _IntTools.IntTools_SequenceOfCommonPrts_cbegin(self)

    def cend(self):
        return _IntTools.IntTools_SequenceOfCommonPrts_cend(self)

    def __init__(self, *args):
        _IntTools.IntTools_SequenceOfCommonPrts_swiginit(self, _IntTools.new_IntTools_SequenceOfCommonPrts(*args))

    def Size(self):
        return _IntTools.IntTools_SequenceOfCommonPrts_Size(self)

    def Length(self):
        return _IntTools.IntTools_SequenceOfCommonPrts_Length(self)

    def Lower(self):
        return _IntTools.IntTools_SequenceOfCommonPrts_Lower(self)

    def Upper(self):
        return _IntTools.IntTools_SequenceOfCommonPrts_Upper(self)

    def IsEmpty(self):
        return _IntTools.IntTools_SequenceOfCommonPrts_IsEmpty(self)

    def Reverse(self):
        return _IntTools.IntTools_SequenceOfCommonPrts_Reverse(self)

    def Exchange(self, I, J):
        return _IntTools.IntTools_SequenceOfCommonPrts_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _IntTools.IntTools_SequenceOfCommonPrts_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _IntTools.IntTools_SequenceOfCommonPrts_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _IntTools.IntTools_SequenceOfCommonPrts_Assign(self, theOther)

    def Set(self, theOther):
        return _IntTools.IntTools_SequenceOfCommonPrts_Set(self, theOther)

    def Remove(self, *args):
        return _IntTools.IntTools_SequenceOfCommonPrts_Remove(self, *args)

    def Append(self, *args):
        return _IntTools.IntTools_SequenceOfCommonPrts_Append(self, *args)

    def Prepend(self, *args):
        return _IntTools.IntTools_SequenceOfCommonPrts_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _IntTools.IntTools_SequenceOfCommonPrts_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _IntTools.IntTools_SequenceOfCommonPrts_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _IntTools.IntTools_SequenceOfCommonPrts_Split(self, theIndex, theSeq)

    def First(self):
        return _IntTools.IntTools_SequenceOfCommonPrts_First(self)

    def ChangeFirst(self):
        return _IntTools.IntTools_SequenceOfCommonPrts_ChangeFirst(self)

    def Last(self):
        return _IntTools.IntTools_SequenceOfCommonPrts_Last(self)

    def ChangeLast(self):
        return _IntTools.IntTools_SequenceOfCommonPrts_ChangeLast(self)

    def Value(self, theIndex):
        return _IntTools.IntTools_SequenceOfCommonPrts_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _IntTools.IntTools_SequenceOfCommonPrts_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _IntTools.IntTools_SequenceOfCommonPrts___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _IntTools.IntTools_SequenceOfCommonPrts_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _IntTools.delete_IntTools_SequenceOfCommonPrts

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


# Register IntTools_SequenceOfCommonPrts in _IntTools:
_IntTools.IntTools_SequenceOfCommonPrts_swigregister(IntTools_SequenceOfCommonPrts)
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

    def begin(self):
        return _IntTools.IntTools_SequenceOfCurves_begin(self)

    def end(self):
        return _IntTools.IntTools_SequenceOfCurves_end(self)

    def cbegin(self):
        return _IntTools.IntTools_SequenceOfCurves_cbegin(self)

    def cend(self):
        return _IntTools.IntTools_SequenceOfCurves_cend(self)

    def __init__(self, *args):
        _IntTools.IntTools_SequenceOfCurves_swiginit(self, _IntTools.new_IntTools_SequenceOfCurves(*args))

    def Size(self):
        return _IntTools.IntTools_SequenceOfCurves_Size(self)

    def Length(self):
        return _IntTools.IntTools_SequenceOfCurves_Length(self)

    def Lower(self):
        return _IntTools.IntTools_SequenceOfCurves_Lower(self)

    def Upper(self):
        return _IntTools.IntTools_SequenceOfCurves_Upper(self)

    def IsEmpty(self):
        return _IntTools.IntTools_SequenceOfCurves_IsEmpty(self)

    def Reverse(self):
        return _IntTools.IntTools_SequenceOfCurves_Reverse(self)

    def Exchange(self, I, J):
        return _IntTools.IntTools_SequenceOfCurves_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _IntTools.IntTools_SequenceOfCurves_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _IntTools.IntTools_SequenceOfCurves_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _IntTools.IntTools_SequenceOfCurves_Assign(self, theOther)

    def Set(self, theOther):
        return _IntTools.IntTools_SequenceOfCurves_Set(self, theOther)

    def Remove(self, *args):
        return _IntTools.IntTools_SequenceOfCurves_Remove(self, *args)

    def Append(self, *args):
        return _IntTools.IntTools_SequenceOfCurves_Append(self, *args)

    def Prepend(self, *args):
        return _IntTools.IntTools_SequenceOfCurves_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _IntTools.IntTools_SequenceOfCurves_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _IntTools.IntTools_SequenceOfCurves_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _IntTools.IntTools_SequenceOfCurves_Split(self, theIndex, theSeq)

    def First(self):
        return _IntTools.IntTools_SequenceOfCurves_First(self)

    def ChangeFirst(self):
        return _IntTools.IntTools_SequenceOfCurves_ChangeFirst(self)

    def Last(self):
        return _IntTools.IntTools_SequenceOfCurves_Last(self)

    def ChangeLast(self):
        return _IntTools.IntTools_SequenceOfCurves_ChangeLast(self)

    def Value(self, theIndex):
        return _IntTools.IntTools_SequenceOfCurves_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _IntTools.IntTools_SequenceOfCurves_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _IntTools.IntTools_SequenceOfCurves___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _IntTools.IntTools_SequenceOfCurves_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _IntTools.delete_IntTools_SequenceOfCurves

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


# Register IntTools_SequenceOfCurves in _IntTools:
_IntTools.IntTools_SequenceOfCurves_swigregister(IntTools_SequenceOfCurves)
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

    def begin(self):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_begin(self)

    def end(self):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_end(self)

    def cbegin(self):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_cbegin(self)

    def cend(self):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_cend(self)

    def __init__(self, *args):
        _IntTools.IntTools_SequenceOfPntOn2Faces_swiginit(self, _IntTools.new_IntTools_SequenceOfPntOn2Faces(*args))

    def Size(self):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_Size(self)

    def Length(self):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_Length(self)

    def Lower(self):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_Lower(self)

    def Upper(self):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_Upper(self)

    def IsEmpty(self):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_IsEmpty(self)

    def Reverse(self):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_Reverse(self)

    def Exchange(self, I, J):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_Assign(self, theOther)

    def Set(self, theOther):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_Set(self, theOther)

    def Remove(self, *args):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_Remove(self, *args)

    def Append(self, *args):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_Append(self, *args)

    def Prepend(self, *args):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_Split(self, theIndex, theSeq)

    def First(self):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_First(self)

    def ChangeFirst(self):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_ChangeFirst(self)

    def Last(self):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_Last(self)

    def ChangeLast(self):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_ChangeLast(self)

    def Value(self, theIndex):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _IntTools.IntTools_SequenceOfPntOn2Faces___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _IntTools.IntTools_SequenceOfPntOn2Faces_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _IntTools.delete_IntTools_SequenceOfPntOn2Faces

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


# Register IntTools_SequenceOfPntOn2Faces in _IntTools:
_IntTools.IntTools_SequenceOfPntOn2Faces_swigregister(IntTools_SequenceOfPntOn2Faces)
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

    def begin(self):
        return _IntTools.IntTools_SequenceOfRanges_begin(self)

    def end(self):
        return _IntTools.IntTools_SequenceOfRanges_end(self)

    def cbegin(self):
        return _IntTools.IntTools_SequenceOfRanges_cbegin(self)

    def cend(self):
        return _IntTools.IntTools_SequenceOfRanges_cend(self)

    def __init__(self, *args):
        _IntTools.IntTools_SequenceOfRanges_swiginit(self, _IntTools.new_IntTools_SequenceOfRanges(*args))

    def Size(self):
        return _IntTools.IntTools_SequenceOfRanges_Size(self)

    def Length(self):
        return _IntTools.IntTools_SequenceOfRanges_Length(self)

    def Lower(self):
        return _IntTools.IntTools_SequenceOfRanges_Lower(self)

    def Upper(self):
        return _IntTools.IntTools_SequenceOfRanges_Upper(self)

    def IsEmpty(self):
        return _IntTools.IntTools_SequenceOfRanges_IsEmpty(self)

    def Reverse(self):
        return _IntTools.IntTools_SequenceOfRanges_Reverse(self)

    def Exchange(self, I, J):
        return _IntTools.IntTools_SequenceOfRanges_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _IntTools.IntTools_SequenceOfRanges_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _IntTools.IntTools_SequenceOfRanges_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _IntTools.IntTools_SequenceOfRanges_Assign(self, theOther)

    def Set(self, theOther):
        return _IntTools.IntTools_SequenceOfRanges_Set(self, theOther)

    def Remove(self, *args):
        return _IntTools.IntTools_SequenceOfRanges_Remove(self, *args)

    def Append(self, *args):
        return _IntTools.IntTools_SequenceOfRanges_Append(self, *args)

    def Prepend(self, *args):
        return _IntTools.IntTools_SequenceOfRanges_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _IntTools.IntTools_SequenceOfRanges_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _IntTools.IntTools_SequenceOfRanges_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _IntTools.IntTools_SequenceOfRanges_Split(self, theIndex, theSeq)

    def First(self):
        return _IntTools.IntTools_SequenceOfRanges_First(self)

    def ChangeFirst(self):
        return _IntTools.IntTools_SequenceOfRanges_ChangeFirst(self)

    def Last(self):
        return _IntTools.IntTools_SequenceOfRanges_Last(self)

    def ChangeLast(self):
        return _IntTools.IntTools_SequenceOfRanges_ChangeLast(self)

    def Value(self, theIndex):
        return _IntTools.IntTools_SequenceOfRanges_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _IntTools.IntTools_SequenceOfRanges_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _IntTools.IntTools_SequenceOfRanges___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _IntTools.IntTools_SequenceOfRanges_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _IntTools.delete_IntTools_SequenceOfRanges

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


# Register IntTools_SequenceOfRanges in _IntTools:
_IntTools.IntTools_SequenceOfRanges_swigregister(IntTools_SequenceOfRanges)
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

    def begin(self):
        return _IntTools.IntTools_SequenceOfRoots_begin(self)

    def end(self):
        return _IntTools.IntTools_SequenceOfRoots_end(self)

    def cbegin(self):
        return _IntTools.IntTools_SequenceOfRoots_cbegin(self)

    def cend(self):
        return _IntTools.IntTools_SequenceOfRoots_cend(self)

    def __init__(self, *args):
        _IntTools.IntTools_SequenceOfRoots_swiginit(self, _IntTools.new_IntTools_SequenceOfRoots(*args))

    def Size(self):
        return _IntTools.IntTools_SequenceOfRoots_Size(self)

    def Length(self):
        return _IntTools.IntTools_SequenceOfRoots_Length(self)

    def Lower(self):
        return _IntTools.IntTools_SequenceOfRoots_Lower(self)

    def Upper(self):
        return _IntTools.IntTools_SequenceOfRoots_Upper(self)

    def IsEmpty(self):
        return _IntTools.IntTools_SequenceOfRoots_IsEmpty(self)

    def Reverse(self):
        return _IntTools.IntTools_SequenceOfRoots_Reverse(self)

    def Exchange(self, I, J):
        return _IntTools.IntTools_SequenceOfRoots_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _IntTools.IntTools_SequenceOfRoots_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _IntTools.IntTools_SequenceOfRoots_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _IntTools.IntTools_SequenceOfRoots_Assign(self, theOther)

    def Set(self, theOther):
        return _IntTools.IntTools_SequenceOfRoots_Set(self, theOther)

    def Remove(self, *args):
        return _IntTools.IntTools_SequenceOfRoots_Remove(self, *args)

    def Append(self, *args):
        return _IntTools.IntTools_SequenceOfRoots_Append(self, *args)

    def Prepend(self, *args):
        return _IntTools.IntTools_SequenceOfRoots_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _IntTools.IntTools_SequenceOfRoots_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _IntTools.IntTools_SequenceOfRoots_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _IntTools.IntTools_SequenceOfRoots_Split(self, theIndex, theSeq)

    def First(self):
        return _IntTools.IntTools_SequenceOfRoots_First(self)

    def ChangeFirst(self):
        return _IntTools.IntTools_SequenceOfRoots_ChangeFirst(self)

    def Last(self):
        return _IntTools.IntTools_SequenceOfRoots_Last(self)

    def ChangeLast(self):
        return _IntTools.IntTools_SequenceOfRoots_ChangeLast(self)

    def Value(self, theIndex):
        return _IntTools.IntTools_SequenceOfRoots_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _IntTools.IntTools_SequenceOfRoots_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _IntTools.IntTools_SequenceOfRoots___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _IntTools.IntTools_SequenceOfRoots_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _IntTools.delete_IntTools_SequenceOfRoots

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


# Register IntTools_SequenceOfRoots in _IntTools:
_IntTools.IntTools_SequenceOfRoots_swigregister(IntTools_SequenceOfRoots)
class inttools(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        aSeq: IntTools_SequenceOfRoots
        anEpsNull: float

        Return
        -------
        None

        Description
        -----------
        Find the states (before and after) for each root from the sequence aseq.

        """
        return _IntTools.inttools_FindRootStates(*args)

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

        Parameters
        ----------
        C: BRepAdaptor_Curve
        t1: float
        t3: float

        Return
        -------
        R: float

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

        """
        return _IntTools.inttools_GetRadius(*args)

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

        Parameters
        ----------
        E: TopoDS_Edge

        Return
        -------
        float

        Description
        -----------
        Returns the length of the edge;.

        """
        return _IntTools.inttools_Length(*args)

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

        Parameters
        ----------
        P: gp_Pnt
        Curve: Geom_Curve

        Return
        -------
        aParm: float

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

        """
        return _IntTools.inttools_Parameter(*args)

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

        Parameters
        ----------
        C: BRepAdaptor_Curve
        tMax: float
        tMin: float
        Discret: int
        Deflect: float
        anArgs: TColStd_Array1OfReal

        Return
        -------
        int

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

        """
        return _IntTools.inttools_PrepareArgs(*args)

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

        Parameters
        ----------
        aSeq: IntTools_SequenceOfRoots
        anEpsT: float

        Return
        -------
        None

        Description
        -----------
        Remove from the sequence aseq the roots that have values ti and tj such as |ti-tj] < anepst.

        """
        return _IntTools.inttools_RemoveIdenticalRoots(*args)

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

        Parameters
        ----------
        aSeq: IntTools_SequenceOfRoots
        anEpsT: float

        Return
        -------
        None

        Description
        -----------
        Sort the sequence aseq of the roots to arrange the roots in increasing order.

        """
        return _IntTools.inttools_SortRoots(*args)

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

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

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

        Parameters
        ----------
        theDepth: int

        Return
        -------
        None

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

        """
        _IntTools.IntTools_BaseRangeSample_swiginit(self, _IntTools.new_IntTools_BaseRangeSample(*args))

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

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

        """
        return _IntTools.IntTools_BaseRangeSample_GetDepth(self, *args)

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

        Parameters
        ----------
        theDepth: int

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_BaseRangeSample_SetDepth(self, *args)

    __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

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

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

        Parameters
        ----------
        theEdge: TopoDS_Edge
        theFace: TopoDS_Face

        Return
        -------
        None

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

        Parameters
        ----------
        theCurve: BRepAdaptor_Curve
        theSurface: BRepAdaptor_Surface
        theBeanTolerance: float
        theFaceTolerance: float

        Return
        -------
        None

        Description
        -----------
        Initializes the algorithm.

        Parameters
        ----------
        theCurve: BRepAdaptor_Curve
        theSurface: BRepAdaptor_Surface
        theFirstParOnCurve: float
        theLastParOnCurve: float
        theUMinParameter: float
        theUMaxParameter: float
        theVMinParameter: float
        theVMaxParameter: float
        theBeanTolerance: float
        theFaceTolerance: float

        Return
        -------
        None

        Description
        -----------
        Initializes the algorithm theuminparameter, ... are used for optimization purposes.

        """
        _IntTools.IntTools_BeanFaceIntersector_swiginit(self, _IntTools.new_IntTools_BeanFaceIntersector(*args))

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

        Description
        -----------
        Gets the intersection context.

        """
        return _IntTools.IntTools_BeanFaceIntersector_Context(self, *args)

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

        Parameters
        ----------
        theEdge: TopoDS_Edge
        theFace: TopoDS_Face

        Return
        -------
        None

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

        Parameters
        ----------
        theCurve: BRepAdaptor_Curve
        theSurface: BRepAdaptor_Surface
        theBeanTolerance: float
        theFaceTolerance: float

        Return
        -------
        None

        Description
        -----------
        Initializes the algorithm.

        Parameters
        ----------
        theCurve: BRepAdaptor_Curve
        theSurface: BRepAdaptor_Surface
        theFirstParOnCurve: float
        theLastParOnCurve: float
        theUMinParameter: float
        theUMaxParameter: float
        theVMinParameter: float
        theVMaxParameter: float
        theBeanTolerance: float
        theFaceTolerance: float

        Return
        -------
        None

        Description
        -----------
        Initializes the algorithm theuminparameter, ... are used for optimization purposes.

        """
        return _IntTools.IntTools_BeanFaceIntersector_Init(self, *args)

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

        Description
        -----------
        Returns done/notdone state of the algorithm.

        """
        return _IntTools.IntTools_BeanFaceIntersector_IsDone(self, *args)

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

        Description
        -----------
        Returns the minimal distance found between edge and face.

        """
        return _IntTools.IntTools_BeanFaceIntersector_MinimalSquareDistance(self, *args)

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

        Description
        -----------
        Launches the algorithm.

        """
        return _IntTools.IntTools_BeanFaceIntersector_Perform(self, *args)

    def Result(self, *args):
        r"""
        Return
        -------
        IntTools_SequenceOfRanges

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

        Parameters
        ----------
        theResults: IntTools_SequenceOfRanges

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_BeanFaceIntersector_Result(self, *args)

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

        Parameters
        ----------
        theFirstParOnCurve: float
        theLastParOnCurve: float

        Return
        -------
        None

        Description
        -----------
        Set restrictions for curve.

        """
        return _IntTools.IntTools_BeanFaceIntersector_SetBeanParameters(self, *args)

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

        Parameters
        ----------
        theContext: IntTools_Context

        Return
        -------
        None

        Description
        -----------
        Sets the intersection context.

        """
        return _IntTools.IntTools_BeanFaceIntersector_SetContext(self, *args)

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

        Parameters
        ----------
        theUMinParameter: float
        theUMaxParameter: float
        theVMinParameter: float
        theVMaxParameter: float

        Return
        -------
        None

        Description
        -----------
        Set restrictions for surface.

        """
        return _IntTools.IntTools_BeanFaceIntersector_SetSurfaceParameters(self, *args)

    __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

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

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

        Parameters
        ----------
        aCPrt: IntTools_CommonPrt

        Return
        -------
        None

        Description
        -----------
        Copy constructor.

        """
        _IntTools.IntTools_CommonPrt_swiginit(self, _IntTools.new_IntTools_CommonPrt(*args))

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

        Description
        -----------
        Modifier.

        """
        return _IntTools.IntTools_CommonPrt_AllNullFlag(self, *args)

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

        Parameters
        ----------
        aR: IntTools_Range

        Return
        -------
        None

        Description
        -----------
        Appends the range of second edge.

        Parameters
        ----------
        tf: float
        tl: float

        Return
        -------
        None

        Description
        -----------
        Appends the range of second edge.

        """
        return _IntTools.IntTools_CommonPrt_AppendRange2(self, *args)

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

        Parameters
        ----------
        Other: IntTools_CommonPrt

        Return
        -------
        IntTools_CommonPrt

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

        """
        return _IntTools.IntTools_CommonPrt_Assign(self, *args)

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

        Parameters
        ----------
        aP1: gp_Pnt
        aP2: gp_Pnt

        Return
        -------
        None

        Description
        -----------
        Selector.

        """
        return _IntTools.IntTools_CommonPrt_BoundingPoints(self, *args)

    def ChangeRanges2(self, *args):
        r"""
        Return
        -------
        IntTools_SequenceOfRanges

        Description
        -----------
        Returns the ranges of second edge.

        """
        return _IntTools.IntTools_CommonPrt_ChangeRanges2(self, *args)

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

        Parameters
        ----------
        anOther: IntTools_CommonPrt

        Return
        -------
        None

        Description
        -----------
        Copies me to another.

        """
        return _IntTools.IntTools_CommonPrt_Copy(self, *args)

    def Edge1(self, *args):
        r"""
        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Returns the first edge.

        """
        return _IntTools.IntTools_CommonPrt_Edge1(self, *args)

    def Edge2(self, *args):
        r"""
        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Returns the second edge.

        """
        return _IntTools.IntTools_CommonPrt_Edge2(self, *args)

    def Range1(self, *args):
        r"""
        Return
        -------
        IntTools_Range

        Description
        -----------
        Returns the range of first edge.

        Parameters
        ----------

        Return
        -------
        tf: float
        tl: float

        Description
        -----------
        Returns the range of first edge.

        """
        return _IntTools.IntTools_CommonPrt_Range1(self, *args)

    def Ranges2(self, *args):
        r"""
        Return
        -------
        IntTools_SequenceOfRanges

        Description
        -----------
        Returns the ranges of second edge.

        """
        return _IntTools.IntTools_CommonPrt_Ranges2(self, *args)

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

        Parameters
        ----------
        aFlag: bool

        Return
        -------
        None

        Description
        -----------
        Selector.

        """
        return _IntTools.IntTools_CommonPrt_SetAllNullFlag(self, *args)

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

        Parameters
        ----------
        aP1: gp_Pnt
        aP2: gp_Pnt

        Return
        -------
        None

        Description
        -----------
        Modifier.

        """
        return _IntTools.IntTools_CommonPrt_SetBoundingPoints(self, *args)

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

        Parameters
        ----------
        anE: TopoDS_Edge

        Return
        -------
        None

        Description
        -----------
        Sets the first edge.

        """
        return _IntTools.IntTools_CommonPrt_SetEdge1(self, *args)

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

        Parameters
        ----------
        anE: TopoDS_Edge

        Return
        -------
        None

        Description
        -----------
        Sets the second edge.

        """
        return _IntTools.IntTools_CommonPrt_SetEdge2(self, *args)

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

        Parameters
        ----------
        aR: IntTools_Range

        Return
        -------
        None

        Description
        -----------
        Sets the range of first edge.

        Parameters
        ----------
        tf: float
        tl: float

        Return
        -------
        None

        Description
        -----------
        Sets the range of first edge.

        """
        return _IntTools.IntTools_CommonPrt_SetRange1(self, *args)

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

        Parameters
        ----------
        aType: TopAbs_ShapeEnum

        Return
        -------
        None

        Description
        -----------
        Sets the type of the common part vertex or edge.

        """
        return _IntTools.IntTools_CommonPrt_SetType(self, *args)

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

        Parameters
        ----------
        tV: float

        Return
        -------
        None

        Description
        -----------
        Sets a parameter of first vertex.

        """
        return _IntTools.IntTools_CommonPrt_SetVertexParameter1(self, *args)

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

        Parameters
        ----------
        tV: float

        Return
        -------
        None

        Description
        -----------
        Sets a parameter of second vertex.

        """
        return _IntTools.IntTools_CommonPrt_SetVertexParameter2(self, *args)

    def Type(self, *args):
        r"""
        Return
        -------
        TopAbs_ShapeEnum

        Description
        -----------
        Returns the type of the common part.

        """
        return _IntTools.IntTools_CommonPrt_Type(self, *args)

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

        Description
        -----------
        Returns parameter of first vertex.

        """
        return _IntTools.IntTools_CommonPrt_VertexParameter1(self, *args)

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

        Description
        -----------
        Returns parameter of second vertex.

        """
        return _IntTools.IntTools_CommonPrt_VertexParameter2(self, *args)

    __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

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

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

        Parameters
        ----------
        theAllocator: NCollection_BaseAllocator

        Return
        -------
        None

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

        """
        _IntTools.IntTools_Context_swiginit(self, _IntTools.new_IntTools_Context(*args))

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

        Parameters
        ----------
        theS: TopoDS_Shape

        Return
        -------
        Bnd_Box

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

        """
        return _IntTools.IntTools_Context_BndBox(self, *args)

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

        Parameters
        ----------
        theP: gp_Pnt
        theTolP: float
        theE: TopoDS_Edge

        Return
        -------
        theT: float
        theDist: float

        Description
        -----------
        Computes parameter of the point thep on the edge ae. returns zero if the distance between point and edge is less than sum of tolerance value of edge and thetopp, otherwise and for following conditions returns negative value 1. the edge is degenerated (-1) 2. the edge does not contain 3d curve and pcurves (-2) 3. projection algorithm failed (-3).

        """
        return _IntTools.IntTools_Context_ComputePE(self, *args)

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

        Parameters
        ----------
        theV: TopoDS_Vertex
        theE: TopoDS_Edge
        theFuzz: float (optional, default to Precision::Confusion())

        Return
        -------
        theT: float
        theTol: float

        Description
        -----------
        Computes parameter of the vertex av on the edge ae and correct tolerance value for the vertex on the edge. returns zero if the distance between vertex and edge is less than sum of tolerances and the fuzzy value, otherwise and for following conditions returns negative value: 1. the edge is degenerated (-1) 2. the edge does not contain 3d curve and pcurves (-2) 3. projection algorithm failed (-3).

        """
        return _IntTools.IntTools_Context_ComputeVE(self, *args)

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

        Parameters
        ----------
        theVertex: TopoDS_Vertex
        theFace: TopoDS_Face
        theFuzz: float (optional, default to Precision::Confusion())

        Return
        -------
        theU: float
        theV: float
        theTol: float

        Description
        -----------
        Computes uv parameters of the vertex av on face af and correct tolerance value for the vertex on the face. returns zero if the distance between vertex and face is less than or equal the sum of tolerances and the fuzzy value and the projection point lays inside boundaries of the face. for following conditions returns negative value 1. projection algorithm failed (-1) 2. distance is more than sum of tolerances (-2) 3. projection point out or on the boundaries of face (-3).

        """
        return _IntTools.IntTools_Context_ComputeVF(self, *args)

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

        Parameters
        ----------
        aF: TopoDS_Face

        Return
        -------
        IntTools_FClass2d

        Description
        -----------
        Returns a reference to point classifier for given face.

        """
        return _IntTools.IntTools_Context_FClass2d(self, *args)

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

        Parameters
        ----------
        aF: TopoDS_Face

        Return
        -------
        Geom2dHatch_Hatcher

        Description
        -----------
        Returns a reference to 2d hatcher for given face.

        """
        return _IntTools.IntTools_Context_Hatcher(self, *args)

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

        Parameters
        ----------
        theFace: TopoDS_Face

        Return
        -------
        bool

        Description
        -----------
        Returns true if the solid <theface> has infinite bounds.

        """
        return _IntTools.IntTools_Context_IsInfiniteFace(self, *args)

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

        Parameters
        ----------
        aF: TopoDS_Face
        aP2D: gp_Pnt2d

        Return
        -------
        bool

        Description
        -----------
        Returns true if the point ap2d is inside the boundaries of the face af, otherwise returns false.

        Parameters
        ----------
        aP3D: gp_Pnt
        aF: TopoDS_Face
        aTol: float

        Return
        -------
        bool

        Description
        -----------
        Returns true if the point ap2d is inside the boundaries of the face af, otherwise returns false.

        """
        return _IntTools.IntTools_Context_IsPointInFace(self, *args)

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

        Parameters
        ----------
        aF: TopoDS_Face
        aP2D: gp_Pnt2d

        Return
        -------
        bool

        Description
        -----------
        Returns true if the point ap2d is inside or on the boundaries of af.

        """
        return _IntTools.IntTools_Context_IsPointInOnFace(self, *args)

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

        Parameters
        ----------
        aT1: float
        aT2: float
        aIC: IntTools_Curve
        aF: TopoDS_Face
        aTol: float

        Return
        -------
        bool

        Description
        -----------
        Returns true if isvalidpointforface returns true for some 3d point that lay on the curve aic bounded by parameters at1 and at2.

        """
        return _IntTools.IntTools_Context_IsValidBlockForFace(self, *args)

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

        Parameters
        ----------
        aT1: float
        aT2: float
        aIC: IntTools_Curve
        aF1: TopoDS_Face
        aF2: TopoDS_Face
        aTol: float

        Return
        -------
        bool

        Description
        -----------
        Returns true if isvalidblockforface returns true for both faces af1 and af2.

        """
        return _IntTools.IntTools_Context_IsValidBlockForFaces(self, *args)

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

        Parameters
        ----------
        aP3D: gp_Pnt
        aF: TopoDS_Face
        aTol: float

        Return
        -------
        bool

        Description
        -----------
        Returns true if the distance between point ap3d and face af is less or equal to tolerance atol and projection point is inside or on the boundaries of the face af.

        """
        return _IntTools.IntTools_Context_IsValidPointForFace(self, *args)

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

        Parameters
        ----------
        aP3D: gp_Pnt
        aF1: TopoDS_Face
        aF2: TopoDS_Face
        aTol: float

        Return
        -------
        bool

        Description
        -----------
        Returns true if isvalidpointforface returns true for both face af1 and af2.

        """
        return _IntTools.IntTools_Context_IsValidPointForFaces(self, *args)

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

        Parameters
        ----------
        aV: TopoDS_Vertex
        aIC: IntTools_Curve
        aTolC: float

        Return
        -------
        aT: float

        Description
        -----------
        Computes parameter of the vertex av on the curve aic. returns true if the distance between vertex and curve is less than sum of tolerance of av and atolc, otherwise or if projection algorithm failed returns false (in this case at isn't significant).

        Parameters
        ----------
        aV: TopoDS_Vertex
        aTolV: float
        aIC: IntTools_Curve
        aTolC: float

        Return
        -------
        aT: float

        Description
        -----------
        Computes parameter of the vertex av on the curve aic. returns true if the distance between vertex and curve is less than sum of tolerance of av and atolc, otherwise or if projection algorithm failed returns false (in this case at isn't significant).

        """
        return _IntTools.IntTools_Context_IsVertexOnLine(self, *args)

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

        Parameters
        ----------
        theShape: TopoDS_Shape
        theFuzzyValue: float (optional, default to Precision::Confusion())

        Return
        -------
        Bnd_OBB

        Description
        -----------
        Builds and stores an oriented bounding box for the shape. returns a reference to obb.

        """
        return _IntTools.IntTools_Context_OBB(self, *args)

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

        Parameters
        ----------
        aE: TopoDS_Edge

        Return
        -------
        GeomAPI_ProjectPointOnCurve

        Description
        -----------
        Returns a reference to point projector for given edge.

        """
        return _IntTools.IntTools_Context_ProjPC(self, *args)

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

        Parameters
        ----------
        aF: TopoDS_Face

        Return
        -------
        GeomAPI_ProjectPointOnSurf

        Description
        -----------
        Returns a reference to point projector for given face.

        """
        return _IntTools.IntTools_Context_ProjPS(self, *args)

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

        Parameters
        ----------
        aC: Geom_Curve

        Return
        -------
        GeomAPI_ProjectPointOnCurve

        Description
        -----------
        Returns a reference to point projector for given curve.

        """
        return _IntTools.IntTools_Context_ProjPT(self, *args)

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

        Parameters
        ----------
        aP: gp_Pnt
        aE: TopoDS_Edge

        Return
        -------
        aT: float

        Description
        -----------
        Computes parameter of the point ap on the edge ae. returns false if projection algorithm failed other wiese returns true.

        """
        return _IntTools.IntTools_Context_ProjectPointOnEdge(self, *args)

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

        Parameters
        ----------
        theValue: float

        Return
        -------
        None

        Description
        -----------
        Sets tolerance to be used for projection of point on surface. clears map of already cached projectors in order to maintain correct value for all projectors.

        """
        return _IntTools.IntTools_Context_SetPOnSProjectionTolerance(self, *args)

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

        Parameters
        ----------
        aSolid: TopoDS_Solid

        Return
        -------
        BRepClass3d_SolidClassifier

        Description
        -----------
        Returns a reference to solid classifier for given solid.

        """
        return _IntTools.IntTools_Context_SolidClassifier(self, *args)

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

        Parameters
        ----------
        aF: TopoDS_Face
        aP2D: gp_Pnt2d

        Return
        -------
        TopAbs_State

        Description
        -----------
        Returns the state of the point ap2d relative to face af.

        """
        return _IntTools.IntTools_Context_StatePointFace(self, *args)

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

        Parameters
        ----------
        theFace: TopoDS_Face

        Return
        -------
        BRepAdaptor_Surface

        Description
        -----------
        Returns a reference to surface adaptor for given face.

        """
        return _IntTools.IntTools_Context_SurfaceAdaptor(self, *args)

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

        Parameters
        ----------
        aF: TopoDS_Face

        Return
        -------
        IntTools_SurfaceRangeLocalizeData

        Description
        -----------
        Returns a reference to surface localization data for given face.

        """
        return _IntTools.IntTools_Context_SurfaceData(self, *args)

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

        Parameters
        ----------
        theFace: TopoDS_Face

        Return
        -------
        UMin: float
        UMax: float
        VMin: float
        VMax: float

        Description
        -----------
        Computes the boundaries of the face using surface adaptor.

        """
        return _IntTools.IntTools_Context_UVBounds(self, *args)


    @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

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

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

        Parameters
        ----------
        the3dCurve3d: Geom_Curve
        the2dCurve1: Geom2d_Curve
        the2dCurve2: Geom2d_Curve
        theTolerance: float (optional, default to 0.0)
        theTangentialTolerance: float (optional, default to 0.0)

        Return
        -------
        None

        Description
        -----------
        Constructor taking 3d curve, two 2d curves and two tolerance values.

        """
        _IntTools.IntTools_Curve_swiginit(self, _IntTools.new_IntTools_Curve(*args))

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

        Parameters
        ----------
        theFirstPnt: gp_Pnt
        theLastPnt: gp_Pnt

        Return
        -------
        theFirst: float
        theLast: float

        Description
        -----------
        If the 3d curve is bounded curve the method will return true and modify the output parameters with boundary parameters of the curve and corresponded 3d points. if the curve does not have bounds, the method will return false and the output parameters will stay untouched.

        """
        return _IntTools.IntTools_Curve_Bounds(self, *args)

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

        Description
        -----------
        Returns 3d curve.

        """
        return _IntTools.IntTools_Curve_Curve(self, *args)

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

        Parameters
        ----------
        thePar: float
        thePnt: gp_Pnt

        Return
        -------
        bool

        Description
        -----------
        Computes 3d point corresponded to the given parameter if this parameter is inside the boundaries of the curve. returns true in this case. otherwise, the point will not be computed and the method will return false.

        """
        return _IntTools.IntTools_Curve_D0(self, *args)

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

        Description
        -----------
        Returns first 2d curve.

        """
        return _IntTools.IntTools_Curve_FirstCurve2d(self, *args)

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

        Description
        -----------
        Returns true if 3d curve is boundedcurve.

        """
        return _IntTools.IntTools_Curve_HasBounds(self, *args)

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

        Description
        -----------
        Returns second 2d curve.

        """
        return _IntTools.IntTools_Curve_SecondCurve2d(self, *args)

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

        Parameters
        ----------
        the3dCurve: Geom_Curve

        Return
        -------
        None

        Description
        -----------
        Sets the 3d curve.

        """
        return _IntTools.IntTools_Curve_SetCurve(self, *args)

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

        Parameters
        ----------
        the3dCurve: Geom_Curve
        the2dCurve1: Geom2d_Curve
        the2dCurve2: Geom2d_Curve

        Return
        -------
        None

        Description
        -----------
        Sets the curves.

        """
        return _IntTools.IntTools_Curve_SetCurves(self, *args)

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

        Parameters
        ----------
        the2dCurve1: Geom2d_Curve

        Return
        -------
        None

        Description
        -----------
        Sets the first 2d curve.

        """
        return _IntTools.IntTools_Curve_SetFirstCurve2d(self, *args)

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

        Parameters
        ----------
        the2dCurve2: Geom2d_Curve

        Return
        -------
        None

        Description
        -----------
        Sets the second 2d curve.

        """
        return _IntTools.IntTools_Curve_SetSecondCurve2d(self, *args)

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

        Parameters
        ----------
        theTangentialTolerance: float

        Return
        -------
        None

        Description
        -----------
        Sets the tangential tolerance.

        """
        return _IntTools.IntTools_Curve_SetTangentialTolerance(self, *args)

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

        Parameters
        ----------
        theTolerance: float

        Return
        -------
        None

        Description
        -----------
        Sets the tolerance for the curve.

        """
        return _IntTools.IntTools_Curve_SetTolerance(self, *args)

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

        Description
        -----------
        Returns the tangential tolerance.

        """
        return _IntTools.IntTools_Curve_TangentialTolerance(self, *args)

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

        Description
        -----------
        Returns the tolerance.

        """
        return _IntTools.IntTools_Curve_Tolerance(self, *args)

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

        Description
        -----------
        Returns the type of the 3d curve.

        """
        return _IntTools.IntTools_Curve_Type(self, *args)

    __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

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

        Parameters
        ----------
        theNbSample: int
        theMinRange: float

        Return
        -------
        None

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

        """
        _IntTools.IntTools_CurveRangeLocalizeData_swiginit(self, _IntTools.new_IntTools_CurveRangeLocalizeData(*args))

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

        Parameters
        ----------
        theRange: IntTools_CurveRangeSample
        theBox: Bnd_Box

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_CurveRangeLocalizeData_AddBox(self, *args)

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

        Parameters
        ----------
        theRange: IntTools_CurveRangeSample

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_CurveRangeLocalizeData_AddOutRange(self, *args)

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

        Parameters
        ----------
        theRange: IntTools_CurveRangeSample
        theBox: Bnd_Box

        Return
        -------
        bool

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

        """
        return _IntTools.IntTools_CurveRangeLocalizeData_FindBox(self, *args)

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

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

        """
        return _IntTools.IntTools_CurveRangeLocalizeData_GetMinRange(self, *args)

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

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

        """
        return _IntTools.IntTools_CurveRangeLocalizeData_GetNbSample(self, *args)

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

        Parameters
        ----------
        theRange: IntTools_CurveRangeSample

        Return
        -------
        bool

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

        """
        return _IntTools.IntTools_CurveRangeLocalizeData_IsRangeOut(self, *args)

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

        Parameters
        ----------
        theList: IntTools_ListOfCurveRangeSample

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_CurveRangeLocalizeData_ListRangeOut(self, *args)

    __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

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

        Parameters
        ----------
        theKey: IntTools_CurveRangeSample
        theUpperBound: int

        Return
        -------
        int

        Description
        -----------
        Computes a hash code for the given key, in the range [1, theupperbound] @param thekey the key which hash code is to be computed @param theupperbound the upper bound of the range a computing hash code must be within return a computed hash code, in the range [1, theupperbound].

        """
        return _IntTools.IntTools_CurveRangeSampleMapHasher_HashCode(*args)

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

        Parameters
        ----------
        S1: IntTools_CurveRangeSample
        S2: IntTools_CurveRangeSample

        Return
        -------
        bool

        Description
        -----------
        Returns true when the two keys are the same. two same keys must have the same hashcode, the contrary is not necessary.

        """
        return _IntTools.IntTools_CurveRangeSampleMapHasher_IsEqual(*args)

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

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

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

        Parameters
        ----------
        theEdge1: TopoDS_Edge
        theEdge2: TopoDS_Edge

        Return
        -------
        None

        Description
        -----------
        Constructor.

        Parameters
        ----------
        theEdge1: TopoDS_Edge
        aT11: float
        aT12: float
        theEdge2: TopoDS_Edge
        aT21: float
        aT22: float

        Return
        -------
        None

        Description
        -----------
        Constructor.

        """
        _IntTools.IntTools_EdgeEdge_swiginit(self, _IntTools.new_IntTools_EdgeEdge(*args))

    def CommonParts(self, *args):
        r"""
        Return
        -------
        IntTools_SequenceOfCommonPrts

        Description
        -----------
        Returns common parts.

        """
        return _IntTools.IntTools_EdgeEdge_CommonParts(self, *args)

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

        Description
        -----------
        Returns fuzzy value.

        """
        return _IntTools.IntTools_EdgeEdge_FuzzyValue(self, *args)

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

        Description
        -----------
        Returns the flag myquickcoincidencecheck.

        """
        return _IntTools.IntTools_EdgeEdge_IsCoincidenceCheckedQuickly(self, *args)

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

        Description
        -----------
        Returns true if common part(s) is(are) found.

        """
        return _IntTools.IntTools_EdgeEdge_IsDone(self, *args)

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

        Description
        -----------
        Performs the intersection between edges.

        """
        return _IntTools.IntTools_EdgeEdge_Perform(self, *args)

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

        Parameters
        ----------
        theEdge: TopoDS_Edge

        Return
        -------
        None

        Description
        -----------
        Sets the first edge.

        Parameters
        ----------
        theEdge: TopoDS_Edge
        aT1: float
        aT2: float

        Return
        -------
        None

        Description
        -----------
        Sets the first edge and its range.

        """
        return _IntTools.IntTools_EdgeEdge_SetEdge1(self, *args)

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

        Parameters
        ----------
        theEdge: TopoDS_Edge

        Return
        -------
        None

        Description
        -----------
        Sets the second edge.

        Parameters
        ----------
        theEdge: TopoDS_Edge
        aT1: float
        aT2: float

        Return
        -------
        None

        Description
        -----------
        Sets the first edge and its range.

        """
        return _IntTools.IntTools_EdgeEdge_SetEdge2(self, *args)

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

        Parameters
        ----------
        theFuzz: float

        Return
        -------
        None

        Description
        -----------
        Sets the fuzzy value.

        """
        return _IntTools.IntTools_EdgeEdge_SetFuzzyValue(self, *args)

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

        Parameters
        ----------
        theRange1: IntTools_Range

        Return
        -------
        None

        Description
        -----------
        Sets the range for the first edge.

        Parameters
        ----------
        aT1: float
        aT2: float

        Return
        -------
        None

        Description
        -----------
        Sets the range for the first edge.

        """
        return _IntTools.IntTools_EdgeEdge_SetRange1(self, *args)

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

        Parameters
        ----------
        theRange: IntTools_Range

        Return
        -------
        None

        Description
        -----------
        Sets the range for the second edge.

        Parameters
        ----------
        aT1: float
        aT2: float

        Return
        -------
        None

        Description
        -----------
        Sets the range for the second edge.

        """
        return _IntTools.IntTools_EdgeEdge_SetRange2(self, *args)

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

        Parameters
        ----------
        bFlag: bool

        Return
        -------
        None

        Description
        -----------
        Sets the flag myquickcoincidencecheck.

        """
        return _IntTools.IntTools_EdgeEdge_UseQuickCoincidenceCheck(self, *args)

    __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

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

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

        """
        _IntTools.IntTools_EdgeFace_swiginit(self, _IntTools.new_IntTools_EdgeFace(*args))

    def CommonParts(self, *args):
        r"""
        Return
        -------
        IntTools_SequenceOfCommonPrts

        Description
        -----------
        Returns resulting common parts.

        """
        return _IntTools.IntTools_EdgeFace_CommonParts(self, *args)

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

        Description
        -----------
        Returns the intersection context.

        """
        return _IntTools.IntTools_EdgeFace_Context(self, *args)

    def Edge(self, *args):
        r"""
        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Returns the edge.

        """
        return _IntTools.IntTools_EdgeFace_Edge(self, *args)

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

        Description
        -----------
        Returns the code of completion: 0 - means successful completion; 1 - the process was not started; 2,3 - invalid source data for the algorithm; 4 - projection failed.

        """
        return _IntTools.IntTools_EdgeFace_ErrorStatus(self, *args)

    def Face(self, *args):
        r"""
        Return
        -------
        TopoDS_Face

        Description
        -----------
        Returns the face.

        """
        return _IntTools.IntTools_EdgeFace_Face(self, *args)

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

        Description
        -----------
        Returns the fuzzy value.

        """
        return _IntTools.IntTools_EdgeFace_FuzzyValue(self, *args)

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

        Description
        -----------
        Returns the flag myquickcoincidencecheck.

        """
        return _IntTools.IntTools_EdgeFace_IsCoincidenceCheckedQuickly(self, *args)

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

        Description
        -----------
        Returns true if computation was successful. otherwise returns false.

        """
        return _IntTools.IntTools_EdgeFace_IsDone(self, *args)

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

        Description
        -----------
        Returns the minimal distance found between edge and face.

        """
        return _IntTools.IntTools_EdgeFace_MinimalDistance(self, *args)

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

        Description
        -----------
        Launches the process.

        """
        return _IntTools.IntTools_EdgeFace_Perform(self, *args)

    def Range(self, *args):
        r"""
        Return
        -------
        IntTools_Range

        Description
        -----------
        Returns intersection range of the edge.

        """
        return _IntTools.IntTools_EdgeFace_Range(self, *args)

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

        Parameters
        ----------
        theContext: IntTools_Context

        Return
        -------
        None

        Description
        -----------
        Sets the intersection context.

        """
        return _IntTools.IntTools_EdgeFace_SetContext(self, *args)

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

        Parameters
        ----------
        theEdge: TopoDS_Edge

        Return
        -------
        None

        Description
        -----------
        Sets the edge for intersection.

        """
        return _IntTools.IntTools_EdgeFace_SetEdge(self, *args)

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

        Parameters
        ----------
        theFace: TopoDS_Face

        Return
        -------
        None

        Description
        -----------
        Sets the face for intersection.

        """
        return _IntTools.IntTools_EdgeFace_SetFace(self, *args)

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

        Parameters
        ----------
        theFuzz: float

        Return
        -------
        None

        Description
        -----------
        Sets the fuzzy value.

        """
        return _IntTools.IntTools_EdgeFace_SetFuzzyValue(self, *args)

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

        Parameters
        ----------
        theRange: IntTools_Range

        Return
        -------
        None

        Description
        -----------
        Sets the boundaries for the edge. the algorithm processes edge inside these boundaries.

        Parameters
        ----------
        theFirst: float
        theLast: float

        Return
        -------
        None

        Description
        -----------
        Sets the boundaries for the edge. the algorithm processes edge inside these boundaries.

        """
        return _IntTools.IntTools_EdgeFace_SetRange(self, *args)

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

        Parameters
        ----------
        theFlag: bool

        Return
        -------
        None

        Description
        -----------
        Sets the flag for quick coincidence check. it is safe to use the quick check for coincidence only if both of the following conditions are met: - the vertices of edge are lying on the face; - the edge does not intersect the boundaries of the face on the given range.

        """
        return _IntTools.IntTools_EdgeFace_UseQuickCoincidenceCheck(self, *args)

    __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

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

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

        Parameters
        ----------
        F: TopoDS_Face
        Tol: float

        Return
        -------
        None

        Description
        -----------
        Initializes algorithm by the face f and tolerance tol.

        """
        _IntTools.IntTools_FClass2d_swiginit(self, _IntTools.new_IntTools_FClass2d(*args))

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

        Parameters
        ----------
        F: TopoDS_Face
        Tol: float

        Return
        -------
        None

        Description
        -----------
        Initializes algorithm by the face f and tolerance tol.

        """
        return _IntTools.IntTools_FClass2d_Init(self, *args)

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

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

        """
        return _IntTools.IntTools_FClass2d_IsHole(self, *args)

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

        Parameters
        ----------
        Puv: gp_Pnt2d
        RecadreOnPeriodic: bool (optional, default to Standard_True)

        Return
        -------
        TopAbs_State

        Description
        -----------
        Returns state of the 2d point puv. if recadreonperiodic is true (default value), for the periodic surface 2d point, adjusted to period, is classified.

        """
        return _IntTools.IntTools_FClass2d_Perform(self, *args)

    def PerformInfinitePoint(self, *args):
        r"""
        Return
        -------
        TopAbs_State

        Description
        -----------
        Returns state of infinite 2d point relatively to (0, 0).

        """
        return _IntTools.IntTools_FClass2d_PerformInfinitePoint(self, *args)

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

        Parameters
        ----------
        Puv: gp_Pnt2d
        Tol: float
        RecadreOnPeriodic: bool (optional, default to Standard_True)

        Return
        -------
        TopAbs_State

        Description
        -----------
        Test a point with +- an offset (tol) and returns on if some points are out an some are in (caution: internal use . see the code for more details).

        """
        return _IntTools.IntTools_FClass2d_TestOnRestriction(self, *args)

    __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

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

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

        """
        _IntTools.IntTools_FaceFace_swiginit(self, _IntTools.new_IntTools_FaceFace(*args))

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

        Description
        -----------
        Gets the intersection context.

        """
        return _IntTools.IntTools_FaceFace_Context(self, *args)

    def Face1(self, *args):
        r"""
        Return
        -------
        TopoDS_Face

        Description
        -----------
        Returns first of processed faces.

        """
        return _IntTools.IntTools_FaceFace_Face1(self, *args)

    def Face2(self, *args):
        r"""
        Return
        -------
        TopoDS_Face

        Description
        -----------
        Returns second of processed faces.

        """
        return _IntTools.IntTools_FaceFace_Face2(self, *args)

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

        Description
        -----------
        Returns fuzzy value.

        """
        return _IntTools.IntTools_FaceFace_FuzzyValue(self, *args)

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

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

        """
        return _IntTools.IntTools_FaceFace_IsDone(self, *args)

    def Lines(self, *args):
        r"""
        Return
        -------
        IntTools_SequenceOfCurves

        Description
        -----------
        Returns sequence of 3d curves as result of intersection.

        """
        return _IntTools.IntTools_FaceFace_Lines(self, *args)

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

        Parameters
        ----------
        F1: TopoDS_Face
        F2: TopoDS_Face
        theToRunParallel: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Intersects underliing surfaces of f1 and f2 use sum of tolerance of f1 and f2 as intersection criteria.

        """
        return _IntTools.IntTools_FaceFace_Perform(self, *args)

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

        Description
        -----------
        Returns sequence of 3d curves as result of intersection.

        """
        return _IntTools.IntTools_FaceFace_Points(self, *args)

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

        Parameters
        ----------
        bToSplit: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Provides post-processing the result lines. @param btosplit [in] split the closed 3d-curves on parts when true,  remain untouched otherwise.

        """
        return _IntTools.IntTools_FaceFace_PrepareLines3D(self, *args)

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

        Parameters
        ----------
        aContext: IntTools_Context

        Return
        -------
        None

        Description
        -----------
        Sets the intersection context.

        """
        return _IntTools.IntTools_FaceFace_SetContext(self, *args)

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

        Parameters
        ----------
        theFuzz: float

        Return
        -------
        None

        Description
        -----------
        Sets the fuzzy value.

        """
        return _IntTools.IntTools_FaceFace_SetFuzzyValue(self, *args)

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

        Parameters
        ----------
        ListOfPnts: IntSurf_ListOfPntOn2S

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_FaceFace_SetList(self, *args)

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

        Parameters
        ----------
        ApproxCurves: bool
        ComputeCurveOnS1: bool
        ComputeCurveOnS2: bool
        ApproximationTolerance: float

        Return
        -------
        None

        Description
        -----------
        Modifier.

        """
        return _IntTools.IntTools_FaceFace_SetParameters(self, *args)

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

        Description
        -----------
        Returns true if faces are tangent.

        """
        return _IntTools.IntTools_FaceFace_TangentFaces(self, *args)

    __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

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

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

        Parameters
        ----------
        theFirstBoundary: float
        theLastBoundary: float
        theInitFlag: int

        Return
        -------
        None

        Description
        -----------
        Build set of ranges which consists of one range with boundary values thefirstboundary and thelastboundary.

        Parameters
        ----------
        theSortedArray: TColStd_Array1OfReal
        theInitFlag: int

        Return
        -------
        None

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

        """
        _IntTools.IntTools_MarkedRangeSet_swiginit(self, _IntTools.new_IntTools_MarkedRangeSet(*args))

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        int

        Description
        -----------
        Returns flag of the range with index theindex.

        """
        return _IntTools.IntTools_MarkedRangeSet_Flag(self, *args)

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

        Parameters
        ----------
        theValue: float

        Return
        -------
        int

        Description
        -----------
        Returns index of range which contains thevalue. if thevalue do not belong any range returns 0.

        Parameters
        ----------
        theValue: float
        UseLower: bool

        Return
        -------
        int

        Description
        -----------
        Returns index of range which contains thevalue if thevalue do not belong any range returns 0. if uselower is standard_true then lower boundary of the range can be equal to thevalue, otherwise upper boundary of the range can be equal to thevalue.

        """
        return _IntTools.IntTools_MarkedRangeSet_GetIndex(self, *args)

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

        Parameters
        ----------
        theValue: float

        Return
        -------
        TColStd_SequenceOfInteger

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

        """
        return _IntTools.IntTools_MarkedRangeSet_GetIndices(self, *args)

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

        Parameters
        ----------
        theFirstBoundary: float
        theLastBoundary: float
        theFlag: int

        Return
        -------
        bool

        Description
        -----------
        Inserts a new range marked with flag theflag it replace the existing ranges or parts of ranges and their flags. returns true if the range is inside the initial boundaries, otherwise or in case of some error returns false.

        Parameters
        ----------
        theRange: IntTools_Range
        theFlag: int

        Return
        -------
        bool

        Description
        -----------
        Inserts a new range marked with flag theflag it replace the existing ranges or parts of ranges and their flags. returns true if the range is inside the initial boundaries, otherwise or in case of some error returns false.

        Parameters
        ----------
        theFirstBoundary: float
        theLastBoundary: float
        theFlag: int
        theIndex: int

        Return
        -------
        bool

        Description
        -----------
        Inserts a new range marked with flag theflag it replace the existing ranges or parts of ranges and their flags. the index theindex is a position where the range will be inserted. returns true if the range is inside the initial boundaries, otherwise or in case of some error returns false.

        Parameters
        ----------
        theRange: IntTools_Range
        theFlag: int
        theIndex: int

        Return
        -------
        bool

        Description
        -----------
        Inserts a new range marked with flag theflag it replace the existing ranges or parts of ranges and their flags. the index theindex is a position where the range will be inserted. returns true if the range is inside the initial boundaries, otherwise or in case of some error returns false.

        """
        return _IntTools.IntTools_MarkedRangeSet_InsertRange(self, *args)

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

        Description
        -----------
        Returns number of ranges.

        """
        return _IntTools.IntTools_MarkedRangeSet_Length(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        IntTools_Range

        Description
        -----------
        Returns the range with index theindex. the index can be from 1 to length().

        """
        return _IntTools.IntTools_MarkedRangeSet_Range(self, *args)

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

        Parameters
        ----------
        theFirstBoundary: float
        theLastBoundary: float
        theInitFlag: int

        Return
        -------
        None

        Description
        -----------
        Build set of ranges which consists of one range with boundary values thefirstboundary and thelastboundary.

        """
        return _IntTools.IntTools_MarkedRangeSet_SetBoundaries(self, *args)

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

        Parameters
        ----------
        theIndex: int
        theFlag: int

        Return
        -------
        None

        Description
        -----------
        Set flag theflag for range with index theindex.

        """
        return _IntTools.IntTools_MarkedRangeSet_SetFlag(self, *args)

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

        Parameters
        ----------
        theSortedArray: TColStd_Array1OfReal
        theInitFlag: int

        Return
        -------
        None

        Description
        -----------
        Build set of ranges based on the array of progressive sorted values //! warning: the function do not check if the values of array are not sorted it should be checked before function invocation.

        """
        return _IntTools.IntTools_MarkedRangeSet_SetRanges(self, *args)

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

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

        Parameters
        ----------
        aP1: IntTools_PntOnFace
        aP2: IntTools_PntOnFace

        Return
        -------
        None

        Description
        -----------
        Initializes me by two points ap1 and ap2.

        """
        _IntTools.IntTools_PntOn2Faces_swiginit(self, _IntTools.new_IntTools_PntOn2Faces(*args))

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

        Description
        -----------
        Selector.

        """
        return _IntTools.IntTools_PntOn2Faces_IsValid(self, *args)

    def P1(self, *args):
        r"""
        Return
        -------
        IntTools_PntOnFace

        Description
        -----------
        Selector.

        """
        return _IntTools.IntTools_PntOn2Faces_P1(self, *args)

    def P2(self, *args):
        r"""
        Return
        -------
        IntTools_PntOnFace

        Description
        -----------
        Selector.

        """
        return _IntTools.IntTools_PntOn2Faces_P2(self, *args)

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

        Parameters
        ----------
        aP1: IntTools_PntOnFace

        Return
        -------
        None

        Description
        -----------
        Modifier.

        """
        return _IntTools.IntTools_PntOn2Faces_SetP1(self, *args)

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

        Parameters
        ----------
        aP2: IntTools_PntOnFace

        Return
        -------
        None

        Description
        -----------
        Modifier.

        """
        return _IntTools.IntTools_PntOn2Faces_SetP2(self, *args)

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

        Parameters
        ----------
        bF: bool

        Return
        -------
        None

        Description
        -----------
        Modifier.

        """
        return _IntTools.IntTools_PntOn2Faces_SetValid(self, *args)

    __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

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

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

        """
        _IntTools.IntTools_PntOnFace_swiginit(self, _IntTools.new_IntTools_PntOnFace(*args))

    def Face(self, *args):
        r"""
        Return
        -------
        TopoDS_Face

        Description
        -----------
        Selector.

        """
        return _IntTools.IntTools_PntOnFace_Face(self, *args)

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

        Parameters
        ----------
        aF: TopoDS_Face
        aP: gp_Pnt
        U: float
        V: float

        Return
        -------
        None

        Description
        -----------
        Initializes me by aface, a 3d point and it's uv parameters on face.

        """
        return _IntTools.IntTools_PntOnFace_Init(self, *args)

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

        Parameters
        ----------

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

        Description
        -----------
        Selector.

        """
        return _IntTools.IntTools_PntOnFace_Parameters(self, *args)

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

        Description
        -----------
        Selector.

        """
        return _IntTools.IntTools_PntOnFace_Pnt(self, *args)

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

        Parameters
        ----------
        aF: TopoDS_Face

        Return
        -------
        None

        Description
        -----------
        Modifier.

        """
        return _IntTools.IntTools_PntOnFace_SetFace(self, *args)

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

        Parameters
        ----------
        U: float
        V: float

        Return
        -------
        None

        Description
        -----------
        Modifier.

        """
        return _IntTools.IntTools_PntOnFace_SetParameters(self, *args)

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

        Parameters
        ----------
        aP: gp_Pnt

        Return
        -------
        None

        Description
        -----------
        Modifier.

        """
        return _IntTools.IntTools_PntOnFace_SetPnt(self, *args)

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

        Parameters
        ----------
        bF: bool

        Return
        -------
        None

        Description
        -----------
        Modifier.

        """
        return _IntTools.IntTools_PntOnFace_SetValid(self, *args)

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

        Description
        -----------
        Selector.

        """
        return _IntTools.IntTools_PntOnFace_Valid(self, *args)

    __repr__ = _dumps_object

    @methodnotwrapped
    def IsValid(self):
    	pass

    __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

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

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

        Parameters
        ----------
        aFirst: float
        aLast: float

        Return
        -------
        None

        Description
        -----------
        Initialize me by range boundaries.

        """
        _IntTools.IntTools_Range_swiginit(self, _IntTools.new_IntTools_Range(*args))

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

        Description
        -----------
        Selector.

        """
        return _IntTools.IntTools_Range_First(self, *args)

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

        Description
        -----------
        Selector.

        """
        return _IntTools.IntTools_Range_Last(self, *args)

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

        Parameters
        ----------

        Return
        -------
        aFirst: float
        aLast: float

        Description
        -----------
        Selector.

        """
        return _IntTools.IntTools_Range_Range(self, *args)

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

        Parameters
        ----------
        aFirst: float

        Return
        -------
        None

        Description
        -----------
        Modifier.

        """
        return _IntTools.IntTools_Range_SetFirst(self, *args)

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

        Parameters
        ----------
        aLast: float

        Return
        -------
        None

        Description
        -----------
        Modifier.

        """
        return _IntTools.IntTools_Range_SetLast(self, *args)

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

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

        Parameters
        ----------
        aRoot: float
        aType: int

        Return
        -------
        None

        Description
        -----------
        Initializes my by range of parameters and type of root.

        """
        _IntTools.IntTools_Root_swiginit(self, _IntTools.new_IntTools_Root(*args))

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

        Parameters
        ----------

        Return
        -------
        t1: float
        t2: float
        f1: float
        f2: float

        Description
        -----------
        Returns the values of interval from which the root was found [t1,t2] and the corresponding values of the function on the bounds f(t1), f(t2).

        """
        return _IntTools.IntTools_Root_Interval(self, *args)

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

        Description
        -----------
        Returns the validity flag for the root, true if mystatebefore==topabs_out && mystateafter==topabs_in or mystatebefore==topabs_out && mystateafter==topabs_on or mystatebefore==topabs_on && mystateafter==topabs_out or mystatebefore==topabs_in && mystateafter==topabs_out . for other cases it returns false.

        """
        return _IntTools.IntTools_Root_IsValid(self, *args)

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

        Description
        -----------
        Not used in edge/edge algorithm.

        """
        return _IntTools.IntTools_Root_LayerHeight(self, *args)

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

        Description
        -----------
        Returns the root value.

        """
        return _IntTools.IntTools_Root_Root(self, *args)

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

        Parameters
        ----------
        t1: float
        t2: float
        f1: float
        f2: float

        Return
        -------
        None

        Description
        -----------
        Sets the interval from which the root was found [t1,t2] and the corresponding values of the function on the bounds f(t1), f(t2).

        """
        return _IntTools.IntTools_Root_SetInterval(self, *args)

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

        Parameters
        ----------
        aHeight: float

        Return
        -------
        None

        Description
        -----------
        Not used in edge/edge algorithm.

        """
        return _IntTools.IntTools_Root_SetLayerHeight(self, *args)

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

        Parameters
        ----------
        aRoot: float

        Return
        -------
        None

        Description
        -----------
        Sets the root's value.

        """
        return _IntTools.IntTools_Root_SetRoot(self, *args)

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

        Parameters
        ----------
        aState: TopAbs_State

        Return
        -------
        None

        Description
        -----------
        Set the value of the state after the root (at t=root-dt).

        """
        return _IntTools.IntTools_Root_SetStateAfter(self, *args)

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

        Parameters
        ----------
        aState: TopAbs_State

        Return
        -------
        None

        Description
        -----------
        Set the value of the state before the root (at t=root-dt).

        """
        return _IntTools.IntTools_Root_SetStateBefore(self, *args)

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

        Parameters
        ----------
        aType: int

        Return
        -------
        None

        Description
        -----------
        Sets the root's type.

        """
        return _IntTools.IntTools_Root_SetType(self, *args)

    def StateAfter(self, *args):
        r"""
        Return
        -------
        TopAbs_State

        Description
        -----------
        Returns the state after the root.

        """
        return _IntTools.IntTools_Root_StateAfter(self, *args)

    def StateBefore(self, *args):
        r"""
        Return
        -------
        TopAbs_State

        Description
        -----------
        Returns the state before the root.

        """
        return _IntTools.IntTools_Root_StateBefore(self, *args)

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

        Description
        -----------
        Returns the type of the root =0 - simple (was found by bisection method); =2 - smart when f1=0, f2!=0 or vice versa (was found by fibbonacci method); =1 - pure (pure zero for all t [t1,t2] );.

        """
        return _IntTools.IntTools_Root_Type(self, *args)

    __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

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

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

        """
        _IntTools.IntTools_ShrunkRange_swiginit(self, _IntTools.new_IntTools_ShrunkRange(*args))

    def BndBox(self, *args):
        r"""
        Return
        -------
        Bnd_Box

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

        """
        return _IntTools.IntTools_ShrunkRange_BndBox(self, *args)

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

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

        """
        return _IntTools.IntTools_ShrunkRange_Context(self, *args)

    def Edge(self, *args):
        r"""
        Return
        -------
        TopoDS_Edge

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

        """
        return _IntTools.IntTools_ShrunkRange_Edge(self, *args)

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

        Description
        -----------
        Returns true in case the shrunk range is computed.

        """
        return _IntTools.IntTools_ShrunkRange_IsDone(self, *args)

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

        Description
        -----------
        Returns false in case the shrunk range is too short and the edge cannot be split, otherwise returns true.

        """
        return _IntTools.IntTools_ShrunkRange_IsSplittable(self, *args)

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

        Description
        -----------
        Returns the length of the edge if computed.

        """
        return _IntTools.IntTools_ShrunkRange_Length(self, *args)

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

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

        """
        return _IntTools.IntTools_ShrunkRange_Perform(self, *args)

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

        Parameters
        ----------
        aCtx: IntTools_Context

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_ShrunkRange_SetContext(self, *args)

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

        Parameters
        ----------
        aE: TopoDS_Edge
        aT1: float
        aT2: float
        aV1: TopoDS_Vertex
        aV2: TopoDS_Vertex

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_ShrunkRange_SetData(self, *args)

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

        Parameters
        ----------
        aT1: float
        aT2: float

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_ShrunkRange_SetShrunkRange(self, *args)

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

        Parameters
        ----------

        Return
        -------
        aT1: float
        aT2: float

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

        """
        return _IntTools.IntTools_ShrunkRange_ShrunkRange(self, *args)

    __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

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

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

        Parameters
        ----------
        theNbSampleU: int
        theNbSampleV: int
        theMinRangeU: float
        theMinRangeV: float

        Return
        -------
        None

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

        Parameters
        ----------
        Other: IntTools_SurfaceRangeLocalizeData

        Return
        -------
        None

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

        """
        _IntTools.IntTools_SurfaceRangeLocalizeData_swiginit(self, _IntTools.new_IntTools_SurfaceRangeLocalizeData(*args))

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

        Parameters
        ----------
        theRange: IntTools_SurfaceRangeSample
        theBox: Bnd_Box

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_AddBox(self, *args)

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

        Parameters
        ----------
        theRange: IntTools_SurfaceRangeSample

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_AddOutRange(self, *args)

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

        Parameters
        ----------
        Other: IntTools_SurfaceRangeLocalizeData

        Return
        -------
        IntTools_SurfaceRangeLocalizeData

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

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_Assign(self, *args)

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

        Description
        -----------
        Clears the grid of points.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_ClearGrid(self, *args)

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

        Parameters
        ----------
        theRange: IntTools_SurfaceRangeSample
        theBox: Bnd_Box

        Return
        -------
        bool

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

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_FindBox(self, *args)

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

        Description
        -----------
        Query the grid deflection.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_GetGridDeflection(self, *args)

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

        Parameters
        ----------
        theUIndex: int
        theVIndex: int

        Return
        -------
        gp_Pnt

        Description
        -----------
        Set the grid point.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_GetGridPoint(self, *args)

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

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

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_GetMinRangeU(self, *args)

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

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

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_GetMinRangeV(self, *args)

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

        Description
        -----------
        Returns the number of grid points on u direction in frame.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_GetNBUPointsInFrame(self, *args)

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

        Description
        -----------
        Returns the number of grid points on v direction in frame.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_GetNBVPointsInFrame(self, *args)

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

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

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_GetNbSampleU(self, *args)

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

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

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_GetNbSampleV(self, *args)

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

        Parameters
        ----------
        theUIndex: int
        theVIndex: int

        Return
        -------
        gp_Pnt

        Description
        -----------
        Returns the grid point in frame.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_GetPointInFrame(self, *args)

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

        Description
        -----------
        Query the range u of the grid of points.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_GetRangeUGrid(self, *args)

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

        Description
        -----------
        Query the range v of the grid of points.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_GetRangeVGrid(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        float

        Description
        -----------
        Query the u parameter of the grid points at that index.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_GetUParam(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        float

        Description
        -----------
        Query the u parameter of the grid points at that index in frame.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_GetUParamInFrame(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        float

        Description
        -----------
        Query the v parameter of the grid points at that index.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_GetVParam(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        float

        Description
        -----------
        Query the v parameter of the grid points at that index in frame.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_GetVParamInFrame(self, *args)

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

        Parameters
        ----------
        theRange: IntTools_SurfaceRangeSample

        Return
        -------
        bool

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

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_IsRangeOut(self, *args)

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

        Parameters
        ----------
        theList: IntTools_ListOfSurfaceRangeSample

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_ListRangeOut(self, *args)

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

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

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_RemoveRangeOutAll(self, *args)

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

        Parameters
        ----------
        theUMin: float
        theUMax: float
        theVMin: float
        theVMax: float

        Return
        -------
        None

        Description
        -----------
        Sets the frame area. used to work with grid points.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_SetFrame(self, *args)

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

        Parameters
        ----------
        theDeflection: float

        Return
        -------
        None

        Description
        -----------
        Set the grid deflection.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_SetGridDeflection(self, *args)

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

        Parameters
        ----------
        theUIndex: int
        theVIndex: int
        thePoint: gp_Pnt

        Return
        -------
        None

        Description
        -----------
        Set the grid point.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_SetGridPoint(self, *args)

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

        Parameters
        ----------
        theNbUGrid: int

        Return
        -------
        None

        Description
        -----------
        Set the range u of the grid of points.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_SetRangeUGrid(self, *args)

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

        Parameters
        ----------
        theNbVGrid: int

        Return
        -------
        None

        Description
        -----------
        Set the range v of the grid of points.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_SetRangeVGrid(self, *args)

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

        Parameters
        ----------
        theIndex: int
        theUParam: float

        Return
        -------
        None

        Description
        -----------
        Set the u parameter of the grid points at that index.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_SetUParam(self, *args)

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

        Parameters
        ----------
        theIndex: int
        theVParam: float

        Return
        -------
        None

        Description
        -----------
        Set the v parameter of the grid points at that index.

        """
        return _IntTools.IntTools_SurfaceRangeLocalizeData_SetVParam(self, *args)

    __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

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

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

        Parameters
        ----------
        theIndexU: int
        theDepthU: int
        theIndexV: int
        theDepthV: int

        Return
        -------
        None

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

        Parameters
        ----------
        theRangeU: IntTools_CurveRangeSample
        theRangeV: IntTools_CurveRangeSample

        Return
        -------
        None

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

        Parameters
        ----------
        Other: IntTools_SurfaceRangeSample

        Return
        -------
        None

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

        """
        _IntTools.IntTools_SurfaceRangeSample_swiginit(self, _IntTools.new_IntTools_SurfaceRangeSample(*args))

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

        Parameters
        ----------
        Other: IntTools_SurfaceRangeSample

        Return
        -------
        IntTools_SurfaceRangeSample

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_Assign(self, *args)

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

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_GetDepthU(self, *args)

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

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_GetDepthV(self, *args)

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

        Parameters
        ----------

        Return
        -------
        theDepthU: int
        theDepthV: int

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_GetDepths(self, *args)

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

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_GetIndexU(self, *args)

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

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_GetIndexV(self, *args)

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

        Parameters
        ----------

        Return
        -------
        theIndexU: int
        theIndexV: int

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_GetIndexes(self, *args)

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

        Parameters
        ----------
        theNbSampleU: int

        Return
        -------
        int

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_GetRangeIndexUDeeper(self, *args)

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

        Parameters
        ----------
        theNbSampleV: int

        Return
        -------
        int

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_GetRangeIndexVDeeper(self, *args)

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

        Parameters
        ----------
        theFirstU: float
        theLastU: float
        theNbSampleU: int

        Return
        -------
        IntTools_Range

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_GetRangeU(self, *args)

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

        Parameters
        ----------
        theFirstV: float
        theLastV: float
        theNbSampleV: int

        Return
        -------
        IntTools_Range

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_GetRangeV(self, *args)

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

        Parameters
        ----------
        theRangeU: IntTools_CurveRangeSample
        theRangeV: IntTools_CurveRangeSample

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_GetRanges(self, *args)

    def GetSampleRangeU(self, *args):
        r"""
        Return
        -------
        IntTools_CurveRangeSample

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_GetSampleRangeU(self, *args)

    def GetSampleRangeV(self, *args):
        r"""
        Return
        -------
        IntTools_CurveRangeSample

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_GetSampleRangeV(self, *args)

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

        Parameters
        ----------
        Other: IntTools_SurfaceRangeSample

        Return
        -------
        bool

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_IsEqual(self, *args)

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

        Parameters
        ----------
        theDepthU: int

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_SetDepthU(self, *args)

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

        Parameters
        ----------
        theDepthV: int

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_SetDepthV(self, *args)

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

        Parameters
        ----------
        theIndexU: int

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_SetIndexU(self, *args)

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

        Parameters
        ----------
        theIndexV: int

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_SetIndexV(self, *args)

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

        Parameters
        ----------
        theIndexU: int
        theIndexV: int

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_SetIndexes(self, *args)

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

        Parameters
        ----------
        theRangeU: IntTools_CurveRangeSample
        theRangeV: IntTools_CurveRangeSample

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_SetRanges(self, *args)

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

        Parameters
        ----------
        theRangeSampleU: IntTools_CurveRangeSample

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_SetSampleRangeU(self, *args)

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

        Parameters
        ----------
        theRangeSampleV: IntTools_CurveRangeSample

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_SurfaceRangeSample_SetSampleRangeV(self, *args)

    __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

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

        Parameters
        ----------
        theKey: IntTools_SurfaceRangeSample
        theUpperBound: int

        Return
        -------
        int

        Description
        -----------
        Computes a hash code for the given key, in the range [1, theupperbound] @param thekey the key which hash code is to be computed @param theupperbound the upper bound of the range a computing hash code must be within return a computed hash code, in the range [1, theupperbound].

        """
        return _IntTools.IntTools_SurfaceRangeSampleMapHasher_HashCode(*args)

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

        Parameters
        ----------
        S1: IntTools_SurfaceRangeSample
        S2: IntTools_SurfaceRangeSample

        Return
        -------
        bool

        Description
        -----------
        Returns true when the two keys are the same. two same keys must have the same hashcode, the contrary is not necessary.

        """
        return _IntTools.IntTools_SurfaceRangeSampleMapHasher_IsEqual(*args)

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

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

        Parameters
        ----------
        theCurve: IntTools_Curve
        theBox: Bnd_Box

        Return
        -------
        bool

        Description
        -----------
        Checks if the curve is not covered by the default tolerance (confusion). builds bounding box for the curve and stores it into <thebox>.

        """
        return _IntTools.IntTools_Tools_CheckCurve(*args)

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

        Parameters
        ----------
        aF: TopoDS_Face
        P: gp_Pnt2d

        Return
        -------
        TopAbs_State

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

        """
        return _IntTools.IntTools_Tools_ClassifyPointByFace(*args)

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

        Parameters
        ----------
        theTol1: float
        theTol2: float
        theAngle: float

        Return
        -------
        float

        Description
        -----------
        Computes the correct intersection range for line/line, line/plane and plane/plane intersections.

        """
        return _IntTools.IntTools_Tools_ComputeIntRange(*args)

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

        Parameters
        ----------
        theCurve3D: Geom_Curve
        theCurve2D: Geom2d_Curve
        theSurf: Geom_Surface
        theFirst: float
        theLast: float
        theTolRange: float (optional, default to Precision::PConfusion())
        theToRunParallel: bool (optional, default to Standard_False)

        Return
        -------
        theMaxDist: float
        theMaxPar: float

        Description
        -----------
        Computes the max distance between points taken from 3d and 2d curves by the same parameter.

        """
        return _IntTools.IntTools_Tools_ComputeTolerance(*args)

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

        Parameters
        ----------
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Return
        -------
        int

        Description
        -----------
        Computes distance between vertex v1 and vertex v2, if the distance is less than sum of vertex tolerances returns zero, otherwise returns negative value.

        """
        return _IntTools.IntTools_Tools_ComputeVV(*args)

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

        Parameters
        ----------
        aC: Geom_Curve
        aTolBase: float

        Return
        -------
        float

        Description
        -----------
        Returns adaptive tolerance for given atolbase if ac is trimmed curve and basis curve is parabola, otherwise returns value of atolbase.

        """
        return _IntTools.IntTools_Tools_CurveTolerance(*args)

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

        Parameters
        ----------
        aW: TopoDS_Wire

        Return
        -------
        bool

        Description
        -----------
        Returns true if wire aw contains edges with internal orientation.

        """
        return _IntTools.IntTools_Tools_HasInternalEdge(*args)

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

        Parameters
        ----------
        aFirst: float
        aLast: float

        Return
        -------
        float

        Description
        -----------
        Returns some value between afirst and alast.

        """
        return _IntTools.IntTools_Tools_IntermediatePoint(*args)

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

        Parameters
        ----------
        aC: Geom_Curve

        Return
        -------
        bool

        Description
        -----------
        Returns true if ac is boundedcurve from geom and the distance between first point of the curve ac and last point is less than 1.e-12.

        """
        return _IntTools.IntTools_Tools_IsClosed(*args)

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

        Parameters
        ----------
        D1: gp_Dir
        D2: gp_Dir

        Return
        -------
        bool

        Description
        -----------
        Returns true if d1 and d2 coincide.

        Parameters
        ----------
        D1: gp_Dir
        D2: gp_Dir
        aTol: float

        Return
        -------
        bool

        Description
        -----------
        Returns true if d1 and d2 coincide with given tolerance.

        """
        return _IntTools.IntTools_Tools_IsDirsCoinside(*args)

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

        Parameters
        ----------
        theRRef: IntTools_Range
        theR: IntTools_Range
        theTol: float

        Return
        -------
        bool

        Description
        -----------
        Checks if the range <ther> interfere with the range <therref>.

        """
        return _IntTools.IntTools_Tools_IsInRange(*args)

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

        Parameters
        ----------
        E1: TopoDS_Edge
        E2: TopoDS_Edge

        Return
        -------
        bool

        Description
        -----------
        Gets boundary of parameters of e1 and e2. computes 3d points on each corresponded to average parameters. returns true if distance between computed points is less than sum of edge tolerance, otherwise returns false.

        """
        return _IntTools.IntTools_Tools_IsMiddlePointsEqual(*args)

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

        Parameters
        ----------
        theT: float
        theRange: IntTools_Range
        theTol: float

        Return
        -------
        bool

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

        """
        return _IntTools.IntTools_Tools_IsOnPave(*args)

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

        Parameters
        ----------
        theT: float
        theRange: IntTools_Range
        theTol: float

        Return
        -------
        bool

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

        """
        return _IntTools.IntTools_Tools_IsOnPave1(*args)

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

        Parameters
        ----------
        E: TopoDS_Edge
        t: float

        Return
        -------
        bool

        Description
        -----------
        Computes square distance between a point on the edge e corresponded to parameter t and vertices of edge e. returns true if this distance is less than square tolerance of vertex, otherwise returns false.

        Parameters
        ----------
        E: TopoDS_Edge
        V: TopoDS_Vertex
        t: float

        Return
        -------
        bool

        Description
        -----------
        Returns true if square distance between vertex v and a point on the edge e corresponded to parameter t is less than square tolerance of v.

        Parameters
        ----------
        aCmnPrt: IntTools_CommonPrt

        Return
        -------
        bool

        Description
        -----------
        Returns true if isvertx for middle parameter of fist range and first edge returns true and if isvertex for middle parameter of second range and second range returns true, otherwise returns false.

        Parameters
        ----------
        aP: gp_Pnt
        aTolPV: float
        aV: TopoDS_Vertex

        Return
        -------
        bool

        Description
        -----------
        Returns true if the distance between point ap and vertex av is less or equal to sum of atolpv and vertex tolerance, otherwise returns false.

        """
        return _IntTools.IntTools_Tools_IsVertex(*args)

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

        Parameters
        ----------
        aW: TopoDS_Wire
        aF: TopoDS_Face
        aFNew: TopoDS_Face

        Return
        -------
        None

        Description
        -----------
        Build a face based on surface of given face af and bounded by wire aw.

        """
        return _IntTools.IntTools_Tools_MakeFaceFromWireAndFace(*args)

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

        Parameters
        ----------
        aSIn: IntTools_SequenceOfCurves
        aSOut: IntTools_SequenceOfCurves

        Return
        -------
        None

        Description
        -----------
        Puts curves from asin to asout except those curves that are coincide with first curve from asin.

        """
        return _IntTools.IntTools_Tools_RejectLines(*args)

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

        Parameters
        ----------
        theLin: gp_Lin
        theTLin1: float
        theTLin2: float
        theTolLin: float
        thePln: gp_Pln
        theTolPln: float
        theP: gp_Pnt

        Return
        -------
        theT: float
        theTolP: float
        theTmin: float
        theTmax: float

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

        """
        return _IntTools.IntTools_Tools_SegPln(*args)

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

        Parameters
        ----------
        aC: IntTools_Curve
        aS: IntTools_SequenceOfCurves

        Return
        -------
        int

        Description
        -----------
        Split ac by average parameter if ac is closed in 3d. returns positive value if splitting has been done, otherwise returns zero.

        """
        return _IntTools.IntTools_Tools_SplitCurve(*args)

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

        Parameters
        ----------
        theCP: IntTools_CommonPrt

        Return
        -------
        theT: float

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

        """
        return _IntTools.IntTools_Tools_VertexParameter(*args)

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

        Parameters
        ----------
        theCP: IntTools_CommonPrt

        Return
        -------
        theT1: float
        theT2: float

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

        """
        return _IntTools.IntTools_Tools_VertexParameters(*args)

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

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

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

        Parameters
        ----------
        theSurface: Adaptor3d_Surface

        Return
        -------
        None

        Description
        -----------
        Initializes me by surface.

        """
        _IntTools.IntTools_TopolTool_swiginit(self, _IntTools.new_IntTools_TopolTool(*args))

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

        Description
        -----------
        Redefined empty initializer //! warning: raises the exception notimplemented.

        Parameters
        ----------
        theSurface: Adaptor3d_Surface

        Return
        -------
        None

        Description
        -----------
        Initializes me by surface.

        """
        return _IntTools.IntTools_TopolTool_Initialize(self, *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

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

        Parameters
        ----------
        theWLine: IntPatch_WLine
        theSurface1: GeomAdaptor_Surface
        theSurface2: GeomAdaptor_Surface
        theFace1: TopoDS_Face
        theFace2: TopoDS_Face
        theLConstructor: GeomInt_LineConstructor
        theAvoidLConstructor: bool
        theTol: float
        theNewLines: IntPatch_SequenceOfLine
        &: IntTools_Context

        Return
        -------
        bool

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

        """
        return _IntTools.IntTools_WLineTool_DecompositionOfWLine(*args)

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

        Parameters
        ----------
        aF1: TopoDS_Face
        aF2: TopoDS_Face
        WL: IntPatch_WLine
        ifprm: int
        ilprm: int

        Return
        -------
        bool

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

        """
        return _IntTools.IntTools_WLineTool_NotUseSurfacesForApprox(*args)

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

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

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        None

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

        """
        _IntTools.IntTools_CurveRangeSample_swiginit(self, _IntTools.new_IntTools_CurveRangeSample(*args))

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

        Parameters
        ----------
        theFirst: float
        theLast: float
        theNbSample: int

        Return
        -------
        IntTools_Range

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

        """
        return _IntTools.IntTools_CurveRangeSample_GetRange(self, *args)

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

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

        """
        return _IntTools.IntTools_CurveRangeSample_GetRangeIndex(self, *args)

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

        Parameters
        ----------
        theNbSample: int

        Return
        -------
        int

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

        """
        return _IntTools.IntTools_CurveRangeSample_GetRangeIndexDeeper(self, *args)

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

        Parameters
        ----------
        Other: IntTools_CurveRangeSample

        Return
        -------
        bool

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

        """
        return _IntTools.IntTools_CurveRangeSample_IsEqual(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        None

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

        """
        return _IntTools.IntTools_CurveRangeSample_SetRangeIndex(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _IntTools.delete_IntTools_CurveRangeSample

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

@classnotwrapped
class IntTools_CArray1OfInteger:
	pass

@classnotwrapped
class IntTools_CArray1OfReal:
	pass



IntTools_CArray1OfReal=OCC.Core.TColStd.TColStd_Array1OfReal


@deprecated
def inttools_FindRootStates(*args):
	return inttools.FindRootStates(*args)

@deprecated
def inttools_GetRadius(*args):
	return inttools.GetRadius(*args)

@deprecated
def inttools_Length(*args):
	return inttools.Length(*args)

@deprecated
def inttools_Parameter(*args):
	return inttools.Parameter(*args)

@deprecated
def inttools_PrepareArgs(*args):
	return inttools.PrepareArgs(*args)

@deprecated
def inttools_RemoveIdenticalRoots(*args):
	return inttools.RemoveIdenticalRoots(*args)

@deprecated
def inttools_SortRoots(*args):
	return inttools.SortRoots(*args)

@deprecated
def IntTools_CurveRangeSampleMapHasher_HashCode(*args):
	return IntTools_CurveRangeSampleMapHasher.HashCode(*args)

@deprecated
def IntTools_CurveRangeSampleMapHasher_IsEqual(*args):
	return IntTools_CurveRangeSampleMapHasher.IsEqual(*args)

@deprecated
def IntTools_SurfaceRangeSampleMapHasher_HashCode(*args):
	return IntTools_SurfaceRangeSampleMapHasher.HashCode(*args)

@deprecated
def IntTools_SurfaceRangeSampleMapHasher_IsEqual(*args):
	return IntTools_SurfaceRangeSampleMapHasher.IsEqual(*args)

@deprecated
def IntTools_Tools_CheckCurve(*args):
	return IntTools_Tools.CheckCurve(*args)

@deprecated
def IntTools_Tools_ClassifyPointByFace(*args):
	return IntTools_Tools.ClassifyPointByFace(*args)

@deprecated
def IntTools_Tools_ComputeIntRange(*args):
	return IntTools_Tools.ComputeIntRange(*args)

@deprecated
def IntTools_Tools_ComputeTolerance(*args):
	return IntTools_Tools.ComputeTolerance(*args)

@deprecated
def IntTools_Tools_ComputeVV(*args):
	return IntTools_Tools.ComputeVV(*args)

@deprecated
def IntTools_Tools_CurveTolerance(*args):
	return IntTools_Tools.CurveTolerance(*args)

@deprecated
def IntTools_Tools_HasInternalEdge(*args):
	return IntTools_Tools.HasInternalEdge(*args)

@deprecated
def IntTools_Tools_IntermediatePoint(*args):
	return IntTools_Tools.IntermediatePoint(*args)

@deprecated
def IntTools_Tools_IsClosed(*args):
	return IntTools_Tools.IsClosed(*args)

@deprecated
def IntTools_Tools_IsDirsCoinside(*args):
	return IntTools_Tools.IsDirsCoinside(*args)

@deprecated
def IntTools_Tools_IsDirsCoinside(*args):
	return IntTools_Tools.IsDirsCoinside(*args)

@deprecated
def IntTools_Tools_IsInRange(*args):
	return IntTools_Tools.IsInRange(*args)

@deprecated
def IntTools_Tools_IsMiddlePointsEqual(*args):
	return IntTools_Tools.IsMiddlePointsEqual(*args)

@deprecated
def IntTools_Tools_IsOnPave(*args):
	return IntTools_Tools.IsOnPave(*args)

@deprecated
def IntTools_Tools_IsOnPave1(*args):
	return IntTools_Tools.IsOnPave1(*args)

@deprecated
def IntTools_Tools_IsVertex(*args):
	return IntTools_Tools.IsVertex(*args)

@deprecated
def IntTools_Tools_IsVertex(*args):
	return IntTools_Tools.IsVertex(*args)

@deprecated
def IntTools_Tools_IsVertex(*args):
	return IntTools_Tools.IsVertex(*args)

@deprecated
def IntTools_Tools_IsVertex(*args):
	return IntTools_Tools.IsVertex(*args)

@deprecated
def IntTools_Tools_MakeFaceFromWireAndFace(*args):
	return IntTools_Tools.MakeFaceFromWireAndFace(*args)

@deprecated
def IntTools_Tools_RejectLines(*args):
	return IntTools_Tools.RejectLines(*args)

@deprecated
def IntTools_Tools_SegPln(*args):
	return IntTools_Tools.SegPln(*args)

@deprecated
def IntTools_Tools_SplitCurve(*args):
	return IntTools_Tools.SplitCurve(*args)

@deprecated
def IntTools_Tools_VertexParameter(*args):
	return IntTools_Tools.VertexParameter(*args)

@deprecated
def IntTools_Tools_VertexParameters(*args):
	return IntTools_Tools.VertexParameters(*args)

@deprecated
def IntTools_WLineTool_DecompositionOfWLine(*args):
	return IntTools_WLineTool.DecompositionOfWLine(*args)

@deprecated
def IntTools_WLineTool_NotUseSurfacesForApprox(*args):
	return IntTools_WLineTool.NotUseSurfacesForApprox(*args)



