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

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

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

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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

_swig_new_instance_method = _HLRBRep.SWIG_PyInstanceMethod_New
_swig_new_static_method = _HLRBRep.SWIG_PyStaticMethod_New

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


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


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


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


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


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

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

# Register SwigPyIterator in _HLRBRep:
_HLRBRep.SwigPyIterator_swigregister(SwigPyIterator)


def _dumps_object(klass):
    """ Overwrite default string output for any wrapped object.
    By default, __repr__ method returns something like:
    <OCC.Core.TopoDS.TopoDS_Shape; proxy of <Swig Object of type 'TopoDS_Shape *' at 0x02BB0758> >
    This is too much verbose.
    We prefer :
    <class 'gp_Pnt'>
    or
    <class 'TopoDS_Shape'>
    """
    klass_name = str(klass.__class__).split(".")[3].split("'")[0]
    repr_string = "<class '" + klass_name + "'"
# for TopoDS_Shape, we also look for the base type
    if klass_name == "TopoDS_Shape":
        if klass.IsNull():
            repr_string += ": Null>"
            return repr_string
        st = klass.ShapeType()
        types = {OCC.Core.TopAbs.TopAbs_VERTEX: "Vertex",
                 OCC.Core.TopAbs.TopAbs_SOLID: "Solid",
                 OCC.Core.TopAbs.TopAbs_EDGE: "Edge",
                 OCC.Core.TopAbs.TopAbs_FACE: "Face",
                 OCC.Core.TopAbs.TopAbs_SHELL: "Shell",
                 OCC.Core.TopAbs.TopAbs_WIRE: "Wire",
                 OCC.Core.TopAbs.TopAbs_COMPOUND: "Compound",
                 OCC.Core.TopAbs.TopAbs_COMPSOLID: "Compsolid"}
        repr_string += "; Type:%s" % types[st]        
    elif hasattr(klass, "IsNull"):
        if klass.IsNull():
            repr_string += "; Null"
    repr_string += ">"
    return repr_string


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

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.TopoDS
import OCC.Core.Message
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.gp
import OCC.Core.HLRAlgo
import OCC.Core.TColStd
import OCC.Core.TCollection
import OCC.Core.TColgp
import OCC.Core.BRepAdaptor
import OCC.Core.Adaptor3d
import OCC.Core.Geom
import OCC.Core.GeomAbs
import OCC.Core.Adaptor2d
import OCC.Core.Geom2d
import OCC.Core.math
import OCC.Core.GeomAdaptor
import OCC.Core.Geom2dAdaptor
import OCC.Core.IntRes2d
import OCC.Core.TopTools
import OCC.Core.BRepTopAdaptor
import OCC.Core.IntCurveSurface
import OCC.Core.Intf
import OCC.Core.Bnd
import OCC.Core.BVH
import OCC.Core.IntSurf
import OCC.Core.HLRTopoBRep
import OCC.Core.Contap
import OCC.Core.IntCurve
import OCC.Core.Extrema
HLRBRep_Undefined = _HLRBRep.HLRBRep_Undefined
HLRBRep_IsoLine = _HLRBRep.HLRBRep_IsoLine
HLRBRep_OutLine = _HLRBRep.HLRBRep_OutLine
HLRBRep_Rg1Line = _HLRBRep.HLRBRep_Rg1Line
HLRBRep_RgNLine = _HLRBRep.HLRBRep_RgNLine
HLRBRep_Sharp = _HLRBRep.HLRBRep_Sharp
Handle_HLRBRep_AreaLimit_Create = _HLRBRep.Handle_HLRBRep_AreaLimit_Create
Handle_HLRBRep_AreaLimit_DownCast = _HLRBRep.Handle_HLRBRep_AreaLimit_DownCast
Handle_HLRBRep_AreaLimit_IsNull = _HLRBRep.Handle_HLRBRep_AreaLimit_IsNull
Handle_HLRBRep_Data_Create = _HLRBRep.Handle_HLRBRep_Data_Create
Handle_HLRBRep_Data_DownCast = _HLRBRep.Handle_HLRBRep_Data_DownCast
Handle_HLRBRep_Data_IsNull = _HLRBRep.Handle_HLRBRep_Data_IsNull
Handle_HLRBRep_InternalAlgo_Create = _HLRBRep.Handle_HLRBRep_InternalAlgo_Create
Handle_HLRBRep_InternalAlgo_DownCast = _HLRBRep.Handle_HLRBRep_InternalAlgo_DownCast
Handle_HLRBRep_InternalAlgo_IsNull = _HLRBRep.Handle_HLRBRep_InternalAlgo_IsNull
Handle_HLRBRep_PolyAlgo_Create = _HLRBRep.Handle_HLRBRep_PolyAlgo_Create
Handle_HLRBRep_PolyAlgo_DownCast = _HLRBRep.Handle_HLRBRep_PolyAlgo_DownCast
Handle_HLRBRep_PolyAlgo_IsNull = _HLRBRep.Handle_HLRBRep_PolyAlgo_IsNull
Handle_HLRBRep_Algo_Create = _HLRBRep.Handle_HLRBRep_Algo_Create
Handle_HLRBRep_Algo_DownCast = _HLRBRep.Handle_HLRBRep_Algo_DownCast
Handle_HLRBRep_Algo_IsNull = _HLRBRep.Handle_HLRBRep_Algo_IsNull
class HLRBRep_ListOfBPoint(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPoint_begin)
    end = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPoint_end)
    cbegin = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPoint_cbegin)
    cend = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPoint_cend)

    def __init__(self, *args):
        _HLRBRep.HLRBRep_ListOfBPoint_swiginit(self, _HLRBRep.new_HLRBRep_ListOfBPoint(*args))
    Size = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPoint_Size)
    Assign = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPoint_Assign)
    Set = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPoint_Set)
    Clear = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPoint_Clear)
    First = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPoint_First)
    Last = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPoint_Last)
    Append = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPoint_Append)
    Prepend = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPoint_Prepend)
    RemoveFirst = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPoint_RemoveFirst)
    Remove = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPoint_Remove)
    InsertBefore = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPoint_InsertBefore)
    InsertAfter = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPoint_InsertAfter)
    Reverse = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPoint_Reverse)
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_ListOfBPoint

# Register HLRBRep_ListOfBPoint in _HLRBRep:
_HLRBRep.HLRBRep_ListOfBPoint_swigregister(HLRBRep_ListOfBPoint)

class HLRBRep_ListIteratorOfListOfBPoint(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):
        _HLRBRep.HLRBRep_ListIteratorOfListOfBPoint_swiginit(self, _HLRBRep.new_HLRBRep_ListIteratorOfListOfBPoint(*args))
    More = _swig_new_instance_method(_HLRBRep.HLRBRep_ListIteratorOfListOfBPoint_More)
    Next = _swig_new_instance_method(_HLRBRep.HLRBRep_ListIteratorOfListOfBPoint_Next)
    Value = _swig_new_instance_method(_HLRBRep.HLRBRep_ListIteratorOfListOfBPoint_Value)
    ChangeValue = _swig_new_instance_method(_HLRBRep.HLRBRep_ListIteratorOfListOfBPoint_ChangeValue)
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_ListIteratorOfListOfBPoint

# Register HLRBRep_ListIteratorOfListOfBPoint in _HLRBRep:
_HLRBRep.HLRBRep_ListIteratorOfListOfBPoint_swigregister(HLRBRep_ListIteratorOfListOfBPoint)

class HLRBRep_SeqOfShapeBounds(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_begin)
    end = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_end)
    cbegin = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_cbegin)
    cend = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_cend)

    def __init__(self, *args):
        _HLRBRep.HLRBRep_SeqOfShapeBounds_swiginit(self, _HLRBRep.new_HLRBRep_SeqOfShapeBounds(*args))
    Size = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_Size)
    Length = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_Length)
    Lower = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_Lower)
    Upper = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_Upper)
    IsEmpty = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_IsEmpty)
    Reverse = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_Reverse)
    Exchange = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_Exchange)
    delNode = _swig_new_static_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_delNode)
    Clear = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_Clear)
    Assign = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_Assign)
    Set = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_Set)
    Remove = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_Remove)
    Append = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_Append)
    Prepend = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_Prepend)
    InsertBefore = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_InsertBefore)
    InsertAfter = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_InsertAfter)
    Split = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_Split)
    First = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_First)
    ChangeFirst = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_ChangeFirst)
    Last = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_Last)
    ChangeLast = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_ChangeLast)
    Value = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_Value)
    ChangeValue = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_ChangeValue)
    __call__ = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds___call__)
    SetValue = _swig_new_instance_method(_HLRBRep.HLRBRep_SeqOfShapeBounds_SetValue)
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_SeqOfShapeBounds

# Register HLRBRep_SeqOfShapeBounds in _HLRBRep:
_HLRBRep.HLRBRep_SeqOfShapeBounds_swigregister(HLRBRep_SeqOfShapeBounds)
HLRBRep_SeqOfShapeBounds_delNode = _HLRBRep.HLRBRep_SeqOfShapeBounds_delNode

class HLRBRep_Array1OfEData(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_begin)
    end = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_end)
    cbegin = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_cbegin)
    cend = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_cend)

    def __init__(self, *args):
        _HLRBRep.HLRBRep_Array1OfEData_swiginit(self, _HLRBRep.new_HLRBRep_Array1OfEData(*args))
    Init = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_Init)
    Size = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_Size)
    Length = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_Length)
    IsEmpty = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_IsEmpty)
    Lower = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_Lower)
    Upper = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_Upper)
    IsDeletable = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_IsDeletable)
    IsAllocated = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_IsAllocated)
    Assign = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_Assign)
    Move = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_Move)
    Set = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_Set)
    First = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_First)
    ChangeFirst = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_ChangeFirst)
    Last = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_Last)
    ChangeLast = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_ChangeLast)
    Value = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_Value)
    ChangeValue = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_ChangeValue)
    __call__ = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData___call__)
    SetValue = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_SetValue)
    Resize = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfEData_Resize)
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_Array1OfEData

    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 HLRBRep_Array1OfEData in _HLRBRep:
_HLRBRep.HLRBRep_Array1OfEData_swigregister(HLRBRep_Array1OfEData)

class HLRBRep_Array1OfFData(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_begin)
    end = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_end)
    cbegin = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_cbegin)
    cend = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_cend)

    def __init__(self, *args):
        _HLRBRep.HLRBRep_Array1OfFData_swiginit(self, _HLRBRep.new_HLRBRep_Array1OfFData(*args))
    Init = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_Init)
    Size = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_Size)
    Length = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_Length)
    IsEmpty = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_IsEmpty)
    Lower = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_Lower)
    Upper = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_Upper)
    IsDeletable = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_IsDeletable)
    IsAllocated = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_IsAllocated)
    Assign = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_Assign)
    Move = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_Move)
    Set = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_Set)
    First = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_First)
    ChangeFirst = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_ChangeFirst)
    Last = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_Last)
    ChangeLast = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_ChangeLast)
    Value = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_Value)
    ChangeValue = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_ChangeValue)
    __call__ = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData___call__)
    SetValue = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_SetValue)
    Resize = _swig_new_instance_method(_HLRBRep.HLRBRep_Array1OfFData_Resize)
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_Array1OfFData

    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 HLRBRep_Array1OfFData in _HLRBRep:
_HLRBRep.HLRBRep_Array1OfFData_swigregister(HLRBRep_Array1OfFData)

class HLRBRep_ListOfBPnt2D(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPnt2D_begin)
    end = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPnt2D_end)
    cbegin = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPnt2D_cbegin)
    cend = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPnt2D_cend)

    def __init__(self, *args):
        _HLRBRep.HLRBRep_ListOfBPnt2D_swiginit(self, _HLRBRep.new_HLRBRep_ListOfBPnt2D(*args))
    Size = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPnt2D_Size)
    Assign = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPnt2D_Assign)
    Set = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPnt2D_Set)
    Clear = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPnt2D_Clear)
    First = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPnt2D_First)
    Last = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPnt2D_Last)
    Append = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPnt2D_Append)
    Prepend = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPnt2D_Prepend)
    RemoveFirst = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPnt2D_RemoveFirst)
    Remove = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPnt2D_Remove)
    InsertBefore = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPnt2D_InsertBefore)
    InsertAfter = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPnt2D_InsertAfter)
    Reverse = _swig_new_instance_method(_HLRBRep.HLRBRep_ListOfBPnt2D_Reverse)
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_ListOfBPnt2D

# Register HLRBRep_ListOfBPnt2D in _HLRBRep:
_HLRBRep.HLRBRep_ListOfBPnt2D_swigregister(HLRBRep_ListOfBPnt2D)

class HLRBRep_ListIteratorOfListOfBPnt2D(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):
        _HLRBRep.HLRBRep_ListIteratorOfListOfBPnt2D_swiginit(self, _HLRBRep.new_HLRBRep_ListIteratorOfListOfBPnt2D(*args))
    More = _swig_new_instance_method(_HLRBRep.HLRBRep_ListIteratorOfListOfBPnt2D_More)
    Next = _swig_new_instance_method(_HLRBRep.HLRBRep_ListIteratorOfListOfBPnt2D_Next)
    Value = _swig_new_instance_method(_HLRBRep.HLRBRep_ListIteratorOfListOfBPnt2D_Value)
    ChangeValue = _swig_new_instance_method(_HLRBRep.HLRBRep_ListIteratorOfListOfBPnt2D_ChangeValue)
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_ListIteratorOfListOfBPnt2D

