# This file was automatically generated by SWIG (http://www.swig.org).
# Version 4.0.2
#
# 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__

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

    def value(self) -> "PyObject *":
        return _HLRBRep.SwigPyIterator_value(self)

    def incr(self, n: "size_t"=1) -> "swig::SwigPyIterator *":
        return _HLRBRep.SwigPyIterator_incr(self, n)

    def decr(self, n: "size_t"=1) -> "swig::SwigPyIterator *":
        return _HLRBRep.SwigPyIterator_decr(self, n)

    def distance(self, x: "SwigPyIterator") -> "ptrdiff_t":
        return _HLRBRep.SwigPyIterator_distance(self, x)

    def equal(self, x: "SwigPyIterator") -> "bool":
        return _HLRBRep.SwigPyIterator_equal(self, x)

    def copy(self) -> "swig::SwigPyIterator *":
        return _HLRBRep.SwigPyIterator_copy(self)

    def next(self) -> "PyObject *":
        return _HLRBRep.SwigPyIterator_next(self)

    def __next__(self) -> "PyObject *":
        return _HLRBRep.SwigPyIterator___next__(self)

    def previous(self) -> "PyObject *":
        return _HLRBRep.SwigPyIterator_previous(self)

    def advance(self, n: "ptrdiff_t") -> "swig::SwigPyIterator *":
        return _HLRBRep.SwigPyIterator_advance(self, n)

    def __eq__(self, x: "SwigPyIterator") -> "bool":
        return _HLRBRep.SwigPyIterator___eq__(self, x)

    def __ne__(self, x: "SwigPyIterator") -> "bool":
        return _HLRBRep.SwigPyIterator___ne__(self, x)

    def __iadd__(self, n: "ptrdiff_t") -> "swig::SwigPyIterator &":
        return _HLRBRep.SwigPyIterator___iadd__(self, n)

    def __isub__(self, n: "ptrdiff_t") -> "swig::SwigPyIterator &":
        return _HLRBRep.SwigPyIterator___isub__(self, n)

    def __add__(self, n: "ptrdiff_t") -> "swig::SwigPyIterator *":
        return _HLRBRep.SwigPyIterator___add__(self, n)

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


def process_exception(error: "Standard_Failure", method_name: "std::string", class_name: "std::string") -> "void":
    return _HLRBRep.process_exception(error, method_name, class_name)

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

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.TopoDS
import OCC.Core.Message
import OCC.Core.TCollection
import OCC.Core.OSD
import OCC.Core.TColStd
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.gp
import OCC.Core.HLRAlgo
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

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

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


class HLRBRep_TypeOfResultingEdge(IntEnum):
	HLRBRep_Undefined = 0
	HLRBRep_IsoLine = 1
	HLRBRep_OutLine = 2
	HLRBRep_Rg1Line = 3
	HLRBRep_RgNLine = 4
	HLRBRep_Sharp = 5
HLRBRep_Undefined = HLRBRep_TypeOfResultingEdge.HLRBRep_Undefined
HLRBRep_IsoLine = HLRBRep_TypeOfResultingEdge.HLRBRep_IsoLine
HLRBRep_OutLine = HLRBRep_TypeOfResultingEdge.HLRBRep_OutLine
HLRBRep_Rg1Line = HLRBRep_TypeOfResultingEdge.HLRBRep_Rg1Line
HLRBRep_RgNLine = HLRBRep_TypeOfResultingEdge.HLRBRep_RgNLine
HLRBRep_Sharp = HLRBRep_TypeOfResultingEdge.HLRBRep_Sharp


def Handle_HLRBRep_AreaLimit_Create() -> "opencascade::handle< HLRBRep_AreaLimit >":
    return _HLRBRep.Handle_HLRBRep_AreaLimit_Create()

def Handle_HLRBRep_AreaLimit_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< HLRBRep_AreaLimit >":
    return _HLRBRep.Handle_HLRBRep_AreaLimit_DownCast(t)

def Handle_HLRBRep_AreaLimit_IsNull(t: "opencascade::handle< HLRBRep_AreaLimit > const &") -> "bool":
    return _HLRBRep.Handle_HLRBRep_AreaLimit_IsNull(t)

def Handle_HLRBRep_Data_Create() -> "opencascade::handle< HLRBRep_Data >":
    return _HLRBRep.Handle_HLRBRep_Data_Create()

def Handle_HLRBRep_Data_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< HLRBRep_Data >":
    return _HLRBRep.Handle_HLRBRep_Data_DownCast(t)

def Handle_HLRBRep_Data_IsNull(t: "opencascade::handle< HLRBRep_Data > const &") -> "bool":
    return _HLRBRep.Handle_HLRBRep_Data_IsNull(t)

def Handle_HLRBRep_InternalAlgo_Create() -> "opencascade::handle< HLRBRep_InternalAlgo >":
    return _HLRBRep.Handle_HLRBRep_InternalAlgo_Create()

def Handle_HLRBRep_InternalAlgo_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< HLRBRep_InternalAlgo >":
    return _HLRBRep.Handle_HLRBRep_InternalAlgo_DownCast(t)

def Handle_HLRBRep_InternalAlgo_IsNull(t: "opencascade::handle< HLRBRep_InternalAlgo > const &") -> "bool":
    return _HLRBRep.Handle_HLRBRep_InternalAlgo_IsNull(t)

def Handle_HLRBRep_PolyAlgo_Create() -> "opencascade::handle< HLRBRep_PolyAlgo >":
    return _HLRBRep.Handle_HLRBRep_PolyAlgo_Create()

def Handle_HLRBRep_PolyAlgo_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< HLRBRep_PolyAlgo >":
    return _HLRBRep.Handle_HLRBRep_PolyAlgo_DownCast(t)

def Handle_HLRBRep_PolyAlgo_IsNull(t: "opencascade::handle< HLRBRep_PolyAlgo > const &") -> "bool":
    return _HLRBRep.Handle_HLRBRep_PolyAlgo_IsNull(t)

def Handle_HLRBRep_Algo_Create() -> "opencascade::handle< HLRBRep_Algo >":
    return _HLRBRep.Handle_HLRBRep_Algo_Create()

def Handle_HLRBRep_Algo_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< HLRBRep_Algo >":
    return _HLRBRep.Handle_HLRBRep_Algo_DownCast(t)

def Handle_HLRBRep_Algo_IsNull(t: "opencascade::handle< HLRBRep_Algo > const &") -> "bool":
    return _HLRBRep.Handle_HLRBRep_Algo_IsNull(t)
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

    def begin(self) -> "NCollection_Array1< HLRBRep_EdgeData >::iterator":
        return _HLRBRep.HLRBRep_Array1OfEData_begin(self)

    def end(self) -> "NCollection_Array1< HLRBRep_EdgeData >::iterator":
        return _HLRBRep.HLRBRep_Array1OfEData_end(self)

    def cbegin(self) -> "NCollection_Array1< HLRBRep_EdgeData >::const_iterator":
        return _HLRBRep.HLRBRep_Array1OfEData_cbegin(self)

    def cend(self) -> "NCollection_Array1< HLRBRep_EdgeData >::const_iterator":
        return _HLRBRep.HLRBRep_Array1OfEData_cend(self)

    def __init__(self, *args):
        _HLRBRep.HLRBRep_Array1OfEData_swiginit(self, _HLRBRep.new_HLRBRep_Array1OfEData(*args))

    def Init(self, theValue: "HLRBRep_EdgeData") -> "void":
        return _HLRBRep.HLRBRep_Array1OfEData_Init(self, theValue)

    def Size(self) -> "Standard_Integer":
        return _HLRBRep.HLRBRep_Array1OfEData_Size(self)

    def Length(self) -> "Standard_Integer":
        return _HLRBRep.HLRBRep_Array1OfEData_Length(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _HLRBRep.HLRBRep_Array1OfEData_IsEmpty(self)

    def Lower(self) -> "Standard_Integer":
        return _HLRBRep.HLRBRep_Array1OfEData_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _HLRBRep.HLRBRep_Array1OfEData_Upper(self)

    def IsDeletable(self) -> "Standard_Boolean":
        return _HLRBRep.HLRBRep_Array1OfEData_IsDeletable(self)

    def IsAllocated(self) -> "Standard_Boolean":
        return _HLRBRep.HLRBRep_Array1OfEData_IsAllocated(self)

    def Assign(self, theOther: "HLRBRep_Array1OfEData") -> "NCollection_Array1< HLRBRep_EdgeData > &":
        return _HLRBRep.HLRBRep_Array1OfEData_Assign(self, theOther)

    def Move(self, theOther: "HLRBRep_Array1OfEData") -> "NCollection_Array1< HLRBRep_EdgeData > &":
        return _HLRBRep.HLRBRep_Array1OfEData_Move(self, theOther)

    def Set(self, *args) -> "NCollection_Array1< HLRBRep_EdgeData > &":
        return _HLRBRep.HLRBRep_Array1OfEData_Set(self, *args)

    def First(self) -> "HLRBRep_EdgeData const &":
        return _HLRBRep.HLRBRep_Array1OfEData_First(self)

    def ChangeFirst(self) -> "HLRBRep_EdgeData &":
        return _HLRBRep.HLRBRep_Array1OfEData_ChangeFirst(self)

    def Last(self) -> "HLRBRep_EdgeData const &":
        return _HLRBRep.HLRBRep_Array1OfEData_Last(self)

    def ChangeLast(self) -> "HLRBRep_EdgeData &":
        return _HLRBRep.HLRBRep_Array1OfEData_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "HLRBRep_EdgeData const &":
        return _HLRBRep.HLRBRep_Array1OfEData_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "HLRBRep_EdgeData &":
        return _HLRBRep.HLRBRep_Array1OfEData_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "HLRBRep_EdgeData &":
        return _HLRBRep.HLRBRep_Array1OfEData___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "HLRBRep_EdgeData") -> "void":
        return _HLRBRep.HLRBRep_Array1OfEData_SetValue(self, theIndex, theItem)

    def Resize(self, theLower: "Standard_Integer const", theUpper: "Standard_Integer const", theToCopyData: "Standard_Boolean const") -> "void":
        return _HLRBRep.HLRBRep_Array1OfEData_Resize(self, theLower, theUpper, theToCopyData)
    __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

    def begin(self) -> "NCollection_Array1< HLRBRep_FaceData >::iterator":
        return _HLRBRep.HLRBRep_Array1OfFData_begin(self)

    def end(self) -> "NCollection_Array1< HLRBRep_FaceData >::iterator":
        return _HLRBRep.HLRBRep_Array1OfFData_end(self)

    def cbegin(self) -> "NCollection_Array1< HLRBRep_FaceData >::const_iterator":
        return _HLRBRep.HLRBRep_Array1OfFData_cbegin(self)

    def cend(self) -> "NCollection_Array1< HLRBRep_FaceData >::const_iterator":
        return _HLRBRep.HLRBRep_Array1OfFData_cend(self)

    def __init__(self, *args):
        _HLRBRep.HLRBRep_Array1OfFData_swiginit(self, _HLRBRep.new_HLRBRep_Array1OfFData(*args))

    def Init(self, theValue: "HLRBRep_FaceData") -> "void":
        return _HLRBRep.HLRBRep_Array1OfFData_Init(self, theValue)

    def Size(self) -> "Standard_Integer":
        return _HLRBRep.HLRBRep_Array1OfFData_Size(self)

    def Length(self) -> "Standard_Integer":
        return _HLRBRep.HLRBRep_Array1OfFData_Length(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _HLRBRep.HLRBRep_Array1OfFData_IsEmpty(self)

    def Lower(self) -> "Standard_Integer":
        return _HLRBRep.HLRBRep_Array1OfFData_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _HLRBRep.HLRBRep_Array1OfFData_Upper(self)

    def IsDeletable(self) -> "Standard_Boolean":
        return _HLRBRep.HLRBRep_Array1OfFData_IsDeletable(self)

    def IsAllocated(self) -> "Standard_Boolean":
        return _HLRBRep.HLRBRep_Array1OfFData_IsAllocated(self)

    def Assign(self, theOther: "HLRBRep_Array1OfFData") -> "NCollection_Array1< HLRBRep_FaceData > &":
        return _HLRBRep.HLRBRep_Array1OfFData_Assign(self, theOther)

    def Move(self, theOther: "HLRBRep_Array1OfFData") -> "NCollection_Array1< HLRBRep_FaceData > &":
        return _HLRBRep.HLRBRep_Array1OfFData_Move(self, theOther)

    def Set(self, *args) -> "NCollection_Array1< HLRBRep_FaceData > &":
        return _HLRBRep.HLRBRep_Array1OfFData_Set(self, *args)

    def First(self) -> "HLRBRep_FaceData const &":
        return _HLRBRep.HLRBRep_Array1OfFData_First(self)

    def ChangeFirst(self) -> "HLRBRep_FaceData &":
        return _HLRBRep.HLRBRep_Array1OfFData_ChangeFirst(self)

    def Last(self) -> "HLRBRep_FaceData const &":
        return _HLRBRep.HLRBRep_Array1OfFData_Last(self)

    def ChangeLast(self) -> "HLRBRep_FaceData &":
        return _HLRBRep.HLRBRep_Array1OfFData_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "HLRBRep_FaceData const &":
        return _HLRBRep.HLRBRep_Array1OfFData_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "HLRBRep_FaceData &":
        return _HLRBRep.HLRBRep_Array1OfFData_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "HLRBRep_FaceData &":
        return _HLRBRep.HLRBRep_Array1OfFData___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "HLRBRep_FaceData") -> "void":
        return _HLRBRep.HLRBRep_Array1OfFData_SetValue(self, theIndex, theItem)

    def Resize(self, theLower: "Standard_Integer const", theUpper: "Standard_Integer const", theToCopyData: "Standard_Boolean const") -> "void":
        return _HLRBRep.HLRBRep_Array1OfFData_Resize(self, theLower, theUpper, theToCopyData)
    __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_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))

    def More(self) -> "Standard_Boolean":
        return _HLRBRep.HLRBRep_ListIteratorOfListOfBPnt2D_More(self)

    def Next(self) -> "void":
        return _HLRBRep.HLRBRep_ListIteratorOfListOfBPnt2D_Next(self)

    def Value(self) -> "HLRBRep_BiPnt2D const &":
        return _HLRBRep.HLRBRep_ListIteratorOfListOfBPnt2D_Value(self)

    def ChangeValue(self) -> "HLRBRep_BiPnt2D &":
        return _HLRBRep.HLRBRep_ListIteratorOfListOfBPnt2D_ChangeValue(self)
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_ListIteratorOfListOfBPnt2D

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

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

    def More(self) -> "Standard_Boolean":
        return _HLRBRep.HLRBRep_ListIteratorOfListOfBPoint_More(self)

    def Next(self) -> "void":
        return _HLRBRep.HLRBRep_ListIteratorOfListOfBPoint_Next(self)

    def Value(self) -> "HLRBRep_BiPoint const &":
        return _HLRBRep.HLRBRep_ListIteratorOfListOfBPoint_Value(self)

    def ChangeValue(self) -> "HLRBRep_BiPoint &":
        return _HLRBRep.HLRBRep_ListIteratorOfListOfBPoint_ChangeValue(self)
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_ListIteratorOfListOfBPoint

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

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

    def begin(self) -> "NCollection_List< HLRBRep_BiPnt2D >::iterator":
        return _HLRBRep.HLRBRep_ListOfBPnt2D_begin(self)

    def end(self) -> "NCollection_List< HLRBRep_BiPnt2D >::iterator":
        return _HLRBRep.HLRBRep_ListOfBPnt2D_end(self)

    def cbegin(self) -> "NCollection_List< HLRBRep_BiPnt2D >::const_iterator":
        return _HLRBRep.HLRBRep_ListOfBPnt2D_cbegin(self)

    def cend(self) -> "NCollection_List< HLRBRep_BiPnt2D >::const_iterator":
        return _HLRBRep.HLRBRep_ListOfBPnt2D_cend(self)

    def __init__(self, *args):
        _HLRBRep.HLRBRep_ListOfBPnt2D_swiginit(self, _HLRBRep.new_HLRBRep_ListOfBPnt2D(*args))

    def Size(self) -> "Standard_Integer":
        return _HLRBRep.HLRBRep_ListOfBPnt2D_Size(self)

    def Assign(self, theOther: "HLRBRep_ListOfBPnt2D") -> "NCollection_List< HLRBRep_BiPnt2D > &":
        return _HLRBRep.HLRBRep_ListOfBPnt2D_Assign(self, theOther)

    def Set(self, theOther: "HLRBRep_ListOfBPnt2D") -> "NCollection_List< HLRBRep_BiPnt2D > &":
        return _HLRBRep.HLRBRep_ListOfBPnt2D_Set(self, theOther)

    def Clear(self, theAllocator: "IntSurf_Allocator"=0) -> "void":
        return _HLRBRep.HLRBRep_ListOfBPnt2D_Clear(self, theAllocator)

    def First(self) -> "HLRBRep_BiPnt2D const &":
        return _HLRBRep.HLRBRep_ListOfBPnt2D_First(self)

    def Last(self) -> "HLRBRep_BiPnt2D const &":
        return _HLRBRep.HLRBRep_ListOfBPnt2D_Last(self)

    def Append(self, *args) -> "void":
        return _HLRBRep.HLRBRep_ListOfBPnt2D_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _HLRBRep.HLRBRep_ListOfBPnt2D_Prepend(self, *args)

    def RemoveFirst(self) -> "void":
        return _HLRBRep.HLRBRep_ListOfBPnt2D_RemoveFirst(self)

    def Remove(self, theIter: "HLRBRep_ListIteratorOfListOfBPnt2D") -> "void":
        return _HLRBRep.HLRBRep_ListOfBPnt2D_Remove(self, theIter)

    def InsertBefore(self, *args) -> "void":
        return _HLRBRep.HLRBRep_ListOfBPnt2D_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _HLRBRep.HLRBRep_ListOfBPnt2D_InsertAfter(self, *args)

    def Reverse(self) -> "void":
        return _HLRBRep.HLRBRep_ListOfBPnt2D_Reverse(self)
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_ListOfBPnt2D

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


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

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

    def begin(self) -> "NCollection_List< HLRBRep_BiPoint >::iterator":
        return _HLRBRep.HLRBRep_ListOfBPoint_begin(self)

    def end(self) -> "NCollection_List< HLRBRep_BiPoint >::iterator":
        return _HLRBRep.HLRBRep_ListOfBPoint_end(self)

    def cbegin(self) -> "NCollection_List< HLRBRep_BiPoint >::const_iterator":
        return _HLRBRep.HLRBRep_ListOfBPoint_cbegin(self)

    def cend(self) -> "NCollection_List< HLRBRep_BiPoint >::const_iterator":
        return _HLRBRep.HLRBRep_ListOfBPoint_cend(self)

    def __init__(self, *args):
        _HLRBRep.HLRBRep_ListOfBPoint_swiginit(self, _HLRBRep.new_HLRBRep_ListOfBPoint(*args))

    def Size(self) -> "Standard_Integer":
        return _HLRBRep.HLRBRep_ListOfBPoint_Size(self)

    def Assign(self, theOther: "HLRBRep_ListOfBPoint") -> "NCollection_List< HLRBRep_BiPoint > &":
        return _HLRBRep.HLRBRep_ListOfBPoint_Assign(self, theOther)

    def Set(self, theOther: "HLRBRep_ListOfBPoint") -> "NCollection_List< HLRBRep_BiPoint > &":
        return _HLRBRep.HLRBRep_ListOfBPoint_Set(self, theOther)

    def Clear(self, theAllocator: "IntSurf_Allocator"=0) -> "void":
        return _HLRBRep.HLRBRep_ListOfBPoint_Clear(self, theAllocator)

    def First(self) -> "HLRBRep_BiPoint const &":
        return _HLRBRep.HLRBRep_ListOfBPoint_First(self)

    def Last(self) -> "HLRBRep_BiPoint const &":
        return _HLRBRep.HLRBRep_ListOfBPoint_Last(self)

    def Append(self, *args) -> "void":
        return _HLRBRep.HLRBRep_ListOfBPoint_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _HLRBRep.HLRBRep_ListOfBPoint_Prepend(self, *args)

    def RemoveFirst(self) -> "void":
        return _HLRBRep.HLRBRep_ListOfBPoint_RemoveFirst(self)

    def Remove(self, theIter: "HLRBRep_ListIteratorOfListOfBPoint") -> "void":
        return _HLRBRep.HLRBRep_ListOfBPoint_Remove(self, theIter)

    def InsertBefore(self, *args) -> "void":
        return _HLRBRep.HLRBRep_ListOfBPoint_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _HLRBRep.HLRBRep_ListOfBPoint_InsertAfter(self, *args)

    def Reverse(self) -> "void":
        return _HLRBRep.HLRBRep_ListOfBPoint_Reverse(self)
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_ListOfBPoint

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


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

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

    def begin(self) -> "NCollection_Sequence< HLRBRep_ShapeBounds >::iterator":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_begin(self)

    def end(self) -> "NCollection_Sequence< HLRBRep_ShapeBounds >::iterator":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_end(self)

    def cbegin(self) -> "NCollection_Sequence< HLRBRep_ShapeBounds >::const_iterator":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_cbegin(self)

    def cend(self) -> "NCollection_Sequence< HLRBRep_ShapeBounds >::const_iterator":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_cend(self)

    def __init__(self, *args):
        _HLRBRep.HLRBRep_SeqOfShapeBounds_swiginit(self, _HLRBRep.new_HLRBRep_SeqOfShapeBounds(*args))

    def Size(self) -> "Standard_Integer":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_Size(self)

    def Length(self) -> "Standard_Integer":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_IsEmpty(self)

    def Reverse(self) -> "void":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_Reverse(self)

    def Exchange(self, I: "Standard_Integer const", J: "Standard_Integer const") -> "void":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode: "NCollection_SeqNode *", theAl: "IntSurf_Allocator") -> "void":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_delNode(theNode, theAl)

    def Clear(self, theAllocator: "IntSurf_Allocator"=0) -> "void":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_Clear(self, theAllocator)

    def Assign(self, theOther: "HLRBRep_SeqOfShapeBounds") -> "NCollection_Sequence< HLRBRep_ShapeBounds > &":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_Assign(self, theOther)

    def Set(self, theOther: "HLRBRep_SeqOfShapeBounds") -> "NCollection_Sequence< HLRBRep_ShapeBounds > &":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "HLRBRep_SeqOfShapeBounds") -> "void":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_Split(self, theIndex, theSeq)

    def First(self) -> "HLRBRep_ShapeBounds const &":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_First(self)

    def ChangeFirst(self) -> "HLRBRep_ShapeBounds &":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_ChangeFirst(self)

    def Last(self) -> "HLRBRep_ShapeBounds const &":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_Last(self)

    def ChangeLast(self) -> "HLRBRep_ShapeBounds &":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "HLRBRep_ShapeBounds const &":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "HLRBRep_ShapeBounds &":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "HLRBRep_ShapeBounds &":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "HLRBRep_ShapeBounds") -> "void":
        return _HLRBRep.HLRBRep_SeqOfShapeBounds_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _HLRBRep.delete_HLRBRep_SeqOfShapeBounds

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


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

def HLRBRep_SeqOfShapeBounds_delNode(theNode: "NCollection_SeqNode *", theAl: "IntSurf_Allocator") -> "void":
    return _HLRBRep.HLRBRep_SeqOfShapeBounds_delNode(theNode, theAl)

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

    @staticmethod
    def MakeEdge(*args) -> "TopoDS_Edge":
        r"""
        No available documentation.

        Parameters
        ----------
        ec: HLRBRep_Curve
        U1: float
        U2: float

        Returns
        -------
        TopoDS_Edge

        """
        return _HLRBRep.hlrbrep_MakeEdge(*args)

    @staticmethod
    def MakeEdge3d(*args) -> "TopoDS_Edge":
        r"""
        No available documentation.

        Parameters
        ----------
        ec: HLRBRep_Curve
        U1: float
        U2: float

        Returns
        -------
        TopoDS_Edge

        """
        return _HLRBRep.hlrbrep_MakeEdge3d(*args)

    @staticmethod
    def PolyHLRAngleAndDeflection(*args) -> "Standard_Real &, Standard_Real &":
        r"""
        No available documentation.

        Parameters
        ----------
        InAngl: float

        Returns
        -------
        OutAngl: float
        OutDefl: float

        """
        return _HLRBRep.hlrbrep_PolyHLRAngleAndDeflection(*args)

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

