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

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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

_swig_new_instance_method = _GeomFill.SWIG_PyInstanceMethod_New
_swig_new_static_method = _GeomFill.SWIG_PyStaticMethod_New

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


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


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


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


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


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

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

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


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


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

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.Convert
import OCC.Core.TColgp
import OCC.Core.TColStd
import OCC.Core.TCollection
import OCC.Core.gp
import OCC.Core.Geom
import OCC.Core.GeomAbs
import OCC.Core.AppBlend
import OCC.Core.Approx
import OCC.Core.Adaptor3d
import OCC.Core.TopAbs
import OCC.Core.Adaptor2d
import OCC.Core.Geom2d
import OCC.Core.math
import OCC.Core.Message
import OCC.Core.AppCont
import OCC.Core.AppParCurves
import OCC.Core.Law
import OCC.Core.TColGeom
GeomFill_Section = _GeomFill.GeomFill_Section
GeomFill_Location = _GeomFill.GeomFill_Location
GeomFill_IsCorrectedFrenet = _GeomFill.GeomFill_IsCorrectedFrenet
GeomFill_IsFixed = _GeomFill.GeomFill_IsFixed
GeomFill_IsFrenet = _GeomFill.GeomFill_IsFrenet
GeomFill_IsConstantNormal = _GeomFill.GeomFill_IsConstantNormal
GeomFill_IsDarboux = _GeomFill.GeomFill_IsDarboux
GeomFill_IsGuideAC = _GeomFill.GeomFill_IsGuideAC
GeomFill_IsGuidePlan = _GeomFill.GeomFill_IsGuidePlan
GeomFill_IsGuideACWithContact = _GeomFill.GeomFill_IsGuideACWithContact
GeomFill_IsGuidePlanWithContact = _GeomFill.GeomFill_IsGuidePlanWithContact
GeomFill_IsDiscreteTrihedron = _GeomFill.GeomFill_IsDiscreteTrihedron
GeomFill_StretchStyle = _GeomFill.GeomFill_StretchStyle
GeomFill_CoonsStyle = _GeomFill.GeomFill_CoonsStyle
GeomFill_CurvedStyle = _GeomFill.GeomFill_CurvedStyle
GeomFill_PipeOk = _GeomFill.GeomFill_PipeOk
GeomFill_PipeNotOk = _GeomFill.GeomFill_PipeNotOk
GeomFill_PlaneNotIntersectGuide = _GeomFill.GeomFill_PlaneNotIntersectGuide
GeomFill_ImpossibleContact = _GeomFill.GeomFill_ImpossibleContact
Handle_GeomFill_Boundary_Create = _GeomFill.Handle_GeomFill_Boundary_Create
Handle_GeomFill_Boundary_DownCast = _GeomFill.Handle_GeomFill_Boundary_DownCast
Handle_GeomFill_Boundary_IsNull = _GeomFill.Handle_GeomFill_Boundary_IsNull
Handle_GeomFill_CircularBlendFunc_Create = _GeomFill.Handle_GeomFill_CircularBlendFunc_Create
Handle_GeomFill_CircularBlendFunc_DownCast = _GeomFill.Handle_GeomFill_CircularBlendFunc_DownCast
Handle_GeomFill_CircularBlendFunc_IsNull = _GeomFill.Handle_GeomFill_CircularBlendFunc_IsNull
Handle_GeomFill_CoonsAlgPatch_Create = _GeomFill.Handle_GeomFill_CoonsAlgPatch_Create
Handle_GeomFill_CoonsAlgPatch_DownCast = _GeomFill.Handle_GeomFill_CoonsAlgPatch_DownCast
Handle_GeomFill_CoonsAlgPatch_IsNull = _GeomFill.Handle_GeomFill_CoonsAlgPatch_IsNull
Handle_GeomFill_Line_Create = _GeomFill.Handle_GeomFill_Line_Create
Handle_GeomFill_Line_DownCast = _GeomFill.Handle_GeomFill_Line_DownCast
Handle_GeomFill_Line_IsNull = _GeomFill.Handle_GeomFill_Line_IsNull
Handle_GeomFill_LocationLaw_Create = _GeomFill.Handle_GeomFill_LocationLaw_Create
Handle_GeomFill_LocationLaw_DownCast = _GeomFill.Handle_GeomFill_LocationLaw_DownCast
Handle_GeomFill_LocationLaw_IsNull = _GeomFill.Handle_GeomFill_LocationLaw_IsNull
Handle_GeomFill_SectionLaw_Create = _GeomFill.Handle_GeomFill_SectionLaw_Create
Handle_GeomFill_SectionLaw_DownCast = _GeomFill.Handle_GeomFill_SectionLaw_DownCast
Handle_GeomFill_SectionLaw_IsNull = _GeomFill.Handle_GeomFill_SectionLaw_IsNull
Handle_GeomFill_SweepFunction_Create = _GeomFill.Handle_GeomFill_SweepFunction_Create
Handle_GeomFill_SweepFunction_DownCast = _GeomFill.Handle_GeomFill_SweepFunction_DownCast
Handle_GeomFill_SweepFunction_IsNull = _GeomFill.Handle_GeomFill_SweepFunction_IsNull
Handle_GeomFill_TgtField_Create = _GeomFill.Handle_GeomFill_TgtField_Create
Handle_GeomFill_TgtField_DownCast = _GeomFill.Handle_GeomFill_TgtField_DownCast
Handle_GeomFill_TgtField_IsNull = _GeomFill.Handle_GeomFill_TgtField_IsNull
Handle_GeomFill_TrihedronLaw_Create = _GeomFill.Handle_GeomFill_TrihedronLaw_Create
Handle_GeomFill_TrihedronLaw_DownCast = _GeomFill.Handle_GeomFill_TrihedronLaw_DownCast
Handle_GeomFill_TrihedronLaw_IsNull = _GeomFill.Handle_GeomFill_TrihedronLaw_IsNull
Handle_GeomFill_BoundWithSurf_Create = _GeomFill.Handle_GeomFill_BoundWithSurf_Create
Handle_GeomFill_BoundWithSurf_DownCast = _GeomFill.Handle_GeomFill_BoundWithSurf_DownCast
Handle_GeomFill_BoundWithSurf_IsNull = _GeomFill.Handle_GeomFill_BoundWithSurf_IsNull
Handle_GeomFill_ConstantBiNormal_Create = _GeomFill.Handle_GeomFill_ConstantBiNormal_Create
Handle_GeomFill_ConstantBiNormal_DownCast = _GeomFill.Handle_GeomFill_ConstantBiNormal_DownCast
Handle_GeomFill_ConstantBiNormal_IsNull = _GeomFill.Handle_GeomFill_ConstantBiNormal_IsNull
Handle_GeomFill_CorrectedFrenet_Create = _GeomFill.Handle_GeomFill_CorrectedFrenet_Create
Handle_GeomFill_CorrectedFrenet_DownCast = _GeomFill.Handle_GeomFill_CorrectedFrenet_DownCast
Handle_GeomFill_CorrectedFrenet_IsNull = _GeomFill.Handle_GeomFill_CorrectedFrenet_IsNull
Handle_GeomFill_CurveAndTrihedron_Create = _GeomFill.Handle_GeomFill_CurveAndTrihedron_Create
Handle_GeomFill_CurveAndTrihedron_DownCast = _GeomFill.Handle_GeomFill_CurveAndTrihedron_DownCast
Handle_GeomFill_CurveAndTrihedron_IsNull = _GeomFill.Handle_GeomFill_CurveAndTrihedron_IsNull
Handle_GeomFill_Darboux_Create = _GeomFill.Handle_GeomFill_Darboux_Create
Handle_GeomFill_Darboux_DownCast = _GeomFill.Handle_GeomFill_Darboux_DownCast
Handle_GeomFill_Darboux_IsNull = _GeomFill.Handle_GeomFill_Darboux_IsNull
Handle_GeomFill_DegeneratedBound_Create = _GeomFill.Handle_GeomFill_DegeneratedBound_Create
Handle_GeomFill_DegeneratedBound_DownCast = _GeomFill.Handle_GeomFill_DegeneratedBound_DownCast
Handle_GeomFill_DegeneratedBound_IsNull = _GeomFill.Handle_GeomFill_DegeneratedBound_IsNull
Handle_GeomFill_DiscreteTrihedron_Create = _GeomFill.Handle_GeomFill_DiscreteTrihedron_Create
Handle_GeomFill_DiscreteTrihedron_DownCast = _GeomFill.Handle_GeomFill_DiscreteTrihedron_DownCast
Handle_GeomFill_DiscreteTrihedron_IsNull = _GeomFill.Handle_GeomFill_DiscreteTrihedron_IsNull
Handle_GeomFill_DraftTrihedron_Create = _GeomFill.Handle_GeomFill_DraftTrihedron_Create
Handle_GeomFill_DraftTrihedron_DownCast = _GeomFill.Handle_GeomFill_DraftTrihedron_DownCast
Handle_GeomFill_DraftTrihedron_IsNull = _GeomFill.Handle_GeomFill_DraftTrihedron_IsNull
Handle_GeomFill_EvolvedSection_Create = _GeomFill.Handle_GeomFill_EvolvedSection_Create
Handle_GeomFill_EvolvedSection_DownCast = _GeomFill.Handle_GeomFill_EvolvedSection_DownCast
Handle_GeomFill_EvolvedSection_IsNull = _GeomFill.Handle_GeomFill_EvolvedSection_IsNull
Handle_GeomFill_Fixed_Create = _GeomFill.Handle_GeomFill_Fixed_Create
Handle_GeomFill_Fixed_DownCast = _GeomFill.Handle_GeomFill_Fixed_DownCast
Handle_GeomFill_Fixed_IsNull = _GeomFill.Handle_GeomFill_Fixed_IsNull
Handle_GeomFill_Frenet_Create = _GeomFill.Handle_GeomFill_Frenet_Create
Handle_GeomFill_Frenet_DownCast = _GeomFill.Handle_GeomFill_Frenet_DownCast
Handle_GeomFill_Frenet_IsNull = _GeomFill.Handle_GeomFill_Frenet_IsNull
Handle_GeomFill_LocationDraft_Create = _GeomFill.Handle_GeomFill_LocationDraft_Create
Handle_GeomFill_LocationDraft_DownCast = _GeomFill.Handle_GeomFill_LocationDraft_DownCast
Handle_GeomFill_LocationDraft_IsNull = _GeomFill.Handle_GeomFill_LocationDraft_IsNull
Handle_GeomFill_LocationGuide_Create = _GeomFill.Handle_GeomFill_LocationGuide_Create
Handle_GeomFill_LocationGuide_DownCast = _GeomFill.Handle_GeomFill_LocationGuide_DownCast
Handle_GeomFill_LocationGuide_IsNull = _GeomFill.Handle_GeomFill_LocationGuide_IsNull
Handle_GeomFill_SimpleBound_Create = _GeomFill.Handle_GeomFill_SimpleBound_Create
Handle_GeomFill_SimpleBound_DownCast = _GeomFill.Handle_GeomFill_SimpleBound_DownCast
Handle_GeomFill_SimpleBound_IsNull = _GeomFill.Handle_GeomFill_SimpleBound_IsNull
Handle_GeomFill_TgtOnCoons_Create = _GeomFill.Handle_GeomFill_TgtOnCoons_Create
Handle_GeomFill_TgtOnCoons_DownCast = _GeomFill.Handle_GeomFill_TgtOnCoons_DownCast
Handle_GeomFill_TgtOnCoons_IsNull = _GeomFill.Handle_GeomFill_TgtOnCoons_IsNull
Handle_GeomFill_TrihedronWithGuide_Create = _GeomFill.Handle_GeomFill_TrihedronWithGuide_Create
Handle_GeomFill_TrihedronWithGuide_DownCast = _GeomFill.Handle_GeomFill_TrihedronWithGuide_DownCast
Handle_GeomFill_TrihedronWithGuide_IsNull = _GeomFill.Handle_GeomFill_TrihedronWithGuide_IsNull
Handle_GeomFill_UniformSection_Create = _GeomFill.Handle_GeomFill_UniformSection_Create
Handle_GeomFill_UniformSection_DownCast = _GeomFill.Handle_GeomFill_UniformSection_DownCast
Handle_GeomFill_UniformSection_IsNull = _GeomFill.Handle_GeomFill_UniformSection_IsNull
Handle_GeomFill_GuideTrihedronAC_Create = _GeomFill.Handle_GeomFill_GuideTrihedronAC_Create
Handle_GeomFill_GuideTrihedronAC_DownCast = _GeomFill.Handle_GeomFill_GuideTrihedronAC_DownCast
Handle_GeomFill_GuideTrihedronAC_IsNull = _GeomFill.Handle_GeomFill_GuideTrihedronAC_IsNull
Handle_GeomFill_GuideTrihedronPlan_Create = _GeomFill.Handle_GeomFill_GuideTrihedronPlan_Create
Handle_GeomFill_GuideTrihedronPlan_DownCast = _GeomFill.Handle_GeomFill_GuideTrihedronPlan_DownCast
Handle_GeomFill_GuideTrihedronPlan_IsNull = _GeomFill.Handle_GeomFill_GuideTrihedronPlan_IsNull
Handle_GeomFill_HArray1OfLocationLaw_Create = _GeomFill.Handle_GeomFill_HArray1OfLocationLaw_Create
Handle_GeomFill_HArray1OfLocationLaw_DownCast = _GeomFill.Handle_GeomFill_HArray1OfLocationLaw_DownCast
Handle_GeomFill_HArray1OfLocationLaw_IsNull = _GeomFill.Handle_GeomFill_HArray1OfLocationLaw_IsNull
Handle_GeomFill_HArray1OfSectionLaw_Create = _GeomFill.Handle_GeomFill_HArray1OfSectionLaw_Create
Handle_GeomFill_HArray1OfSectionLaw_DownCast = _GeomFill.Handle_GeomFill_HArray1OfSectionLaw_DownCast
Handle_GeomFill_HArray1OfSectionLaw_IsNull = _GeomFill.Handle_GeomFill_HArray1OfSectionLaw_IsNull
Handle_GeomFill_HSequenceOfAx2_Create = _GeomFill.Handle_GeomFill_HSequenceOfAx2_Create
Handle_GeomFill_HSequenceOfAx2_DownCast = _GeomFill.Handle_GeomFill_HSequenceOfAx2_DownCast
Handle_GeomFill_HSequenceOfAx2_IsNull = _GeomFill.Handle_GeomFill_HSequenceOfAx2_IsNull
class GeomFill_SequenceOfTrsf(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_begin)
    end = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_end)
    cbegin = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_cbegin)
    cend = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_cend)

    def __init__(self, *args):
        _GeomFill.GeomFill_SequenceOfTrsf_swiginit(self, _GeomFill.new_GeomFill_SequenceOfTrsf(*args))
    Size = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_Size)
    Length = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_Length)
    Lower = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_Lower)
    Upper = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_Upper)
    IsEmpty = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_IsEmpty)
    Reverse = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_Reverse)
    Exchange = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_Exchange)
    delNode = _swig_new_static_method(_GeomFill.GeomFill_SequenceOfTrsf_delNode)
    Clear = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_Clear)
    Assign = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_Assign)
    Set = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_Set)
    Remove = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_Remove)
    Append = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_Append)
    Prepend = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_Prepend)
    InsertBefore = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_InsertBefore)
    InsertAfter = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_InsertAfter)
    Split = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_Split)
    First = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_First)
    ChangeFirst = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_ChangeFirst)
    Last = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_Last)
    ChangeLast = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_ChangeLast)
    Value = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_Value)
    ChangeValue = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_ChangeValue)
    __call__ = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf___call__)
    SetValue = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfTrsf_SetValue)
    __swig_destroy__ = _GeomFill.delete_GeomFill_SequenceOfTrsf

