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

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

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__ = _BRepFill.delete_SwigPyIterator

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    def __sub__(self, *args) -> "ptrdiff_t":
        return _BRepFill.SwigPyIterator___sub__(self, *args)
    def __iter__(self):
        return self

# Register SwigPyIterator in _BRepFill:
_BRepFill.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 _BRepFill.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.TopTools
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.MAT
import OCC.Core.Geom
import OCC.Core.GeomAbs
import OCC.Core.TColgp
import OCC.Core.Geom2d
import OCC.Core.AppParCurves
import OCC.Core.math
import OCC.Core.GeomPlate
import OCC.Core.Adaptor3d
import OCC.Core.Adaptor2d
import OCC.Core.TColGeom2d
import OCC.Core.GeomLProp
import OCC.Core.Law
import OCC.Core.AdvApp2Var
import OCC.Core.AdvApprox
import OCC.Core.PLib
import OCC.Core.Plate
import OCC.Core.GeomFill
import OCC.Core.Convert
import OCC.Core.AppBlend
import OCC.Core.Approx
import OCC.Core.AppCont
import OCC.Core.TColGeom
import OCC.Core.BRepMAT2d
import OCC.Core.Bisector
import OCC.Core.IntRes2d

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

BRepFill_NoContact = _BRepFill.BRepFill_NoContact
BRepFill_Contact = _BRepFill.BRepFill_Contact
BRepFill_ContactOnBorder = _BRepFill.BRepFill_ContactOnBorder
BRepFill_Modified = _BRepFill.BRepFill_Modified
BRepFill_Right = _BRepFill.BRepFill_Right
BRepFill_Round = _BRepFill.BRepFill_Round


class BRepFill_TypeOfContact(IntEnum):
	BRepFill_NoContact = 0
	BRepFill_Contact = 1
	BRepFill_ContactOnBorder = 2
BRepFill_NoContact = BRepFill_TypeOfContact.BRepFill_NoContact
BRepFill_Contact = BRepFill_TypeOfContact.BRepFill_Contact
BRepFill_ContactOnBorder = BRepFill_TypeOfContact.BRepFill_ContactOnBorder

class BRepFill_TransitionStyle(IntEnum):
	BRepFill_Modified = 0
	BRepFill_Right = 1
	BRepFill_Round = 2
BRepFill_Modified = BRepFill_TransitionStyle.BRepFill_Modified
BRepFill_Right = BRepFill_TransitionStyle.BRepFill_Right
BRepFill_Round = BRepFill_TransitionStyle.BRepFill_Round


def Handle_BRepFill_CurveConstraint_Create() -> "opencascade::handle< BRepFill_CurveConstraint >":
    return _BRepFill.Handle_BRepFill_CurveConstraint_Create()

def Handle_BRepFill_CurveConstraint_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< BRepFill_CurveConstraint >":
    return _BRepFill.Handle_BRepFill_CurveConstraint_DownCast(t)

def Handle_BRepFill_CurveConstraint_IsNull(t: "opencascade::handle< BRepFill_CurveConstraint > const &") -> "bool":
    return _BRepFill.Handle_BRepFill_CurveConstraint_IsNull(t)

def Handle_BRepFill_LocationLaw_Create() -> "opencascade::handle< BRepFill_LocationLaw >":
    return _BRepFill.Handle_BRepFill_LocationLaw_Create()

def Handle_BRepFill_LocationLaw_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< BRepFill_LocationLaw >":
    return _BRepFill.Handle_BRepFill_LocationLaw_DownCast(t)

def Handle_BRepFill_LocationLaw_IsNull(t: "opencascade::handle< BRepFill_LocationLaw > const &") -> "bool":
    return _BRepFill.Handle_BRepFill_LocationLaw_IsNull(t)

def Handle_BRepFill_PipeShell_Create() -> "opencascade::handle< BRepFill_PipeShell >":
    return _BRepFill.Handle_BRepFill_PipeShell_Create()

def Handle_BRepFill_PipeShell_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< BRepFill_PipeShell >":
    return _BRepFill.Handle_BRepFill_PipeShell_DownCast(t)

def Handle_BRepFill_PipeShell_IsNull(t: "opencascade::handle< BRepFill_PipeShell > const &") -> "bool":
    return _BRepFill.Handle_BRepFill_PipeShell_IsNull(t)

def Handle_BRepFill_SectionLaw_Create() -> "opencascade::handle< BRepFill_SectionLaw >":
    return _BRepFill.Handle_BRepFill_SectionLaw_Create()

def Handle_BRepFill_SectionLaw_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< BRepFill_SectionLaw >":
    return _BRepFill.Handle_BRepFill_SectionLaw_DownCast(t)

def Handle_BRepFill_SectionLaw_IsNull(t: "opencascade::handle< BRepFill_SectionLaw > const &") -> "bool":
    return _BRepFill.Handle_BRepFill_SectionLaw_IsNull(t)

def Handle_BRepFill_ACRLaw_Create() -> "opencascade::handle< BRepFill_ACRLaw >":
    return _BRepFill.Handle_BRepFill_ACRLaw_Create()

def Handle_BRepFill_ACRLaw_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< BRepFill_ACRLaw >":
    return _BRepFill.Handle_BRepFill_ACRLaw_DownCast(t)

def Handle_BRepFill_ACRLaw_IsNull(t: "opencascade::handle< BRepFill_ACRLaw > const &") -> "bool":
    return _BRepFill.Handle_BRepFill_ACRLaw_IsNull(t)

def Handle_BRepFill_Edge3DLaw_Create() -> "opencascade::handle< BRepFill_Edge3DLaw >":
    return _BRepFill.Handle_BRepFill_Edge3DLaw_Create()

def Handle_BRepFill_Edge3DLaw_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< BRepFill_Edge3DLaw >":
    return _BRepFill.Handle_BRepFill_Edge3DLaw_DownCast(t)

def Handle_BRepFill_Edge3DLaw_IsNull(t: "opencascade::handle< BRepFill_Edge3DLaw > const &") -> "bool":
    return _BRepFill.Handle_BRepFill_Edge3DLaw_IsNull(t)

def Handle_BRepFill_EdgeOnSurfLaw_Create() -> "opencascade::handle< BRepFill_EdgeOnSurfLaw >":
    return _BRepFill.Handle_BRepFill_EdgeOnSurfLaw_Create()

def Handle_BRepFill_EdgeOnSurfLaw_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< BRepFill_EdgeOnSurfLaw >":
    return _BRepFill.Handle_BRepFill_EdgeOnSurfLaw_DownCast(t)

def Handle_BRepFill_EdgeOnSurfLaw_IsNull(t: "opencascade::handle< BRepFill_EdgeOnSurfLaw > const &") -> "bool":
    return _BRepFill.Handle_BRepFill_EdgeOnSurfLaw_IsNull(t)

def Handle_BRepFill_NSections_Create() -> "opencascade::handle< BRepFill_NSections >":
    return _BRepFill.Handle_BRepFill_NSections_Create()

def Handle_BRepFill_NSections_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< BRepFill_NSections >":
    return _BRepFill.Handle_BRepFill_NSections_DownCast(t)

def Handle_BRepFill_NSections_IsNull(t: "opencascade::handle< BRepFill_NSections > const &") -> "bool":
    return _BRepFill.Handle_BRepFill_NSections_IsNull(t)

def Handle_BRepFill_ShapeLaw_Create() -> "opencascade::handle< BRepFill_ShapeLaw >":
    return _BRepFill.Handle_BRepFill_ShapeLaw_Create()

def Handle_BRepFill_ShapeLaw_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< BRepFill_ShapeLaw >":
    return _BRepFill.Handle_BRepFill_ShapeLaw_DownCast(t)

def Handle_BRepFill_ShapeLaw_IsNull(t: "opencascade::handle< BRepFill_ShapeLaw > const &") -> "bool":
    return _BRepFill.Handle_BRepFill_ShapeLaw_IsNull(t)

def Handle_BRepFill_DraftLaw_Create() -> "opencascade::handle< BRepFill_DraftLaw >":
    return _BRepFill.Handle_BRepFill_DraftLaw_Create()

def Handle_BRepFill_DraftLaw_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< BRepFill_DraftLaw >":
    return _BRepFill.Handle_BRepFill_DraftLaw_DownCast(t)

def Handle_BRepFill_DraftLaw_IsNull(t: "opencascade::handle< BRepFill_DraftLaw > const &") -> "bool":
    return _BRepFill.Handle_BRepFill_DraftLaw_IsNull(t)
