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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.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.OSD
import OCC.Core.AppCont
import OCC.Core.AppParCurves
import OCC.Core.Law
import OCC.Core.TColGeom

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

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


class GeomFill_ApproxStyle(IntEnum):
	GeomFill_Section = 0
	GeomFill_Location = 1
GeomFill_Section = GeomFill_ApproxStyle.GeomFill_Section
GeomFill_Location = GeomFill_ApproxStyle.GeomFill_Location

class GeomFill_Trihedron(IntEnum):
	GeomFill_IsCorrectedFrenet = 0
	GeomFill_IsFixed = 1
	GeomFill_IsFrenet = 2
	GeomFill_IsConstantNormal = 3
	GeomFill_IsDarboux = 4
	GeomFill_IsGuideAC = 5
	GeomFill_IsGuidePlan = 6
	GeomFill_IsGuideACWithContact = 7
	GeomFill_IsGuidePlanWithContact = 8
	GeomFill_IsDiscreteTrihedron = 9
GeomFill_IsCorrectedFrenet = GeomFill_Trihedron.GeomFill_IsCorrectedFrenet
GeomFill_IsFixed = GeomFill_Trihedron.GeomFill_IsFixed
GeomFill_IsFrenet = GeomFill_Trihedron.GeomFill_IsFrenet
GeomFill_IsConstantNormal = GeomFill_Trihedron.GeomFill_IsConstantNormal
GeomFill_IsDarboux = GeomFill_Trihedron.GeomFill_IsDarboux
GeomFill_IsGuideAC = GeomFill_Trihedron.GeomFill_IsGuideAC
GeomFill_IsGuidePlan = GeomFill_Trihedron.GeomFill_IsGuidePlan
GeomFill_IsGuideACWithContact = GeomFill_Trihedron.GeomFill_IsGuideACWithContact
GeomFill_IsGuidePlanWithContact = GeomFill_Trihedron.GeomFill_IsGuidePlanWithContact
GeomFill_IsDiscreteTrihedron = GeomFill_Trihedron.GeomFill_IsDiscreteTrihedron

class GeomFill_FillingStyle(IntEnum):
	GeomFill_StretchStyle = 0
	GeomFill_CoonsStyle = 1
	GeomFill_CurvedStyle = 2
GeomFill_StretchStyle = GeomFill_FillingStyle.GeomFill_StretchStyle
GeomFill_CoonsStyle = GeomFill_FillingStyle.GeomFill_CoonsStyle
GeomFill_CurvedStyle = GeomFill_FillingStyle.GeomFill_CurvedStyle

class GeomFill_PipeError(IntEnum):
	GeomFill_PipeOk = 0
	GeomFill_PipeNotOk = 1
	GeomFill_PlaneNotIntersectGuide = 2
	GeomFill_ImpossibleContact = 3
GeomFill_PipeOk = GeomFill_PipeError.GeomFill_PipeOk
GeomFill_PipeNotOk = GeomFill_PipeError.GeomFill_PipeNotOk
GeomFill_PlaneNotIntersectGuide = GeomFill_PipeError.GeomFill_PlaneNotIntersectGuide
GeomFill_ImpossibleContact = GeomFill_PipeError.GeomFill_ImpossibleContact


def Handle_GeomFill_Boundary_Create() -> "opencascade::handle< GeomFill_Boundary >":
    return _GeomFill.Handle_GeomFill_Boundary_Create()

def Handle_GeomFill_Boundary_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_Boundary >":
    return _GeomFill.Handle_GeomFill_Boundary_DownCast(t)