# Register GeomFill_SequenceOfTrsf in _GeomFill:
_GeomFill.GeomFill_SequenceOfTrsf_swigregister(GeomFill_SequenceOfTrsf)
GeomFill_SequenceOfTrsf_delNode = _GeomFill.GeomFill_SequenceOfTrsf_delNode

class GeomFill_Array1OfLocationLaw(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_begin)
    end = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_end)
    cbegin = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_cbegin)
    cend = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_cend)

    def __init__(self, *args):
        _GeomFill.GeomFill_Array1OfLocationLaw_swiginit(self, _GeomFill.new_GeomFill_Array1OfLocationLaw(*args))
    Init = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_Init)
    Size = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_Size)
    Length = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_Length)
    IsEmpty = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_IsEmpty)
    Lower = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_Lower)
    Upper = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_Upper)
    IsDeletable = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_IsDeletable)
    IsAllocated = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_IsAllocated)
    Assign = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_Assign)
    Move = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_Move)
    Set = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_Set)
    First = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_First)
    ChangeFirst = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_ChangeFirst)
    Last = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_Last)
    ChangeLast = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_ChangeLast)
    Value = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_Value)
    ChangeValue = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_ChangeValue)
    __call__ = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw___call__)
    SetValue = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_SetValue)
    Resize = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfLocationLaw_Resize)
    __swig_destroy__ = _GeomFill.delete_GeomFill_Array1OfLocationLaw

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

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

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

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

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

    __next__ = next


# Register GeomFill_Array1OfLocationLaw in _GeomFill:
_GeomFill.GeomFill_Array1OfLocationLaw_swigregister(GeomFill_Array1OfLocationLaw)

class GeomFill_Array1OfSectionLaw(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_begin)
    end = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_end)
    cbegin = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_cbegin)
    cend = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_cend)

    def __init__(self, *args):
        _GeomFill.GeomFill_Array1OfSectionLaw_swiginit(self, _GeomFill.new_GeomFill_Array1OfSectionLaw(*args))
    Init = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_Init)
    Size = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_Size)
    Length = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_Length)
    IsEmpty = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_IsEmpty)
    Lower = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_Lower)
    Upper = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_Upper)
    IsDeletable = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_IsDeletable)
    IsAllocated = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_IsAllocated)
    Assign = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_Assign)
    Move = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_Move)
    Set = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_Set)
    First = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_First)
    ChangeFirst = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_ChangeFirst)
    Last = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_Last)
    ChangeLast = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_ChangeLast)
    Value = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_Value)
    ChangeValue = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_ChangeValue)
    __call__ = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw___call__)
    SetValue = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_SetValue)
    Resize = _swig_new_instance_method(_GeomFill.GeomFill_Array1OfSectionLaw_Resize)
    __swig_destroy__ = _GeomFill.delete_GeomFill_Array1OfSectionLaw

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

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

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

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

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

    __next__ = next


# Register GeomFill_Array1OfSectionLaw in _GeomFill:
_GeomFill.GeomFill_Array1OfSectionLaw_swigregister(GeomFill_Array1OfSectionLaw)

class GeomFill_SequenceOfAx2(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_begin)
    end = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_end)
    cbegin = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_cbegin)
    cend = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_cend)

    def __init__(self, *args):
        _GeomFill.GeomFill_SequenceOfAx2_swiginit(self, _GeomFill.new_GeomFill_SequenceOfAx2(*args))
    Size = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_Size)
    Length = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_Length)
    Lower = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_Lower)
    Upper = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_Upper)
    IsEmpty = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_IsEmpty)
    Reverse = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_Reverse)
    Exchange = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_Exchange)
    delNode = _swig_new_static_method(_GeomFill.GeomFill_SequenceOfAx2_delNode)
    Clear = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_Clear)
    Assign = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_Assign)
    Set = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_Set)
    Remove = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_Remove)
    Append = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_Append)
    Prepend = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_Prepend)
    InsertBefore = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_InsertBefore)
    InsertAfter = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_InsertAfter)
    Split = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_Split)
    First = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_First)
    ChangeFirst = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_ChangeFirst)
    Last = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_Last)
    ChangeLast = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_ChangeLast)
    Value = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_Value)
    ChangeValue = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_ChangeValue)
    __call__ = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2___call__)
    SetValue = _swig_new_instance_method(_GeomFill.GeomFill_SequenceOfAx2_SetValue)
    __swig_destroy__ = _GeomFill.delete_GeomFill_SequenceOfAx2

# Register GeomFill_SequenceOfAx2 in _GeomFill:
_GeomFill.GeomFill_SequenceOfAx2_swigregister(GeomFill_SequenceOfAx2)
GeomFill_SequenceOfAx2_delNode = _GeomFill.GeomFill_SequenceOfAx2_delNode