class BRepFill_DataMapOfNodeDataMapOfShapeShape(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_DataMap< opencascade::handle< MAT_Node >,NCollection_DataMap< TopoDS_Shape,TopoDS_Shape,TopTools_ShapeMapHasher >,NCollection_DefaultHasher< opencascade::handle< Standard_Transient > > >::iterator":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_begin(self)

    def end(self) -> "NCollection_DataMap< opencascade::handle< MAT_Node >,NCollection_DataMap< TopoDS_Shape,TopoDS_Shape,TopTools_ShapeMapHasher >,NCollection_DefaultHasher< opencascade::handle< Standard_Transient > > >::iterator":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_end(self)

    def cbegin(self) -> "NCollection_DataMap< opencascade::handle< MAT_Node >,NCollection_DataMap< TopoDS_Shape,TopoDS_Shape,TopTools_ShapeMapHasher >,NCollection_DefaultHasher< opencascade::handle< Standard_Transient > > >::const_iterator":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_cbegin(self)

    def cend(self) -> "NCollection_DataMap< opencascade::handle< MAT_Node >,NCollection_DataMap< TopoDS_Shape,TopoDS_Shape,TopTools_ShapeMapHasher >,NCollection_DefaultHasher< opencascade::handle< Standard_Transient > > >::const_iterator":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_cend(self)

    def __init__(self, *args):
        _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_swiginit(self, _BRepFill.new_BRepFill_DataMapOfNodeDataMapOfShapeShape(*args))

    def Exchange(self, theOther: "BRepFill_DataMapOfNodeDataMapOfShapeShape") -> "void":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_Exchange(self, theOther)

    def Assign(self, theOther: "BRepFill_DataMapOfNodeDataMapOfShapeShape") -> "NCollection_DataMap< opencascade::handle< MAT_Node >,TopTools_DataMapOfShapeShape,TColStd_MapTransientHasher > &":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_Assign(self, theOther)

    def Set(self, theOther: "BRepFill_DataMapOfNodeDataMapOfShapeShape") -> "NCollection_DataMap< opencascade::handle< MAT_Node >,TopTools_DataMapOfShapeShape,TColStd_MapTransientHasher > &":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_ReSize(self, N)

    def Bind(self, theKey: "opencascade::handle< MAT_Node > const &", theItem: "TopTools_DataMapOfShapeShape") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_Bind(self, theKey, theItem)

    def Bound(self, theKey: "opencascade::handle< MAT_Node > const &", theItem: "TopTools_DataMapOfShapeShape") -> "NCollection_DataMap< TopoDS_Shape,TopoDS_Shape,TopTools_ShapeMapHasher > *":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "opencascade::handle< MAT_Node > const &") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_IsBound(self, theKey)

    def UnBind(self, theKey: "opencascade::handle< MAT_Node > const &") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_UnBind(self, theKey)

    def Seek(self, theKey: "opencascade::handle< MAT_Node > const &") -> "NCollection_DataMap< TopoDS_Shape,TopoDS_Shape,TopTools_ShapeMapHasher > const *":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_Find(self, *args)

    def ChangeSeek(self, theKey: "opencascade::handle< MAT_Node > const &") -> "NCollection_DataMap< TopoDS_Shape,TopoDS_Shape,TopTools_ShapeMapHasher > *":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "opencascade::handle< MAT_Node > const &") -> "NCollection_DataMap< TopoDS_Shape,TopoDS_Shape,TopTools_ShapeMapHasher > &":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_ChangeFind(self, theKey)

    def __call__(self, *args) -> "NCollection_DataMap< TopoDS_Shape,TopoDS_Shape,TopTools_ShapeMapHasher > &":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape___call__(self, *args)

    def Clear(self, *args) -> "void":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_Clear(self, *args)
    __swig_destroy__ = _BRepFill.delete_BRepFill_DataMapOfNodeDataMapOfShapeShape

    def Size(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_Size(self)

# Register BRepFill_DataMapOfNodeDataMapOfShapeShape in _BRepFill:
_BRepFill.BRepFill_DataMapOfNodeDataMapOfShapeShape_swigregister(BRepFill_DataMapOfNodeDataMapOfShapeShape)

class BRepFill_DataMapOfNodeShape(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_DataMap< opencascade::handle< MAT_Node >,TopoDS_Shape,NCollection_DefaultHasher< opencascade::handle< Standard_Transient > > >::iterator":
        return _BRepFill.BRepFill_DataMapOfNodeShape_begin(self)

    def end(self) -> "NCollection_DataMap< opencascade::handle< MAT_Node >,TopoDS_Shape,NCollection_DefaultHasher< opencascade::handle< Standard_Transient > > >::iterator":
        return _BRepFill.BRepFill_DataMapOfNodeShape_end(self)

    def cbegin(self) -> "NCollection_DataMap< opencascade::handle< MAT_Node >,TopoDS_Shape,NCollection_DefaultHasher< opencascade::handle< Standard_Transient > > >::const_iterator":
        return _BRepFill.BRepFill_DataMapOfNodeShape_cbegin(self)

    def cend(self) -> "NCollection_DataMap< opencascade::handle< MAT_Node >,TopoDS_Shape,NCollection_DefaultHasher< opencascade::handle< Standard_Transient > > >::const_iterator":
        return _BRepFill.BRepFill_DataMapOfNodeShape_cend(self)

    def __init__(self, *args):
        _BRepFill.BRepFill_DataMapOfNodeShape_swiginit(self, _BRepFill.new_BRepFill_DataMapOfNodeShape(*args))

    def Exchange(self, theOther: "BRepFill_DataMapOfNodeShape") -> "void":
        return _BRepFill.BRepFill_DataMapOfNodeShape_Exchange(self, theOther)

    def Assign(self, theOther: "BRepFill_DataMapOfNodeShape") -> "NCollection_DataMap< opencascade::handle< MAT_Node >,TopoDS_Shape,TColStd_MapTransientHasher > &":
        return _BRepFill.BRepFill_DataMapOfNodeShape_Assign(self, theOther)

    def Set(self, theOther: "BRepFill_DataMapOfNodeShape") -> "NCollection_DataMap< opencascade::handle< MAT_Node >,TopoDS_Shape,TColStd_MapTransientHasher > &":
        return _BRepFill.BRepFill_DataMapOfNodeShape_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _BRepFill.BRepFill_DataMapOfNodeShape_ReSize(self, N)

    def Bind(self, theKey: "opencascade::handle< MAT_Node > const &", theItem: "TopoDS_Shape") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfNodeShape_Bind(self, theKey, theItem)

    def Bound(self, theKey: "opencascade::handle< MAT_Node > const &", theItem: "TopoDS_Shape") -> "TopoDS_Shape *":
        return _BRepFill.BRepFill_DataMapOfNodeShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "opencascade::handle< MAT_Node > const &") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfNodeShape_IsBound(self, theKey)

    def UnBind(self, theKey: "opencascade::handle< MAT_Node > const &") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfNodeShape_UnBind(self, theKey)

    def Seek(self, theKey: "opencascade::handle< MAT_Node > const &") -> "TopoDS_Shape const *":
        return _BRepFill.BRepFill_DataMapOfNodeShape_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfNodeShape_Find(self, *args)

    def ChangeSeek(self, theKey: "opencascade::handle< MAT_Node > const &") -> "TopoDS_Shape *":
        return _BRepFill.BRepFill_DataMapOfNodeShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "opencascade::handle< MAT_Node > const &") -> "TopoDS_Shape &":
        return _BRepFill.BRepFill_DataMapOfNodeShape_ChangeFind(self, theKey)

    def __call__(self, *args) -> "TopoDS_Shape &":
        return _BRepFill.BRepFill_DataMapOfNodeShape___call__(self, *args)

    def Clear(self, *args) -> "void":
        return _BRepFill.BRepFill_DataMapOfNodeShape_Clear(self, *args)
    __swig_destroy__ = _BRepFill.delete_BRepFill_DataMapOfNodeShape

    def Size(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_DataMapOfNodeShape_Size(self)

# Register BRepFill_DataMapOfNodeShape in _BRepFill:
_BRepFill.BRepFill_DataMapOfNodeShape_swigregister(BRepFill_DataMapOfNodeShape)

class BRepFill_DataMapOfOrientedShapeListOfShape(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_DataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_OrientedShapeMapHasher >::iterator":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_begin(self)

    def end(self) -> "NCollection_DataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_OrientedShapeMapHasher >::iterator":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_end(self)

    def cbegin(self) -> "NCollection_DataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_OrientedShapeMapHasher >::const_iterator":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_OrientedShapeMapHasher >::const_iterator":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_cend(self)

    def __init__(self, *args):
        _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_swiginit(self, _BRepFill.new_BRepFill_DataMapOfOrientedShapeListOfShape(*args))

    def Exchange(self, theOther: "BRepFill_DataMapOfOrientedShapeListOfShape") -> "void":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_Exchange(self, theOther)

    def Assign(self, theOther: "BRepFill_DataMapOfOrientedShapeListOfShape") -> "NCollection_DataMap< TopoDS_Shape,TopTools_ListOfShape,TopTools_OrientedShapeMapHasher > &":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_Assign(self, theOther)

    def Set(self, theOther: "BRepFill_DataMapOfOrientedShapeListOfShape") -> "NCollection_DataMap< TopoDS_Shape,TopTools_ListOfShape,TopTools_OrientedShapeMapHasher > &":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_ReSize(self, N)

    def Bind(self, theKey: "TopoDS_Shape", theItem: "TopoDS_ListOfShape") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TopoDS_Shape", theItem: "TopoDS_ListOfShape") -> "NCollection_List< TopoDS_Shape > *":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_IsBound(self, theKey)

    def UnBind(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_UnBind(self, theKey)

    def Seek(self, theKey: "TopoDS_Shape") -> "NCollection_List< TopoDS_Shape > const *":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_Find(self, *args)

    def ChangeSeek(self, theKey: "TopoDS_Shape") -> "NCollection_List< TopoDS_Shape > *":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TopoDS_Shape") -> "NCollection_List< TopoDS_Shape > &":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_ChangeFind(self, theKey)

    def __call__(self, *args) -> "NCollection_List< TopoDS_Shape > &":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape___call__(self, *args)

    def Clear(self, *args) -> "void":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_Clear(self, *args)
    __swig_destroy__ = _BRepFill.delete_BRepFill_DataMapOfOrientedShapeListOfShape

    def Size(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_Size(self)

# Register BRepFill_DataMapOfOrientedShapeListOfShape in _BRepFill:
_BRepFill.BRepFill_DataMapOfOrientedShapeListOfShape_swigregister(BRepFill_DataMapOfOrientedShapeListOfShape)

class BRepFill_DataMapOfShapeDataMapOfShapeListOfShape(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_DataMap< TopoDS_Shape,NCollection_DataMap< TopoDS_Shape,TopTools_ListOfShape,TopTools_ShapeMapHasher >,TopTools_ShapeMapHasher >::iterator":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_begin(self)

    def end(self) -> "NCollection_DataMap< TopoDS_Shape,NCollection_DataMap< TopoDS_Shape,TopTools_ListOfShape,TopTools_ShapeMapHasher >,TopTools_ShapeMapHasher >::iterator":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_end(self)

    def cbegin(self) -> "NCollection_DataMap< TopoDS_Shape,NCollection_DataMap< TopoDS_Shape,TopTools_ListOfShape,TopTools_ShapeMapHasher >,TopTools_ShapeMapHasher >::const_iterator":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TopoDS_Shape,NCollection_DataMap< TopoDS_Shape,TopTools_ListOfShape,TopTools_ShapeMapHasher >,TopTools_ShapeMapHasher >::const_iterator":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_cend(self)

    def __init__(self, *args):
        _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_swiginit(self, _BRepFill.new_BRepFill_DataMapOfShapeDataMapOfShapeListOfShape(*args))

    def Exchange(self, theOther: "BRepFill_DataMapOfShapeDataMapOfShapeListOfShape") -> "void":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_Exchange(self, theOther)

    def Assign(self, theOther: "BRepFill_DataMapOfShapeDataMapOfShapeListOfShape") -> "NCollection_DataMap< TopoDS_Shape,TopTools_DataMapOfShapeListOfShape,TopTools_ShapeMapHasher > &":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_Assign(self, theOther)

    def Set(self, theOther: "BRepFill_DataMapOfShapeDataMapOfShapeListOfShape") -> "NCollection_DataMap< TopoDS_Shape,TopTools_DataMapOfShapeListOfShape,TopTools_ShapeMapHasher > &":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_ReSize(self, N)

    def Bind(self, theKey: "TopoDS_Shape", theItem: "NCollection_DataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_ShapeMapHasher > const &") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TopoDS_Shape", theItem: "NCollection_DataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_ShapeMapHasher > const &") -> "NCollection_DataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_ShapeMapHasher > *":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_IsBound(self, theKey)

    def UnBind(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_UnBind(self, theKey)

    def Seek(self, theKey: "TopoDS_Shape") -> "NCollection_DataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_ShapeMapHasher > const *":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_Find(self, *args)

    def ChangeSeek(self, theKey: "TopoDS_Shape") -> "NCollection_DataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_ShapeMapHasher > *":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TopoDS_Shape") -> "NCollection_DataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_ShapeMapHasher > &":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_ChangeFind(self, theKey)

    def __call__(self, *args) -> "NCollection_DataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_ShapeMapHasher > &":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape___call__(self, *args)

    def Clear(self, *args) -> "void":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_Clear(self, *args)
    __swig_destroy__ = _BRepFill.delete_BRepFill_DataMapOfShapeDataMapOfShapeListOfShape

    def Size(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_Size(self)

# Register BRepFill_DataMapOfShapeDataMapOfShapeListOfShape in _BRepFill:
_BRepFill.BRepFill_DataMapOfShapeDataMapOfShapeListOfShape_swigregister(BRepFill_DataMapOfShapeDataMapOfShapeListOfShape)

class BRepFill_DataMapOfShapeHArray2OfShape(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_DataMap< TopoDS_Shape,opencascade::handle< TopTools_HArray2OfShape >,TopTools_ShapeMapHasher >::iterator":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_begin(self)

    def end(self) -> "NCollection_DataMap< TopoDS_Shape,opencascade::handle< TopTools_HArray2OfShape >,TopTools_ShapeMapHasher >::iterator":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_end(self)

    def cbegin(self) -> "NCollection_DataMap< TopoDS_Shape,opencascade::handle< TopTools_HArray2OfShape >,TopTools_ShapeMapHasher >::const_iterator":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TopoDS_Shape,opencascade::handle< TopTools_HArray2OfShape >,TopTools_ShapeMapHasher >::const_iterator":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_cend(self)

    def __init__(self, *args):
        _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_swiginit(self, _BRepFill.new_BRepFill_DataMapOfShapeHArray2OfShape(*args))

    def Exchange(self, theOther: "BRepFill_DataMapOfShapeHArray2OfShape") -> "void":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_Exchange(self, theOther)

    def Assign(self, theOther: "BRepFill_DataMapOfShapeHArray2OfShape") -> "NCollection_DataMap< TopoDS_Shape,opencascade::handle< TopTools_HArray2OfShape >,TopTools_ShapeMapHasher > &":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_Assign(self, theOther)

    def Set(self, theOther: "BRepFill_DataMapOfShapeHArray2OfShape") -> "NCollection_DataMap< TopoDS_Shape,opencascade::handle< TopTools_HArray2OfShape >,TopTools_ShapeMapHasher > &":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_ReSize(self, N)

    def Bind(self, theKey: "TopoDS_Shape", theItem: "opencascade::handle< TopTools_HArray2OfShape > const &") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TopoDS_Shape", theItem: "opencascade::handle< TopTools_HArray2OfShape > const &") -> "opencascade::handle< TopTools_HArray2OfShape > *":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_IsBound(self, theKey)

    def UnBind(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_UnBind(self, theKey)

    def Seek(self, theKey: "TopoDS_Shape") -> "opencascade::handle< TopTools_HArray2OfShape > const *":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_Find(self, *args)

    def ChangeSeek(self, theKey: "TopoDS_Shape") -> "opencascade::handle< TopTools_HArray2OfShape > *":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TopoDS_Shape") -> "opencascade::handle< TopTools_HArray2OfShape > &":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_ChangeFind(self, theKey)

    def __call__(self, *args) -> "opencascade::handle< TopTools_HArray2OfShape > &":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape___call__(self, *args)

    def Clear(self, *args) -> "void":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_Clear(self, *args)
    __swig_destroy__ = _BRepFill.delete_BRepFill_DataMapOfShapeHArray2OfShape

    def Size(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_Size(self)

# Register BRepFill_DataMapOfShapeHArray2OfShape in _BRepFill:
_BRepFill.BRepFill_DataMapOfShapeHArray2OfShape_swigregister(BRepFill_DataMapOfShapeHArray2OfShape)

class BRepFill_DataMapOfShapeSequenceOfPnt(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_DataMap< TopoDS_Shape,NCollection_Sequence< gp_Pnt >,TopTools_ShapeMapHasher >::iterator":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_begin(self)

    def end(self) -> "NCollection_DataMap< TopoDS_Shape,NCollection_Sequence< gp_Pnt >,TopTools_ShapeMapHasher >::iterator":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_end(self)

    def cbegin(self) -> "NCollection_DataMap< TopoDS_Shape,NCollection_Sequence< gp_Pnt >,TopTools_ShapeMapHasher >::const_iterator":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TopoDS_Shape,NCollection_Sequence< gp_Pnt >,TopTools_ShapeMapHasher >::const_iterator":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_cend(self)

    def __init__(self, *args):
        _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_swiginit(self, _BRepFill.new_BRepFill_DataMapOfShapeSequenceOfPnt(*args))

    def Exchange(self, theOther: "BRepFill_DataMapOfShapeSequenceOfPnt") -> "void":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_Exchange(self, theOther)

    def Assign(self, theOther: "BRepFill_DataMapOfShapeSequenceOfPnt") -> "NCollection_DataMap< TopoDS_Shape,TColgp_SequenceOfPnt,TopTools_ShapeMapHasher > &":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_Assign(self, theOther)

    def Set(self, theOther: "BRepFill_DataMapOfShapeSequenceOfPnt") -> "NCollection_DataMap< TopoDS_Shape,TColgp_SequenceOfPnt,TopTools_ShapeMapHasher > &":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_ReSize(self, N)

    def Bind(self, theKey: "TopoDS_Shape", theItem: "TColgp_SequenceOfPnt") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TopoDS_Shape", theItem: "TColgp_SequenceOfPnt") -> "NCollection_Sequence< gp_Pnt > *":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_IsBound(self, theKey)

    def UnBind(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_UnBind(self, theKey)

    def Seek(self, theKey: "TopoDS_Shape") -> "NCollection_Sequence< gp_Pnt > const *":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_Find(self, *args)

    def ChangeSeek(self, theKey: "TopoDS_Shape") -> "NCollection_Sequence< gp_Pnt > *":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TopoDS_Shape") -> "NCollection_Sequence< gp_Pnt > &":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_ChangeFind(self, theKey)

    def __call__(self, *args) -> "NCollection_Sequence< gp_Pnt > &":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt___call__(self, *args)

    def Clear(self, *args) -> "void":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_Clear(self, *args)
    __swig_destroy__ = _BRepFill.delete_BRepFill_DataMapOfShapeSequenceOfPnt

    def Size(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_Size(self)

# Register BRepFill_DataMapOfShapeSequenceOfPnt in _BRepFill:
_BRepFill.BRepFill_DataMapOfShapeSequenceOfPnt_swigregister(BRepFill_DataMapOfShapeSequenceOfPnt)

class BRepFill_DataMapOfShapeSequenceOfReal(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_DataMap< TopoDS_Shape,NCollection_Sequence< double >,TopTools_ShapeMapHasher >::iterator":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_begin(self)

    def end(self) -> "NCollection_DataMap< TopoDS_Shape,NCollection_Sequence< double >,TopTools_ShapeMapHasher >::iterator":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_end(self)

    def cbegin(self) -> "NCollection_DataMap< TopoDS_Shape,NCollection_Sequence< double >,TopTools_ShapeMapHasher >::const_iterator":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TopoDS_Shape,NCollection_Sequence< double >,TopTools_ShapeMapHasher >::const_iterator":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_cend(self)

    def __init__(self, *args):
        _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_swiginit(self, _BRepFill.new_BRepFill_DataMapOfShapeSequenceOfReal(*args))

    def Exchange(self, theOther: "BRepFill_DataMapOfShapeSequenceOfReal") -> "void":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_Exchange(self, theOther)

    def Assign(self, theOther: "BRepFill_DataMapOfShapeSequenceOfReal") -> "NCollection_DataMap< TopoDS_Shape,TColStd_SequenceOfReal,TopTools_ShapeMapHasher > &":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_Assign(self, theOther)

    def Set(self, theOther: "BRepFill_DataMapOfShapeSequenceOfReal") -> "NCollection_DataMap< TopoDS_Shape,TColStd_SequenceOfReal,TopTools_ShapeMapHasher > &":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_ReSize(self, N)

    def Bind(self, theKey: "TopoDS_Shape", theItem: "TColStd_SequenceOfReal") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TopoDS_Shape", theItem: "TColStd_SequenceOfReal") -> "NCollection_Sequence< double > *":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_IsBound(self, theKey)

    def UnBind(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_UnBind(self, theKey)

    def Seek(self, theKey: "TopoDS_Shape") -> "NCollection_Sequence< double > const *":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_Find(self, *args)

    def ChangeSeek(self, theKey: "TopoDS_Shape") -> "NCollection_Sequence< double > *":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TopoDS_Shape") -> "NCollection_Sequence< double > &":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_ChangeFind(self, theKey)

    def __call__(self, *args) -> "NCollection_Sequence< double > &":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal___call__(self, *args)

    def Clear(self, *args) -> "void":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_Clear(self, *args)
    __swig_destroy__ = _BRepFill.delete_BRepFill_DataMapOfShapeSequenceOfReal

    def Size(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_Size(self)

# Register BRepFill_DataMapOfShapeSequenceOfReal in _BRepFill:
_BRepFill.BRepFill_DataMapOfShapeSequenceOfReal_swigregister(BRepFill_DataMapOfShapeSequenceOfReal)

class BRepFill_IndexedDataMapOfOrientedShapeListOfShape(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_IndexedDataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_OrientedShapeMapHasher >::iterator":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_begin(self)

    def end(self) -> "NCollection_IndexedDataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_OrientedShapeMapHasher >::iterator":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_end(self)

    def cbegin(self) -> "NCollection_IndexedDataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_OrientedShapeMapHasher >::const_iterator":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_cbegin(self)

    def cend(self) -> "NCollection_IndexedDataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_OrientedShapeMapHasher >::const_iterator":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_cend(self)

    def __init__(self, *args):
        _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_swiginit(self, _BRepFill.new_BRepFill_IndexedDataMapOfOrientedShapeListOfShape(*args))

    def Exchange(self, theOther: "BRepFill_IndexedDataMapOfOrientedShapeListOfShape") -> "void":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_Exchange(self, theOther)

    def Assign(self, theOther: "BRepFill_IndexedDataMapOfOrientedShapeListOfShape") -> "NCollection_IndexedDataMap< TopoDS_Shape,TopTools_ListOfShape,TopTools_OrientedShapeMapHasher > &":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_Assign(self, theOther)

    def Set(self, theOther: "BRepFill_IndexedDataMapOfOrientedShapeListOfShape") -> "NCollection_IndexedDataMap< TopoDS_Shape,TopTools_ListOfShape,TopTools_OrientedShapeMapHasher > &":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_ReSize(self, N)

    def Add(self, theKey1: "TopoDS_Shape", theItem: "TopoDS_ListOfShape") -> "Standard_Integer":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_Add(self, theKey1, theItem)

    def Contains(self, theKey1: "TopoDS_Shape") -> "Standard_Boolean":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_Contains(self, theKey1)

    def Substitute(self, theIndex: "Standard_Integer const", theKey1: "TopoDS_Shape", theItem: "TopoDS_ListOfShape") -> "void":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_Substitute(self, theIndex, theKey1, theItem)

    def Swap(self, theIndex1: "Standard_Integer const", theIndex2: "Standard_Integer const") -> "void":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_Swap(self, theIndex1, theIndex2)

    def RemoveLast(self) -> "void":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_RemoveLast(self)

    def RemoveFromIndex(self, theIndex: "Standard_Integer const") -> "void":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_RemoveFromIndex(self, theIndex)

    def RemoveKey(self, theKey1: "TopoDS_Shape") -> "void":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_RemoveKey(self, theKey1)

    def FindKey(self, theIndex: "Standard_Integer const") -> "TopoDS_Shape const &":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_FindKey(self, theIndex)

    def FindFromIndex(self, theIndex: "Standard_Integer const") -> "NCollection_List< TopoDS_Shape > const &":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_FindFromIndex(self, theIndex)

    def ChangeFromIndex(self, theIndex: "Standard_Integer const") -> "NCollection_List< TopoDS_Shape > &":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_ChangeFromIndex(self, theIndex)

    def __call__(self, *args) -> "NCollection_List< TopoDS_Shape > &":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape___call__(self, *args)

    def FindIndex(self, theKey1: "TopoDS_Shape") -> "Standard_Integer":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_FindIndex(self, theKey1)

    def ChangeFromKey(self, theKey1: "TopoDS_Shape") -> "NCollection_List< TopoDS_Shape > &":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_ChangeFromKey(self, theKey1)

    def Seek(self, theKey1: "TopoDS_Shape") -> "NCollection_List< TopoDS_Shape > const *":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_Seek(self, theKey1)

    def ChangeSeek(self, theKey1: "TopoDS_Shape") -> "NCollection_List< TopoDS_Shape > *":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_ChangeSeek(self, theKey1)

    def FindFromKey(self, *args) -> "Standard_Boolean":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_FindFromKey(self, *args)

    def Clear(self, *args) -> "void":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_Clear(self, *args)
    __swig_destroy__ = _BRepFill.delete_BRepFill_IndexedDataMapOfOrientedShapeListOfShape

    def Size(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_Size(self)

# Register BRepFill_IndexedDataMapOfOrientedShapeListOfShape in _BRepFill:
_BRepFill.BRepFill_IndexedDataMapOfOrientedShapeListOfShape_swigregister(BRepFill_IndexedDataMapOfOrientedShapeListOfShape)

class BRepFill_ListIteratorOfListOfOffsetWire(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):
        _BRepFill.BRepFill_ListIteratorOfListOfOffsetWire_swiginit(self, _BRepFill.new_BRepFill_ListIteratorOfListOfOffsetWire(*args))

    def More(self) -> "Standard_Boolean":
        return _BRepFill.BRepFill_ListIteratorOfListOfOffsetWire_More(self)

    def Next(self) -> "void":
        return _BRepFill.BRepFill_ListIteratorOfListOfOffsetWire_Next(self)

    def Value(self) -> "BRepFill_OffsetWire const &":
        return _BRepFill.BRepFill_ListIteratorOfListOfOffsetWire_Value(self)

    def ChangeValue(self) -> "BRepFill_OffsetWire &":
        return _BRepFill.BRepFill_ListIteratorOfListOfOffsetWire_ChangeValue(self)
    __swig_destroy__ = _BRepFill.delete_BRepFill_ListIteratorOfListOfOffsetWire

# Register BRepFill_ListIteratorOfListOfOffsetWire in _BRepFill:
_BRepFill.BRepFill_ListIteratorOfListOfOffsetWire_swigregister(BRepFill_ListIteratorOfListOfOffsetWire)

class BRepFill_ListOfOffsetWire(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< BRepFill_OffsetWire >::iterator":
        return _BRepFill.BRepFill_ListOfOffsetWire_begin(self)

    def end(self) -> "NCollection_List< BRepFill_OffsetWire >::iterator":
        return _BRepFill.BRepFill_ListOfOffsetWire_end(self)

    def cbegin(self) -> "NCollection_List< BRepFill_OffsetWire >::const_iterator":
        return _BRepFill.BRepFill_ListOfOffsetWire_cbegin(self)

    def cend(self) -> "NCollection_List< BRepFill_OffsetWire >::const_iterator":
        return _BRepFill.BRepFill_ListOfOffsetWire_cend(self)

    def __init__(self, *args):
        _BRepFill.BRepFill_ListOfOffsetWire_swiginit(self, _BRepFill.new_BRepFill_ListOfOffsetWire(*args))

    def Size(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_ListOfOffsetWire_Size(self)

    def Assign(self, theOther: "BRepFill_ListOfOffsetWire") -> "NCollection_List< BRepFill_OffsetWire > &":
        return _BRepFill.BRepFill_ListOfOffsetWire_Assign(self, theOther)

    def Set(self, theOther: "BRepFill_ListOfOffsetWire") -> "NCollection_List< BRepFill_OffsetWire > &":
        return _BRepFill.BRepFill_ListOfOffsetWire_Set(self, theOther)

    def Clear(self, theAllocator: "opencascade::handle< NCollection_BaseAllocator > const &"=0) -> "void":
        return _BRepFill.BRepFill_ListOfOffsetWire_Clear(self, theAllocator)

    def First(self) -> "BRepFill_OffsetWire const &":
        return _BRepFill.BRepFill_ListOfOffsetWire_First(self)

    def Last(self) -> "BRepFill_OffsetWire const &":
        return _BRepFill.BRepFill_ListOfOffsetWire_Last(self)

    def Append(self, *args) -> "void":
        return _BRepFill.BRepFill_ListOfOffsetWire_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _BRepFill.BRepFill_ListOfOffsetWire_Prepend(self, *args)

    def RemoveFirst(self) -> "void":
        return _BRepFill.BRepFill_ListOfOffsetWire_RemoveFirst(self)

    def Remove(self, theIter: "BRepFill_ListIteratorOfListOfOffsetWire") -> "void":
        return _BRepFill.BRepFill_ListOfOffsetWire_Remove(self, theIter)

    def InsertBefore(self, *args) -> "void":
        return _BRepFill.BRepFill_ListOfOffsetWire_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _BRepFill.BRepFill_ListOfOffsetWire_InsertAfter(self, *args)

    def Reverse(self) -> "void":
        return _BRepFill.BRepFill_ListOfOffsetWire_Reverse(self)
    __swig_destroy__ = _BRepFill.delete_BRepFill_ListOfOffsetWire

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


# Register BRepFill_ListOfOffsetWire in _BRepFill:
_BRepFill.BRepFill_ListOfOffsetWire_swigregister(BRepFill_ListOfOffsetWire)

class BRepFill_SequenceOfEdgeFaceAndOrder(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< BRepFill_EdgeFaceAndOrder >::iterator":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_begin(self)

    def end(self) -> "NCollection_Sequence< BRepFill_EdgeFaceAndOrder >::iterator":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_end(self)

    def cbegin(self) -> "NCollection_Sequence< BRepFill_EdgeFaceAndOrder >::const_iterator":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_cbegin(self)

    def cend(self) -> "NCollection_Sequence< BRepFill_EdgeFaceAndOrder >::const_iterator":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_cend(self)

    def __init__(self, *args):
        _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_swiginit(self, _BRepFill.new_BRepFill_SequenceOfEdgeFaceAndOrder(*args))

    def Size(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_Size(self)

    def Length(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_IsEmpty(self)

    def Reverse(self) -> "void":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_Reverse(self)

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

    @staticmethod
    def delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_delNode(theNode, theAl)

    def Clear(self, theAllocator: "opencascade::handle< NCollection_BaseAllocator > const &"=0) -> "void":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_Clear(self, theAllocator)

    def Assign(self, theOther: "BRepFill_SequenceOfEdgeFaceAndOrder") -> "NCollection_Sequence< BRepFill_EdgeFaceAndOrder > &":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_Assign(self, theOther)

    def Set(self, theOther: "BRepFill_SequenceOfEdgeFaceAndOrder") -> "NCollection_Sequence< BRepFill_EdgeFaceAndOrder > &":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "BRepFill_SequenceOfEdgeFaceAndOrder") -> "void":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_Split(self, theIndex, theSeq)

    def First(self) -> "BRepFill_EdgeFaceAndOrder const &":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_First(self)

    def ChangeFirst(self) -> "BRepFill_EdgeFaceAndOrder &":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_ChangeFirst(self)

    def Last(self) -> "BRepFill_EdgeFaceAndOrder const &":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_Last(self)

    def ChangeLast(self) -> "BRepFill_EdgeFaceAndOrder &":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "BRepFill_EdgeFaceAndOrder const &":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "BRepFill_EdgeFaceAndOrder &":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "BRepFill_EdgeFaceAndOrder &":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "BRepFill_EdgeFaceAndOrder") -> "void":
        return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _BRepFill.delete_BRepFill_SequenceOfEdgeFaceAndOrder

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


# Register BRepFill_SequenceOfEdgeFaceAndOrder in _BRepFill:
_BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_swigregister(BRepFill_SequenceOfEdgeFaceAndOrder)

def BRepFill_SequenceOfEdgeFaceAndOrder_delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
    return _BRepFill.BRepFill_SequenceOfEdgeFaceAndOrder_delNode(theNode, theAl)

class BRepFill_SequenceOfFaceAndOrder(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< BRepFill_FaceAndOrder >::iterator":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_begin(self)

    def end(self) -> "NCollection_Sequence< BRepFill_FaceAndOrder >::iterator":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_end(self)

    def cbegin(self) -> "NCollection_Sequence< BRepFill_FaceAndOrder >::const_iterator":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_cbegin(self)

    def cend(self) -> "NCollection_Sequence< BRepFill_FaceAndOrder >::const_iterator":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_cend(self)

    def __init__(self, *args):
        _BRepFill.BRepFill_SequenceOfFaceAndOrder_swiginit(self, _BRepFill.new_BRepFill_SequenceOfFaceAndOrder(*args))

    def Size(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_Size(self)

    def Length(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_IsEmpty(self)

    def Reverse(self) -> "void":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_Reverse(self)

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

    @staticmethod
    def delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_delNode(theNode, theAl)

    def Clear(self, theAllocator: "opencascade::handle< NCollection_BaseAllocator > const &"=0) -> "void":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_Clear(self, theAllocator)

    def Assign(self, theOther: "BRepFill_SequenceOfFaceAndOrder") -> "NCollection_Sequence< BRepFill_FaceAndOrder > &":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_Assign(self, theOther)

    def Set(self, theOther: "BRepFill_SequenceOfFaceAndOrder") -> "NCollection_Sequence< BRepFill_FaceAndOrder > &":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "BRepFill_SequenceOfFaceAndOrder") -> "void":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_Split(self, theIndex, theSeq)

    def First(self) -> "BRepFill_FaceAndOrder const &":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_First(self)

    def ChangeFirst(self) -> "BRepFill_FaceAndOrder &":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_ChangeFirst(self)

    def Last(self) -> "BRepFill_FaceAndOrder const &":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_Last(self)

    def ChangeLast(self) -> "BRepFill_FaceAndOrder &":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "BRepFill_FaceAndOrder const &":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "BRepFill_FaceAndOrder &":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "BRepFill_FaceAndOrder &":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "BRepFill_FaceAndOrder") -> "void":
        return _BRepFill.BRepFill_SequenceOfFaceAndOrder_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _BRepFill.delete_BRepFill_SequenceOfFaceAndOrder

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


# Register BRepFill_SequenceOfFaceAndOrder in _BRepFill:
_BRepFill.BRepFill_SequenceOfFaceAndOrder_swigregister(BRepFill_SequenceOfFaceAndOrder)

def BRepFill_SequenceOfFaceAndOrder_delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
    return _BRepFill.BRepFill_SequenceOfFaceAndOrder_delNode(theNode, theAl)

class BRepFill_SequenceOfSection(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< BRepFill_Section >::iterator":
        return _BRepFill.BRepFill_SequenceOfSection_begin(self)

    def end(self) -> "NCollection_Sequence< BRepFill_Section >::iterator":
        return _BRepFill.BRepFill_SequenceOfSection_end(self)

    def cbegin(self) -> "NCollection_Sequence< BRepFill_Section >::const_iterator":
        return _BRepFill.BRepFill_SequenceOfSection_cbegin(self)

    def cend(self) -> "NCollection_Sequence< BRepFill_Section >::const_iterator":
        return _BRepFill.BRepFill_SequenceOfSection_cend(self)

    def __init__(self, *args):
        _BRepFill.BRepFill_SequenceOfSection_swiginit(self, _BRepFill.new_BRepFill_SequenceOfSection(*args))

    def Size(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_SequenceOfSection_Size(self)

    def Length(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_SequenceOfSection_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_SequenceOfSection_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _BRepFill.BRepFill_SequenceOfSection_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _BRepFill.BRepFill_SequenceOfSection_IsEmpty(self)

    def Reverse(self) -> "void":
        return _BRepFill.BRepFill_SequenceOfSection_Reverse(self)

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

    @staticmethod
    def delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
        return _BRepFill.BRepFill_SequenceOfSection_delNode(theNode, theAl)

    def Clear(self, theAllocator: "opencascade::handle< NCollection_BaseAllocator > const &"=0) -> "void":
        return _BRepFill.BRepFill_SequenceOfSection_Clear(self, theAllocator)

    def Assign(self, theOther: "BRepFill_SequenceOfSection") -> "NCollection_Sequence< BRepFill_Section > &":
        return _BRepFill.BRepFill_SequenceOfSection_Assign(self, theOther)

    def Set(self, theOther: "BRepFill_SequenceOfSection") -> "NCollection_Sequence< BRepFill_Section > &":
        return _BRepFill.BRepFill_SequenceOfSection_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _BRepFill.BRepFill_SequenceOfSection_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _BRepFill.BRepFill_SequenceOfSection_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _BRepFill.BRepFill_SequenceOfSection_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _BRepFill.BRepFill_SequenceOfSection_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _BRepFill.BRepFill_SequenceOfSection_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "BRepFill_SequenceOfSection") -> "void":
        return _BRepFill.BRepFill_SequenceOfSection_Split(self, theIndex, theSeq)

    def First(self) -> "BRepFill_Section const &":
        return _BRepFill.BRepFill_SequenceOfSection_First(self)

    def ChangeFirst(self) -> "BRepFill_Section &":
        return _BRepFill.BRepFill_SequenceOfSection_ChangeFirst(self)

    def Last(self) -> "BRepFill_Section const &":
        return _BRepFill.BRepFill_SequenceOfSection_Last(self)

    def ChangeLast(self) -> "BRepFill_Section &":
        return _BRepFill.BRepFill_SequenceOfSection_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "BRepFill_Section const &":
        return _BRepFill.BRepFill_SequenceOfSection_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "BRepFill_Section &":
        return _BRepFill.BRepFill_SequenceOfSection_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "BRepFill_Section &":
        return _BRepFill.BRepFill_SequenceOfSection___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "BRepFill_Section") -> "void":
        return _BRepFill.BRepFill_SequenceOfSection_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _BRepFill.delete_BRepFill_SequenceOfSection

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


# Register BRepFill_SequenceOfSection in _BRepFill:
_BRepFill.BRepFill_SequenceOfSection_swigregister(BRepFill_SequenceOfSection)

def BRepFill_SequenceOfSection_delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
    return _BRepFill.BRepFill_SequenceOfSection_delNode(theNode, theAl)

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

    @staticmethod
    def Axe(*args) -> "Standard_Boolean &":
        r"""
        Computes <axeprof> as follow. <location> is the position of the nearest vertex v of <profile> to <spine>.<xdirection> is confused with the tangent to <spine> at the projected point of v on the spine. <direction> is normal to <spine>. <spine> is a plane wire or a plane face.

        Parameters
        ----------
        Spine: TopoDS_Shape
        Profile: TopoDS_Wire
        AxeProf: gp_Ax3
        Tol: float

        Returns
        -------
        ProfOnSpine: bool

        """
        return _BRepFill.brepfill_Axe(*args)

    @staticmethod
    def ComputeACR(*args) -> "void":
        r"""
        Compute acr on a wire.

        Parameters
        ----------
        wire: TopoDS_Wire
        ACR: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _BRepFill.brepfill_ComputeACR(*args)

    @staticmethod
    def Face(*args) -> "TopoDS_Face":
        r"""
        Computes a ruled surface between two edges.

        Parameters
        ----------
        Edge1: TopoDS_Edge
        Edge2: TopoDS_Edge

        Returns
        -------
        TopoDS_Face

        """
        return _BRepFill.brepfill_Face(*args)

    @staticmethod
    def InsertACR(*args) -> "TopoDS_Wire":
        r"""
        Insert acr on a wire.

        Parameters
        ----------
        wire: TopoDS_Wire
        ACRcuts: TColStd_Array1OfReal
        prec: float

        Returns
        -------
        TopoDS_Wire

        """
        return _BRepFill.brepfill_InsertACR(*args)

    @staticmethod
    def Shell(*args) -> "TopoDS_Shell":
        r"""
        Computes a ruled surface between two wires. the wires must have the same number of edges.

        Parameters
        ----------
        Wire1: TopoDS_Wire
        Wire2: TopoDS_Wire

        Returns
        -------
        TopoDS_Shell

        """
        return _BRepFill.brepfill_Shell(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _BRepFill.brepfill_swiginit(self, _BRepFill.new_brepfill())
    __swig_destroy__ = _BRepFill.delete_brepfill

# Register brepfill in _BRepFill:
_BRepFill.brepfill_swigregister(brepfill)

def brepfill_Axe(*args) -> "Standard_Boolean &":
    r"""
    Computes <axeprof> as follow. <location> is the position of the nearest vertex v of <profile> to <spine>.<xdirection> is confused with the tangent to <spine> at the projected point of v on the spine. <direction> is normal to <spine>. <spine> is a plane wire or a plane face.

    Parameters
    ----------
    Spine: TopoDS_Shape
    Profile: TopoDS_Wire
    AxeProf: gp_Ax3
    Tol: float

    Returns
    -------
    ProfOnSpine: bool

    """
    return _BRepFill.brepfill_Axe(*args)

def brepfill_ComputeACR(*args) -> "void":
    r"""
    Compute acr on a wire.

    Parameters
    ----------
    wire: TopoDS_Wire
    ACR: TColStd_Array1OfReal

    Returns
    -------
    None

    """
    return _BRepFill.brepfill_ComputeACR(*args)

def brepfill_Face(*args) -> "TopoDS_Face":
    r"""
    Computes a ruled surface between two edges.

    Parameters
    ----------
    Edge1: TopoDS_Edge
    Edge2: TopoDS_Edge

    Returns
    -------
    TopoDS_Face

    """
    return _BRepFill.brepfill_Face(*args)

def brepfill_InsertACR(*args) -> "TopoDS_Wire":
    r"""
    Insert acr on a wire.

    Parameters
    ----------
    wire: TopoDS_Wire
    ACRcuts: TColStd_Array1OfReal
    prec: float

    Returns
    -------
    TopoDS_Wire

    """
    return _BRepFill.brepfill_InsertACR(*args)

def brepfill_Shell(*args) -> "TopoDS_Shell":
    r"""
    Computes a ruled surface between two wires. the wires must have the same number of edges.

    Parameters
    ----------
    Wire1: TopoDS_Wire
    Wire2: TopoDS_Wire

    Returns
    -------
    TopoDS_Shell

    """
    return _BRepFill.brepfill_Shell(*args)

class BRepFill_AdvancedEvolved(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"""
        Constructor.

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_AdvancedEvolved_swiginit(self, _BRepFill.new_BRepFill_AdvancedEvolved(*args))

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

        Parameters
        ----------
        theErrorCode: unsigned int *,optional
        	default value is 0

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_AdvancedEvolved_IsDone(self, *args)

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

        Parameters
        ----------
        theSpine: TopoDS_Wire
        theProfile: TopoDS_Wire
        theTolerance: float
        theSolidReq: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_AdvancedEvolved_Perform(self, *args)

    def SetParallelMode(self, *args) -> "void":
        r"""
        Sets/unsets computation in parallel mode.

        Parameters
        ----------
        theVal: bool

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_AdvancedEvolved_SetParallelMode(self, *args)

    def SetTemporaryDirectory(self, *args) -> "void":
        r"""
        Sets directory where the debug shapes will be saved.

        Parameters
        ----------
        thePath: char *

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_AdvancedEvolved_SetTemporaryDirectory(self, *args)

    def Shape(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns the resulting shape.

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_AdvancedEvolved_Shape(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_AdvancedEvolved

# Register BRepFill_AdvancedEvolved in _BRepFill:
_BRepFill.BRepFill_AdvancedEvolved_swigregister(BRepFill_AdvancedEvolved)

class BRepFill_ApproxSeewing(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
        ----------
        ML: BRepFill_MultiLine

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_ApproxSeewing_swiginit(self, _BRepFill.new_BRepFill_ApproxSeewing(*args))

    def Curve(self, *args) -> "opencascade::handle< Geom_Curve > const &":
        r"""
        Returns the approximation of the 3d curve.

        Returns
        -------
        opencascade::handle<Geom_Curve>

        """
        return _BRepFill.BRepFill_ApproxSeewing_Curve(self, *args)

    def CurveOnF1(self, *args) -> "opencascade::handle< Geom2d_Curve > const &":
        r"""
        Returns the approximation of the pcurve on the first face of the multiline.

        Returns
        -------
        opencascade::handle<Geom2d_Curve>

        """
        return _BRepFill.BRepFill_ApproxSeewing_CurveOnF1(self, *args)

    def CurveOnF2(self, *args) -> "opencascade::handle< Geom2d_Curve > const &":
        r"""
        Returns the approximation of the pcurve on the first face of the multiline.

        Returns
        -------
        opencascade::handle<Geom2d_Curve>

        """
        return _BRepFill.BRepFill_ApproxSeewing_CurveOnF2(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_ApproxSeewing_IsDone(self, *args)

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

        Parameters
        ----------
        ML: BRepFill_MultiLine

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_ApproxSeewing_Perform(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_ApproxSeewing

# Register BRepFill_ApproxSeewing in _BRepFill:
_BRepFill.BRepFill_ApproxSeewing_swigregister(BRepFill_ApproxSeewing)

class BRepFill_CompatibleWires(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
        ----------
        Sections: TopTools_SequenceOfShape

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_CompatibleWires_swiginit(self, _BRepFill.new_BRepFill_CompatibleWires(*args))

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

        Returns
        -------
        TopTools_DataMapOfShapeListOfShape

        """
        return _BRepFill.BRepFill_CompatibleWires_Generated(self, *args)

    def GeneratedShapes(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns the shapes created from a subshape <subsection> of a section.

        Parameters
        ----------
        SubSection: TopoDS_Edge

        Returns
        -------
        TopTools_ListOfShape

        """
        return _BRepFill.BRepFill_CompatibleWires_GeneratedShapes(self, *args)

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

        Parameters
        ----------
        Sections: TopTools_SequenceOfShape

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_CompatibleWires_Init(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_CompatibleWires_IsDegeneratedFirstSection(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_CompatibleWires_IsDegeneratedLastSection(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_CompatibleWires_IsDone(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        Performs compatiblewires according to the orientation and the origin of each other.

        Parameters
        ----------
        WithRotation: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_CompatibleWires_Perform(self, *args)

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

        Parameters
        ----------
        percent: float,optional
        	default value is 0.01

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_CompatibleWires_SetPercent(self, *args)

    def Shape(self, *args) -> "TopTools_SequenceOfShape const &":
        r"""
        Returns the generated sequence.

        Returns
        -------
        TopTools_SequenceOfShape

        """
        return _BRepFill.BRepFill_CompatibleWires_Shape(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_CompatibleWires

# Register BRepFill_CompatibleWires in _BRepFill:
_BRepFill.BRepFill_CompatibleWires_swigregister(BRepFill_CompatibleWires)

class BRepFill_ComputeCLine(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"""
        The multiline <line> will be approximated until tolerances will be reached. the approximation will be done from degreemin to degreemax with a cutting if the corresponding boolean is true.

        Parameters
        ----------
        Line: BRepFill_MultiLine
        degreemin: int,optional
        	default value is 3
        degreemax: int,optional
        	default value is 8
        Tolerance3d: float,optional
        	default value is 1.0e-5
        Tolerance2d: float,optional
        	default value is 1.0e-5
        cutting: bool,optional
        	default value is Standard_False
        FirstC: AppParCurves_Constraint,optional
        	default value is AppParCurves_TangencyPoint
        LastC: AppParCurves_Constraint,optional
        	default value is AppParCurves_TangencyPoint

        Returns
        -------
        None
        Initializes the fields of the algorithm.

        Parameters
        ----------
        degreemin: int,optional
        	default value is 3
        degreemax: int,optional
        	default value is 8
        Tolerance3d: float,optional
        	default value is 1.0e-05
        Tolerance2d: float,optional
        	default value is 1.0e-05
        cutting: bool,optional
        	default value is Standard_False
        FirstC: AppParCurves_Constraint,optional
        	default value is AppParCurves_TangencyPoint
        LastC: AppParCurves_Constraint,optional
        	default value is AppParCurves_TangencyPoint

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_ComputeCLine_swiginit(self, _BRepFill.new_BRepFill_ComputeCLine(*args))

    def Error(self, *args) -> "void":
        r"""
        Returns the tolerances 2d and 3d of the <index> multicurve.

        Parameters
        ----------
        Index: int

        Returns
        -------
        tol3d: float
        tol2d: float

        """
        return _BRepFill.BRepFill_ComputeCLine_Error(self, *args)

    def IsAllApproximated(self, *args) -> "Standard_Boolean":
        r"""
        Returns false if at a moment of the approximation, the status noapproximation has been sent by the user when more points were needed.

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_ComputeCLine_IsAllApproximated(self, *args)

    def IsToleranceReached(self, *args) -> "Standard_Boolean":
        r"""
        Returns false if the status nopointsadded has been sent.

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_ComputeCLine_IsToleranceReached(self, *args)

    def NbMultiCurves(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of multicurve doing the approximation of the multiline.

        Returns
        -------
        int

        """
        return _BRepFill.BRepFill_ComputeCLine_NbMultiCurves(self, *args)

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

        Parameters
        ----------
        Index: int

        Returns
        -------
        firstp: float
        lastp: float

        """
        return _BRepFill.BRepFill_ComputeCLine_Parameters(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        Runs the algorithm after having initialized the fields.

        Parameters
        ----------
        Line: BRepFill_MultiLine

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_ComputeCLine_Perform(self, *args)

    def SetConstraints(self, *args) -> "void":
        r"""
        Changes the constraints of the approximation.

        Parameters
        ----------
        FirstC: AppParCurves_Constraint
        LastC: AppParCurves_Constraint

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_ComputeCLine_SetConstraints(self, *args)

    def SetDegrees(self, *args) -> "void":
        r"""
        Changes the degrees of the approximation.

        Parameters
        ----------
        degreemin: int
        degreemax: int

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_ComputeCLine_SetDegrees(self, *args)

    def SetHangChecking(self, *args) -> "void":
        r"""
        Set value of hang checking flag if this flag = true, possible hang of algorithm is checked and algorithm is forced to stop. by default hang checking is used.

        Parameters
        ----------
        theHangChecking: bool

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_ComputeCLine_SetHangChecking(self, *args)

    def SetInvOrder(self, *args) -> "void":
        r"""
        Set inverse order of degree selection: if theinvordr = true, current degree is chosen by inverse order - from maxdegree to mindegree. by default inverse order is used.

        Parameters
        ----------
        theInvOrder: bool

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_ComputeCLine_SetInvOrder(self, *args)

    def SetMaxSegments(self, *args) -> "void":
        r"""
        Changes the max number of segments, which is allowed for cutting.

        Parameters
        ----------
        theMaxSegments: int

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_ComputeCLine_SetMaxSegments(self, *args)

    def SetTolerances(self, *args) -> "void":
        r"""
        Changes the tolerances of the approximation.

        Parameters
        ----------
        Tolerance3d: float
        Tolerance2d: float

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_ComputeCLine_SetTolerances(self, *args)

    def Value(self, *args) -> "AppParCurves_MultiCurve":
        r"""
        Returns the approximation multicurve of range <index>.

        Parameters
        ----------
        Index: int,optional
        	default value is 1

        Returns
        -------
        AppParCurves_MultiCurve

        """
        return _BRepFill.BRepFill_ComputeCLine_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_ComputeCLine

# Register BRepFill_ComputeCLine in _BRepFill:
_BRepFill.BRepFill_ComputeCLine_swigregister(BRepFill_ComputeCLine)

class BRepFill_CurveConstraint(OCC.Core.GeomPlate.GeomPlate_CurveConstraint):
    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 a constraint order is the order of the constraint. the possible values for order are -1,0,1,2. order i means constraints gi npt is the number of points associated with the constraint. toldist is the maximum error to satisfy for g0 constraints tolang is the maximum error to satisfy for g1 constraints tolcurv is the maximum error to satisfy for g2 constraints these errors can be replaced by laws of criterion.

        Parameters
        ----------
        Boundary: Adaptor3d_HCurveOnSurface
        Order: int
        NPt: int,optional
        	default value is 10
        TolDist: float,optional
        	default value is 0.0001
        TolAng: float,optional
        	default value is 0.01
        TolCurv: float,optional
        	default value is 0.1

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

        Parameters
        ----------
        Boundary: Adaptor3d_HCurve
        Tang: int
        NPt: int,optional
        	default value is 10
        TolDist: float,optional
        	default value is 0.0001

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_CurveConstraint_swiginit(self, _BRepFill.new_BRepFill_CurveConstraint(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_CurveConstraint

# Register BRepFill_CurveConstraint in _BRepFill:
_BRepFill.BRepFill_CurveConstraint_swigregister(BRepFill_CurveConstraint)

class BRepFill_Draft(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
        ----------
        Shape: TopoDS_Shape
        Dir: gp_Dir
        Angle: float

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_Draft_swiginit(self, _BRepFill.new_BRepFill_Draft(*args))

    def Generated(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns the list of shapes generated from the shape <s>.

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

        Returns
        -------
        TopTools_ListOfShape

        """
        return _BRepFill.BRepFill_Draft_Generated(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_Draft_IsDone(self, *args)

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

        Parameters
        ----------
        LengthMax: float

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

        Parameters
        ----------
        Surface: Geom_Surface
        KeepInsideSurface: bool,optional
        	default value is Standard_True

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

        Parameters
        ----------
        StopShape: TopoDS_Shape
        KeepOutSide: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Draft_Perform(self, *args)

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

        Parameters
        ----------
        IsInternal: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Draft_SetDraft(self, *args)

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

        Parameters
        ----------
        Style: BRepFill_TransitionStyle,optional
        	default value is BRepFill_Right
        AngleMin: float,optional
        	default value is 0.01
        AngleMax: float,optional
        	default value is 3.0

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Draft_SetOptions(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_Draft_Shape(self, *args)

    def Shell(self, *args) -> "TopoDS_Shell":
        r"""
        Returns the draft surface to have the complete shape you have to use the shape() methode.

        Returns
        -------
        TopoDS_Shell

        """
        return _BRepFill.BRepFill_Draft_Shell(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_Draft

# Register BRepFill_Draft in _BRepFill:
_BRepFill.BRepFill_Draft_swigregister(BRepFill_Draft)

class BRepFill_EdgeFaceAndOrder(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
        ----------
        anEdge: TopoDS_Edge
        aFace: TopoDS_Face
        anOrder: GeomAbs_Shape

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_EdgeFaceAndOrder_swiginit(self, _BRepFill.new_BRepFill_EdgeFaceAndOrder(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_EdgeFaceAndOrder

# Register BRepFill_EdgeFaceAndOrder in _BRepFill:
_BRepFill.BRepFill_EdgeFaceAndOrder_swigregister(BRepFill_EdgeFaceAndOrder)

class BRepFill_Evolved(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
        Creates an evolved shape by sweeping the <profile> along the <spine>. <axeprof> is used to set the position of <profile> along <spine> as follows: <axeprof> slides on the profile with direction colinear to the normal to <spine>, and its <xdirection> mixed with the tangent to <spine>.

        Parameters
        ----------
        Spine: TopoDS_Wire
        Profile: TopoDS_Wire
        AxeProf: gp_Ax3
        Join: GeomAbs_JoinType,optional
        	default value is GeomAbs_Arc
        Solid: bool,optional
        	default value is Standard_False

        Returns
        -------
        None
        Creates an evolved shape by sweeping the <profile> along the <spine>.

        Parameters
        ----------
        Spine: TopoDS_Face
        Profile: TopoDS_Wire
        AxeProf: gp_Ax3
        Join: GeomAbs_JoinType,optional
        	default value is GeomAbs_Arc
        Solid: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_Evolved_swiginit(self, _BRepFill.new_BRepFill_Evolved(*args))

    def Bottom(self, *args) -> "TopoDS_Shape const":
        r"""
        Return the face bottom if <solid> is true in the constructor.

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_Evolved_Bottom(self, *args)

    def GeneratedShapes(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns the shapes created from a subshape <spineshape> of the spine and a subshape <profshape> on the profile.

        Parameters
        ----------
        SpineShape: TopoDS_Shape
        ProfShape: TopoDS_Shape

        Returns
        -------
        TopTools_ListOfShape

        """
        return _BRepFill.BRepFill_Evolved_GeneratedShapes(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_Evolved_IsDone(self, *args)

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

        Returns
        -------
        GeomAbs_JoinType

        """
        return _BRepFill.BRepFill_Evolved_JoinType(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        Performs an evolved shape by sweeping the <profile> along the <spine>.

        Parameters
        ----------
        Spine: TopoDS_Wire
        Profile: TopoDS_Wire
        AxeProf: gp_Ax3
        Join: GeomAbs_JoinType,optional
        	default value is GeomAbs_Arc
        Solid: bool,optional
        	default value is Standard_False

        Returns
        -------
        None
        Performs an evolved shape by sweeping the <profile> along the <spine>.

        Parameters
        ----------
        Spine: TopoDS_Face
        Profile: TopoDS_Wire
        AxeProf: gp_Ax3
        Join: GeomAbs_JoinType,optional
        	default value is GeomAbs_Arc
        Solid: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Evolved_Perform(self, *args)

    def Shape(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns the generated shape.

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_Evolved_Shape(self, *args)

    def Top(self, *args) -> "TopoDS_Shape const":
        r"""
        Return the face top if <solid> is true in the constructor.

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_Evolved_Top(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_Evolved

# Register BRepFill_Evolved in _BRepFill:
_BRepFill.BRepFill_Evolved_swigregister(BRepFill_Evolved)

class BRepFill_FaceAndOrder(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
        ----------
        aFace: TopoDS_Face
        anOrder: GeomAbs_Shape

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_FaceAndOrder_swiginit(self, _BRepFill.new_BRepFill_FaceAndOrder(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_FaceAndOrder

# Register BRepFill_FaceAndOrder in _BRepFill:
_BRepFill.BRepFill_FaceAndOrder_swigregister(BRepFill_FaceAndOrder)

class BRepFill_Filling(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"""
        Constructor.

        Parameters
        ----------
        Degree: int,optional
        	default value is 3
        NbPtsOnCur: int,optional
        	default value is 15
        NbIter: int,optional
        	default value is 2
        Anisotropie: bool,optional
        	default value is Standard_False
        Tol2d: float,optional
        	default value is 0.00001
        Tol3d: float,optional
        	default value is 0.0001
        TolAng: float,optional
        	default value is 0.01
        TolCurv: float,optional
        	default value is 0.1
        MaxDeg: int,optional
        	default value is 8
        MaxSegments: int,optional
        	default value is 9

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_Filling_swiginit(self, _BRepFill.new_BRepFill_Filling(*args))

    def Add(self, *args) -> "Standard_Integer":
        r"""
        Adds a new constraint which also defines an edge of the wire of the face order: order of the constraint: geomabs_c0 : the surface has to pass by 3d representation of the edge geomabs_g1 : the surface has to pass by 3d representation of the edge and to respect tangency with the first face of the edge geomabs_g2 : the surface has to pass by 3d representation of the edge and to respect tangency and curvature with the first face of the edge.

        Parameters
        ----------
        anEdge: TopoDS_Edge
        Order: GeomAbs_Shape
        IsBound: bool,optional
        	default value is Standard_True

        Returns
        -------
        int
        Adds a new constraint which also defines an edge of the wire of the face order: order of the constraint: geomabs_c0 : the surface has to pass by 3d representation of the edge geomabs_g1 : the surface has to pass by 3d representation of the edge and to respect tangency with the given face geomabs_g2 : the surface has to pass by 3d representation of the edge and to respect tangency and curvature with the given face.

        Parameters
        ----------
        anEdge: TopoDS_Edge
        Support: TopoDS_Face
        Order: GeomAbs_Shape
        IsBound: bool,optional
        	default value is Standard_True

        Returns
        -------
        int
        Adds a free constraint on a face. the corresponding edge has to be automatically recomputed. it is always a bound.

        Parameters
        ----------
        Support: TopoDS_Face
        Order: GeomAbs_Shape

        Returns
        -------
        int
        Adds a punctual constraint.

        Parameters
        ----------
        Point: gp_Pnt

        Returns
        -------
        int
        Adds a punctual constraint.

        Parameters
        ----------
        U: float
        V: float
        Support: TopoDS_Face
        Order: GeomAbs_Shape

        Returns
        -------
        int

        """
        return _BRepFill.BRepFill_Filling_Add(self, *args)

    def Build(self, *args) -> "void":
        r"""
        Builds the resulting faces.

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Filling_Build(self, *args)

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

        Returns
        -------
        TopoDS_Face

        """
        return _BRepFill.BRepFill_Filling_Face(self, *args)

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

        Returns
        -------
        float
        No available documentation.

        Parameters
        ----------
        Index: int

        Returns
        -------
        float

        """
        return _BRepFill.BRepFill_Filling_G0Error(self, *args)

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

        Returns
        -------
        float
        No available documentation.

        Parameters
        ----------
        Index: int

        Returns
        -------
        float

        """
        return _BRepFill.BRepFill_Filling_G1Error(self, *args)

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

        Returns
        -------
        float
        No available documentation.

        Parameters
        ----------
        Index: int

        Returns
        -------
        float

        """
        return _BRepFill.BRepFill_Filling_G2Error(self, *args)

    def Generated(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns the list of shapes generated from the shape <s>.

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

        Returns
        -------
        TopTools_ListOfShape

        """
        return _BRepFill.BRepFill_Filling_Generated(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_Filling_IsDone(self, *args)

    def LoadInitSurface(self, *args) -> "void":
        r"""
        Loads the initial surface the initial surface must have orthogonal local coordinates, i.e. partial derivatives ds/du and ds/dv must be orthogonal at each point of surface. if this condition breaks, distortions of resulting surface are possible.

        Parameters
        ----------
        aFace: TopoDS_Face

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Filling_LoadInitSurface(self, *args)

    def SetApproxParam(self, *args) -> "void":
        r"""
        Sets the parameters used for approximation of the surface.

        Parameters
        ----------
        MaxDeg: int,optional
        	default value is 8
        MaxSegments: int,optional
        	default value is 9

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Filling_SetApproxParam(self, *args)

    def SetConstrParam(self, *args) -> "void":
        r"""
        Sets the values of tolerances used to control the constraint. tol2d: tol3d: it is the maximum distance allowed between the support surface and the constraints tolang: it is the maximum angle allowed between the normal of the surface and the constraints tolcurv: it is the maximum difference of curvature allowed between the surface and the constraint.

        Parameters
        ----------
        Tol2d: float,optional
        	default value is 0.00001
        Tol3d: float,optional
        	default value is 0.0001
        TolAng: float,optional
        	default value is 0.01
        TolCurv: float,optional
        	default value is 0.1

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Filling_SetConstrParam(self, *args)

    def SetResolParam(self, *args) -> "void":
        r"""
        Sets the parameters used for resolution. the default values of these parameters have been chosen for a good ratio quality/performance. degree: it is the order of energy criterion to minimize for computing the deformation of the surface. the default value is 3 the recommanded value is i+2 where i is the maximum order of the constraints. nbptsoncur: it is the average number of points for discretisation of the edges. nbiter: it is the maximum number of iterations of the process. for each iteration the number of discretisation points is increased. anisotropie:.

        Parameters
        ----------
        Degree: int,optional
        	default value is 3
        NbPtsOnCur: int,optional
        	default value is 15
        NbIter: int,optional
        	default value is 2
        Anisotropie: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Filling_SetResolParam(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_Filling

# Register BRepFill_Filling in _BRepFill:
_BRepFill.BRepFill_Filling_swigregister(BRepFill_Filling)

class BRepFill_Generator(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

        """
        _BRepFill.BRepFill_Generator_swiginit(self, _BRepFill.new_BRepFill_Generator(*args))

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

        Parameters
        ----------
        Wire: TopoDS_Wire

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Generator_AddWire(self, *args)

    def Generated(self, *args) -> "TopTools_DataMapOfShapeListOfShape const &":
        r"""
        Returns all the shapes created.

        Returns
        -------
        TopTools_DataMapOfShapeListOfShape

        """
        return _BRepFill.BRepFill_Generator_Generated(self, *args)

    def GeneratedShapes(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns the shapes created from a subshape <ssection> of a section.

        Parameters
        ----------
        SSection: TopoDS_Shape

        Returns
        -------
        TopTools_ListOfShape

        """
        return _BRepFill.BRepFill_Generator_GeneratedShapes(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        Compute the shell.

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Generator_Perform(self, *args)

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

        Returns
        -------
        TopoDS_Shell

        """
        return _BRepFill.BRepFill_Generator_Shell(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_Generator

# Register BRepFill_Generator in _BRepFill:
_BRepFill.BRepFill_Generator_swigregister(BRepFill_Generator)

class BRepFill_LocationLaw(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 Abscissa(self, *args) -> "Standard_Real":
        r"""
        Return the curvilinear abscissa corresponding to a point of the path, defined by <index> of edge and a parameter on the edge.

        Parameters
        ----------
        Index: int
        Param: float

        Returns
        -------
        float

        """
        return _BRepFill.BRepFill_LocationLaw_Abscissa(self, *args)

    def CurvilinearBounds(self, *args) -> "void":
        r"""
        Return the curvilinear bounds of the <index> law.

        Parameters
        ----------
        Index: int

        Returns
        -------
        First: float
        Last: float

        """
        return _BRepFill.BRepFill_LocationLaw_CurvilinearBounds(self, *args)

    def D0(self, *args) -> "void":
        r"""
        Apply the law to a shape, for a given curnilinear abscissa.

        Parameters
        ----------
        Abscissa: float
        Section: TopoDS_Shape

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_LocationLaw_D0(self, *args)

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

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_LocationLaw_DeleteTransform(self, *args)

    def Edge(self, *args) -> "TopoDS_Edge const":
        r"""
        Return the edge of rank <index> in the path <index> have to be in [1, nblaw()].

        Parameters
        ----------
        Index: int

        Returns
        -------
        TopoDS_Edge

        """
        return _BRepFill.BRepFill_LocationLaw_Edge(self, *args)

    def GetStatus(self, *args) -> "GeomFill_PipeError":
        r"""
        Return a error status, if the status is not pipeok then it exist a parameter tlike the law is not valuable for t.

        Returns
        -------
        GeomFill_PipeError

        """
        return _BRepFill.BRepFill_LocationLaw_GetStatus(self, *args)

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

        Parameters
        ----------
        Interval: TColStd_Array1OfInteger

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_LocationLaw_Holes(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_LocationLaw_IsClosed(self, *args)

    def IsG1(self, *args) -> "Standard_Integer":
        r"""
        Compute the law's continuity beetween 2 edges of the path the result can be : -1 : case not connex 0 : it is connex (g0) 1 : it is tangent (g1).

        Parameters
        ----------
        Index: int
        SpatialTolerance: float,optional
        	default value is 1.0e-7
        AngularTolerance: float,optional
        	default value is 1.0e-4

        Returns
        -------
        int

        """
        return _BRepFill.BRepFill_LocationLaw_IsG1(self, *args)

    def law(self, *args) -> "opencascade::handle< GeomFill_LocationLaw > const &":
        r"""
        Return the elementary law of rank <index> <index> have to be in [1, nblaw()].

        Parameters
        ----------
        Index: int

        Returns
        -------
        opencascade::handle<GeomFill_LocationLaw>

        """
        return _BRepFill.BRepFill_LocationLaw_law(self, *args)

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

        Parameters
        ----------
        Tol: float,optional
        	default value is 1.0e-7

        Returns
        -------
        int

        """
        return _BRepFill.BRepFill_LocationLaw_NbHoles(self, *args)

    def NbLaw(self, *args) -> "Standard_Integer":
        r"""
        Return the number of elementary law.

        Returns
        -------
        int

        """
        return _BRepFill.BRepFill_LocationLaw_NbLaw(self, *args)

    def Parameter(self, *args) -> "void":
        r"""
        Find the index law and the parmaeter, for a given curnilinear abscissa.

        Parameters
        ----------
        Abscissa: float

        Returns
        -------
        Index: int
        Param: float

        """
        return _BRepFill.BRepFill_LocationLaw_Parameter(self, *args)

    def PerformVertex(self, *args) -> "void":
        r"""
        Compute <outputvertex> like a transformation of <inputvertex> the transformation is given by evaluation of the location law in the vertex of rank <index>. <location> is used to manage discontinuities : - -1 : the law before the vertex is used. - 1 : the law after the vertex is used. - 0 : average of the both laws is used.

        Parameters
        ----------
        Index: int
        InputVertex: TopoDS_Vertex
        TolMin: float
        OutputVertex: TopoDS_Vertex
        Location: int,optional
        	default value is 0

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_LocationLaw_PerformVertex(self, *args)

    def TransformInCompatibleLaw(self, *args) -> "void":
        r"""
        Apply a linear transformation on each law, to reduce the dicontinuities of law at one rotation.

        Parameters
        ----------
        AngularTolerance: float

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_LocationLaw_TransformInCompatibleLaw(self, *args)

    def TransformInG0Law(self, *args) -> "void":
        r"""
        Apply a linear transformation on each law, to have continuity of the global law beetween the edges.

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_LocationLaw_TransformInG0Law(self, *args)

    def Vertex(self, *args) -> "TopoDS_Vertex":
        r"""
        Return the vertex of rank <index> in the path <index> have to be in [0, nblaw()].

        Parameters
        ----------
        Index: int

        Returns
        -------
        TopoDS_Vertex

        """
        return _BRepFill.BRepFill_LocationLaw_Vertex(self, *args)

    def Wire(self, *args) -> "TopoDS_Wire const":
        r"""
        Return the path.

        Returns
        -------
        TopoDS_Wire

        """
        return _BRepFill.BRepFill_LocationLaw_Wire(self, *args)


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


    __repr__ = _dumps_object


    def __init__(self):
        _BRepFill.BRepFill_LocationLaw_swiginit(self, _BRepFill.new_BRepFill_LocationLaw())
    __swig_destroy__ = _BRepFill.delete_BRepFill_LocationLaw

# Register BRepFill_LocationLaw in _BRepFill:
_BRepFill.BRepFill_LocationLaw_swigregister(BRepFill_LocationLaw)

class BRepFill_MultiLine(OCC.Core.AppCont.AppCont_Function):
    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
        ----------
        Face1: TopoDS_Face
        Face2: TopoDS_Face
        Edge1: TopoDS_Edge
        Edge2: TopoDS_Edge
        Inv1: bool
        Inv2: bool
        Bissec: Geom2d_Curve

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_MultiLine_swiginit(self, _BRepFill.new_BRepFill_MultiLine(*args))

    def Continuity(self, *args) -> "GeomAbs_Shape":
        r"""
        Returns the continuity betwwen the two faces seshape from geomabsparated by mybis.

        Returns
        -------
        GeomAbs_Shape

        """
        return _BRepFill.BRepFill_MultiLine_Continuity(self, *args)

    def Curves(self, *args) -> "void":
        r"""
        Raises if isparticularcase is <false>.

        Parameters
        ----------
        Curve: Geom_Curve
        PCurve1: Geom2d_Curve
        PCurve2: Geom2d_Curve

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_MultiLine_Curves(self, *args)

    def IsParticularCase(self, *args) -> "Standard_Boolean":
        r"""
        Search if the projection of the bissectrice on the faces needs an approximation or not. returns true if the approximation is not needed.

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_MultiLine_IsParticularCase(self, *args)

    def Value(self, *args) -> "Standard_Boolean":
        r"""
        Returns the current point on the 3d curve.

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

        Returns
        -------
        gp_Pnt
        Returns the point at parameter <theu>.

        Parameters
        ----------
        theU: float
        thePnt2d: NCollection_Array1<gp_Pnt2d>
        thePnt: NCollection_Array1<gp_Pnt>

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_MultiLine_Value(self, *args)

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

        Parameters
        ----------
        U: float
        P3d: gp_Pnt
        PF1: gp_Pnt2d
        PF2: gp_Pnt2d

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_MultiLine_Value3dOnF1OnF2(self, *args)

    def ValueOnF1(self, *args) -> "gp_Pnt2d":
        r"""
        Returns the current point on the pcurve of the first face.

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

        Returns
        -------
        gp_Pnt2d

        """
        return _BRepFill.BRepFill_MultiLine_ValueOnF1(self, *args)

    def ValueOnF2(self, *args) -> "gp_Pnt2d":
        r"""
        Returns the current point on the pcurve of the first face.

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

        Returns
        -------
        gp_Pnt2d

        """
        return _BRepFill.BRepFill_MultiLine_ValueOnF2(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_MultiLine

# Register BRepFill_MultiLine in _BRepFill:
_BRepFill.BRepFill_MultiLine_swigregister(BRepFill_MultiLine)

class BRepFill_OffsetAncestors(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
        ----------
        Paral: BRepFill_OffsetWire

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_OffsetAncestors_swiginit(self, _BRepFill.new_BRepFill_OffsetAncestors(*args))

    def Ancestor(self, *args) -> "TopoDS_Shape const":
        r"""
        May return a null shape if s1 is not a subshape of <paral>; if perform is not done.

        Parameters
        ----------
        S1: TopoDS_Edge

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_OffsetAncestors_Ancestor(self, *args)

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

        Parameters
        ----------
        S1: TopoDS_Edge

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_OffsetAncestors_HasAncestor(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_OffsetAncestors_IsDone(self, *args)

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

        Parameters
        ----------
        Paral: BRepFill_OffsetWire

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_OffsetAncestors_Perform(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_OffsetAncestors

# Register BRepFill_OffsetAncestors in _BRepFill:
_BRepFill.BRepFill_OffsetAncestors_swigregister(BRepFill_OffsetAncestors)

class BRepFill_OffsetWire(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
        ----------
        Spine: TopoDS_Face
        Join: GeomAbs_JoinType,optional
        	default value is GeomAbs_Arc
        IsOpenResult: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_OffsetWire_swiginit(self, _BRepFill.new_BRepFill_OffsetWire(*args))

    def GeneratedShapes(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns the shapes created from a subshape <spineshape> of the spine. returns the last computed offset.

        Parameters
        ----------
        SpineShape: TopoDS_Shape

        Returns
        -------
        TopTools_ListOfShape

        """
        return _BRepFill.BRepFill_OffsetWire_GeneratedShapes(self, *args)

    def Init(self, *args) -> "void":
        r"""
        Initialize the evaluation of offseting.

        Parameters
        ----------
        Spine: TopoDS_Face
        Join: GeomAbs_JoinType,optional
        	default value is GeomAbs_Arc
        IsOpenResult: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_OffsetWire_Init(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_OffsetWire_IsDone(self, *args)

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

        Returns
        -------
        GeomAbs_JoinType

        """
        return _BRepFill.BRepFill_OffsetWire_JoinType(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        Performs an offsetwire at an altitude <alt> from the face ( according to the orientation of the face).

        Parameters
        ----------
        Offset: float
        Alt: float,optional
        	default value is 0.0

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_OffsetWire_Perform(self, *args)

    def PerformWithBiLo(self, *args) -> "void":
        r"""
        Performs an offsetwire.

        Parameters
        ----------
        WSP: TopoDS_Face
        Offset: float
        Locus: BRepMAT2d_BisectingLocus
        Link: BRepMAT2d_LinkTopoBilo
        Join: GeomAbs_JoinType,optional
        	default value is GeomAbs_Arc
        Alt: float,optional
        	default value is 0.0

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_OffsetWire_PerformWithBiLo(self, *args)

    def Shape(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns the generated shape.

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_OffsetWire_Shape(self, *args)

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

        Returns
        -------
        TopoDS_Face

        """
        return _BRepFill.BRepFill_OffsetWire_Spine(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_OffsetWire

# Register BRepFill_OffsetWire in _BRepFill:
_BRepFill.BRepFill_OffsetWire_swigregister(BRepFill_OffsetWire)

class BRepFill_Pipe(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
        ----------
        Spine: TopoDS_Wire
        Profile: TopoDS_Shape
        aMode: GeomFill_Trihedron,optional
        	default value is GeomFill_IsCorrectedFrenet
        ForceApproxC1: bool,optional
        	default value is Standard_False
        GeneratePartCase: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_Pipe_swiginit(self, _BRepFill.new_BRepFill_Pipe(*args))

    def Edge(self, *args) -> "TopoDS_Edge":
        r"""
        Returns the edge created from an edge of the spine and a vertex of the profile. if the edge or the vertex are not in the spine or the profile.

        Parameters
        ----------
        ESpine: TopoDS_Edge
        VProfile: TopoDS_Vertex

        Returns
        -------
        TopoDS_Edge

        """
        return _BRepFill.BRepFill_Pipe_Edge(self, *args)

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

        Returns
        -------
        float

        """
        return _BRepFill.BRepFill_Pipe_ErrorOnSurface(self, *args)

    def Face(self, *args) -> "TopoDS_Face":
        r"""
        Returns the face created from an edge of the spine and an edge of the profile. if the edges are not in the spine or the profile.

        Parameters
        ----------
        ESpine: TopoDS_Edge
        EProfile: TopoDS_Edge

        Returns
        -------
        TopoDS_Face

        """
        return _BRepFill.BRepFill_Pipe_Face(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_Pipe_FirstShape(self, *args)

    def Generated(self, *args) -> "void":
        r"""
        Returns the list of shapes generated from the shape <s>.

        Parameters
        ----------
        S: TopoDS_Shape
        L: TopTools_ListOfShape

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Pipe_Generated(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_Pipe_LastShape(self, *args)

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

        Parameters
        ----------
        Spine: TopoDS_Wire
        Profile: TopoDS_Shape
        GeneratePartCase: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Pipe_Perform(self, *args)

    def PipeLine(self, *args) -> "TopoDS_Wire":
        r"""
        Create a wire by sweeping the point along the <spine> if the <spine> is undefined.

        Parameters
        ----------
        Point: gp_Pnt

        Returns
        -------
        TopoDS_Wire

        """
        return _BRepFill.BRepFill_Pipe_PipeLine(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_Pipe_Profile(self, *args)

    def Section(self, *args) -> "TopoDS_Shape":
        r"""
        Returns the shape created from the profile at the position of the vertex vspine. if the vertex is not in the spine.

        Parameters
        ----------
        VSpine: TopoDS_Vertex

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_Pipe_Section(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_Pipe_Shape(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_Pipe_Spine(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_Pipe

# Register BRepFill_Pipe in _BRepFill:
_BRepFill.BRepFill_Pipe_swigregister(BRepFill_Pipe)

class BRepFill_PipeShell(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"""
        Set an sweep's mode if no mode are setted, the mode use in makepipe is used.

        Parameters
        ----------
        Spine: TopoDS_Wire

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_PipeShell_swiginit(self, _BRepFill.new_BRepFill_PipeShell(*args))

    def Add(self, *args) -> "void":
        r"""
        Set an section. the corespondance with the spine, will be automaticaly performed.

        Parameters
        ----------
        Profile: TopoDS_Shape
        WithContact: bool,optional
        	default value is Standard_False
        WithCorrection: bool,optional
        	default value is Standard_False

        Returns
        -------
        None
        Set an section. the corespondance with the spine, is given by <location>.

        Parameters
        ----------
        Profile: TopoDS_Shape
        Location: TopoDS_Vertex
        WithContact: bool,optional
        	default value is Standard_False
        WithCorrection: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_PipeShell_Add(self, *args)

    def Build(self, *args) -> "Standard_Boolean":
        r"""
        Builds the resulting shape (redefined from makeshape).

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_PipeShell_Build(self, *args)

    def DeleteProfile(self, *args) -> "void":
        r"""
        Delete an section.

        Parameters
        ----------
        Profile: TopoDS_Shape

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_PipeShell_DeleteProfile(self, *args)

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

        Returns
        -------
        float

        """
        return _BRepFill.BRepFill_PipeShell_ErrorOnSurface(self, *args)

    def FirstShape(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns the topods shape of the bottom of the sweep.

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_PipeShell_FirstShape(self, *args)

    def Generated(self, *args) -> "void":
        r"""
        Returns the list of shapes generated from the shape <s>.

        Parameters
        ----------
        S: TopoDS_Shape
        L: TopTools_ListOfShape

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_PipeShell_Generated(self, *args)

    def GetStatus(self, *args) -> "GeomFill_PipeError":
        r"""
        Get a status, when simulate or build failed.

        Returns
        -------
        GeomFill_PipeError

        """
        return _BRepFill.BRepFill_PipeShell_GetStatus(self, *args)

    def IsReady(self, *args) -> "Standard_Boolean":
        r"""
        Say if <self> is ready to build the shape return false if <self> do not have section definition.

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_PipeShell_IsReady(self, *args)

    def LastShape(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns the topods shape of the top of the sweep.

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_PipeShell_LastShape(self, *args)

    def MakeSolid(self, *args) -> "Standard_Boolean":
        r"""
        Transform the sweeping shell in solid. if the section are not closed returns false.

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_PipeShell_MakeSolid(self, *args)

    def Profiles(self, *args) -> "void":
        r"""
        Returns the list of original profiles.

        Parameters
        ----------
        theProfiles: TopTools_ListOfShape

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_PipeShell_Profiles(self, *args)

    def Set(self, *args) -> "void":
        r"""
        Set an frenet or an correctedfrenet trihedron to perform the sweeping.

        Parameters
        ----------
        Frenet: bool,optional
        	default value is Standard_False

        Returns
        -------
        None
        Set an fixed trihedron to perform the sweeping all sections will be parallel.

        Parameters
        ----------
        Axe: gp_Ax2

        Returns
        -------
        None
        Set an fixed binormal direction to perform the sweeping.

        Parameters
        ----------
        BiNormal: gp_Dir

        Returns
        -------
        None
        Set support to the spine to define the binormal at the spine, like the normal the surfaces. warning: to be effective, each edge of the <spine> must have an representaion on one face of<spinesupport>.

        Parameters
        ----------
        SpineSupport: TopoDS_Shape

        Returns
        -------
        bool
        Set an auxiliary spine to define the normal for each point of the spine p, an point q is evalued on <auxiliaryspine> if <curvilinearequivalence> q split <auxiliaryspine> with the same length ratio than p split <spline>. else the plan define by p and the tangent to the <spine> intersect <auxiliaryspine> in q. if <keepcontact> equals brepfill_nocontact: the normal is defined by the vector pq. if <keepcontact> equals brepfill_contact: the normal is defined to achieve that the sweeped section is in contact to the auxiliaryspine. the width of section is constant all along the path. in other words, the auxiliary spine lies on the swept surface, but not necessarily is a boundary of this surface. however, the auxiliary spine has to be close enough to the main spine to provide intersection with any section all along the path. if <keepcontact> equals brepfill_contactonborder: the auxiliary spine becomes a boundary of the swept surface and the width of section varies along the path.

        Parameters
        ----------
        AuxiliarySpine: TopoDS_Wire
        CurvilinearEquivalence: bool,optional
        	default value is Standard_True
        KeepContact: BRepFill_TypeOfContact,optional
        	default value is BRepFill_NoContact

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_PipeShell_Set(self, *args)

    def SetDiscrete(self, *args) -> "void":
        r"""
        Set a discrete trihedron to perform the sweeping.

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_PipeShell_SetDiscrete(self, *args)

    def SetForceApproxC1(self, *args) -> "void":
        r"""
        Set the flag that indicates attempt to approximate a c1-continuous surface if a swept surface proved to be c0. give section to sweep. possibilities are : - give one or sevral profile - give one profile and an homotetic law. - automatic compute of correspondance beetween profile, and section on the sweeped shape - correspondance beetween profile, and section on the sweeped shape defined by a vertex of the spine.

        Parameters
        ----------
        ForceApproxC1: bool

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_PipeShell_SetForceApproxC1(self, *args)

    def SetLaw(self, *args) -> "void":
        r"""
        Set an section and an homotetic law. the homotetie's centers is given by point on the <spine>.

        Parameters
        ----------
        Profile: TopoDS_Shape
        L: Law_Function
        WithContact: bool,optional
        	default value is Standard_False
        WithCorrection: bool,optional
        	default value is Standard_False

        Returns
        -------
        None
        Set an section and an homotetic law. the homotetie center is given by point on the <spine>.

        Parameters
        ----------
        Profile: TopoDS_Shape
        L: Law_Function
        Location: TopoDS_Vertex
        WithContact: bool,optional
        	default value is Standard_False
        WithCorrection: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_PipeShell_SetLaw(self, *args)

    def SetMaxDegree(self, *args) -> "void":
        r"""
        Define the maximum v degree of resulting surface.

        Parameters
        ----------
        NewMaxDegree: int

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_PipeShell_SetMaxDegree(self, *args)

    def SetMaxSegments(self, *args) -> "void":
        r"""
        Define the maximum number of spans in v-direction on resulting surface.

        Parameters
        ----------
        NewMaxSegments: int

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_PipeShell_SetMaxSegments(self, *args)

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

        Parameters
        ----------
        Tol3d: float,optional
        	default value is 1.0e-4
        BoundTol: float,optional
        	default value is 1.0e-4
        TolAngular: float,optional
        	default value is 1.0e-2

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_PipeShell_SetTolerance(self, *args)

    def SetTransition(self, *args) -> "void":
        r"""
        Set the transition mode to manage discontinuities on the sweep.

        Parameters
        ----------
        Mode: BRepFill_TransitionStyle,optional
        	default value is BRepFill_Modified
        Angmin: float,optional
        	default value is 1.0e-2
        Angmax: float,optional
        	default value is 6.0

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_PipeShell_SetTransition(self, *args)

    def Shape(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns the result shape.

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_PipeShell_Shape(self, *args)

    def Simulate(self, *args) -> "void":
        r"""
        Perform simulation of the sweep : somes section are returned.

        Parameters
        ----------
        NumberOfSection: int
        Sections: TopTools_ListOfShape

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_PipeShell_Simulate(self, *args)

    def Spine(self, *args) -> "TopoDS_Wire const":
        r"""
        Returns the spine.

        Returns
        -------
        TopoDS_Wire

        """
        return _BRepFill.BRepFill_PipeShell_Spine(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_PipeShell

# Register BRepFill_PipeShell in _BRepFill:
_BRepFill.BRepFill_PipeShell_swigregister(BRepFill_PipeShell)

class BRepFill_Section(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
        ----------
        Profile: TopoDS_Shape
        V: TopoDS_Vertex
        WithContact: bool
        WithCorrection: bool

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_Section_swiginit(self, _BRepFill.new_BRepFill_Section(*args))

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_Section_IsLaw(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_Section_IsPunctual(self, *args)

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

        Parameters
        ----------
        theShape: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_Section_ModifiedShape(self, *args)

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

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_Section_OriginalShape(self, *args)

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

        Parameters
        ----------
        IsLaw: bool

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Section_Set(self, *args)

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

        Returns
        -------
        TopoDS_Vertex

        """
        return _BRepFill.BRepFill_Section_Vertex(self, *args)

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

        Returns
        -------
        TopoDS_Wire

        """
        return _BRepFill.BRepFill_Section_Wire(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_Section_WithContact(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_Section_WithCorrection(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_Section

# Register BRepFill_Section in _BRepFill:
_BRepFill.BRepFill_Section_swigregister(BRepFill_Section)

class BRepFill_SectionLaw(OCC.Core.Standard.Standard_Transient):
    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")
    __repr__ = _swig_repr

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

        Returns
        -------
        opencascade::handle<GeomFill_SectionLaw>

        """
        return _BRepFill.BRepFill_SectionLaw_ConcatenedLaw(self, *args)

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

        Parameters
        ----------
        Index: int
        TolAngular: float

        Returns
        -------
        GeomAbs_Shape

        """
        return _BRepFill.BRepFill_SectionLaw_Continuity(self, *args)

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

        Returns
        -------
        TopoDS_Edge

        """
        return _BRepFill.BRepFill_SectionLaw_CurrentEdge(self, *args)

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

        Parameters
        ----------
        U: float
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_SectionLaw_D0(self, *args)

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

        Parameters
        ----------
        anEdge: TopoDS_Shape

        Returns
        -------
        int

        """
        return _BRepFill.BRepFill_SectionLaw_IndexOfEdge(self, *args)

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

        Parameters
        ----------
        W: TopoDS_Wire

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_SectionLaw_Init(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_SectionLaw_IsConstant(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_SectionLaw_IsDone(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_SectionLaw_IsUClosed(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_SectionLaw_IsVClosed(self, *args)

    def IsVertex(self, *args) -> "Standard_Boolean":
        r"""
        Say if the input shape is a vertex.

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_SectionLaw_IsVertex(self, *args)

    def law(self, *args) -> "opencascade::handle< GeomFill_SectionLaw > const &":
        r"""
        No available documentation.

        Parameters
        ----------
        Index: int

        Returns
        -------
        opencascade::handle<GeomFill_SectionLaw>

        """
        return _BRepFill.BRepFill_SectionLaw_law(self, *args)

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

        Returns
        -------
        int

        """
        return _BRepFill.BRepFill_SectionLaw_NbLaw(self, *args)

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

        Parameters
        ----------
        Index: int
        Param: float

        Returns
        -------
        TopoDS_Vertex

        """
        return _BRepFill.BRepFill_SectionLaw_Vertex(self, *args)

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

        Parameters
        ----------
        Index: int
        Param: float

        Returns
        -------
        float

        """
        return _BRepFill.BRepFill_SectionLaw_VertexTol(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_SectionLaw

# Register BRepFill_SectionLaw in _BRepFill:
_BRepFill.BRepFill_SectionLaw_swigregister(BRepFill_SectionLaw)

class BRepFill_SectionPlacement(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"""
        Automatic placement.

        Parameters
        ----------
        Law: BRepFill_LocationLaw
        Section: TopoDS_Shape
        WithContact: bool,optional
        	default value is Standard_False
        WithCorrection: bool,optional
        	default value is Standard_False

        Returns
        -------
        None
        Placement on vertex.

        Parameters
        ----------
        Law: BRepFill_LocationLaw
        Section: TopoDS_Shape
        Vertex: TopoDS_Shape
        WithContact: bool,optional
        	default value is Standard_False
        WithCorrection: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_SectionPlacement_swiginit(self, _BRepFill.new_BRepFill_SectionPlacement(*args))

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

        Returns
        -------
        float

        """
        return _BRepFill.BRepFill_SectionPlacement_AbscissaOnPath(self, *args)

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

        Returns
        -------
        gp_Trsf

        """
        return _BRepFill.BRepFill_SectionPlacement_Transformation(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_SectionPlacement

# Register BRepFill_SectionPlacement in _BRepFill:
_BRepFill.BRepFill_SectionPlacement_swigregister(BRepFill_SectionPlacement)

class BRepFill_Sweep(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
        ----------
        Section: BRepFill_SectionLaw
        Location: BRepFill_LocationLaw
        WithKPart: bool

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_Sweep_swiginit(self, _BRepFill.new_BRepFill_Sweep(*args))

    def Build(self, *args) -> "void":
        r"""
        Build the sweep surface transition define transition strategy approx define approximation strategy - geomfill_section : the composed function location x section is directly approximed. - geomfill_location : the location law is approximed, and the sweepsurface is bulid algebric composition of approximed location law and section law this option is ok, if section.surface() methode is effective. continuity : the continuity in v waiting on the surface degmax : the maximum degree in v requiered on the surface segmax : the maximum number of span in v requiered on the surface.

        Parameters
        ----------
        ReversedEdges: TopTools_MapOfShape
        Tapes: BRepFill_DataMapOfShapeHArray2OfShape
        Rails: BRepFill_DataMapOfShapeHArray2OfShape
        Transition: BRepFill_TransitionStyle,optional
        	default value is BRepFill_Modified
        Continuity: GeomAbs_Shape,optional
        	default value is GeomAbs_C2
        Approx: GeomFill_ApproxStyle,optional
        	default value is GeomFill_Location
        Degmax: int,optional
        	default value is 11
        Segmax: int,optional
        	default value is 30

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Sweep_Build(self, *args)

    def ErrorOnSurface(self, *args) -> "Standard_Real":
        r"""
        Get the approximation error.

        Returns
        -------
        float

        """
        return _BRepFill.BRepFill_Sweep_ErrorOnSurface(self, *args)

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

        Returns
        -------
        opencascade::handle<TopTools_HArray2OfShape>

        """
        return _BRepFill.BRepFill_Sweep_InterFaces(self, *args)

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        Say if the shape is build.

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_Sweep_IsDone(self, *args)

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

        Returns
        -------
        opencascade::handle<TopTools_HArray2OfShape>

        """
        return _BRepFill.BRepFill_Sweep_Sections(self, *args)

    def SetAngularControl(self, *args) -> "void":
        r"""
        Tolerance to controle corner management. //! if the discontinuity is lesser than <anglemin> in radian the transition performed will be alway 'modified'.

        Parameters
        ----------
        AngleMin: float,optional
        	default value is 0.01
        AngleMax: float,optional
        	default value is 6.0

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Sweep_SetAngularControl(self, *args)

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

        Parameters
        ----------
        FirstShape: TopoDS_Wire
        LastShape: TopoDS_Wire

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Sweep_SetBounds(self, *args)

    def SetForceApproxC1(self, *args) -> "void":
        r"""
        Set the flag that indicates attempt to approximate a c1-continuous surface if a swept surface proved to be c0.

        Parameters
        ----------
        ForceApproxC1: bool

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Sweep_SetForceApproxC1(self, *args)

    def SetTolerance(self, *args) -> "void":
        r"""
        Set approximation tolerance tol3d : tolerance to surface approximation tol2d : tolerance used to perform curve approximation normaly the 2d curve are approximated with a tolerance given by the resolution on support surfaces, but if this tolerance is too large tol2d is used. tolangular : tolerance (in radian) to control the angle beetween tangents on the section law and tangent of iso-v on approximed surface.

        Parameters
        ----------
        Tol3d: float
        BoundTol: float,optional
        	default value is 1.0
        Tol2d: float,optional
        	default value is 1.0e-5
        TolAngular: float,optional
        	default value is 1.0e-2

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_Sweep_SetTolerance(self, *args)

    def Shape(self, *args) -> "TopoDS_Shape":
        r"""
        Returns the sweeping shape.

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_Sweep_Shape(self, *args)

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

        Returns
        -------
        opencascade::handle<TopTools_HArray2OfShape>

        """
        return _BRepFill.BRepFill_Sweep_SubShape(self, *args)

    def Tape(self, *args) -> "TopoDS_Shape":
        r"""
        Returns the tape corresponding to index-th edge of section.

        Parameters
        ----------
        Index: int

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepFill.BRepFill_Sweep_Tape(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_Sweep

# Register BRepFill_Sweep in _BRepFill:
_BRepFill.BRepFill_Sweep_swigregister(BRepFill_Sweep)

class BRepFill_TrimEdgeTool(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
        ----------
        Bisec: Bisector_Bisec
        S1: Geom2d_Geometry
        S2: Geom2d_Geometry
        Offset: float

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_TrimEdgeTool_swiginit(self, _BRepFill.new_BRepFill_TrimEdgeTool(*args))

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

        Parameters
        ----------
        Start: bool
        Edge1: TopoDS_Edge
        Edge2: TopoDS_Edge
        Params: TColgp_SequenceOfPnt

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_TrimEdgeTool_AddOrConfuse(self, *args)

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

        Parameters
        ----------
        Edge1: TopoDS_Edge
        Edge2: TopoDS_Edge
        InitShape1: TopoDS_Shape
        InitShape2: TopoDS_Shape
        End1: TopoDS_Vertex
        End2: TopoDS_Vertex
        theJoinType: GeomAbs_JoinType
        IsOpenResult: bool
        Params: TColgp_SequenceOfPnt

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_TrimEdgeTool_IntersectWith(self, *args)

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

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_TrimEdgeTool_IsInside(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_TrimEdgeTool

# Register BRepFill_TrimEdgeTool in _BRepFill:
_BRepFill.BRepFill_TrimEdgeTool_swigregister(BRepFill_TrimEdgeTool)

class BRepFill_TrimShellCorner(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"""
        Constructor: takes faces to intersect, type of transition (it can be rightcorner or roundcorner) and axis of bisector plane.

        Parameters
        ----------
        theFaces: TopTools_HArray2OfShape
        theTransition: BRepFill_TransitionStyle
        theAxeOfBisPlane: gp_Ax2

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_TrimShellCorner_swiginit(self, _BRepFill.new_BRepFill_TrimShellCorner(*args))

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

        Parameters
        ----------
        Bounds: TopTools_HArray2OfShape

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_TrimShellCorner_AddBounds(self, *args)

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

        Parameters
        ----------
        theUEdges: TopTools_HArray2OfShape

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_TrimShellCorner_AddUEdges(self, *args)

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

        Parameters
        ----------
        theVEdges: TopTools_HArray2OfShape
        theIndex: int

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_TrimShellCorner_AddVEdges(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_TrimShellCorner_HasSection(self, *args)

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

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_TrimShellCorner_IsDone(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape
        theModified: TopTools_ListOfShape

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_TrimShellCorner_Modified(self, *args)

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

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_TrimShellCorner_Perform(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_TrimShellCorner

# Register BRepFill_TrimShellCorner in _BRepFill:
_BRepFill.BRepFill_TrimShellCorner_swigregister(BRepFill_TrimShellCorner)

class BRepFill_TrimSurfaceTool(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
        ----------
        Bis: Geom2d_Curve
        Face1: TopoDS_Face
        Face2: TopoDS_Face
        Edge1: TopoDS_Edge
        Edge2: TopoDS_Edge
        Inv1: bool
        Inv2: bool

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_TrimSurfaceTool_swiginit(self, _BRepFill.new_BRepFill_TrimSurfaceTool(*args))

    def IntersectWith(self, *args) -> "void":
        r"""
        Intersect <bis> with the projection of the edges <edgeonfi> and returns the intersecting parameters on bis and on the edges p.x() : parameter on bis p.y() : parameter on edgeonf1 p.z() : parameter on edgeonf2 raises if <edge> is not a edge of face1 or face2.

        Parameters
        ----------
        EdgeOnF1: TopoDS_Edge
        EdgeOnF2: TopoDS_Edge
        Points: TColgp_SequenceOfPnt

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_TrimSurfaceTool_IntersectWith(self, *args)

    def IsOnFace(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the line (p, dz) intersect the faces.

        Parameters
        ----------
        Point: gp_Pnt2d

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_TrimSurfaceTool_IsOnFace(self, *args)

    def ProjOn(self, *args) -> "Standard_Real":
        r"""
        Returns the parameter of the point <point> on the edge <edge>, assuming that the point is on the edge.

        Parameters
        ----------
        Point: gp_Pnt2d
        Edge: TopoDS_Edge

        Returns
        -------
        float

        """
        return _BRepFill.BRepFill_TrimSurfaceTool_ProjOn(self, *args)

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

        Parameters
        ----------
        U1: float
        U2: float
        Curve: Geom_Curve
        PCurve1: Geom2d_Curve
        PCurve2: Geom2d_Curve
        myCont: GeomAbs_Shape

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_TrimSurfaceTool_Project(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_TrimSurfaceTool

# Register BRepFill_TrimSurfaceTool in _BRepFill:
_BRepFill.BRepFill_TrimSurfaceTool_swigregister(BRepFill_TrimSurfaceTool)

class BRepFill_ACRLaw(BRepFill_LocationLaw):
    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
        ----------
        Path: TopoDS_Wire
        Law: GeomFill_LocationGuide

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_ACRLaw_swiginit(self, _BRepFill.new_BRepFill_ACRLaw(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_ACRLaw

# Register BRepFill_ACRLaw in _BRepFill:
_BRepFill.BRepFill_ACRLaw_swigregister(BRepFill_ACRLaw)

class BRepFill_Edge3DLaw(BRepFill_LocationLaw):
    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
        ----------
        Path: TopoDS_Wire
        Law: GeomFill_LocationLaw

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_Edge3DLaw_swiginit(self, _BRepFill.new_BRepFill_Edge3DLaw(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_Edge3DLaw

# Register BRepFill_Edge3DLaw in _BRepFill:
_BRepFill.BRepFill_Edge3DLaw_swigregister(BRepFill_Edge3DLaw)

class BRepFill_EdgeOnSurfLaw(BRepFill_LocationLaw):
    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
        ----------
        Path: TopoDS_Wire
        Surf: TopoDS_Shape

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_EdgeOnSurfLaw_swiginit(self, _BRepFill.new_BRepFill_EdgeOnSurfLaw(*args))

    def HasResult(self, *args) -> "Standard_Boolean":
        r"""
        Returns <false> if one edge of <path> do not have representation on <surf>. in this case it is impossible to use this object.

        Returns
        -------
        bool

        """
        return _BRepFill.BRepFill_EdgeOnSurfLaw_HasResult(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_EdgeOnSurfLaw

# Register BRepFill_EdgeOnSurfLaw in _BRepFill:
_BRepFill.BRepFill_EdgeOnSurfLaw_swigregister(BRepFill_EdgeOnSurfLaw)

class BRepFill_NSections(BRepFill_SectionLaw):
    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"""
        Construct.

        Parameters
        ----------
        S: TopTools_SequenceOfShape
        Build: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        Construct.

        Parameters
        ----------
        S: TopTools_SequenceOfShape
        Trsfs: GeomFill_SequenceOfTrsf
        P: TColStd_SequenceOfReal
        VF: float
        VL: float
        Build: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_NSections_swiginit(self, _BRepFill.new_BRepFill_NSections(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_NSections

# Register BRepFill_NSections in _BRepFill:
_BRepFill.BRepFill_NSections_swigregister(BRepFill_NSections)

class BRepFill_ShapeLaw(BRepFill_SectionLaw):
    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"""
        Construct an constant law.

        Parameters
        ----------
        V: TopoDS_Vertex
        Build: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        Construct an constant law.

        Parameters
        ----------
        W: TopoDS_Wire
        Build: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        Construct an evolutive law.

        Parameters
        ----------
        W: TopoDS_Wire
        L: Law_Function
        Build: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_ShapeLaw_swiginit(self, _BRepFill.new_BRepFill_ShapeLaw(*args))

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

        Parameters
        ----------
        Index: int

        Returns
        -------
        TopoDS_Edge

        """
        return _BRepFill.BRepFill_ShapeLaw_Edge(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_ShapeLaw

# Register BRepFill_ShapeLaw in _BRepFill:
_BRepFill.BRepFill_ShapeLaw_swigregister(BRepFill_ShapeLaw)

class BRepFill_DraftLaw(BRepFill_Edge3DLaw):
    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
        ----------
        Path: TopoDS_Wire
        Law: GeomFill_LocationDraft

        Returns
        -------
        None

        """
        _BRepFill.BRepFill_DraftLaw_swiginit(self, _BRepFill.new_BRepFill_DraftLaw(*args))

    def CleanLaw(self, *args) -> "void":
        r"""
        To clean the little discontinuities.

        Parameters
        ----------
        TolAngular: float

        Returns
        -------
        None

        """
        return _BRepFill.BRepFill_DraftLaw_CleanLaw(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepFill.delete_BRepFill_DraftLaw

# Register BRepFill_DraftLaw in _BRepFill:
_BRepFill.BRepFill_DraftLaw_swigregister(BRepFill_DraftLaw)