# Register HLRBRep_ListIteratorOfListOfBPnt2D in _HLRBRep:
_HLRBRep.HLRBRep_ListIteratorOfListOfBPnt2D_swigregister(HLRBRep_ListIteratorOfListOfBPnt2D)

class hlrbrep(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    MakeEdge = _swig_new_static_method(_HLRBRep.hlrbrep_MakeEdge)
    MakeEdge3d = _swig_new_static_method(_HLRBRep.hlrbrep_MakeEdge3d)
    PolyHLRAngleAndDeflection = _swig_new_static_method(_HLRBRep.hlrbrep_PolyHLRAngleAndDeflection)

    __repr__ = _dumps_object


    def __init__(self):
        _HLRBRep.hlrbrep_swiginit(self, _HLRBRep.new_hlrbrep())
    __swig_destroy__ = _HLRBRep.delete_hlrbrep

# Register hlrbrep in _HLRBRep:
_HLRBRep.hlrbrep_swigregister(hlrbrep)
hlrbrep_MakeEdge = _HLRBRep.hlrbrep_MakeEdge
hlrbrep_MakeEdge3d = _HLRBRep.hlrbrep_MakeEdge3d
hlrbrep_PolyHLRAngleAndDeflection = _HLRBRep.hlrbrep_PolyHLRAngleAndDeflection

class HLRBRep_AreaLimit(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
    Clear = _swig_new_instance_method(_HLRBRep.HLRBRep_AreaLimit_Clear)
    EdgeAfter = _swig_new_instance_method(_HLRBRep.HLRBRep_AreaLimit_EdgeAfter)
    EdgeBefore = _swig_new_instance_method(_HLRBRep.HLRBRep_AreaLimit_EdgeBefore)

    def __init__(self, *args):
        r"""
        * The previous and next field are set to NULL.
        	:param V:
        	:type V: HLRAlgo_Intersection
        	:param Boundary:
        	:type Boundary: bool
        	:param Interference:
        	:type Interference: bool
        	:param StateBefore:
        	:type StateBefore: TopAbs_State
        	:param StateAfter:
        	:type StateAfter: TopAbs_State
        	:param EdgeBefore:
        	:type EdgeBefore: TopAbs_State
        	:param EdgeAfter:
        	:type EdgeAfter: TopAbs_State
        	:rtype: None
        """
        _HLRBRep.HLRBRep_AreaLimit_swiginit(self, _HLRBRep.new_HLRBRep_AreaLimit(*args))
    IsBoundary = _swig_new_instance_method(_HLRBRep.HLRBRep_AreaLimit_IsBoundary)
    IsInterference = _swig_new_instance_method(_HLRBRep.HLRBRep_AreaLimit_IsInterference)
    Next = _swig_new_instance_method(_HLRBRep.HLRBRep_AreaLimit_Next)
    Previous = _swig_new_instance_method(_HLRBRep.HLRBRep_AreaLimit_Previous)
    StateAfter = _swig_new_instance_method(_HLRBRep.HLRBRep_AreaLimit_StateAfter)
    StateBefore = _swig_new_instance_method(_HLRBRep.HLRBRep_AreaLimit_StateBefore)
    Vertex = _swig_new_instance_method(_HLRBRep.HLRBRep_AreaLimit_Vertex)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_AreaLimit

# Register HLRBRep_AreaLimit in _HLRBRep:
_HLRBRep.HLRBRep_AreaLimit_swigregister(HLRBRep_AreaLimit)

class HLRBRep_BCurveTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    BSpline = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_BSpline)
    Bezier = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_Bezier)
    Circle = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_Circle)
    Continuity = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_Continuity)
    D0 = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_D0)
    D1 = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_D1)
    D2 = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_D2)
    D3 = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_D3)
    DN = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_DN)
    Degree = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_Degree)
    Ellipse = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_Ellipse)
    FirstParameter = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_FirstParameter)
    GetType = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_GetType)
    Hyperbola = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_Hyperbola)
    Intervals = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_Intervals)
    IsClosed = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_IsClosed)
    IsPeriodic = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_IsPeriodic)
    IsRational = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_IsRational)
    LastParameter = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_LastParameter)
    Line = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_Line)
    NbIntervals = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_NbIntervals)
    NbKnots = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_NbKnots)
    NbPoles = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_NbPoles)
    NbSamples = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_NbSamples)
    Parabola = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_Parabola)
    Period = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_Period)
    Poles = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_Poles)
    PolesAndWeights = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_PolesAndWeights)
    Resolution = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_Resolution)
    Value = _swig_new_static_method(_HLRBRep.HLRBRep_BCurveTool_Value)

    __repr__ = _dumps_object


    def __init__(self):
        _HLRBRep.HLRBRep_BCurveTool_swiginit(self, _HLRBRep.new_HLRBRep_BCurveTool())
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_BCurveTool

# Register HLRBRep_BCurveTool in _HLRBRep:
_HLRBRep.HLRBRep_BCurveTool_swigregister(HLRBRep_BCurveTool)
HLRBRep_BCurveTool_BSpline = _HLRBRep.HLRBRep_BCurveTool_BSpline
HLRBRep_BCurveTool_Bezier = _HLRBRep.HLRBRep_BCurveTool_Bezier
HLRBRep_BCurveTool_Circle = _HLRBRep.HLRBRep_BCurveTool_Circle
HLRBRep_BCurveTool_Continuity = _HLRBRep.HLRBRep_BCurveTool_Continuity
HLRBRep_BCurveTool_D0 = _HLRBRep.HLRBRep_BCurveTool_D0
HLRBRep_BCurveTool_D1 = _HLRBRep.HLRBRep_BCurveTool_D1
HLRBRep_BCurveTool_D2 = _HLRBRep.HLRBRep_BCurveTool_D2
HLRBRep_BCurveTool_D3 = _HLRBRep.HLRBRep_BCurveTool_D3
HLRBRep_BCurveTool_DN = _HLRBRep.HLRBRep_BCurveTool_DN
HLRBRep_BCurveTool_Degree = _HLRBRep.HLRBRep_BCurveTool_Degree
HLRBRep_BCurveTool_Ellipse = _HLRBRep.HLRBRep_BCurveTool_Ellipse
HLRBRep_BCurveTool_FirstParameter = _HLRBRep.HLRBRep_BCurveTool_FirstParameter
HLRBRep_BCurveTool_GetType = _HLRBRep.HLRBRep_BCurveTool_GetType
HLRBRep_BCurveTool_Hyperbola = _HLRBRep.HLRBRep_BCurveTool_Hyperbola
HLRBRep_BCurveTool_Intervals = _HLRBRep.HLRBRep_BCurveTool_Intervals
HLRBRep_BCurveTool_IsClosed = _HLRBRep.HLRBRep_BCurveTool_IsClosed
HLRBRep_BCurveTool_IsPeriodic = _HLRBRep.HLRBRep_BCurveTool_IsPeriodic
HLRBRep_BCurveTool_IsRational = _HLRBRep.HLRBRep_BCurveTool_IsRational
HLRBRep_BCurveTool_LastParameter = _HLRBRep.HLRBRep_BCurveTool_LastParameter
HLRBRep_BCurveTool_Line = _HLRBRep.HLRBRep_BCurveTool_Line
HLRBRep_BCurveTool_NbIntervals = _HLRBRep.HLRBRep_BCurveTool_NbIntervals
HLRBRep_BCurveTool_NbKnots = _HLRBRep.HLRBRep_BCurveTool_NbKnots
HLRBRep_BCurveTool_NbPoles = _HLRBRep.HLRBRep_BCurveTool_NbPoles
HLRBRep_BCurveTool_NbSamples = _HLRBRep.HLRBRep_BCurveTool_NbSamples
HLRBRep_BCurveTool_Parabola = _HLRBRep.HLRBRep_BCurveTool_Parabola
HLRBRep_BCurveTool_Period = _HLRBRep.HLRBRep_BCurveTool_Period
HLRBRep_BCurveTool_Poles = _HLRBRep.HLRBRep_BCurveTool_Poles
HLRBRep_BCurveTool_PolesAndWeights = _HLRBRep.HLRBRep_BCurveTool_PolesAndWeights
HLRBRep_BCurveTool_Resolution = _HLRBRep.HLRBRep_BCurveTool_Resolution
HLRBRep_BCurveTool_Value = _HLRBRep.HLRBRep_BCurveTool_Value

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

    def __init__(self, *args):
        r"""
        :rtype: None:param x1:
        	:type x1: float
        	:param y1:
        	:type y1: float
        	:param x2:
        	:type x2: float
        	:param y2:
        	:type y2: float
        	:param S:
        	:type S: TopoDS_Shape
        	:param reg1:
        	:type reg1: bool
        	:param regn:
        	:type regn: bool
        	:param outl:
        	:type outl: bool
        	:param intl:
        	:type intl: bool
        	:rtype: None:param thePoint1:
        	:type thePoint1: gp_XY
        	:param thePoint2:
        	:type thePoint2: gp_XY
        	:param S:
        	:type S: TopoDS_Shape
        	:param reg1:
        	:type reg1: bool
        	:param regn:
        	:type regn: bool
        	:param outl:
        	:type outl: bool
        	:param intl:
        	:type intl: bool
        	:rtype: None
        """
        _HLRBRep.HLRBRep_BiPnt2D_swiginit(self, _HLRBRep.new_HLRBRep_BiPnt2D(*args))
    IntLine = _swig_new_instance_method(_HLRBRep.HLRBRep_BiPnt2D_IntLine)
    OutLine = _swig_new_instance_method(_HLRBRep.HLRBRep_BiPnt2D_OutLine)
    P1 = _swig_new_instance_method(_HLRBRep.HLRBRep_BiPnt2D_P1)
    P2 = _swig_new_instance_method(_HLRBRep.HLRBRep_BiPnt2D_P2)
    Rg1Line = _swig_new_instance_method(_HLRBRep.HLRBRep_BiPnt2D_Rg1Line)
    RgNLine = _swig_new_instance_method(_HLRBRep.HLRBRep_BiPnt2D_RgNLine)
    Shape = _swig_new_instance_method(_HLRBRep.HLRBRep_BiPnt2D_Shape)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_BiPnt2D

# Register HLRBRep_BiPnt2D in _HLRBRep:
_HLRBRep.HLRBRep_BiPnt2D_swigregister(HLRBRep_BiPnt2D)

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

    def __init__(self, *args):
        r"""
        :rtype: None:param x1:
        	:type x1: float
        	:param y1:
        	:type y1: float
        	:param z1:
        	:type z1: float
        	:param x2:
        	:type x2: float
        	:param y2:
        	:type y2: float
        	:param z2:
        	:type z2: float
        	:param S:
        	:type S: TopoDS_Shape
        	:param reg1:
        	:type reg1: bool
        	:param regn:
        	:type regn: bool
        	:param outl:
        	:type outl: bool
        	:param intl:
        	:type intl: bool
        	:rtype: None
        """
        _HLRBRep.HLRBRep_BiPoint_swiginit(self, _HLRBRep.new_HLRBRep_BiPoint(*args))
    IntLine = _swig_new_instance_method(_HLRBRep.HLRBRep_BiPoint_IntLine)
    OutLine = _swig_new_instance_method(_HLRBRep.HLRBRep_BiPoint_OutLine)
    P1 = _swig_new_instance_method(_HLRBRep.HLRBRep_BiPoint_P1)
    P2 = _swig_new_instance_method(_HLRBRep.HLRBRep_BiPoint_P2)
    Rg1Line = _swig_new_instance_method(_HLRBRep.HLRBRep_BiPoint_Rg1Line)
    RgNLine = _swig_new_instance_method(_HLRBRep.HLRBRep_BiPoint_RgNLine)
    Shape = _swig_new_instance_method(_HLRBRep.HLRBRep_BiPoint_Shape)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_BiPoint

# Register HLRBRep_BiPoint in _HLRBRep:
_HLRBRep.HLRBRep_BiPoint_swigregister(HLRBRep_BiPoint)