class geomfill(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    GetCircle = _swig_new_static_method(_GeomFill.geomfill_GetCircle)
    GetMinimalWeights = _swig_new_static_method(_GeomFill.geomfill_GetMinimalWeights)
    GetShape = _swig_new_static_method(_GeomFill.geomfill_GetShape)
    GetTolerance = _swig_new_static_method(_GeomFill.geomfill_GetTolerance)
    Knots = _swig_new_static_method(_GeomFill.geomfill_Knots)
    Mults = _swig_new_static_method(_GeomFill.geomfill_Mults)
    Surface = _swig_new_static_method(_GeomFill.geomfill_Surface)

    __repr__ = _dumps_object


    def __init__(self):
        _GeomFill.geomfill_swiginit(self, _GeomFill.new_geomfill())
    __swig_destroy__ = _GeomFill.delete_geomfill

# Register geomfill in _GeomFill:
_GeomFill.geomfill_swigregister(geomfill)
geomfill_GetCircle = _GeomFill.geomfill_GetCircle
geomfill_GetMinimalWeights = _GeomFill.geomfill_GetMinimalWeights
geomfill_GetShape = _GeomFill.geomfill_GetShape
geomfill_GetTolerance = _GeomFill.geomfill_GetTolerance
geomfill_Knots = _GeomFill.geomfill_Knots
geomfill_Mults = _GeomFill.geomfill_Mults
geomfill_Surface = _GeomFill.geomfill_Surface

class GeomFill_AppSurf(OCC.Core.AppBlend.AppBlend_Approx):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Continuity = _swig_new_instance_method(_GeomFill.GeomFill_AppSurf_Continuity)
    CriteriumWeight = _swig_new_instance_method(_GeomFill.GeomFill_AppSurf_CriteriumWeight)

    def __init__(self, *args):
        r"""
        :rtype: None:param Degmin:
        	:type Degmin: int
        	:param Degmax:
        	:type Degmax: int
        	:param Tol3d:
        	:type Tol3d: float
        	:param Tol2d:
        	:type Tol2d: float
        	:param NbIt:
        	:type NbIt: int
        	:param KnownParameters: default value is Standard_False
        	:type KnownParameters: bool
        	:rtype: None
        """
        _GeomFill.GeomFill_AppSurf_swiginit(self, _GeomFill.new_GeomFill_AppSurf(*args))
    Init = _swig_new_instance_method(_GeomFill.GeomFill_AppSurf_Init)
    ParType = _swig_new_instance_method(_GeomFill.GeomFill_AppSurf_ParType)
    Perform = _swig_new_instance_method(_GeomFill.GeomFill_AppSurf_Perform)
    PerformSmoothing = _swig_new_instance_method(_GeomFill.GeomFill_AppSurf_PerformSmoothing)
    SetContinuity = _swig_new_instance_method(_GeomFill.GeomFill_AppSurf_SetContinuity)
    SetCriteriumWeight = _swig_new_instance_method(_GeomFill.GeomFill_AppSurf_SetCriteriumWeight)
    SetParType = _swig_new_instance_method(_GeomFill.GeomFill_AppSurf_SetParType)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_AppSurf

# Register GeomFill_AppSurf in _GeomFill:
_GeomFill.GeomFill_AppSurf_swigregister(GeomFill_AppSurf)

class GeomFill_AppSweep(OCC.Core.AppBlend.AppBlend_Approx):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Continuity = _swig_new_instance_method(_GeomFill.GeomFill_AppSweep_Continuity)
    CriteriumWeight = _swig_new_instance_method(_GeomFill.GeomFill_AppSweep_CriteriumWeight)

    def __init__(self, *args):
        r"""
        :rtype: None:param Degmin:
        	:type Degmin: int
        	:param Degmax:
        	:type Degmax: int
        	:param Tol3d:
        	:type Tol3d: float
        	:param Tol2d:
        	:type Tol2d: float
        	:param NbIt:
        	:type NbIt: int
        	:param KnownParameters: default value is Standard_False
        	:type KnownParameters: bool
        	:rtype: None
        """
        _GeomFill.GeomFill_AppSweep_swiginit(self, _GeomFill.new_GeomFill_AppSweep(*args))
    Init = _swig_new_instance_method(_GeomFill.GeomFill_AppSweep_Init)
    ParType = _swig_new_instance_method(_GeomFill.GeomFill_AppSweep_ParType)
    Perform = _swig_new_instance_method(_GeomFill.GeomFill_AppSweep_Perform)
    PerformSmoothing = _swig_new_instance_method(_GeomFill.GeomFill_AppSweep_PerformSmoothing)
    SetContinuity = _swig_new_instance_method(_GeomFill.GeomFill_AppSweep_SetContinuity)
    SetCriteriumWeight = _swig_new_instance_method(_GeomFill.GeomFill_AppSweep_SetCriteriumWeight)
    SetParType = _swig_new_instance_method(_GeomFill.GeomFill_AppSweep_SetParType)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_AppSweep

# Register GeomFill_AppSweep in _GeomFill:
_GeomFill.GeomFill_AppSweep_swigregister(GeomFill_AppSweep)

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

    def __init__(self, *args):
        r"""
        * Constructs a default BSpline surface framework.
        	:rtype: None:param C1:
        	:type C1: Geom_BSplineCurve
        	:param C2:
        	:type C2: Geom_BSplineCurve
        	:param C3:
        	:type C3: Geom_BSplineCurve
        	:param C4:
        	:type C4: Geom_BSplineCurve
        	:param Type:
        	:type Type: GeomFill_FillingStyle
        	:rtype: None:param C1:
        	:type C1: Geom_BSplineCurve
        	:param C2:
        	:type C2: Geom_BSplineCurve
        	:param C3:
        	:type C3: Geom_BSplineCurve
        	:param Type:
        	:type Type: GeomFill_FillingStyle
        	:rtype: None* Constructs a framework for building a BSpline surface from either - the four contiguous BSpline curves, C1, C2, C3 and C4, or - the three contiguous BSpline curves, C1, C2 and C3, or - the two contiguous BSpline curves, C1 and C2. The type of filling style Type to be used is one of: - GeomFill_Stretch - the style with the flattest patch - GeomFill_Coons - a rounded style of patch with less depth than that of Curved - GeomFill_Curved - the style with the most rounded patch.Constructs a framework for building a BSpline surface common to the two BSpline curves, C1 and C2. Exceptions Standard_ConstructionError if the curves are not contiguous.
        	:param C1:
        	:type C1: Geom_BSplineCurve
        	:param C2:
        	:type C2: Geom_BSplineCurve
        	:param Type:
        	:type Type: GeomFill_FillingStyle
        	:rtype: None
        """
        _GeomFill.GeomFill_BSplineCurves_swiginit(self, _GeomFill.new_GeomFill_BSplineCurves(*args))
    Init = _swig_new_instance_method(_GeomFill.GeomFill_BSplineCurves_Init)
    Surface = _swig_new_instance_method(_GeomFill.GeomFill_BSplineCurves_Surface)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_BSplineCurves

# Register GeomFill_BSplineCurves in _GeomFill:
_GeomFill.GeomFill_BSplineCurves_swigregister(GeomFill_BSplineCurves)

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

    def __init__(self, *args):
        r"""
        * Constructs an empty framework for building a Bezier surface from contiguous Bezier curves. You use the Init function to define the boundaries of the surface.
        	:rtype: None* Constructs a framework for building a Bezier surface from the four contiguous Bezier curves, C1, C2, C3 and C4 Raises Standard_ConstructionError if the curves are not contiguous.
        	:param C1:
        	:type C1: Geom_BezierCurve
        	:param C2:
        	:type C2: Geom_BezierCurve
        	:param C3:
        	:type C3: Geom_BezierCurve
        	:param C4:
        	:type C4: Geom_BezierCurve
        	:param Type:
        	:type Type: GeomFill_FillingStyle
        	:rtype: None* Constructs a framework for building a Bezier surface from the three contiguous Bezier curves, C1, C2 and C3 Raises Standard_ConstructionError if the curves are not contiguous.
        	:param C1:
        	:type C1: Geom_BezierCurve
        	:param C2:
        	:type C2: Geom_BezierCurve
        	:param C3:
        	:type C3: Geom_BezierCurve
        	:param Type:
        	:type Type: GeomFill_FillingStyle
        	:rtype: None* Constructs a framework for building a Bezier surface from the two contiguous Bezier curves, C1 and C2 Raises Standard_ConstructionError if the curves are not contiguous.
        	:param C1:
        	:type C1: Geom_BezierCurve
        	:param C2:
        	:type C2: Geom_BezierCurve
        	:param Type:
        	:type Type: GeomFill_FillingStyle
        	:rtype: None
        """
        _GeomFill.GeomFill_BezierCurves_swiginit(self, _GeomFill.new_GeomFill_BezierCurves(*args))
    Init = _swig_new_instance_method(_GeomFill.GeomFill_BezierCurves_Init)
    Surface = _swig_new_instance_method(_GeomFill.GeomFill_BezierCurves_Surface)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_BezierCurves

# Register GeomFill_BezierCurves in _GeomFill:
_GeomFill.GeomFill_BezierCurves_swigregister(GeomFill_BezierCurves)

class GeomFill_Boundary(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
    Bounds = _swig_new_instance_method(_GeomFill.GeomFill_Boundary_Bounds)
    D1 = _swig_new_instance_method(_GeomFill.GeomFill_Boundary_D1)
    D1Norm = _swig_new_instance_method(_GeomFill.GeomFill_Boundary_D1Norm)
    HasNormals = _swig_new_instance_method(_GeomFill.GeomFill_Boundary_HasNormals)
    IsDegenerated = _swig_new_instance_method(_GeomFill.GeomFill_Boundary_IsDegenerated)
    Norm = _swig_new_instance_method(_GeomFill.GeomFill_Boundary_Norm)
    Points = _swig_new_instance_method(_GeomFill.GeomFill_Boundary_Points)
    Reparametrize = _swig_new_instance_method(_GeomFill.GeomFill_Boundary_Reparametrize)
    Tol3d = _swig_new_instance_method(_GeomFill.GeomFill_Boundary_Tol3d)
    Tolang = _swig_new_instance_method(_GeomFill.GeomFill_Boundary_Tolang)
    Value = _swig_new_instance_method(_GeomFill.GeomFill_Boundary_Value)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_Boundary

# Register GeomFill_Boundary in _GeomFill:
_GeomFill.GeomFill_Boundary_swigregister(GeomFill_Boundary)

class GeomFill_CircularBlendFunc(OCC.Core.Approx.Approx_SweepFunction):
    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 Blend with a constant radius with 2 guide-line. <FShape> sets the type of fillet surface. The -- default value is Convert_TgtThetaOver2 (classical -- nurbs -- representation of circles). ChFi3d_QuasiAngular -- corresponds to a nurbs representation of circles -- which parameterisation matches the circle one. -- ChFi3d_Polynomial corresponds to a polynomial -- representation of circles.
        	:param Path:
        	:type Path: Adaptor3d_HCurve
        	:param Curve1:
        	:type Curve1: Adaptor3d_HCurve
        	:param Curve2:
        	:type Curve2: Adaptor3d_HCurve
        	:param Radius:
        	:type Radius: float
        	:param Polynomial: default value is Standard_False
        	:type Polynomial: bool
        	:rtype: None
        """
        _GeomFill.GeomFill_CircularBlendFunc_swiginit(self, _GeomFill.new_GeomFill_CircularBlendFunc(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_CircularBlendFunc

# Register GeomFill_CircularBlendFunc in _GeomFill:
_GeomFill.GeomFill_CircularBlendFunc_swigregister(GeomFill_CircularBlendFunc)

class GeomFill_ConstrainedFilling(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Boundary = _swig_new_instance_method(_GeomFill.GeomFill_ConstrainedFilling_Boundary)
    CheckApprox = _swig_new_instance_method(_GeomFill.GeomFill_ConstrainedFilling_CheckApprox)
    CheckCoonsAlgPatch = _swig_new_instance_method(_GeomFill.GeomFill_ConstrainedFilling_CheckCoonsAlgPatch)
    CheckResult = _swig_new_instance_method(_GeomFill.GeomFill_ConstrainedFilling_CheckResult)
    CheckTgteField = _swig_new_instance_method(_GeomFill.GeomFill_ConstrainedFilling_CheckTgteField)
    Eval = _swig_new_instance_method(_GeomFill.GeomFill_ConstrainedFilling_Eval)

    def __init__(self, *args):
        r"""
        * Constructs an empty framework for filling a surface from boundaries. The boundaries of the surface will be defined, and the surface will be built by using the function Init. The surface will respect the following constraints: - its degree will not be greater than MaxDeg - the maximum number of segments MaxSeg which BSpline surfaces can have.
        	:param MaxDeg:
        	:type MaxDeg: int
        	:param MaxSeg:
        	:type MaxSeg: int
        	:rtype: None
        """
        _GeomFill.GeomFill_ConstrainedFilling_swiginit(self, _GeomFill.new_GeomFill_ConstrainedFilling(*args))
    Init = _swig_new_instance_method(_GeomFill.GeomFill_ConstrainedFilling_Init)
    ReBuild = _swig_new_instance_method(_GeomFill.GeomFill_ConstrainedFilling_ReBuild)
    SetDomain = _swig_new_instance_method(_GeomFill.GeomFill_ConstrainedFilling_SetDomain)
    Surface = _swig_new_instance_method(_GeomFill.GeomFill_ConstrainedFilling_Surface)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_ConstrainedFilling

# Register GeomFill_ConstrainedFilling in _GeomFill:
_GeomFill.GeomFill_ConstrainedFilling_swigregister(GeomFill_ConstrainedFilling)

class GeomFill_CoonsAlgPatch(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
    Bound = _swig_new_instance_method(_GeomFill.GeomFill_CoonsAlgPatch_Bound)
    Corner = _swig_new_instance_method(_GeomFill.GeomFill_CoonsAlgPatch_Corner)
    D1U = _swig_new_instance_method(_GeomFill.GeomFill_CoonsAlgPatch_D1U)
    D1V = _swig_new_instance_method(_GeomFill.GeomFill_CoonsAlgPatch_D1V)
    DUV = _swig_new_instance_method(_GeomFill.GeomFill_CoonsAlgPatch_DUV)
    Func = _swig_new_instance_method(_GeomFill.GeomFill_CoonsAlgPatch_Func)

    def __init__(self, *args):
        r"""
        * Constructs the algorithmic patch. By Default the constructed blending functions are linear. Warning: No control is done on the bounds. B1/B3 and B2/B4 must be same range and well oriented.
        	:param B1:
        	:type B1: GeomFill_Boundary
        	:param B2:
        	:type B2: GeomFill_Boundary
        	:param B3:
        	:type B3: GeomFill_Boundary
        	:param B4:
        	:type B4: GeomFill_Boundary
        	:rtype: None
        """
        _GeomFill.GeomFill_CoonsAlgPatch_swiginit(self, _GeomFill.new_GeomFill_CoonsAlgPatch(*args))
    SetFunc = _swig_new_instance_method(_GeomFill.GeomFill_CoonsAlgPatch_SetFunc)
    Value = _swig_new_instance_method(_GeomFill.GeomFill_CoonsAlgPatch_Value)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_CoonsAlgPatch

# Register GeomFill_CoonsAlgPatch in _GeomFill:
_GeomFill.GeomFill_CoonsAlgPatch_swigregister(GeomFill_CoonsAlgPatch)

class GeomFill_CornerState(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Constraint = _swig_new_instance_method(_GeomFill.GeomFill_CornerState_Constraint)
    DoKill = _swig_new_instance_method(_GeomFill.GeomFill_CornerState_DoKill)
    Gap = _swig_new_instance_method(_GeomFill.GeomFill_CornerState_Gap)

    def __init__(self, *args):
        r""":rtype: None"""
        _GeomFill.GeomFill_CornerState_swiginit(self, _GeomFill.new_GeomFill_CornerState(*args))
    HasConstraint = _swig_new_instance_method(_GeomFill.GeomFill_CornerState_HasConstraint)
    IsToKill = _swig_new_instance_method(_GeomFill.GeomFill_CornerState_IsToKill)
    NorAng = _swig_new_instance_method(_GeomFill.GeomFill_CornerState_NorAng)
    TgtAng = _swig_new_instance_method(_GeomFill.GeomFill_CornerState_TgtAng)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_CornerState

# Register GeomFill_CornerState in _GeomFill:
_GeomFill.GeomFill_CornerState_swigregister(GeomFill_CornerState)

class GeomFill_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""":rtype: None"""
        _GeomFill.GeomFill_Filling_swiginit(self, _GeomFill.new_GeomFill_Filling(*args))
    NbUPoles = _swig_new_instance_method(_GeomFill.GeomFill_Filling_NbUPoles)
    NbVPoles = _swig_new_instance_method(_GeomFill.GeomFill_Filling_NbVPoles)
    Poles = _swig_new_instance_method(_GeomFill.GeomFill_Filling_Poles)
    Weights = _swig_new_instance_method(_GeomFill.GeomFill_Filling_Weights)
    isRational = _swig_new_instance_method(_GeomFill.GeomFill_Filling_isRational)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_Filling

# Register GeomFill_Filling in _GeomFill:
_GeomFill.GeomFill_Filling_swigregister(GeomFill_Filling)

class GeomFill_FunctionDraft(OCC.Core.math.math_FunctionSetWithDerivatives):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Deriv2T = _swig_new_instance_method(_GeomFill.GeomFill_FunctionDraft_Deriv2T)
    Deriv2X = _swig_new_instance_method(_GeomFill.GeomFill_FunctionDraft_Deriv2X)
    DerivT = _swig_new_instance_method(_GeomFill.GeomFill_FunctionDraft_DerivT)
    DerivTX = _swig_new_instance_method(_GeomFill.GeomFill_FunctionDraft_DerivTX)

    def __init__(self, *args):
        r"""
        :param S:
        	:type S: Adaptor3d_HSurface
        	:param C:
        	:type C: Adaptor3d_HCurve
        	:rtype: None
        """
        _GeomFill.GeomFill_FunctionDraft_swiginit(self, _GeomFill.new_GeomFill_FunctionDraft(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_FunctionDraft

# Register GeomFill_FunctionDraft in _GeomFill:
_GeomFill.GeomFill_FunctionDraft_swigregister(GeomFill_FunctionDraft)

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

    def __init__(self, *args):
        r"""
        :param S:
        	:type S: GeomFill_SectionLaw
        	:param Guide:
        	:type Guide: Adaptor3d_HCurve
        	:param ParamOnLaw: default value is 0.0
        	:type ParamOnLaw: float
        	:rtype: None
        """
        _GeomFill.GeomFill_FunctionGuide_swiginit(self, _GeomFill.new_GeomFill_FunctionGuide(*args))
    SetParam = _swig_new_instance_method(_GeomFill.GeomFill_FunctionGuide_SetParam)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_FunctionGuide

# Register GeomFill_FunctionGuide in _GeomFill:
_GeomFill.GeomFill_FunctionGuide_swigregister(GeomFill_FunctionGuide)

class GeomFill_Line(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"""
        :rtype: None:param NbPoints:
        	:type NbPoints: int
        	:rtype: None
        """
        _GeomFill.GeomFill_Line_swiginit(self, _GeomFill.new_GeomFill_Line(*args))
    NbPoints = _swig_new_instance_method(_GeomFill.GeomFill_Line_NbPoints)
    Point = _swig_new_instance_method(_GeomFill.GeomFill_Line_Point)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_Line

# Register GeomFill_Line in _GeomFill:
_GeomFill.GeomFill_Line_swigregister(GeomFill_Line)

class GeomFill_LocFunction(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    D0 = _swig_new_instance_method(_GeomFill.GeomFill_LocFunction_D0)
    D1 = _swig_new_instance_method(_GeomFill.GeomFill_LocFunction_D1)
    D2 = _swig_new_instance_method(_GeomFill.GeomFill_LocFunction_D2)
    DN = _swig_new_instance_method(_GeomFill.GeomFill_LocFunction_DN)

    def __init__(self, *args):
        r"""
        :param Law:
        	:type Law: GeomFill_LocationLaw
        	:rtype: None
        """
        _GeomFill.GeomFill_LocFunction_swiginit(self, _GeomFill.new_GeomFill_LocFunction(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_LocFunction

# Register GeomFill_LocFunction in _GeomFill:
_GeomFill.GeomFill_LocFunction_swigregister(GeomFill_LocFunction)

class GeomFill_LocationLaw(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
    Copy = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_Copy)
    D0 = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_D0)
    D1 = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_D1)
    D2 = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_D2)
    ErrorStatus = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_ErrorStatus)
    GetAverageLaw = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_GetAverageLaw)
    GetCurve = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_GetCurve)
    GetDomain = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_GetDomain)
    GetInterval = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_GetInterval)
    GetMaximalNorm = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_GetMaximalNorm)
    HasFirstRestriction = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_HasFirstRestriction)
    HasLastRestriction = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_HasLastRestriction)
    Intervals = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_Intervals)
    IsRotation = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_IsRotation)
    IsTranslation = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_IsTranslation)
    Nb2dCurves = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_Nb2dCurves)
    NbIntervals = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_NbIntervals)
    Resolution = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_Resolution)
    Rotation = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_Rotation)
    SetCurve = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_SetCurve)
    SetInterval = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_SetInterval)
    SetTolerance = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_SetTolerance)
    SetTrsf = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_SetTrsf)
    TraceNumber = _swig_new_instance_method(_GeomFill.GeomFill_LocationLaw_TraceNumber)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_LocationLaw

# Register GeomFill_LocationLaw in _GeomFill:
_GeomFill.GeomFill_LocationLaw_swigregister(GeomFill_LocationLaw)

class GeomFill_Pipe(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    ErrorOnSurf = _swig_new_instance_method(_GeomFill.GeomFill_Pipe_ErrorOnSurf)
    ExchangeUV = _swig_new_instance_method(_GeomFill.GeomFill_Pipe_ExchangeUV)
    GenerateParticularCase = _swig_new_instance_method(_GeomFill.GeomFill_Pipe_GenerateParticularCase)

    def __init__(self, *args):
        r"""
        * Constructs an empty algorithm for building pipes. Use the function Init to initialize it.
        	:rtype: None:param Path:
        	:type Path: Geom_Curve
        	:param Radius:
        	:type Radius: float
        	:rtype: None* Create a pipe with a constant section (<FirstSection>) and a path (<Path>) Option can be - GeomFill_IsCorrectedFrenet - GeomFill_IsFrenet - GeomFill_IsConstant
        	:param Path:
        	:type Path: Geom_Curve
        	:param FirstSect:
        	:type FirstSect: Geom_Curve
        	:param Option: default value is GeomFill_IsCorrectedFrenet
        	:type Option: GeomFill_Trihedron
        	:rtype: None* Create a pipe with a constant section (<FirstSection>) and a path defined by <Path> and <Support>
        	:param Path:
        	:type Path: Geom2d_Curve
        	:param Support:
        	:type Support: Geom_Surface
        	:param FirstSect:
        	:type FirstSect: Geom_Curve
        	:rtype: None* Create a pipe with a constant section (<FirstSection>) and a path <Path> and a fixed binormal direction <Dir>
        	:param Path:
        	:type Path: Geom_Curve
        	:param FirstSect:
        	:type FirstSect: Geom_Curve
        	:param Dir:
        	:type Dir: gp_Dir
        	:rtype: None* Create a pipe with an evolving section The section evoluate from First to Last Section
        	:param Path:
        	:type Path: Geom_Curve
        	:param FirstSect:
        	:type FirstSect: Geom_Curve
        	:param LastSect:
        	:type LastSect: Geom_Curve
        	:rtype: None* Create a pipe with N sections The section evoluate from First to Last Section
        	:param Path:
        	:type Path: Geom_Curve
        	:param NSections:
        	:type NSections: TColGeom_SequenceOfCurve
        	:rtype: None* Create a pipe with a constant radius with 2 guide-line.
        	:param Path:
        	:type Path: Geom_Curve
        	:param Curve1:
        	:type Curve1: Geom_Curve
        	:param Curve2:
        	:type Curve2: Geom_Curve
        	:param Radius:
        	:type Radius: float
        	:rtype: None* Create a pipe with a constant radius with 2 guide-line.
        	:param Path:
        	:type Path: Adaptor3d_HCurve
        	:param Curve1:
        	:type Curve1: Adaptor3d_HCurve
        	:param Curve2:
        	:type Curve2: Adaptor3d_HCurve
        	:param Radius:
        	:type Radius: float
        	:rtype: None* Create a pipe with a constant section and with 1 guide-line. Use the function Perform to build the surface. All standard specific cases are detected in order to construct, according to the respective geometric nature of Path and the sections, a planar, cylindrical, conical, spherical or toroidal surface, a surface of linear extrusion or a surface of revolution. In the general case, the result is a BSpline surface (NURBS) built by approximation of a series of sections where: - the number of sections N is chosen automatically by the algorithm according to the respective geometries of Path and the sections. N is greater than or equal to 2; - N points Pi (with i in the range [ 1,N ]) are defined at regular intervals along the curve Path from its first point to its end point. At each point Pi, a coordinate system Ti is computed with Pi as origin, and with the tangential and normal vectors to Path defining two of its coordinate axes. In the case of a pipe with a constant circular section, the first section is a circle of radius Radius centered on the origin of Path and whose 'Z Axis' is aligned along the vector tangential to the origin of Path. In the case of a pipe with a constant section, the first section is the curve FirstSect. In these two cases, the ith section (for values of i greater than 1) is obtained by applying to a copy of this first section the geometric transformation which transforms coordinate system T1 into coordinate system Ti. In the case of an evolving section, N-2 intermediate curves Si are first computed (if N is greater than 2, and with i in the range [ 2,N-1 ]) whose geometry evolves regularly from the curve S1=FirstSect to the curve SN=LastSect. The first section is FirstSect, and the ith section (for values of i greater than 1) is obtained by applying to the curve Si the geometric transformation which transforms coordinate system T1 into coordinate system Ti.
        	:param Path:
        	:type Path: Geom_Curve
        	:param Guide:
        	:type Guide: Adaptor3d_HCurve
        	:param FirstSect:
        	:type FirstSect: Geom_Curve
        	:param ByACR:
        	:type ByACR: bool
        	:param rotat:
        	:type rotat: bool
        	:rtype: None
        """
        _GeomFill.GeomFill_Pipe_swiginit(self, _GeomFill.new_GeomFill_Pipe(*args))
    Init = _swig_new_instance_method(_GeomFill.GeomFill_Pipe_Init)
    IsDone = _swig_new_instance_method(_GeomFill.GeomFill_Pipe_IsDone)
    Perform = _swig_new_instance_method(_GeomFill.GeomFill_Pipe_Perform)
    Surface = _swig_new_instance_method(_GeomFill.GeomFill_Pipe_Surface)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_Pipe

# Register GeomFill_Pipe in _GeomFill:
_GeomFill.GeomFill_Pipe_swigregister(GeomFill_Pipe)

class GeomFill_PlanFunc(OCC.Core.math.math_FunctionWithDerivative):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    D2 = _swig_new_instance_method(_GeomFill.GeomFill_PlanFunc_D2)
    D2E = _swig_new_instance_method(_GeomFill.GeomFill_PlanFunc_D2E)
    DEDT = _swig_new_instance_method(_GeomFill.GeomFill_PlanFunc_DEDT)

    def __init__(self, *args):
        r"""
        :param P:
        	:type P: gp_Pnt
        	:param V:
        	:type V: gp_Vec
        	:param C:
        	:type C: Adaptor3d_HCurve
        	:rtype: None
        """
        _GeomFill.GeomFill_PlanFunc_swiginit(self, _GeomFill.new_GeomFill_PlanFunc(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_PlanFunc

# Register GeomFill_PlanFunc in _GeomFill:
_GeomFill.GeomFill_PlanFunc_swigregister(GeomFill_PlanFunc)

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

    def __init__(self, *args):
        r""":rtype: None"""
        _GeomFill.GeomFill_PolynomialConvertor_swiginit(self, _GeomFill.new_GeomFill_PolynomialConvertor(*args))
    Init = _swig_new_instance_method(_GeomFill.GeomFill_PolynomialConvertor_Init)
    Initialized = _swig_new_instance_method(_GeomFill.GeomFill_PolynomialConvertor_Initialized)
    Section = _swig_new_instance_method(_GeomFill.GeomFill_PolynomialConvertor_Section)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_PolynomialConvertor

# Register GeomFill_PolynomialConvertor in _GeomFill:
_GeomFill.GeomFill_PolynomialConvertor_swigregister(GeomFill_PolynomialConvertor)

class GeomFill_Profiler(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AddCurve = _swig_new_instance_method(_GeomFill.GeomFill_Profiler_AddCurve)
    Curve = _swig_new_instance_method(_GeomFill.GeomFill_Profiler_Curve)
    Degree = _swig_new_instance_method(_GeomFill.GeomFill_Profiler_Degree)

    def __init__(self, *args):
        r""":rtype: None"""
        _GeomFill.GeomFill_Profiler_swiginit(self, _GeomFill.new_GeomFill_Profiler(*args))
    IsPeriodic = _swig_new_instance_method(_GeomFill.GeomFill_Profiler_IsPeriodic)
    KnotsAndMults = _swig_new_instance_method(_GeomFill.GeomFill_Profiler_KnotsAndMults)
    NbKnots = _swig_new_instance_method(_GeomFill.GeomFill_Profiler_NbKnots)
    NbPoles = _swig_new_instance_method(_GeomFill.GeomFill_Profiler_NbPoles)
    Perform = _swig_new_instance_method(_GeomFill.GeomFill_Profiler_Perform)
    Poles = _swig_new_instance_method(_GeomFill.GeomFill_Profiler_Poles)
    Weights = _swig_new_instance_method(_GeomFill.GeomFill_Profiler_Weights)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_Profiler

# Register GeomFill_Profiler in _GeomFill:
_GeomFill.GeomFill_Profiler_swigregister(GeomFill_Profiler)

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

    def __init__(self, *args):
        r""":rtype: None"""
        _GeomFill.GeomFill_QuasiAngularConvertor_swiginit(self, _GeomFill.new_GeomFill_QuasiAngularConvertor(*args))
    Init = _swig_new_instance_method(_GeomFill.GeomFill_QuasiAngularConvertor_Init)
    Initialized = _swig_new_instance_method(_GeomFill.GeomFill_QuasiAngularConvertor_Initialized)
    Section = _swig_new_instance_method(_GeomFill.GeomFill_QuasiAngularConvertor_Section)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_QuasiAngularConvertor

# Register GeomFill_QuasiAngularConvertor in _GeomFill:
_GeomFill.GeomFill_QuasiAngularConvertor_swigregister(GeomFill_QuasiAngularConvertor)

class GeomFill_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
    BSplineSurface = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_BSplineSurface)
    BarycentreOfSurf = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_BarycentreOfSurf)
    CirclSection = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_CirclSection)
    ConstantSection = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_ConstantSection)
    D0 = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_D0)
    D1 = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_D1)
    D2 = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_D2)
    GetDomain = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_GetDomain)
    GetInterval = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_GetInterval)
    GetMinimalWeight = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_GetMinimalWeight)
    GetTolerance = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_GetTolerance)
    Intervals = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_Intervals)
    IsConicalLaw = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_IsConicalLaw)
    IsConstant = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_IsConstant)
    IsRational = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_IsRational)
    IsUPeriodic = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_IsUPeriodic)
    IsVPeriodic = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_IsVPeriodic)
    Knots = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_Knots)
    MaximalSection = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_MaximalSection)
    Mults = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_Mults)
    NbIntervals = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_NbIntervals)
    SectionShape = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_SectionShape)
    SetInterval = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_SetInterval)
    SetTolerance = _swig_new_instance_method(_GeomFill.GeomFill_SectionLaw_SetTolerance)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_SectionLaw

# Register GeomFill_SectionLaw in _GeomFill:
_GeomFill.GeomFill_SectionLaw_swigregister(GeomFill_SectionLaw)

class GeomFill_SectionPlacement(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Angle = _swig_new_instance_method(_GeomFill.GeomFill_SectionPlacement_Angle)
    Distance = _swig_new_instance_method(_GeomFill.GeomFill_SectionPlacement_Distance)

    def __init__(self, *args):
        r"""
        :param L:
        	:type L: GeomFill_LocationLaw
        	:param Section:
        	:type Section: Geom_Geometry
        	:rtype: None
        """
        _GeomFill.GeomFill_SectionPlacement_swiginit(self, _GeomFill.new_GeomFill_SectionPlacement(*args))
    IsDone = _swig_new_instance_method(_GeomFill.GeomFill_SectionPlacement_IsDone)
    ModifiedSection = _swig_new_instance_method(_GeomFill.GeomFill_SectionPlacement_ModifiedSection)
    ParameterOnPath = _swig_new_instance_method(_GeomFill.GeomFill_SectionPlacement_ParameterOnPath)
    ParameterOnSection = _swig_new_instance_method(_GeomFill.GeomFill_SectionPlacement_ParameterOnSection)
    Perform = _swig_new_instance_method(_GeomFill.GeomFill_SectionPlacement_Perform)
    Section = _swig_new_instance_method(_GeomFill.GeomFill_SectionPlacement_Section)
    SetLocation = _swig_new_instance_method(_GeomFill.GeomFill_SectionPlacement_SetLocation)
    Transformation = _swig_new_instance_method(_GeomFill.GeomFill_SectionPlacement_Transformation)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_SectionPlacement

# Register GeomFill_SectionPlacement in _GeomFill:
_GeomFill.GeomFill_SectionPlacement_swigregister(GeomFill_SectionPlacement)

class GeomFill_SnglrFunc(OCC.Core.Adaptor3d.Adaptor3d_Curve):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        :param HC:
        	:type HC: Adaptor3d_HCurve
        	:rtype: None
        """
        _GeomFill.GeomFill_SnglrFunc_swiginit(self, _GeomFill.new_GeomFill_SnglrFunc(*args))
    SetRatio = _swig_new_instance_method(_GeomFill.GeomFill_SnglrFunc_SetRatio)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_SnglrFunc

# Register GeomFill_SnglrFunc in _GeomFill:
_GeomFill.GeomFill_SnglrFunc_swigregister(GeomFill_SnglrFunc)

class GeomFill_Sweep(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Build = _swig_new_instance_method(_GeomFill.GeomFill_Sweep_Build)
    ErrorOnRestriction = _swig_new_instance_method(_GeomFill.GeomFill_Sweep_ErrorOnRestriction)
    ErrorOnSurface = _swig_new_instance_method(_GeomFill.GeomFill_Sweep_ErrorOnSurface)
    ErrorOnTrace = _swig_new_instance_method(_GeomFill.GeomFill_Sweep_ErrorOnTrace)
    ExchangeUV = _swig_new_instance_method(_GeomFill.GeomFill_Sweep_ExchangeUV)

    def __init__(self, *args):
        r"""
        :param Location:
        	:type Location: GeomFill_LocationLaw
        	:param WithKpart: default value is Standard_True
        	:type WithKpart: bool
        	:rtype: None
        """
        _GeomFill.GeomFill_Sweep_swiginit(self, _GeomFill.new_GeomFill_Sweep(*args))
    IsDone = _swig_new_instance_method(_GeomFill.GeomFill_Sweep_IsDone)
    NumberOfTrace = _swig_new_instance_method(_GeomFill.GeomFill_Sweep_NumberOfTrace)
    Restriction = _swig_new_instance_method(_GeomFill.GeomFill_Sweep_Restriction)
    SetDomain = _swig_new_instance_method(_GeomFill.GeomFill_Sweep_SetDomain)
    SetForceApproxC1 = _swig_new_instance_method(_GeomFill.GeomFill_Sweep_SetForceApproxC1)
    SetTolerance = _swig_new_instance_method(_GeomFill.GeomFill_Sweep_SetTolerance)
    Surface = _swig_new_instance_method(_GeomFill.GeomFill_Sweep_Surface)
    Trace = _swig_new_instance_method(_GeomFill.GeomFill_Sweep_Trace)
    UReversed = _swig_new_instance_method(_GeomFill.GeomFill_Sweep_UReversed)
    VReversed = _swig_new_instance_method(_GeomFill.GeomFill_Sweep_VReversed)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_Sweep

# Register GeomFill_Sweep in _GeomFill:
_GeomFill.GeomFill_Sweep_swigregister(GeomFill_Sweep)

class GeomFill_SweepFunction(OCC.Core.Approx.Approx_SweepFunction):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        :param Section:
        	:type Section: GeomFill_SectionLaw
        	:param Location:
        	:type Location: GeomFill_LocationLaw
        	:param FirstParameter:
        	:type FirstParameter: float
        	:param FirstParameterOnS:
        	:type FirstParameterOnS: float
        	:param RatioParameterOnS:
        	:type RatioParameterOnS: float
        	:rtype: None
        """
        _GeomFill.GeomFill_SweepFunction_swiginit(self, _GeomFill.new_GeomFill_SweepFunction(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_SweepFunction

# Register GeomFill_SweepFunction in _GeomFill:
_GeomFill.GeomFill_SweepFunction_swigregister(GeomFill_SweepFunction)

class GeomFill_Tensor(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    GetChangeValue = _swig_new_instance_method(_GeomFill.GeomFill_Tensor_GetChangeValue)
    SetChangeValue = _swig_new_instance_method(_GeomFill.GeomFill_Tensor_SetChangeValue)

    def __init__(self, *args):
        r"""
        :param NbRow:
        	:type NbRow: int
        	:param NbCol:
        	:type NbCol: int
        	:param NbMat:
        	:type NbMat: int
        	:rtype: None
        """
        _GeomFill.GeomFill_Tensor_swiginit(self, _GeomFill.new_GeomFill_Tensor(*args))
    Init = _swig_new_instance_method(_GeomFill.GeomFill_Tensor_Init)
    Multiply = _swig_new_instance_method(_GeomFill.GeomFill_Tensor_Multiply)
    Value = _swig_new_instance_method(_GeomFill.GeomFill_Tensor_Value)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_Tensor

# Register GeomFill_Tensor in _GeomFill:
_GeomFill.GeomFill_Tensor_swigregister(GeomFill_Tensor)

class GeomFill_TgtField(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
    D1 = _swig_new_instance_method(_GeomFill.GeomFill_TgtField_D1)
    IsScalable = _swig_new_instance_method(_GeomFill.GeomFill_TgtField_IsScalable)
    Scale = _swig_new_instance_method(_GeomFill.GeomFill_TgtField_Scale)
    Value = _swig_new_instance_method(_GeomFill.GeomFill_TgtField_Value)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_TgtField

# Register GeomFill_TgtField in _GeomFill:
_GeomFill.GeomFill_TgtField_swigregister(GeomFill_TgtField)

class GeomFill_TrihedronLaw(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
    Copy = _swig_new_instance_method(_GeomFill.GeomFill_TrihedronLaw_Copy)
    D0 = _swig_new_instance_method(_GeomFill.GeomFill_TrihedronLaw_D0)
    D1 = _swig_new_instance_method(_GeomFill.GeomFill_TrihedronLaw_D1)
    D2 = _swig_new_instance_method(_GeomFill.GeomFill_TrihedronLaw_D2)
    ErrorStatus = _swig_new_instance_method(_GeomFill.GeomFill_TrihedronLaw_ErrorStatus)
    GetAverageLaw = _swig_new_instance_method(_GeomFill.GeomFill_TrihedronLaw_GetAverageLaw)
    GetInterval = _swig_new_instance_method(_GeomFill.GeomFill_TrihedronLaw_GetInterval)
    Intervals = _swig_new_instance_method(_GeomFill.GeomFill_TrihedronLaw_Intervals)
    IsConstant = _swig_new_instance_method(_GeomFill.GeomFill_TrihedronLaw_IsConstant)
    IsOnlyBy3dCurve = _swig_new_instance_method(_GeomFill.GeomFill_TrihedronLaw_IsOnlyBy3dCurve)
    NbIntervals = _swig_new_instance_method(_GeomFill.GeomFill_TrihedronLaw_NbIntervals)
    SetCurve = _swig_new_instance_method(_GeomFill.GeomFill_TrihedronLaw_SetCurve)
    SetInterval = _swig_new_instance_method(_GeomFill.GeomFill_TrihedronLaw_SetInterval)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_TrihedronLaw

# Register GeomFill_TrihedronLaw in _GeomFill:
_GeomFill.GeomFill_TrihedronLaw_swigregister(GeomFill_TrihedronLaw)

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

    def __init__(self, *args):
        r"""
        * Constructs a boundary object defined by the 3d curve CurveOnSurf. The surface to be filled along this boundary will be in the tolerance range defined by Tol3d. What's more, at each point of CurveOnSurf, the angle between the normal to the surface to be filled along this boundary, and the normal to the surface on which CurveOnSurf lies, must not be greater than TolAng. This object is to be used as a boundary for a GeomFill_ConstrainedFilling framework. Warning CurveOnSurf is an adapted curve, that is, an object which is an interface between: - the services provided by a curve lying on a surface from the package Geom - and those required of the curve by the computation algorithm which uses it. The adapted curve is created in the following way: opencascade::handle<Geom_Surface> mySurface = ... ; opencascade::handle<Geom2d_Curve> myParamCurve = ... ; // where myParamCurve is a 2D curve in the parametric space of the surface mySurface opencascade::handle<GeomAdaptor_HSurface> Surface = new GeomAdaptor_HSurface(mySurface); opencascade::handle<Geom2dAdaptor_HCurve> ParamCurve = new Geom2dAdaptor_HCurve(myParamCurve); CurveOnSurf = Adaptor3d_CurveOnSurface(ParamCurve,Surface); The boundary is then constructed with the CurveOnSurf object: Standard_Real Tol = ... ; Standard_Real TolAng = ... ; myBoundary = GeomFill_BoundWithSurf ( CurveOnSurf, Tol, TolAng );
        	:param CurveOnSurf:
        	:type CurveOnSurf: Adaptor3d_CurveOnSurface
        	:param Tol3d:
        	:type Tol3d: float
        	:param Tolang:
        	:type Tolang: float
        	:rtype: None
        """
        _GeomFill.GeomFill_BoundWithSurf_swiginit(self, _GeomFill.new_GeomFill_BoundWithSurf(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_BoundWithSurf

# Register GeomFill_BoundWithSurf in _GeomFill:
_GeomFill.GeomFill_BoundWithSurf_swigregister(GeomFill_BoundWithSurf)

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

    def __init__(self, *args):
        r"""
        :param BiNormal:
        	:type BiNormal: gp_Dir
        	:rtype: None
        """
        _GeomFill.GeomFill_ConstantBiNormal_swiginit(self, _GeomFill.new_GeomFill_ConstantBiNormal(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_ConstantBiNormal

# Register GeomFill_ConstantBiNormal in _GeomFill:
_GeomFill.GeomFill_ConstantBiNormal_swigregister(GeomFill_ConstantBiNormal)

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

    def __init__(self, *args):
        r"""
        :rtype: None:param P1:
        	:type P1: TColgp_Array1OfPnt
        	:param P2:
        	:type P2: TColgp_Array1OfPnt
        	:param P3:
        	:type P3: TColgp_Array1OfPnt
        	:param P4:
        	:type P4: TColgp_Array1OfPnt
        	:rtype: None:param P1:
        	:type P1: TColgp_Array1OfPnt
        	:param P2:
        	:type P2: TColgp_Array1OfPnt
        	:param P3:
        	:type P3: TColgp_Array1OfPnt
        	:param P4:
        	:type P4: TColgp_Array1OfPnt
        	:param W1:
        	:type W1: TColStd_Array1OfReal
        	:param W2:
        	:type W2: TColStd_Array1OfReal
        	:param W3:
        	:type W3: TColStd_Array1OfReal
        	:param W4:
        	:type W4: TColStd_Array1OfReal
        	:rtype: None
        """
        _GeomFill.GeomFill_Coons_swiginit(self, _GeomFill.new_GeomFill_Coons(*args))
    Init = _swig_new_instance_method(_GeomFill.GeomFill_Coons_Init)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_Coons

# Register GeomFill_Coons in _GeomFill:
_GeomFill.GeomFill_Coons_swigregister(GeomFill_Coons)

class GeomFill_CorrectedFrenet(GeomFill_TrihedronLaw):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    EvaluateBestMode = _swig_new_instance_method(_GeomFill.GeomFill_CorrectedFrenet_EvaluateBestMode)

    def __init__(self, *args):
        r"""
        :rtype: None:param ForEvaluation:
        	:type ForEvaluation: bool
        	:rtype: None
        """
        _GeomFill.GeomFill_CorrectedFrenet_swiginit(self, _GeomFill.new_GeomFill_CorrectedFrenet(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_CorrectedFrenet

# Register GeomFill_CorrectedFrenet in _GeomFill:
_GeomFill.GeomFill_CorrectedFrenet_swigregister(GeomFill_CorrectedFrenet)

class GeomFill_CurveAndTrihedron(GeomFill_LocationLaw):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    D0 = _swig_new_instance_method(_GeomFill.GeomFill_CurveAndTrihedron_D0)

    def __init__(self, *args):
        r"""
        :param Trihedron:
        	:type Trihedron: GeomFill_TrihedronLaw
        	:rtype: None
        """
        _GeomFill.GeomFill_CurveAndTrihedron_swiginit(self, _GeomFill.new_GeomFill_CurveAndTrihedron(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_CurveAndTrihedron

# Register GeomFill_CurveAndTrihedron in _GeomFill:
_GeomFill.GeomFill_CurveAndTrihedron_swigregister(GeomFill_CurveAndTrihedron)

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

    def __init__(self, *args):
        r"""
        :rtype: None:param P1:
        	:type P1: TColgp_Array1OfPnt
        	:param P2:
        	:type P2: TColgp_Array1OfPnt
        	:param P3:
        	:type P3: TColgp_Array1OfPnt
        	:param P4:
        	:type P4: TColgp_Array1OfPnt
        	:rtype: None:param P1:
        	:type P1: TColgp_Array1OfPnt
        	:param P2:
        	:type P2: TColgp_Array1OfPnt
        	:param P3:
        	:type P3: TColgp_Array1OfPnt
        	:param P4:
        	:type P4: TColgp_Array1OfPnt
        	:param W1:
        	:type W1: TColStd_Array1OfReal
        	:param W2:
        	:type W2: TColStd_Array1OfReal
        	:param W3:
        	:type W3: TColStd_Array1OfReal
        	:param W4:
        	:type W4: TColStd_Array1OfReal
        	:rtype: None:param P1:
        	:type P1: TColgp_Array1OfPnt
        	:param P2:
        	:type P2: TColgp_Array1OfPnt
        	:rtype: None:param P1:
        	:type P1: TColgp_Array1OfPnt
        	:param P2:
        	:type P2: TColgp_Array1OfPnt
        	:param W1:
        	:type W1: TColStd_Array1OfReal
        	:param W2:
        	:type W2: TColStd_Array1OfReal
        	:rtype: None
        """
        _GeomFill.GeomFill_Curved_swiginit(self, _GeomFill.new_GeomFill_Curved(*args))
    Init = _swig_new_instance_method(_GeomFill.GeomFill_Curved_Init)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_Curved

# Register GeomFill_Curved in _GeomFill:
_GeomFill.GeomFill_Curved_swigregister(GeomFill_Curved)

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

    def __init__(self, *args):
        r""":rtype: None"""
        _GeomFill.GeomFill_Darboux_swiginit(self, _GeomFill.new_GeomFill_Darboux(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_Darboux

# Register GeomFill_Darboux in _GeomFill:
_GeomFill.GeomFill_Darboux_swigregister(GeomFill_Darboux)

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

    def __init__(self, *args):
        r"""
        :param Point:
        	:type Point: gp_Pnt
        	:param First:
        	:type First: float
        	:param Last:
        	:type Last: float
        	:param Tol3d:
        	:type Tol3d: float
        	:param Tolang:
        	:type Tolang: float
        	:rtype: None
        """
        _GeomFill.GeomFill_DegeneratedBound_swiginit(self, _GeomFill.new_GeomFill_DegeneratedBound(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_DegeneratedBound

# Register GeomFill_DegeneratedBound in _GeomFill:
_GeomFill.GeomFill_DegeneratedBound_swigregister(GeomFill_DegeneratedBound)

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

    def __init__(self, *args):
        r""":rtype: None"""
        _GeomFill.GeomFill_DiscreteTrihedron_swiginit(self, _GeomFill.new_GeomFill_DiscreteTrihedron(*args))
    Init = _swig_new_instance_method(_GeomFill.GeomFill_DiscreteTrihedron_Init)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_DiscreteTrihedron

# Register GeomFill_DiscreteTrihedron in _GeomFill:
_GeomFill.GeomFill_DiscreteTrihedron_swigregister(GeomFill_DiscreteTrihedron)

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

    def __init__(self, *args):
        r"""
        :param BiNormal:
        	:type BiNormal: gp_Vec
        	:param Angle:
        	:type Angle: float
        	:rtype: None
        """
        _GeomFill.GeomFill_DraftTrihedron_swiginit(self, _GeomFill.new_GeomFill_DraftTrihedron(*args))
    SetAngle = _swig_new_instance_method(_GeomFill.GeomFill_DraftTrihedron_SetAngle)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_DraftTrihedron

# Register GeomFill_DraftTrihedron in _GeomFill:
_GeomFill.GeomFill_DraftTrihedron_swigregister(GeomFill_DraftTrihedron)

class GeomFill_EvolvedSection(GeomFill_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"""
        * Make an SectionLaw with a Curve and a real Law.
        	:param C:
        	:type C: Geom_Curve
        	:param L:
        	:type L: Law_Function
        	:rtype: None
        """
        _GeomFill.GeomFill_EvolvedSection_swiginit(self, _GeomFill.new_GeomFill_EvolvedSection(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_EvolvedSection

# Register GeomFill_EvolvedSection in _GeomFill:
_GeomFill.GeomFill_EvolvedSection_swigregister(GeomFill_EvolvedSection)

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

    def __init__(self, *args):
        r"""
        :param Tangent:
        	:type Tangent: gp_Vec
        	:param Normal:
        	:type Normal: gp_Vec
        	:rtype: None
        """
        _GeomFill.GeomFill_Fixed_swiginit(self, _GeomFill.new_GeomFill_Fixed(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_Fixed

# Register GeomFill_Fixed in _GeomFill:
_GeomFill.GeomFill_Fixed_swigregister(GeomFill_Fixed)

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

    def __init__(self, *args):
        r""":rtype: None"""
        _GeomFill.GeomFill_Frenet_swiginit(self, _GeomFill.new_GeomFill_Frenet(*args))
    Init = _swig_new_instance_method(_GeomFill.GeomFill_Frenet_Init)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_Frenet

# Register GeomFill_Frenet in _GeomFill:
_GeomFill.GeomFill_Frenet_swigregister(GeomFill_Frenet)

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

    def __init__(self, *args):
        r""":rtype: None"""
        _GeomFill.GeomFill_Generator_swiginit(self, _GeomFill.new_GeomFill_Generator(*args))
    Surface = _swig_new_instance_method(_GeomFill.GeomFill_Generator_Surface)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_Generator

# Register GeomFill_Generator in _GeomFill:
_GeomFill.GeomFill_Generator_swigregister(GeomFill_Generator)

class GeomFill_LocationDraft(GeomFill_LocationLaw):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    D0 = _swig_new_instance_method(_GeomFill.GeomFill_LocationDraft_D0)
    Direction = _swig_new_instance_method(_GeomFill.GeomFill_LocationDraft_Direction)

    def __init__(self, *args):
        r"""
        :param Direction:
        	:type Direction: gp_Dir
        	:param Angle:
        	:type Angle: float
        	:rtype: None
        """
        _GeomFill.GeomFill_LocationDraft_swiginit(self, _GeomFill.new_GeomFill_LocationDraft(*args))
    IsIntersec = _swig_new_instance_method(_GeomFill.GeomFill_LocationDraft_IsIntersec)
    SetAngle = _swig_new_instance_method(_GeomFill.GeomFill_LocationDraft_SetAngle)
    SetStopSurf = _swig_new_instance_method(_GeomFill.GeomFill_LocationDraft_SetStopSurf)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_LocationDraft

# Register GeomFill_LocationDraft in _GeomFill:
_GeomFill.GeomFill_LocationDraft_swigregister(GeomFill_LocationDraft)

class GeomFill_LocationGuide(GeomFill_LocationLaw):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    ComputeAutomaticLaw = _swig_new_instance_method(_GeomFill.GeomFill_LocationGuide_ComputeAutomaticLaw)
    D0 = _swig_new_instance_method(_GeomFill.GeomFill_LocationGuide_D0)
    EraseRotation = _swig_new_instance_method(_GeomFill.GeomFill_LocationGuide_EraseRotation)

    def __init__(self, *args):
        r"""
        :param Triedre:
        	:type Triedre: GeomFill_TrihedronWithGuide
        	:rtype: None
        """
        _GeomFill.GeomFill_LocationGuide_swiginit(self, _GeomFill.new_GeomFill_LocationGuide(*args))
    Guide = _swig_new_instance_method(_GeomFill.GeomFill_LocationGuide_Guide)
    Section = _swig_new_instance_method(_GeomFill.GeomFill_LocationGuide_Section)
    Set = _swig_new_instance_method(_GeomFill.GeomFill_LocationGuide_Set)
    SetOrigine = _swig_new_instance_method(_GeomFill.GeomFill_LocationGuide_SetOrigine)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_LocationGuide

# Register GeomFill_LocationGuide in _GeomFill:
_GeomFill.GeomFill_LocationGuide_swigregister(GeomFill_LocationGuide)

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

    def __init__(self, *args):
        r""":rtype: None"""
        _GeomFill.GeomFill_SectionGenerator_swiginit(self, _GeomFill.new_GeomFill_SectionGenerator(*args))
    GetShape = _swig_new_instance_method(_GeomFill.GeomFill_SectionGenerator_GetShape)
    Knots = _swig_new_instance_method(_GeomFill.GeomFill_SectionGenerator_Knots)
    Mults = _swig_new_instance_method(_GeomFill.GeomFill_SectionGenerator_Mults)
    Parameter = _swig_new_instance_method(_GeomFill.GeomFill_SectionGenerator_Parameter)
    Section = _swig_new_instance_method(_GeomFill.GeomFill_SectionGenerator_Section)
    SetParam = _swig_new_instance_method(_GeomFill.GeomFill_SectionGenerator_SetParam)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_SectionGenerator

# Register GeomFill_SectionGenerator in _GeomFill:
_GeomFill.GeomFill_SectionGenerator_swigregister(GeomFill_SectionGenerator)

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

    def __init__(self, *args):
        r"""
        * Constructs the boundary object defined by the 3d curve. The surface to be built along this boundary will be in the tolerance range defined by Tol3d. This object is to be used as a boundary for a GeomFill_ConstrainedFilling framework. Dummy is initialized but has no function in this class. Warning Curve is an adapted curve, that is, an object which is an interface between: - the services provided by a 3D curve from the package Geom - and those required of the curve by the computation algorithm which uses it. The adapted curve is created in one of the following ways: - First sequence: opencascade::handle<Geom_Curve> myCurve = ... ; opencascade::handle<GeomAdaptor_HCurve> Curve = new GeomAdaptor_HCurve(myCurve); - Second sequence: // Step 1 opencascade::handle<Geom_Curve> myCurve = ... ; GeomAdaptor_Curve Crv (myCurve); // Step 2 opencascade::handle<GeomAdaptor_HCurve> Curve = new GeomAdaptor_HCurve(Crv); You use the second part of this sequence if you already have the adapted curve Crv. The boundary is then constructed with the Curve object: Standard_Real Tol = ... ; Standard_Real dummy = 0. ; myBoundary = GeomFill_SimpleBound (Curve,Tol,dummy);
        	:param Curve:
        	:type Curve: Adaptor3d_HCurve
        	:param Tol3d:
        	:type Tol3d: float
        	:param Tolang:
        	:type Tolang: float
        	:rtype: None
        """
        _GeomFill.GeomFill_SimpleBound_swiginit(self, _GeomFill.new_GeomFill_SimpleBound(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_SimpleBound

# Register GeomFill_SimpleBound in _GeomFill:
_GeomFill.GeomFill_SimpleBound_swigregister(GeomFill_SimpleBound)

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

    def __init__(self, *args):
        r"""
        :rtype: None:param P1:
        	:type P1: TColgp_Array1OfPnt
        	:param P2:
        	:type P2: TColgp_Array1OfPnt
        	:param P3:
        	:type P3: TColgp_Array1OfPnt
        	:param P4:
        	:type P4: TColgp_Array1OfPnt
        	:rtype: None:param P1:
        	:type P1: TColgp_Array1OfPnt
        	:param P2:
        	:type P2: TColgp_Array1OfPnt
        	:param P3:
        	:type P3: TColgp_Array1OfPnt
        	:param P4:
        	:type P4: TColgp_Array1OfPnt
        	:param W1:
        	:type W1: TColStd_Array1OfReal
        	:param W2:
        	:type W2: TColStd_Array1OfReal
        	:param W3:
        	:type W3: TColStd_Array1OfReal
        	:param W4:
        	:type W4: TColStd_Array1OfReal
        	:rtype: None
        """
        _GeomFill.GeomFill_Stretch_swiginit(self, _GeomFill.new_GeomFill_Stretch(*args))
    Init = _swig_new_instance_method(_GeomFill.GeomFill_Stretch_Init)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_Stretch

# Register GeomFill_Stretch in _GeomFill:
_GeomFill.GeomFill_Stretch_swigregister(GeomFill_Stretch)

class GeomFill_TgtOnCoons(GeomFill_TgtField):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    D1 = _swig_new_instance_method(_GeomFill.GeomFill_TgtOnCoons_D1)

    def __init__(self, *args):
        r"""
        :param K:
        	:type K: GeomFill_CoonsAlgPatch
        	:param I:
        	:type I: int
        	:rtype: None
        """
        _GeomFill.GeomFill_TgtOnCoons_swiginit(self, _GeomFill.new_GeomFill_TgtOnCoons(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_TgtOnCoons

# Register GeomFill_TgtOnCoons in _GeomFill:
_GeomFill.GeomFill_TgtOnCoons_swigregister(GeomFill_TgtOnCoons)

class GeomFill_TrihedronWithGuide(GeomFill_TrihedronLaw):
    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
    CurrentPointOnGuide = _swig_new_instance_method(_GeomFill.GeomFill_TrihedronWithGuide_CurrentPointOnGuide)
    Guide = _swig_new_instance_method(_GeomFill.GeomFill_TrihedronWithGuide_Guide)
    Origine = _swig_new_instance_method(_GeomFill.GeomFill_TrihedronWithGuide_Origine)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_TrihedronWithGuide

# Register GeomFill_TrihedronWithGuide in _GeomFill:
_GeomFill.GeomFill_TrihedronWithGuide_swigregister(GeomFill_TrihedronWithGuide)

class GeomFill_UniformSection(GeomFill_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"""
        * Make an constant Law with C. [First, Last] define law definition domain
        	:param C:
        	:type C: Geom_Curve
        	:param FirstParameter: default value is 0.0
        	:type FirstParameter: float
        	:param LastParameter: default value is 1.0
        	:type LastParameter: float
        	:rtype: None
        """
        _GeomFill.GeomFill_UniformSection_swiginit(self, _GeomFill.new_GeomFill_UniformSection(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_UniformSection

# Register GeomFill_UniformSection in _GeomFill:
_GeomFill.GeomFill_UniformSection_swigregister(GeomFill_UniformSection)

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

    def __init__(self, *args):
        r"""
        :param guide:
        	:type guide: Adaptor3d_HCurve
        	:rtype: None
        """
        _GeomFill.GeomFill_GuideTrihedronAC_swiginit(self, _GeomFill.new_GeomFill_GuideTrihedronAC(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_GuideTrihedronAC

# Register GeomFill_GuideTrihedronAC in _GeomFill:
_GeomFill.GeomFill_GuideTrihedronAC_swigregister(GeomFill_GuideTrihedronAC)

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

    def __init__(self, *args):
        r"""
        :param theGuide:
        	:type theGuide: Adaptor3d_HCurve
        	:rtype: None
        """
        _GeomFill.GeomFill_GuideTrihedronPlan_swiginit(self, _GeomFill.new_GeomFill_GuideTrihedronPlan(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_GuideTrihedronPlan

# Register GeomFill_GuideTrihedronPlan in _GeomFill:
_GeomFill.GeomFill_GuideTrihedronPlan_swigregister(GeomFill_GuideTrihedronPlan)

class GeomFill_HArray1OfLocationLaw(GeomFill_Array1OfLocationLaw, 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):
        _GeomFill.GeomFill_HArray1OfLocationLaw_swiginit(self, _GeomFill.new_GeomFill_HArray1OfLocationLaw(*args))
    Array1 = _swig_new_instance_method(_GeomFill.GeomFill_HArray1OfLocationLaw_Array1)
    ChangeArray1 = _swig_new_instance_method(_GeomFill.GeomFill_HArray1OfLocationLaw_ChangeArray1)


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

    __swig_destroy__ = _GeomFill.delete_GeomFill_HArray1OfLocationLaw

# Register GeomFill_HArray1OfLocationLaw in _GeomFill:
_GeomFill.GeomFill_HArray1OfLocationLaw_swigregister(GeomFill_HArray1OfLocationLaw)

class GeomFill_HArray1OfSectionLaw(GeomFill_Array1OfSectionLaw, 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):
        _GeomFill.GeomFill_HArray1OfSectionLaw_swiginit(self, _GeomFill.new_GeomFill_HArray1OfSectionLaw(*args))
    Array1 = _swig_new_instance_method(_GeomFill.GeomFill_HArray1OfSectionLaw_Array1)
    ChangeArray1 = _swig_new_instance_method(_GeomFill.GeomFill_HArray1OfSectionLaw_ChangeArray1)


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

    __swig_destroy__ = _GeomFill.delete_GeomFill_HArray1OfSectionLaw

# Register GeomFill_HArray1OfSectionLaw in _GeomFill:
_GeomFill.GeomFill_HArray1OfSectionLaw_swigregister(GeomFill_HArray1OfSectionLaw)

class GeomFill_HSequenceOfAx2(GeomFill_SequenceOfAx2, 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):
        _GeomFill.GeomFill_HSequenceOfAx2_swiginit(self, _GeomFill.new_GeomFill_HSequenceOfAx2(*args))
    Sequence = _swig_new_instance_method(_GeomFill.GeomFill_HSequenceOfAx2_Sequence)
    Append = _swig_new_instance_method(_GeomFill.GeomFill_HSequenceOfAx2_Append)
    ChangeSequence = _swig_new_instance_method(_GeomFill.GeomFill_HSequenceOfAx2_ChangeSequence)


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

    __swig_destroy__ = _GeomFill.delete_GeomFill_HSequenceOfAx2

# Register GeomFill_HSequenceOfAx2 in _GeomFill:
_GeomFill.GeomFill_HSequenceOfAx2_swigregister(GeomFill_HSequenceOfAx2)