def Handle_GeomFill_Boundary_IsNull(t: "opencascade::handle< GeomFill_Boundary > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_Boundary_IsNull(t)

def Handle_GeomFill_CircularBlendFunc_Create() -> "opencascade::handle< GeomFill_CircularBlendFunc >":
    return _GeomFill.Handle_GeomFill_CircularBlendFunc_Create()

def Handle_GeomFill_CircularBlendFunc_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_CircularBlendFunc >":
    return _GeomFill.Handle_GeomFill_CircularBlendFunc_DownCast(t)

def Handle_GeomFill_CircularBlendFunc_IsNull(t: "opencascade::handle< GeomFill_CircularBlendFunc > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_CircularBlendFunc_IsNull(t)

def Handle_GeomFill_CoonsAlgPatch_Create() -> "opencascade::handle< GeomFill_CoonsAlgPatch >":
    return _GeomFill.Handle_GeomFill_CoonsAlgPatch_Create()

def Handle_GeomFill_CoonsAlgPatch_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_CoonsAlgPatch >":
    return _GeomFill.Handle_GeomFill_CoonsAlgPatch_DownCast(t)

def Handle_GeomFill_CoonsAlgPatch_IsNull(t: "opencascade::handle< GeomFill_CoonsAlgPatch > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_CoonsAlgPatch_IsNull(t)

def Handle_GeomFill_Line_Create() -> "opencascade::handle< GeomFill_Line >":
    return _GeomFill.Handle_GeomFill_Line_Create()

def Handle_GeomFill_Line_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_Line >":
    return _GeomFill.Handle_GeomFill_Line_DownCast(t)

def Handle_GeomFill_Line_IsNull(t: "opencascade::handle< GeomFill_Line > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_Line_IsNull(t)

def Handle_GeomFill_LocationLaw_Create() -> "opencascade::handle< GeomFill_LocationLaw >":
    return _GeomFill.Handle_GeomFill_LocationLaw_Create()

def Handle_GeomFill_LocationLaw_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_LocationLaw >":
    return _GeomFill.Handle_GeomFill_LocationLaw_DownCast(t)

def Handle_GeomFill_LocationLaw_IsNull(t: "opencascade::handle< GeomFill_LocationLaw > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_LocationLaw_IsNull(t)

def Handle_GeomFill_SectionLaw_Create() -> "opencascade::handle< GeomFill_SectionLaw >":
    return _GeomFill.Handle_GeomFill_SectionLaw_Create()

def Handle_GeomFill_SectionLaw_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_SectionLaw >":
    return _GeomFill.Handle_GeomFill_SectionLaw_DownCast(t)

def Handle_GeomFill_SectionLaw_IsNull(t: "opencascade::handle< GeomFill_SectionLaw > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_SectionLaw_IsNull(t)

def Handle_GeomFill_SweepFunction_Create() -> "opencascade::handle< GeomFill_SweepFunction >":
    return _GeomFill.Handle_GeomFill_SweepFunction_Create()

def Handle_GeomFill_SweepFunction_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_SweepFunction >":
    return _GeomFill.Handle_GeomFill_SweepFunction_DownCast(t)

def Handle_GeomFill_SweepFunction_IsNull(t: "opencascade::handle< GeomFill_SweepFunction > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_SweepFunction_IsNull(t)

def Handle_GeomFill_TgtField_Create() -> "opencascade::handle< GeomFill_TgtField >":
    return _GeomFill.Handle_GeomFill_TgtField_Create()

def Handle_GeomFill_TgtField_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_TgtField >":
    return _GeomFill.Handle_GeomFill_TgtField_DownCast(t)

def Handle_GeomFill_TgtField_IsNull(t: "opencascade::handle< GeomFill_TgtField > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_TgtField_IsNull(t)

def Handle_GeomFill_TrihedronLaw_Create() -> "opencascade::handle< GeomFill_TrihedronLaw >":
    return _GeomFill.Handle_GeomFill_TrihedronLaw_Create()

def Handle_GeomFill_TrihedronLaw_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_TrihedronLaw >":
    return _GeomFill.Handle_GeomFill_TrihedronLaw_DownCast(t)

def Handle_GeomFill_TrihedronLaw_IsNull(t: "opencascade::handle< GeomFill_TrihedronLaw > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_TrihedronLaw_IsNull(t)

def Handle_GeomFill_BoundWithSurf_Create() -> "opencascade::handle< GeomFill_BoundWithSurf >":
    return _GeomFill.Handle_GeomFill_BoundWithSurf_Create()

def Handle_GeomFill_BoundWithSurf_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_BoundWithSurf >":
    return _GeomFill.Handle_GeomFill_BoundWithSurf_DownCast(t)

def Handle_GeomFill_BoundWithSurf_IsNull(t: "opencascade::handle< GeomFill_BoundWithSurf > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_BoundWithSurf_IsNull(t)

def Handle_GeomFill_ConstantBiNormal_Create() -> "opencascade::handle< GeomFill_ConstantBiNormal >":
    return _GeomFill.Handle_GeomFill_ConstantBiNormal_Create()

def Handle_GeomFill_ConstantBiNormal_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_ConstantBiNormal >":
    return _GeomFill.Handle_GeomFill_ConstantBiNormal_DownCast(t)

def Handle_GeomFill_ConstantBiNormal_IsNull(t: "opencascade::handle< GeomFill_ConstantBiNormal > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_ConstantBiNormal_IsNull(t)

def Handle_GeomFill_CorrectedFrenet_Create() -> "opencascade::handle< GeomFill_CorrectedFrenet >":
    return _GeomFill.Handle_GeomFill_CorrectedFrenet_Create()

def Handle_GeomFill_CorrectedFrenet_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_CorrectedFrenet >":
    return _GeomFill.Handle_GeomFill_CorrectedFrenet_DownCast(t)

def Handle_GeomFill_CorrectedFrenet_IsNull(t: "opencascade::handle< GeomFill_CorrectedFrenet > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_CorrectedFrenet_IsNull(t)

def Handle_GeomFill_CurveAndTrihedron_Create() -> "opencascade::handle< GeomFill_CurveAndTrihedron >":
    return _GeomFill.Handle_GeomFill_CurveAndTrihedron_Create()

def Handle_GeomFill_CurveAndTrihedron_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_CurveAndTrihedron >":
    return _GeomFill.Handle_GeomFill_CurveAndTrihedron_DownCast(t)

def Handle_GeomFill_CurveAndTrihedron_IsNull(t: "opencascade::handle< GeomFill_CurveAndTrihedron > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_CurveAndTrihedron_IsNull(t)

def Handle_GeomFill_Darboux_Create() -> "opencascade::handle< GeomFill_Darboux >":
    return _GeomFill.Handle_GeomFill_Darboux_Create()

def Handle_GeomFill_Darboux_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_Darboux >":
    return _GeomFill.Handle_GeomFill_Darboux_DownCast(t)

def Handle_GeomFill_Darboux_IsNull(t: "opencascade::handle< GeomFill_Darboux > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_Darboux_IsNull(t)

def Handle_GeomFill_DegeneratedBound_Create() -> "opencascade::handle< GeomFill_DegeneratedBound >":
    return _GeomFill.Handle_GeomFill_DegeneratedBound_Create()

def Handle_GeomFill_DegeneratedBound_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_DegeneratedBound >":
    return _GeomFill.Handle_GeomFill_DegeneratedBound_DownCast(t)

def Handle_GeomFill_DegeneratedBound_IsNull(t: "opencascade::handle< GeomFill_DegeneratedBound > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_DegeneratedBound_IsNull(t)

def Handle_GeomFill_DiscreteTrihedron_Create() -> "opencascade::handle< GeomFill_DiscreteTrihedron >":
    return _GeomFill.Handle_GeomFill_DiscreteTrihedron_Create()

def Handle_GeomFill_DiscreteTrihedron_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_DiscreteTrihedron >":
    return _GeomFill.Handle_GeomFill_DiscreteTrihedron_DownCast(t)

def Handle_GeomFill_DiscreteTrihedron_IsNull(t: "opencascade::handle< GeomFill_DiscreteTrihedron > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_DiscreteTrihedron_IsNull(t)

def Handle_GeomFill_DraftTrihedron_Create() -> "opencascade::handle< GeomFill_DraftTrihedron >":
    return _GeomFill.Handle_GeomFill_DraftTrihedron_Create()

def Handle_GeomFill_DraftTrihedron_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_DraftTrihedron >":
    return _GeomFill.Handle_GeomFill_DraftTrihedron_DownCast(t)

def Handle_GeomFill_DraftTrihedron_IsNull(t: "opencascade::handle< GeomFill_DraftTrihedron > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_DraftTrihedron_IsNull(t)

def Handle_GeomFill_EvolvedSection_Create() -> "opencascade::handle< GeomFill_EvolvedSection >":
    return _GeomFill.Handle_GeomFill_EvolvedSection_Create()

def Handle_GeomFill_EvolvedSection_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_EvolvedSection >":
    return _GeomFill.Handle_GeomFill_EvolvedSection_DownCast(t)

def Handle_GeomFill_EvolvedSection_IsNull(t: "opencascade::handle< GeomFill_EvolvedSection > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_EvolvedSection_IsNull(t)

def Handle_GeomFill_Fixed_Create() -> "opencascade::handle< GeomFill_Fixed >":
    return _GeomFill.Handle_GeomFill_Fixed_Create()

def Handle_GeomFill_Fixed_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_Fixed >":
    return _GeomFill.Handle_GeomFill_Fixed_DownCast(t)

def Handle_GeomFill_Fixed_IsNull(t: "opencascade::handle< GeomFill_Fixed > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_Fixed_IsNull(t)

def Handle_GeomFill_Frenet_Create() -> "opencascade::handle< GeomFill_Frenet >":
    return _GeomFill.Handle_GeomFill_Frenet_Create()

def Handle_GeomFill_Frenet_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_Frenet >":
    return _GeomFill.Handle_GeomFill_Frenet_DownCast(t)

def Handle_GeomFill_Frenet_IsNull(t: "opencascade::handle< GeomFill_Frenet > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_Frenet_IsNull(t)

def Handle_GeomFill_LocationDraft_Create() -> "opencascade::handle< GeomFill_LocationDraft >":
    return _GeomFill.Handle_GeomFill_LocationDraft_Create()

def Handle_GeomFill_LocationDraft_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_LocationDraft >":
    return _GeomFill.Handle_GeomFill_LocationDraft_DownCast(t)

def Handle_GeomFill_LocationDraft_IsNull(t: "opencascade::handle< GeomFill_LocationDraft > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_LocationDraft_IsNull(t)

def Handle_GeomFill_LocationGuide_Create() -> "opencascade::handle< GeomFill_LocationGuide >":
    return _GeomFill.Handle_GeomFill_LocationGuide_Create()

def Handle_GeomFill_LocationGuide_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_LocationGuide >":
    return _GeomFill.Handle_GeomFill_LocationGuide_DownCast(t)

def Handle_GeomFill_LocationGuide_IsNull(t: "opencascade::handle< GeomFill_LocationGuide > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_LocationGuide_IsNull(t)

def Handle_GeomFill_NSections_Create() -> "opencascade::handle< GeomFill_NSections >":
    return _GeomFill.Handle_GeomFill_NSections_Create()

def Handle_GeomFill_NSections_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_NSections >":
    return _GeomFill.Handle_GeomFill_NSections_DownCast(t)

def Handle_GeomFill_NSections_IsNull(t: "opencascade::handle< GeomFill_NSections > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_NSections_IsNull(t)

def Handle_GeomFill_SimpleBound_Create() -> "opencascade::handle< GeomFill_SimpleBound >":
    return _GeomFill.Handle_GeomFill_SimpleBound_Create()

def Handle_GeomFill_SimpleBound_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_SimpleBound >":
    return _GeomFill.Handle_GeomFill_SimpleBound_DownCast(t)

def Handle_GeomFill_SimpleBound_IsNull(t: "opencascade::handle< GeomFill_SimpleBound > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_SimpleBound_IsNull(t)

def Handle_GeomFill_TgtOnCoons_Create() -> "opencascade::handle< GeomFill_TgtOnCoons >":
    return _GeomFill.Handle_GeomFill_TgtOnCoons_Create()

def Handle_GeomFill_TgtOnCoons_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_TgtOnCoons >":
    return _GeomFill.Handle_GeomFill_TgtOnCoons_DownCast(t)

def Handle_GeomFill_TgtOnCoons_IsNull(t: "opencascade::handle< GeomFill_TgtOnCoons > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_TgtOnCoons_IsNull(t)

def Handle_GeomFill_TrihedronWithGuide_Create() -> "opencascade::handle< GeomFill_TrihedronWithGuide >":
    return _GeomFill.Handle_GeomFill_TrihedronWithGuide_Create()

def Handle_GeomFill_TrihedronWithGuide_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_TrihedronWithGuide >":
    return _GeomFill.Handle_GeomFill_TrihedronWithGuide_DownCast(t)

def Handle_GeomFill_TrihedronWithGuide_IsNull(t: "opencascade::handle< GeomFill_TrihedronWithGuide > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_TrihedronWithGuide_IsNull(t)

def Handle_GeomFill_UniformSection_Create() -> "opencascade::handle< GeomFill_UniformSection >":
    return _GeomFill.Handle_GeomFill_UniformSection_Create()

def Handle_GeomFill_UniformSection_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_UniformSection >":
    return _GeomFill.Handle_GeomFill_UniformSection_DownCast(t)

def Handle_GeomFill_UniformSection_IsNull(t: "opencascade::handle< GeomFill_UniformSection > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_UniformSection_IsNull(t)

def Handle_GeomFill_GuideTrihedronAC_Create() -> "opencascade::handle< GeomFill_GuideTrihedronAC >":
    return _GeomFill.Handle_GeomFill_GuideTrihedronAC_Create()

def Handle_GeomFill_GuideTrihedronAC_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_GuideTrihedronAC >":
    return _GeomFill.Handle_GeomFill_GuideTrihedronAC_DownCast(t)

def Handle_GeomFill_GuideTrihedronAC_IsNull(t: "opencascade::handle< GeomFill_GuideTrihedronAC > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_GuideTrihedronAC_IsNull(t)

def Handle_GeomFill_GuideTrihedronPlan_Create() -> "opencascade::handle< GeomFill_GuideTrihedronPlan >":
    return _GeomFill.Handle_GeomFill_GuideTrihedronPlan_Create()

def Handle_GeomFill_GuideTrihedronPlan_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_GuideTrihedronPlan >":
    return _GeomFill.Handle_GeomFill_GuideTrihedronPlan_DownCast(t)

def Handle_GeomFill_GuideTrihedronPlan_IsNull(t: "opencascade::handle< GeomFill_GuideTrihedronPlan > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_GuideTrihedronPlan_IsNull(t)

def Handle_GeomFill_HArray1OfLocationLaw_Create() -> "opencascade::handle< GeomFill_HArray1OfLocationLaw >":
    return _GeomFill.Handle_GeomFill_HArray1OfLocationLaw_Create()

def Handle_GeomFill_HArray1OfLocationLaw_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_HArray1OfLocationLaw >":
    return _GeomFill.Handle_GeomFill_HArray1OfLocationLaw_DownCast(t)

def Handle_GeomFill_HArray1OfLocationLaw_IsNull(t: "opencascade::handle< GeomFill_HArray1OfLocationLaw > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_HArray1OfLocationLaw_IsNull(t)

def Handle_GeomFill_HArray1OfSectionLaw_Create() -> "opencascade::handle< GeomFill_HArray1OfSectionLaw >":
    return _GeomFill.Handle_GeomFill_HArray1OfSectionLaw_Create()

def Handle_GeomFill_HArray1OfSectionLaw_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_HArray1OfSectionLaw >":
    return _GeomFill.Handle_GeomFill_HArray1OfSectionLaw_DownCast(t)

def Handle_GeomFill_HArray1OfSectionLaw_IsNull(t: "opencascade::handle< GeomFill_HArray1OfSectionLaw > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_HArray1OfSectionLaw_IsNull(t)

def Handle_GeomFill_HSequenceOfAx2_Create() -> "opencascade::handle< GeomFill_HSequenceOfAx2 >":
    return _GeomFill.Handle_GeomFill_HSequenceOfAx2_Create()

def Handle_GeomFill_HSequenceOfAx2_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomFill_HSequenceOfAx2 >":
    return _GeomFill.Handle_GeomFill_HSequenceOfAx2_DownCast(t)

def Handle_GeomFill_HSequenceOfAx2_IsNull(t: "opencascade::handle< GeomFill_HSequenceOfAx2 > const &") -> "bool":
    return _GeomFill.Handle_GeomFill_HSequenceOfAx2_IsNull(t)
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

    def begin(self) -> "NCollection_Array1< opencascade::handle< GeomFill_LocationLaw > >::iterator":
        return _GeomFill.GeomFill_Array1OfLocationLaw_begin(self)

    def end(self) -> "NCollection_Array1< opencascade::handle< GeomFill_LocationLaw > >::iterator":
        return _GeomFill.GeomFill_Array1OfLocationLaw_end(self)

    def cbegin(self) -> "NCollection_Array1< opencascade::handle< GeomFill_LocationLaw > >::const_iterator":
        return _GeomFill.GeomFill_Array1OfLocationLaw_cbegin(self)

    def cend(self) -> "NCollection_Array1< opencascade::handle< GeomFill_LocationLaw > >::const_iterator":
        return _GeomFill.GeomFill_Array1OfLocationLaw_cend(self)

    def __init__(self, *args):
        _GeomFill.GeomFill_Array1OfLocationLaw_swiginit(self, _GeomFill.new_GeomFill_Array1OfLocationLaw(*args))

    def Init(self, theValue: "opencascade::handle< GeomFill_LocationLaw > const &") -> "void":
        return _GeomFill.GeomFill_Array1OfLocationLaw_Init(self, theValue)

    def Size(self) -> "Standard_Integer":
        return _GeomFill.GeomFill_Array1OfLocationLaw_Size(self)

    def Length(self) -> "Standard_Integer":
        return _GeomFill.GeomFill_Array1OfLocationLaw_Length(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _GeomFill.GeomFill_Array1OfLocationLaw_IsEmpty(self)

    def Lower(self) -> "Standard_Integer":
        return _GeomFill.GeomFill_Array1OfLocationLaw_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _GeomFill.GeomFill_Array1OfLocationLaw_Upper(self)

    def IsDeletable(self) -> "Standard_Boolean":
        return _GeomFill.GeomFill_Array1OfLocationLaw_IsDeletable(self)

    def IsAllocated(self) -> "Standard_Boolean":
        return _GeomFill.GeomFill_Array1OfLocationLaw_IsAllocated(self)

    def Assign(self, theOther: "GeomFill_Array1OfLocationLaw") -> "NCollection_Array1< opencascade::handle< GeomFill_LocationLaw > > &":
        return _GeomFill.GeomFill_Array1OfLocationLaw_Assign(self, theOther)

    def Move(self, theOther: "GeomFill_Array1OfLocationLaw") -> "NCollection_Array1< opencascade::handle< GeomFill_LocationLaw > > &":
        return _GeomFill.GeomFill_Array1OfLocationLaw_Move(self, theOther)

    def Set(self, *args) -> "NCollection_Array1< opencascade::handle< GeomFill_LocationLaw > > &":
        return _GeomFill.GeomFill_Array1OfLocationLaw_Set(self, *args)

    def First(self) -> "opencascade::handle< GeomFill_LocationLaw > const &":
        return _GeomFill.GeomFill_Array1OfLocationLaw_First(self)

    def ChangeFirst(self) -> "opencascade::handle< GeomFill_LocationLaw > &":
        return _GeomFill.GeomFill_Array1OfLocationLaw_ChangeFirst(self)

    def Last(self) -> "opencascade::handle< GeomFill_LocationLaw > const &":
        return _GeomFill.GeomFill_Array1OfLocationLaw_Last(self)

    def ChangeLast(self) -> "opencascade::handle< GeomFill_LocationLaw > &":
        return _GeomFill.GeomFill_Array1OfLocationLaw_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "opencascade::handle< GeomFill_LocationLaw > const &":
        return _GeomFill.GeomFill_Array1OfLocationLaw_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "opencascade::handle< GeomFill_LocationLaw > &":
        return _GeomFill.GeomFill_Array1OfLocationLaw_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "opencascade::handle< GeomFill_LocationLaw > &":
        return _GeomFill.GeomFill_Array1OfLocationLaw___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "opencascade::handle< GeomFill_LocationLaw > const &") -> "void":
        return _GeomFill.GeomFill_Array1OfLocationLaw_SetValue(self, theIndex, theItem)

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

    def begin(self) -> "NCollection_Array1< opencascade::handle< GeomFill_SectionLaw > >::iterator":
        return _GeomFill.GeomFill_Array1OfSectionLaw_begin(self)

    def end(self) -> "NCollection_Array1< opencascade::handle< GeomFill_SectionLaw > >::iterator":
        return _GeomFill.GeomFill_Array1OfSectionLaw_end(self)

    def cbegin(self) -> "NCollection_Array1< opencascade::handle< GeomFill_SectionLaw > >::const_iterator":
        return _GeomFill.GeomFill_Array1OfSectionLaw_cbegin(self)

    def cend(self) -> "NCollection_Array1< opencascade::handle< GeomFill_SectionLaw > >::const_iterator":
        return _GeomFill.GeomFill_Array1OfSectionLaw_cend(self)

    def __init__(self, *args):
        _GeomFill.GeomFill_Array1OfSectionLaw_swiginit(self, _GeomFill.new_GeomFill_Array1OfSectionLaw(*args))

    def Init(self, theValue: "opencascade::handle< GeomFill_SectionLaw > const &") -> "void":
        return _GeomFill.GeomFill_Array1OfSectionLaw_Init(self, theValue)

    def Size(self) -> "Standard_Integer":
        return _GeomFill.GeomFill_Array1OfSectionLaw_Size(self)

    def Length(self) -> "Standard_Integer":
        return _GeomFill.GeomFill_Array1OfSectionLaw_Length(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _GeomFill.GeomFill_Array1OfSectionLaw_IsEmpty(self)

    def Lower(self) -> "Standard_Integer":
        return _GeomFill.GeomFill_Array1OfSectionLaw_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _GeomFill.GeomFill_Array1OfSectionLaw_Upper(self)

    def IsDeletable(self) -> "Standard_Boolean":
        return _GeomFill.GeomFill_Array1OfSectionLaw_IsDeletable(self)

    def IsAllocated(self) -> "Standard_Boolean":
        return _GeomFill.GeomFill_Array1OfSectionLaw_IsAllocated(self)

    def Assign(self, theOther: "GeomFill_Array1OfSectionLaw") -> "NCollection_Array1< opencascade::handle< GeomFill_SectionLaw > > &":
        return _GeomFill.GeomFill_Array1OfSectionLaw_Assign(self, theOther)

    def Move(self, theOther: "GeomFill_Array1OfSectionLaw") -> "NCollection_Array1< opencascade::handle< GeomFill_SectionLaw > > &":
        return _GeomFill.GeomFill_Array1OfSectionLaw_Move(self, theOther)

    def Set(self, *args) -> "NCollection_Array1< opencascade::handle< GeomFill_SectionLaw > > &":
        return _GeomFill.GeomFill_Array1OfSectionLaw_Set(self, *args)

    def First(self) -> "opencascade::handle< GeomFill_SectionLaw > const &":
        return _GeomFill.GeomFill_Array1OfSectionLaw_First(self)

    def ChangeFirst(self) -> "opencascade::handle< GeomFill_SectionLaw > &":
        return _GeomFill.GeomFill_Array1OfSectionLaw_ChangeFirst(self)

    def Last(self) -> "opencascade::handle< GeomFill_SectionLaw > const &":
        return _GeomFill.GeomFill_Array1OfSectionLaw_Last(self)

    def ChangeLast(self) -> "opencascade::handle< GeomFill_SectionLaw > &":
        return _GeomFill.GeomFill_Array1OfSectionLaw_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "opencascade::handle< GeomFill_SectionLaw > const &":
        return _GeomFill.GeomFill_Array1OfSectionLaw_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "opencascade::handle< GeomFill_SectionLaw > &":
        return _GeomFill.GeomFill_Array1OfSectionLaw_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "opencascade::handle< GeomFill_SectionLaw > &":
        return _GeomFill.GeomFill_Array1OfSectionLaw___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "opencascade::handle< GeomFill_SectionLaw > const &") -> "void":
        return _GeomFill.GeomFill_Array1OfSectionLaw_SetValue(self, theIndex, theItem)

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

    def begin(self) -> "NCollection_Sequence< gp_Ax2 >::iterator":
        return _GeomFill.GeomFill_SequenceOfAx2_begin(self)

    def end(self) -> "NCollection_Sequence< gp_Ax2 >::iterator":
        return _GeomFill.GeomFill_SequenceOfAx2_end(self)

    def cbegin(self) -> "NCollection_Sequence< gp_Ax2 >::const_iterator":
        return _GeomFill.GeomFill_SequenceOfAx2_cbegin(self)

    def cend(self) -> "NCollection_Sequence< gp_Ax2 >::const_iterator":
        return _GeomFill.GeomFill_SequenceOfAx2_cend(self)

    def __init__(self, *args):
        _GeomFill.GeomFill_SequenceOfAx2_swiginit(self, _GeomFill.new_GeomFill_SequenceOfAx2(*args))

    def Size(self) -> "Standard_Integer":
        return _GeomFill.GeomFill_SequenceOfAx2_Size(self)

    def Length(self) -> "Standard_Integer":
        return _GeomFill.GeomFill_SequenceOfAx2_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _GeomFill.GeomFill_SequenceOfAx2_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _GeomFill.GeomFill_SequenceOfAx2_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _GeomFill.GeomFill_SequenceOfAx2_IsEmpty(self)

    def Reverse(self) -> "void":
        return _GeomFill.GeomFill_SequenceOfAx2_Reverse(self)

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

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

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

    def Assign(self, theOther: "GeomFill_SequenceOfAx2") -> "NCollection_Sequence< gp_Ax2 > &":
        return _GeomFill.GeomFill_SequenceOfAx2_Assign(self, theOther)

    def Set(self, theOther: "GeomFill_SequenceOfAx2") -> "NCollection_Sequence< gp_Ax2 > &":
        return _GeomFill.GeomFill_SequenceOfAx2_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _GeomFill.GeomFill_SequenceOfAx2_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _GeomFill.GeomFill_SequenceOfAx2_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _GeomFill.GeomFill_SequenceOfAx2_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _GeomFill.GeomFill_SequenceOfAx2_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _GeomFill.GeomFill_SequenceOfAx2_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "GeomFill_SequenceOfAx2") -> "void":
        return _GeomFill.GeomFill_SequenceOfAx2_Split(self, theIndex, theSeq)

    def First(self) -> "gp_Ax2 const &":
        return _GeomFill.GeomFill_SequenceOfAx2_First(self)

    def ChangeFirst(self) -> "gp_Ax2 &":
        return _GeomFill.GeomFill_SequenceOfAx2_ChangeFirst(self)

    def Last(self) -> "gp_Ax2 const &":
        return _GeomFill.GeomFill_SequenceOfAx2_Last(self)

    def ChangeLast(self) -> "gp_Ax2 &":
        return _GeomFill.GeomFill_SequenceOfAx2_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "gp_Ax2 const &":
        return _GeomFill.GeomFill_SequenceOfAx2_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "gp_Ax2 &":
        return _GeomFill.GeomFill_SequenceOfAx2_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "gp_Ax2 &":
        return _GeomFill.GeomFill_SequenceOfAx2___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "gp_Ax2") -> "void":
        return _GeomFill.GeomFill_SequenceOfAx2_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _GeomFill.delete_GeomFill_SequenceOfAx2

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


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

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

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

    def begin(self) -> "NCollection_Sequence< gp_Trsf >::iterator":
        return _GeomFill.GeomFill_SequenceOfTrsf_begin(self)

    def end(self) -> "NCollection_Sequence< gp_Trsf >::iterator":
        return _GeomFill.GeomFill_SequenceOfTrsf_end(self)

    def cbegin(self) -> "NCollection_Sequence< gp_Trsf >::const_iterator":
        return _GeomFill.GeomFill_SequenceOfTrsf_cbegin(self)

    def cend(self) -> "NCollection_Sequence< gp_Trsf >::const_iterator":
        return _GeomFill.GeomFill_SequenceOfTrsf_cend(self)

    def __init__(self, *args):
        _GeomFill.GeomFill_SequenceOfTrsf_swiginit(self, _GeomFill.new_GeomFill_SequenceOfTrsf(*args))

    def Size(self) -> "Standard_Integer":
        return _GeomFill.GeomFill_SequenceOfTrsf_Size(self)

    def Length(self) -> "Standard_Integer":
        return _GeomFill.GeomFill_SequenceOfTrsf_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _GeomFill.GeomFill_SequenceOfTrsf_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _GeomFill.GeomFill_SequenceOfTrsf_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _GeomFill.GeomFill_SequenceOfTrsf_IsEmpty(self)

    def Reverse(self) -> "void":
        return _GeomFill.GeomFill_SequenceOfTrsf_Reverse(self)

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

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

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

    def Assign(self, theOther: "GeomFill_SequenceOfTrsf") -> "NCollection_Sequence< gp_Trsf > &":
        return _GeomFill.GeomFill_SequenceOfTrsf_Assign(self, theOther)

    def Set(self, theOther: "GeomFill_SequenceOfTrsf") -> "NCollection_Sequence< gp_Trsf > &":
        return _GeomFill.GeomFill_SequenceOfTrsf_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _GeomFill.GeomFill_SequenceOfTrsf_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _GeomFill.GeomFill_SequenceOfTrsf_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _GeomFill.GeomFill_SequenceOfTrsf_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _GeomFill.GeomFill_SequenceOfTrsf_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _GeomFill.GeomFill_SequenceOfTrsf_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "GeomFill_SequenceOfTrsf") -> "void":
        return _GeomFill.GeomFill_SequenceOfTrsf_Split(self, theIndex, theSeq)

    def First(self) -> "gp_Trsf const &":
        return _GeomFill.GeomFill_SequenceOfTrsf_First(self)

    def ChangeFirst(self) -> "gp_Trsf &":
        return _GeomFill.GeomFill_SequenceOfTrsf_ChangeFirst(self)

    def Last(self) -> "gp_Trsf const &":
        return _GeomFill.GeomFill_SequenceOfTrsf_Last(self)

    def ChangeLast(self) -> "gp_Trsf &":
        return _GeomFill.GeomFill_SequenceOfTrsf_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "gp_Trsf const &":
        return _GeomFill.GeomFill_SequenceOfTrsf_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "gp_Trsf &":
        return _GeomFill.GeomFill_SequenceOfTrsf_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "gp_Trsf &":
        return _GeomFill.GeomFill_SequenceOfTrsf___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "gp_Trsf") -> "void":
        return _GeomFill.GeomFill_SequenceOfTrsf_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _GeomFill.delete_GeomFill_SequenceOfTrsf

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


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

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

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

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

        Parameters
        ----------
        TConv: Convert_ParameterisationType
        ns1: gp_Vec
        ns2: gp_Vec
        nplan: gp_Vec
        pt1: gp_Pnt
        pt2: gp_Pnt
        Rayon: float
        Center: gp_Pnt
        Poles: TColgp_Array1OfPnt
        Weigths: TColStd_Array1OfReal

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

        Parameters
        ----------
        TConv: Convert_ParameterisationType
        ns1: gp_Vec
        ns2: gp_Vec
        dn1w: gp_Vec
        dn2w: gp_Vec
        nplan: gp_Vec
        dnplan: gp_Vec
        pts1: gp_Pnt
        pts2: gp_Pnt
        tang1: gp_Vec
        tang2: gp_Vec
        Rayon: float
        DRayon: float
        Center: gp_Pnt
        DCenter: gp_Vec
        Poles: TColgp_Array1OfPnt
        DPoles: TColgp_Array1OfVec
        Weigths: TColStd_Array1OfReal
        DWeigths: TColStd_Array1OfReal

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

        Parameters
        ----------
        TConv: Convert_ParameterisationType
        ns1: gp_Vec
        ns2: gp_Vec
        dn1w: gp_Vec
        dn2w: gp_Vec
        d2n1w: gp_Vec
        d2n2w: gp_Vec
        nplan: gp_Vec
        dnplan: gp_Vec
        d2nplan: gp_Vec
        pts1: gp_Pnt
        pts2: gp_Pnt
        tang1: gp_Vec
        tang2: gp_Vec
        Dtang1: gp_Vec
        Dtang2: gp_Vec
        Rayon: float
        DRayon: float
        D2Rayon: float
        Center: gp_Pnt
        DCenter: gp_Vec
        D2Center: gp_Vec
        Poles: TColgp_Array1OfPnt
        DPoles: TColgp_Array1OfVec
        D2Poles: TColgp_Array1OfVec
        Weigths: TColStd_Array1OfReal
        DWeigths: TColStd_Array1OfReal
        D2Weigths: TColStd_Array1OfReal

        Returns
        -------
        bool

        """
        return _GeomFill.geomfill_GetCircle(*args)

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

        Parameters
        ----------
        TConv: Convert_ParameterisationType
        AngleMin: float
        AngleMax: float
        Weigths: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _GeomFill.geomfill_GetMinimalWeights(*args)

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

        Parameters
        ----------
        MaxAng: float
        TypeConv: Convert_ParameterisationType

        Returns
        -------
        NbPoles: int
        NbKnots: int
        Degree: int

        """
        return _GeomFill.geomfill_GetShape(*args)

    @staticmethod
    def GetTolerance(*args) -> "Standard_Real":
        r"""
        Used by the generical classes to determine tolerance for approximation.

        Parameters
        ----------
        TConv: Convert_ParameterisationType
        AngleMin: float
        Radius: float
        AngularTol: float
        SpatialTol: float

        Returns
        -------
        float

        """
        return _GeomFill.geomfill_GetTolerance(*args)

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

        Parameters
        ----------
        TypeConv: Convert_ParameterisationType
        TKnots: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _GeomFill.geomfill_Knots(*args)

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

        Parameters
        ----------
        TypeConv: Convert_ParameterisationType
        TMults: TColStd_Array1OfInteger

        Returns
        -------
        None

        """
        return _GeomFill.geomfill_Mults(*args)

    @staticmethod
    def Surface(*args) -> "opencascade::handle< Geom_Surface >":
        r"""
        Builds a ruled surface between the two curves, curve1 and curve2.

        Parameters
        ----------
        Curve1: Geom_Curve
        Curve2: Geom_Curve

        Returns
        -------
        opencascade::handle<Geom_Surface>

        """
        return _GeomFill.geomfill_Surface(*args)

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

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

    Parameters
    ----------
    TConv: Convert_ParameterisationType
    ns1: gp_Vec
    ns2: gp_Vec
    nplan: gp_Vec
    pt1: gp_Pnt
    pt2: gp_Pnt
    Rayon: float
    Center: gp_Pnt
    Poles: TColgp_Array1OfPnt
    Weigths: TColStd_Array1OfReal

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

    Parameters
    ----------
    TConv: Convert_ParameterisationType
    ns1: gp_Vec
    ns2: gp_Vec
    dn1w: gp_Vec
    dn2w: gp_Vec
    nplan: gp_Vec
    dnplan: gp_Vec
    pts1: gp_Pnt
    pts2: gp_Pnt
    tang1: gp_Vec
    tang2: gp_Vec
    Rayon: float
    DRayon: float
    Center: gp_Pnt
    DCenter: gp_Vec
    Poles: TColgp_Array1OfPnt
    DPoles: TColgp_Array1OfVec
    Weigths: TColStd_Array1OfReal
    DWeigths: TColStd_Array1OfReal

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

    Parameters
    ----------
    TConv: Convert_ParameterisationType
    ns1: gp_Vec
    ns2: gp_Vec
    dn1w: gp_Vec
    dn2w: gp_Vec
    d2n1w: gp_Vec
    d2n2w: gp_Vec
    nplan: gp_Vec
    dnplan: gp_Vec
    d2nplan: gp_Vec
    pts1: gp_Pnt
    pts2: gp_Pnt
    tang1: gp_Vec
    tang2: gp_Vec
    Dtang1: gp_Vec
    Dtang2: gp_Vec
    Rayon: float
    DRayon: float
    D2Rayon: float
    Center: gp_Pnt
    DCenter: gp_Vec
    D2Center: gp_Vec
    Poles: TColgp_Array1OfPnt
    DPoles: TColgp_Array1OfVec
    D2Poles: TColgp_Array1OfVec
    Weigths: TColStd_Array1OfReal
    DWeigths: TColStd_Array1OfReal
    D2Weigths: TColStd_Array1OfReal

    Returns
    -------
    bool

    """
    return _GeomFill.geomfill_GetCircle(*args)

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

    Parameters
    ----------
    TConv: Convert_ParameterisationType
    AngleMin: float
    AngleMax: float
    Weigths: TColStd_Array1OfReal

    Returns
    -------
    None

    """
    return _GeomFill.geomfill_GetMinimalWeights(*args)

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

    Parameters
    ----------
    MaxAng: float
    TypeConv: Convert_ParameterisationType

    Returns
    -------
    NbPoles: int
    NbKnots: int
    Degree: int

    """
    return _GeomFill.geomfill_GetShape(*args)

def geomfill_GetTolerance(*args) -> "Standard_Real":
    r"""
    Used by the generical classes to determine tolerance for approximation.

    Parameters
    ----------
    TConv: Convert_ParameterisationType
    AngleMin: float
    Radius: float
    AngularTol: float
    SpatialTol: float

    Returns
    -------
    float

    """
    return _GeomFill.geomfill_GetTolerance(*args)

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

    Parameters
    ----------
    TypeConv: Convert_ParameterisationType
    TKnots: TColStd_Array1OfReal

    Returns
    -------
    None

    """
    return _GeomFill.geomfill_Knots(*args)

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

    Parameters
    ----------
    TypeConv: Convert_ParameterisationType
    TMults: TColStd_Array1OfInteger

    Returns
    -------
    None

    """
    return _GeomFill.geomfill_Mults(*args)

def geomfill_Surface(*args) -> "opencascade::handle< Geom_Surface >":
    r"""
    Builds a ruled surface between the two curves, curve1 and curve2.

    Parameters
    ----------
    Curve1: Geom_Curve
    Curve2: Geom_Curve

    Returns
    -------
    opencascade::handle<Geom_Surface>

    """
    return _GeomFill.geomfill_Surface(*args)

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

    def __init__(self, *args):
        r"""
        No available documentation.

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

        Parameters
        ----------
        Degmin: int
        Degmax: int
        Tol3d: float
        Tol2d: float
        NbIt: int
        KnownParameters: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_AppSurf_swiginit(self, _GeomFill.new_GeomFill_AppSurf(*args))

    def Continuity(self, *args) -> "GeomAbs_Shape":
        r"""
        Returns the continuity used in the approximation.

        Returns
        -------
        GeomAbs_Shape

        """
        return _GeomFill.GeomFill_AppSurf_Continuity(self, *args)

    def CriteriumWeight(self, *args) -> "void":
        r"""
        Returns the weights (as percent) associed to the criterium used in the optimization.

        Parameters
        ----------

        Returns
        -------
        W1: float
        W2: float
        W3: float

        """
        return _GeomFill.GeomFill_AppSurf_CriteriumWeight(self, *args)

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

        Parameters
        ----------
        Degmin: int
        Degmax: int
        Tol3d: float
        Tol2d: float
        NbIt: int
        KnownParameters: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_AppSurf_Init(self, *args)

    def ParType(self, *args) -> "Approx_ParametrizationType":
        r"""
        Returns the type of parametrization used in the approximation.

        Returns
        -------
        Approx_ParametrizationType

        """
        return _GeomFill.GeomFill_AppSurf_ParType(self, *args)

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

        Parameters
        ----------
        Lin: GeomFill_Line
        SecGen: GeomFill_SectionGenerator
        SpApprox: bool,optional
        	default value is Standard_False

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

        Parameters
        ----------
        Lin: GeomFill_Line
        SecGen: GeomFill_SectionGenerator
        NbMaxP: int

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_AppSurf_Perform(self, *args)

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

        Parameters
        ----------
        Lin: GeomFill_Line
        SecGen: GeomFill_SectionGenerator

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_AppSurf_PerformSmoothing(self, *args)

    def SetContinuity(self, *args) -> "void":
        r"""
        Define the continuity used in the approximation.

        Parameters
        ----------
        C: GeomAbs_Shape

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_AppSurf_SetContinuity(self, *args)

    def SetCriteriumWeight(self, *args) -> "void":
        r"""
        Define the weights associed to the criterium used in the optimization. //! if wi <= 0.

        Parameters
        ----------
        W1: float
        W2: float
        W3: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_AppSurf_SetCriteriumWeight(self, *args)

    def SetParType(self, *args) -> "void":
        r"""
        Define the type of parametrization used in the approximation.

        Parameters
        ----------
        ParType: Approx_ParametrizationType

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_AppSurf_SetParType(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

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

        Parameters
        ----------
        Degmin: int
        Degmax: int
        Tol3d: float
        Tol2d: float
        NbIt: int
        KnownParameters: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_AppSweep_swiginit(self, _GeomFill.new_GeomFill_AppSweep(*args))

    def Continuity(self, *args) -> "GeomAbs_Shape":
        r"""
        Returns the continuity used in the approximation.

        Returns
        -------
        GeomAbs_Shape

        """
        return _GeomFill.GeomFill_AppSweep_Continuity(self, *args)

    def CriteriumWeight(self, *args) -> "void":
        r"""
        Returns the weights (as percent) associed to the criterium used in the optimization.

        Parameters
        ----------

        Returns
        -------
        W1: float
        W2: float
        W3: float

        """
        return _GeomFill.GeomFill_AppSweep_CriteriumWeight(self, *args)

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

        Parameters
        ----------
        Degmin: int
        Degmax: int
        Tol3d: float
        Tol2d: float
        NbIt: int
        KnownParameters: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_AppSweep_Init(self, *args)

    def ParType(self, *args) -> "Approx_ParametrizationType":
        r"""
        Returns the type of parametrization used in the approximation.

        Returns
        -------
        Approx_ParametrizationType

        """
        return _GeomFill.GeomFill_AppSweep_ParType(self, *args)

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

        Parameters
        ----------
        Lin: GeomFill_Line
        SecGen: GeomFill_SweepSectionGenerator
        SpApprox: bool,optional
        	default value is Standard_False

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

        Parameters
        ----------
        Lin: GeomFill_Line
        SecGen: GeomFill_SweepSectionGenerator
        NbMaxP: int

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_AppSweep_Perform(self, *args)

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

        Parameters
        ----------
        Lin: GeomFill_Line
        SecGen: GeomFill_SweepSectionGenerator

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_AppSweep_PerformSmoothing(self, *args)

    def SetContinuity(self, *args) -> "void":
        r"""
        Define the continuity used in the approximation.

        Parameters
        ----------
        C: GeomAbs_Shape

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_AppSweep_SetContinuity(self, *args)

    def SetCriteriumWeight(self, *args) -> "void":
        r"""
        Define the weights associed to the criterium used in the optimization. //! if wi <= 0.

        Parameters
        ----------
        W1: float
        W2: float
        W3: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_AppSweep_SetCriteriumWeight(self, *args)

    def SetParType(self, *args) -> "void":
        r"""
        Define the type of parametrization used in the approximation.

        Parameters
        ----------
        ParType: Approx_ParametrizationType

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_AppSweep_SetParType(self, *args)

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

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

        Parameters
        ----------
        C1: Geom_BSplineCurve
        C2: Geom_BSplineCurve
        C3: Geom_BSplineCurve
        C4: Geom_BSplineCurve
        Type: GeomFill_FillingStyle

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

        Parameters
        ----------
        C1: Geom_BSplineCurve
        C2: Geom_BSplineCurve
        C3: Geom_BSplineCurve
        Type: GeomFill_FillingStyle

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

        Parameters
        ----------
        C1: Geom_BSplineCurve
        C2: Geom_BSplineCurve
        Type: GeomFill_FillingStyle

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_BSplineCurves_swiginit(self, _GeomFill.new_GeomFill_BSplineCurves(*args))

    def Init(self, *args) -> "void":
        r"""
        If the curves cannot be joined.

        Parameters
        ----------
        C1: Geom_BSplineCurve
        C2: Geom_BSplineCurve
        C3: Geom_BSplineCurve
        C4: Geom_BSplineCurve
        Type: GeomFill_FillingStyle

        Returns
        -------
        None
        If the curves cannot be joined.

        Parameters
        ----------
        C1: Geom_BSplineCurve
        C2: Geom_BSplineCurve
        C3: Geom_BSplineCurve
        Type: GeomFill_FillingStyle

        Returns
        -------
        None
        Initializes or reinitializes this algorithm with two, three, or four curves - c1, c2, c3, and c4 - and type, one of the following filling styles: - 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. exceptions standard_constructionerror if the curves are not contiguous.

        Parameters
        ----------
        C1: Geom_BSplineCurve
        C2: Geom_BSplineCurve
        Type: GeomFill_FillingStyle

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_BSplineCurves_Init(self, *args)

    def Surface(self, *args) -> "opencascade::handle< Geom_BSplineSurface > const &":
        r"""
        Returns the bspline surface surface resulting from the computation performed by this algorithm.

        Returns
        -------
        opencascade::handle<Geom_BSplineSurface>

        """
        return _GeomFill.GeomFill_BSplineCurves_Surface(self, *args)

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

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

        Parameters
        ----------
        C1: Geom_BezierCurve
        C2: Geom_BezierCurve
        C3: Geom_BezierCurve
        C4: Geom_BezierCurve
        Type: GeomFill_FillingStyle

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

        Parameters
        ----------
        C1: Geom_BezierCurve
        C2: Geom_BezierCurve
        C3: Geom_BezierCurve
        Type: GeomFill_FillingStyle

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

        Parameters
        ----------
        C1: Geom_BezierCurve
        C2: Geom_BezierCurve
        Type: GeomFill_FillingStyle

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_BezierCurves_swiginit(self, _GeomFill.new_GeomFill_BezierCurves(*args))

    def Init(self, *args) -> "void":
        r"""
        If the curves cannot be joined.

        Parameters
        ----------
        C1: Geom_BezierCurve
        C2: Geom_BezierCurve
        C3: Geom_BezierCurve
        C4: Geom_BezierCurve
        Type: GeomFill_FillingStyle

        Returns
        -------
        None
        If the curves cannot be joined.

        Parameters
        ----------
        C1: Geom_BezierCurve
        C2: Geom_BezierCurve
        C3: Geom_BezierCurve
        Type: GeomFill_FillingStyle

        Returns
        -------
        None
        Initializes or reinitializes this algorithm with two, three, or four curves - c1, c2, c3, and c4 - and type, one of the following filling styles: - 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. exceptions standard_constructionerror if the curves are not contiguous.

        Parameters
        ----------
        C1: Geom_BezierCurve
        C2: Geom_BezierCurve
        Type: GeomFill_FillingStyle

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_BezierCurves_Init(self, *args)

    def Surface(self, *args) -> "opencascade::handle< Geom_BezierSurface > const &":
        r"""
        Returns the bezier surface resulting from the computation performed by this algorithm.

        Returns
        -------
        opencascade::handle<Geom_BezierSurface>

        """
        return _GeomFill.GeomFill_BezierCurves_Surface(self, *args)

    __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

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

        Parameters
        ----------

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

        """
        return _GeomFill.GeomFill_Boundary_Bounds(self, *args)

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

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

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Boundary_D1(self, *args)

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

        Parameters
        ----------
        U: float
        N: gp_Vec
        DN: gp_Vec

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Boundary_D1Norm(self, *args)

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

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_Boundary_HasNormals(self, *args)

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

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_Boundary_IsDegenerated(self, *args)

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

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

        Returns
        -------
        gp_Vec

        """
        return _GeomFill.GeomFill_Boundary_Norm(self, *args)

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

        Parameters
        ----------
        PFirst: gp_Pnt
        PLast: gp_Pnt

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Boundary_Points(self, *args)

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

        Parameters
        ----------
        First: float
        Last: float
        HasDF: bool
        HasDL: bool
        DF: float
        DL: float
        Rev: bool

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Boundary_Reparametrize(self, *args)

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

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

        Parameters
        ----------
        Tol: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Boundary_Tol3d(self, *args)

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

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

        Parameters
        ----------
        Tol: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Boundary_Tolang(self, *args)

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

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

        Returns
        -------
        gp_Pnt

        """
        return _GeomFill.GeomFill_Boundary_Value(self, *args)


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

        Parameters
        ----------
        Path: Adaptor3d_HCurve
        Curve1: Adaptor3d_HCurve
        Curve2: Adaptor3d_HCurve
        Radius: float
        Polynomial: bool,optional
        	default value is Standard_False

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

    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.

        Parameters
        ----------
        MaxDeg: int
        MaxSeg: int

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_ConstrainedFilling_swiginit(self, _GeomFill.new_GeomFill_ConstrainedFilling(*args))

    def Boundary(self, *args) -> "opencascade::handle< GeomFill_Boundary >":
        r"""
        Returns the bound of index i after sort.

        Parameters
        ----------
        I: int

        Returns
        -------
        opencascade::handle<GeomFill_Boundary>

        """
        return _GeomFill.GeomFill_ConstrainedFilling_Boundary(self, *args)

    def CheckApprox(self, *args) -> "void":
        r"""
        Computes values and normals along the bound i and compare them to the approx result curves (bound and tgte field) , draw the normals and tangents.

        Parameters
        ----------
        I: int

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_ConstrainedFilling_CheckApprox(self, *args)

    def CheckCoonsAlgPatch(self, *args) -> "void":
        r"""
        Computes the fields of tangents on 30 points along the bound i, these are not the constraint tangents but gives an idea of the coonsalgpatch regularity.

        Parameters
        ----------
        I: int

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_ConstrainedFilling_CheckCoonsAlgPatch(self, *args)

    def CheckResult(self, *args) -> "void":
        r"""
        Computes values and normals along the bound i on both constraint surface and result surface, draw the normals, and computes the max distance between values and the max angle between normals.

        Parameters
        ----------
        I: int

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_ConstrainedFilling_CheckResult(self, *args)

    def CheckTgteField(self, *args) -> "void":
        r"""
        Computes the fields of tangents and normals on 30 points along the bound i, draw them, and computes the max dot product that must be near than 0.

        Parameters
        ----------
        I: int

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_ConstrainedFilling_CheckTgteField(self, *args)

    def Eval(self, *args) -> "Standard_Integer":
        r"""
        Internal use for advmath approximation call.

        Parameters
        ----------
        W: float
        Ord: int

        Returns
        -------
        Result: float

        """
        return _GeomFill.GeomFill_ConstrainedFilling_Eval(self, *args)

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

        Parameters
        ----------
        B1: GeomFill_Boundary
        B2: GeomFill_Boundary
        B3: GeomFill_Boundary
        NoCheck: bool,optional
        	default value is Standard_False

        Returns
        -------
        None
        Constructs a bspline surface filled from the series of boundaries b1, b2, b3 and, if need be, b4, which serve: - as path constraints - and optionally, as tangency constraints if they are geomfill_boundwithsurf curves. the boundaries may be given in any order: they are classified and if necessary, reversed and reparameterized. the surface will also respect the following constraints: - its degree will not be greater than the maximum degree defined at the time of construction of this framework, and - the maximum number of segments maxseg which bspline surfaces can have.

        Parameters
        ----------
        B1: GeomFill_Boundary
        B2: GeomFill_Boundary
        B3: GeomFill_Boundary
        B4: GeomFill_Boundary
        NoCheck: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_ConstrainedFilling_Init(self, *args)

    def ReBuild(self, *args) -> "void":
        r"""
        Computes the new poles of the surface using the new blending functions set by several calls to setdomain.

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_ConstrainedFilling_ReBuild(self, *args)

    def SetDomain(self, *args) -> "void":
        r"""
        Allows to modify domain on witch the blending function associated to the constrained boundary b will propag the influence of the field of tangency. can be usefull to reduce influence of boundaries on whitch the coons compatibility conditions are not respected. l is a relative value of the parametric range of b. default value for l is 1 (used in init). warning: must be called after init with a constrained boundary used in the call to init.

        Parameters
        ----------
        l: float
        B: GeomFill_BoundWithSurf

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_ConstrainedFilling_SetDomain(self, *args)

    def Surface(self, *args) -> "opencascade::handle< Geom_BSplineSurface >":
        r"""
        Returns the bspline surface after computation of the fill by this framework.

        Returns
        -------
        opencascade::handle<Geom_BSplineSurface>

        """
        return _GeomFill.GeomFill_ConstrainedFilling_Surface(self, *args)

    __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

    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.

        Parameters
        ----------
        B1: GeomFill_Boundary
        B2: GeomFill_Boundary
        B3: GeomFill_Boundary
        B4: GeomFill_Boundary

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_CoonsAlgPatch_swiginit(self, _GeomFill.new_GeomFill_CoonsAlgPatch(*args))

    def Bound(self, *args) -> "opencascade::handle< GeomFill_Boundary > const &":
        r"""
        No available documentation.

        Parameters
        ----------
        I: int

        Returns
        -------
        opencascade::handle<GeomFill_Boundary>

        """
        return _GeomFill.GeomFill_CoonsAlgPatch_Bound(self, *args)

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

        Parameters
        ----------
        I: int

        Returns
        -------
        gp_Pnt

        """
        return _GeomFill.GeomFill_CoonsAlgPatch_Corner(self, *args)

    def D1U(self, *args) -> "gp_Vec":
        r"""
        Computes the d/du partial derivative on the algorithmic patch at parameters u and v.

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

        Returns
        -------
        gp_Vec

        """
        return _GeomFill.GeomFill_CoonsAlgPatch_D1U(self, *args)

    def D1V(self, *args) -> "gp_Vec":
        r"""
        Computes the d/dv partial derivative on the algorithmic patch at parameters u and v.

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

        Returns
        -------
        gp_Vec

        """
        return _GeomFill.GeomFill_CoonsAlgPatch_D1V(self, *args)

    def DUV(self, *args) -> "gp_Vec":
        r"""
        Computes the d2/dudv partial derivative on the algorithmic patch made with linear blending functions at parameter u and v.

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

        Returns
        -------
        gp_Vec

        """
        return _GeomFill.GeomFill_CoonsAlgPatch_DUV(self, *args)

    def Func(self, *args) -> "opencascade::handle< Law_Function > const &":
        r"""
        Give the blending functions.

        Parameters
        ----------
        f1: Law_Function
        f2: Law_Function

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

        Parameters
        ----------
        I: int

        Returns
        -------
        opencascade::handle<Law_Function>

        """
        return _GeomFill.GeomFill_CoonsAlgPatch_Func(self, *args)

    def SetFunc(self, *args) -> "void":
        r"""
        Set the blending functions.

        Parameters
        ----------
        f1: Law_Function
        f2: Law_Function

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_CoonsAlgPatch_SetFunc(self, *args)

    def Value(self, *args) -> "gp_Pnt":
        r"""
        Computes the value on the algorithmic patch at parameters u and v.

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

        Returns
        -------
        gp_Pnt

        """
        return _GeomFill.GeomFill_CoonsAlgPatch_Value(self, *args)


    @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

    def __init__(self, *args):
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_CornerState_swiginit(self, _GeomFill.new_GeomFill_CornerState(*args))

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

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_CornerState_Constraint(self, *args)

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

        Parameters
        ----------
        Scal: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_CornerState_DoKill(self, *args)

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

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

        Parameters
        ----------
        G: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_CornerState_Gap(self, *args)

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

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_CornerState_HasConstraint(self, *args)

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

        Parameters
        ----------

        Returns
        -------
        Scal: float

        """
        return _GeomFill.GeomFill_CornerState_IsToKill(self, *args)

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

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

        Parameters
        ----------
        Ang: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_CornerState_NorAng(self, *args)

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

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

        Parameters
        ----------
        Ang: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_CornerState_TgtAng(self, *args)

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

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_Filling_swiginit(self, _GeomFill.new_GeomFill_Filling(*args))

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

        Returns
        -------
        int

        """
        return _GeomFill.GeomFill_Filling_NbUPoles(self, *args)

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

        Returns
        -------
        int

        """
        return _GeomFill.GeomFill_Filling_NbVPoles(self, *args)

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

        Parameters
        ----------
        Poles: TColgp_Array2OfPnt

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Filling_Poles(self, *args)

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

        Parameters
        ----------
        Weights: TColStd_Array2OfReal

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Filling_Weights(self, *args)

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

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_Filling_isRational(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        S: Adaptor3d_HSurface
        C: Adaptor3d_HCurve

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_FunctionDraft_swiginit(self, _GeomFill.new_GeomFill_FunctionDraft(*args))

    def Deriv2T(self, *args) -> "Standard_Boolean":
        r"""
        Returns the values <f> of the t2 derivatives for the parameter param .

        Parameters
        ----------
        C: Adaptor3d_HCurve
        Param: float
        W: float
        d2N: gp_Vec
        teta: float
        F: math_Vector

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_FunctionDraft_Deriv2T(self, *args)

    def Deriv2X(self, *args) -> "Standard_Boolean":
        r"""
        Returns the values <t> of the x2 derivatives for the parameter param .

        Parameters
        ----------
        X: math_Vector
        T: GeomFill_Tensor

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_FunctionDraft_Deriv2X(self, *args)

    def DerivT(self, *args) -> "Standard_Boolean":
        r"""
        Returns the values <f> of the t derivatives for the parameter param .

        Parameters
        ----------
        C: Adaptor3d_HCurve
        Param: float
        W: float
        dN: gp_Vec
        teta: float
        F: math_Vector

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_FunctionDraft_DerivT(self, *args)

    def DerivTX(self, *args) -> "Standard_Boolean":
        r"""
        Returns the values <d> of the tx derivatives for the parameter param .

        Parameters
        ----------
        dN: gp_Vec
        teta: float
        D: math_Matrix

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_FunctionDraft_DerivTX(self, *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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        S: GeomFill_SectionLaw
        Guide: Adaptor3d_HCurve
        ParamOnLaw: float,optional
        	default value is 0.0

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_FunctionGuide_swiginit(self, _GeomFill.new_GeomFill_FunctionGuide(*args))

    def DerivT(self, *args) -> "Standard_Boolean":
        r"""
        Returns the values <f> of the t derivatives for the parameter param .

        Parameters
        ----------
        X: math_Vector
        DCentre: gp_XYZ
        DDir: gp_XYZ
        DFDT: math_Vector

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_FunctionGuide_DerivT(self, *args)

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

        Parameters
        ----------
        Param: float
        Centre: gp_Pnt
        Dir: gp_XYZ
        XDir: gp_XYZ

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_FunctionGuide_SetParam(self, *args)

    __repr__ = _dumps_object

    @methodnotwrapped
    def Deriv2T(self):
    	pass

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

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

        Parameters
        ----------
        NbPoints: int

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_Line_swiginit(self, _GeomFill.new_GeomFill_Line(*args))

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

        Returns
        -------
        int

        """
        return _GeomFill.GeomFill_Line_NbPoints(self, *args)

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

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

        Returns
        -------
        int

        """
        return _GeomFill.GeomFill_Line_Point(self, *args)


    @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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        Law: GeomFill_LocationLaw

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_LocFunction_swiginit(self, _GeomFill.new_GeomFill_LocFunction(*args))

    def D0(self, *args) -> "Standard_Boolean":
        r"""
        Compute the section for v = param.

        Parameters
        ----------
        Param: float
        First: float
        Last: float

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_LocFunction_D0(self, *args)

    def D1(self, *args) -> "Standard_Boolean":
        r"""
        Compute the first derivative in v direction of the section for v = param.

        Parameters
        ----------
        Param: float
        First: float
        Last: float

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_LocFunction_D1(self, *args)

    def D2(self, *args) -> "Standard_Boolean":
        r"""
        Compute the second derivative in v direction of the section for v = param.

        Parameters
        ----------
        Param: float
        First: float
        Last: float

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_LocFunction_D2(self, *args)

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

        Parameters
        ----------
        Param: float
        First: float
        Last: float
        Order: int

        Returns
        -------
        Result: float
        Ier: int

        """
        return _GeomFill.GeomFill_LocFunction_DN(self, *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

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

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

        """
        return _GeomFill.GeomFill_LocationLaw_Copy(self, *args)

    def D0(self, *args) -> "Standard_Boolean":
        r"""
        Compute location.

        Parameters
        ----------
        Param: float
        M: gp_Mat
        V: gp_Vec

        Returns
        -------
        bool
        Compute location and 2d points.

        Parameters
        ----------
        Param: float
        M: gp_Mat
        V: gp_Vec
        Poles2d: TColgp_Array1OfPnt2d

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_LocationLaw_D0(self, *args)

    def D1(self, *args) -> "Standard_Boolean":
        r"""
        Compute location 2d points and associated first derivatives. warning : it used only for c1 or c2 aproximation.

        Parameters
        ----------
        Param: float
        M: gp_Mat
        V: gp_Vec
        DM: gp_Mat
        DV: gp_Vec
        Poles2d: TColgp_Array1OfPnt2d
        DPoles2d: TColgp_Array1OfVec2d

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_LocationLaw_D1(self, *args)

    def D2(self, *args) -> "Standard_Boolean":
        r"""
        Compute location 2d points and associated first and seconde derivatives. warning : it used only for c2 aproximation.

        Parameters
        ----------
        Param: float
        M: gp_Mat
        V: gp_Vec
        DM: gp_Mat
        DV: gp_Vec
        D2M: gp_Mat
        D2V: gp_Vec
        Poles2d: TColgp_Array1OfPnt2d
        DPoles2d: TColgp_Array1OfVec2d
        D2Poles2d: TColgp_Array1OfVec2d

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_LocationLaw_D2(self, *args)

    def ErrorStatus(self, *args) -> "GeomFill_PipeError":
        r"""
        Give a status to the law returns pipeok (default implementation).

        Returns
        -------
        GeomFill_PipeError

        """
        return _GeomFill.GeomFill_LocationLaw_ErrorStatus(self, *args)

    def GetAverageLaw(self, *args) -> "void":
        r"""
        Get average value of m(t) and v(t) it is usfull to make fast approximation of rational surfaces.

        Parameters
        ----------
        AM: gp_Mat
        AV: gp_Vec

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_LocationLaw_GetAverageLaw(self, *args)

    def GetCurve(self, *args) -> "opencascade::handle< Adaptor3d_HCurve > const &":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<Adaptor3d_HCurve>

        """
        return _GeomFill.GeomFill_LocationLaw_GetCurve(self, *args)

    def GetDomain(self, *args) -> "void":
        r"""
        Gets the bounds of the function parametric domain. warning: this domain it is not modified by the setvalue method.

        Parameters
        ----------

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

        """
        return _GeomFill.GeomFill_LocationLaw_GetDomain(self, *args)

    def GetInterval(self, *args) -> "void":
        r"""
        Gets the bounds of the parametric interval on the function.

        Parameters
        ----------

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

        """
        return _GeomFill.GeomFill_LocationLaw_GetInterval(self, *args)

    def GetMaximalNorm(self, *args) -> "Standard_Real":
        r"""
        Get the maximum norm of the matrix-location part. it is usful to find an good tolerance to approx m(t).

        Returns
        -------
        float

        """
        return _GeomFill.GeomFill_LocationLaw_GetMaximalNorm(self, *args)

    def HasFirstRestriction(self, *args) -> "Standard_Boolean":
        r"""
        Say if the first restriction is defined in this class. if it is true the first element of poles array in d0,d1,d2... correspond to this restriction. returns standard_false (default implementation).

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_LocationLaw_HasFirstRestriction(self, *args)

    def HasLastRestriction(self, *args) -> "Standard_Boolean":
        r"""
        Say if the last restriction is defined in this class. if it is true the last element of poles array in d0,d1,d2... correspond to this restriction. returns standard_false (default implementation).

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_LocationLaw_HasLastRestriction(self, *args)

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

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

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_LocationLaw_Intervals(self, *args)

    def IsRotation(self, *args) -> "Standard_Boolean":
        r"""
        Say if the location law, is a rotation of location the default implementation is ' returns false '.

        Parameters
        ----------

        Returns
        -------
        Error: float

        """
        return _GeomFill.GeomFill_LocationLaw_IsRotation(self, *args)

    def IsTranslation(self, *args) -> "Standard_Boolean":
        r"""
        Say if the location law, is an translation of location the default implementation is ' returns false '.

        Parameters
        ----------

        Returns
        -------
        Error: float

        """
        return _GeomFill.GeomFill_LocationLaw_IsTranslation(self, *args)

    def Nb2dCurves(self, *args) -> "Standard_Integer":
        r"""
        Get the number of 2d curves (restrictions + traces) to approximate.

        Returns
        -------
        int

        """
        return _GeomFill.GeomFill_LocationLaw_Nb2dCurves(self, *args)

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

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

        Returns
        -------
        int

        """
        return _GeomFill.GeomFill_LocationLaw_NbIntervals(self, *args)

    def Resolution(self, *args) -> "void":
        r"""
        Returns the resolutions in the sub-space 2d <index> this information is usfull to find an good tolerance in 2d approximation.

        Parameters
        ----------
        Index: int
        Tol: float

        Returns
        -------
        TolU: float
        TolV: float

        """
        return _GeomFill.GeomFill_LocationLaw_Resolution(self, *args)

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

        Parameters
        ----------
        Center: gp_Pnt

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_LocationLaw_Rotation(self, *args)

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

        Parameters
        ----------
        C: Adaptor3d_HCurve

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_LocationLaw_SetCurve(self, *args)

    def SetInterval(self, *args) -> "void":
        r"""
        Sets the bounds of the parametric interval on the function this determines the derivatives in these values if the function is not cn.

        Parameters
        ----------
        First: float
        Last: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_LocationLaw_SetInterval(self, *args)

    def SetTolerance(self, *args) -> "void":
        r"""
        Is usefull, if (me) have to run numerical algorithm to perform d0, d1 or d2 the default implementation make nothing.

        Parameters
        ----------
        Tol3d: float
        Tol2d: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_LocationLaw_SetTolerance(self, *args)

    def SetTrsf(self, *args) -> "void":
        r"""
        Set a transformation matrix like the law m(t) become mat * m(t).

        Parameters
        ----------
        Transfo: gp_Mat

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_LocationLaw_SetTrsf(self, *args)

    def TraceNumber(self, *args) -> "Standard_Integer":
        r"""
        Give the number of trace (curves 2d wich are not restriction) returns 0 (default implementation).

        Returns
        -------
        int

        """
        return _GeomFill.GeomFill_LocationLaw_TraceNumber(self, *args)


    @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

    def __init__(self, *args):
        r"""
        Constructs an empty algorithm for building pipes. use the function init to initialize it.

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

        Parameters
        ----------
        Path: Geom_Curve
        Radius: float

        Returns
        -------
        None
        Create a pipe with a constant section (<firstsection>) and a path (<path>) option can be - geomfill_iscorrectedfrenet - geomfill_isfrenet - geomfill_isconstant.

        Parameters
        ----------
        Path: Geom_Curve
        FirstSect: Geom_Curve
        Option: GeomFill_Trihedron,optional
        	default value is GeomFill_IsCorrectedFrenet

        Returns
        -------
        None
        Create a pipe with a constant section (<firstsection>) and a path defined by <path> and <support>.

        Parameters
        ----------
        Path: Geom2d_Curve
        Support: Geom_Surface
        FirstSect: Geom_Curve

        Returns
        -------
        None
        Create a pipe with a constant section (<firstsection>) and a path <path> and a fixed binormal direction <dir>.

        Parameters
        ----------
        Path: Geom_Curve
        FirstSect: Geom_Curve
        Dir: gp_Dir

        Returns
        -------
        None
        Create a pipe with an evolving section the section evoluate from first to last section.

        Parameters
        ----------
        Path: Geom_Curve
        FirstSect: Geom_Curve
        LastSect: Geom_Curve

        Returns
        -------
        None
        Create a pipe with n sections the section evoluate from first to last section.

        Parameters
        ----------
        Path: Geom_Curve
        NSections: TColGeom_SequenceOfCurve

        Returns
        -------
        None
        Create a pipe with a constant radius with 2 guide-line.

        Parameters
        ----------
        Path: Geom_Curve
        Curve1: Geom_Curve
        Curve2: Geom_Curve
        Radius: float

        Returns
        -------
        None
        Create a pipe with a constant radius with 2 guide-line.

        Parameters
        ----------
        Path: Adaptor3d_HCurve
        Curve1: Adaptor3d_HCurve
        Curve2: Adaptor3d_HCurve
        Radius: float

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

        Parameters
        ----------
        Path: Geom_Curve
        Guide: Adaptor3d_HCurve
        FirstSect: Geom_Curve
        ByACR: bool
        rotat: bool

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_Pipe_swiginit(self, _GeomFill.new_GeomFill_Pipe(*args))

    def ErrorOnSurf(self, *args) -> "Standard_Real":
        r"""
        Returns the approximation's error. if the surface is plane, cylinder ... this error can be 0.

        Returns
        -------
        float

        """
        return _GeomFill.GeomFill_Pipe_ErrorOnSurf(self, *args)

    def ExchangeUV(self, *args) -> "Standard_Boolean":
        r"""
        The u parametric direction of the surface constructed by this algorithm usually corresponds to the evolution along the path and the v parametric direction corresponds to the evolution along the section(s). however, this rule is not respected when constructing certain specific geom surfaces (typically cylindrical surfaces, surfaces of revolution, etc.) for which the parameterization is inversed. the exchangeuv function checks for this, and returns true in all these specific cases. warning do not use this function before the surface is built.

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_Pipe_ExchangeUV(self, *args)

    def GenerateParticularCase(self, *args) -> "Standard_Boolean":
        r"""
        Sets a flag to try to create as many planes, cylinder,... as possible. default value is <standard_false>.

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

        Returns
        -------
        None
        Returns the flag.

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_Pipe_GenerateParticularCase(self, *args)

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

        Parameters
        ----------
        Path: Geom_Curve
        Radius: float

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

        Parameters
        ----------
        Path: Geom_Curve
        FirstSect: Geom_Curve
        Option: GeomFill_Trihedron,optional
        	default value is GeomFill_IsCorrectedFrenet

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

        Parameters
        ----------
        Path: Geom2d_Curve
        Support: Geom_Surface
        FirstSect: Geom_Curve

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

        Parameters
        ----------
        Path: Geom_Curve
        FirstSect: Geom_Curve
        Dir: gp_Dir

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

        Parameters
        ----------
        Path: Geom_Curve
        FirstSect: Geom_Curve
        LastSect: Geom_Curve

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

        Parameters
        ----------
        Path: Geom_Curve
        NSections: TColGeom_SequenceOfCurve

        Returns
        -------
        None
        Create a pipe with a constant radius with 2 guide-line.

        Parameters
        ----------
        Path: Adaptor3d_HCurve
        Curve1: Adaptor3d_HCurve
        Curve2: Adaptor3d_HCurve
        Radius: float

        Returns
        -------
        None
        Initializes this pipe algorithm to build the following surface: - a pipe with a constant circular section of radius radius along the path path, or - a pipe with constant section firstsect along the path path, or - a pipe where the section evolves from firstsect to lastsect along the path path. use the function perform to build the surface. note: a description of the resulting surface is given under constructors.

        Parameters
        ----------
        Path: Geom_Curve
        Guide: Adaptor3d_HCurve
        FirstSect: Geom_Curve
        ByACR: bool
        rotat: bool

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Pipe_Init(self, *args)

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        Returns whether approximation was done.

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_Pipe_IsDone(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        Builds the pipe defined at the time of initialization of this algorithm. a description of the resulting surface is given under constructors. if withparameters (defaulted to false) is set to true, the approximation algorithm (used only in the general case of construction of a bspline surface) builds the surface with a u parameter corresponding to the one of the path. exceptions standard_constructionerror if a surface cannot be constructed from the data. warning: it is the old perform method, the next methode is recommended.

        Parameters
        ----------
        WithParameters: bool,optional
        	default value is Standard_False
        myPolynomial: bool,optional
        	default value is Standard_False

        Returns
        -------
        None
        Detects the particular cases. and compute the surface. if none particular case is detected we make an approximation with respect of the tolerance <tol>, the continuty <conti>, the maximum degree <maxdegree>, the maximum number of span <nbmaxsegment> and the spine parametrization. if we can't create a surface with the data.

        Parameters
        ----------
        Tol: float
        Polynomial: bool
        Conti: GeomAbs_Shape,optional
        	default value is GeomAbs_C1
        MaxDegree: int,optional
        	default value is 11
        NbMaxSegment: int,optional
        	default value is 30

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Pipe_Perform(self, *args)

    def Surface(self, *args) -> "opencascade::handle< Geom_Surface > const &":
        r"""
        Returns the surface built by this algorithm. warning do not use this function before the surface is built (in this case the function will return a null handle).

        Returns
        -------
        opencascade::handle<Geom_Surface>

        """
        return _GeomFill.GeomFill_Pipe_Surface(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        P: gp_Pnt
        V: gp_Vec
        C: Adaptor3d_HCurve

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_PlanFunc_swiginit(self, _GeomFill.new_GeomFill_PlanFunc(*args))

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

        Parameters
        ----------
        X: float

        Returns
        -------
        F: float
        D1: float
        D2: float

        """
        return _GeomFill.GeomFill_PlanFunc_D2(self, *args)

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

        Parameters
        ----------
        X: float
        DP: gp_Vec
        D2P: gp_Vec
        DV: gp_Vec
        D2V: gp_Vec

        Returns
        -------
        DFDT: float
        D2FDT2: float
        D2FDTDX: float

        """
        return _GeomFill.GeomFill_PlanFunc_D2E(self, *args)

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

        Parameters
        ----------
        X: float
        DP: gp_Vec
        DV: gp_Vec

        Returns
        -------
        DF: float

        """
        return _GeomFill.GeomFill_PlanFunc_DEDT(self, *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"""
        No available documentation.

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_PolynomialConvertor_swiginit(self, _GeomFill.new_GeomFill_PolynomialConvertor(*args))

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

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_PolynomialConvertor_Init(self, *args)

    def Initialized(self, *args) -> "Standard_Boolean":
        r"""
        Say if <self> is initialized.

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_PolynomialConvertor_Initialized(self, *args)

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

        Parameters
        ----------
        FirstPnt: gp_Pnt
        Center: gp_Pnt
        Dir: gp_Vec
        Angle: float
        Poles: TColgp_Array1OfPnt

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

        Parameters
        ----------
        FirstPnt: gp_Pnt
        DFirstPnt: gp_Vec
        Center: gp_Pnt
        DCenter: gp_Vec
        Dir: gp_Vec
        DDir: gp_Vec
        Angle: float
        DAngle: float
        Poles: TColgp_Array1OfPnt
        DPoles: TColgp_Array1OfVec

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

        Parameters
        ----------
        FirstPnt: gp_Pnt
        DFirstPnt: gp_Vec
        D2FirstPnt: gp_Vec
        Center: gp_Pnt
        DCenter: gp_Vec
        D2Center: gp_Vec
        Dir: gp_Vec
        DDir: gp_Vec
        D2Dir: gp_Vec
        Angle: float
        DAngle: float
        D2Angle: float
        Poles: TColgp_Array1OfPnt
        DPoles: TColgp_Array1OfVec
        D2Poles: TColgp_Array1OfVec

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_PolynomialConvertor_Section(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_Profiler_swiginit(self, _GeomFill.new_GeomFill_Profiler(*args))

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

        Parameters
        ----------
        Curve: Geom_Curve

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Profiler_AddCurve(self, *args)

    def Curve(self, *args) -> "opencascade::handle< Geom_Curve > const &":
        r"""
        No available documentation.

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

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

        """
        return _GeomFill.GeomFill_Profiler_Curve(self, *args)

    def Degree(self, *args) -> "Standard_Integer":
        r"""
        Raises if not yet perform.

        Returns
        -------
        int

        """
        return _GeomFill.GeomFill_Profiler_Degree(self, *args)

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

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_Profiler_IsPeriodic(self, *args)

    def KnotsAndMults(self, *args) -> "void":
        r"""
        Raises if not yet perform raises if the lengthes of <knots> and <mults> are not equal to nbknots().

        Parameters
        ----------
        Knots: TColStd_Array1OfReal
        Mults: TColStd_Array1OfInteger

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Profiler_KnotsAndMults(self, *args)

    def NbKnots(self, *args) -> "Standard_Integer":
        r"""
        Raises if not yet perform.

        Returns
        -------
        int

        """
        return _GeomFill.GeomFill_Profiler_NbKnots(self, *args)

    def NbPoles(self, *args) -> "Standard_Integer":
        r"""
        Raises if not yet perform.

        Returns
        -------
        int

        """
        return _GeomFill.GeomFill_Profiler_NbPoles(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        Converts all curves to bsplinecurves. set them to the common profile. <ptol> is used to compare 2 knots.

        Parameters
        ----------
        PTol: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Profiler_Perform(self, *args)

    def Poles(self, *args) -> "void":
        r"""
        Returns in <poles> the poles of the bsplinecurve from index <index> adjusting to the current profile. raises if not yet perform raises if <index> not in the range [1,nbcurves] if the length of <poles> is not equal to nbpoles().

        Parameters
        ----------
        Index: int
        Poles: TColgp_Array1OfPnt

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Profiler_Poles(self, *args)

    def Weights(self, *args) -> "void":
        r"""
        Returns in <weights> the weights of the bsplinecurve from index <index> adjusting to the current profile. raises if not yet perform raises if <index> not in the range [1,nbcurves] or if the length of <weights> is not equal to nbpoles().

        Parameters
        ----------
        Index: int
        Weights: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Profiler_Weights(self, *args)

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

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_QuasiAngularConvertor_swiginit(self, _GeomFill.new_GeomFill_QuasiAngularConvertor(*args))

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

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_QuasiAngularConvertor_Init(self, *args)

    def Initialized(self, *args) -> "Standard_Boolean":
        r"""
        Say if <self> is initialized.

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_QuasiAngularConvertor_Initialized(self, *args)

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

        Parameters
        ----------
        FirstPnt: gp_Pnt
        Center: gp_Pnt
        Dir: gp_Vec
        Angle: float
        Poles: TColgp_Array1OfPnt
        Weights: TColStd_Array1OfReal

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

        Parameters
        ----------
        FirstPnt: gp_Pnt
        DFirstPnt: gp_Vec
        Center: gp_Pnt
        DCenter: gp_Vec
        Dir: gp_Vec
        DDir: gp_Vec
        Angle: float
        DAngle: float
        Poles: TColgp_Array1OfPnt
        DPoles: TColgp_Array1OfVec
        Weights: TColStd_Array1OfReal
        DWeights: TColStd_Array1OfReal

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

        Parameters
        ----------
        FirstPnt: gp_Pnt
        DFirstPnt: gp_Vec
        D2FirstPnt: gp_Vec
        Center: gp_Pnt
        DCenter: gp_Vec
        D2Center: gp_Vec
        Dir: gp_Vec
        DDir: gp_Vec
        D2Dir: gp_Vec
        Angle: float
        DAngle: float
        D2Angle: float
        Poles: TColgp_Array1OfPnt
        DPoles: TColgp_Array1OfVec
        D2Poles: TColgp_Array1OfVec
        Weights: TColStd_Array1OfReal
        DWeights: TColStd_Array1OfReal
        D2Weights: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_QuasiAngularConvertor_Section(self, *args)

    __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

    def BSplineSurface(self, *args) -> "opencascade::handle< Geom_BSplineSurface >":
        r"""
        Give if possible an bspline surface, like iso-v are the section. if it is not possible this methode have to get an null surface. it is the default implementation.

        Returns
        -------
        opencascade::handle<Geom_BSplineSurface>

        """
        return _GeomFill.GeomFill_SectionLaw_BSplineSurface(self, *args)

    def BarycentreOfSurf(self, *args) -> "gp_Pnt":
        r"""
        Get the barycentre of surface. an very poor estimation is sufficent. this information is usefull to perform well conditioned rational approximation. warning: used only if <self> isrational.

        Returns
        -------
        gp_Pnt

        """
        return _GeomFill.GeomFill_SectionLaw_BarycentreOfSurf(self, *args)

    def CirclSection(self, *args) -> "opencascade::handle< Geom_Curve >":
        r"""
        Return the circle section at parameter <param>, if <self> a isconicallaw.

        Parameters
        ----------
        Param: float

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

        """
        return _GeomFill.GeomFill_SectionLaw_CirclSection(self, *args)

    def ConstantSection(self, *args) -> "opencascade::handle< Geom_Curve >":
        r"""
        Return a copy of the constant section, if me isconstant.

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

        """
        return _GeomFill.GeomFill_SectionLaw_ConstantSection(self, *args)

    def D0(self, *args) -> "Standard_Boolean":
        r"""
        Compute the section for v = param.

        Parameters
        ----------
        Param: float
        Poles: TColgp_Array1OfPnt
        Weigths: TColStd_Array1OfReal

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_SectionLaw_D0(self, *args)

    def D1(self, *args) -> "Standard_Boolean":
        r"""
        Compute the first derivative in v direction of the section for v = param warning : it used only for c1 or c2 aproximation.

        Parameters
        ----------
        Param: float
        Poles: TColgp_Array1OfPnt
        DPoles: TColgp_Array1OfVec
        Weigths: TColStd_Array1OfReal
        DWeigths: TColStd_Array1OfReal

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_SectionLaw_D1(self, *args)

    def D2(self, *args) -> "Standard_Boolean":
        r"""
        Compute the second derivative in v direction of the section for v = param warning : it used only for c2 aproximation.

        Parameters
        ----------
        Param: float
        Poles: TColgp_Array1OfPnt
        DPoles: TColgp_Array1OfVec
        D2Poles: TColgp_Array1OfVec
        Weigths: TColStd_Array1OfReal
        DWeigths: TColStd_Array1OfReal
        D2Weigths: TColStd_Array1OfReal

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_SectionLaw_D2(self, *args)

    def GetDomain(self, *args) -> "void":
        r"""
        Gets the bounds of the function parametric domain. warning: this domain it is not modified by the setvalue method.

        Parameters
        ----------

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

        """
        return _GeomFill.GeomFill_SectionLaw_GetDomain(self, *args)

    def GetInterval(self, *args) -> "void":
        r"""
        Gets the bounds of the parametric interval on the function.

        Parameters
        ----------

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

        """
        return _GeomFill.GeomFill_SectionLaw_GetInterval(self, *args)

    def GetMinimalWeight(self, *args) -> "void":
        r"""
        Compute the minimal value of weight for each poles in all sections. this information is usefull to control error in rational approximation. warning: used only if <self> isrational.

        Parameters
        ----------
        Weigths: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_SectionLaw_GetMinimalWeight(self, *args)

    def GetTolerance(self, *args) -> "void":
        r"""
        Returns the tolerances associated at each poles to reach in approximation, to satisfy: boundtol error at the boundary angletol tangent error at the boundary (in radian) surftol error inside the surface.

        Parameters
        ----------
        BoundTol: float
        SurfTol: float
        AngleTol: float
        Tol3d: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_SectionLaw_GetTolerance(self, *args)

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

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

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_SectionLaw_Intervals(self, *args)

    def IsConicalLaw(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if all section are circle, with same plane,same center and linear radius evolution return false by default.

        Parameters
        ----------

        Returns
        -------
        Error: float

        """
        return _GeomFill.GeomFill_SectionLaw_IsConicalLaw(self, *args)

    def IsConstant(self, *args) -> "Standard_Boolean":
        r"""
        Say if all sections are equals.

        Parameters
        ----------

        Returns
        -------
        Error: float

        """
        return _GeomFill.GeomFill_SectionLaw_IsConstant(self, *args)

    def IsRational(self, *args) -> "Standard_Boolean":
        r"""
        Returns if the sections are rationnal or not.

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_SectionLaw_IsRational(self, *args)

    def IsUPeriodic(self, *args) -> "Standard_Boolean":
        r"""
        Returns if the sections are periodic or not.

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_SectionLaw_IsUPeriodic(self, *args)

    def IsVPeriodic(self, *args) -> "Standard_Boolean":
        r"""
        Returns if law is periodic or not.

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_SectionLaw_IsVPeriodic(self, *args)

    def Knots(self, *args) -> "void":
        r"""
        Get the knots of the section.

        Parameters
        ----------
        TKnots: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_SectionLaw_Knots(self, *args)

    def MaximalSection(self, *args) -> "Standard_Real":
        r"""
        Returns the length of the greater section. this information is usefull to g1's control. warning: with an little value, approximation can be slower.

        Returns
        -------
        float

        """
        return _GeomFill.GeomFill_SectionLaw_MaximalSection(self, *args)

    def Mults(self, *args) -> "void":
        r"""
        Get the multplicities of the section.

        Parameters
        ----------
        TMults: TColStd_Array1OfInteger

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_SectionLaw_Mults(self, *args)

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

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

        Returns
        -------
        int

        """
        return _GeomFill.GeomFill_SectionLaw_NbIntervals(self, *args)

    def SectionShape(self, *args) -> "void":
        r"""
        Get the format of an section.

        Parameters
        ----------

        Returns
        -------
        NbPoles: int
        NbKnots: int
        Degree: int

        """
        return _GeomFill.GeomFill_SectionLaw_SectionShape(self, *args)

    def SetInterval(self, *args) -> "void":
        r"""
        Sets the bounds of the parametric interval on the function this determines the derivatives in these values if the function is not cn.

        Parameters
        ----------
        First: float
        Last: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_SectionLaw_SetInterval(self, *args)

    def SetTolerance(self, *args) -> "void":
        r"""
        Is usefull, if (me) have to run numerical algorithm to perform d0, d1 or d2 the default implementation make nothing.

        Parameters
        ----------
        Tol3d: float
        Tol2d: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_SectionLaw_SetTolerance(self, *args)


    @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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        L: GeomFill_LocationLaw
        Section: Geom_Geometry

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_SectionPlacement_swiginit(self, _GeomFill.new_GeomFill_SectionPlacement(*args))

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

        Returns
        -------
        float

        """
        return _GeomFill.GeomFill_SectionPlacement_Angle(self, *args)

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

        Returns
        -------
        float

        """
        return _GeomFill.GeomFill_SectionPlacement_Distance(self, *args)

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

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_SectionPlacement_IsDone(self, *args)

    def ModifiedSection(self, *args) -> "opencascade::handle< Geom_Curve >":
        r"""
        Compute the section, in the coordinate syteme given by the location law. to have the normal to section equal to the location law normal. if <withtranslation> contact beetween <section> and <path> is forced.

        Parameters
        ----------
        WithTranslation: bool

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

        """
        return _GeomFill.GeomFill_SectionPlacement_ModifiedSection(self, *args)

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

        Returns
        -------
        float

        """
        return _GeomFill.GeomFill_SectionPlacement_ParameterOnPath(self, *args)

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

        Returns
        -------
        float

        """
        return _GeomFill.GeomFill_SectionPlacement_ParameterOnSection(self, *args)

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

        Parameters
        ----------
        Tol: float

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

        Parameters
        ----------
        Path: Adaptor3d_HCurve
        Tol: float

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

        Parameters
        ----------
        ParamOnPath: float
        Tol: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_SectionPlacement_Perform(self, *args)

    def Section(self, *args) -> "opencascade::handle< Geom_Curve >":
        r"""
        Compute the section, in the coordinate syteme given by the location law. if <withtranslation> contact beetween <section> and <path> is forced.

        Parameters
        ----------
        WithTranslation: bool

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

        """
        return _GeomFill.GeomFill_SectionPlacement_Section(self, *args)

    def SetLocation(self, *args) -> "void":
        r"""
        To change the section law.

        Parameters
        ----------
        L: GeomFill_LocationLaw

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_SectionPlacement_SetLocation(self, *args)

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

        Parameters
        ----------
        WithTranslation: bool
        WithCorrection: bool,optional
        	default value is Standard_False

        Returns
        -------
        gp_Trsf

        """
        return _GeomFill.GeomFill_SectionPlacement_Transformation(self, *args)

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

        Parameters
        ----------
        HC: Adaptor3d_HCurve

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_SnglrFunc_swiginit(self, _GeomFill.new_GeomFill_SnglrFunc(*args))

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

        Parameters
        ----------
        Ratio: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_SnglrFunc_SetRatio(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        Location: GeomFill_LocationLaw
        WithKpart: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_Sweep_swiginit(self, _GeomFill.new_GeomFill_Sweep(*args))

    def Build(self, *args) -> "void":
        r"""
        Build the sweeep surface approxstyle defines approximation strategy - geomfill_section : the composed function : location x section is directly approximed. - geomfill_location : the location law is approximed, and the sweepsurface is build algebric composition of approximed location law and section law this option is ok, if section.surface() methode is effective. continuity : the continuity in v waiting on the surface degmax : the maximum degree in v requiered on the surface segmax : the maximum number of span in v requiered on the surface //! raise if domain are infinite or profile not setted.

        Parameters
        ----------
        Section: GeomFill_SectionLaw
        Methode: GeomFill_ApproxStyle,optional
        	default value is GeomFill_Location
        Continuity: GeomAbs_Shape,optional
        	default value is GeomAbs_C2
        Degmax: int,optional
        	default value is 10
        Segmax: int,optional
        	default value is 30

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Sweep_Build(self, *args)

    def ErrorOnRestriction(self, *args) -> "void":
        r"""
        Gets the approximation error.

        Parameters
        ----------
        IsFirst: bool

        Returns
        -------
        UError: float
        VError: float

        """
        return _GeomFill.GeomFill_Sweep_ErrorOnRestriction(self, *args)

    def ErrorOnSurface(self, *args) -> "Standard_Real":
        r"""
        Gets the approximation error.

        Returns
        -------
        float

        """
        return _GeomFill.GeomFill_Sweep_ErrorOnSurface(self, *args)

    def ErrorOnTrace(self, *args) -> "void":
        r"""
        Gets the approximation error.

        Parameters
        ----------
        IndexOfTrace: int

        Returns
        -------
        UError: float
        VError: float

        """
        return _GeomFill.GeomFill_Sweep_ErrorOnTrace(self, *args)

    def ExchangeUV(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if sections are u-iso this can be produce in some cases when <withkpart> is true.

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_Sweep_ExchangeUV(self, *args)

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        Tells if the surface is buildt.

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_Sweep_IsDone(self, *args)

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

        Returns
        -------
        int

        """
        return _GeomFill.GeomFill_Sweep_NumberOfTrace(self, *args)

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

        Parameters
        ----------
        IsFirst: bool

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

        """
        return _GeomFill.GeomFill_Sweep_Restriction(self, *args)

    def SetDomain(self, *args) -> "void":
        r"""
        Set parametric information [<first>, <last>] sets the parametric bound of the sweeping surface to build. <sectionfirst>, <sectionlast> gives coresponding bounds parameter on the section law of <first> and <last> //! v-iso on sweeping surface s(u,v) is defined by location(v) and section(w) where w = sectionfirst + (v - first) / (last-first) * (sectionlast - sectionfirst) //! by default w = v, and first and last are given by first and last parameter stored in locationlaw.

        Parameters
        ----------
        First: float
        Last: float
        SectionFirst: float
        SectionLast: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Sweep_SetDomain(self, *args)

    def SetForceApproxC1(self, *args) -> "void":
        r"""
        Set the flag that indicates attempt to approximate a c1-continuous surface if a swept surface proved to be c0.

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

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Sweep_SetForceApproxC1(self, *args)

    def SetTolerance(self, *args) -> "void":
        r"""
        Set approximation tolerance tol3d : tolerance to surface approximation tol2d : tolerance used to perform curve approximation normaly the 2d curve are approximated with a tolerance given by the resolution method define in <locationlaw> but if this tolerance is too large tol2d is used. tolangular : tolerance (in radian) to control the angle beetween tangents on the section law and tangent of iso-v on approximed surface.

        Parameters
        ----------
        Tol3d: float
        BoundTol: float,optional
        	default value is 1.0
        Tol2d: float,optional
        	default value is 1.0e-5
        TolAngular: float,optional
        	default value is 1.0

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Sweep_SetTolerance(self, *args)

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

        Returns
        -------
        opencascade::handle<Geom_Surface>

        """
        return _GeomFill.GeomFill_Sweep_Surface(self, *args)

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

        Parameters
        ----------
        IndexOfTrace: int

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

        """
        return _GeomFill.GeomFill_Sweep_Trace(self, *args)

    def UReversed(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if parametrisation sens in u is inverse of parametrisation sens of section (or of path if exchangeuv).

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_Sweep_UReversed(self, *args)

    def VReversed(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if parametrisation sens in v is inverse of parametrisation sens of path (or of section if exchangeuv).

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_Sweep_VReversed(self, *args)

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

        Parameters
        ----------
        Section: GeomFill_SectionLaw
        Location: GeomFill_LocationLaw
        FirstParameter: float
        FirstParameterOnS: float
        RatioParameterOnS: float

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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        NbRow: int
        NbCol: int
        NbMat: int

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_Tensor_swiginit(self, _GeomFill.new_GeomFill_Tensor(*args))

    def GetChangeValue(self, Row: "Standard_Integer const", Col: "Standard_Integer const", Mat: "Standard_Integer const") -> "Standard_Real":
        r"""GetChangeValue(GeomFill_Tensor self, Standard_Integer const Row, Standard_Integer const Col, Standard_Integer const Mat) -> Standard_Real"""
        return _GeomFill.GeomFill_Tensor_GetChangeValue(self, Row, Col, Mat)

    def SetChangeValue(self, Row: "Standard_Integer const", Col: "Standard_Integer const", Mat: "Standard_Integer const", value: "Standard_Real") -> "void":
        r"""SetChangeValue(GeomFill_Tensor self, Standard_Integer const Row, Standard_Integer const Col, Standard_Integer const Mat, Standard_Real value)"""
        return _GeomFill.GeomFill_Tensor_SetChangeValue(self, Row, Col, Mat, value)

    def Init(self, *args) -> "void":
        r"""
        Initialize all the elements of a tensor to initialvalue.

        Parameters
        ----------
        InitialValue: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Tensor_Init(self, *args)

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

        Parameters
        ----------
        Right: math_Vector
        Product: math_Matrix

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Tensor_Multiply(self, *args)

    def Value(self, *args) -> "Standard_Real const &":
        r"""
        Accesses (in read or write mode) the value of index <row>, <col> and <mat> of a tensor. an exception is raised if <row>, <col> or <mat> are not in the correct range.

        Parameters
        ----------
        Row: int
        Col: int
        Mat: int

        Returns
        -------
        float

        """
        return _GeomFill.GeomFill_Tensor_Value(self, *args)

    __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

    def D1(self, *args) -> "void":
        r"""
        Computes the derivative of the field of tangency at parameter w.

        Parameters
        ----------
        W: float

        Returns
        -------
        gp_Vec
        Computes the value and the derivative of the field of tangency at parameter w.

        Parameters
        ----------
        W: float
        V: gp_Vec
        DV: gp_Vec

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_TgtField_D1(self, *args)

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

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_TgtField_IsScalable(self, *args)

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

        Parameters
        ----------
        Func: Law_BSpline

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_TgtField_Scale(self, *args)

    def Value(self, *args) -> "gp_Vec":
        r"""
        Computes the value of the field of tangency at parameter w.

        Parameters
        ----------
        W: float

        Returns
        -------
        gp_Vec

        """
        return _GeomFill.GeomFill_TgtField_Value(self, *args)


    @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

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

        Returns
        -------
        opencascade::handle<GeomFill_TrihedronLaw>

        """
        return _GeomFill.GeomFill_TrihedronLaw_Copy(self, *args)

    def D0(self, *args) -> "Standard_Boolean":
        r"""
        Compute triedrhon on curve at parameter <param>.

        Parameters
        ----------
        Param: float
        Tangent: gp_Vec
        Normal: gp_Vec
        BiNormal: gp_Vec

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_TrihedronLaw_D0(self, *args)

    def D1(self, *args) -> "Standard_Boolean":
        r"""
        Compute triedrhon and derivative trihedron on curve at parameter <param> warning : it used only for c1 or c2 aproximation.

        Parameters
        ----------
        Param: float
        Tangent: gp_Vec
        DTangent: gp_Vec
        Normal: gp_Vec
        DNormal: gp_Vec
        BiNormal: gp_Vec
        DBiNormal: gp_Vec

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_TrihedronLaw_D1(self, *args)

    def D2(self, *args) -> "Standard_Boolean":
        r"""
        Compute trihedron on curve first and seconde derivatives. warning : it used only for c2 aproximation.

        Parameters
        ----------
        Param: float
        Tangent: gp_Vec
        DTangent: gp_Vec
        D2Tangent: gp_Vec
        Normal: gp_Vec
        DNormal: gp_Vec
        D2Normal: gp_Vec
        BiNormal: gp_Vec
        DBiNormal: gp_Vec
        D2BiNormal: gp_Vec

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_TrihedronLaw_D2(self, *args)

    def ErrorStatus(self, *args) -> "GeomFill_PipeError":
        r"""
        Give a status to the law returns pipeok (default implementation).

        Returns
        -------
        GeomFill_PipeError

        """
        return _GeomFill.GeomFill_TrihedronLaw_ErrorStatus(self, *args)

    def GetAverageLaw(self, *args) -> "void":
        r"""
        Get average value of m(t) and v(t) it is usfull to make fast approximation of rational surfaces.

        Parameters
        ----------
        ATangent: gp_Vec
        ANormal: gp_Vec
        ABiNormal: gp_Vec

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_TrihedronLaw_GetAverageLaw(self, *args)

    def GetInterval(self, *args) -> "void":
        r"""
        Gets the bounds of the parametric interval on the function.

        Parameters
        ----------

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

        """
        return _GeomFill.GeomFill_TrihedronLaw_GetInterval(self, *args)

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

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

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_TrihedronLaw_Intervals(self, *args)

    def IsConstant(self, *args) -> "Standard_Boolean":
        r"""
        Say if the law is constant.

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_TrihedronLaw_IsConstant(self, *args)

    def IsOnlyBy3dCurve(self, *args) -> "Standard_Boolean":
        r"""
        Say if the law is defined, only by the 3d geometry of the setted curve return false by default.

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_TrihedronLaw_IsOnlyBy3dCurve(self, *args)

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

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

        Returns
        -------
        int

        """
        return _GeomFill.GeomFill_TrihedronLaw_NbIntervals(self, *args)

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

        Parameters
        ----------
        C: Adaptor3d_HCurve

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_TrihedronLaw_SetCurve(self, *args)

    def SetInterval(self, *args) -> "void":
        r"""
        Sets the bounds of the parametric interval on the function this determines the derivatives in these values if the function is not cn.

        Parameters
        ----------
        First: float
        Last: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_TrihedronLaw_SetInterval(self, *args)


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

        Parameters
        ----------
        CurveOnSurf: Adaptor3d_CurveOnSurface
        Tol3d: float
        Tolang: float

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

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

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

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

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        P3: TColgp_Array1OfPnt
        P4: TColgp_Array1OfPnt

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

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        P3: TColgp_Array1OfPnt
        P4: TColgp_Array1OfPnt
        W1: TColStd_Array1OfReal
        W2: TColStd_Array1OfReal
        W3: TColStd_Array1OfReal
        W4: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_Coons_swiginit(self, _GeomFill.new_GeomFill_Coons(*args))

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

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        P3: TColgp_Array1OfPnt
        P4: TColgp_Array1OfPnt

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

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        P3: TColgp_Array1OfPnt
        P4: TColgp_Array1OfPnt
        W1: TColStd_Array1OfReal
        W2: TColStd_Array1OfReal
        W3: TColStd_Array1OfReal
        W4: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Coons_Init(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

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

        Parameters
        ----------
        ForEvaluation: bool

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_CorrectedFrenet_swiginit(self, _GeomFill.new_GeomFill_CorrectedFrenet(*args))

    def EvaluateBestMode(self, *args) -> "GeomFill_Trihedron":
        r"""
        Tries to define the best trihedron mode for the curve. it can be: - frenet - correctedfrenet - discretetrihedron warning: the correctedfrenet must be constructed with option forevaluation = true, the curve must be set by method setcurve.

        Returns
        -------
        GeomFill_Trihedron

        """
        return _GeomFill.GeomFill_CorrectedFrenet_EvaluateBestMode(self, *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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        Trihedron: GeomFill_TrihedronLaw

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_CurveAndTrihedron_swiginit(self, _GeomFill.new_GeomFill_CurveAndTrihedron(*args))

    def D0(self, *args) -> "Standard_Boolean":
        r"""
        Compute location and 2d points.

        Parameters
        ----------
        Param: float
        M: gp_Mat
        V: gp_Vec

        Returns
        -------
        bool
        Compute location and 2d points.

        Parameters
        ----------
        Param: float
        M: gp_Mat
        V: gp_Vec
        Poles2d: TColgp_Array1OfPnt2d

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_CurveAndTrihedron_D0(self, *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"""
        No available documentation.

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

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        P3: TColgp_Array1OfPnt
        P4: TColgp_Array1OfPnt

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

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        P3: TColgp_Array1OfPnt
        P4: TColgp_Array1OfPnt
        W1: TColStd_Array1OfReal
        W2: TColStd_Array1OfReal
        W3: TColStd_Array1OfReal
        W4: TColStd_Array1OfReal

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

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt

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

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        W1: TColStd_Array1OfReal
        W2: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_Curved_swiginit(self, _GeomFill.new_GeomFill_Curved(*args))

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

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        P3: TColgp_Array1OfPnt
        P4: TColgp_Array1OfPnt

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

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        P3: TColgp_Array1OfPnt
        P4: TColgp_Array1OfPnt
        W1: TColStd_Array1OfReal
        W2: TColStd_Array1OfReal
        W3: TColStd_Array1OfReal
        W4: TColStd_Array1OfReal

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

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt

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

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        W1: TColStd_Array1OfReal
        W2: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Curved_Init(self, *args)

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

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

        Parameters
        ----------
        Point: gp_Pnt
        First: float
        Last: float
        Tol3d: float
        Tolang: float

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

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_DiscreteTrihedron_swiginit(self, _GeomFill.new_GeomFill_DiscreteTrihedron(*args))

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

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_DiscreteTrihedron_Init(self, *args)


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

        Parameters
        ----------
        BiNormal: gp_Vec
        Angle: float

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_DraftTrihedron_swiginit(self, _GeomFill.new_GeomFill_DraftTrihedron(*args))

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

        Parameters
        ----------
        Angle: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_DraftTrihedron_SetAngle(self, *args)


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

        Parameters
        ----------
        C: Geom_Curve
        L: Law_Function

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

        Parameters
        ----------
        Tangent: gp_Vec
        Normal: gp_Vec

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

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_Frenet_swiginit(self, _GeomFill.new_GeomFill_Frenet(*args))

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

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Frenet_Init(self, *args)


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

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_Generator_swiginit(self, _GeomFill.new_GeomFill_Generator(*args))

    def Surface(self, *args) -> "opencascade::handle< Geom_Surface > const &":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<Geom_Surface>

        """
        return _GeomFill.GeomFill_Generator_Surface(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        Direction: gp_Dir
        Angle: float

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_LocationDraft_swiginit(self, _GeomFill.new_GeomFill_LocationDraft(*args))

    def D0(self, *args) -> "Standard_Boolean":
        r"""
        Compute location.

        Parameters
        ----------
        Param: float
        M: gp_Mat
        V: gp_Vec

        Returns
        -------
        bool
        Compute location and 2d points.

        Parameters
        ----------
        Param: float
        M: gp_Mat
        V: gp_Vec
        Poles2d: TColgp_Array1OfPnt2d

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_LocationDraft_D0(self, *args)

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

        Returns
        -------
        gp_Dir

        """
        return _GeomFill.GeomFill_LocationDraft_Direction(self, *args)

    def IsIntersec(self, *args) -> "Standard_Boolean":
        r"""
        Say if the generatrice interset the surface.

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_LocationDraft_IsIntersec(self, *args)

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

        Parameters
        ----------
        Angle: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_LocationDraft_SetAngle(self, *args)

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

        Parameters
        ----------
        Surf: Adaptor3d_HSurface

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_LocationDraft_SetStopSurf(self, *args)


    @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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        Triedre: GeomFill_TrihedronWithGuide

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_LocationGuide_swiginit(self, _GeomFill.new_GeomFill_LocationGuide(*args))

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

        Parameters
        ----------
        ParAndRad: TColgp_HArray1OfPnt2d

        Returns
        -------
        GeomFill_PipeError

        """
        return _GeomFill.GeomFill_LocationGuide_ComputeAutomaticLaw(self, *args)

    def D0(self, *args) -> "Standard_Boolean":
        r"""
        Compute location.

        Parameters
        ----------
        Param: float
        M: gp_Mat
        V: gp_Vec

        Returns
        -------
        bool
        Compute location and 2d points.

        Parameters
        ----------
        Param: float
        M: gp_Mat
        V: gp_Vec
        Poles2d: TColgp_Array1OfPnt2d

        Returns
        -------
        bool

        """
        return _GeomFill.GeomFill_LocationGuide_D0(self, *args)

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

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_LocationGuide_EraseRotation(self, *args)

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

        Returns
        -------
        opencascade::handle<Adaptor3d_HCurve>

        """
        return _GeomFill.GeomFill_LocationGuide_Guide(self, *args)

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

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

        """
        return _GeomFill.GeomFill_LocationGuide_Section(self, *args)

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

        Parameters
        ----------
        Section: GeomFill_SectionLaw
        rotat: bool
        SFirst: float
        SLast: float
        PrecAngle: float

        Returns
        -------
        LastAngle: float

        """
        return _GeomFill.GeomFill_LocationGuide_Set(self, *args)

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

        Parameters
        ----------
        Param1: float
        Param2: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_LocationGuide_SetOrigine(self, *args)


    @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_NSections(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 a sectionlaw with n curves.

        Parameters
        ----------
        NC: TColGeom_SequenceOfCurve

        Returns
        -------
        None
        Make a sectionlaw with n curves and n associated parameters.

        Parameters
        ----------
        NC: TColGeom_SequenceOfCurve
        NP: TColStd_SequenceOfReal

        Returns
        -------
        None
        Make a sectionlaw with n curves and n associated parameters. uf and ul are the parametric bounds of the nsections vf and vl are the parametric bounds of the path.

        Parameters
        ----------
        NC: TColGeom_SequenceOfCurve
        NP: TColStd_SequenceOfReal
        UF: float
        UL: float
        VF: float
        VL: float

        Returns
        -------
        None
        Make a sectionlaw with n curves and n associated parameters. uf and ul are the parametric bounds of the nsections vf and vl are the parametric bounds of the path uf and ul are the parametric bounds of the nsections surf is a reference surface used by brepfill_nsections.

        Parameters
        ----------
        NC: TColGeom_SequenceOfCurve
        Trsfs: GeomFill_SequenceOfTrsf
        NP: TColStd_SequenceOfReal
        UF: float
        UL: float
        VF: float
        VL: float
        Surf: Geom_BSplineSurface

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_NSections_swiginit(self, _GeomFill.new_GeomFill_NSections(*args))

    def ComputeSurface(self, *args) -> "void":
        r"""
        Computes the surface.

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_NSections_ComputeSurface(self, *args)

    def SetSurface(self, *args) -> "void":
        r"""
        Sets the reference surface.

        Parameters
        ----------
        RefSurf: Geom_BSplineSurface

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_NSections_SetSurface(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomFill.delete_GeomFill_NSections

# Register GeomFill_NSections in _GeomFill:
_GeomFill.GeomFill_NSections_swigregister(GeomFill_NSections)

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

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_SectionGenerator_swiginit(self, _GeomFill.new_GeomFill_SectionGenerator(*args))

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

        Parameters
        ----------

        Returns
        -------
        NbPoles: int
        NbKnots: int
        Degree: int
        NbPoles2d: int

        """
        return _GeomFill.GeomFill_SectionGenerator_GetShape(self, *args)

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

        Parameters
        ----------
        TKnots: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_SectionGenerator_Knots(self, *args)

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

        Parameters
        ----------
        TMults: TColStd_Array1OfInteger

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_SectionGenerator_Mults(self, *args)

    def Parameter(self, *args) -> "Standard_Real":
        r"""
        Returns the parameter of section<p>, to impose it for the approximation.

        Parameters
        ----------
        P: int

        Returns
        -------
        float

        """
        return _GeomFill.GeomFill_SectionGenerator_Parameter(self, *args)

    def Section(self, *args) -> "void":
        r"""
        Used for the first and last section the method returns standard_true if the derivatives are computed, otherwise it returns standard_false.

        Parameters
        ----------
        P: int
        Poles: TColgp_Array1OfPnt
        DPoles: TColgp_Array1OfVec
        Poles2d: TColgp_Array1OfPnt2d
        DPoles2d: TColgp_Array1OfVec2d
        Weigths: TColStd_Array1OfReal
        DWeigths: TColStd_Array1OfReal

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

        Parameters
        ----------
        P: int
        Poles: TColgp_Array1OfPnt
        Poles2d: TColgp_Array1OfPnt2d
        Weigths: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_SectionGenerator_Section(self, *args)

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

        Parameters
        ----------
        Params: TColStd_HArray1OfReal

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_SectionGenerator_SetParam(self, *args)

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

        Parameters
        ----------
        Curve: Adaptor3d_HCurve
        Tol3d: float
        Tolang: float

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

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

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        P3: TColgp_Array1OfPnt
        P4: TColgp_Array1OfPnt

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

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        P3: TColgp_Array1OfPnt
        P4: TColgp_Array1OfPnt
        W1: TColStd_Array1OfReal
        W2: TColStd_Array1OfReal
        W3: TColStd_Array1OfReal
        W4: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_Stretch_swiginit(self, _GeomFill.new_GeomFill_Stretch(*args))

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

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        P3: TColgp_Array1OfPnt
        P4: TColgp_Array1OfPnt

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

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        P3: TColgp_Array1OfPnt
        P4: TColgp_Array1OfPnt
        W1: TColStd_Array1OfReal
        W2: TColStd_Array1OfReal
        W3: TColStd_Array1OfReal
        W4: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_Stretch_Init(self, *args)

    __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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        K: GeomFill_CoonsAlgPatch
        I: int

        Returns
        -------
        None

        """
        _GeomFill.GeomFill_TgtOnCoons_swiginit(self, _GeomFill.new_GeomFill_TgtOnCoons(*args))

    def D1(self, *args) -> "void":
        r"""
        Computes the derivative of the field of tangency at parameter w.

        Parameters
        ----------
        W: float

        Returns
        -------
        gp_Vec
        Computes the value and the derivative of the field of tangency at parameter w.

        Parameters
        ----------
        W: float
        T: gp_Vec
        DT: gp_Vec

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_TgtOnCoons_D1(self, *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

    def CurrentPointOnGuide(self, *args) -> "gp_Pnt":
        r"""
        Returns the current point on guide found by d0, d1 or d2.

        Returns
        -------
        gp_Pnt

        """
        return _GeomFill.GeomFill_TrihedronWithGuide_CurrentPointOnGuide(self, *args)

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

        Returns
        -------
        opencascade::handle<Adaptor3d_HCurve>

        """
        return _GeomFill.GeomFill_TrihedronWithGuide_Guide(self, *args)

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

        Parameters
        ----------
        Param1: float
        Param2: float

        Returns
        -------
        None

        """
        return _GeomFill.GeomFill_TrihedronWithGuide_Origine(self, *args)


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

        Parameters
        ----------
        C: Geom_Curve
        FirstParameter: float,optional
        	default value is 0.0
        LastParameter: float,optional
        	default value is 1.0

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

        Parameters
        ----------
        guide: Adaptor3d_HCurve

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

        Parameters
        ----------
        theGuide: Adaptor3d_HCurve

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


@classnotwrapped
class GeomFill_SweepSectionGenerator:
	pass


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

    def Array1(self) -> "GeomFill_Array1OfLocationLaw const &":
        return _GeomFill.GeomFill_HArray1OfLocationLaw_Array1(self)

    def ChangeArray1(self) -> "GeomFill_Array1OfLocationLaw &":
        return _GeomFill.GeomFill_HArray1OfLocationLaw_ChangeArray1(self)


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

    def Array1(self) -> "GeomFill_Array1OfSectionLaw const &":
        return _GeomFill.GeomFill_HArray1OfSectionLaw_Array1(self)

    def ChangeArray1(self) -> "GeomFill_Array1OfSectionLaw &":
        return _GeomFill.GeomFill_HArray1OfSectionLaw_ChangeArray1(self)


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

    def Sequence(self) -> "GeomFill_SequenceOfAx2 const &":
        return _GeomFill.GeomFill_HSequenceOfAx2_Sequence(self)

    def Append(self, *args) -> "void":
        return _GeomFill.GeomFill_HSequenceOfAx2_Append(self, *args)

    def ChangeSequence(self) -> "GeomFill_SequenceOfAx2 &":
        return _GeomFill.GeomFill_HSequenceOfAx2_ChangeSequence(self)


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