class HLRBRep_CInter(OCC.Core.IntRes2d.IntRes2d_Intersection):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    ComputeDomain = _swig_new_instance_method(_HLRBRep.HLRBRep_CInter_ComputeDomain)
    GetMinNbSamples = _swig_new_instance_method(_HLRBRep.HLRBRep_CInter_GetMinNbSamples)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None* Self Intersection of a curve
        	:param C:
        	:type C: Standard_Address
        	:param TolConf:
        	:type TolConf: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None* Self Intersection of a curve with a domain.
        	:param C:
        	:type C: Standard_Address
        	:param D:
        	:type D: IntRes2d_Domain
        	:param TolConf:
        	:type TolConf: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None* Intersection between 2 curves.
        	:param C1:
        	:type C1: Standard_Address
        	:param C2:
        	:type C2: Standard_Address
        	:param TolConf:
        	:type TolConf: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None* Intersection between 2 curves.
        	:param C1:
        	:type C1: Standard_Address
        	:param D1:
        	:type D1: IntRes2d_Domain
        	:param C2:
        	:type C2: Standard_Address
        	:param TolConf:
        	:type TolConf: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None* Intersection between 2 curves.
        	:param C1:
        	:type C1: Standard_Address
        	:param C2:
        	:type C2: Standard_Address
        	:param D2:
        	:type D2: IntRes2d_Domain
        	:param TolConf:
        	:type TolConf: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None* Intersection between 2 curves.
        	:param C1:
        	:type C1: Standard_Address
        	:param D1:
        	:type D1: IntRes2d_Domain
        	:param C2:
        	:type C2: Standard_Address
        	:param D2:
        	:type D2: IntRes2d_Domain
        	:param TolConf:
        	:type TolConf: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None
        """
        _HLRBRep.HLRBRep_CInter_swiginit(self, _HLRBRep.new_HLRBRep_CInter(*args))
    Perform = _swig_new_instance_method(_HLRBRep.HLRBRep_CInter_Perform)
    SetMinNbSamples = _swig_new_instance_method(_HLRBRep.HLRBRep_CInter_SetMinNbSamples)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_CInter

# Register HLRBRep_CInter in _HLRBRep:
_HLRBRep.HLRBRep_CInter_swigregister(HLRBRep_CInter)

class HLRBRep_CLProps(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    CentreOfCurvature = _swig_new_instance_method(_HLRBRep.HLRBRep_CLProps_CentreOfCurvature)
    Curvature = _swig_new_instance_method(_HLRBRep.HLRBRep_CLProps_Curvature)
    D1 = _swig_new_instance_method(_HLRBRep.HLRBRep_CLProps_D1)
    D2 = _swig_new_instance_method(_HLRBRep.HLRBRep_CLProps_D2)
    D3 = _swig_new_instance_method(_HLRBRep.HLRBRep_CLProps_D3)

    def __init__(self, *args):
        r"""
        * Initializes the local properties of the curve <C> The current point and the derivatives are computed at the same time, which allows an optimization of the computation time. <N> indicates the maximum number of derivations to be done (0, 1, 2 or 3). For example, to compute only the tangent, N should be equal to 1. <Resolution> is the linear tolerance (it is used to test if a vector is null).
        	:param C:
        	:type C: HLRBRep_Curve *
        	:param N:
        	:type N: int
        	:param Resolution:
        	:type Resolution: float
        	:rtype: None* Same as previous constructor but here the parameter is set to the value <U>. All the computations done will be related to <C> and <U>.
        	:param C:
        	:type C: HLRBRep_Curve *
        	:param U:
        	:type U: float
        	:param N:
        	:type N: int
        	:param Resolution:
        	:type Resolution: float
        	:rtype: None* Same as previous constructor but here the parameter is set to the value <U> and the curve is set with SetCurve. the curve can have a empty constructor All the computations done will be related to <C> and <U> when the functions 'set' will be done.
        	:param N:
        	:type N: int
        	:param Resolution:
        	:type Resolution: float
        	:rtype: None
        """
        _HLRBRep.HLRBRep_CLProps_swiginit(self, _HLRBRep.new_HLRBRep_CLProps(*args))
    IsTangentDefined = _swig_new_instance_method(_HLRBRep.HLRBRep_CLProps_IsTangentDefined)
    Normal = _swig_new_instance_method(_HLRBRep.HLRBRep_CLProps_Normal)
    SetCurve = _swig_new_instance_method(_HLRBRep.HLRBRep_CLProps_SetCurve)
    SetParameter = _swig_new_instance_method(_HLRBRep.HLRBRep_CLProps_SetParameter)
    Tangent = _swig_new_instance_method(_HLRBRep.HLRBRep_CLProps_Tangent)
    Value = _swig_new_instance_method(_HLRBRep.HLRBRep_CLProps_Value)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_CLProps

# Register HLRBRep_CLProps in _HLRBRep:
_HLRBRep.HLRBRep_CLProps_swigregister(HLRBRep_CLProps)

class HLRBRep_CLPropsATool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Continuity = _swig_new_static_method(_HLRBRep.HLRBRep_CLPropsATool_Continuity)
    D1 = _swig_new_static_method(_HLRBRep.HLRBRep_CLPropsATool_D1)
    D2 = _swig_new_static_method(_HLRBRep.HLRBRep_CLPropsATool_D2)
    D3 = _swig_new_static_method(_HLRBRep.HLRBRep_CLPropsATool_D3)
    FirstParameter = _swig_new_static_method(_HLRBRep.HLRBRep_CLPropsATool_FirstParameter)
    LastParameter = _swig_new_static_method(_HLRBRep.HLRBRep_CLPropsATool_LastParameter)
    Value = _swig_new_static_method(_HLRBRep.HLRBRep_CLPropsATool_Value)

    __repr__ = _dumps_object


    def __init__(self):
        _HLRBRep.HLRBRep_CLPropsATool_swiginit(self, _HLRBRep.new_HLRBRep_CLPropsATool())
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_CLPropsATool

# Register HLRBRep_CLPropsATool in _HLRBRep:
_HLRBRep.HLRBRep_CLPropsATool_swigregister(HLRBRep_CLPropsATool)
HLRBRep_CLPropsATool_Continuity = _HLRBRep.HLRBRep_CLPropsATool_Continuity
HLRBRep_CLPropsATool_D1 = _HLRBRep.HLRBRep_CLPropsATool_D1
HLRBRep_CLPropsATool_D2 = _HLRBRep.HLRBRep_CLPropsATool_D2
HLRBRep_CLPropsATool_D3 = _HLRBRep.HLRBRep_CLPropsATool_D3
HLRBRep_CLPropsATool_FirstParameter = _HLRBRep.HLRBRep_CLPropsATool_FirstParameter
HLRBRep_CLPropsATool_LastParameter = _HLRBRep.HLRBRep_CLPropsATool_LastParameter
HLRBRep_CLPropsATool_Value = _HLRBRep.HLRBRep_CLPropsATool_Value

class HLRBRep_Curve(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Circle = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Circle)
    Continuity = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Continuity)
    Curve = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Curve)
    D0 = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_D0)
    D1 = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_D1)
    D2 = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_D2)
    D3 = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_D3)
    DN = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_DN)
    Degree = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Degree)
    Ellipse = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Ellipse)
    FirstParameter = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_FirstParameter)
    GetCurve = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_GetCurve)
    GetType = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_GetType)

    def __init__(self, *args):
        r"""
        * Creates an undefined Curve.
        	:rtype: None
        """
        _HLRBRep.HLRBRep_Curve_swiginit(self, _HLRBRep.new_HLRBRep_Curve(*args))
    Hyperbola = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Hyperbola)
    Intervals = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Intervals)
    IsClosed = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_IsClosed)
    IsPeriodic = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_IsPeriodic)
    IsRational = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_IsRational)
    Knots = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Knots)
    LastParameter = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_LastParameter)
    Line = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Line)
    Multiplicities = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Multiplicities)
    NbIntervals = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_NbIntervals)
    NbKnots = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_NbKnots)
    NbPoles = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_NbPoles)
    Parabola = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Parabola)
    Parameter2d = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Parameter2d)
    Parameter3d = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Parameter3d)
    Period = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Period)
    Poles = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Poles)
    PolesAndWeights = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_PolesAndWeights)
    Projector = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Projector)
    Resolution = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Resolution)
    Tangent = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Tangent)
    Update = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Update)
    UpdateMinMax = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_UpdateMinMax)
    Value = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Value)
    Value3D = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Value3D)
    Z = _swig_new_instance_method(_HLRBRep.HLRBRep_Curve_Z)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_Curve

# Register HLRBRep_Curve in _HLRBRep:
_HLRBRep.HLRBRep_Curve_swigregister(HLRBRep_Curve)

class HLRBRep_CurveTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    BSpline = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_BSpline)
    Bezier = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_Bezier)
    Circle = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_Circle)
    Continuity = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_Continuity)
    D0 = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_D0)
    D1 = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_D1)
    D2 = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_D2)
    D3 = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_D3)
    DN = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_DN)
    Degree = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_Degree)
    Ellipse = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_Ellipse)
    EpsX = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_EpsX)
    FirstParameter = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_FirstParameter)
    GetInterval = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_GetInterval)
    GetType = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_GetType)
    Hyperbola = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_Hyperbola)
    Intervals = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_Intervals)
    IsClosed = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_IsClosed)
    IsPeriodic = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_IsPeriodic)
    LastParameter = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_LastParameter)
    Line = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_Line)
    NbIntervals = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_NbIntervals)
    NbSamples = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_NbSamples)
    Parabola = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_Parabola)
    Period = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_Period)
    Resolution = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_Resolution)
    TheType = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_TheType)
    Value = _swig_new_static_method(_HLRBRep.HLRBRep_CurveTool_Value)

    __repr__ = _dumps_object


    def __init__(self):
        _HLRBRep.HLRBRep_CurveTool_swiginit(self, _HLRBRep.new_HLRBRep_CurveTool())
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_CurveTool

# Register HLRBRep_CurveTool in _HLRBRep:
_HLRBRep.HLRBRep_CurveTool_swigregister(HLRBRep_CurveTool)
HLRBRep_CurveTool_BSpline = _HLRBRep.HLRBRep_CurveTool_BSpline
HLRBRep_CurveTool_Bezier = _HLRBRep.HLRBRep_CurveTool_Bezier
HLRBRep_CurveTool_Circle = _HLRBRep.HLRBRep_CurveTool_Circle
HLRBRep_CurveTool_Continuity = _HLRBRep.HLRBRep_CurveTool_Continuity
HLRBRep_CurveTool_D0 = _HLRBRep.HLRBRep_CurveTool_D0
HLRBRep_CurveTool_D1 = _HLRBRep.HLRBRep_CurveTool_D1
HLRBRep_CurveTool_D2 = _HLRBRep.HLRBRep_CurveTool_D2
HLRBRep_CurveTool_D3 = _HLRBRep.HLRBRep_CurveTool_D3
HLRBRep_CurveTool_DN = _HLRBRep.HLRBRep_CurveTool_DN
HLRBRep_CurveTool_Degree = _HLRBRep.HLRBRep_CurveTool_Degree
HLRBRep_CurveTool_Ellipse = _HLRBRep.HLRBRep_CurveTool_Ellipse
HLRBRep_CurveTool_EpsX = _HLRBRep.HLRBRep_CurveTool_EpsX
HLRBRep_CurveTool_FirstParameter = _HLRBRep.HLRBRep_CurveTool_FirstParameter
HLRBRep_CurveTool_GetInterval = _HLRBRep.HLRBRep_CurveTool_GetInterval
HLRBRep_CurveTool_GetType = _HLRBRep.HLRBRep_CurveTool_GetType
HLRBRep_CurveTool_Hyperbola = _HLRBRep.HLRBRep_CurveTool_Hyperbola
HLRBRep_CurveTool_Intervals = _HLRBRep.HLRBRep_CurveTool_Intervals
HLRBRep_CurveTool_IsClosed = _HLRBRep.HLRBRep_CurveTool_IsClosed
HLRBRep_CurveTool_IsPeriodic = _HLRBRep.HLRBRep_CurveTool_IsPeriodic
HLRBRep_CurveTool_LastParameter = _HLRBRep.HLRBRep_CurveTool_LastParameter
HLRBRep_CurveTool_Line = _HLRBRep.HLRBRep_CurveTool_Line
HLRBRep_CurveTool_NbIntervals = _HLRBRep.HLRBRep_CurveTool_NbIntervals
HLRBRep_CurveTool_NbSamples = _HLRBRep.HLRBRep_CurveTool_NbSamples
HLRBRep_CurveTool_Parabola = _HLRBRep.HLRBRep_CurveTool_Parabola
HLRBRep_CurveTool_Period = _HLRBRep.HLRBRep_CurveTool_Period
HLRBRep_CurveTool_Resolution = _HLRBRep.HLRBRep_CurveTool_Resolution
HLRBRep_CurveTool_TheType = _HLRBRep.HLRBRep_CurveTool_TheType
HLRBRep_CurveTool_Value = _HLRBRep.HLRBRep_CurveTool_Value

class HLRBRep_Data(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
    AboveInterference = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_AboveInterference)
    Classify = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_Classify)
    Compare = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_Compare)
    Destroy = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_Destroy)
    EDataArray = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_EDataArray)
    Edge = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_Edge)
    EdgeMap = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_EdgeMap)
    EdgeOfTheHidingFace = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_EdgeOfTheHidingFace)
    EdgeState = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_EdgeState)
    FDataArray = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_FDataArray)
    FaceMap = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_FaceMap)

    def __init__(self, *args):
        r"""
        * Create an empty data structure of <NV> vertices, <NE> edges and <NF> faces.
        	:param NV:
        	:type NV: int
        	:param NE:
        	:type NE: int
        	:param NF:
        	:type NF: int
        	:rtype: None
        """
        _HLRBRep.HLRBRep_Data_swiginit(self, _HLRBRep.new_HLRBRep_Data(*args))
    HidingStartLevel = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_HidingStartLevel)
    HidingTheFace = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_HidingTheFace)
    InitBoundSort = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_InitBoundSort)
    InitEdge = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_InitEdge)
    InitInterference = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_InitInterference)
    Interference = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_Interference)
    IsBadFace = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_IsBadFace)
    LocalFEGeometry2D = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_LocalFEGeometry2D)
    LocalLEGeometry2D = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_LocalLEGeometry2D)
    MoreEdge = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_MoreEdge)
    MoreInterference = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_MoreInterference)
    NbEdges = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_NbEdges)
    NbFaces = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_NbFaces)
    NbVertices = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_NbVertices)
    NextEdge = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_NextEdge)
    NextInterference = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_NextInterference)
    Projector = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_Projector)
    RejectedInterference = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_RejectedInterference)
    SimplClassify = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_SimplClassify)
    SimpleHidingFace = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_SimpleHidingFace)
    Tolerance = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_Tolerance)
    Update = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_Update)
    Write = _swig_new_instance_method(_HLRBRep.HLRBRep_Data_Write)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_Data

# Register HLRBRep_Data in _HLRBRep:
_HLRBRep.HLRBRep_Data_swigregister(HLRBRep_Data)

class HLRBRep_EdgeBuilder(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AreaEdgeState = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeBuilder_AreaEdgeState)
    AreaState = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeBuilder_AreaState)
    Builds = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeBuilder_Builds)
    Current = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeBuilder_Current)
    Destroy = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeBuilder_Destroy)

    def __init__(self, *args):
        r"""
        * Creates an EdgeBuilder algorithm. <VList> describes the edge and the interferences. AreaLimits are created from the vertices. Builds(IN) is automatically called.
        	:param VList:
        	:type VList: HLRBRep_VertexList
        	:rtype: None
        """
        _HLRBRep.HLRBRep_EdgeBuilder_swiginit(self, _HLRBRep.new_HLRBRep_EdgeBuilder(*args))
    HasArea = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeBuilder_HasArea)
    InitAreas = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeBuilder_InitAreas)
    IsBoundary = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeBuilder_IsBoundary)
    IsInterference = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeBuilder_IsInterference)
    LeftLimit = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeBuilder_LeftLimit)
    MoreEdges = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeBuilder_MoreEdges)
    MoreVertices = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeBuilder_MoreVertices)
    NextArea = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeBuilder_NextArea)
    NextEdge = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeBuilder_NextEdge)
    NextVertex = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeBuilder_NextVertex)
    Orientation = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeBuilder_Orientation)
    PreviousArea = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeBuilder_PreviousArea)
    RightLimit = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeBuilder_RightLimit)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_EdgeBuilder

# Register HLRBRep_EdgeBuilder in _HLRBRep:
_HLRBRep.HLRBRep_EdgeBuilder_swigregister(HLRBRep_EdgeBuilder)

class HLRBRep_EdgeData(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AutoIntersectionDone = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_AutoIntersectionDone)
    ChangeGeometry = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_ChangeGeometry)
    Curve = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_Curve)
    CutAtEnd = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_CutAtEnd)
    CutAtSta = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_CutAtSta)
    Geometry = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_Geometry)

    def __init__(self, *args):
        r""":rtype: None"""
        _HLRBRep.HLRBRep_EdgeData_swiginit(self, _HLRBRep.new_HLRBRep_EdgeData(*args))
    HideCount = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_HideCount)
    MinMax = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_MinMax)
    OutLVEnd = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_OutLVEnd)
    OutLVSta = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_OutLVSta)
    Rg1Line = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_Rg1Line)
    RgNLine = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_RgNLine)
    Selected = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_Selected)
    Set = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_Set)
    Simple = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_Simple)
    Status = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_Status)
    Tolerance = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_Tolerance)
    UpdateMinMax = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_UpdateMinMax)
    Used = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_Used)
    VEnd = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_VEnd)
    VSta = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_VSta)
    VerAtEnd = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_VerAtEnd)
    VerAtSta = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_VerAtSta)
    Vertical = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeData_Vertical)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_EdgeData

# Register HLRBRep_EdgeData in _HLRBRep:
_HLRBRep.HLRBRep_EdgeData_swigregister(HLRBRep_EdgeData)

class HLRBRep_EdgeFaceTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    CurvatureValue = _swig_new_static_method(_HLRBRep.HLRBRep_EdgeFaceTool_CurvatureValue)
    UVPoint = _swig_new_static_method(_HLRBRep.HLRBRep_EdgeFaceTool_UVPoint)

    __repr__ = _dumps_object


    def __init__(self):
        _HLRBRep.HLRBRep_EdgeFaceTool_swiginit(self, _HLRBRep.new_HLRBRep_EdgeFaceTool())
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_EdgeFaceTool

# Register HLRBRep_EdgeFaceTool in _HLRBRep:
_HLRBRep.HLRBRep_EdgeFaceTool_swigregister(HLRBRep_EdgeFaceTool)
HLRBRep_EdgeFaceTool_CurvatureValue = _HLRBRep.HLRBRep_EdgeFaceTool_CurvatureValue
HLRBRep_EdgeFaceTool_UVPoint = _HLRBRep.HLRBRep_EdgeFaceTool_UVPoint

class HLRBRep_EdgeIList(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AddInterference = _swig_new_static_method(_HLRBRep.HLRBRep_EdgeIList_AddInterference)
    ProcessComplex = _swig_new_static_method(_HLRBRep.HLRBRep_EdgeIList_ProcessComplex)

    __repr__ = _dumps_object


    def __init__(self):
        _HLRBRep.HLRBRep_EdgeIList_swiginit(self, _HLRBRep.new_HLRBRep_EdgeIList())
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_EdgeIList

# Register HLRBRep_EdgeIList in _HLRBRep:
_HLRBRep.HLRBRep_EdgeIList_swigregister(HLRBRep_EdgeIList)
HLRBRep_EdgeIList_AddInterference = _HLRBRep.HLRBRep_EdgeIList_AddInterference
HLRBRep_EdgeIList_ProcessComplex = _HLRBRep.HLRBRep_EdgeIList_ProcessComplex

class HLRBRep_EdgeInterferenceTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    CurrentOrientation = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeInterferenceTool_CurrentOrientation)
    CurrentParameter = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeInterferenceTool_CurrentParameter)
    CurrentVertex = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeInterferenceTool_CurrentVertex)
    EdgeGeometry = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeInterferenceTool_EdgeGeometry)

    def __init__(self, *args):
        r"""
        :param DS:
        	:type DS: HLRBRep_Data
        	:rtype: None
        """
        _HLRBRep.HLRBRep_EdgeInterferenceTool_swiginit(self, _HLRBRep.new_HLRBRep_EdgeInterferenceTool(*args))
    InitVertices = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeInterferenceTool_InitVertices)
    InterferenceBoundaryGeometry = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeInterferenceTool_InterferenceBoundaryGeometry)
    IsPeriodic = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeInterferenceTool_IsPeriodic)
    LoadEdge = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeInterferenceTool_LoadEdge)
    MoreVertices = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeInterferenceTool_MoreVertices)
    NextVertex = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeInterferenceTool_NextVertex)
    ParameterOfInterference = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeInterferenceTool_ParameterOfInterference)
    SameInterferences = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeInterferenceTool_SameInterferences)
    SameVertexAndInterference = _swig_new_instance_method(_HLRBRep.HLRBRep_EdgeInterferenceTool_SameVertexAndInterference)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_EdgeInterferenceTool

# Register HLRBRep_EdgeInterferenceTool in _HLRBRep:
_HLRBRep.HLRBRep_EdgeInterferenceTool_swigregister(HLRBRep_EdgeInterferenceTool)

class HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AnErrorOccurred = _swig_new_instance_method(_HLRBRep.HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter_AnErrorOccurred)

    def __init__(self, *args):
        r"""
        :param C1:
        	:type C1: Standard_Address
        	:param C2:
        	:type C2: Standard_Address
        	:param Tol:
        	:type Tol: float
        	:rtype: None
        """
        _HLRBRep.HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter(*args))
    NbRoots = _swig_new_instance_method(_HLRBRep.HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter_NbRoots)
    Perform = _swig_new_instance_method(_HLRBRep.HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter_Perform)
    Roots = _swig_new_instance_method(_HLRBRep.HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter_Roots)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter

# Register HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter in _HLRBRep:
_HLRBRep.HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter_swigregister(HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter)

class HLRBRep_FaceData(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Back = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_Back)
    Closed = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_Closed)
    Cone = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_Cone)
    Cut = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_Cut)
    Cylinder = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_Cylinder)
    Geometry = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_Geometry)

    def __init__(self, *args):
        r""":rtype: None"""
        _HLRBRep.HLRBRep_FaceData_swiginit(self, _HLRBRep.new_HLRBRep_FaceData(*args))
    Hiding = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_Hiding)
    Orientation = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_Orientation)
    Plane = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_Plane)
    Selected = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_Selected)
    Set = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_Set)
    SetWEdge = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_SetWEdge)
    SetWire = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_SetWire)
    Side = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_Side)
    Simple = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_Simple)
    Size = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_Size)
    Sphere = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_Sphere)
    Tolerance = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_Tolerance)
    Torus = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_Torus)
    Wires = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_Wires)
    WithOutL = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceData_WithOutL)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_FaceData

# Register HLRBRep_FaceData in _HLRBRep:
_HLRBRep.HLRBRep_FaceData_swigregister(HLRBRep_FaceData)

class HLRBRep_FaceIterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    BeginningOfWire = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceIterator_BeginningOfWire)
    Double = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceIterator_Double)
    Edge = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceIterator_Edge)
    EndOfWire = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceIterator_EndOfWire)

    def __init__(self, *args):
        r""":rtype: None"""
        _HLRBRep.HLRBRep_FaceIterator_swiginit(self, _HLRBRep.new_HLRBRep_FaceIterator(*args))
    InitEdge = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceIterator_InitEdge)
    Internal = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceIterator_Internal)
    IsoLine = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceIterator_IsoLine)
    MoreEdge = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceIterator_MoreEdge)
    NextEdge = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceIterator_NextEdge)
    Orientation = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceIterator_Orientation)
    OutLine = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceIterator_OutLine)
    SkipWire = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceIterator_SkipWire)
    Wire = _swig_new_instance_method(_HLRBRep.HLRBRep_FaceIterator_Wire)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_FaceIterator

# Register HLRBRep_FaceIterator in _HLRBRep:
_HLRBRep.HLRBRep_FaceIterator_swigregister(HLRBRep_FaceIterator)

class HLRBRep_HLRToShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    CompoundOfEdges = _swig_new_instance_method(_HLRBRep.HLRBRep_HLRToShape_CompoundOfEdges)
    HCompound = _swig_new_instance_method(_HLRBRep.HLRBRep_HLRToShape_HCompound)

    def __init__(self, *args):
        r"""
        * Constructs a framework for filtering the results of the HLRBRep_Algo algorithm, A. Use the extraction filters to obtain the results you want for A.
        	:param A:
        	:type A: HLRBRep_Algo
        	:rtype: None
        """
        _HLRBRep.HLRBRep_HLRToShape_swiginit(self, _HLRBRep.new_HLRBRep_HLRToShape(*args))
    IsoLineHCompound = _swig_new_instance_method(_HLRBRep.HLRBRep_HLRToShape_IsoLineHCompound)
    IsoLineVCompound = _swig_new_instance_method(_HLRBRep.HLRBRep_HLRToShape_IsoLineVCompound)
    OutLineHCompound = _swig_new_instance_method(_HLRBRep.HLRBRep_HLRToShape_OutLineHCompound)
    OutLineVCompound = _swig_new_instance_method(_HLRBRep.HLRBRep_HLRToShape_OutLineVCompound)
    OutLineVCompound3d = _swig_new_instance_method(_HLRBRep.HLRBRep_HLRToShape_OutLineVCompound3d)
    Rg1LineHCompound = _swig_new_instance_method(_HLRBRep.HLRBRep_HLRToShape_Rg1LineHCompound)
    Rg1LineVCompound = _swig_new_instance_method(_HLRBRep.HLRBRep_HLRToShape_Rg1LineVCompound)
    RgNLineHCompound = _swig_new_instance_method(_HLRBRep.HLRBRep_HLRToShape_RgNLineHCompound)
    RgNLineVCompound = _swig_new_instance_method(_HLRBRep.HLRBRep_HLRToShape_RgNLineVCompound)
    VCompound = _swig_new_instance_method(_HLRBRep.HLRBRep_HLRToShape_VCompound)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_HLRToShape

# Register HLRBRep_HLRToShape in _HLRBRep:
_HLRBRep.HLRBRep_HLRToShape_swigregister(HLRBRep_HLRToShape)

class HLRBRep_Hider(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"""
        * Creates a Hider processing the set of Edges and hiding faces described by <DS>. Stores the hidden parts in <DS>.
        	:param DS:
        	:type DS: HLRBRep_Data
        	:rtype: None
        """
        _HLRBRep.HLRBRep_Hider_swiginit(self, _HLRBRep.new_HLRBRep_Hider(*args))
    Hide = _swig_new_instance_method(_HLRBRep.HLRBRep_Hider_Hide)
    OwnHiding = _swig_new_instance_method(_HLRBRep.HLRBRep_Hider_OwnHiding)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_Hider

# Register HLRBRep_Hider in _HLRBRep:
_HLRBRep.HLRBRep_Hider_swigregister(HLRBRep_Hider)

class HLRBRep_IntConicCurveOfCInter(OCC.Core.IntRes2d.IntRes2d_Intersection):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None* Intersection between a line and a parametric curve.
        	:param L:
        	:type L: gp_Lin2d
        	:param D1:
        	:type D1: IntRes2d_Domain
        	:param PCurve:
        	:type PCurve: Standard_Address
        	:param D2:
        	:type D2: IntRes2d_Domain
        	:param TolConf:
        	:type TolConf: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None* Intersection between a line and a parametric curve.
        	:param C:
        	:type C: gp_Circ2d
        	:param D1:
        	:type D1: IntRes2d_Domain
        	:param PCurve:
        	:type PCurve: Standard_Address
        	:param D2:
        	:type D2: IntRes2d_Domain
        	:param TolConf:
        	:type TolConf: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None* Intersection between an ellipse and a parametric curve.
        	:param E:
        	:type E: gp_Elips2d
        	:param D1:
        	:type D1: IntRes2d_Domain
        	:param PCurve:
        	:type PCurve: Standard_Address
        	:param D2:
        	:type D2: IntRes2d_Domain
        	:param TolConf:
        	:type TolConf: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None* Intersection between a parabola and a parametric curve.
        	:param Prb:
        	:type Prb: gp_Parab2d
        	:param D1:
        	:type D1: IntRes2d_Domain
        	:param PCurve:
        	:type PCurve: Standard_Address
        	:param D2:
        	:type D2: IntRes2d_Domain
        	:param TolConf:
        	:type TolConf: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None* Intersection between the main branch of an hyperbola and a parametric curve.
        	:param H:
        	:type H: gp_Hypr2d
        	:param D1:
        	:type D1: IntRes2d_Domain
        	:param PCurve:
        	:type PCurve: Standard_Address
        	:param D2:
        	:type D2: IntRes2d_Domain
        	:param TolConf:
        	:type TolConf: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None
        """
        _HLRBRep.HLRBRep_IntConicCurveOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_IntConicCurveOfCInter(*args))
    Perform = _swig_new_instance_method(_HLRBRep.HLRBRep_IntConicCurveOfCInter_Perform)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_IntConicCurveOfCInter