def hlrbrep_MakeEdge(*args) -> "TopoDS_Edge":
    r"""
    No available documentation.

    Parameters
    ----------
    ec: HLRBRep_Curve
    U1: float
    U2: float

    Returns
    -------
    TopoDS_Edge

    """
    return _HLRBRep.hlrbrep_MakeEdge(*args)

def hlrbrep_MakeEdge3d(*args) -> "TopoDS_Edge":
    r"""
    No available documentation.

    Parameters
    ----------
    ec: HLRBRep_Curve
    U1: float
    U2: float

    Returns
    -------
    TopoDS_Edge

    """
    return _HLRBRep.hlrbrep_MakeEdge3d(*args)

def hlrbrep_PolyHLRAngleAndDeflection(*args) -> "Standard_Real &, Standard_Real &":
    r"""
    No available documentation.

    Parameters
    ----------
    InAngl: float

    Returns
    -------
    OutAngl: float
    OutDefl: float

    """
    return _HLRBRep.hlrbrep_PolyHLRAngleAndDeflection(*args)

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

    def __init__(self, *args):
        r"""
        The previous and next field are set to null.

        Parameters
        ----------
        V: HLRAlgo_Intersection
        Boundary: bool
        Interference: bool
        StateBefore: TopAbs_State
        StateAfter: TopAbs_State
        EdgeBefore: TopAbs_State
        EdgeAfter: TopAbs_State

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_AreaLimit_swiginit(self, _HLRBRep.new_HLRBRep_AreaLimit(*args))

    def Clear(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_AreaLimit_Clear(self, *args)

    def EdgeAfter(self, *args) -> "TopAbs_State":
        r"""
        No available documentation.

        Parameters
        ----------
        St: TopAbs_State

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        TopAbs_State

        """
        return _HLRBRep.HLRBRep_AreaLimit_EdgeAfter(self, *args)

    def EdgeBefore(self, *args) -> "TopAbs_State":
        r"""
        No available documentation.

        Parameters
        ----------
        St: TopAbs_State

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        TopAbs_State

        """
        return _HLRBRep.HLRBRep_AreaLimit_EdgeBefore(self, *args)

    def IsBoundary(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_AreaLimit_IsBoundary(self, *args)

    def IsInterference(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_AreaLimit_IsInterference(self, *args)

    def Next(self, *args) -> "opencascade::handle< HLRBRep_AreaLimit >":
        r"""
        No available documentation.

        Parameters
        ----------
        N: HLRBRep_AreaLimit

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        opencascade::handle<HLRBRep_AreaLimit>

        """
        return _HLRBRep.HLRBRep_AreaLimit_Next(self, *args)

    def Previous(self, *args) -> "opencascade::handle< HLRBRep_AreaLimit >":
        r"""
        No available documentation.

        Parameters
        ----------
        P: HLRBRep_AreaLimit

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        opencascade::handle<HLRBRep_AreaLimit>

        """
        return _HLRBRep.HLRBRep_AreaLimit_Previous(self, *args)

    def StateAfter(self, *args) -> "TopAbs_State":
        r"""
        No available documentation.

        Parameters
        ----------
        St: TopAbs_State

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        TopAbs_State

        """
        return _HLRBRep.HLRBRep_AreaLimit_StateAfter(self, *args)

    def StateBefore(self, *args) -> "TopAbs_State":
        r"""
        No available documentation.

        Parameters
        ----------
        St: TopAbs_State

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        TopAbs_State

        """
        return _HLRBRep.HLRBRep_AreaLimit_StateBefore(self, *args)

    def Vertex(self, *args) -> "HLRAlgo_Intersection const &":
        r"""
        No available documentation.

        Returns
        -------
        HLRAlgo_Intersection

        """
        return _HLRBRep.HLRBRep_AreaLimit_Vertex(self, *args)


    @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

    @staticmethod
    def BSpline(*args) -> "opencascade::handle< Geom_BSplineCurve >":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve

        Returns
        -------
        opencascade::handle<Geom_BSplineCurve>

        """
        return _HLRBRep.HLRBRep_BCurveTool_BSpline(*args)

    @staticmethod
    def Bezier(*args) -> "opencascade::handle< Geom_BezierCurve >":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve

        Returns
        -------
        opencascade::handle<Geom_BezierCurve>

        """
        return _HLRBRep.HLRBRep_BCurveTool_Bezier(*args)

    @staticmethod
    def Circle(*args) -> "gp_Circ":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve

        Returns
        -------
        gp_Circ

        """
        return _HLRBRep.HLRBRep_BCurveTool_Circle(*args)

    @staticmethod
    def Continuity(*args) -> "GeomAbs_Shape":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve

        Returns
        -------
        GeomAbs_Shape

        """
        return _HLRBRep.HLRBRep_BCurveTool_Continuity(*args)

    @staticmethod
    def D0(*args) -> "void":
        r"""
        Computes the point of parameter u on the curve.

        Parameters
        ----------
        C: BRepAdaptor_Curve
        U: float
        P: gp_Pnt

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_BCurveTool_D0(*args)

    @staticmethod
    def D1(*args) -> "void":
        r"""
        Computes the point of parameter u on the curve with its first derivative. raised if the continuity of the current interval is not c1.

        Parameters
        ----------
        C: BRepAdaptor_Curve
        U: float
        P: gp_Pnt
        V: gp_Vec

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_BCurveTool_D1(*args)

    @staticmethod
    def D2(*args) -> "void":
        r"""
        Returns the point p of parameter u, the first and second derivatives v1 and v2. raised if the continuity of the current interval is not c2.

        Parameters
        ----------
        C: BRepAdaptor_Curve
        U: float
        P: gp_Pnt
        V1: gp_Vec
        V2: gp_Vec

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_BCurveTool_D2(*args)

    @staticmethod
    def D3(*args) -> "void":
        r"""
        Returns the point p of parameter u, the first, the second and the third derivative. raised if the continuity of the current interval is not c3.

        Parameters
        ----------
        C: BRepAdaptor_Curve
        U: float
        P: gp_Pnt
        V1: gp_Vec
        V2: gp_Vec
        V3: gp_Vec

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_BCurveTool_D3(*args)

    @staticmethod
    def DN(*args) -> "gp_Vec":
        r"""
        The returned vector gives the value of the derivative for the order of derivation n. raised if the continuity of the current interval is not cn. raised if n < 1.

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

        Returns
        -------
        gp_Vec

        """
        return _HLRBRep.HLRBRep_BCurveTool_DN(*args)

    @staticmethod
    def Degree(*args) -> "Standard_Integer":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_BCurveTool_Degree(*args)

    @staticmethod
    def Ellipse(*args) -> "gp_Elips":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve

        Returns
        -------
        gp_Elips

        """
        return _HLRBRep.HLRBRep_BCurveTool_Ellipse(*args)

    @staticmethod
    def FirstParameter(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_BCurveTool_FirstParameter(*args)

    @staticmethod
    def GetType(*args) -> "GeomAbs_CurveType":
        r"""
        Returns the type of the curve in the current interval : line, circle, ellipse, hyperbola, parabola, beziercurve, bsplinecurve, othercurve.

        Parameters
        ----------
        C: BRepAdaptor_Curve

        Returns
        -------
        GeomAbs_CurveType

        """
        return _HLRBRep.HLRBRep_BCurveTool_GetType(*args)

    @staticmethod
    def Hyperbola(*args) -> "gp_Hypr":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve

        Returns
        -------
        gp_Hypr

        """
        return _HLRBRep.HLRBRep_BCurveTool_Hyperbola(*args)

    @staticmethod
    def Intervals(*args) -> "void":
        r"""
        Stores in <t> the parameters bounding the intervals of continuity <s>. //! the array must provide enough room to accomodate for the parameters. i.e. t.length() > nbintervals().

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

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_BCurveTool_Intervals(*args)

    @staticmethod
    def IsClosed(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_BCurveTool_IsClosed(*args)

    @staticmethod
    def IsPeriodic(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_BCurveTool_IsPeriodic(*args)

    @staticmethod
    def IsRational(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_BCurveTool_IsRational(*args)

    @staticmethod
    def LastParameter(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_BCurveTool_LastParameter(*args)

    @staticmethod
    def Line(*args) -> "gp_Lin":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve

        Returns
        -------
        gp_Lin

        """
        return _HLRBRep.HLRBRep_BCurveTool_Line(*args)

    @staticmethod
    def NbIntervals(*args) -> "Standard_Integer":
        r"""
        Returns the number of intervals for continuity <s>. may be one if continuity(myclass) >= <s>.

        Parameters
        ----------
        C: BRepAdaptor_Curve
        S: GeomAbs_Shape

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_BCurveTool_NbIntervals(*args)

    @staticmethod
    def NbKnots(*args) -> "Standard_Integer":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_BCurveTool_NbKnots(*args)

    @staticmethod
    def NbPoles(*args) -> "Standard_Integer":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_BCurveTool_NbPoles(*args)

    @staticmethod
    def NbSamples(*args) -> "Standard_Integer":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve
        U0: float
        U1: float

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_BCurveTool_NbSamples(*args)

    @staticmethod
    def Parabola(*args) -> "gp_Parab":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve

        Returns
        -------
        gp_Parab

        """
        return _HLRBRep.HLRBRep_BCurveTool_Parabola(*args)

    @staticmethod
    def Period(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_BCurveTool_Period(*args)

    @staticmethod
    def Poles(*args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve
        T: TColgp_Array1OfPnt

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_BCurveTool_Poles(*args)

    @staticmethod
    def PolesAndWeights(*args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        C: BRepAdaptor_Curve
        T: TColgp_Array1OfPnt
        W: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_BCurveTool_PolesAndWeights(*args)

    @staticmethod
    def Resolution(*args) -> "Standard_Real":
        r"""
        Returns the parametric resolution corresponding to the real space resolution <r3d>.

        Parameters
        ----------
        C: BRepAdaptor_Curve
        R3d: float

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_BCurveTool_Resolution(*args)

    @staticmethod
    def Value(*args) -> "gp_Pnt":
        r"""
        Computes the point of parameter u on the curve.

        Parameters
        ----------
        C: BRepAdaptor_Curve
        U: float

        Returns
        -------
        gp_Pnt

        """
        return _HLRBRep.HLRBRep_BCurveTool_Value(*args)

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

def HLRBRep_BCurveTool_BSpline(*args) -> "opencascade::handle< Geom_BSplineCurve >":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve

    Returns
    -------
    opencascade::handle<Geom_BSplineCurve>

    """
    return _HLRBRep.HLRBRep_BCurveTool_BSpline(*args)

def HLRBRep_BCurveTool_Bezier(*args) -> "opencascade::handle< Geom_BezierCurve >":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve

    Returns
    -------
    opencascade::handle<Geom_BezierCurve>

    """
    return _HLRBRep.HLRBRep_BCurveTool_Bezier(*args)

def HLRBRep_BCurveTool_Circle(*args) -> "gp_Circ":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve

    Returns
    -------
    gp_Circ

    """
    return _HLRBRep.HLRBRep_BCurveTool_Circle(*args)

def HLRBRep_BCurveTool_Continuity(*args) -> "GeomAbs_Shape":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve

    Returns
    -------
    GeomAbs_Shape

    """
    return _HLRBRep.HLRBRep_BCurveTool_Continuity(*args)

def HLRBRep_BCurveTool_D0(*args) -> "void":
    r"""
    Computes the point of parameter u on the curve.

    Parameters
    ----------
    C: BRepAdaptor_Curve
    U: float
    P: gp_Pnt

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_BCurveTool_D0(*args)

def HLRBRep_BCurveTool_D1(*args) -> "void":
    r"""
    Computes the point of parameter u on the curve with its first derivative. raised if the continuity of the current interval is not c1.

    Parameters
    ----------
    C: BRepAdaptor_Curve
    U: float
    P: gp_Pnt
    V: gp_Vec

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_BCurveTool_D1(*args)

def HLRBRep_BCurveTool_D2(*args) -> "void":
    r"""
    Returns the point p of parameter u, the first and second derivatives v1 and v2. raised if the continuity of the current interval is not c2.

    Parameters
    ----------
    C: BRepAdaptor_Curve
    U: float
    P: gp_Pnt
    V1: gp_Vec
    V2: gp_Vec

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_BCurveTool_D2(*args)

def HLRBRep_BCurveTool_D3(*args) -> "void":
    r"""
    Returns the point p of parameter u, the first, the second and the third derivative. raised if the continuity of the current interval is not c3.

    Parameters
    ----------
    C: BRepAdaptor_Curve
    U: float
    P: gp_Pnt
    V1: gp_Vec
    V2: gp_Vec
    V3: gp_Vec

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_BCurveTool_D3(*args)

def HLRBRep_BCurveTool_DN(*args) -> "gp_Vec":
    r"""
    The returned vector gives the value of the derivative for the order of derivation n. raised if the continuity of the current interval is not cn. raised if n < 1.

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

    Returns
    -------
    gp_Vec

    """
    return _HLRBRep.HLRBRep_BCurveTool_DN(*args)

def HLRBRep_BCurveTool_Degree(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_BCurveTool_Degree(*args)

def HLRBRep_BCurveTool_Ellipse(*args) -> "gp_Elips":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve

    Returns
    -------
    gp_Elips

    """
    return _HLRBRep.HLRBRep_BCurveTool_Ellipse(*args)

def HLRBRep_BCurveTool_FirstParameter(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_BCurveTool_FirstParameter(*args)

def HLRBRep_BCurveTool_GetType(*args) -> "GeomAbs_CurveType":
    r"""
    Returns the type of the curve in the current interval : line, circle, ellipse, hyperbola, parabola, beziercurve, bsplinecurve, othercurve.

    Parameters
    ----------
    C: BRepAdaptor_Curve

    Returns
    -------
    GeomAbs_CurveType

    """
    return _HLRBRep.HLRBRep_BCurveTool_GetType(*args)

def HLRBRep_BCurveTool_Hyperbola(*args) -> "gp_Hypr":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve

    Returns
    -------
    gp_Hypr

    """
    return _HLRBRep.HLRBRep_BCurveTool_Hyperbola(*args)

def HLRBRep_BCurveTool_Intervals(*args) -> "void":
    r"""
    Stores in <t> the parameters bounding the intervals of continuity <s>. //! the array must provide enough room to accomodate for the parameters. i.e. t.length() > nbintervals().

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

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_BCurveTool_Intervals(*args)

def HLRBRep_BCurveTool_IsClosed(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve

    Returns
    -------
    bool

    """
    return _HLRBRep.HLRBRep_BCurveTool_IsClosed(*args)

def HLRBRep_BCurveTool_IsPeriodic(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve

    Returns
    -------
    bool

    """
    return _HLRBRep.HLRBRep_BCurveTool_IsPeriodic(*args)

def HLRBRep_BCurveTool_IsRational(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve

    Returns
    -------
    bool

    """
    return _HLRBRep.HLRBRep_BCurveTool_IsRational(*args)

def HLRBRep_BCurveTool_LastParameter(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_BCurveTool_LastParameter(*args)

def HLRBRep_BCurveTool_Line(*args) -> "gp_Lin":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve

    Returns
    -------
    gp_Lin

    """
    return _HLRBRep.HLRBRep_BCurveTool_Line(*args)

def HLRBRep_BCurveTool_NbIntervals(*args) -> "Standard_Integer":
    r"""
    Returns the number of intervals for continuity <s>. may be one if continuity(myclass) >= <s>.

    Parameters
    ----------
    C: BRepAdaptor_Curve
    S: GeomAbs_Shape

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_BCurveTool_NbIntervals(*args)

def HLRBRep_BCurveTool_NbKnots(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_BCurveTool_NbKnots(*args)

def HLRBRep_BCurveTool_NbPoles(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_BCurveTool_NbPoles(*args)

def HLRBRep_BCurveTool_NbSamples(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve
    U0: float
    U1: float

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_BCurveTool_NbSamples(*args)

def HLRBRep_BCurveTool_Parabola(*args) -> "gp_Parab":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve

    Returns
    -------
    gp_Parab

    """
    return _HLRBRep.HLRBRep_BCurveTool_Parabola(*args)

def HLRBRep_BCurveTool_Period(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_BCurveTool_Period(*args)

def HLRBRep_BCurveTool_Poles(*args) -> "void":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve
    T: TColgp_Array1OfPnt

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_BCurveTool_Poles(*args)

def HLRBRep_BCurveTool_PolesAndWeights(*args) -> "void":
    r"""
    No available documentation.

    Parameters
    ----------
    C: BRepAdaptor_Curve
    T: TColgp_Array1OfPnt
    W: TColStd_Array1OfReal

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_BCurveTool_PolesAndWeights(*args)

def HLRBRep_BCurveTool_Resolution(*args) -> "Standard_Real":
    r"""
    Returns the parametric resolution corresponding to the real space resolution <r3d>.

    Parameters
    ----------
    C: BRepAdaptor_Curve
    R3d: float

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_BCurveTool_Resolution(*args)

def HLRBRep_BCurveTool_Value(*args) -> "gp_Pnt":
    r"""
    Computes the point of parameter u on the curve.

    Parameters
    ----------
    C: BRepAdaptor_Curve
    U: float

    Returns
    -------
    gp_Pnt

    """
    return _HLRBRep.HLRBRep_BCurveTool_Value(*args)

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"""
        No available documentation.

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        x1: float
        y1: float
        x2: float
        y2: float
        S: TopoDS_Shape
        reg1: bool
        regn: bool
        outl: bool
        intl: bool

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        thePoint1: gp_XY
        thePoint2: gp_XY
        S: TopoDS_Shape
        reg1: bool
        regn: bool
        outl: bool
        intl: bool

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_BiPnt2D_swiginit(self, _HLRBRep.new_HLRBRep_BiPnt2D(*args))

    def IntLine(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_BiPnt2D_IntLine(self, *args)

    def OutLine(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_BiPnt2D_OutLine(self, *args)

    def P1(self, *args) -> "gp_Pnt2d const":
        r"""
        No available documentation.

        Returns
        -------
        gp_Pnt2d

        """
        return _HLRBRep.HLRBRep_BiPnt2D_P1(self, *args)

    def P2(self, *args) -> "gp_Pnt2d const":
        r"""
        No available documentation.

        Returns
        -------
        gp_Pnt2d

        """
        return _HLRBRep.HLRBRep_BiPnt2D_P2(self, *args)

    def Rg1Line(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_BiPnt2D_Rg1Line(self, *args)

    def RgNLine(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_BiPnt2D_RgNLine(self, *args)

    def Shape(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_BiPnt2D_Shape(self, *args)

    __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"""
        No available documentation.

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        x1: float
        y1: float
        z1: float
        x2: float
        y2: float
        z2: float
        S: TopoDS_Shape
        reg1: bool
        regn: bool
        outl: bool
        intl: bool

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_BiPoint_swiginit(self, _HLRBRep.new_HLRBRep_BiPoint(*args))

    def IntLine(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_BiPoint_IntLine(self, *args)

    def OutLine(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_BiPoint_OutLine(self, *args)

    def P1(self, *args) -> "gp_Pnt const":
        r"""
        No available documentation.

        Returns
        -------
        gp_Pnt

        """
        return _HLRBRep.HLRBRep_BiPoint_P1(self, *args)

    def P2(self, *args) -> "gp_Pnt const":
        r"""
        No available documentation.

        Returns
        -------
        gp_Pnt

        """
        return _HLRBRep.HLRBRep_BiPoint_P2(self, *args)

    def Rg1Line(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_BiPoint_Rg1Line(self, *args)

    def RgNLine(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_BiPoint_RgNLine(self, *args)

    def Shape(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_BiPoint_Shape(self, *args)

    __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

    def __init__(self, *args):
        r"""
        Empty constructor.

        Returns
        -------
        None
        Self intersection of a curve.

        Parameters
        ----------
        C: Standard_Address
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Self intersection of a curve with a domain.

        Parameters
        ----------
        C: Standard_Address
        D: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between 2 curves.

        Parameters
        ----------
        C1: Standard_Address
        C2: Standard_Address
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between 2 curves.

        Parameters
        ----------
        C1: Standard_Address
        D1: IntRes2d_Domain
        C2: Standard_Address
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between 2 curves.

        Parameters
        ----------
        C1: Standard_Address
        C2: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between 2 curves.

        Parameters
        ----------
        C1: Standard_Address
        D1: IntRes2d_Domain
        C2: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_CInter_swiginit(self, _HLRBRep.new_HLRBRep_CInter(*args))

    def ComputeDomain(self, *args) -> "IntRes2d_Domain":
        r"""
        Create a domain from a curve.

        Parameters
        ----------
        C1: Standard_Address
        TolDomain: float

        Returns
        -------
        IntRes2d_Domain

        """
        return _HLRBRep.HLRBRep_CInter_ComputeDomain(self, *args)

    def GetMinNbSamples(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_CInter_GetMinNbSamples(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        Intersection between 2 curves.

        Parameters
        ----------
        C1: Standard_Address
        D1: IntRes2d_Domain
        C2: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between 2 curves.

        Parameters
        ----------
        C1: Standard_Address
        C2: Standard_Address
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between 2 curves.

        Parameters
        ----------
        C1: Standard_Address
        D1: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between 2 curves.

        Parameters
        ----------
        C1: Standard_Address
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between 2 curves.

        Parameters
        ----------
        C1: Standard_Address
        D1: IntRes2d_Domain
        C2: Standard_Address
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between 2 curves.

        Parameters
        ----------
        C1: Standard_Address
        C2: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_CInter_Perform(self, *args)

    def SetMinNbSamples(self, *args) -> "void":
        r"""
        Set / get minimum number of points in polygon intersection.

        Parameters
        ----------
        theMinNbSamples: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_CInter_SetMinNbSamples(self, *args)

    __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

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

        Parameters
        ----------
        C: HLRBRep_Curve *
        N: int
        Resolution: float

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

        Parameters
        ----------
        C: HLRBRep_Curve *
        U: float
        N: int
        Resolution: float

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

        Parameters
        ----------
        N: int
        Resolution: float

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_CLProps_swiginit(self, _HLRBRep.new_HLRBRep_CLProps(*args))

    def CentreOfCurvature(self, *args) -> "void":
        r"""
        Returns the centre of curvature <p>.

        Parameters
        ----------
        P: gp_Pnt2d

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_CLProps_CentreOfCurvature(self, *args)

    def Curvature(self, *args) -> "Standard_Real":
        r"""
        Returns the curvature.

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_CLProps_Curvature(self, *args)

    def D1(self, *args) -> "gp_Vec2d const":
        r"""
        Returns the first derivative. the derivative is computed if it has not been yet.

        Returns
        -------
        gp_Vec2d

        """
        return _HLRBRep.HLRBRep_CLProps_D1(self, *args)

    def D2(self, *args) -> "gp_Vec2d const":
        r"""
        Returns the second derivative. the derivative is computed if it has not been yet.

        Returns
        -------
        gp_Vec2d

        """
        return _HLRBRep.HLRBRep_CLProps_D2(self, *args)

    def D3(self, *args) -> "gp_Vec2d const":
        r"""
        Returns the third derivative. the derivative is computed if it has not been yet.

        Returns
        -------
        gp_Vec2d

        """
        return _HLRBRep.HLRBRep_CLProps_D3(self, *args)

    def IsTangentDefined(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the tangent is defined. for example, the tangent is not defined if the three first derivatives are all null.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_CLProps_IsTangentDefined(self, *args)

    def Normal(self, *args) -> "void":
        r"""
        Returns the normal direction <n>.

        Parameters
        ----------
        N: gp_Dir2d

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_CLProps_Normal(self, *args)

    def SetCurve(self, *args) -> "void":
        r"""
        Initializes the local properties of the curve for the new curve.

        Parameters
        ----------
        C: HLRBRep_Curve *

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_CLProps_SetCurve(self, *args)

    def SetParameter(self, *args) -> "void":
        r"""
        Initializes the local properties of the curve for the parameter value <u>.

        Parameters
        ----------
        U: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_CLProps_SetParameter(self, *args)

    def Tangent(self, *args) -> "void":
        r"""
        Output the tangent direction <d>.

        Parameters
        ----------
        D: gp_Dir2d

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_CLProps_Tangent(self, *args)

    def Value(self, *args) -> "gp_Pnt2d const":
        r"""
        Returns the point.

        Returns
        -------
        gp_Pnt2d

        """
        return _HLRBRep.HLRBRep_CLProps_Value(self, *args)

    __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

    @staticmethod
    def Continuity(*args) -> "Standard_Integer":
        r"""
        Returns the order of continuity of the curve <c>. returns 1 : first derivative only is computable returns 2 : first and second derivative only are computable. returns 3 : first, second and third are computable.

        Parameters
        ----------
        A: HLRBRep_Curve *

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_CLPropsATool_Continuity(*args)

    @staticmethod
    def D1(*args) -> "void":
        r"""
        Computes the point <p> and first derivative <v1> of parameter <u> on the curve <c>.

        Parameters
        ----------
        A: HLRBRep_Curve *
        U: float
        P: gp_Pnt2d
        V1: gp_Vec2d

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_CLPropsATool_D1(*args)

    @staticmethod
    def D2(*args) -> "void":
        r"""
        Computes the point <p>, the first derivative <v1> and second derivative <v2> of parameter <u> on the curve <c>.

        Parameters
        ----------
        A: HLRBRep_Curve *
        U: float
        P: gp_Pnt2d
        V1: gp_Vec2d
        V2: gp_Vec2d

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_CLPropsATool_D2(*args)

    @staticmethod
    def D3(*args) -> "void":
        r"""
        Computes the point <p>, the first derivative <v1>, the second derivative <v2> and third derivative <v3> of parameter <u> on the curve <c>.

        Parameters
        ----------
        A: HLRBRep_Curve *
        U: float
        P: gp_Pnt2d
        V1: gp_Vec2d
        V2: gp_Vec2d
        V3: gp_Vec2d

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_CLPropsATool_D3(*args)

    @staticmethod
    def FirstParameter(*args) -> "Standard_Real":
        r"""
        Returns the first parameter bound of the curve.

        Parameters
        ----------
        A: HLRBRep_Curve *

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_CLPropsATool_FirstParameter(*args)

    @staticmethod
    def LastParameter(*args) -> "Standard_Real":
        r"""
        Returns the last parameter bound of the curve. firstparameter must be less than lastparamenter.

        Parameters
        ----------
        A: HLRBRep_Curve *

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_CLPropsATool_LastParameter(*args)

    @staticmethod
    def Value(*args) -> "void":
        r"""
        Computes the point <p> of parameter <u> on the curve from hlrbrep <c>.

        Parameters
        ----------
        A: HLRBRep_Curve *
        U: float
        P: gp_Pnt2d

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_CLPropsATool_Value(*args)

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

def HLRBRep_CLPropsATool_Continuity(*args) -> "Standard_Integer":
    r"""
    Returns the order of continuity of the curve <c>. returns 1 : first derivative only is computable returns 2 : first and second derivative only are computable. returns 3 : first, second and third are computable.

    Parameters
    ----------
    A: HLRBRep_Curve *

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_CLPropsATool_Continuity(*args)

def HLRBRep_CLPropsATool_D1(*args) -> "void":
    r"""
    Computes the point <p> and first derivative <v1> of parameter <u> on the curve <c>.

    Parameters
    ----------
    A: HLRBRep_Curve *
    U: float
    P: gp_Pnt2d
    V1: gp_Vec2d

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_CLPropsATool_D1(*args)

def HLRBRep_CLPropsATool_D2(*args) -> "void":
    r"""
    Computes the point <p>, the first derivative <v1> and second derivative <v2> of parameter <u> on the curve <c>.

    Parameters
    ----------
    A: HLRBRep_Curve *
    U: float
    P: gp_Pnt2d
    V1: gp_Vec2d
    V2: gp_Vec2d

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_CLPropsATool_D2(*args)

def HLRBRep_CLPropsATool_D3(*args) -> "void":
    r"""
    Computes the point <p>, the first derivative <v1>, the second derivative <v2> and third derivative <v3> of parameter <u> on the curve <c>.

    Parameters
    ----------
    A: HLRBRep_Curve *
    U: float
    P: gp_Pnt2d
    V1: gp_Vec2d
    V2: gp_Vec2d
    V3: gp_Vec2d

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_CLPropsATool_D3(*args)

def HLRBRep_CLPropsATool_FirstParameter(*args) -> "Standard_Real":
    r"""
    Returns the first parameter bound of the curve.

    Parameters
    ----------
    A: HLRBRep_Curve *

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_CLPropsATool_FirstParameter(*args)

def HLRBRep_CLPropsATool_LastParameter(*args) -> "Standard_Real":
    r"""
    Returns the last parameter bound of the curve. firstparameter must be less than lastparamenter.

    Parameters
    ----------
    A: HLRBRep_Curve *

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_CLPropsATool_LastParameter(*args)

def HLRBRep_CLPropsATool_Value(*args) -> "void":
    r"""
    Computes the point <p> of parameter <u> on the curve from hlrbrep <c>.

    Parameters
    ----------
    A: HLRBRep_Curve *
    U: float
    P: gp_Pnt2d

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_CLPropsATool_Value(*args)

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

    def __init__(self, *args):
        r"""
        Creates an undefined curve.

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_Curve_swiginit(self, _HLRBRep.new_HLRBRep_Curve(*args))

    def Circle(self, *args) -> "gp_Circ2d":
        r"""
        No available documentation.

        Returns
        -------
        gp_Circ2d

        """
        return _HLRBRep.HLRBRep_Curve_Circle(self, *args)

    def Continuity(self, *args) -> "GeomAbs_Shape":
        r"""
        No available documentation.

        Returns
        -------
        GeomAbs_Shape

        """
        return _HLRBRep.HLRBRep_Curve_Continuity(self, *args)

    def Curve(self, *args) -> "void":
        r"""
        Returns the 3d curve.

        Returns
        -------
        BRepAdaptor_Curve
        Sets the 3d curve to be projected.

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

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Curve_Curve(self, *args)

    def D0(self, *args) -> "void":
        r"""
        Computes the 3d point of parameter u on the curve.

        Parameters
        ----------
        U: float
        P: gp_Pnt

        Returns
        -------
        None
        Computes the point of parameter u on the curve.

        Parameters
        ----------
        U: float
        P: gp_Pnt2d

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Curve_D0(self, *args)

    def D1(self, *args) -> "void":
        r"""
        Computes the point of parameter u on the curve with its first derivative.

        Parameters
        ----------
        U: float
        P: gp_Pnt
        V: gp_Vec

        Returns
        -------
        None
        Computes the point of parameter u on the curve with its first derivative. raised if the continuity of the current interval is not c1.

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

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Curve_D1(self, *args)

    def D2(self, *args) -> "void":
        r"""
        Raised if the continuity of the current interval is not c2.

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

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Curve_D2(self, *args)

    def D3(self, *args) -> "void":
        r"""
        Returns the point p of parameter u, the first, the second and the third derivative. raised if the continuity of the current interval is not c3.

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

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Curve_D3(self, *args)

    def DN(self, *args) -> "gp_Vec2d":
        r"""
        The returned vector gives the value of the derivative for the order of derivation n. raised if the continuity of the current interval is not cn. raised if n < 1.

        Parameters
        ----------
        U: float
        N: int

        Returns
        -------
        gp_Vec2d

        """
        return _HLRBRep.HLRBRep_Curve_DN(self, *args)

    def Degree(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_Curve_Degree(self, *args)

    def Ellipse(self, *args) -> "gp_Elips2d":
        r"""
        No available documentation.

        Returns
        -------
        gp_Elips2d

        """
        return _HLRBRep.HLRBRep_Curve_Ellipse(self, *args)

    def FirstParameter(self, *args) -> "Standard_Real":
        r"""
        No available documentation.

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_Curve_FirstParameter(self, *args)

    def GetCurve(self, *args) -> "BRepAdaptor_Curve const &":
        r"""
        Returns the 3d curve.

        Returns
        -------
        BRepAdaptor_Curve

        """
        return _HLRBRep.HLRBRep_Curve_GetCurve(self, *args)

    def GetType(self, *args) -> "GeomAbs_CurveType":
        r"""
        Returns the type of the curve in the current interval : line, circle, ellipse, hyperbola, parabola, beziercurve, bsplinecurve, othercurve.

        Returns
        -------
        GeomAbs_CurveType

        """
        return _HLRBRep.HLRBRep_Curve_GetType(self, *args)

    def Hyperbola(self, *args) -> "gp_Hypr2d":
        r"""
        No available documentation.

        Returns
        -------
        gp_Hypr2d

        """
        return _HLRBRep.HLRBRep_Curve_Hyperbola(self, *args)

    def Intervals(self, *args) -> "void":
        r"""
        Stores in <t> the parameters bounding the intervals of continuity <s>. //! the array must provide enough room to accomodate for the parameters. i.e. t.length() > nbintervals().

        Parameters
        ----------
        T: TColStd_Array1OfReal
        S: GeomAbs_Shape

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Curve_Intervals(self, *args)

    def IsClosed(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_Curve_IsClosed(self, *args)

    def IsPeriodic(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_Curve_IsPeriodic(self, *args)

    def IsRational(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_Curve_IsRational(self, *args)

    def Knots(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        kn: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Curve_Knots(self, *args)

    def LastParameter(self, *args) -> "Standard_Real":
        r"""
        No available documentation.

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_Curve_LastParameter(self, *args)

    def Line(self, *args) -> "gp_Lin2d":
        r"""
        No available documentation.

        Returns
        -------
        gp_Lin2d

        """
        return _HLRBRep.HLRBRep_Curve_Line(self, *args)

    def Multiplicities(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        mu: TColStd_Array1OfInteger

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Curve_Multiplicities(self, *args)

    def NbIntervals(self, *args) -> "Standard_Integer":
        r"""
        If necessary, breaks the curve in intervals of continuity <s>. and returns the number of intervals.

        Parameters
        ----------
        S: GeomAbs_Shape

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_Curve_NbIntervals(self, *args)

    def NbKnots(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_Curve_NbKnots(self, *args)

    def NbPoles(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_Curve_NbPoles(self, *args)

    def Parabola(self, *args) -> "gp_Parab2d":
        r"""
        No available documentation.

        Returns
        -------
        gp_Parab2d

        """
        return _HLRBRep.HLRBRep_Curve_Parabola(self, *args)

    def Parameter2d(self, *args) -> "Standard_Real":
        r"""
        Returns the parameter on the 2d curve from the parameter on the 3d curve.

        Parameters
        ----------
        P3d: float

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_Curve_Parameter2d(self, *args)

    def Parameter3d(self, *args) -> "Standard_Real":
        r"""
        Returns the parameter on the 3d curve from the parameter on the 2d curve.

        Parameters
        ----------
        P2d: float

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_Curve_Parameter3d(self, *args)

    def Period(self, *args) -> "Standard_Real":
        r"""
        No available documentation.

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_Curve_Period(self, *args)

    def Poles(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        TP: TColgp_Array1OfPnt2d

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        aCurve: Geom_BSplineCurve
        TP: TColgp_Array1OfPnt2d

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Curve_Poles(self, *args)

    def PolesAndWeights(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        TP: TColgp_Array1OfPnt2d
        TW: TColStd_Array1OfReal

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        aCurve: Geom_BSplineCurve
        TP: TColgp_Array1OfPnt2d
        TW: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Curve_PolesAndWeights(self, *args)

    def Projector(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        Proj: HLRAlgo_Projector *

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Curve_Projector(self, *args)

    def Resolution(self, *args) -> "Standard_Real":
        r"""
        Returns the parametric resolution corresponding to the real space resolution <r3d>.

        Parameters
        ----------
        R3d: float

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_Curve_Resolution(self, *args)

    def Tangent(self, *args) -> "void":
        r"""
        Depending on <atstart> computes the 2d point and tangent on the curve at sart (or at end). if the first derivative is null look after at start (or before at end) with the second derivative.

        Parameters
        ----------
        AtStart: bool
        P: gp_Pnt2d
        D: gp_Dir2d

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Curve_Tangent(self, *args)

    def Update(self, *args) -> "Standard_Real":
        r"""
        Update the minmax and the internal data.

        Parameters
        ----------
        TotMin: float
        TotMax: float

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_Curve_Update(self, *args)

    def UpdateMinMax(self, *args) -> "Standard_Real":
        r"""
        Update the minmax returns tol for enlarge;.

        Parameters
        ----------
        TotMin: float
        TotMax: float

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_Curve_UpdateMinMax(self, *args)

    def Value(self, *args) -> "gp_Pnt2d":
        r"""
        Computes the point of parameter u on the curve.

        Parameters
        ----------
        U: float

        Returns
        -------
        gp_Pnt2d

        """
        return _HLRBRep.HLRBRep_Curve_Value(self, *args)

    def Value3D(self, *args) -> "gp_Pnt":
        r"""
        Computes the 3d point of parameter u on the curve.

        Parameters
        ----------
        U: float

        Returns
        -------
        gp_Pnt

        """
        return _HLRBRep.HLRBRep_Curve_Value3D(self, *args)

    def Z(self, *args) -> "Standard_Real":
        r"""
        Computes the z coordinate of the point of parameter u on the curve in the viewing coordinate system.

        Parameters
        ----------
        U: float

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_Curve_Z(self, *args)

    __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

    @staticmethod
    def BSpline(*args) -> "opencascade::handle< Geom2d_BSplineCurve >":
        r"""
        No available documentation.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        opencascade::handle<Geom2d_BSplineCurve>

        """
        return _HLRBRep.HLRBRep_CurveTool_BSpline(*args)

    @staticmethod
    def Bezier(*args) -> "opencascade::handle< Geom2d_BezierCurve >":
        r"""
        No available documentation.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        opencascade::handle<Geom2d_BezierCurve>

        """
        return _HLRBRep.HLRBRep_CurveTool_Bezier(*args)

    @staticmethod
    def Circle(*args) -> "gp_Circ2d":
        r"""
        No available documentation.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        gp_Circ2d

        """
        return _HLRBRep.HLRBRep_CurveTool_Circle(*args)

    @staticmethod
    def Continuity(*args) -> "GeomAbs_Shape":
        r"""
        No available documentation.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        GeomAbs_Shape

        """
        return _HLRBRep.HLRBRep_CurveTool_Continuity(*args)

    @staticmethod
    def D0(*args) -> "void":
        r"""
        Computes the point of parameter u on the curve.

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

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_CurveTool_D0(*args)

    @staticmethod
    def D1(*args) -> "void":
        r"""
        Computes the point of parameter u on the curve with its first derivative. raised if the continuity of the current interval is not c1.

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

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_CurveTool_D1(*args)

    @staticmethod
    def D2(*args) -> "void":
        r"""
        Returns the point p of parameter u, the first and second derivatives v1 and v2. raised if the continuity of the current interval is not c2.

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

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_CurveTool_D2(*args)

    @staticmethod
    def D3(*args) -> "void":
        r"""
        Returns the point p of parameter u, the first, the second and the third derivative. raised if the continuity of the current interval is not c3.

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

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_CurveTool_D3(*args)

    @staticmethod
    def DN(*args) -> "gp_Vec2d":
        r"""
        The returned vector gives the value of the derivative for the order of derivation n. raised if the continuity of the current interval is not cn. raised if n < 1.

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

        Returns
        -------
        gp_Vec2d

        """
        return _HLRBRep.HLRBRep_CurveTool_DN(*args)

    @staticmethod
    def Degree(*args) -> "Standard_Integer":
        r"""
        No available documentation.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_CurveTool_Degree(*args)

    @staticmethod
    def Ellipse(*args) -> "gp_Elips2d":
        r"""
        No available documentation.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        gp_Elips2d

        """
        return _HLRBRep.HLRBRep_CurveTool_Ellipse(*args)

    @staticmethod
    def EpsX(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_CurveTool_EpsX(*args)

    @staticmethod
    def FirstParameter(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_CurveTool_FirstParameter(*args)

    @staticmethod
    def GetInterval(*args) -> "Standard_Real &, Standard_Real &":
        r"""
        Output the bounds of interval of index <index> used if type == composite.

        Parameters
        ----------
        C: Standard_Address
        Index: int
        Tab: TColStd_Array1OfReal

        Returns
        -------
        U1: float
        U2: float

        """
        return _HLRBRep.HLRBRep_CurveTool_GetInterval(*args)

    @staticmethod
    def GetType(*args) -> "GeomAbs_CurveType":
        r"""
        Returns the type of the curve in the current interval : line, circle, ellipse, hyperbola, parabola, beziercurve, bsplinecurve, othercurve.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        GeomAbs_CurveType

        """
        return _HLRBRep.HLRBRep_CurveTool_GetType(*args)

    @staticmethod
    def Hyperbola(*args) -> "gp_Hypr2d":
        r"""
        No available documentation.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        gp_Hypr2d

        """
        return _HLRBRep.HLRBRep_CurveTool_Hyperbola(*args)

    @staticmethod
    def Intervals(*args) -> "void":
        r"""
        Stores in <t> the parameters bounding the intervals of continuity <s>. //! the array must provide enough room to accomodate for the parameters. i.e. t.length() > nbintervals().

        Parameters
        ----------
        C: Standard_Address
        T: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_CurveTool_Intervals(*args)

    @staticmethod
    def IsClosed(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_CurveTool_IsClosed(*args)

    @staticmethod
    def IsPeriodic(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_CurveTool_IsPeriodic(*args)

    @staticmethod
    def LastParameter(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_CurveTool_LastParameter(*args)

    @staticmethod
    def Line(*args) -> "gp_Lin2d":
        r"""
        No available documentation.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        gp_Lin2d

        """
        return _HLRBRep.HLRBRep_CurveTool_Line(*args)

    @staticmethod
    def NbIntervals(*args) -> "Standard_Integer":
        r"""
        Returns the number of intervals for continuity <s>. may be one if continuity(myclass) >= <s>.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_CurveTool_NbIntervals(*args)

    @staticmethod
    def NbSamples(*args) -> "Standard_Integer":
        r"""
        No available documentation.

        Parameters
        ----------
        C: Standard_Address
        U0: float
        U1: float

        Returns
        -------
        int
        No available documentation.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_CurveTool_NbSamples(*args)

    @staticmethod
    def Parabola(*args) -> "gp_Parab2d":
        r"""
        No available documentation.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        gp_Parab2d

        """
        return _HLRBRep.HLRBRep_CurveTool_Parabola(*args)

    @staticmethod
    def Period(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_CurveTool_Period(*args)

    @staticmethod
    def Resolution(*args) -> "Standard_Real":
        r"""
        Returns the parametric resolution corresponding to the real space resolution <r3d>.

        Parameters
        ----------
        C: Standard_Address
        R3d: float

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_CurveTool_Resolution(*args)

    @staticmethod
    def TheType(*args) -> "GeomAbs_CurveType":
        r"""
        Returns the type of the curve in the current interval : line, circle, ellipse, hyperbola, parabola, beziercurve, bsplinecurve, othercurve.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        GeomAbs_CurveType

        """
        return _HLRBRep.HLRBRep_CurveTool_TheType(*args)

    @staticmethod
    def Value(*args) -> "gp_Pnt2d":
        r"""
        Computes the point of parameter u on the curve.

        Parameters
        ----------
        C: Standard_Address
        U: float

        Returns
        -------
        gp_Pnt2d

        """
        return _HLRBRep.HLRBRep_CurveTool_Value(*args)

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

def HLRBRep_CurveTool_BSpline(*args) -> "opencascade::handle< Geom2d_BSplineCurve >":
    r"""
    No available documentation.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    opencascade::handle<Geom2d_BSplineCurve>

    """
    return _HLRBRep.HLRBRep_CurveTool_BSpline(*args)

def HLRBRep_CurveTool_Bezier(*args) -> "opencascade::handle< Geom2d_BezierCurve >":
    r"""
    No available documentation.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    opencascade::handle<Geom2d_BezierCurve>

    """
    return _HLRBRep.HLRBRep_CurveTool_Bezier(*args)

def HLRBRep_CurveTool_Circle(*args) -> "gp_Circ2d":
    r"""
    No available documentation.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    gp_Circ2d

    """
    return _HLRBRep.HLRBRep_CurveTool_Circle(*args)

def HLRBRep_CurveTool_Continuity(*args) -> "GeomAbs_Shape":
    r"""
    No available documentation.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    GeomAbs_Shape

    """
    return _HLRBRep.HLRBRep_CurveTool_Continuity(*args)

def HLRBRep_CurveTool_D0(*args) -> "void":
    r"""
    Computes the point of parameter u on the curve.

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

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_CurveTool_D0(*args)

def HLRBRep_CurveTool_D1(*args) -> "void":
    r"""
    Computes the point of parameter u on the curve with its first derivative. raised if the continuity of the current interval is not c1.

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

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_CurveTool_D1(*args)

def HLRBRep_CurveTool_D2(*args) -> "void":
    r"""
    Returns the point p of parameter u, the first and second derivatives v1 and v2. raised if the continuity of the current interval is not c2.

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

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_CurveTool_D2(*args)

def HLRBRep_CurveTool_D3(*args) -> "void":
    r"""
    Returns the point p of parameter u, the first, the second and the third derivative. raised if the continuity of the current interval is not c3.

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

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_CurveTool_D3(*args)

def HLRBRep_CurveTool_DN(*args) -> "gp_Vec2d":
    r"""
    The returned vector gives the value of the derivative for the order of derivation n. raised if the continuity of the current interval is not cn. raised if n < 1.

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

    Returns
    -------
    gp_Vec2d

    """
    return _HLRBRep.HLRBRep_CurveTool_DN(*args)

def HLRBRep_CurveTool_Degree(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_CurveTool_Degree(*args)

def HLRBRep_CurveTool_Ellipse(*args) -> "gp_Elips2d":
    r"""
    No available documentation.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    gp_Elips2d

    """
    return _HLRBRep.HLRBRep_CurveTool_Ellipse(*args)

def HLRBRep_CurveTool_EpsX(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_CurveTool_EpsX(*args)

def HLRBRep_CurveTool_FirstParameter(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_CurveTool_FirstParameter(*args)

def HLRBRep_CurveTool_GetInterval(*args) -> "Standard_Real &, Standard_Real &":
    r"""
    Output the bounds of interval of index <index> used if type == composite.

    Parameters
    ----------
    C: Standard_Address
    Index: int
    Tab: TColStd_Array1OfReal

    Returns
    -------
    U1: float
    U2: float

    """
    return _HLRBRep.HLRBRep_CurveTool_GetInterval(*args)

def HLRBRep_CurveTool_GetType(*args) -> "GeomAbs_CurveType":
    r"""
    Returns the type of the curve in the current interval : line, circle, ellipse, hyperbola, parabola, beziercurve, bsplinecurve, othercurve.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    GeomAbs_CurveType

    """
    return _HLRBRep.HLRBRep_CurveTool_GetType(*args)

def HLRBRep_CurveTool_Hyperbola(*args) -> "gp_Hypr2d":
    r"""
    No available documentation.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    gp_Hypr2d

    """
    return _HLRBRep.HLRBRep_CurveTool_Hyperbola(*args)

def HLRBRep_CurveTool_Intervals(*args) -> "void":
    r"""
    Stores in <t> the parameters bounding the intervals of continuity <s>. //! the array must provide enough room to accomodate for the parameters. i.e. t.length() > nbintervals().

    Parameters
    ----------
    C: Standard_Address
    T: TColStd_Array1OfReal

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_CurveTool_Intervals(*args)

def HLRBRep_CurveTool_IsClosed(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    bool

    """
    return _HLRBRep.HLRBRep_CurveTool_IsClosed(*args)

def HLRBRep_CurveTool_IsPeriodic(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    bool

    """
    return _HLRBRep.HLRBRep_CurveTool_IsPeriodic(*args)

def HLRBRep_CurveTool_LastParameter(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_CurveTool_LastParameter(*args)

def HLRBRep_CurveTool_Line(*args) -> "gp_Lin2d":
    r"""
    No available documentation.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    gp_Lin2d

    """
    return _HLRBRep.HLRBRep_CurveTool_Line(*args)

def HLRBRep_CurveTool_NbIntervals(*args) -> "Standard_Integer":
    r"""
    Returns the number of intervals for continuity <s>. may be one if continuity(myclass) >= <s>.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_CurveTool_NbIntervals(*args)

def HLRBRep_CurveTool_NbSamples(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    C: Standard_Address
    U0: float
    U1: float

    Returns
    -------
    int
    No available documentation.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_CurveTool_NbSamples(*args)

def HLRBRep_CurveTool_Parabola(*args) -> "gp_Parab2d":
    r"""
    No available documentation.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    gp_Parab2d

    """
    return _HLRBRep.HLRBRep_CurveTool_Parabola(*args)

def HLRBRep_CurveTool_Period(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_CurveTool_Period(*args)

def HLRBRep_CurveTool_Resolution(*args) -> "Standard_Real":
    r"""
    Returns the parametric resolution corresponding to the real space resolution <r3d>.

    Parameters
    ----------
    C: Standard_Address
    R3d: float

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_CurveTool_Resolution(*args)

def HLRBRep_CurveTool_TheType(*args) -> "GeomAbs_CurveType":
    r"""
    Returns the type of the curve in the current interval : line, circle, ellipse, hyperbola, parabola, beziercurve, bsplinecurve, othercurve.

    Parameters
    ----------
    C: Standard_Address

    Returns
    -------
    GeomAbs_CurveType

    """
    return _HLRBRep.HLRBRep_CurveTool_TheType(*args)

def HLRBRep_CurveTool_Value(*args) -> "gp_Pnt2d":
    r"""
    Computes the point of parameter u on the curve.

    Parameters
    ----------
    C: Standard_Address
    U: float

    Returns
    -------
    gp_Pnt2d

    """
    return _HLRBRep.HLRBRep_CurveTool_Value(*args)

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

    def __init__(self, *args):
        r"""
        Create an empty data structure of <nv> vertices, <ne> edges and <nf> faces.

        Parameters
        ----------
        NV: int
        NE: int
        NF: int

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_Data_swiginit(self, _HLRBRep.new_HLRBRep_Data(*args))

    def AboveInterference(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the rejected interference is above the face.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_Data_AboveInterference(self, *args)

    def Classify(self, *args) -> "TopAbs_State":
        r"""
        Classification of an edge.

        Parameters
        ----------
        E: int
        ED: HLRBRep_EdgeData
        LevelFlag: bool
        param: float

        Returns
        -------
        Level: int

        """
        return _HLRBRep.HLRBRep_Data_Classify(self, *args)

    def Compare(self, *args) -> "TopAbs_State":
        r"""
        Returns the state of the edge <ed> after classification.

        Parameters
        ----------
        E: int
        ED: HLRBRep_EdgeData

        Returns
        -------
        TopAbs_State

        """
        return _HLRBRep.HLRBRep_Data_Compare(self, *args)

    def Destroy(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Data_Destroy(self, *args)

    def EDataArray(self, *args) -> "HLRBRep_Array1OfEData &":
        r"""
        No available documentation.

        Returns
        -------
        HLRBRep_Array1OfEData

        """
        return _HLRBRep.HLRBRep_Data_EDataArray(self, *args)

    def Edge(self, *args) -> "Standard_Integer":
        r"""
        Returns the current edge.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_Data_Edge(self, *args)

    def EdgeMap(self, *args) -> "TopTools_IndexedMapOfShape &":
        r"""
        No available documentation.

        Returns
        -------
        TopTools_IndexedMapOfShape

        """
        return _HLRBRep.HLRBRep_Data_EdgeMap(self, *args)

    def EdgeOfTheHidingFace(self, *args) -> "Standard_Boolean":
        r"""
        Returns the true if the edge <ed> belongs to the hiding face.

        Parameters
        ----------
        E: int
        ED: HLRBRep_EdgeData

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_Data_EdgeOfTheHidingFace(self, *args)

    def EdgeState(self, *args) -> "void":
        r"""
        Returns the local 3d state of the intersection between the current edge and the current face at the <p1> and <p2> parameters.

        Parameters
        ----------
        p1: float
        p2: float
        stbef: TopAbs_State
        staf: TopAbs_State

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Data_EdgeState(self, *args)

    def FDataArray(self, *args) -> "HLRBRep_Array1OfFData &":
        r"""
        No available documentation.

        Returns
        -------
        HLRBRep_Array1OfFData

        """
        return _HLRBRep.HLRBRep_Data_FDataArray(self, *args)

    def FaceMap(self, *args) -> "TopTools_IndexedMapOfShape &":
        r"""
        No available documentation.

        Returns
        -------
        TopTools_IndexedMapOfShape

        """
        return _HLRBRep.HLRBRep_Data_FaceMap(self, *args)

    def HidingStartLevel(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of levels of hiding face above the first point of the edge <ed>. the interferencelist is given to compute far away of the interferences and then come back.

        Parameters
        ----------
        E: int
        ED: HLRBRep_EdgeData
        IL: HLRAlgo_InterferenceList

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_Data_HidingStartLevel(self, *args)

    def HidingTheFace(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the current edge to be hidden belongs to the hiding face.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_Data_HidingTheFace(self, *args)

    def InitBoundSort(self, *args) -> "void":
        r"""
        To compare with only non rejected edges.

        Parameters
        ----------
        MinMaxTot: HLRAlgo_EdgesBlock::MinMaxIndices
        e1: int
        e2: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Data_InitBoundSort(self, *args)

    def InitEdge(self, *args) -> "void":
        r"""
        Begin an iteration only on visible edges crossing the face number <fi>.

        Parameters
        ----------
        FI: int
        MST: BRepTopAdaptor_MapOfShapeTool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Data_InitEdge(self, *args)

    def InitInterference(self, *args) -> "void":
        r"""
        Intersect the current edge with the boundary of the hiding face. the interferences are given by the more, next, and value methods.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Data_InitInterference(self, *args)

    def Interference(self, *args) -> "HLRAlgo_Interference &":
        r"""
        No available documentation.

        Returns
        -------
        HLRAlgo_Interference

        """
        return _HLRBRep.HLRBRep_Data_Interference(self, *args)

    def IsBadFace(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the current face is bad.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_Data_IsBadFace(self, *args)

    def LocalFEGeometry2D(self, *args) -> "void":
        r"""
        Returns the local description of the projection of the current fedge at parameter <param>.

        Parameters
        ----------
        FE: int
        Param: float
        Tg: gp_Dir2d
        Nm: gp_Dir2d

        Returns
        -------
        Cu: float

        """
        return _HLRBRep.HLRBRep_Data_LocalFEGeometry2D(self, *args)

    def LocalLEGeometry2D(self, *args) -> "void":
        r"""
        Returns the local description of the projection of the current ledge at parameter <param>.

        Parameters
        ----------
        Param: float
        Tg: gp_Dir2d
        Nm: gp_Dir2d

        Returns
        -------
        Cu: float

        """
        return _HLRBRep.HLRBRep_Data_LocalLEGeometry2D(self, *args)

    def MoreEdge(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_Data_MoreEdge(self, *args)

    def MoreInterference(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_Data_MoreInterference(self, *args)

    def NbEdges(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_Data_NbEdges(self, *args)

    def NbFaces(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_Data_NbFaces(self, *args)

    def NbVertices(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_Data_NbVertices(self, *args)

    def NextEdge(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        skip: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Data_NextEdge(self, *args)

    def NextInterference(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Data_NextInterference(self, *args)

    def Projector(self, *args) -> "HLRAlgo_Projector &":
        r"""
        No available documentation.

        Returns
        -------
        HLRAlgo_Projector

        """
        return _HLRBRep.HLRBRep_Data_Projector(self, *args)

    def RejectedInterference(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the interference is rejected.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_Data_RejectedInterference(self, *args)

    def SimplClassify(self, *args) -> "TopAbs_State":
        r"""
        Simple classification of part of edge [p1, p2] returns out if at least 1 of nbp points of edge is out othewise returns in it is used to check 'suspision' hided part of edge.

        Parameters
        ----------
        E: int
        ED: HLRBRep_EdgeData
        Nbp: int
        p1: float
        p2: float

        Returns
        -------
        TopAbs_State

        """
        return _HLRBRep.HLRBRep_Data_SimplClassify(self, *args)

    def SimpleHidingFace(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the current hiding face is not an auto-intersected one.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_Data_SimpleHidingFace(self, *args)

    def Tolerance(self, *args) -> "Standard_ShortReal":
        r"""
        Set the tolerance for the rejections during the exploration.

        Parameters
        ----------
        tol: Standard_ShortReal

        Returns
        -------
        None
        Returns the tolerance for the rejections during the exploration.

        Returns
        -------
        Standard_ShortReal

        """
        return _HLRBRep.HLRBRep_Data_Tolerance(self, *args)

    def Update(self, *args) -> "void":
        r"""
        End of building of the data and updating all the informations linked to the projection.

        Parameters
        ----------
        P: HLRAlgo_Projector

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Data_Update(self, *args)

    def Write(self, *args) -> "void":
        r"""
        Write <ds> in me with a translation of <dv>,<de>,<df>.

        Parameters
        ----------
        DS: HLRBRep_Data
        dv: int
        de: int
        df: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Data_Write(self, *args)


    @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

    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.

        Parameters
        ----------
        VList: HLRBRep_VertexList

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_EdgeBuilder_swiginit(self, _HLRBRep.new_HLRBRep_EdgeBuilder(*args))

    def AreaEdgeState(self, *args) -> "TopAbs_State":
        r"""
        Returns the edge state of the current area.

        Returns
        -------
        TopAbs_State

        """
        return _HLRBRep.HLRBRep_EdgeBuilder_AreaEdgeState(self, *args)

    def AreaState(self, *args) -> "TopAbs_State":
        r"""
        Returns the state of the current area.

        Returns
        -------
        TopAbs_State

        """
        return _HLRBRep.HLRBRep_EdgeBuilder_AreaState(self, *args)

    def Builds(self, *args) -> "void":
        r"""
        Reinitialize the results iteration to the parts with state <tobuild>. if this method is not called after construction the default is <tobuild> = in.

        Parameters
        ----------
        ToBuild: TopAbs_State

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeBuilder_Builds(self, *args)

    def Current(self, *args) -> "HLRAlgo_Intersection const &":
        r"""
        Returns the current vertex of the current edge.

        Returns
        -------
        HLRAlgo_Intersection

        """
        return _HLRBRep.HLRBRep_EdgeBuilder_Current(self, *args)

    def Destroy(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeBuilder_Destroy(self, *args)

    def HasArea(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if there is a current area.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_EdgeBuilder_HasArea(self, *args)

    def InitAreas(self, *args) -> "void":
        r"""
        Initialize an iteration on the areas.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeBuilder_InitAreas(self, *args)

    def IsBoundary(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the current vertex comes from the boundary of the edge.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_EdgeBuilder_IsBoundary(self, *args)

    def IsInterference(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the current vertex was an interference.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_EdgeBuilder_IsInterference(self, *args)

    def LeftLimit(self, *args) -> "opencascade::handle< HLRBRep_AreaLimit >":
        r"""
        Returns the arealimit beginning the current area. this is a null handle when the area is infinite on the left.

        Returns
        -------
        opencascade::handle<HLRBRep_AreaLimit>

        """
        return _HLRBRep.HLRBRep_EdgeBuilder_LeftLimit(self, *args)

    def MoreEdges(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if there are more new edges to build.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_EdgeBuilder_MoreEdges(self, *args)

    def MoreVertices(self, *args) -> "Standard_Boolean":
        r"""
        True if there are more vertices in the current new edge.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_EdgeBuilder_MoreVertices(self, *args)

    def NextArea(self, *args) -> "void":
        r"""
        Set the current area to the next area.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeBuilder_NextArea(self, *args)

    def NextEdge(self, *args) -> "void":
        r"""
        Proceeds to the next edge to build. skip all remaining vertices on the current edge.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeBuilder_NextEdge(self, *args)

    def NextVertex(self, *args) -> "void":
        r"""
        Proceeds to the next vertex of the current edge.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeBuilder_NextVertex(self, *args)

    def Orientation(self, *args) -> "TopAbs_Orientation":
        r"""
        Returns the new orientation of the current vertex.

        Returns
        -------
        TopAbs_Orientation

        """
        return _HLRBRep.HLRBRep_EdgeBuilder_Orientation(self, *args)

    def PreviousArea(self, *args) -> "void":
        r"""
        Set the current area to the previous area.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeBuilder_PreviousArea(self, *args)

    def RightLimit(self, *args) -> "opencascade::handle< HLRBRep_AreaLimit >":
        r"""
        Returns the arealimit ending the current area. this is a null handle when the area is infinite on the right.

        Returns
        -------
        opencascade::handle<HLRBRep_AreaLimit>

        """
        return _HLRBRep.HLRBRep_EdgeBuilder_RightLimit(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_EdgeData_swiginit(self, _HLRBRep.new_HLRBRep_EdgeData(*args))

    def AutoIntersectionDone(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeData_AutoIntersectionDone(self, *args)

    def ChangeGeometry(self, *args) -> "HLRBRep_Curve &":
        r"""
        No available documentation.

        Returns
        -------
        HLRBRep_Curve

        """
        return _HLRBRep.HLRBRep_EdgeData_ChangeGeometry(self, *args)

    def Curve(self, *args) -> "HLRBRep_Curve *":
        r"""
        No available documentation.

        Returns
        -------
        HLRBRep_Curve *

        """
        return _HLRBRep.HLRBRep_EdgeData_Curve(self, *args)

    def CutAtEnd(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeData_CutAtEnd(self, *args)

    def CutAtSta(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeData_CutAtSta(self, *args)

    def Geometry(self, *args) -> "HLRBRep_Curve const &":
        r"""
        No available documentation.

        Returns
        -------
        HLRBRep_Curve

        """
        return _HLRBRep.HLRBRep_EdgeData_Geometry(self, *args)

    def HideCount(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        int
        No available documentation.

        Parameters
        ----------
        I: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeData_HideCount(self, *args)

    def MinMax(self, *args) -> "HLRAlgo_EdgesBlock::MinMaxIndices &":
        r"""
        No available documentation.

        Returns
        -------
        HLRAlgo_EdgesBlock::MinMaxIndices

        """
        return _HLRBRep.HLRBRep_EdgeData_MinMax(self, *args)

    def OutLVEnd(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeData_OutLVEnd(self, *args)

    def OutLVSta(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeData_OutLVSta(self, *args)

    def Rg1Line(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeData_Rg1Line(self, *args)

    def RgNLine(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeData_RgNLine(self, *args)

    def Selected(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeData_Selected(self, *args)

    def Set(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        Reg1: bool
        RegN: bool
        EG: TopoDS_Edge
        V1: int
        V2: int
        Out1: bool
        Out2: bool
        Cut1: bool
        Cut2: bool
        Start: float
        TolStart: Standard_ShortReal
        End: float
        TolEnd: Standard_ShortReal

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeData_Set(self, *args)

    def Simple(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeData_Simple(self, *args)

    def Status(self, *args) -> "HLRAlgo_EdgeStatus &":
        r"""
        No available documentation.

        Returns
        -------
        HLRAlgo_EdgeStatus

        """
        return _HLRBRep.HLRBRep_EdgeData_Status(self, *args)

    def Tolerance(self, *args) -> "Standard_ShortReal":
        r"""
        No available documentation.

        Returns
        -------
        Standard_ShortReal

        """
        return _HLRBRep.HLRBRep_EdgeData_Tolerance(self, *args)

    def UpdateMinMax(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        theTotMinMax: HLRAlgo_EdgesBlock::MinMaxIndices

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeData_UpdateMinMax(self, *args)

    def Used(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeData_Used(self, *args)

    def VEnd(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        int
        No available documentation.

        Parameters
        ----------
        I: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeData_VEnd(self, *args)

    def VSta(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        int
        No available documentation.

        Parameters
        ----------
        I: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeData_VSta(self, *args)

    def VerAtEnd(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeData_VerAtEnd(self, *args)

    def VerAtSta(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeData_VerAtSta(self, *args)

    def Vertical(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeData_Vertical(self, *args)

    __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

    @staticmethod
    def CurvatureValue(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        F: Standard_Address
        U: float
        V: float
        Tg: gp_Dir

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_EdgeFaceTool_CurvatureValue(*args)

    @staticmethod
    def UVPoint(*args) -> "Standard_Real &, Standard_Real &":
        r"""
        Return true if u and v are found.

        Parameters
        ----------
        Par: float
        E: Standard_Address
        F: Standard_Address

        Returns
        -------
        U: float
        V: float

        """
        return _HLRBRep.HLRBRep_EdgeFaceTool_UVPoint(*args)

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

def HLRBRep_EdgeFaceTool_CurvatureValue(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    F: Standard_Address
    U: float
    V: float
    Tg: gp_Dir

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_EdgeFaceTool_CurvatureValue(*args)

def HLRBRep_EdgeFaceTool_UVPoint(*args) -> "Standard_Real &, Standard_Real &":
    r"""
    Return true if u and v are found.

    Parameters
    ----------
    Par: float
    E: Standard_Address
    F: Standard_Address

    Returns
    -------
    U: float
    V: float

    """
    return _HLRBRep.HLRBRep_EdgeFaceTool_UVPoint(*args)

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

    @staticmethod
    def AddInterference(*args) -> "void":
        r"""
        Add the interference <i> to the list <il>.

        Parameters
        ----------
        IL: HLRAlgo_InterferenceList
        I: HLRAlgo_Interference
        T: HLRBRep_EdgeInterferenceTool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeIList_AddInterference(*args)

    @staticmethod
    def ProcessComplex(*args) -> "void":
        r"""
        Process complex transitions on the list il.

        Parameters
        ----------
        IL: HLRAlgo_InterferenceList
        T: HLRBRep_EdgeInterferenceTool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeIList_ProcessComplex(*args)

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

def HLRBRep_EdgeIList_AddInterference(*args) -> "void":
    r"""
    Add the interference <i> to the list <il>.

    Parameters
    ----------
    IL: HLRAlgo_InterferenceList
    I: HLRAlgo_Interference
    T: HLRBRep_EdgeInterferenceTool

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_EdgeIList_AddInterference(*args)

def HLRBRep_EdgeIList_ProcessComplex(*args) -> "void":
    r"""
    Process complex transitions on the list il.

    Parameters
    ----------
    IL: HLRAlgo_InterferenceList
    T: HLRBRep_EdgeInterferenceTool

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_EdgeIList_ProcessComplex(*args)

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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        DS: HLRBRep_Data

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_EdgeInterferenceTool_swiginit(self, _HLRBRep.new_HLRBRep_EdgeInterferenceTool(*args))

    def CurrentOrientation(self, *args) -> "TopAbs_Orientation":
        r"""
        No available documentation.

        Returns
        -------
        TopAbs_Orientation

        """
        return _HLRBRep.HLRBRep_EdgeInterferenceTool_CurrentOrientation(self, *args)

    def CurrentParameter(self, *args) -> "Standard_Real":
        r"""
        No available documentation.

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_EdgeInterferenceTool_CurrentParameter(self, *args)

    def CurrentVertex(self, *args) -> "HLRAlgo_Intersection const &":
        r"""
        No available documentation.

        Returns
        -------
        HLRAlgo_Intersection

        """
        return _HLRBRep.HLRBRep_EdgeInterferenceTool_CurrentVertex(self, *args)

    def EdgeGeometry(self, *args) -> "void":
        r"""
        Returns local geometric description of the edge at parameter <para>. see method reset of class edgefacetransition from topcnx for other arguments.

        Parameters
        ----------
        Param: float
        Tgt: gp_Dir
        Nrm: gp_Dir

        Returns
        -------
        Curv: float

        """
        return _HLRBRep.HLRBRep_EdgeInterferenceTool_EdgeGeometry(self, *args)

    def InitVertices(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeInterferenceTool_InitVertices(self, *args)

    def InterferenceBoundaryGeometry(self, *args) -> "void":
        r"""
        Returns the geometry of the boundary at the interference <i>. see the addinterference method of the class edgefacetransition from topcnx for the other arguments.

        Parameters
        ----------
        I: HLRAlgo_Interference
        Tang: gp_Dir
        Norm: gp_Dir

        Returns
        -------
        Curv: float

        """
        return _HLRBRep.HLRBRep_EdgeInterferenceTool_InterferenceBoundaryGeometry(self, *args)

    def IsPeriodic(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_EdgeInterferenceTool_IsPeriodic(self, *args)

    def LoadEdge(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeInterferenceTool_LoadEdge(self, *args)

    def MoreVertices(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_EdgeInterferenceTool_MoreVertices(self, *args)

    def NextVertex(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_EdgeInterferenceTool_NextVertex(self, *args)

    def ParameterOfInterference(self, *args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        I: HLRAlgo_Interference

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_EdgeInterferenceTool_ParameterOfInterference(self, *args)

    def SameInterferences(self, *args) -> "Standard_Boolean":
        r"""
        True if the two interferences are on the same geometric locus.

        Parameters
        ----------
        I1: HLRAlgo_Interference
        I2: HLRAlgo_Interference

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_EdgeInterferenceTool_SameInterferences(self, *args)

    def SameVertexAndInterference(self, *args) -> "Standard_Boolean":
        r"""
        True if the interference and the current vertex are on the same geometric locus.

        Parameters
        ----------
        I: HLRAlgo_Interference

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_EdgeInterferenceTool_SameVertexAndInterference(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        C1: Standard_Address
        C2: Standard_Address
        Tol: float

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter(*args))

    def AnErrorOccurred(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter_AnErrorOccurred(self, *args)

    def NbRoots(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter_NbRoots(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        Poly1: HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter
        Poly2: HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter

        Returns
        -------
        NumSegOn1: int
        NumSegOn2: int
        ParamOnSeg1: float
        ParamOnSeg2: float
        No available documentation.

        Parameters
        ----------
        Uo: float
        Vo: float
        UInf: float
        VInf: float
        USup: float
        VSup: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter_Perform(self, *args)

    def Roots(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------

        Returns
        -------
        U: float
        V: float

        """
        return _HLRBRep.HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter_Roots(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_FaceData_swiginit(self, _HLRBRep.new_HLRBRep_FaceData(*args))

    def Back(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceData_Back(self, *args)

    def Closed(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceData_Closed(self, *args)

    def Cone(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceData_Cone(self, *args)

    def Cut(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceData_Cut(self, *args)

    def Cylinder(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceData_Cylinder(self, *args)

    def Geometry(self, *args) -> "HLRBRep_Surface &":
        r"""
        No available documentation.

        Returns
        -------
        HLRBRep_Surface

        """
        return _HLRBRep.HLRBRep_FaceData_Geometry(self, *args)

    def Hiding(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceData_Hiding(self, *args)

    def Orientation(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        TopAbs_Orientation
        No available documentation.

        Parameters
        ----------
        O: TopAbs_Orientation

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceData_Orientation(self, *args)

    def Plane(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceData_Plane(self, *args)

    def Selected(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceData_Selected(self, *args)

    def Set(self, *args) -> "void":
        r"""
        <or> is the orientation of the face. <cl> is true if the face belongs to a closed volume. <nw> is the number of wires ( or block of edges ) of the face.

        Parameters
        ----------
        FG: TopoDS_Face
        Or: TopAbs_Orientation
        Cl: bool
        NW: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceData_Set(self, *args)

    def SetWEdge(self, *args) -> "void":
        r"""
        Set the edge number <ewi> of the wire <wi>.

        Parameters
        ----------
        WI: int
        EWI: int
        EI: int
        Or: TopAbs_Orientation
        OutL: bool
        Inte: bool
        Dble: bool
        IsoL: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceData_SetWEdge(self, *args)

    def SetWire(self, *args) -> "void":
        r"""
        Set <ne> the number of edges of the wire number <wi>.

        Parameters
        ----------
        WI: int
        NE: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceData_SetWire(self, *args)

    def Side(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceData_Side(self, *args)

    def Simple(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceData_Simple(self, *args)

    def Size(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        float
        No available documentation.

        Parameters
        ----------
        S: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceData_Size(self, *args)

    def Sphere(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceData_Sphere(self, *args)

    def Tolerance(self, *args) -> "Standard_ShortReal":
        r"""
        No available documentation.

        Returns
        -------
        Standard_ShortReal

        """
        return _HLRBRep.HLRBRep_FaceData_Tolerance(self, *args)

    def Torus(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceData_Torus(self, *args)

    def Wires(self, *args) -> "opencascade::handle< HLRAlgo_WiresBlock > &":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<HLRAlgo_WiresBlock>

        """
        return _HLRBRep.HLRBRep_FaceData_Wires(self, *args)

    def WithOutL(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        B: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceData_WithOutL(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_FaceIterator_swiginit(self, _HLRBRep.new_HLRBRep_FaceIterator(*args))

    def BeginningOfWire(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the current edge is the first of a wire.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_FaceIterator_BeginningOfWire(self, *args)

    def Double(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_FaceIterator_Double(self, *args)

    def Edge(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_FaceIterator_Edge(self, *args)

    def EndOfWire(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the current edge is the last of a wire.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_FaceIterator_EndOfWire(self, *args)

    def InitEdge(self, *args) -> "void":
        r"""
        Begin an exploration of the edges of the face <fd>.

        Parameters
        ----------
        fd: HLRBRep_FaceData

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceIterator_InitEdge(self, *args)

    def Internal(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_FaceIterator_Internal(self, *args)

    def IsoLine(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_FaceIterator_IsoLine(self, *args)

    def MoreEdge(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_FaceIterator_MoreEdge(self, *args)

    def NextEdge(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceIterator_NextEdge(self, *args)

    def Orientation(self, *args) -> "TopAbs_Orientation":
        r"""
        No available documentation.

        Returns
        -------
        TopAbs_Orientation

        """
        return _HLRBRep.HLRBRep_FaceIterator_Orientation(self, *args)

    def OutLine(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_FaceIterator_OutLine(self, *args)

    def SkipWire(self, *args) -> "void":
        r"""
        Skip the current wire in the exploration.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_FaceIterator_SkipWire(self, *args)

    def Wire(self, *args) -> "opencascade::handle< HLRAlgo_EdgesBlock >":
        r"""
        Returns the edges of the current wire.

        Returns
        -------
        opencascade::handle<HLRAlgo_EdgesBlock>

        """
        return _HLRBRep.HLRBRep_FaceIterator_Wire(self, *args)

    __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

    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.

        Parameters
        ----------
        A: HLRBRep_Algo

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_HLRToShape_swiginit(self, _HLRBRep.new_HLRBRep_HLRToShape(*args))

    def CompoundOfEdges(self, *args) -> "TopoDS_Shape":
        r"""
        Returns compound of resulting edges of required type and visibility, taking into account the kind of space (2d or 3d).

        Parameters
        ----------
        type: HLRBRep_TypeOfResultingEdge
        visible: bool
        In3d: bool

        Returns
        -------
        TopoDS_Shape
        For specified shape returns compound of resulting edges of required type and visibility, taking into account the kind of space (2d or 3d).

        Parameters
        ----------
        S: TopoDS_Shape
        type: HLRBRep_TypeOfResultingEdge
        visible: bool
        In3d: bool

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_HLRToShape_CompoundOfEdges(self, *args)

    def HCompound(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_HLRToShape_HCompound(self, *args)

    def IsoLineHCompound(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_HLRToShape_IsoLineHCompound(self, *args)

    def IsoLineVCompound(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_HLRToShape_IsoLineVCompound(self, *args)

    def OutLineHCompound(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_HLRToShape_OutLineHCompound(self, *args)

    def OutLineVCompound(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_HLRToShape_OutLineVCompound(self, *args)

    def OutLineVCompound3d(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_HLRToShape_OutLineVCompound3d(self, *args)

    def Rg1LineHCompound(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_HLRToShape_Rg1LineHCompound(self, *args)

    def Rg1LineVCompound(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_HLRToShape_Rg1LineVCompound(self, *args)

    def RgNLineHCompound(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_HLRToShape_RgNLineHCompound(self, *args)

    def RgNLineVCompound(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_HLRToShape_RgNLineVCompound(self, *args)

    def VCompound(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_HLRToShape_VCompound(self, *args)

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

        Parameters
        ----------
        DS: HLRBRep_Data

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_Hider_swiginit(self, _HLRBRep.new_HLRBRep_Hider(*args))

    def Hide(self, *args) -> "void":
        r"""
        Removes from the edges, the parts hidden by the hiding face number <fi>.

        Parameters
        ----------
        FI: int
        MST: BRepTopAdaptor_MapOfShapeTool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Hider_Hide(self, *args)

    def OwnHiding(self, *args) -> "void":
        r"""
        Own hiding the side face number <fi>.

        Parameters
        ----------
        FI: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Hider_OwnHiding(self, *args)

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

        Returns
        -------
        None
        Intersection between a line and a parametric curve.

        Parameters
        ----------
        L: gp_Lin2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between a line and a parametric curve.

        Parameters
        ----------
        C: gp_Circ2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between an ellipse and a parametric curve.

        Parameters
        ----------
        E: gp_Elips2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between a parabola and a parametric curve.

        Parameters
        ----------
        Prb: gp_Parab2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between the main branch of an hyperbola and a parametric curve.

        Parameters
        ----------
        H: gp_Hypr2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_IntConicCurveOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_IntConicCurveOfCInter(*args))

    def Perform(self, *args) -> "void":
        r"""
        Intersection between a line and a parametric curve.

        Parameters
        ----------
        L: gp_Lin2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between a line and a parametric curve.

        Parameters
        ----------
        C: gp_Circ2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between an ellipse and a parametric curve.

        Parameters
        ----------
        E: gp_Elips2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between a parabola and a parametric curve.

        Parameters
        ----------
        Prb: gp_Parab2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between the main branch of an hyperbola and a parametric curve.

        Parameters
        ----------
        H: gp_Hypr2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_IntConicCurveOfCInter_Perform(self, *args)

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

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_InterCSurf_swiginit(self, _HLRBRep.new_HLRBRep_InterCSurf(*args))

    def Perform(self, *args) -> "void":
        r"""
        Compute the intersection between the curve and the surface.

        Parameters
        ----------
        Curve: gp_Lin
        Surface: Standard_Address

        Returns
        -------
        None
        Compute the intersection between the curve and the surface. the curve is already sampled and its polygon : <polygon> is given.

        Parameters
        ----------
        Curve: gp_Lin
        Polygon: HLRBRep_ThePolygonOfInterCSurf
        Surface: Standard_Address

        Returns
        -------
        None
        Compute the intersection between the curve and the surface. the curve is already sampled and its polygon : <polygon> is given. the surface is also sampled and <polyhedron> is given.

        Parameters
        ----------
        Curve: gp_Lin
        ThePolygon: HLRBRep_ThePolygonOfInterCSurf
        Surface: Standard_Address
        Polyhedron: HLRBRep_ThePolyhedronOfInterCSurf

        Returns
        -------
        None
        Compute the intersection between the curve and the surface. the curve is already sampled and its polygon : <polygon> is given. the surface is also sampled and <polyhedron> is given.

        Parameters
        ----------
        Curve: gp_Lin
        ThePolygon: HLRBRep_ThePolygonOfInterCSurf
        Surface: Standard_Address
        Polyhedron: HLRBRep_ThePolyhedronOfInterCSurf
        BndBSB: Bnd_BoundSortBox

        Returns
        -------
        None
        Compute the intersection between the curve and the surface. the surface is already sampled and its polyhedron : <polyhedron> is given.

        Parameters
        ----------
        Curve: gp_Lin
        Surface: Standard_Address
        Polyhedron: HLRBRep_ThePolyhedronOfInterCSurf

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_InterCSurf_Perform(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        A: HLRBRep_InternalAlgo

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_InternalAlgo_swiginit(self, _HLRBRep.new_HLRBRep_InternalAlgo(*args))

    def DataStructure(self, *args) -> "opencascade::handle< HLRBRep_Data >":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<HLRBRep_Data>

        """
        return _HLRBRep.HLRBRep_InternalAlgo_DataStructure(self, *args)

    def Debug(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        deb: bool

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_InternalAlgo_Debug(self, *args)

    def Hide(self, *args) -> "void":
        r"""
        Hide all the datastructure.

        Returns
        -------
        None
        Hide the shape <s> by itself.

        Parameters
        ----------
        I: int

        Returns
        -------
        None
        Hide the shape <s1> by the shape <s2>.

        Parameters
        ----------
        I: int
        J: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_InternalAlgo_Hide(self, *args)

    def HideAll(self, *args) -> "void":
        r"""
        Set to hide all the edges.

        Returns
        -------
        None
        Set to hide all the edges of the shape <s>.

        Parameters
        ----------
        I: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_InternalAlgo_HideAll(self, *args)

    def Index(self, *args) -> "Standard_Integer":
        r"""
        Return the index of the shape <s> and return 0 if the shape <s> is not found.

        Parameters
        ----------
        S: HLRTopoBRep_OutLiner

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_InternalAlgo_Index(self, *args)

    def InitEdgeStatus(self, *args) -> "void":
        r"""
        Init the status of the selected edges depending of the back faces of a closed shell.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_InternalAlgo_InitEdgeStatus(self, *args)

    def Load(self, *args) -> "void":
        r"""
        Add the shape <s>.

        Parameters
        ----------
        S: HLRTopoBRep_OutLiner
        SData: Standard_Transient
        nbIso: int,optional
        	default value is 0

        Returns
        -------
        None
        Add the shape <s>.

        Parameters
        ----------
        S: HLRTopoBRep_OutLiner
        nbIso: int,optional
        	default value is 0

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_InternalAlgo_Load(self, *args)

    def NbShapes(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_InternalAlgo_NbShapes(self, *args)

    def PartialHide(self, *args) -> "void":
        r"""
        Own hiding of all the shapes of the datastructure without hiding by each other.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_InternalAlgo_PartialHide(self, *args)

    def Projector(self, *args) -> "HLRAlgo_Projector &":
        r"""
        Set the projector.

        Parameters
        ----------
        P: HLRAlgo_Projector

        Returns
        -------
        None
        Set the projector.

        Returns
        -------
        HLRAlgo_Projector

        """
        return _HLRBRep.HLRBRep_InternalAlgo_Projector(self, *args)

    def Remove(self, *args) -> "void":
        r"""
        Remove the shape of index <i>.

        Parameters
        ----------
        I: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_InternalAlgo_Remove(self, *args)

    def Select(self, *args) -> "void":
        r"""
        Select all the datastructure.

        Returns
        -------
        None
        Select only the shape of index <i>.

        Parameters
        ----------
        I: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_InternalAlgo_Select(self, *args)

    def SelectEdge(self, *args) -> "void":
        r"""
        Select only the edges of the shape <s>.

        Parameters
        ----------
        I: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_InternalAlgo_SelectEdge(self, *args)

    def SelectFace(self, *args) -> "void":
        r"""
        Select only the faces of the shape <s>.

        Parameters
        ----------
        I: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_InternalAlgo_SelectFace(self, *args)

    def SeqOfShapeBounds(self, *args) -> "HLRBRep_SeqOfShapeBounds &":
        r"""
        No available documentation.

        Returns
        -------
        HLRBRep_SeqOfShapeBounds

        """
        return _HLRBRep.HLRBRep_InternalAlgo_SeqOfShapeBounds(self, *args)

    def ShapeBounds(self, *args) -> "HLRBRep_ShapeBounds &":
        r"""
        No available documentation.

        Parameters
        ----------
        I: int

        Returns
        -------
        HLRBRep_ShapeBounds

        """
        return _HLRBRep.HLRBRep_InternalAlgo_ShapeBounds(self, *args)

    def ShapeData(self, *args) -> "void":
        r"""
        Change the shape data of the shape of index <i>.

        Parameters
        ----------
        I: int
        SData: Standard_Transient

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_InternalAlgo_ShapeData(self, *args)

    def ShowAll(self, *args) -> "void":
        r"""
        Set to visible all the edges.

        Returns
        -------
        None
        Set to visible all the edges of the shape <s>.

        Parameters
        ----------
        I: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_InternalAlgo_ShowAll(self, *args)

    def Update(self, *args) -> "void":
        r"""
        Update the datastructure.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_InternalAlgo_Update(self, *args)


    @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

    def __init__(self, *args):
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_Intersector_swiginit(self, _HLRBRep.new_HLRBRep_Intersector(*args))

    def CSPoint(self, *args) -> "IntCurveSurface_IntersectionPoint const &":
        r"""
        No available documentation.

        Parameters
        ----------
        N: int

        Returns
        -------
        IntCurveSurface_IntersectionPoint

        """
        return _HLRBRep.HLRBRep_Intersector_CSPoint(self, *args)

    def CSSegment(self, *args) -> "IntCurveSurface_IntersectionSegment const &":
        r"""
        No available documentation.

        Parameters
        ----------
        N: int

        Returns
        -------
        IntCurveSurface_IntersectionSegment

        """
        return _HLRBRep.HLRBRep_Intersector_CSSegment(self, *args)

    def Destroy(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Intersector_Destroy(self, *args)

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_Intersector_IsDone(self, *args)

    def Load(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        A: Standard_Address

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Intersector_Load(self, *args)

    def NbPoints(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_Intersector_NbPoints(self, *args)

    def NbSegments(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_Intersector_NbSegments(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        Performs the auto intersection of an edge. the edge domain is cutted at start with da1*(b-a) and at end with db1*(b-a).

        Parameters
        ----------
        A1: Standard_Address
        da1: float
        db1: float

        Returns
        -------
        None
        Performs the intersection between the two edges. the edges domains are cutted at start with da*(b-a) and at end with db*(b-a).

        Parameters
        ----------
        nA: int
        A1: Standard_Address
        da1: float
        db1: float
        nB: int
        A2: Standard_Address
        da2: float
        db2: float
        NoBound: bool

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Lin
        P: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Intersector_Perform(self, *args)

    def Point(self, *args) -> "IntRes2d_IntersectionPoint const &":
        r"""
        No available documentation.

        Parameters
        ----------
        N: int

        Returns
        -------
        IntRes2d_IntersectionPoint

        """
        return _HLRBRep.HLRBRep_Intersector_Point(self, *args)

    def Segment(self, *args) -> "IntRes2d_IntersectionSegment const &":
        r"""
        No available documentation.

        Parameters
        ----------
        N: int

        Returns
        -------
        IntRes2d_IntersectionSegment

        """
        return _HLRBRep.HLRBRep_Intersector_Segment(self, *args)

    def SimulateOnePoint(self, *args) -> "void":
        r"""
        Create a single intersectionpoint (u on a1) (v on a2) the point is middle on both curves.

        Parameters
        ----------
        A1: Standard_Address
        U: float
        A2: Standard_Address
        V: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Intersector_SimulateOnePoint(self, *args)

    __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

    @staticmethod
    def BSpline(*args) -> "opencascade::handle< Geom_BSplineCurve >":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        opencascade::handle<Geom_BSplineCurve>

        """
        return _HLRBRep.HLRBRep_LineTool_BSpline(*args)

    @staticmethod
    def Bezier(*args) -> "opencascade::handle< Geom_BezierCurve >":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        opencascade::handle<Geom_BezierCurve>

        """
        return _HLRBRep.HLRBRep_LineTool_Bezier(*args)

    @staticmethod
    def Circle(*args) -> "gp_Circ":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        gp_Circ

        """
        return _HLRBRep.HLRBRep_LineTool_Circle(*args)

    @staticmethod
    def Continuity(*args) -> "GeomAbs_Shape":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        GeomAbs_Shape

        """
        return _HLRBRep.HLRBRep_LineTool_Continuity(*args)

    @staticmethod
    def D0(*args) -> "void":
        r"""
        Computes the point of parameter u on the line.

        Parameters
        ----------
        C: gp_Lin
        U: float
        P: gp_Pnt

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_LineTool_D0(*args)

    @staticmethod
    def D1(*args) -> "void":
        r"""
        Computes the point of parameter u on the line with its first derivative. raised if the continuity of the current interval is not c1.

        Parameters
        ----------
        C: gp_Lin
        U: float
        P: gp_Pnt
        V: gp_Vec

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_LineTool_D1(*args)

    @staticmethod
    def D2(*args) -> "void":
        r"""
        Returns the point p of parameter u, the first and second derivatives v1 and v2. raised if the continuity of the current interval is not c2.

        Parameters
        ----------
        C: gp_Lin
        U: float
        P: gp_Pnt
        V1: gp_Vec
        V2: gp_Vec

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_LineTool_D2(*args)

    @staticmethod
    def D3(*args) -> "void":
        r"""
        Returns the point p of parameter u, the first, the second and the third derivative. raised if the continuity of the current interval is not c3.

        Parameters
        ----------
        C: gp_Lin
        U: float
        P: gp_Pnt
        V1: gp_Vec
        V2: gp_Vec
        V3: gp_Vec

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_LineTool_D3(*args)

    @staticmethod
    def DN(*args) -> "gp_Vec":
        r"""
        The returned vector gives the value of the derivative for the order of derivation n. raised if the continuity of the current interval is not cn. raised if n < 1.

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

        Returns
        -------
        gp_Vec

        """
        return _HLRBRep.HLRBRep_LineTool_DN(*args)

    @staticmethod
    def Degree(*args) -> "Standard_Integer":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_LineTool_Degree(*args)

    @staticmethod
    def Ellipse(*args) -> "gp_Elips":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        gp_Elips

        """
        return _HLRBRep.HLRBRep_LineTool_Ellipse(*args)

    @staticmethod
    def FirstParameter(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_LineTool_FirstParameter(*args)

    @staticmethod
    def GetType(*args) -> "GeomAbs_CurveType":
        r"""
        Returns the type of the line in the current interval : line, circle, ellipse, hyperbola, parabola, beziercurve, bsplinecurve, othercurve.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        GeomAbs_CurveType

        """
        return _HLRBRep.HLRBRep_LineTool_GetType(*args)

    @staticmethod
    def Hyperbola(*args) -> "gp_Hypr":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        gp_Hypr

        """
        return _HLRBRep.HLRBRep_LineTool_Hyperbola(*args)

    @staticmethod
    def IntervalContinuity(*args) -> "GeomAbs_Shape":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        GeomAbs_Shape

        """
        return _HLRBRep.HLRBRep_LineTool_IntervalContinuity(*args)

    @staticmethod
    def IntervalFirst(*args) -> "Standard_Real":
        r"""
        Returns the first parameter of the current interval.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_LineTool_IntervalFirst(*args)

    @staticmethod
    def IntervalLast(*args) -> "Standard_Real":
        r"""
        Returns the last parameter of the current interval.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_LineTool_IntervalLast(*args)

    @staticmethod
    def Intervals(*args) -> "void":
        r"""
        Sets the current working interval.

        Parameters
        ----------
        C: gp_Lin
        T: TColStd_Array1OfReal
        Sh: GeomAbs_Shape

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_LineTool_Intervals(*args)

    @staticmethod
    def IsClosed(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_LineTool_IsClosed(*args)

    @staticmethod
    def IsPeriodic(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_LineTool_IsPeriodic(*args)

    @staticmethod
    def IsRational(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_LineTool_IsRational(*args)

    @staticmethod
    def KnotsAndMultiplicities(*args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin
        TK: TColStd_Array1OfReal
        TM: TColStd_Array1OfInteger

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_LineTool_KnotsAndMultiplicities(*args)

    @staticmethod
    def LastParameter(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_LineTool_LastParameter(*args)

    @staticmethod
    def Line(*args) -> "gp_Lin":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        gp_Lin

        """
        return _HLRBRep.HLRBRep_LineTool_Line(*args)

    @staticmethod
    def NbIntervals(*args) -> "Standard_Integer":
        r"""
        If necessary, breaks the line in intervals of continuity <s>. and returns the number of intervals.

        Parameters
        ----------
        C: gp_Lin
        S: GeomAbs_Shape

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_LineTool_NbIntervals(*args)

    @staticmethod
    def NbKnots(*args) -> "Standard_Integer":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_LineTool_NbKnots(*args)

    @staticmethod
    def NbPoles(*args) -> "Standard_Integer":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_LineTool_NbPoles(*args)

    @staticmethod
    def NbSamples(*args) -> "Standard_Integer":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin
        U0: float
        U1: float

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_LineTool_NbSamples(*args)

    @staticmethod
    def Parabola(*args) -> "gp_Parab":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        gp_Parab

        """
        return _HLRBRep.HLRBRep_LineTool_Parabola(*args)

    @staticmethod
    def Period(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_LineTool_Period(*args)

    @staticmethod
    def Poles(*args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin
        TP: TColgp_Array1OfPnt

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_LineTool_Poles(*args)

    @staticmethod
    def PolesAndWeights(*args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin
        TP: TColgp_Array1OfPnt
        TW: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_LineTool_PolesAndWeights(*args)

    @staticmethod
    def Resolution(*args) -> "Standard_Real":
        r"""
        Returns the parametric resolution corresponding to the real space resolution <r3d>.

        Parameters
        ----------
        C: gp_Lin
        R3d: float

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_LineTool_Resolution(*args)

    @staticmethod
    def SamplePars(*args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        C: gp_Lin
        U0: float
        U1: float
        Defl: float
        NbMin: int
        Pars: TColStd_HArray1OfReal

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_LineTool_SamplePars(*args)

    @staticmethod
    def Value(*args) -> "gp_Pnt":
        r"""
        Computes the point of parameter u on the line.

        Parameters
        ----------
        C: gp_Lin
        U: float

        Returns
        -------
        gp_Pnt

        """
        return _HLRBRep.HLRBRep_LineTool_Value(*args)

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

def HLRBRep_LineTool_BSpline(*args) -> "opencascade::handle< Geom_BSplineCurve >":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    opencascade::handle<Geom_BSplineCurve>

    """
    return _HLRBRep.HLRBRep_LineTool_BSpline(*args)

def HLRBRep_LineTool_Bezier(*args) -> "opencascade::handle< Geom_BezierCurve >":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    opencascade::handle<Geom_BezierCurve>

    """
    return _HLRBRep.HLRBRep_LineTool_Bezier(*args)

def HLRBRep_LineTool_Circle(*args) -> "gp_Circ":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    gp_Circ

    """
    return _HLRBRep.HLRBRep_LineTool_Circle(*args)

def HLRBRep_LineTool_Continuity(*args) -> "GeomAbs_Shape":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    GeomAbs_Shape

    """
    return _HLRBRep.HLRBRep_LineTool_Continuity(*args)

def HLRBRep_LineTool_D0(*args) -> "void":
    r"""
    Computes the point of parameter u on the line.

    Parameters
    ----------
    C: gp_Lin
    U: float
    P: gp_Pnt

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_LineTool_D0(*args)

def HLRBRep_LineTool_D1(*args) -> "void":
    r"""
    Computes the point of parameter u on the line with its first derivative. raised if the continuity of the current interval is not c1.

    Parameters
    ----------
    C: gp_Lin
    U: float
    P: gp_Pnt
    V: gp_Vec

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_LineTool_D1(*args)

def HLRBRep_LineTool_D2(*args) -> "void":
    r"""
    Returns the point p of parameter u, the first and second derivatives v1 and v2. raised if the continuity of the current interval is not c2.

    Parameters
    ----------
    C: gp_Lin
    U: float
    P: gp_Pnt
    V1: gp_Vec
    V2: gp_Vec

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_LineTool_D2(*args)

def HLRBRep_LineTool_D3(*args) -> "void":
    r"""
    Returns the point p of parameter u, the first, the second and the third derivative. raised if the continuity of the current interval is not c3.

    Parameters
    ----------
    C: gp_Lin
    U: float
    P: gp_Pnt
    V1: gp_Vec
    V2: gp_Vec
    V3: gp_Vec

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_LineTool_D3(*args)

def HLRBRep_LineTool_DN(*args) -> "gp_Vec":
    r"""
    The returned vector gives the value of the derivative for the order of derivation n. raised if the continuity of the current interval is not cn. raised if n < 1.

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

    Returns
    -------
    gp_Vec

    """
    return _HLRBRep.HLRBRep_LineTool_DN(*args)

def HLRBRep_LineTool_Degree(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_LineTool_Degree(*args)

def HLRBRep_LineTool_Ellipse(*args) -> "gp_Elips":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    gp_Elips

    """
    return _HLRBRep.HLRBRep_LineTool_Ellipse(*args)

def HLRBRep_LineTool_FirstParameter(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_LineTool_FirstParameter(*args)

def HLRBRep_LineTool_GetType(*args) -> "GeomAbs_CurveType":
    r"""
    Returns the type of the line in the current interval : line, circle, ellipse, hyperbola, parabola, beziercurve, bsplinecurve, othercurve.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    GeomAbs_CurveType

    """
    return _HLRBRep.HLRBRep_LineTool_GetType(*args)

def HLRBRep_LineTool_Hyperbola(*args) -> "gp_Hypr":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    gp_Hypr

    """
    return _HLRBRep.HLRBRep_LineTool_Hyperbola(*args)

def HLRBRep_LineTool_IntervalContinuity(*args) -> "GeomAbs_Shape":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    GeomAbs_Shape

    """
    return _HLRBRep.HLRBRep_LineTool_IntervalContinuity(*args)

def HLRBRep_LineTool_IntervalFirst(*args) -> "Standard_Real":
    r"""
    Returns the first parameter of the current interval.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_LineTool_IntervalFirst(*args)

def HLRBRep_LineTool_IntervalLast(*args) -> "Standard_Real":
    r"""
    Returns the last parameter of the current interval.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_LineTool_IntervalLast(*args)

def HLRBRep_LineTool_Intervals(*args) -> "void":
    r"""
    Sets the current working interval.

    Parameters
    ----------
    C: gp_Lin
    T: TColStd_Array1OfReal
    Sh: GeomAbs_Shape

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_LineTool_Intervals(*args)

def HLRBRep_LineTool_IsClosed(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    bool

    """
    return _HLRBRep.HLRBRep_LineTool_IsClosed(*args)

def HLRBRep_LineTool_IsPeriodic(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    bool

    """
    return _HLRBRep.HLRBRep_LineTool_IsPeriodic(*args)

def HLRBRep_LineTool_IsRational(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    bool

    """
    return _HLRBRep.HLRBRep_LineTool_IsRational(*args)

def HLRBRep_LineTool_KnotsAndMultiplicities(*args) -> "void":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin
    TK: TColStd_Array1OfReal
    TM: TColStd_Array1OfInteger

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_LineTool_KnotsAndMultiplicities(*args)

def HLRBRep_LineTool_LastParameter(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_LineTool_LastParameter(*args)

def HLRBRep_LineTool_Line(*args) -> "gp_Lin":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    gp_Lin

    """
    return _HLRBRep.HLRBRep_LineTool_Line(*args)

def HLRBRep_LineTool_NbIntervals(*args) -> "Standard_Integer":
    r"""
    If necessary, breaks the line in intervals of continuity <s>. and returns the number of intervals.

    Parameters
    ----------
    C: gp_Lin
    S: GeomAbs_Shape

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_LineTool_NbIntervals(*args)

def HLRBRep_LineTool_NbKnots(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_LineTool_NbKnots(*args)

def HLRBRep_LineTool_NbPoles(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_LineTool_NbPoles(*args)

def HLRBRep_LineTool_NbSamples(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin
    U0: float
    U1: float

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_LineTool_NbSamples(*args)

def HLRBRep_LineTool_Parabola(*args) -> "gp_Parab":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    gp_Parab

    """
    return _HLRBRep.HLRBRep_LineTool_Parabola(*args)

def HLRBRep_LineTool_Period(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_LineTool_Period(*args)

def HLRBRep_LineTool_Poles(*args) -> "void":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin
    TP: TColgp_Array1OfPnt

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_LineTool_Poles(*args)

def HLRBRep_LineTool_PolesAndWeights(*args) -> "void":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin
    TP: TColgp_Array1OfPnt
    TW: TColStd_Array1OfReal

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_LineTool_PolesAndWeights(*args)

def HLRBRep_LineTool_Resolution(*args) -> "Standard_Real":
    r"""
    Returns the parametric resolution corresponding to the real space resolution <r3d>.

    Parameters
    ----------
    C: gp_Lin
    R3d: float

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_LineTool_Resolution(*args)

def HLRBRep_LineTool_SamplePars(*args) -> "void":
    r"""
    No available documentation.

    Parameters
    ----------
    C: gp_Lin
    U0: float
    U1: float
    Defl: float
    NbMin: int
    Pars: TColStd_HArray1OfReal

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_LineTool_SamplePars(*args)

def HLRBRep_LineTool_Value(*args) -> "gp_Pnt":
    r"""
    Computes the point of parameter u on the line.

    Parameters
    ----------
    C: gp_Lin
    U: float

    Returns
    -------
    gp_Pnt

    """
    return _HLRBRep.HLRBRep_LineTool_Value(*args)

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.

        Parameters
        ----------
        IT: IntCurve_IConicTool
        PC: Standard_Address

        Returns
        -------
        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"""
        No available documentation.

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        P: gp_Pnt2d
        C: Standard_Address

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter(*args))

    def Initialize(self, *args) -> "void":
        r"""
        Sets the field mycurve of the function.

        Parameters
        ----------
        C: Standard_Address

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_Initialize(self, *args)

    def IsMin(self, *args) -> "Standard_Boolean":
        r"""
        Shows if the nth distance is a minimum.

        Parameters
        ----------
        N: int

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_IsMin(self, *args)

    def NbExt(self, *args) -> "Standard_Integer":
        r"""
        Return the nunber of found extrema.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_NbExt(self, *args)

    def Point(self, *args) -> "Extrema_POnCurv2d const &":
        r"""
        Returns the nth extremum.

        Parameters
        ----------
        N: int

        Returns
        -------
        Extrema_POnCurv2d

        """
        return _HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_Point(self, *args)

    def SearchOfTolerance(self, *args) -> "Standard_Real":
        r"""
        Computes a tol value. if 1st derivative of curve |d1|<tol, it is considered d1=0.

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_SearchOfTolerance(self, *args)

    def SetPoint(self, *args) -> "void":
        r"""
        Sets the field p of the function.

        Parameters
        ----------
        P: gp_Pnt2d

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_SetPoint(self, *args)

    def SquareDistance(self, *args) -> "Standard_Real":
        r"""
        Returns the nth distance.

        Parameters
        ----------
        N: int

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_SquareDistance(self, *args)

    def SubIntervalInitialize(self, *args) -> "void":
        r"""
        Determines boundaries of subinterval for find of root.

        Parameters
        ----------
        theUfirst: float
        theUlast: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_PCLocFOfTheLocateExtPCOfTheProjPCurOfCInter_SubIntervalInitialize(self, *args)

    __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

    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.

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        A: HLRBRep_PolyAlgo

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_PolyAlgo_swiginit(self, _HLRBRep.new_HLRBRep_PolyAlgo(*args))

    def Algo(self, *args) -> "opencascade::handle< HLRAlgo_PolyAlgo >":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<HLRAlgo_PolyAlgo>

        """
        return _HLRBRep.HLRBRep_PolyAlgo_Algo(self, *args)

    def Debug(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        theDebug: bool

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_PolyAlgo_Debug(self, *args)

    def Hide(self, *args) -> "HLRAlgo_BiPoint::PointsT &":
        r"""
        No available documentation.

        Parameters
        ----------
        status: HLRAlgo_EdgeStatus
        S: TopoDS_Shape

        Returns
        -------
        reg1: bool
        regn: bool
        outl: bool
        intl: bool

        """
        return _HLRBRep.HLRBRep_PolyAlgo_Hide(self, *args)

    def Index(self, *args) -> "Standard_Integer":
        r"""
        Return the index of the shape <s> and return 0 if the shape <s> is not found.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_PolyAlgo_Index(self, *args)

    def InitHide(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_PolyAlgo_InitHide(self, *args)

    def InitShow(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_PolyAlgo_InitShow(self, *args)

    def Load(self, *args) -> "void":
        r"""
        Loads the shape s into this framework. warning s must have already been triangulated.

        Parameters
        ----------
        theShape: TopoDS_Shape

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_PolyAlgo_Load(self, *args)

    def MoreHide(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_PolyAlgo_MoreHide(self, *args)

    def MoreShow(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_PolyAlgo_MoreShow(self, *args)

    def NbShapes(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_PolyAlgo_NbShapes(self, *args)

    def NextHide(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_PolyAlgo_NextHide(self, *args)

    def NextShow(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_PolyAlgo_NextShow(self, *args)

    def OutLinedShape(self, *args) -> "TopoDS_Shape":
        r"""
        Make a shape with the internal outlines in each face.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_PolyAlgo_OutLinedShape(self, *args)

    def Projector(self, *args) -> "void":
        r"""
        Sets the parameters of the view for this framework. these parameters are defined by an hlralgo_projector object, which is returned by the projector function on a prs3d_projector object.

        Returns
        -------
        HLRAlgo_Projector
        No available documentation.

        Parameters
        ----------
        theProj: HLRAlgo_Projector

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_PolyAlgo_Projector(self, *args)

    def Remove(self, *args) -> "void":
        r"""
        Remove the shape of index <i>.

        Parameters
        ----------
        I: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_PolyAlgo_Remove(self, *args)

    def Shape(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

        Parameters
        ----------
        I: int

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_PolyAlgo_Shape(self, *args)

    def Show(self, *args) -> "HLRAlgo_BiPoint::PointsT &":
        r"""
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        reg1: bool
        regn: bool
        outl: bool
        intl: bool

        """
        return _HLRBRep.HLRBRep_PolyAlgo_Show(self, *args)

    def TolAngular(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        float
        No available documentation.

        Parameters
        ----------
        theTol: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_PolyAlgo_TolAngular(self, *args)

    def TolCoef(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        float
        No available documentation.

        Parameters
        ----------
        theTol: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_PolyAlgo_TolCoef(self, *args)

    def Update(self, *args) -> "void":
        r"""
        Launches calculation of outlines of the shape visualized by this framework. used after setting the point of view and defining the shape or shapes to be visualized.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_PolyAlgo_Update(self, *args)


    @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

    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.

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_PolyHLRToShape_swiginit(self, _HLRBRep.new_HLRBRep_PolyHLRToShape(*args))

    def HCompound(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_PolyHLRToShape_HCompound(self, *args)

    def Hide(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_PolyHLRToShape_Hide(self, *args)

    def OutLineHCompound(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape
        Sets the extraction filter for hidden outlines. hidden outlines occur, for instance, in tori. in this case, the inner outlines of the torus seen on its side are hidden.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_PolyHLRToShape_OutLineHCompound(self, *args)

    def OutLineVCompound(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape
        Sets the extraction filter for visible outlines.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_PolyHLRToShape_OutLineVCompound(self, *args)

    def Rg1LineHCompound(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape
        Sets the extraction filter for hidden smooth edges.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_PolyHLRToShape_Rg1LineHCompound(self, *args)

    def Rg1LineVCompound(self, *args) -> "TopoDS_Shape":
        r"""
        Sets the extraction filter for visible smooth edges.

        Returns
        -------
        TopoDS_Shape
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_PolyHLRToShape_Rg1LineVCompound(self, *args)

    def RgNLineHCompound(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape
        Sets the extraction filter for hidden sewn edges.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_PolyHLRToShape_RgNLineHCompound(self, *args)

    def RgNLineVCompound(self, *args) -> "TopoDS_Shape":
        r"""
        Sets the extraction filter for visible sewn edges.

        Returns
        -------
        TopoDS_Shape
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_PolyHLRToShape_RgNLineVCompound(self, *args)

    def Show(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_PolyHLRToShape_Show(self, *args)

    def Update(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        A: HLRBRep_PolyAlgo

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_PolyHLRToShape_Update(self, *args)

    def VCompound(self, *args) -> "TopoDS_Shape":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _HLRBRep.HLRBRep_PolyHLRToShape_VCompound(self, *args)

    __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

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

        Parameters
        ----------
        S: Standard_Address
        U: float
        V: float
        N: int
        Resolution: float

        Returns
        -------
        None
        Idem as previous constructor but without setting the value of parameters <u> and <v>.

        Parameters
        ----------
        S: Standard_Address
        N: int
        Resolution: float

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

        Parameters
        ----------
        N: int
        Resolution: float

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_SLProps_swiginit(self, _HLRBRep.new_HLRBRep_SLProps(*args))

    def CurvatureDirections(self, *args) -> "void":
        r"""
        Returns the direction of the maximum and minimum curvature <maxd> and <mind>.

        Parameters
        ----------
        MaxD: gp_Dir
        MinD: gp_Dir

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_SLProps_CurvatureDirections(self, *args)

    def D1U(self, *args) -> "gp_Vec const":
        r"""
        Returns the first u derivative. the derivative is computed if it has not been yet.

        Returns
        -------
        gp_Vec

        """
        return _HLRBRep.HLRBRep_SLProps_D1U(self, *args)

    def D1V(self, *args) -> "gp_Vec const":
        r"""
        Returns the first v derivative. the derivative is computed if it has not been yet.

        Returns
        -------
        gp_Vec

        """
        return _HLRBRep.HLRBRep_SLProps_D1V(self, *args)

    def D2U(self, *args) -> "gp_Vec const":
        r"""
        Returns the second u derivatives the derivative is computed if it has not been yet.

        Returns
        -------
        gp_Vec

        """
        return _HLRBRep.HLRBRep_SLProps_D2U(self, *args)

    def D2V(self, *args) -> "gp_Vec const":
        r"""
        Returns the second v derivative. the derivative is computed if it has not been yet.

        Returns
        -------
        gp_Vec

        """
        return _HLRBRep.HLRBRep_SLProps_D2V(self, *args)

    def DUV(self, *args) -> "gp_Vec const":
        r"""
        Returns the second uv cross-derivative. the derivative is computed if it has not been yet.

        Returns
        -------
        gp_Vec

        """
        return _HLRBRep.HLRBRep_SLProps_DUV(self, *args)

    def GaussianCurvature(self, *args) -> "Standard_Real":
        r"""
        Returns the gaussian curvature.

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_SLProps_GaussianCurvature(self, *args)

    def IsCurvatureDefined(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the curvature is defined.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_SLProps_IsCurvatureDefined(self, *args)

    def IsNormalDefined(self, *args) -> "Standard_Boolean":
        r"""
        Tells if the normal is defined.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_SLProps_IsNormalDefined(self, *args)

    def IsTangentUDefined(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the u tangent is defined. for example, the tangent is not defined if the two first u derivatives are null.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_SLProps_IsTangentUDefined(self, *args)

    def IsTangentVDefined(self, *args) -> "Standard_Boolean":
        r"""
        Returns if the v tangent is defined. for example, the tangent is not defined if the two first v derivatives are null.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_SLProps_IsTangentVDefined(self, *args)

    def IsUmbilic(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the point is umbilic (i.e. if the curvature is constant).

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_SLProps_IsUmbilic(self, *args)

    def MaxCurvature(self, *args) -> "Standard_Real":
        r"""
        Returns the maximum curvature.

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_SLProps_MaxCurvature(self, *args)

    def MeanCurvature(self, *args) -> "Standard_Real":
        r"""
        Returns the mean curvature.

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_SLProps_MeanCurvature(self, *args)

    def MinCurvature(self, *args) -> "Standard_Real":
        r"""
        Returns the minimum curvature.

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_SLProps_MinCurvature(self, *args)

    def Normal(self, *args) -> "gp_Dir const":
        r"""
        Returns the normal direction.

        Returns
        -------
        gp_Dir

        """
        return _HLRBRep.HLRBRep_SLProps_Normal(self, *args)

    def SetParameters(self, *args) -> "void":
        r"""
        Initializes the local properties of the surface s for the new parameter values (<u>, <v>).

        Parameters
        ----------
        U: float
        V: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_SLProps_SetParameters(self, *args)

    def SetSurface(self, *args) -> "void":
        r"""
        Initializes the local properties of the surface s for the new surface.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_SLProps_SetSurface(self, *args)

    def TangentU(self, *args) -> "void":
        r"""
        Returns the tangent direction <d> on the iso-v.

        Parameters
        ----------
        D: gp_Dir

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_SLProps_TangentU(self, *args)

    def TangentV(self, *args) -> "void":
        r"""
        Returns the tangent direction <d> on the iso-v.

        Parameters
        ----------
        D: gp_Dir

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_SLProps_TangentV(self, *args)

    def Value(self, *args) -> "gp_Pnt const":
        r"""
        Returns the point.

        Returns
        -------
        gp_Pnt

        """
        return _HLRBRep.HLRBRep_SLProps_Value(self, *args)

    __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

    @staticmethod
    def Bounds(*args) -> "Standard_Real &, Standard_Real &, Standard_Real &, Standard_Real &":
        r"""
        Returns the bounds of the surface.

        Parameters
        ----------
        A: Standard_Address

        Returns
        -------
        U1: float
        V1: float
        U2: float
        V2: float

        """
        return _HLRBRep.HLRBRep_SLPropsATool_Bounds(*args)

    @staticmethod
    def Continuity(*args) -> "Standard_Integer":
        r"""
        Returns the order of continuity of the surface <a>. returns 1 : first derivative only is computable returns 2 : first and second derivative only are computable.

        Parameters
        ----------
        A: Standard_Address

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_SLPropsATool_Continuity(*args)

    @staticmethod
    def D1(*args) -> "void":
        r"""
        Computes the point <p> and first derivative <d1*> of parameter <u> and <v> on the surface <a>.

        Parameters
        ----------
        A: Standard_Address
        U: float
        V: float
        P: gp_Pnt
        D1U: gp_Vec
        D1V: gp_Vec

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_SLPropsATool_D1(*args)

    @staticmethod
    def D2(*args) -> "void":
        r"""
        Computes the point <p>, the first derivative <d1*> and second derivative <d2*> of parameter <u> and <v> on the surface <a>.

        Parameters
        ----------
        A: Standard_Address
        U: float
        V: float
        P: gp_Pnt
        D1U: gp_Vec
        D1V: gp_Vec
        D2U: gp_Vec
        D2V: gp_Vec
        DUV: gp_Vec

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_SLPropsATool_D2(*args)

    @staticmethod
    def DN(*args) -> "gp_Vec":
        r"""
        No available documentation.

        Parameters
        ----------
        A: Standard_Address
        U: float
        V: float
        Nu: int
        Nv: int

        Returns
        -------
        gp_Vec

        """
        return _HLRBRep.HLRBRep_SLPropsATool_DN(*args)

    @staticmethod
    def Value(*args) -> "void":
        r"""
        Computes the point <p> of 	parameter <u> and <v> on the surface <a>.

        Parameters
        ----------
        A: Standard_Address
        U: float
        V: float
        P: gp_Pnt

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_SLPropsATool_Value(*args)

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

def HLRBRep_SLPropsATool_Bounds(*args) -> "Standard_Real &, Standard_Real &, Standard_Real &, Standard_Real &":
    r"""
    Returns the bounds of the surface.

    Parameters
    ----------
    A: Standard_Address

    Returns
    -------
    U1: float
    V1: float
    U2: float
    V2: float

    """
    return _HLRBRep.HLRBRep_SLPropsATool_Bounds(*args)

def HLRBRep_SLPropsATool_Continuity(*args) -> "Standard_Integer":
    r"""
    Returns the order of continuity of the surface <a>. returns 1 : first derivative only is computable returns 2 : first and second derivative only are computable.

    Parameters
    ----------
    A: Standard_Address

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_SLPropsATool_Continuity(*args)

def HLRBRep_SLPropsATool_D1(*args) -> "void":
    r"""
    Computes the point <p> and first derivative <d1*> of parameter <u> and <v> on the surface <a>.

    Parameters
    ----------
    A: Standard_Address
    U: float
    V: float
    P: gp_Pnt
    D1U: gp_Vec
    D1V: gp_Vec

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_SLPropsATool_D1(*args)

def HLRBRep_SLPropsATool_D2(*args) -> "void":
    r"""
    Computes the point <p>, the first derivative <d1*> and second derivative <d2*> of parameter <u> and <v> on the surface <a>.

    Parameters
    ----------
    A: Standard_Address
    U: float
    V: float
    P: gp_Pnt
    D1U: gp_Vec
    D1V: gp_Vec
    D2U: gp_Vec
    D2V: gp_Vec
    DUV: gp_Vec

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_SLPropsATool_D2(*args)

def HLRBRep_SLPropsATool_DN(*args) -> "gp_Vec":
    r"""
    No available documentation.

    Parameters
    ----------
    A: Standard_Address
    U: float
    V: float
    Nu: int
    Nv: int

    Returns
    -------
    gp_Vec

    """
    return _HLRBRep.HLRBRep_SLPropsATool_DN(*args)

def HLRBRep_SLPropsATool_Value(*args) -> "void":
    r"""
    Computes the point <p> of 	parameter <u> and <v> on the surface <a>.

    Parameters
    ----------
    A: Standard_Address
    U: float
    V: float
    P: gp_Pnt

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_SLPropsATool_Value(*args)

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

    def __init__(self, *args):
        r"""
        No available documentation.

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        S: HLRTopoBRep_OutLiner
        SData: Standard_Transient
        nbIso: int
        V1: int
        V2: int
        E1: int
        E2: int
        F1: int
        F2: int

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        S: HLRTopoBRep_OutLiner
        nbIso: int
        V1: int
        V2: int
        E1: int
        E2: int
        F1: int
        F2: int

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_ShapeBounds_swiginit(self, _HLRBRep.new_HLRBRep_ShapeBounds(*args))

    def Bounds(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------

        Returns
        -------
        V1: int
        V2: int
        E1: int
        E2: int
        F1: int
        F2: int

        """
        return _HLRBRep.HLRBRep_ShapeBounds_Bounds(self, *args)

    def MinMax(self, *args) -> "HLRAlgo_EdgesBlock::MinMaxIndices &":
        r"""
        No available documentation.

        Returns
        -------
        HLRAlgo_EdgesBlock::MinMaxIndices

        """
        return _HLRBRep.HLRBRep_ShapeBounds_MinMax(self, *args)

    def NbOfIso(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Parameters
        ----------
        nbIso: int

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_ShapeBounds_NbOfIso(self, *args)

    def Shape(self, *args) -> "opencascade::handle< HLRTopoBRep_OutLiner > const &":
        r"""
        No available documentation.

        Parameters
        ----------
        S: HLRTopoBRep_OutLiner

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        opencascade::handle<HLRTopoBRep_OutLiner>

        """
        return _HLRBRep.HLRBRep_ShapeBounds_Shape(self, *args)

    def ShapeData(self, *args) -> "opencascade::handle< Standard_Transient > const &":
        r"""
        No available documentation.

        Parameters
        ----------
        SD: Standard_Transient

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        opencascade::handle<Standard_Transient>

        """
        return _HLRBRep.HLRBRep_ShapeBounds_ShapeData(self, *args)

    def Sizes(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------

        Returns
        -------
        NV: int
        NE: int
        NF: int

        """
        return _HLRBRep.HLRBRep_ShapeBounds_Sizes(self, *args)

    def Translate(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        NV: int
        NE: int
        NF: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_ShapeBounds_Translate(self, *args)

    def UpdateMinMax(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        theTotMinMax: HLRAlgo_EdgesBlock::MinMaxIndices

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_ShapeBounds_UpdateMinMax(self, *args)

    __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

    @staticmethod
    def Load(*args) -> "opencascade::handle< HLRBRep_Data >":
        r"""
        Creates a datastructure containing the outliner <s> depending on the projector <p> and nbiso.

        Parameters
        ----------
        S: HLRTopoBRep_OutLiner
        P: HLRAlgo_Projector
        MST: BRepTopAdaptor_MapOfShapeTool
        nbIso: int,optional
        	default value is 0

        Returns
        -------
        opencascade::handle<HLRBRep_Data>

        """
        return _HLRBRep.HLRBRep_ShapeToHLR_Load(*args)

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

def HLRBRep_ShapeToHLR_Load(*args) -> "opencascade::handle< HLRBRep_Data >":
    r"""
    Creates a datastructure containing the outliner <s> depending on the projector <p> and nbiso.

    Parameters
    ----------
    S: HLRTopoBRep_OutLiner
    P: HLRAlgo_Projector
    MST: BRepTopAdaptor_MapOfShapeTool
    nbIso: int,optional
    	default value is 0

    Returns
    -------
    opencascade::handle<HLRBRep_Data>

    """
    return _HLRBRep.HLRBRep_ShapeToHLR_Load(*args)

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

    @staticmethod
    def AxeOfRevolution(*args) -> "gp_Ax1":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        gp_Ax1

        """
        return _HLRBRep.HLRBRep_SurfaceTool_AxeOfRevolution(*args)

    @staticmethod
    def BSpline(*args) -> "opencascade::handle< Geom_BSplineSurface >":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        opencascade::handle<Geom_BSplineSurface>

        """
        return _HLRBRep.HLRBRep_SurfaceTool_BSpline(*args)

    @staticmethod
    def BasisCurve(*args) -> "opencascade::handle< Adaptor3d_HCurve >":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        opencascade::handle<Adaptor3d_HCurve>

        """
        return _HLRBRep.HLRBRep_SurfaceTool_BasisCurve(*args)

    @staticmethod
    def BasisSurface(*args) -> "opencascade::handle< Adaptor3d_HSurface >":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        opencascade::handle<Adaptor3d_HSurface>

        """
        return _HLRBRep.HLRBRep_SurfaceTool_BasisSurface(*args)

    @staticmethod
    def Bezier(*args) -> "opencascade::handle< Geom_BezierSurface >":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        opencascade::handle<Geom_BezierSurface>

        """
        return _HLRBRep.HLRBRep_SurfaceTool_Bezier(*args)

    @staticmethod
    def Cone(*args) -> "gp_Cone":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        gp_Cone

        """
        return _HLRBRep.HLRBRep_SurfaceTool_Cone(*args)

    @staticmethod
    def Cylinder(*args) -> "gp_Cylinder":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        gp_Cylinder

        """
        return _HLRBRep.HLRBRep_SurfaceTool_Cylinder(*args)

    @staticmethod
    def D0(*args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address
        u: float
        v: float
        P: gp_Pnt

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_SurfaceTool_D0(*args)

    @staticmethod
    def D1(*args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address
        u: float
        v: float
        P: gp_Pnt
        D1u: gp_Vec
        D1v: gp_Vec

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_SurfaceTool_D1(*args)

    @staticmethod
    def D2(*args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address
        u: float
        v: float
        P: gp_Pnt
        D1U: gp_Vec
        D1V: gp_Vec
        D2U: gp_Vec
        D2V: gp_Vec
        D2UV: gp_Vec

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_SurfaceTool_D2(*args)

    @staticmethod
    def D3(*args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address
        u: float
        v: float
        P: gp_Pnt
        D1U: gp_Vec
        D1V: gp_Vec
        D2U: gp_Vec
        D2V: gp_Vec
        D2UV: gp_Vec
        D3U: gp_Vec
        D3V: gp_Vec
        D3UUV: gp_Vec
        D3UVV: gp_Vec

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_SurfaceTool_D3(*args)

    @staticmethod
    def DN(*args) -> "gp_Vec":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address
        u: float
        v: float
        Nu: int
        Nv: int

        Returns
        -------
        gp_Vec

        """
        return _HLRBRep.HLRBRep_SurfaceTool_DN(*args)

    @staticmethod
    def Direction(*args) -> "gp_Dir":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        gp_Dir

        """
        return _HLRBRep.HLRBRep_SurfaceTool_Direction(*args)

    @staticmethod
    def FirstUParameter(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_SurfaceTool_FirstUParameter(*args)

    @staticmethod
    def FirstVParameter(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_SurfaceTool_FirstVParameter(*args)

    @staticmethod
    def GetType(*args) -> "GeomAbs_SurfaceType":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        GeomAbs_SurfaceType

        """
        return _HLRBRep.HLRBRep_SurfaceTool_GetType(*args)

    @staticmethod
    def IsUClosed(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_SurfaceTool_IsUClosed(*args)

    @staticmethod
    def IsUPeriodic(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_SurfaceTool_IsUPeriodic(*args)

    @staticmethod
    def IsVClosed(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_SurfaceTool_IsVClosed(*args)

    @staticmethod
    def IsVPeriodic(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_SurfaceTool_IsVPeriodic(*args)

    @staticmethod
    def LastUParameter(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_SurfaceTool_LastUParameter(*args)

    @staticmethod
    def LastVParameter(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_SurfaceTool_LastVParameter(*args)

    @staticmethod
    def NbSamplesU(*args) -> "Standard_Integer":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        int
        No available documentation.

        Parameters
        ----------
        S: Standard_Address
        u1: float
        u2: float

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_SurfaceTool_NbSamplesU(*args)

    @staticmethod
    def NbSamplesV(*args) -> "Standard_Integer":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        int
        No available documentation.

        Parameters
        ----------
        S: Standard_Address
        v1: float
        v2: float

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_SurfaceTool_NbSamplesV(*args)

    @staticmethod
    def NbUIntervals(*args) -> "Standard_Integer":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address
        Sh: GeomAbs_Shape

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_SurfaceTool_NbUIntervals(*args)

    @staticmethod
    def NbVIntervals(*args) -> "Standard_Integer":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address
        Sh: GeomAbs_Shape

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_SurfaceTool_NbVIntervals(*args)

    @staticmethod
    def OffsetValue(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_SurfaceTool_OffsetValue(*args)

    @staticmethod
    def Plane(*args) -> "gp_Pln":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        gp_Pln

        """
        return _HLRBRep.HLRBRep_SurfaceTool_Plane(*args)

    @staticmethod
    def Sphere(*args) -> "gp_Sphere":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        gp_Sphere

        """
        return _HLRBRep.HLRBRep_SurfaceTool_Sphere(*args)

    @staticmethod
    def Torus(*args) -> "gp_Torus":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        gp_Torus

        """
        return _HLRBRep.HLRBRep_SurfaceTool_Torus(*args)

    @staticmethod
    def UIntervals(*args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address
        T: TColStd_Array1OfReal
        Sh: GeomAbs_Shape

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_SurfaceTool_UIntervals(*args)

    @staticmethod
    def UPeriod(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_SurfaceTool_UPeriod(*args)

    @staticmethod
    def UResolution(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address
        R3d: float

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_SurfaceTool_UResolution(*args)

    @staticmethod
    def UTrim(*args) -> "opencascade::handle< Adaptor3d_HSurface >":
        r"""
        If <first> >= <last>.

        Parameters
        ----------
        S: Standard_Address
        First: float
        Last: float
        Tol: float

        Returns
        -------
        opencascade::handle<Adaptor3d_HSurface>

        """
        return _HLRBRep.HLRBRep_SurfaceTool_UTrim(*args)

    @staticmethod
    def VIntervals(*args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address
        T: TColStd_Array1OfReal
        Sh: GeomAbs_Shape

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_SurfaceTool_VIntervals(*args)

    @staticmethod
    def VPeriod(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_SurfaceTool_VPeriod(*args)

    @staticmethod
    def VResolution(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address
        R3d: float

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_SurfaceTool_VResolution(*args)

    @staticmethod
    def VTrim(*args) -> "opencascade::handle< Adaptor3d_HSurface >":
        r"""
        If <first> >= <last>.

        Parameters
        ----------
        S: Standard_Address
        First: float
        Last: float
        Tol: float

        Returns
        -------
        opencascade::handle<Adaptor3d_HSurface>

        """
        return _HLRBRep.HLRBRep_SurfaceTool_VTrim(*args)

    @staticmethod
    def Value(*args) -> "gp_Pnt":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address
        u: float
        v: float

        Returns
        -------
        gp_Pnt

        """
        return _HLRBRep.HLRBRep_SurfaceTool_Value(*args)

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

def HLRBRep_SurfaceTool_AxeOfRevolution(*args) -> "gp_Ax1":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    gp_Ax1

    """
    return _HLRBRep.HLRBRep_SurfaceTool_AxeOfRevolution(*args)

def HLRBRep_SurfaceTool_BSpline(*args) -> "opencascade::handle< Geom_BSplineSurface >":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    opencascade::handle<Geom_BSplineSurface>

    """
    return _HLRBRep.HLRBRep_SurfaceTool_BSpline(*args)

def HLRBRep_SurfaceTool_BasisCurve(*args) -> "opencascade::handle< Adaptor3d_HCurve >":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    opencascade::handle<Adaptor3d_HCurve>

    """
    return _HLRBRep.HLRBRep_SurfaceTool_BasisCurve(*args)

def HLRBRep_SurfaceTool_BasisSurface(*args) -> "opencascade::handle< Adaptor3d_HSurface >":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    opencascade::handle<Adaptor3d_HSurface>

    """
    return _HLRBRep.HLRBRep_SurfaceTool_BasisSurface(*args)

def HLRBRep_SurfaceTool_Bezier(*args) -> "opencascade::handle< Geom_BezierSurface >":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    opencascade::handle<Geom_BezierSurface>

    """
    return _HLRBRep.HLRBRep_SurfaceTool_Bezier(*args)

def HLRBRep_SurfaceTool_Cone(*args) -> "gp_Cone":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    gp_Cone

    """
    return _HLRBRep.HLRBRep_SurfaceTool_Cone(*args)

def HLRBRep_SurfaceTool_Cylinder(*args) -> "gp_Cylinder":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    gp_Cylinder

    """
    return _HLRBRep.HLRBRep_SurfaceTool_Cylinder(*args)

def HLRBRep_SurfaceTool_D0(*args) -> "void":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address
    u: float
    v: float
    P: gp_Pnt

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_SurfaceTool_D0(*args)

def HLRBRep_SurfaceTool_D1(*args) -> "void":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address
    u: float
    v: float
    P: gp_Pnt
    D1u: gp_Vec
    D1v: gp_Vec

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_SurfaceTool_D1(*args)

def HLRBRep_SurfaceTool_D2(*args) -> "void":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address
    u: float
    v: float
    P: gp_Pnt
    D1U: gp_Vec
    D1V: gp_Vec
    D2U: gp_Vec
    D2V: gp_Vec
    D2UV: gp_Vec

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_SurfaceTool_D2(*args)

def HLRBRep_SurfaceTool_D3(*args) -> "void":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address
    u: float
    v: float
    P: gp_Pnt
    D1U: gp_Vec
    D1V: gp_Vec
    D2U: gp_Vec
    D2V: gp_Vec
    D2UV: gp_Vec
    D3U: gp_Vec
    D3V: gp_Vec
    D3UUV: gp_Vec
    D3UVV: gp_Vec

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_SurfaceTool_D3(*args)

def HLRBRep_SurfaceTool_DN(*args) -> "gp_Vec":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address
    u: float
    v: float
    Nu: int
    Nv: int

    Returns
    -------
    gp_Vec

    """
    return _HLRBRep.HLRBRep_SurfaceTool_DN(*args)

def HLRBRep_SurfaceTool_Direction(*args) -> "gp_Dir":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    gp_Dir

    """
    return _HLRBRep.HLRBRep_SurfaceTool_Direction(*args)

def HLRBRep_SurfaceTool_FirstUParameter(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_SurfaceTool_FirstUParameter(*args)

def HLRBRep_SurfaceTool_FirstVParameter(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_SurfaceTool_FirstVParameter(*args)

def HLRBRep_SurfaceTool_GetType(*args) -> "GeomAbs_SurfaceType":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    GeomAbs_SurfaceType

    """
    return _HLRBRep.HLRBRep_SurfaceTool_GetType(*args)

def HLRBRep_SurfaceTool_IsUClosed(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    bool

    """
    return _HLRBRep.HLRBRep_SurfaceTool_IsUClosed(*args)

def HLRBRep_SurfaceTool_IsUPeriodic(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    bool

    """
    return _HLRBRep.HLRBRep_SurfaceTool_IsUPeriodic(*args)

def HLRBRep_SurfaceTool_IsVClosed(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    bool

    """
    return _HLRBRep.HLRBRep_SurfaceTool_IsVClosed(*args)

def HLRBRep_SurfaceTool_IsVPeriodic(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    bool

    """
    return _HLRBRep.HLRBRep_SurfaceTool_IsVPeriodic(*args)

def HLRBRep_SurfaceTool_LastUParameter(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_SurfaceTool_LastUParameter(*args)

def HLRBRep_SurfaceTool_LastVParameter(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_SurfaceTool_LastVParameter(*args)

def HLRBRep_SurfaceTool_NbSamplesU(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    int
    No available documentation.

    Parameters
    ----------
    S: Standard_Address
    u1: float
    u2: float

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_SurfaceTool_NbSamplesU(*args)

def HLRBRep_SurfaceTool_NbSamplesV(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    int
    No available documentation.

    Parameters
    ----------
    S: Standard_Address
    v1: float
    v2: float

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_SurfaceTool_NbSamplesV(*args)

def HLRBRep_SurfaceTool_NbUIntervals(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address
    Sh: GeomAbs_Shape

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_SurfaceTool_NbUIntervals(*args)

def HLRBRep_SurfaceTool_NbVIntervals(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address
    Sh: GeomAbs_Shape

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_SurfaceTool_NbVIntervals(*args)

def HLRBRep_SurfaceTool_OffsetValue(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_SurfaceTool_OffsetValue(*args)

def HLRBRep_SurfaceTool_Plane(*args) -> "gp_Pln":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    gp_Pln

    """
    return _HLRBRep.HLRBRep_SurfaceTool_Plane(*args)

def HLRBRep_SurfaceTool_Sphere(*args) -> "gp_Sphere":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    gp_Sphere

    """
    return _HLRBRep.HLRBRep_SurfaceTool_Sphere(*args)

def HLRBRep_SurfaceTool_Torus(*args) -> "gp_Torus":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    gp_Torus

    """
    return _HLRBRep.HLRBRep_SurfaceTool_Torus(*args)

def HLRBRep_SurfaceTool_UIntervals(*args) -> "void":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address
    T: TColStd_Array1OfReal
    Sh: GeomAbs_Shape

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_SurfaceTool_UIntervals(*args)

def HLRBRep_SurfaceTool_UPeriod(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_SurfaceTool_UPeriod(*args)

def HLRBRep_SurfaceTool_UResolution(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address
    R3d: float

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_SurfaceTool_UResolution(*args)

def HLRBRep_SurfaceTool_UTrim(*args) -> "opencascade::handle< Adaptor3d_HSurface >":
    r"""
    If <first> >= <last>.

    Parameters
    ----------
    S: Standard_Address
    First: float
    Last: float
    Tol: float

    Returns
    -------
    opencascade::handle<Adaptor3d_HSurface>

    """
    return _HLRBRep.HLRBRep_SurfaceTool_UTrim(*args)

def HLRBRep_SurfaceTool_VIntervals(*args) -> "void":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address
    T: TColStd_Array1OfReal
    Sh: GeomAbs_Shape

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_SurfaceTool_VIntervals(*args)

def HLRBRep_SurfaceTool_VPeriod(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_SurfaceTool_VPeriod(*args)

def HLRBRep_SurfaceTool_VResolution(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address
    R3d: float

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_SurfaceTool_VResolution(*args)

def HLRBRep_SurfaceTool_VTrim(*args) -> "opencascade::handle< Adaptor3d_HSurface >":
    r"""
    If <first> >= <last>.

    Parameters
    ----------
    S: Standard_Address
    First: float
    Last: float
    Tol: float

    Returns
    -------
    opencascade::handle<Adaptor3d_HSurface>

    """
    return _HLRBRep.HLRBRep_SurfaceTool_VTrim(*args)

def HLRBRep_SurfaceTool_Value(*args) -> "gp_Pnt":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Standard_Address
    u: float
    v: float

    Returns
    -------
    gp_Pnt

    """
    return _HLRBRep.HLRBRep_SurfaceTool_Value(*args)

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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        S: Standard_Address
        C: gp_Lin

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_TheCSFunctionOfInterCSurf_swiginit(self, _HLRBRep.new_HLRBRep_TheCSFunctionOfInterCSurf(*args))

    def AuxillarCurve(self, *args) -> "gp_Lin const":
        r"""
        No available documentation.

        Returns
        -------
        gp_Lin

        """
        return _HLRBRep.HLRBRep_TheCSFunctionOfInterCSurf_AuxillarCurve(self, *args)

    def AuxillarSurface(self, *args) -> "Standard_Address const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_Address

        """
        return _HLRBRep.HLRBRep_TheCSFunctionOfInterCSurf_AuxillarSurface(self, *args)

    def Point(self, *args) -> "gp_Pnt const":
        r"""
        No available documentation.

        Returns
        -------
        gp_Pnt

        """
        return _HLRBRep.HLRBRep_TheCSFunctionOfInterCSurf_Point(self, *args)

    def Root(self, *args) -> "Standard_Real":
        r"""
        No available documentation.

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_TheCSFunctionOfInterCSurf_Root(self, *args)

    __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"""
        No available documentation.

        Parameters
        ----------
        curve1: Standard_Address
        curve2: Standard_Address

        Returns
        -------
        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

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

        Parameters
        ----------
        U: float
        V: float
        W: float
        F: HLRBRep_TheCSFunctionOfInterCSurf
        TolTangency: float
        MarginCoef: float,optional
        	default value is 0.0

        Returns
        -------
        None
        Initialize the parameters to compute the solution.

        Parameters
        ----------
        F: HLRBRep_TheCSFunctionOfInterCSurf
        TolTangency: float

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_TheExactInterCSurf_swiginit(self, _HLRBRep.new_HLRBRep_TheExactInterCSurf(*args))

    def Function(self, *args) -> "HLRBRep_TheCSFunctionOfInterCSurf &":
        r"""
        Return the math function which is used to compute the intersection.

        Returns
        -------
        HLRBRep_TheCSFunctionOfInterCSurf

        """
        return _HLRBRep.HLRBRep_TheExactInterCSurf_Function(self, *args)

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the creation completed without failure.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_TheExactInterCSurf_IsDone(self, *args)

    def IsEmpty(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_TheExactInterCSurf_IsEmpty(self, *args)

    def ParameterOnCurve(self, *args) -> "Standard_Real":
        r"""
        No available documentation.

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_TheExactInterCSurf_ParameterOnCurve(self, *args)

    def ParameterOnSurface(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------

        Returns
        -------
        U: float
        V: float

        """
        return _HLRBRep.HLRBRep_TheExactInterCSurf_ParameterOnSurface(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        Compute the solution it's possible to write to optimize: intimp_intcs inter(s1,c1,toltangency) math_functionsetroot rsnld(inter.function()) while ...{ u=... v=... w=... inter.perform(u,v,w,rsnld) } or intimp_intcs inter(toltangency) inter.setsurface(s); math_functionsetroot rsnld(inter.function()) while ...{ c=... inter.setcurve(c); u=... v=... w=... inter.perform(u,v,w,rsnld) }.

        Parameters
        ----------
        U: float
        V: float
        W: float
        Rsnld: math_FunctionSetRoot
        u0: float
        v0: float
        u1: float
        v1: float
        w0: float
        w1: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_TheExactInterCSurf_Perform(self, *args)

    def Point(self, *args) -> "gp_Pnt const":
        r"""
        Returns the intersection point the exception notdone is raised if isdone is false. the exception domainerror is raised if isempty is true.

        Returns
        -------
        gp_Pnt

        """
        return _HLRBRep.HLRBRep_TheExactInterCSurf_Point(self, *args)

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

        Returns
        -------
        None
        Intersection between a line and a parametric curve.

        Parameters
        ----------
        L: gp_Lin2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between a line and a parametric curve.

        Parameters
        ----------
        C: gp_Circ2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between an ellipse and a parametric curve.

        Parameters
        ----------
        E: gp_Elips2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between a parabola and a parametric curve.

        Parameters
        ----------
        Prb: gp_Parab2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between the main branch of an hyperbola and a parametric curve.

        Parameters
        ----------
        H: gp_Hypr2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_TheIntConicCurveOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_TheIntConicCurveOfCInter(*args))

    def Perform(self, *args) -> "void":
        r"""
        Intersection between a line and a parametric curve.

        Parameters
        ----------
        L: gp_Lin2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between a line and a parametric curve.

        Parameters
        ----------
        C: gp_Circ2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between an ellipse and a parametric curve.

        Parameters
        ----------
        E: gp_Elips2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between a parabola and a parametric curve.

        Parameters
        ----------
        Prb: gp_Parab2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        Intersection between the main branch of an hyperbola and a parametric curve.

        Parameters
        ----------
        H: gp_Hypr2d
        D1: IntRes2d_Domain
        PCurve: Standard_Address
        D2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_TheIntConicCurveOfCInter_Perform(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_TheIntPCurvePCurveOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_TheIntPCurvePCurveOfCInter(*args))

    def GetMinNbSamples(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_TheIntPCurvePCurveOfCInter_GetMinNbSamples(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        Curve1: Standard_Address
        Domain1: IntRes2d_Domain
        Curve2: Standard_Address
        Domain2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        Curve1: Standard_Address
        Domain1: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_TheIntPCurvePCurveOfCInter_Perform(self, *args)

    def SetMinNbSamples(self, *args) -> "void":
        r"""
        Set / get minimum number of points in polygon for intersection.

        Parameters
        ----------
        theMinNbSamples: int

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_TheIntPCurvePCurveOfCInter_SetMinNbSamples(self, *args)

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

        Returns
        -------
        None
        Constructs and computes an interference between the polygon and the polyhedron.

        Parameters
        ----------
        thePolyg: HLRBRep_ThePolygonOfInterCSurf
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

        Returns
        -------
        None
        Constructs and computes an interference between the straight line and the polyhedron.

        Parameters
        ----------
        theLin: gp_Lin
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

        Returns
        -------
        None
        Constructs and computes an interference between the straight lines and the polyhedron.

        Parameters
        ----------
        theLins: Intf_Array1OfLin
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

        Returns
        -------
        None
        Constructs and computes an interference between the polygon and the polyhedron.

        Parameters
        ----------
        thePolyg: HLRBRep_ThePolygonOfInterCSurf
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
        theBoundSB: Bnd_BoundSortBox

        Returns
        -------
        None
        Constructs and computes an interference between the straight line and the polyhedron.

        Parameters
        ----------
        theLin: gp_Lin
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
        theBoundSB: Bnd_BoundSortBox

        Returns
        -------
        None
        Constructs and computes an interference between the straight lines and the polyhedron.

        Parameters
        ----------
        theLins: Intf_Array1OfLin
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
        theBoundSB: Bnd_BoundSortBox

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_TheInterferenceOfInterCSurf_swiginit(self, _HLRBRep.new_HLRBRep_TheInterferenceOfInterCSurf(*args))

    def Interference(self, *args) -> "void":
        r"""
        Compares the boundings between the segment of <thepolyg> and the facets of <thepolyh>.

        Parameters
        ----------
        thePolyg: HLRBRep_ThePolygonOfInterCSurf
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
        theBoundSB: Bnd_BoundSortBox

        Returns
        -------
        None
        Compares the boundings between the segment of <thepolyg> and the facets of <thepolyh>.

        Parameters
        ----------
        thePolyg: HLRBRep_ThePolygonOfInterCSurf
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_TheInterferenceOfInterCSurf_Interference(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        Computes an interference between the polygon and the polyhedron.

        Parameters
        ----------
        thePolyg: HLRBRep_ThePolygonOfInterCSurf
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

        Returns
        -------
        None
        Computes an interference between the straight line and the polyhedron.

        Parameters
        ----------
        theLin: gp_Lin
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

        Returns
        -------
        None
        Computes an interference between the straight lines and the polyhedron.

        Parameters
        ----------
        theLins: Intf_Array1OfLin
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

        Returns
        -------
        None
        Computes an interference between the polygon and the polyhedron.

        Parameters
        ----------
        thePolyg: HLRBRep_ThePolygonOfInterCSurf
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
        theBoundSB: Bnd_BoundSortBox

        Returns
        -------
        None
        Computes an interference between the straight line and the polyhedron.

        Parameters
        ----------
        theLin: gp_Lin
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
        theBoundSB: Bnd_BoundSortBox

        Returns
        -------
        None
        Computes an interference between the straight lines and the polyhedron.

        Parameters
        ----------
        theLins: Intf_Array1OfLin
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
        theBoundSB: Bnd_BoundSortBox

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_TheInterferenceOfInterCSurf_Perform(self, *args)

    __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

    def __init__(self, *args):
        r"""
        Empty constructor.

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

        Parameters
        ----------
        ITool: IntCurve_IConicTool
        Dom1: IntRes2d_Domain
        PCurve: Standard_Address
        Dom2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter(*args))

    def And_Domaine_Objet1_Intersections(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        TheImpTool: IntCurve_IConicTool
        TheParCurve: Standard_Address
        TheImpCurveDomain: IntRes2d_Domain
        TheParCurveDomain: IntRes2d_Domain
        Inter2_And_Domain2: TColStd_Array1OfReal
        Inter1: TColStd_Array1OfReal
        Resultat1: TColStd_Array1OfReal
        Resultat2: TColStd_Array1OfReal
        EpsNul: float

        Returns
        -------
        NbResultats: int

        """
        return _HLRBRep.HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter_And_Domaine_Objet1_Intersections(self, *args)

    def FindU(self, *args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        parameter: float
        point: gp_Pnt2d
        TheParCurev: Standard_Address
        TheImpTool: IntCurve_IConicTool

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter_FindU(self, *args)

    def FindV(self, *args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        parameter: float
        point: gp_Pnt2d
        TheImpTool: IntCurve_IConicTool
        ParCurve: Standard_Address
        TheParCurveDomain: IntRes2d_Domain
        V0: float
        V1: float
        Tolerance: float

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter_FindV(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        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.

        Parameters
        ----------
        ITool: IntCurve_IConicTool
        Dom1: IntRes2d_Domain
        PCurve: Standard_Address
        Dom2: IntRes2d_Domain
        TolConf: float
        Tol: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter_Perform(self, *args)

    __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"""
        No available documentation.

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

        Parameters
        ----------
        P: gp_Pnt2d
        C: Standard_Address
        U0: float
        TolU: float

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

        Parameters
        ----------
        P: gp_Pnt2d
        C: Standard_Address
        U0: float
        Umin: float
        Usup: float
        TolU: float

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter(*args))

    def Initialize(self, *args) -> "void":
        r"""
        Sets the fields of the algorithm.

        Parameters
        ----------
        C: Standard_Address
        Umin: float
        Usup: float
        TolU: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter_Initialize(self, *args)

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the distance is found.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter_IsDone(self, *args)

    def IsMin(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the extremum distance is a minimum.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter_IsMin(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        The algorithm is done with the point p. an exception is raised if the fields have not been initialized.

        Parameters
        ----------
        P: gp_Pnt2d
        U0: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter_Perform(self, *args)

    def Point(self, *args) -> "Extrema_POnCurv2d const &":
        r"""
        Returns the point of the extremum distance.

        Returns
        -------
        Extrema_POnCurv2d

        """
        return _HLRBRep.HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter_Point(self, *args)

    def SquareDistance(self, *args) -> "Standard_Real":
        r"""
        Returns the value of the extremum square distance.

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter_SquareDistance(self, *args)

    __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

    def __init__(self, *args):
        r"""
        Compute a polygon on the domain of the curve.

        Parameters
        ----------
        Curve: Standard_Address
        NbPnt: int
        Domain: IntRes2d_Domain
        Tol: float

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_swiginit(self, _HLRBRep.new_HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter(*args))

    def ApproxParamOnCurve(self, *args) -> "Standard_Real":
        r"""
        Give an approximation of the parameter on the curve according to the discretization of the curve.

        Parameters
        ----------
        Index: int
        ParamOnLine: float

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_ApproxParamOnCurve(self, *args)

    def AutoIntersectionIsPossible(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_AutoIntersectionIsPossible(self, *args)

    def CalculRegion(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Parameters
        ----------
        x: float
        y: float
        x1: float
        x2: float
        y1: float
        y2: float

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_CalculRegion(self, *args)

    def Closed(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        clos: bool

        Returns
        -------
        None
        Returns true if the polyline is closed.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_Closed(self, *args)

    def ComputeWithBox(self, *args) -> "void":
        r"""
        The current polygon is modified if most of the points of the polygon are are outside the box <otherbox>. in this situation, bounds are computed to build a polygon inside or near the otherbox.

        Parameters
        ----------
        Curve: Standard_Address
        OtherBox: Bnd_Box2d

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_ComputeWithBox(self, *args)

    def Dump(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_Dump(self, *args)

    def InfParameter(self, *args) -> "Standard_Real":
        r"""
        Returns the parameter (on the curve) of the first point of the polygon.

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_InfParameter(self, *args)

    def SetDeflectionOverEstimation(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        x: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_SetDeflectionOverEstimation(self, *args)

    def SupParameter(self, *args) -> "Standard_Real":
        r"""
        Returns the parameter (on the curve) of the last point of the polygon.

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter_SupParameter(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        Curve: gp_Lin
        NbPnt: int

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        Curve: gp_Lin
        U1: float
        U2: float
        NbPnt: int

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        Curve: gp_Lin
        Upars: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_ThePolygonOfInterCSurf_swiginit(self, _HLRBRep.new_HLRBRep_ThePolygonOfInterCSurf(*args))

    def ApproxParamOnCurve(self, *args) -> "Standard_Real":
        r"""
        Give an approximation of the parameter on the curve according to the discretization of the curve.

        Parameters
        ----------
        Index: int
        ParamOnLine: float

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_ThePolygonOfInterCSurf_ApproxParamOnCurve(self, *args)

    def BeginOfSeg(self, *args) -> "gp_Pnt const":
        r"""
        Give the point of range index in the polygon.

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

        Returns
        -------
        gp_Pnt

        """
        return _HLRBRep.HLRBRep_ThePolygonOfInterCSurf_BeginOfSeg(self, *args)

    def Bounding(self, *args) -> "Bnd_Box const &":
        r"""
        Give the bounding box of the polygon.

        Returns
        -------
        Bnd_Box

        """
        return _HLRBRep.HLRBRep_ThePolygonOfInterCSurf_Bounding(self, *args)

    def Closed(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        clos: bool

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_ThePolygonOfInterCSurf_Closed(self, *args)

    def DeflectionOverEstimation(self, *args) -> "Standard_Real":
        r"""
        No available documentation.

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_ThePolygonOfInterCSurf_DeflectionOverEstimation(self, *args)

    def Dump(self, *args) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_ThePolygonOfInterCSurf_Dump(self, *args)

    def EndOfSeg(self, *args) -> "gp_Pnt const":
        r"""
        Give the point of range index in the polygon.

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

        Returns
        -------
        gp_Pnt

        """
        return _HLRBRep.HLRBRep_ThePolygonOfInterCSurf_EndOfSeg(self, *args)

    def InfParameter(self, *args) -> "Standard_Real":
        r"""
        Returns the parameter (on the curve) of the first point of the polygon.

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_ThePolygonOfInterCSurf_InfParameter(self, *args)

    def NbSegments(self, *args) -> "Standard_Integer":
        r"""
        Give the number of segments in the polyline.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_ThePolygonOfInterCSurf_NbSegments(self, *args)

    def SetDeflectionOverEstimation(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        x: float

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_ThePolygonOfInterCSurf_SetDeflectionOverEstimation(self, *args)

    def SupParameter(self, *args) -> "Standard_Real":
        r"""
        Returns the parameter (on the curve) of the last point of the polygon.

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_ThePolygonOfInterCSurf_SupParameter(self, *args)

    __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

    @staticmethod
    def BeginOfSeg(*args) -> "gp_Pnt const":
        r"""
        Give the point of range index in the polygon.

        Parameters
        ----------
        thePolygon: HLRBRep_ThePolygonOfInterCSurf
        Index: int

        Returns
        -------
        gp_Pnt

        """
        return _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_BeginOfSeg(*args)

    @staticmethod
    def Bounding(*args) -> "Bnd_Box const &":
        r"""
        Give the bounding box of the polygon.

        Parameters
        ----------
        thePolygon: HLRBRep_ThePolygonOfInterCSurf

        Returns
        -------
        Bnd_Box

        """
        return _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_Bounding(*args)

    @staticmethod
    def Closed(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        thePolygon: HLRBRep_ThePolygonOfInterCSurf

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_Closed(*args)

    @staticmethod
    def DeflectionOverEstimation(*args) -> "Standard_Real":
        r"""
        No available documentation.

        Parameters
        ----------
        thePolygon: HLRBRep_ThePolygonOfInterCSurf

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_DeflectionOverEstimation(*args)

    @staticmethod
    def Dump(*args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        thePolygon: HLRBRep_ThePolygonOfInterCSurf

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_Dump(*args)

    @staticmethod
    def EndOfSeg(*args) -> "gp_Pnt const":
        r"""
        Give the point of range index in the polygon.

        Parameters
        ----------
        thePolygon: HLRBRep_ThePolygonOfInterCSurf
        Index: int

        Returns
        -------
        gp_Pnt

        """
        return _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_EndOfSeg(*args)

    @staticmethod
    def NbSegments(*args) -> "Standard_Integer":
        r"""
        No available documentation.

        Parameters
        ----------
        thePolygon: HLRBRep_ThePolygonOfInterCSurf

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_NbSegments(*args)

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

def HLRBRep_ThePolygonToolOfInterCSurf_BeginOfSeg(*args) -> "gp_Pnt const":
    r"""
    Give the point of range index in the polygon.

    Parameters
    ----------
    thePolygon: HLRBRep_ThePolygonOfInterCSurf
    Index: int

    Returns
    -------
    gp_Pnt

    """
    return _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_BeginOfSeg(*args)

def HLRBRep_ThePolygonToolOfInterCSurf_Bounding(*args) -> "Bnd_Box const &":
    r"""
    Give the bounding box of the polygon.

    Parameters
    ----------
    thePolygon: HLRBRep_ThePolygonOfInterCSurf

    Returns
    -------
    Bnd_Box

    """
    return _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_Bounding(*args)

def HLRBRep_ThePolygonToolOfInterCSurf_Closed(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    thePolygon: HLRBRep_ThePolygonOfInterCSurf

    Returns
    -------
    bool

    """
    return _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_Closed(*args)

def HLRBRep_ThePolygonToolOfInterCSurf_DeflectionOverEstimation(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    thePolygon: HLRBRep_ThePolygonOfInterCSurf

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_DeflectionOverEstimation(*args)

def HLRBRep_ThePolygonToolOfInterCSurf_Dump(*args) -> "void":
    r"""
    No available documentation.

    Parameters
    ----------
    thePolygon: HLRBRep_ThePolygonOfInterCSurf

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_Dump(*args)

def HLRBRep_ThePolygonToolOfInterCSurf_EndOfSeg(*args) -> "gp_Pnt const":
    r"""
    Give the point of range index in the polygon.

    Parameters
    ----------
    thePolygon: HLRBRep_ThePolygonOfInterCSurf
    Index: int

    Returns
    -------
    gp_Pnt

    """
    return _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_EndOfSeg(*args)

def HLRBRep_ThePolygonToolOfInterCSurf_NbSegments(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    thePolygon: HLRBRep_ThePolygonOfInterCSurf

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_ThePolygonToolOfInterCSurf_NbSegments(*args)

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

    @staticmethod
    def Bounding(*args) -> "Bnd_Box const &":
        r"""
        Give the bounding box of the polyhedrontool.

        Parameters
        ----------
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

        Returns
        -------
        Bnd_Box

        """
        return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_Bounding(*args)

    @staticmethod
    def ComponentsBounding(*args) -> "opencascade::handle< Bnd_HArray1OfBox > const &":
        r"""
        Give the array of boxes. the box <n> corresponding to the triangle <n>.

        Parameters
        ----------
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

        Returns
        -------
        opencascade::handle<Bnd_HArray1OfBox>

        """
        return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_ComponentsBounding(*args)

    @staticmethod
    def DeflectionOverEstimation(*args) -> "Standard_Real":
        r"""
        Give the tolerance of the polygon.

        Parameters
        ----------
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_DeflectionOverEstimation(*args)

    @staticmethod
    def Dump(*args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_Dump(*args)

    @staticmethod
    def GetBorderDeflection(*args) -> "Standard_Real":
        r"""
        This method returns a border deflection of the polyhedron.

        Parameters
        ----------
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_GetBorderDeflection(*args)

    @staticmethod
    def IsOnBound(*args) -> "Standard_Boolean":
        r"""
        This method returns true if the edge based on points with indices index1 and index2 represents a boundary edge. it is necessary to take into account the boundary deflection for this edge.

        Parameters
        ----------
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
        Index1: int
        Index2: int

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_IsOnBound(*args)

    @staticmethod
    def NbTriangles(*args) -> "Standard_Integer":
        r"""
        Give the number of triangles in this polyedral surface.

        Parameters
        ----------
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_NbTriangles(*args)

    @staticmethod
    def Point(*args) -> "gp_Pnt const":
        r"""
        Give the point of index i in the polyedral surface.

        Parameters
        ----------
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
        Index: int

        Returns
        -------
        gp_Pnt

        """
        return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_Point(*args)

    @staticmethod
    def TriConnex(*args) -> "Standard_Integer &, Standard_Integer &":
        r"""
        Give the addresse tricon of the triangle connexe to the triangle of address triang by the edge pivot pedge and the third point of this connexe triangle. when we are on a free edge tricon==0 but the function return the value of the triangle in the other side of pivot on the free edge. used to turn around a vertex.

        Parameters
        ----------
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
        Triang: int
        Pivot: int
        Pedge: int

        Returns
        -------
        TriCon: int
        OtherP: int

        """
        return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_TriConnex(*args)

    @staticmethod
    def Triangle(*args) -> "Standard_Integer &, Standard_Integer &, Standard_Integer &":
        r"""
        Give the indices of the 3 points of the triangle of address index in the polyhedrontool.

        Parameters
        ----------
        thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
        Index: int

        Returns
        -------
        P1: int
        P2: int
        P3: int

        """
        return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_Triangle(*args)

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

def HLRBRep_ThePolyhedronToolOfInterCSurf_Bounding(*args) -> "Bnd_Box const &":
    r"""
    Give the bounding box of the polyhedrontool.

    Parameters
    ----------
    thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

    Returns
    -------
    Bnd_Box

    """
    return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_Bounding(*args)

def HLRBRep_ThePolyhedronToolOfInterCSurf_ComponentsBounding(*args) -> "opencascade::handle< Bnd_HArray1OfBox > const &":
    r"""
    Give the array of boxes. the box <n> corresponding to the triangle <n>.

    Parameters
    ----------
    thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

    Returns
    -------
    opencascade::handle<Bnd_HArray1OfBox>

    """
    return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_ComponentsBounding(*args)

def HLRBRep_ThePolyhedronToolOfInterCSurf_DeflectionOverEstimation(*args) -> "Standard_Real":
    r"""
    Give the tolerance of the polygon.

    Parameters
    ----------
    thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_DeflectionOverEstimation(*args)

def HLRBRep_ThePolyhedronToolOfInterCSurf_Dump(*args) -> "void":
    r"""
    No available documentation.

    Parameters
    ----------
    thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

    Returns
    -------
    None

    """
    return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_Dump(*args)

def HLRBRep_ThePolyhedronToolOfInterCSurf_GetBorderDeflection(*args) -> "Standard_Real":
    r"""
    This method returns a border deflection of the polyhedron.

    Parameters
    ----------
    thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_GetBorderDeflection(*args)

def HLRBRep_ThePolyhedronToolOfInterCSurf_IsOnBound(*args) -> "Standard_Boolean":
    r"""
    This method returns true if the edge based on points with indices index1 and index2 represents a boundary edge. it is necessary to take into account the boundary deflection for this edge.

    Parameters
    ----------
    thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
    Index1: int
    Index2: int

    Returns
    -------
    bool

    """
    return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_IsOnBound(*args)

def HLRBRep_ThePolyhedronToolOfInterCSurf_NbTriangles(*args) -> "Standard_Integer":
    r"""
    Give the number of triangles in this polyedral surface.

    Parameters
    ----------
    thePolyh: HLRBRep_ThePolyhedronOfInterCSurf

    Returns
    -------
    int

    """
    return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_NbTriangles(*args)

def HLRBRep_ThePolyhedronToolOfInterCSurf_Point(*args) -> "gp_Pnt const":
    r"""
    Give the point of index i in the polyedral surface.

    Parameters
    ----------
    thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
    Index: int

    Returns
    -------
    gp_Pnt

    """
    return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_Point(*args)

def HLRBRep_ThePolyhedronToolOfInterCSurf_TriConnex(*args) -> "Standard_Integer &, Standard_Integer &":
    r"""
    Give the addresse tricon of the triangle connexe to the triangle of address triang by the edge pivot pedge and the third point of this connexe triangle. when we are on a free edge tricon==0 but the function return the value of the triangle in the other side of pivot on the free edge. used to turn around a vertex.

    Parameters
    ----------
    thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
    Triang: int
    Pivot: int
    Pedge: int

    Returns
    -------
    TriCon: int
    OtherP: int

    """
    return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_TriConnex(*args)

def HLRBRep_ThePolyhedronToolOfInterCSurf_Triangle(*args) -> "Standard_Integer &, Standard_Integer &, Standard_Integer &":
    r"""
    Give the indices of the 3 points of the triangle of address index in the polyhedrontool.

    Parameters
    ----------
    thePolyh: HLRBRep_ThePolyhedronOfInterCSurf
    Index: int

    Returns
    -------
    P1: int
    P2: int
    P3: int

    """
    return _HLRBRep.HLRBRep_ThePolyhedronToolOfInterCSurf_Triangle(*args)

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

    @staticmethod
    def FindParameter(*args) -> "Standard_Real":
        r"""
        Returns the parameter v of the point on the parametric curve corresponding to the point pnt. the correspondance between pnt and the point p(v) on the parametric curve must be coherent with the way of determination of the signed distance between a point and the implicit curve. tol is the tolerance on the distance between a point and the parametrised curve. in that case, no bounds are given. the research of the rigth parameter has to be made on the natural parametric domain of the curve.

        Parameters
        ----------
        C: Standard_Address
        Pnt: gp_Pnt2d
        Tol: float

        Returns
        -------
        float
        Returns the parameter v of the point on the parametric curve corresponding to the point pnt. the correspondance between pnt and the point p(v) on the parametric curve must be coherent with the way of determination of the signed distance between a point and the implicit curve. tol is the tolerance on the distance between a point and the parametrised curve. lowparameter and highparameter give the boundaries of the interval in wich the parameter certainly lies. these parameters are given to implement a more efficient algoritm. so, it is not necessary to check that the returned value verifies lowparameter <= value <= highparameter.

        Parameters
        ----------
        C: Standard_Address
        Pnt: gp_Pnt2d
        LowParameter: float
        HighParameter: float
        Tol: float

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_TheProjPCurOfCInter_FindParameter(*args)

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

def HLRBRep_TheProjPCurOfCInter_FindParameter(*args) -> "Standard_Real":
    r"""
    Returns the parameter v of the point on the parametric curve corresponding to the point pnt. the correspondance between pnt and the point p(v) on the parametric curve must be coherent with the way of determination of the signed distance between a point and the implicit curve. tol is the tolerance on the distance between a point and the parametrised curve. in that case, no bounds are given. the research of the rigth parameter has to be made on the natural parametric domain of the curve.

    Parameters
    ----------
    C: Standard_Address
    Pnt: gp_Pnt2d
    Tol: float

    Returns
    -------
    float
    Returns the parameter v of the point on the parametric curve corresponding to the point pnt. the correspondance between pnt and the point p(v) on the parametric curve must be coherent with the way of determination of the signed distance between a point and the implicit curve. tol is the tolerance on the distance between a point and the parametrised curve. lowparameter and highparameter give the boundaries of the interval in wich the parameter certainly lies. these parameters are given to implement a more efficient algoritm. so, it is not necessary to check that the returned value verifies lowparameter <= value <= highparameter.

    Parameters
    ----------
    C: Standard_Address
    Pnt: gp_Pnt2d
    LowParameter: float
    HighParameter: float
    Tol: float

    Returns
    -------
    float

    """
    return _HLRBRep.HLRBRep_TheProjPCurOfCInter_FindParameter(*args)

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.

        Parameters
        ----------
        S: Standard_Address
        C: gp_Lin

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_TheQuadCurvExactInterCSurf_swiginit(self, _HLRBRep.new_HLRBRep_TheQuadCurvExactInterCSurf(*args))

    def Intervals(self, *args) -> "void":
        r"""
        U1 and u2 are the parameters of a segment on the curve.

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

        Returns
        -------
        U1: float
        U2: float

        """
        return _HLRBRep.HLRBRep_TheQuadCurvExactInterCSurf_Intervals(self, *args)

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_TheQuadCurvExactInterCSurf_IsDone(self, *args)

    def NbIntervals(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_TheQuadCurvExactInterCSurf_NbIntervals(self, *args)

    def NbRoots(self, *args) -> "Standard_Integer":
        r"""
        No available documentation.

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_TheQuadCurvExactInterCSurf_NbRoots(self, *args)

    def Root(self, *args) -> "Standard_Real":
        r"""
        No available documentation.

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

        Returns
        -------
        float

        """
        return _HLRBRep.HLRBRep_TheQuadCurvExactInterCSurf_Root(self, *args)

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

        Parameters
        ----------
        Q: IntSurf_Quadric
        C: gp_Lin

        Returns
        -------
        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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        T: HLRBRep_EdgeInterferenceTool
        I: HLRAlgo_ListIteratorOfInterferenceList

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_VertexList_swiginit(self, _HLRBRep.new_HLRBRep_VertexList(*args))

    def BoundaryTransition(self, *args) -> "TopAbs_Orientation":
        r"""
        Returns the transition of the current vertex relative to the boundary if it is an interference.

        Returns
        -------
        TopAbs_Orientation

        """
        return _HLRBRep.HLRBRep_VertexList_BoundaryTransition(self, *args)

    def Current(self, *args) -> "HLRAlgo_Intersection const &":
        r"""
        Returns the current vertex.

        Returns
        -------
        HLRAlgo_Intersection

        """
        return _HLRBRep.HLRBRep_VertexList_Current(self, *args)

    def IsBoundary(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the current vertex is is on the boundary of the edge.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_VertexList_IsBoundary(self, *args)

    def IsInterference(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the current vertex is an interference.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_VertexList_IsInterference(self, *args)

    def IsPeriodic(self, *args) -> "Standard_Boolean":
        r"""
        Returns true when the curve is periodic.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_VertexList_IsPeriodic(self, *args)

    def More(self, *args) -> "Standard_Boolean":
        r"""
        Returns true when there are more vertices.

        Returns
        -------
        bool

        """
        return _HLRBRep.HLRBRep_VertexList_More(self, *args)

    def Next(self, *args) -> "void":
        r"""
        Proceeds to the next vertex.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_VertexList_Next(self, *args)

    def Orientation(self, *args) -> "TopAbs_Orientation":
        r"""
        Returns the orientation of the current vertex if it is on the boundary of the edge.

        Returns
        -------
        TopAbs_Orientation

        """
        return _HLRBRep.HLRBRep_VertexList_Orientation(self, *args)

    def Transition(self, *args) -> "TopAbs_Orientation":
        r"""
        Returns the transition of the current vertex if it is an interference.

        Returns
        -------
        TopAbs_Orientation

        """
        return _HLRBRep.HLRBRep_VertexList_Transition(self, *args)

    __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

    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.

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        A: HLRBRep_Algo

        Returns
        -------
        None

        """
        _HLRBRep.HLRBRep_Algo_swiginit(self, _HLRBRep.new_HLRBRep_Algo(*args))

    def Add(self, *args) -> "void":
        r"""
        Add the shape <s>.

        Parameters
        ----------
        S: TopoDS_Shape
        SData: Standard_Transient
        nbIso: int,optional
        	default value is 0

        Returns
        -------
        None
        Adds the shape s to this framework, and specifies the number of isoparameters nbiso desired in visualizing s. you may add as many shapes as you wish. use the function add once for each shape.

        Parameters
        ----------
        S: TopoDS_Shape
        nbIso: int,optional
        	default value is 0

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Algo_Add(self, *args)

    def Index(self, *args) -> "Standard_Integer":
        r"""
        Return the index of the shape <s> and return 0 if the shape <s> is not found.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        int

        """
        return _HLRBRep.HLRBRep_Algo_Index(self, *args)

    def OutLinedShapeNullify(self, *args) -> "void":
        r"""
        Nullify all the results of outliner from hlrtopobrep.

        Returns
        -------
        None

        """
        return _HLRBRep.HLRBRep_Algo_OutLinedShapeNullify(self, *args)


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


@classnotwrapped
class HLRBRep_ThePolyhedronOfInterCSurf:
	pass

@classnotwrapped
class HLRBRep_BSurfaceTool:
	pass

@classnotwrapped
class HLRBRep_Surface:
	pass

@classnotwrapped
class HLRBRep_TheCurveLocatorOfTheProjPCurOfCInter:
	pass