# Register HLRBRep_IntConicCurveOfCInter in _HLRBRep:
_HLRBRep.HLRBRep_IntConicCurveOfCInter_swigregister(HLRBRep_IntConicCurveOfCInter)

class HLRBRep_InterCSurf(OCC.Core.IntCurveSurface.IntCurveSurface_Intersection):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        * Empty Constructor
        	:rtype: None
        """
        _HLRBRep.HLRBRep_InterCSurf_swiginit(self, _HLRBRep.new_HLRBRep_InterCSurf(*args))
    Perform = _swig_new_instance_method(_HLRBRep.HLRBRep_InterCSurf_Perform)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_InterCSurf

# Register HLRBRep_InterCSurf in _HLRBRep:
_HLRBRep.HLRBRep_InterCSurf_swigregister(HLRBRep_InterCSurf)

class HLRBRep_InternalAlgo(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
    DataStructure = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_DataStructure)
    Debug = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_Debug)

    def __init__(self, *args):
        r"""
        :rtype: None:param A:
        	:type A: HLRBRep_InternalAlgo
        	:rtype: None
        """
        _HLRBRep.HLRBRep_InternalAlgo_swiginit(self, _HLRBRep.new_HLRBRep_InternalAlgo(*args))
    Hide = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_Hide)
    HideAll = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_HideAll)
    Index = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_Index)
    InitEdgeStatus = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_InitEdgeStatus)
    Load = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_Load)
    NbShapes = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_NbShapes)
    PartialHide = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_PartialHide)
    Projector = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_Projector)
    Remove = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_Remove)
    Select = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_Select)
    SelectEdge = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_SelectEdge)
    SelectFace = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_SelectFace)
    SeqOfShapeBounds = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_SeqOfShapeBounds)
    ShapeBounds = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_ShapeBounds)
    ShapeData = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_ShapeData)
    ShowAll = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_ShowAll)
    Update = _swig_new_instance_method(_HLRBRep.HLRBRep_InternalAlgo_Update)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_InternalAlgo

# Register HLRBRep_InternalAlgo in _HLRBRep:
_HLRBRep.HLRBRep_InternalAlgo_swigregister(HLRBRep_InternalAlgo)

class HLRBRep_Intersector(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    CSPoint = _swig_new_instance_method(_HLRBRep.HLRBRep_Intersector_CSPoint)
    CSSegment = _swig_new_instance_method(_HLRBRep.HLRBRep_Intersector_CSSegment)
    Destroy = _swig_new_instance_method(_HLRBRep.HLRBRep_Intersector_Destroy)

    def __init__(self, *args):
        r""":rtype: None"""
        _HLRBRep.HLRBRep_Intersector_swiginit(self, _HLRBRep.new_HLRBRep_Intersector(*args))
    IsDone = _swig_new_instance_method(_HLRBRep.HLRBRep_Intersector_IsDone)
    Load = _swig_new_instance_method(_HLRBRep.HLRBRep_Intersector_Load)
    NbPoints = _swig_new_instance_method(_HLRBRep.HLRBRep_Intersector_NbPoints)
    NbSegments = _swig_new_instance_method(_HLRBRep.HLRBRep_Intersector_NbSegments)
    Perform = _swig_new_instance_method(_HLRBRep.HLRBRep_Intersector_Perform)
    Point = _swig_new_instance_method(_HLRBRep.HLRBRep_Intersector_Point)
    Segment = _swig_new_instance_method(_HLRBRep.HLRBRep_Intersector_Segment)
    SimulateOnePoint = _swig_new_instance_method(_HLRBRep.HLRBRep_Intersector_SimulateOnePoint)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_Intersector

# Register HLRBRep_Intersector in _HLRBRep:
_HLRBRep.HLRBRep_Intersector_swigregister(HLRBRep_Intersector)

class HLRBRep_LineTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    BSpline = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_BSpline)
    Bezier = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_Bezier)
    Circle = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_Circle)
    Continuity = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_Continuity)
    D0 = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_D0)
    D1 = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_D1)
    D2 = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_D2)
    D3 = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_D3)
    DN = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_DN)
    Degree = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_Degree)
    Ellipse = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_Ellipse)
    FirstParameter = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_FirstParameter)
    GetType = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_GetType)
    Hyperbola = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_Hyperbola)
    IntervalContinuity = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_IntervalContinuity)
    IntervalFirst = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_IntervalFirst)
    IntervalLast = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_IntervalLast)
    Intervals = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_Intervals)
    IsClosed = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_IsClosed)
    IsPeriodic = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_IsPeriodic)
    IsRational = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_IsRational)
    KnotsAndMultiplicities = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_KnotsAndMultiplicities)
    LastParameter = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_LastParameter)
    Line = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_Line)
    NbIntervals = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_NbIntervals)
    NbKnots = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_NbKnots)
    NbPoles = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_NbPoles)
    NbSamples = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_NbSamples)
    Parabola = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_Parabola)
    Period = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_Period)
    Poles = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_Poles)
    PolesAndWeights = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_PolesAndWeights)
    Resolution = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_Resolution)
    SamplePars = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_SamplePars)
    Value = _swig_new_static_method(_HLRBRep.HLRBRep_LineTool_Value)

    __repr__ = _dumps_object


    def __init__(self):
        _HLRBRep.HLRBRep_LineTool_swiginit(self, _HLRBRep.new_HLRBRep_LineTool())
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_LineTool

# Register HLRBRep_LineTool in _HLRBRep:
_HLRBRep.HLRBRep_LineTool_swigregister(HLRBRep_LineTool)
HLRBRep_LineTool_BSpline = _HLRBRep.HLRBRep_LineTool_BSpline
HLRBRep_LineTool_Bezier = _HLRBRep.HLRBRep_LineTool_Bezier
HLRBRep_LineTool_Circle = _HLRBRep.HLRBRep_LineTool_Circle
HLRBRep_LineTool_Continuity = _HLRBRep.HLRBRep_LineTool_Continuity
HLRBRep_LineTool_D0 = _HLRBRep.HLRBRep_LineTool_D0
HLRBRep_LineTool_D1 = _HLRBRep.HLRBRep_LineTool_D1
HLRBRep_LineTool_D2 = _HLRBRep.HLRBRep_LineTool_D2
HLRBRep_LineTool_D3 = _HLRBRep.HLRBRep_LineTool_D3
HLRBRep_LineTool_DN = _HLRBRep.HLRBRep_LineTool_DN
HLRBRep_LineTool_Degree = _HLRBRep.HLRBRep_LineTool_Degree
HLRBRep_LineTool_Ellipse = _HLRBRep.HLRBRep_LineTool_Ellipse
HLRBRep_LineTool_FirstParameter = _HLRBRep.HLRBRep_LineTool_FirstParameter
HLRBRep_LineTool_GetType = _HLRBRep.HLRBRep_LineTool_GetType
HLRBRep_LineTool_Hyperbola = _HLRBRep.HLRBRep_LineTool_Hyperbola
HLRBRep_LineTool_IntervalContinuity = _HLRBRep.HLRBRep_LineTool_IntervalContinuity
HLRBRep_LineTool_IntervalFirst = _HLRBRep.HLRBRep_LineTool_IntervalFirst
HLRBRep_LineTool_IntervalLast = _HLRBRep.HLRBRep_LineTool_IntervalLast
HLRBRep_LineTool_Intervals = _HLRBRep.HLRBRep_LineTool_Intervals
HLRBRep_LineTool_IsClosed = _HLRBRep.HLRBRep_LineTool_IsClosed
HLRBRep_LineTool_IsPeriodic = _HLRBRep.HLRBRep_LineTool_IsPeriodic
HLRBRep_LineTool_IsRational = _HLRBRep.HLRBRep_LineTool_IsRational
HLRBRep_LineTool_KnotsAndMultiplicities = _HLRBRep.HLRBRep_LineTool_KnotsAndMultiplicities
HLRBRep_LineTool_LastParameter = _HLRBRep.HLRBRep_LineTool_LastParameter
HLRBRep_LineTool_Line = _HLRBRep.HLRBRep_LineTool_Line
HLRBRep_LineTool_NbIntervals = _HLRBRep.HLRBRep_LineTool_NbIntervals
HLRBRep_LineTool_NbKnots = _HLRBRep.HLRBRep_LineTool_NbKnots
HLRBRep_LineTool_NbPoles = _HLRBRep.HLRBRep_LineTool_NbPoles
HLRBRep_LineTool_NbSamples = _HLRBRep.HLRBRep_LineTool_NbSamples
HLRBRep_LineTool_Parabola = _HLRBRep.HLRBRep_LineTool_Parabola
HLRBRep_LineTool_Period = _HLRBRep.HLRBRep_LineTool_Period
HLRBRep_LineTool_Poles = _HLRBRep.HLRBRep_LineTool_Poles
HLRBRep_LineTool_PolesAndWeights = _HLRBRep.HLRBRep_LineTool_PolesAndWeights
HLRBRep_LineTool_Resolution = _HLRBRep.HLRBRep_LineTool_Resolution
HLRBRep_LineTool_SamplePars = _HLRBRep.HLRBRep_LineTool_SamplePars
HLRBRep_LineTool_Value = _HLRBRep.HLRBRep_LineTool_Value

class HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter(OCC.Core.math.math_FunctionWithDerivative):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        * Constructor of the class.
        	:param IT:
        	:type IT: IntCurve_IConicTool
        	:param PC:
        	:type PC: Standard_Address
        	:rtype: None
        """
        _HLRBRep.HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter

# Register HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter in _HLRBRep:
_HLRBRep.HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter_swigregister(HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter)

class HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter(OCC.Core.math.math_FunctionWithDerivative):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        :rtype: None:param P:
        	:type P: gp_Pnt2d
        	:param C:
        	:type C: Standard_Address
        	:rtype: None
        """
        _HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter(*args))
    Initialize = _swig_new_instance_method(_HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_Initialize)
    IsMin = _swig_new_instance_method(_HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_IsMin)
    NbExt = _swig_new_instance_method(_HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_NbExt)
    Point = _swig_new_instance_method(_HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_Point)
    SearchOfTolerance = _swig_new_instance_method(_HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_SearchOfTolerance)
    SetPoint = _swig_new_instance_method(_HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_SetPoint)
    SquareDistance = _swig_new_instance_method(_HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_SquareDistance)
    SubIntervalInitialize = _swig_new_instance_method(_HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_SubIntervalInitialize)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter

# Register HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter in _HLRBRep:
_HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_swigregister(HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter)

class HLRBRep_PolyAlgo(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
    Algo = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_Algo)
    Angle = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_Angle)
    Debug = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_Debug)

    def __init__(self, *args):
        r"""
        * Constructs an empty framework for the calculation of the visible and hidden lines of a shape in a projection. Use the functions: - Projector to define the point of view - Load to select the shape or shapes to be visualized - Update to compute the visible and hidden lines of the shape. Warning The shape or shapes to be visualized must have already been triangulated.
        	:rtype: None:param A:
        	:type A: HLRBRep_PolyAlgo
        	:rtype: None:param S:
        	:type S: TopoDS_Shape
        	:rtype: None
        """
        _HLRBRep.HLRBRep_PolyAlgo_swiginit(self, _HLRBRep.new_HLRBRep_PolyAlgo(*args))
    Hide = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_Hide)
    Index = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_Index)
    InitHide = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_InitHide)
    InitShow = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_InitShow)
    Load = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_Load)
    MoreHide = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_MoreHide)
    MoreShow = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_MoreShow)
    NbShapes = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_NbShapes)
    NextHide = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_NextHide)
    NextShow = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_NextShow)
    OutLinedShape = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_OutLinedShape)
    Projector = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_Projector)
    Remove = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_Remove)
    Shape = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_Shape)
    Show = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_Show)
    TolAngular = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_TolAngular)
    TolCoef = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_TolCoef)
    Update = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyAlgo_Update)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_PolyAlgo

# Register HLRBRep_PolyAlgo in _HLRBRep:
_HLRBRep.HLRBRep_PolyAlgo_swigregister(HLRBRep_PolyAlgo)

class HLRBRep_PolyHLRToShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    HCompound = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyHLRToShape_HCompound)

    def __init__(self, *args):
        r"""
        * Constructs a framework for filtering the results of the HLRBRep_Algo algorithm, A. Use the extraction filters to obtain the results you want for A.
        	:rtype: None
        """
        _HLRBRep.HLRBRep_PolyHLRToShape_swiginit(self, _HLRBRep.new_HLRBRep_PolyHLRToShape(*args))
    Hide = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyHLRToShape_Hide)
    OutLineHCompound = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyHLRToShape_OutLineHCompound)
    OutLineVCompound = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyHLRToShape_OutLineVCompound)
    Rg1LineHCompound = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyHLRToShape_Rg1LineHCompound)
    Rg1LineVCompound = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyHLRToShape_Rg1LineVCompound)
    RgNLineHCompound = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyHLRToShape_RgNLineHCompound)
    RgNLineVCompound = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyHLRToShape_RgNLineVCompound)
    Show = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyHLRToShape_Show)
    Update = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyHLRToShape_Update)
    VCompound = _swig_new_instance_method(_HLRBRep.HLRBRep_PolyHLRToShape_VCompound)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_PolyHLRToShape

# Register HLRBRep_PolyHLRToShape in _HLRBRep:
_HLRBRep.HLRBRep_PolyHLRToShape_swigregister(HLRBRep_PolyHLRToShape)

class HLRBRep_SLProps(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    CurvatureDirections = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_CurvatureDirections)
    D1U = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_D1U)
    D1V = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_D1V)
    D2U = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_D2U)
    D2V = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_D2V)
    DUV = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_DUV)
    GaussianCurvature = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_GaussianCurvature)

    def __init__(self, *args):
        r"""
        * Initializes the local properties of the surface <S> for the parameter values (<U>, <V>). The current point and the derivatives are computed at the same time, which allows an optimization of the computation time. <N> indicates the maximum number of derivations to be done (0, 1, or 2). For example, to compute only the tangent, N should be equal to 1. <Resolution> is the linear tolerance (it is used to test if a vector is null).
        	:param S:
        	:type S: Standard_Address
        	:param U:
        	:type U: float
        	:param V:
        	:type V: float
        	:param N:
        	:type N: int
        	:param Resolution:
        	:type Resolution: float
        	:rtype: None* idem as previous constructor but without setting the value of parameters <U> and <V>.
        	:param S:
        	:type S: Standard_Address
        	:param N:
        	:type N: int
        	:param Resolution:
        	:type Resolution: float
        	:rtype: None* idem as previous constructor but without setting the value of parameters <U> and <V> and the surface. the surface can have an empty constructor.
        	:param N:
        	:type N: int
        	:param Resolution:
        	:type Resolution: float
        	:rtype: None
        """
        _HLRBRep.HLRBRep_SLProps_swiginit(self, _HLRBRep.new_HLRBRep_SLProps(*args))
    IsCurvatureDefined = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_IsCurvatureDefined)
    IsNormalDefined = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_IsNormalDefined)
    IsTangentUDefined = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_IsTangentUDefined)
    IsTangentVDefined = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_IsTangentVDefined)
    IsUmbilic = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_IsUmbilic)
    MaxCurvature = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_MaxCurvature)
    MeanCurvature = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_MeanCurvature)
    MinCurvature = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_MinCurvature)
    Normal = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_Normal)
    SetParameters = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_SetParameters)
    SetSurface = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_SetSurface)
    TangentU = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_TangentU)
    TangentV = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_TangentV)
    Value = _swig_new_instance_method(_HLRBRep.HLRBRep_SLProps_Value)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_SLProps

# Register HLRBRep_SLProps in _HLRBRep:
_HLRBRep.HLRBRep_SLProps_swigregister(HLRBRep_SLProps)

class HLRBRep_SLPropsATool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Bounds = _swig_new_static_method(_HLRBRep.HLRBRep_SLPropsATool_Bounds)
    Continuity = _swig_new_static_method(_HLRBRep.HLRBRep_SLPropsATool_Continuity)
    D1 = _swig_new_static_method(_HLRBRep.HLRBRep_SLPropsATool_D1)
    D2 = _swig_new_static_method(_HLRBRep.HLRBRep_SLPropsATool_D2)
    DN = _swig_new_static_method(_HLRBRep.HLRBRep_SLPropsATool_DN)
    Value = _swig_new_static_method(_HLRBRep.HLRBRep_SLPropsATool_Value)

    __repr__ = _dumps_object


    def __init__(self):
        _HLRBRep.HLRBRep_SLPropsATool_swiginit(self, _HLRBRep.new_HLRBRep_SLPropsATool())
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_SLPropsATool

# Register HLRBRep_SLPropsATool in _HLRBRep:
_HLRBRep.HLRBRep_SLPropsATool_swigregister(HLRBRep_SLPropsATool)
HLRBRep_SLPropsATool_Bounds = _HLRBRep.HLRBRep_SLPropsATool_Bounds
HLRBRep_SLPropsATool_Continuity = _HLRBRep.HLRBRep_SLPropsATool_Continuity
HLRBRep_SLPropsATool_D1 = _HLRBRep.HLRBRep_SLPropsATool_D1
HLRBRep_SLPropsATool_D2 = _HLRBRep.HLRBRep_SLPropsATool_D2
HLRBRep_SLPropsATool_DN = _HLRBRep.HLRBRep_SLPropsATool_DN
HLRBRep_SLPropsATool_Value = _HLRBRep.HLRBRep_SLPropsATool_Value

class HLRBRep_ShapeBounds(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Bounds = _swig_new_instance_method(_HLRBRep.HLRBRep_ShapeBounds_Bounds)

    def __init__(self, *args):
        r"""
        :rtype: None:param S:
        	:type S: HLRTopoBRep_OutLiner
        	:param SData:
        	:type SData: Standard_Transient
        	:param nbIso:
        	:type nbIso: int
        	:param V1:
        	:type V1: int
        	:param V2:
        	:type V2: int
        	:param E1:
        	:type E1: int
        	:param E2:
        	:type E2: int
        	:param F1:
        	:type F1: int
        	:param F2:
        	:type F2: int
        	:rtype: None:param S:
        	:type S: HLRTopoBRep_OutLiner
        	:param nbIso:
        	:type nbIso: int
        	:param V1:
        	:type V1: int
        	:param V2:
        	:type V2: int
        	:param E1:
        	:type E1: int
        	:param E2:
        	:type E2: int
        	:param F1:
        	:type F1: int
        	:param F2:
        	:type F2: int
        	:rtype: None
        """
        _HLRBRep.HLRBRep_ShapeBounds_swiginit(self, _HLRBRep.new_HLRBRep_ShapeBounds(*args))
    MinMax = _swig_new_instance_method(_HLRBRep.HLRBRep_ShapeBounds_MinMax)
    NbOfIso = _swig_new_instance_method(_HLRBRep.HLRBRep_ShapeBounds_NbOfIso)
    Shape = _swig_new_instance_method(_HLRBRep.HLRBRep_ShapeBounds_Shape)
    ShapeData = _swig_new_instance_method(_HLRBRep.HLRBRep_ShapeBounds_ShapeData)
    Sizes = _swig_new_instance_method(_HLRBRep.HLRBRep_ShapeBounds_Sizes)
    Translate = _swig_new_instance_method(_HLRBRep.HLRBRep_ShapeBounds_Translate)
    UpdateMinMax = _swig_new_instance_method(_HLRBRep.HLRBRep_ShapeBounds_UpdateMinMax)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_ShapeBounds

# Register HLRBRep_ShapeBounds in _HLRBRep:
_HLRBRep.HLRBRep_ShapeBounds_swigregister(HLRBRep_ShapeBounds)

class HLRBRep_ShapeToHLR(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Load = _swig_new_static_method(_HLRBRep.HLRBRep_ShapeToHLR_Load)

    __repr__ = _dumps_object


    def __init__(self):
        _HLRBRep.HLRBRep_ShapeToHLR_swiginit(self, _HLRBRep.new_HLRBRep_ShapeToHLR())
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_ShapeToHLR

# Register HLRBRep_ShapeToHLR in _HLRBRep:
_HLRBRep.HLRBRep_ShapeToHLR_swigregister(HLRBRep_ShapeToHLR)
HLRBRep_ShapeToHLR_Load = _HLRBRep.HLRBRep_ShapeToHLR_Load

class HLRBRep_SurfaceTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AxeOfRevolution = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_AxeOfRevolution)
    BSpline = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_BSpline)
    BasisCurve = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_BasisCurve)
    BasisSurface = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_BasisSurface)
    Bezier = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_Bezier)
    Cone = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_Cone)
    Cylinder = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_Cylinder)
    D0 = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_D0)
    D1 = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_D1)
    D2 = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_D2)
    D3 = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_D3)
    DN = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_DN)
    Direction = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_Direction)
    FirstUParameter = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_FirstUParameter)
    FirstVParameter = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_FirstVParameter)
    GetType = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_GetType)
    IsUClosed = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_IsUClosed)
    IsUPeriodic = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_IsUPeriodic)
    IsVClosed = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_IsVClosed)
    IsVPeriodic = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_IsVPeriodic)
    LastUParameter = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_LastUParameter)
    LastVParameter = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_LastVParameter)
    NbSamplesU = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_NbSamplesU)
    NbSamplesV = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_NbSamplesV)
    NbUIntervals = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_NbUIntervals)
    NbVIntervals = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_NbVIntervals)
    OffsetValue = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_OffsetValue)
    Plane = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_Plane)
    Sphere = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_Sphere)
    Torus = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_Torus)
    UIntervals = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_UIntervals)
    UPeriod = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_UPeriod)
    UResolution = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_UResolution)
    UTrim = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_UTrim)
    VIntervals = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_VIntervals)
    VPeriod = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_VPeriod)
    VResolution = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_VResolution)
    VTrim = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_VTrim)
    Value = _swig_new_static_method(_HLRBRep.HLRBRep_SurfaceTool_Value)

    __repr__ = _dumps_object


    def __init__(self):
        _HLRBRep.HLRBRep_SurfaceTool_swiginit(self, _HLRBRep.new_HLRBRep_SurfaceTool())
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_SurfaceTool

# Register HLRBRep_SurfaceTool in _HLRBRep:
_HLRBRep.HLRBRep_SurfaceTool_swigregister(HLRBRep_SurfaceTool)
HLRBRep_SurfaceTool_AxeOfRevolution = _HLRBRep.HLRBRep_SurfaceTool_AxeOfRevolution
HLRBRep_SurfaceTool_BSpline = _HLRBRep.HLRBRep_SurfaceTool_BSpline
HLRBRep_SurfaceTool_BasisCurve = _HLRBRep.HLRBRep_SurfaceTool_BasisCurve
HLRBRep_SurfaceTool_BasisSurface = _HLRBRep.HLRBRep_SurfaceTool_BasisSurface
HLRBRep_SurfaceTool_Bezier = _HLRBRep.HLRBRep_SurfaceTool_Bezier
HLRBRep_SurfaceTool_Cone = _HLRBRep.HLRBRep_SurfaceTool_Cone
HLRBRep_SurfaceTool_Cylinder = _HLRBRep.HLRBRep_SurfaceTool_Cylinder
HLRBRep_SurfaceTool_D0 = _HLRBRep.HLRBRep_SurfaceTool_D0
HLRBRep_SurfaceTool_D1 = _HLRBRep.HLRBRep_SurfaceTool_D1
HLRBRep_SurfaceTool_D2 = _HLRBRep.HLRBRep_SurfaceTool_D2
HLRBRep_SurfaceTool_D3 = _HLRBRep.HLRBRep_SurfaceTool_D3
HLRBRep_SurfaceTool_DN = _HLRBRep.HLRBRep_SurfaceTool_DN
HLRBRep_SurfaceTool_Direction = _HLRBRep.HLRBRep_SurfaceTool_Direction
HLRBRep_SurfaceTool_FirstUParameter = _HLRBRep.HLRBRep_SurfaceTool_FirstUParameter
HLRBRep_SurfaceTool_FirstVParameter = _HLRBRep.HLRBRep_SurfaceTool_FirstVParameter
HLRBRep_SurfaceTool_GetType = _HLRBRep.HLRBRep_SurfaceTool_GetType
HLRBRep_SurfaceTool_IsUClosed = _HLRBRep.HLRBRep_SurfaceTool_IsUClosed
HLRBRep_SurfaceTool_IsUPeriodic = _HLRBRep.HLRBRep_SurfaceTool_IsUPeriodic
HLRBRep_SurfaceTool_IsVClosed = _HLRBRep.HLRBRep_SurfaceTool_IsVClosed
HLRBRep_SurfaceTool_IsVPeriodic = _HLRBRep.HLRBRep_SurfaceTool_IsVPeriodic
HLRBRep_SurfaceTool_LastUParameter = _HLRBRep.HLRBRep_SurfaceTool_LastUParameter
HLRBRep_SurfaceTool_LastVParameter = _HLRBRep.HLRBRep_SurfaceTool_LastVParameter
HLRBRep_SurfaceTool_NbSamplesU = _HLRBRep.HLRBRep_SurfaceTool_NbSamplesU
HLRBRep_SurfaceTool_NbSamplesV = _HLRBRep.HLRBRep_SurfaceTool_NbSamplesV
HLRBRep_SurfaceTool_NbUIntervals = _HLRBRep.HLRBRep_SurfaceTool_NbUIntervals
HLRBRep_SurfaceTool_NbVIntervals = _HLRBRep.HLRBRep_SurfaceTool_NbVIntervals
HLRBRep_SurfaceTool_OffsetValue = _HLRBRep.HLRBRep_SurfaceTool_OffsetValue
HLRBRep_SurfaceTool_Plane = _HLRBRep.HLRBRep_SurfaceTool_Plane
HLRBRep_SurfaceTool_Sphere = _HLRBRep.HLRBRep_SurfaceTool_Sphere
HLRBRep_SurfaceTool_Torus = _HLRBRep.HLRBRep_SurfaceTool_Torus
HLRBRep_SurfaceTool_UIntervals = _HLRBRep.HLRBRep_SurfaceTool_UIntervals
HLRBRep_SurfaceTool_UPeriod = _HLRBRep.HLRBRep_SurfaceTool_UPeriod
HLRBRep_SurfaceTool_UResolution = _HLRBRep.HLRBRep_SurfaceTool_UResolution
HLRBRep_SurfaceTool_UTrim = _HLRBRep.HLRBRep_SurfaceTool_UTrim
HLRBRep_SurfaceTool_VIntervals = _HLRBRep.HLRBRep_SurfaceTool_VIntervals
HLRBRep_SurfaceTool_VPeriod = _HLRBRep.HLRBRep_SurfaceTool_VPeriod
HLRBRep_SurfaceTool_VResolution = _HLRBRep.HLRBRep_SurfaceTool_VResolution
HLRBRep_SurfaceTool_VTrim = _HLRBRep.HLRBRep_SurfaceTool_VTrim
HLRBRep_SurfaceTool_Value = _HLRBRep.HLRBRep_SurfaceTool_Value

class HLRBRep_TheCSFunctionOfInterCSurf(OCC.Core.math.math_FunctionSetWithDerivatives):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AuxillarCurve = _swig_new_instance_method(_HLRBRep.HLRBRep_TheCSFunctionOfInterCSurf_AuxillarCurve)
    AuxillarSurface = _swig_new_instance_method(_HLRBRep.HLRBRep_TheCSFunctionOfInterCSurf_AuxillarSurface)

    def __init__(self, *args):
        r"""
        :param S:
        	:type S: Standard_Address
        	:param C:
        	:type C: gp_Lin
        	:rtype: None
        """
        _HLRBRep.HLRBRep_TheCSFunctionOfInterCSurf_swiginit(self, _HLRBRep.new_HLRBRep_TheCSFunctionOfInterCSurf(*args))
    Point = _swig_new_instance_method(_HLRBRep.HLRBRep_TheCSFunctionOfInterCSurf_Point)
    Root = _swig_new_instance_method(_HLRBRep.HLRBRep_TheCSFunctionOfInterCSurf_Root)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_TheCSFunctionOfInterCSurf

# Register HLRBRep_TheCSFunctionOfInterCSurf in _HLRBRep:
_HLRBRep.HLRBRep_TheCSFunctionOfInterCSurf_swigregister(HLRBRep_TheCSFunctionOfInterCSurf)

class HLRBRep_TheDistBetweenPCurvesOfTheIntPCurvePCurveOfCInter(OCC.Core.math.math_FunctionSetWithDerivatives):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        :param curve1:
        	:type curve1: Standard_Address
        	:param curve2:
        	:type curve2: Standard_Address
        	:rtype: None
        """
        _HLRBRep.HLRBRep_TheDistBetweenPCurvesOfTheIntPCurvePCurveOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_TheDistBetweenPCurvesOfTheIntPCurvePCurveOfCInter(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_TheDistBetweenPCurvesOfTheIntPCurvePCurveOfCInter

# Register HLRBRep_TheDistBetweenPCurvesOfTheIntPCurvePCurveOfCInter in _HLRBRep:
_HLRBRep.HLRBRep_TheDistBetweenPCurvesOfTheIntPCurvePCurveOfCInter_swigregister(HLRBRep_TheDistBetweenPCurvesOfTheIntPCurvePCurveOfCInter)

class HLRBRep_TheExactInterCSurf(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Function = _swig_new_instance_method(_HLRBRep.HLRBRep_TheExactInterCSurf_Function)

    def __init__(self, *args):
        r"""
        * compute the solution point with the close point MarginCoef is the coefficient for extension of UV bounds. Ex., UFirst -= MarginCoef*(ULast-UFirst)
        	:param U:
        	:type U: float
        	:param V:
        	:type V: float
        	:param W:
        	:type W: float
        	:param F:
        	:type F: HLRBRep_TheCSFunctionOfInterCSurf
        	:param TolTangency:
        	:type TolTangency: float
        	:param MarginCoef: default value is 0.0
        	:type MarginCoef: float
        	:rtype: None* initialize the parameters to compute the solution
        	:param F:
        	:type F: HLRBRep_TheCSFunctionOfInterCSurf
        	:param TolTangency:
        	:type TolTangency: float
        	:rtype: None
        """
        _HLRBRep.HLRBRep_TheExactInterCSurf_swiginit(self, _HLRBRep.new_HLRBRep_TheExactInterCSurf(*args))
    IsDone = _swig_new_instance_method(_HLRBRep.HLRBRep_TheExactInterCSurf_IsDone)
    IsEmpty = _swig_new_instance_method(_HLRBRep.HLRBRep_TheExactInterCSurf_IsEmpty)
    ParameterOnCurve = _swig_new_instance_method(_HLRBRep.HLRBRep_TheExactInterCSurf_ParameterOnCurve)
    ParameterOnSurface = _swig_new_instance_method(_HLRBRep.HLRBRep_TheExactInterCSurf_ParameterOnSurface)
    Perform = _swig_new_instance_method(_HLRBRep.HLRBRep_TheExactInterCSurf_Perform)
    Point = _swig_new_instance_method(_HLRBRep.HLRBRep_TheExactInterCSurf_Point)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_TheExactInterCSurf

# Register HLRBRep_TheExactInterCSurf in _HLRBRep:
_HLRBRep.HLRBRep_TheExactInterCSurf_swigregister(HLRBRep_TheExactInterCSurf)

class HLRBRep_TheIntConicCurveOfCInter(OCC.Core.IntRes2d.IntRes2d_Intersection):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None* Intersection between a line and a parametric curve.
        	:param L:
        	:type L: gp_Lin2d
        	:param D1:
        	:type D1: IntRes2d_Domain
        	:param PCurve:
        	:type PCurve: Standard_Address
        	:param D2:
        	:type D2: IntRes2d_Domain
        	:param TolConf:
        	:type TolConf: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None* Intersection between a line and a parametric curve.
        	:param C:
        	:type C: gp_Circ2d
        	:param D1:
        	:type D1: IntRes2d_Domain
        	:param PCurve:
        	:type PCurve: Standard_Address
        	:param D2:
        	:type D2: IntRes2d_Domain
        	:param TolConf:
        	:type TolConf: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None* Intersection between an ellipse and a parametric curve.
        	:param E:
        	:type E: gp_Elips2d
        	:param D1:
        	:type D1: IntRes2d_Domain
        	:param PCurve:
        	:type PCurve: Standard_Address
        	:param D2:
        	:type D2: IntRes2d_Domain
        	:param TolConf:
        	:type TolConf: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None* Intersection between a parabola and a parametric curve.
        	:param Prb:
        	:type Prb: gp_Parab2d
        	:param D1:
        	:type D1: IntRes2d_Domain
        	:param PCurve:
        	:type PCurve: Standard_Address
        	:param D2:
        	:type D2: IntRes2d_Domain
        	:param TolConf:
        	:type TolConf: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None* Intersection between the main branch of an hyperbola and a parametric curve.
        	:param H:
        	:type H: gp_Hypr2d
        	:param D1:
        	:type D1: IntRes2d_Domain
        	:param PCurve:
        	:type PCurve: Standard_Address
        	:param D2:
        	:type D2: IntRes2d_Domain
        	:param TolConf:
        	:type TolConf: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None
        """
        _HLRBRep.HLRBRep_TheIntConicCurveOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_TheIntConicCurveOfCInter(*args))
    Perform = _swig_new_instance_method(_HLRBRep.HLRBRep_TheIntConicCurveOfCInter_Perform)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_TheIntConicCurveOfCInter

# Register HLRBRep_TheIntConicCurveOfCInter in _HLRBRep:
_HLRBRep.HLRBRep_TheIntConicCurveOfCInter_swigregister(HLRBRep_TheIntConicCurveOfCInter)

class HLRBRep_TheIntPCurvePCurveOfCInter(OCC.Core.IntRes2d.IntRes2d_Intersection):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    GetMinNbSamples = _swig_new_instance_method(_HLRBRep.HLRBRep_TheIntPCurvePCurveOfCInter_GetMinNbSamples)

    def __init__(self, *args):
        r""":rtype: None"""
        _HLRBRep.HLRBRep_TheIntPCurvePCurveOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_TheIntPCurvePCurveOfCInter(*args))
    Perform = _swig_new_instance_method(_HLRBRep.HLRBRep_TheIntPCurvePCurveOfCInter_Perform)
    SetMinNbSamples = _swig_new_instance_method(_HLRBRep.HLRBRep_TheIntPCurvePCurveOfCInter_SetMinNbSamples)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_TheIntPCurvePCurveOfCInter

# Register HLRBRep_TheIntPCurvePCurveOfCInter in _HLRBRep:
_HLRBRep.HLRBRep_TheIntPCurvePCurveOfCInter_swigregister(HLRBRep_TheIntPCurvePCurveOfCInter)

class HLRBRep_TheInterferenceOfInterCSurf(OCC.Core.Intf.Intf_Interference):
    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"""
        * Constructs an empty interference between Polygon and Polyhedron.
        	:rtype: None* Constructs and computes an interference between the Polygon and the Polyhedron.
        	:param thePolyg:
        	:type thePolyg: HLRBRep_ThePolygonOfInterCSurf
        	:param thePolyh:
        	:type thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
        	:rtype: None* Constructs and computes an interference between the Straight Line and the Polyhedron.
        	:param theLin:
        	:type theLin: gp_Lin
        	:param thePolyh:
        	:type thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
        	:rtype: None* Constructs and computes an interference between the Straight Lines and the Polyhedron.
        	:param theLins:
        	:type theLins: Intf_Array1OfLin
        	:param thePolyh:
        	:type thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
        	:rtype: None* Constructs and computes an interference between the Polygon and the Polyhedron.
        	:param thePolyg:
        	:type thePolyg: HLRBRep_ThePolygonOfInterCSurf
        	:param thePolyh:
        	:type thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
        	:param theBoundSB:
        	:type theBoundSB: Bnd_BoundSortBox
        	:rtype: None* Constructs and computes an interference between the Straight Line and the Polyhedron.
        	:param theLin:
        	:type theLin: gp_Lin
        	:param thePolyh:
        	:type thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
        	:param theBoundSB:
        	:type theBoundSB: Bnd_BoundSortBox
        	:rtype: None* Constructs and computes an interference between the Straight Lines and the Polyhedron.
        	:param theLins:
        	:type theLins: Intf_Array1OfLin
        	:param thePolyh:
        	:type thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
        	:param theBoundSB:
        	:type theBoundSB: Bnd_BoundSortBox
        	:rtype: None
        """
        _HLRBRep.HLRBRep_TheInterferenceOfInterCSurf_swiginit(self, _HLRBRep.new_HLRBRep_TheInterferenceOfInterCSurf(*args))
    Interference = _swig_new_instance_method(_HLRBRep.HLRBRep_TheInterferenceOfInterCSurf_Interference)
    Perform = _swig_new_instance_method(_HLRBRep.HLRBRep_TheInterferenceOfInterCSurf_Perform)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_TheInterferenceOfInterCSurf

# Register HLRBRep_TheInterferenceOfInterCSurf in _HLRBRep:
_HLRBRep.HLRBRep_TheInterferenceOfInterCSurf_swigregister(HLRBRep_TheInterferenceOfInterCSurf)

class HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter(OCC.Core.IntRes2d.IntRes2d_Intersection):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    And_Domaine_Objet1_Intersections = _swig_new_instance_method(_HLRBRep.HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter_And_Domaine_Objet1_Intersections)
    FindU = _swig_new_instance_method(_HLRBRep.HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter_FindU)
    FindV = _swig_new_instance_method(_HLRBRep.HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter_FindV)

    def __init__(self, *args):
        r"""
        * Empty constructor.
        	:rtype: None* Intersection between an implicit curve and a parametrised curve. The exception ConstructionError is raised if the domain of the parametrised curve does not verify HasFirstPoint and HasLastPoint return True.
        	:param ITool:
        	:type ITool: IntCurve_IConicTool
        	:param Dom1:
        	:type Dom1: IntRes2d_Domain
        	:param PCurve:
        	:type PCurve: Standard_Address
        	:param Dom2:
        	:type Dom2: IntRes2d_Domain
        	:param TolConf:
        	:type TolConf: float
        	:param Tol:
        	:type Tol: float
        	:rtype: None
        """
        _HLRBRep.HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter(*args))
    Perform = _swig_new_instance_method(_HLRBRep.HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter_Perform)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter

# Register HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter in _HLRBRep:
_HLRBRep.HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter_swigregister(HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter)

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

    def __init__(self, *args):
        r"""
        :rtype: None* Calculates the distance with a close point. The close point is defined by the parameter value U0. The function F(u)=distance(P,C(u)) has an extremum when g(u)=dF/du=0. The algorithm searchs a zero near the close point. TolU is used to decide to stop the iterations. At the nth iteration, the criteria is: abs(Un - Un-1) < TolU.
        	:param P:
        	:type P: gp_Pnt2d
        	:param C:
        	:type C: Standard_Address
        	:param U0:
        	:type U0: float
        	:param TolU:
        	:type TolU: float
        	:rtype: None* Calculates the distance with a close point. The close point is defined by the parameter value U0. The function F(u)=distance(P,C(u)) has an extremum when g(u)=dF/du=0. The algorithm searchs a zero near the close point. Zeros are searched between Umin et Usup. TolU is used to decide to stop the iterations. At the nth iteration, the criteria is: abs(Un - Un-1) < TolU.
        	:param P:
        	:type P: gp_Pnt2d
        	:param C:
        	:type C: Standard_Address
        	:param U0:
        	:type U0: float
        	:param Umin:
        	:type Umin: float
        	:param Usup:
        	:type Usup: float
        	:param TolU:
        	:type TolU: float
        	:rtype: None
        """
        _HLRBRep.HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter(*args))
    Initialize = _swig_new_instance_method(_HLRBRep.HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter_Initialize)
    IsDone = _swig_new_instance_method(_HLRBRep.HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter_IsDone)
    IsMin = _swig_new_instance_method(_HLRBRep.HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter_IsMin)
    Perform = _swig_new_instance_method(_HLRBRep.HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter_Perform)
    Point = _swig_new_instance_method(_HLRBRep.HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter_Point)
    SquareDistance = _swig_new_instance_method(_HLRBRep.HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter_SquareDistance)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter

# Register HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter in _HLRBRep:
_HLRBRep.HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter_swigregister(HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter)

class HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter(OCC.Core.Intf.Intf_Polygon2d):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    ApproxParamOnCurve = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_ApproxParamOnCurve)
    AutoIntersectionIsPossible = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_AutoIntersectionIsPossible)
    CalculRegion = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_CalculRegion)
    Closed = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_Closed)
    ComputeWithBox = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_ComputeWithBox)
    Dump = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_Dump)

    def __init__(self, *args):
        r"""
        * Compute a polygon on the domain of the curve.
        	:param Curve:
        	:type Curve: Standard_Address
        	:param NbPnt:
        	:type NbPnt: int
        	:param Domain:
        	:type Domain: IntRes2d_Domain
        	:param Tol:
        	:type Tol: float
        	:rtype: None
        """
        _HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter(*args))
    InfParameter = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_InfParameter)
    SetDeflectionOverEstimation = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_SetDeflectionOverEstimation)
    SupParameter = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_SupParameter)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter

# Register HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter in _HLRBRep:
_HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_swigregister(HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter)

class HLRBRep_ThePolygonOfInterCSurf(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    ApproxParamOnCurve = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygonOfInterCSurf_ApproxParamOnCurve)
    BeginOfSeg = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygonOfInterCSurf_BeginOfSeg)
    Bounding = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygonOfInterCSurf_Bounding)
    Closed = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygonOfInterCSurf_Closed)
    DeflectionOverEstimation = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygonOfInterCSurf_DeflectionOverEstimation)
    Dump = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygonOfInterCSurf_Dump)
    EndOfSeg = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygonOfInterCSurf_EndOfSeg)

    def __init__(self, *args):
        r"""
        :param Curve:
        	:type Curve: gp_Lin
        	:param NbPnt:
        	:type NbPnt: int
        	:rtype: None:param Curve:
        	:type Curve: gp_Lin
        	:param U1:
        	:type U1: float
        	:param U2:
        	:type U2: float
        	:param NbPnt:
        	:type NbPnt: int
        	:rtype: None:param Curve:
        	:type Curve: gp_Lin
        	:param Upars:
        	:type Upars: TColStd_Array1OfReal
        	:rtype: None
        """
        _HLRBRep.HLRBRep_ThePolygonOfInterCSurf_swiginit(self, _HLRBRep.new_HLRBRep_ThePolygonOfInterCSurf(*args))
    InfParameter = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygonOfInterCSurf_InfParameter)
    NbSegments = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygonOfInterCSurf_NbSegments)
    SetDeflectionOverEstimation = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygonOfInterCSurf_SetDeflectionOverEstimation)
    SupParameter = _swig_new_instance_method(_HLRBRep.HLRBRep_ThePolygonOfInterCSurf_SupParameter)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_ThePolygonOfInterCSurf

# Register HLRBRep_ThePolygonOfInterCSurf in _HLRBRep:
_HLRBRep.HLRBRep_ThePolygonOfInterCSurf_swigregister(HLRBRep_ThePolygonOfInterCSurf)

class HLRBRep_ThePolygonToolOfInterCSurf(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    BeginOfSeg = _swig_new_static_method(_HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_BeginOfSeg)
    Bounding = _swig_new_static_method(_HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_Bounding)
    Closed = _swig_new_static_method(_HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_Closed)
    DeflectionOverEstimation = _swig_new_static_method(_HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_DeflectionOverEstimation)
    Dump = _swig_new_static_method(_HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_Dump)
    EndOfSeg = _swig_new_static_method(_HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_EndOfSeg)
    NbSegments = _swig_new_static_method(_HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_NbSegments)

    __repr__ = _dumps_object


    def __init__(self):
        _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_swiginit(self, _HLRBRep.new_HLRBRep_ThePolygonToolOfInterCSurf())
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_ThePolygonToolOfInterCSurf

# Register HLRBRep_ThePolygonToolOfInterCSurf in _HLRBRep:
_HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_swigregister(HLRBRep_ThePolygonToolOfInterCSurf)
HLRBRep_ThePolygonToolOfInterCSurf_BeginOfSeg = _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_BeginOfSeg
HLRBRep_ThePolygonToolOfInterCSurf_Bounding = _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_Bounding
HLRBRep_ThePolygonToolOfInterCSurf_Closed = _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_Closed
HLRBRep_ThePolygonToolOfInterCSurf_DeflectionOverEstimation = _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_DeflectionOverEstimation
HLRBRep_ThePolygonToolOfInterCSurf_Dump = _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_Dump
HLRBRep_ThePolygonToolOfInterCSurf_EndOfSeg = _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_EndOfSeg
HLRBRep_ThePolygonToolOfInterCSurf_NbSegments = _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_NbSegments

class HLRBRep_ThePolyhedronToolOfInterCSurf(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Bounding = _swig_new_static_method(_HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_Bounding)
    ComponentsBounding = _swig_new_static_method(_HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_ComponentsBounding)
    DeflectionOverEstimation = _swig_new_static_method(_HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_DeflectionOverEstimation)
    Dump = _swig_new_static_method(_HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_Dump)
    GetBorderDeflection = _swig_new_static_method(_HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_GetBorderDeflection)
    IsOnBound = _swig_new_static_method(_HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_IsOnBound)
    NbTriangles = _swig_new_static_method(_HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_NbTriangles)
    Point = _swig_new_static_method(_HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_Point)
    TriConnex = _swig_new_static_method(_HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_TriConnex)
    Triangle = _swig_new_static_method(_HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_Triangle)

    __repr__ = _dumps_object


    def __init__(self):
        _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_swiginit(self, _HLRBRep.new_HLRBRep_ThePolyhedronToolOfInterCSurf())
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_ThePolyhedronToolOfInterCSurf

# Register HLRBRep_ThePolyhedronToolOfInterCSurf in _HLRBRep:
_HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_swigregister(HLRBRep_ThePolyhedronToolOfInterCSurf)
HLRBRep_ThePolyhedronToolOfInterCSurf_Bounding = _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_Bounding
HLRBRep_ThePolyhedronToolOfInterCSurf_ComponentsBounding = _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_ComponentsBounding
HLRBRep_ThePolyhedronToolOfInterCSurf_DeflectionOverEstimation = _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_DeflectionOverEstimation
HLRBRep_ThePolyhedronToolOfInterCSurf_Dump = _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_Dump
HLRBRep_ThePolyhedronToolOfInterCSurf_GetBorderDeflection = _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_GetBorderDeflection
HLRBRep_ThePolyhedronToolOfInterCSurf_IsOnBound = _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_IsOnBound
HLRBRep_ThePolyhedronToolOfInterCSurf_NbTriangles = _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_NbTriangles
HLRBRep_ThePolyhedronToolOfInterCSurf_Point = _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_Point
HLRBRep_ThePolyhedronToolOfInterCSurf_TriConnex = _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_TriConnex
HLRBRep_ThePolyhedronToolOfInterCSurf_Triangle = _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_Triangle

class HLRBRep_TheProjPCurOfCInter(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    FindParameter = _swig_new_static_method(_HLRBRep.HLRBRep_TheProjPCurOfCInter_FindParameter)

    __repr__ = _dumps_object


    def __init__(self):
        _HLRBRep.HLRBRep_TheProjPCurOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_TheProjPCurOfCInter())
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_TheProjPCurOfCInter

# Register HLRBRep_TheProjPCurOfCInter in _HLRBRep:
_HLRBRep.HLRBRep_TheProjPCurOfCInter_swigregister(HLRBRep_TheProjPCurOfCInter)
HLRBRep_TheProjPCurOfCInter_FindParameter = _HLRBRep.HLRBRep_TheProjPCurOfCInter_FindParameter

class HLRBRep_TheQuadCurvExactInterCSurf(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"""
        * Provides the signed distance function : Q(w) and its first derivative dQ(w)/dw
        	:param S:
        	:type S: Standard_Address
        	:param C:
        	:type C: gp_Lin
        	:rtype: None
        """
        _HLRBRep.HLRBRep_TheQuadCurvExactInterCSurf_swiginit(self, _HLRBRep.new_HLRBRep_TheQuadCurvExactInterCSurf(*args))
    Intervals = _swig_new_instance_method(_HLRBRep.HLRBRep_TheQuadCurvExactInterCSurf_Intervals)
    IsDone = _swig_new_instance_method(_HLRBRep.HLRBRep_TheQuadCurvExactInterCSurf_IsDone)
    NbIntervals = _swig_new_instance_method(_HLRBRep.HLRBRep_TheQuadCurvExactInterCSurf_NbIntervals)
    NbRoots = _swig_new_instance_method(_HLRBRep.HLRBRep_TheQuadCurvExactInterCSurf_NbRoots)
    Root = _swig_new_instance_method(_HLRBRep.HLRBRep_TheQuadCurvExactInterCSurf_Root)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_TheQuadCurvExactInterCSurf

# Register HLRBRep_TheQuadCurvExactInterCSurf in _HLRBRep:
_HLRBRep.HLRBRep_TheQuadCurvExactInterCSurf_swigregister(HLRBRep_TheQuadCurvExactInterCSurf)

class HLRBRep_TheQuadCurvFuncOfTheQuadCurvExactInterCSurf(OCC.Core.math.math_FunctionWithDerivative):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        * Create the function.
        	:param Q:
        	:type Q: IntSurf_Quadric
        	:param C:
        	:type C: gp_Lin
        	:rtype: None
        """
        _HLRBRep.HLRBRep_TheQuadCurvFuncOfTheQuadCurvExactInterCSurf_swiginit(self, _HLRBRep.new_HLRBRep_TheQuadCurvFuncOfTheQuadCurvExactInterCSurf(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_TheQuadCurvFuncOfTheQuadCurvExactInterCSurf

# Register HLRBRep_TheQuadCurvFuncOfTheQuadCurvExactInterCSurf in _HLRBRep:
_HLRBRep.HLRBRep_TheQuadCurvFuncOfTheQuadCurvExactInterCSurf_swigregister(HLRBRep_TheQuadCurvFuncOfTheQuadCurvExactInterCSurf)

class HLRBRep_VertexList(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    BoundaryTransition = _swig_new_instance_method(_HLRBRep.HLRBRep_VertexList_BoundaryTransition)
    Current = _swig_new_instance_method(_HLRBRep.HLRBRep_VertexList_Current)

    def __init__(self, *args):
        r"""
        :param T:
        	:type T: HLRBRep_EdgeInterferenceTool
        	:param I:
        	:type I: HLRAlgo_ListIteratorOfInterferenceList
        	:rtype: None
        """
        _HLRBRep.HLRBRep_VertexList_swiginit(self, _HLRBRep.new_HLRBRep_VertexList(*args))
    IsBoundary = _swig_new_instance_method(_HLRBRep.HLRBRep_VertexList_IsBoundary)
    IsInterference = _swig_new_instance_method(_HLRBRep.HLRBRep_VertexList_IsInterference)
    IsPeriodic = _swig_new_instance_method(_HLRBRep.HLRBRep_VertexList_IsPeriodic)
    More = _swig_new_instance_method(_HLRBRep.HLRBRep_VertexList_More)
    Next = _swig_new_instance_method(_HLRBRep.HLRBRep_VertexList_Next)
    Orientation = _swig_new_instance_method(_HLRBRep.HLRBRep_VertexList_Orientation)
    Transition = _swig_new_instance_method(_HLRBRep.HLRBRep_VertexList_Transition)

    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_VertexList

# Register HLRBRep_VertexList in _HLRBRep:
_HLRBRep.HLRBRep_VertexList_swigregister(HLRBRep_VertexList)

class HLRBRep_Algo(HLRBRep_InternalAlgo):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Add = _swig_new_instance_method(_HLRBRep.HLRBRep_Algo_Add)

    def __init__(self, *args):
        r"""
        * Constructs an empty framework for the calculation of visible and hidden lines of a shape in a projection. Use the function: - Projector to define the point of view - Add to select the shape or shapes to be visualized - Update to compute the outlines of the shape, and - Hide to compute the visible and hidden lines of the shape.
        	:rtype: None:param A:
        	:type A: HLRBRep_Algo
        	:rtype: None
        """
        _HLRBRep.HLRBRep_Algo_swiginit(self, _HLRBRep.new_HLRBRep_Algo(*args))
    Index = _swig_new_instance_method(_HLRBRep.HLRBRep_Algo_Index)
    OutLinedShapeNullify = _swig_new_instance_method(_HLRBRep.HLRBRep_Algo_OutLinedShapeNullify)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _HLRBRep.delete_HLRBRep_Algo

# Register HLRBRep_Algo in _HLRBRep:
_HLRBRep.HLRBRep_Algo_swigregister(HLRBRep_Algo)



