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

"""
GeomFill module, see official documentation at
https://www.opencascade.com/doc/occt-7.7.0/refman/html/package_geomfill.html
"""

from sys import version_info as _swig_python_version_info
# 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 == "this":
            set(self, name, value)
        elif name == "thisown":
            self.this.own(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):
        return _GeomFill.SwigPyIterator_value(self)

    def incr(self, n=1):
        return _GeomFill.SwigPyIterator_incr(self, n)

    def decr(self, n=1):
        return _GeomFill.SwigPyIterator_decr(self, n)

    def distance(self, x):
        return _GeomFill.SwigPyIterator_distance(self, x)

    def equal(self, x):
        return _GeomFill.SwigPyIterator_equal(self, x)

    def copy(self):
        return _GeomFill.SwigPyIterator_copy(self)

    def next(self):
        return _GeomFill.SwigPyIterator_next(self)

    def __next__(self):
        return _GeomFill.SwigPyIterator___next__(self)

    def previous(self):
        return _GeomFill.SwigPyIterator_previous(self)

    def advance(self, n):
        return _GeomFill.SwigPyIterator_advance(self, n)

    def __eq__(self, x):
        return _GeomFill.SwigPyIterator___eq__(self, x)

    def __ne__(self, x):
        return _GeomFill.SwigPyIterator___ne__(self, x)

    def __iadd__(self, n):
        return _GeomFill.SwigPyIterator___iadd__(self, n)

    def __isub__(self, n):
        return _GeomFill.SwigPyIterator___isub__(self, n)

    def __add__(self, n):
        return _GeomFill.SwigPyIterator___add__(self, n)

    def __sub__(self, *args):
        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, method_name, class_name):
    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_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
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


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

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

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


def Handle_GeomFill_Boundary_Create():
    return _GeomFill.Handle_GeomFill_Boundary_Create()

def Handle_GeomFill_Boundary_DownCast(t):
    return _GeomFill.Handle_GeomFill_Boundary_DownCast(t)

def Handle_GeomFill_Boundary_IsNull(t):
    return _GeomFill.Handle_GeomFill_Boundary_IsNull(t)

def Handle_GeomFill_CircularBlendFunc_Create():
    return _GeomFill.Handle_GeomFill_CircularBlendFunc_Create()

def Handle_GeomFill_CircularBlendFunc_DownCast(t):
    return _GeomFill.Handle_GeomFill_CircularBlendFunc_DownCast(t)

def Handle_GeomFill_CircularBlendFunc_IsNull(t):
    return _GeomFill.Handle_GeomFill_CircularBlendFunc_IsNull(t)

def Handle_GeomFill_CoonsAlgPatch_Create():
    return _GeomFill.Handle_GeomFill_CoonsAlgPatch_Create()

def Handle_GeomFill_CoonsAlgPatch_DownCast(t):
    return _GeomFill.Handle_GeomFill_CoonsAlgPatch_DownCast(t)

def Handle_GeomFill_CoonsAlgPatch_IsNull(t):
    return _GeomFill.Handle_GeomFill_CoonsAlgPatch_IsNull(t)

def Handle_GeomFill_Line_Create():
    return _GeomFill.Handle_GeomFill_Line_Create()

def Handle_GeomFill_Line_DownCast(t):
    return _GeomFill.Handle_GeomFill_Line_DownCast(t)

def Handle_GeomFill_Line_IsNull(t):
    return _GeomFill.Handle_GeomFill_Line_IsNull(t)

def Handle_GeomFill_LocationLaw_Create():
    return _GeomFill.Handle_GeomFill_LocationLaw_Create()

def Handle_GeomFill_LocationLaw_DownCast(t):
    return _GeomFill.Handle_GeomFill_LocationLaw_DownCast(t)

def Handle_GeomFill_LocationLaw_IsNull(t):
    return _GeomFill.Handle_GeomFill_LocationLaw_IsNull(t)

def Handle_GeomFill_SectionLaw_Create():
    return _GeomFill.Handle_GeomFill_SectionLaw_Create()

def Handle_GeomFill_SectionLaw_DownCast(t):
    return _GeomFill.Handle_GeomFill_SectionLaw_DownCast(t)

def Handle_GeomFill_SectionLaw_IsNull(t):
    return _GeomFill.Handle_GeomFill_SectionLaw_IsNull(t)

def Handle_GeomFill_SnglrFunc_Create():
    return _GeomFill.Handle_GeomFill_SnglrFunc_Create()

def Handle_GeomFill_SnglrFunc_DownCast(t):
    return _GeomFill.Handle_GeomFill_SnglrFunc_DownCast(t)

def Handle_GeomFill_SnglrFunc_IsNull(t):
    return _GeomFill.Handle_GeomFill_SnglrFunc_IsNull(t)

def Handle_GeomFill_SweepFunction_Create():
    return _GeomFill.Handle_GeomFill_SweepFunction_Create()

def Handle_GeomFill_SweepFunction_DownCast(t):
    return _GeomFill.Handle_GeomFill_SweepFunction_DownCast(t)

def Handle_GeomFill_SweepFunction_IsNull(t):
    return _GeomFill.Handle_GeomFill_SweepFunction_IsNull(t)

def Handle_GeomFill_TgtField_Create():
    return _GeomFill.Handle_GeomFill_TgtField_Create()

def Handle_GeomFill_TgtField_DownCast(t):
    return _GeomFill.Handle_GeomFill_TgtField_DownCast(t)

def Handle_GeomFill_TgtField_IsNull(t):
    return _GeomFill.Handle_GeomFill_TgtField_IsNull(t)

def Handle_GeomFill_TrihedronLaw_Create():
    return _GeomFill.Handle_GeomFill_TrihedronLaw_Create()

def Handle_GeomFill_TrihedronLaw_DownCast(t):
    return _GeomFill.Handle_GeomFill_TrihedronLaw_DownCast(t)

def Handle_GeomFill_TrihedronLaw_IsNull(t):
    return _GeomFill.Handle_GeomFill_TrihedronLaw_IsNull(t)

def Handle_GeomFill_BoundWithSurf_Create():
    return _GeomFill.Handle_GeomFill_BoundWithSurf_Create()

def Handle_GeomFill_BoundWithSurf_DownCast(t):
    return _GeomFill.Handle_GeomFill_BoundWithSurf_DownCast(t)

def Handle_GeomFill_BoundWithSurf_IsNull(t):
    return _GeomFill.Handle_GeomFill_BoundWithSurf_IsNull(t)

def Handle_GeomFill_ConstantBiNormal_Create():
    return _GeomFill.Handle_GeomFill_ConstantBiNormal_Create()

def Handle_GeomFill_ConstantBiNormal_DownCast(t):
    return _GeomFill.Handle_GeomFill_ConstantBiNormal_DownCast(t)

def Handle_GeomFill_ConstantBiNormal_IsNull(t):
    return _GeomFill.Handle_GeomFill_ConstantBiNormal_IsNull(t)

def Handle_GeomFill_CorrectedFrenet_Create():
    return _GeomFill.Handle_GeomFill_CorrectedFrenet_Create()

def Handle_GeomFill_CorrectedFrenet_DownCast(t):
    return _GeomFill.Handle_GeomFill_CorrectedFrenet_DownCast(t)

def Handle_GeomFill_CorrectedFrenet_IsNull(t):
    return _GeomFill.Handle_GeomFill_CorrectedFrenet_IsNull(t)

def Handle_GeomFill_CurveAndTrihedron_Create():
    return _GeomFill.Handle_GeomFill_CurveAndTrihedron_Create()

def Handle_GeomFill_CurveAndTrihedron_DownCast(t):
    return _GeomFill.Handle_GeomFill_CurveAndTrihedron_DownCast(t)

def Handle_GeomFill_CurveAndTrihedron_IsNull(t):
    return _GeomFill.Handle_GeomFill_CurveAndTrihedron_IsNull(t)

def Handle_GeomFill_Darboux_Create():
    return _GeomFill.Handle_GeomFill_Darboux_Create()

def Handle_GeomFill_Darboux_DownCast(t):
    return _GeomFill.Handle_GeomFill_Darboux_DownCast(t)

def Handle_GeomFill_Darboux_IsNull(t):
    return _GeomFill.Handle_GeomFill_Darboux_IsNull(t)

def Handle_GeomFill_DegeneratedBound_Create():
    return _GeomFill.Handle_GeomFill_DegeneratedBound_Create()

def Handle_GeomFill_DegeneratedBound_DownCast(t):
    return _GeomFill.Handle_GeomFill_DegeneratedBound_DownCast(t)

def Handle_GeomFill_DegeneratedBound_IsNull(t):
    return _GeomFill.Handle_GeomFill_DegeneratedBound_IsNull(t)

def Handle_GeomFill_DiscreteTrihedron_Create():
    return _GeomFill.Handle_GeomFill_DiscreteTrihedron_Create()

def Handle_GeomFill_DiscreteTrihedron_DownCast(t):
    return _GeomFill.Handle_GeomFill_DiscreteTrihedron_DownCast(t)

def Handle_GeomFill_DiscreteTrihedron_IsNull(t):
    return _GeomFill.Handle_GeomFill_DiscreteTrihedron_IsNull(t)

def Handle_GeomFill_DraftTrihedron_Create():
    return _GeomFill.Handle_GeomFill_DraftTrihedron_Create()

def Handle_GeomFill_DraftTrihedron_DownCast(t):
    return _GeomFill.Handle_GeomFill_DraftTrihedron_DownCast(t)

def Handle_GeomFill_DraftTrihedron_IsNull(t):
    return _GeomFill.Handle_GeomFill_DraftTrihedron_IsNull(t)

def Handle_GeomFill_EvolvedSection_Create():
    return _GeomFill.Handle_GeomFill_EvolvedSection_Create()

def Handle_GeomFill_EvolvedSection_DownCast(t):
    return _GeomFill.Handle_GeomFill_EvolvedSection_DownCast(t)

def Handle_GeomFill_EvolvedSection_IsNull(t):
    return _GeomFill.Handle_GeomFill_EvolvedSection_IsNull(t)

def Handle_GeomFill_Fixed_Create():
    return _GeomFill.Handle_GeomFill_Fixed_Create()

def Handle_GeomFill_Fixed_DownCast(t):
    return _GeomFill.Handle_GeomFill_Fixed_DownCast(t)

def Handle_GeomFill_Fixed_IsNull(t):
    return _GeomFill.Handle_GeomFill_Fixed_IsNull(t)

def Handle_GeomFill_Frenet_Create():
    return _GeomFill.Handle_GeomFill_Frenet_Create()

def Handle_GeomFill_Frenet_DownCast(t):
    return _GeomFill.Handle_GeomFill_Frenet_DownCast(t)

def Handle_GeomFill_Frenet_IsNull(t):
    return _GeomFill.Handle_GeomFill_Frenet_IsNull(t)

def Handle_GeomFill_LocationDraft_Create():
    return _GeomFill.Handle_GeomFill_LocationDraft_Create()

def Handle_GeomFill_LocationDraft_DownCast(t):
    return _GeomFill.Handle_GeomFill_LocationDraft_DownCast(t)

def Handle_GeomFill_LocationDraft_IsNull(t):
    return _GeomFill.Handle_GeomFill_LocationDraft_IsNull(t)

def Handle_GeomFill_LocationGuide_Create():
    return _GeomFill.Handle_GeomFill_LocationGuide_Create()

def Handle_GeomFill_LocationGuide_DownCast(t):
    return _GeomFill.Handle_GeomFill_LocationGuide_DownCast(t)

def Handle_GeomFill_LocationGuide_IsNull(t):
    return _GeomFill.Handle_GeomFill_LocationGuide_IsNull(t)

def Handle_GeomFill_NSections_Create():
    return _GeomFill.Handle_GeomFill_NSections_Create()

def Handle_GeomFill_NSections_DownCast(t):
    return _GeomFill.Handle_GeomFill_NSections_DownCast(t)

def Handle_GeomFill_NSections_IsNull(t):
    return _GeomFill.Handle_GeomFill_NSections_IsNull(t)

def Handle_GeomFill_SimpleBound_Create():
    return _GeomFill.Handle_GeomFill_SimpleBound_Create()

def Handle_GeomFill_SimpleBound_DownCast(t):
    return _GeomFill.Handle_GeomFill_SimpleBound_DownCast(t)

def Handle_GeomFill_SimpleBound_IsNull(t):
    return _GeomFill.Handle_GeomFill_SimpleBound_IsNull(t)

def Handle_GeomFill_TgtOnCoons_Create():
    return _GeomFill.Handle_GeomFill_TgtOnCoons_Create()

def Handle_GeomFill_TgtOnCoons_DownCast(t):
    return _GeomFill.Handle_GeomFill_TgtOnCoons_DownCast(t)

def Handle_GeomFill_TgtOnCoons_IsNull(t):
    return _GeomFill.Handle_GeomFill_TgtOnCoons_IsNull(t)

def Handle_GeomFill_TrihedronWithGuide_Create():
    return _GeomFill.Handle_GeomFill_TrihedronWithGuide_Create()

def Handle_GeomFill_TrihedronWithGuide_DownCast(t):
    return _GeomFill.Handle_GeomFill_TrihedronWithGuide_DownCast(t)

def Handle_GeomFill_TrihedronWithGuide_IsNull(t):
    return _GeomFill.Handle_GeomFill_TrihedronWithGuide_IsNull(t)

def Handle_GeomFill_UniformSection_Create():
    return _GeomFill.Handle_GeomFill_UniformSection_Create()

def Handle_GeomFill_UniformSection_DownCast(t):
    return _GeomFill.Handle_GeomFill_UniformSection_DownCast(t)

def Handle_GeomFill_UniformSection_IsNull(t):
    return _GeomFill.Handle_GeomFill_UniformSection_IsNull(t)

def Handle_GeomFill_GuideTrihedronAC_Create():
    return _GeomFill.Handle_GeomFill_GuideTrihedronAC_Create()

def Handle_GeomFill_GuideTrihedronAC_DownCast(t):
    return _GeomFill.Handle_GeomFill_GuideTrihedronAC_DownCast(t)

def Handle_GeomFill_GuideTrihedronAC_IsNull(t):
    return _GeomFill.Handle_GeomFill_GuideTrihedronAC_IsNull(t)

def Handle_GeomFill_GuideTrihedronPlan_Create():
    return _GeomFill.Handle_GeomFill_GuideTrihedronPlan_Create()

def Handle_GeomFill_GuideTrihedronPlan_DownCast(t):
    return _GeomFill.Handle_GeomFill_GuideTrihedronPlan_DownCast(t)

def Handle_GeomFill_GuideTrihedronPlan_IsNull(t):
    return _GeomFill.Handle_GeomFill_GuideTrihedronPlan_IsNull(t)

def Handle_GeomFill_HArray1OfLocationLaw_Create():
    return _GeomFill.Handle_GeomFill_HArray1OfLocationLaw_Create()

def Handle_GeomFill_HArray1OfLocationLaw_DownCast(t):
    return _GeomFill.Handle_GeomFill_HArray1OfLocationLaw_DownCast(t)

def Handle_GeomFill_HArray1OfLocationLaw_IsNull(t):
    return _GeomFill.Handle_GeomFill_HArray1OfLocationLaw_IsNull(t)

def Handle_GeomFill_HArray1OfSectionLaw_Create():
    return _GeomFill.Handle_GeomFill_HArray1OfSectionLaw_Create()

def Handle_GeomFill_HArray1OfSectionLaw_DownCast(t):
    return _GeomFill.Handle_GeomFill_HArray1OfSectionLaw_DownCast(t)

def Handle_GeomFill_HArray1OfSectionLaw_IsNull(t):
    return _GeomFill.Handle_GeomFill_HArray1OfSectionLaw_IsNull(t)

def Handle_GeomFill_HSequenceOfAx2_Create():
    return _GeomFill.Handle_GeomFill_HSequenceOfAx2_Create()

def Handle_GeomFill_HSequenceOfAx2_DownCast(t):
    return _GeomFill.Handle_GeomFill_HSequenceOfAx2_DownCast(t)

def Handle_GeomFill_HSequenceOfAx2_IsNull(t):
    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):
        return _GeomFill.GeomFill_Array1OfLocationLaw_begin(self)

    def end(self):
        return _GeomFill.GeomFill_Array1OfLocationLaw_end(self)

    def cbegin(self):
        return _GeomFill.GeomFill_Array1OfLocationLaw_cbegin(self)

    def cend(self):
        return _GeomFill.GeomFill_Array1OfLocationLaw_cend(self)

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

    def Init(self, theValue):
        return _GeomFill.GeomFill_Array1OfLocationLaw_Init(self, theValue)

    def Size(self):
        return _GeomFill.GeomFill_Array1OfLocationLaw_Size(self)

    def Length(self):
        return _GeomFill.GeomFill_Array1OfLocationLaw_Length(self)

    def IsEmpty(self):
        return _GeomFill.GeomFill_Array1OfLocationLaw_IsEmpty(self)

    def Lower(self):
        return _GeomFill.GeomFill_Array1OfLocationLaw_Lower(self)

    def Upper(self):
        return _GeomFill.GeomFill_Array1OfLocationLaw_Upper(self)

    def IsDeletable(self):
        return _GeomFill.GeomFill_Array1OfLocationLaw_IsDeletable(self)

    def IsAllocated(self):
        return _GeomFill.GeomFill_Array1OfLocationLaw_IsAllocated(self)

    def Assign(self, theOther):
        return _GeomFill.GeomFill_Array1OfLocationLaw_Assign(self, theOther)

    def Move(self, theOther):
        return _GeomFill.GeomFill_Array1OfLocationLaw_Move(self, theOther)

    def Set(self, *args):
        return _GeomFill.GeomFill_Array1OfLocationLaw_Set(self, *args)

    def First(self):
        return _GeomFill.GeomFill_Array1OfLocationLaw_First(self)

    def ChangeFirst(self):
        return _GeomFill.GeomFill_Array1OfLocationLaw_ChangeFirst(self)

    def Last(self):
        return _GeomFill.GeomFill_Array1OfLocationLaw_Last(self)

    def ChangeLast(self):
        return _GeomFill.GeomFill_Array1OfLocationLaw_ChangeLast(self)

    def Value(self, theIndex):
        return _GeomFill.GeomFill_Array1OfLocationLaw_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _GeomFill.GeomFill_Array1OfLocationLaw_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _GeomFill.GeomFill_Array1OfLocationLaw___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _GeomFill.GeomFill_Array1OfLocationLaw_SetValue(self, theIndex, theItem)

    def Resize(self, theLower, theUpper, theToCopyData):
        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):
        return _GeomFill.GeomFill_Array1OfSectionLaw_begin(self)

    def end(self):
        return _GeomFill.GeomFill_Array1OfSectionLaw_end(self)

    def cbegin(self):
        return _GeomFill.GeomFill_Array1OfSectionLaw_cbegin(self)

    def cend(self):
        return _GeomFill.GeomFill_Array1OfSectionLaw_cend(self)

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

    def Init(self, theValue):
        return _GeomFill.GeomFill_Array1OfSectionLaw_Init(self, theValue)

    def Size(self):
        return _GeomFill.GeomFill_Array1OfSectionLaw_Size(self)

    def Length(self):
        return _GeomFill.GeomFill_Array1OfSectionLaw_Length(self)

    def IsEmpty(self):
        return _GeomFill.GeomFill_Array1OfSectionLaw_IsEmpty(self)

    def Lower(self):
        return _GeomFill.GeomFill_Array1OfSectionLaw_Lower(self)

    def Upper(self):
        return _GeomFill.GeomFill_Array1OfSectionLaw_Upper(self)

    def IsDeletable(self):
        return _GeomFill.GeomFill_Array1OfSectionLaw_IsDeletable(self)

    def IsAllocated(self):
        return _GeomFill.GeomFill_Array1OfSectionLaw_IsAllocated(self)

    def Assign(self, theOther):
        return _GeomFill.GeomFill_Array1OfSectionLaw_Assign(self, theOther)

    def Move(self, theOther):
        return _GeomFill.GeomFill_Array1OfSectionLaw_Move(self, theOther)

    def Set(self, *args):
        return _GeomFill.GeomFill_Array1OfSectionLaw_Set(self, *args)

    def First(self):
        return _GeomFill.GeomFill_Array1OfSectionLaw_First(self)

    def ChangeFirst(self):
        return _GeomFill.GeomFill_Array1OfSectionLaw_ChangeFirst(self)

    def Last(self):
        return _GeomFill.GeomFill_Array1OfSectionLaw_Last(self)

    def ChangeLast(self):
        return _GeomFill.GeomFill_Array1OfSectionLaw_ChangeLast(self)

    def Value(self, theIndex):
        return _GeomFill.GeomFill_Array1OfSectionLaw_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _GeomFill.GeomFill_Array1OfSectionLaw_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _GeomFill.GeomFill_Array1OfSectionLaw___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _GeomFill.GeomFill_Array1OfSectionLaw_SetValue(self, theIndex, theItem)

    def Resize(self, theLower, theUpper, theToCopyData):
        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):
        return _GeomFill.GeomFill_SequenceOfAx2_begin(self)

    def end(self):
        return _GeomFill.GeomFill_SequenceOfAx2_end(self)

    def cbegin(self):
        return _GeomFill.GeomFill_SequenceOfAx2_cbegin(self)

    def cend(self):
        return _GeomFill.GeomFill_SequenceOfAx2_cend(self)

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

    def Size(self):
        return _GeomFill.GeomFill_SequenceOfAx2_Size(self)

    def Length(self):
        return _GeomFill.GeomFill_SequenceOfAx2_Length(self)

    def Lower(self):
        return _GeomFill.GeomFill_SequenceOfAx2_Lower(self)

    def Upper(self):
        return _GeomFill.GeomFill_SequenceOfAx2_Upper(self)

    def IsEmpty(self):
        return _GeomFill.GeomFill_SequenceOfAx2_IsEmpty(self)

    def Reverse(self):
        return _GeomFill.GeomFill_SequenceOfAx2_Reverse(self)

    def Exchange(self, I, J):
        return _GeomFill.GeomFill_SequenceOfAx2_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _GeomFill.GeomFill_SequenceOfAx2_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _GeomFill.GeomFill_SequenceOfAx2_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _GeomFill.GeomFill_SequenceOfAx2_Assign(self, theOther)

    def Set(self, theOther):
        return _GeomFill.GeomFill_SequenceOfAx2_Set(self, theOther)

    def Remove(self, *args):
        return _GeomFill.GeomFill_SequenceOfAx2_Remove(self, *args)

    def Append(self, *args):
        return _GeomFill.GeomFill_SequenceOfAx2_Append(self, *args)

    def Prepend(self, *args):
        return _GeomFill.GeomFill_SequenceOfAx2_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _GeomFill.GeomFill_SequenceOfAx2_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _GeomFill.GeomFill_SequenceOfAx2_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _GeomFill.GeomFill_SequenceOfAx2_Split(self, theIndex, theSeq)

    def First(self):
        return _GeomFill.GeomFill_SequenceOfAx2_First(self)

    def ChangeFirst(self):
        return _GeomFill.GeomFill_SequenceOfAx2_ChangeFirst(self)

    def Last(self):
        return _GeomFill.GeomFill_SequenceOfAx2_Last(self)

    def ChangeLast(self):
        return _GeomFill.GeomFill_SequenceOfAx2_ChangeLast(self)

    def Value(self, theIndex):
        return _GeomFill.GeomFill_SequenceOfAx2_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _GeomFill.GeomFill_SequenceOfAx2_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _GeomFill.GeomFill_SequenceOfAx2___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        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)
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):
        return _GeomFill.GeomFill_SequenceOfTrsf_begin(self)

    def end(self):
        return _GeomFill.GeomFill_SequenceOfTrsf_end(self)

    def cbegin(self):
        return _GeomFill.GeomFill_SequenceOfTrsf_cbegin(self)

    def cend(self):
        return _GeomFill.GeomFill_SequenceOfTrsf_cend(self)

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

    def Size(self):
        return _GeomFill.GeomFill_SequenceOfTrsf_Size(self)

    def Length(self):
        return _GeomFill.GeomFill_SequenceOfTrsf_Length(self)

    def Lower(self):
        return _GeomFill.GeomFill_SequenceOfTrsf_Lower(self)

    def Upper(self):
        return _GeomFill.GeomFill_SequenceOfTrsf_Upper(self)

    def IsEmpty(self):
        return _GeomFill.GeomFill_SequenceOfTrsf_IsEmpty(self)

    def Reverse(self):
        return _GeomFill.GeomFill_SequenceOfTrsf_Reverse(self)

    def Exchange(self, I, J):
        return _GeomFill.GeomFill_SequenceOfTrsf_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _GeomFill.GeomFill_SequenceOfTrsf_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _GeomFill.GeomFill_SequenceOfTrsf_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _GeomFill.GeomFill_SequenceOfTrsf_Assign(self, theOther)

    def Set(self, theOther):
        return _GeomFill.GeomFill_SequenceOfTrsf_Set(self, theOther)

    def Remove(self, *args):
        return _GeomFill.GeomFill_SequenceOfTrsf_Remove(self, *args)

    def Append(self, *args):
        return _GeomFill.GeomFill_SequenceOfTrsf_Append(self, *args)

    def Prepend(self, *args):
        return _GeomFill.GeomFill_SequenceOfTrsf_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _GeomFill.GeomFill_SequenceOfTrsf_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _GeomFill.GeomFill_SequenceOfTrsf_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _GeomFill.GeomFill_SequenceOfTrsf_Split(self, theIndex, theSeq)

    def First(self):
        return _GeomFill.GeomFill_SequenceOfTrsf_First(self)

    def ChangeFirst(self):
        return _GeomFill.GeomFill_SequenceOfTrsf_ChangeFirst(self)

    def Last(self):
        return _GeomFill.GeomFill_SequenceOfTrsf_Last(self)

    def ChangeLast(self):
        return _GeomFill.GeomFill_SequenceOfTrsf_ChangeLast(self)

    def Value(self, theIndex):
        return _GeomFill.GeomFill_SequenceOfTrsf_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _GeomFill.GeomFill_SequenceOfTrsf_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _GeomFill.GeomFill_SequenceOfTrsf___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        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)
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):
        r"""

        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

        Return
        -------
        None

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

        Return
        -------
        bool

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

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _GeomFill.geomfill_GetCircle(*args)

    @staticmethod
    def GetMinimalWeights(*args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _GeomFill.geomfill_GetMinimalWeights(*args)

    @staticmethod
    def GetShape(*args):
        r"""

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

        Return
        -------
        NbPoles: int
        NbKnots: int
        Degree: int

        Description
        -----------
        No available documentation.

        """
        return _GeomFill.geomfill_GetShape(*args)

    @staticmethod
    def GetTolerance(*args):
        r"""

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

        Return
        -------
        float

        Description
        -----------
        Used by the generical classes to determine tolerance for approximation.

        """
        return _GeomFill.geomfill_GetTolerance(*args)

    @staticmethod
    def Knots(*args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _GeomFill.geomfill_Knots(*args)

    @staticmethod
    def Mults(*args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _GeomFill.geomfill_Mults(*args)

    @staticmethod
    def Surface(*args):
        r"""

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

        Return
        -------
        opencascade::handle<Geom_Surface>

        Description
        -----------
        Builds a ruled surface between the two curves, curve1 and curve2.

        """
        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)
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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Degmin: int
        Degmax: int
        Tol3d: float
        Tol2d: float
        NbIt: int
        KnownParameters: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Continuity(self, *args):
        r"""
        Return
        -------
        GeomAbs_Shape

        Description
        -----------
        Returns the continuity used in the approximation.

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

    def CriteriumWeight(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        W1: float
        W2: float
        W3: float

        Description
        -----------
        Returns the weights (as percent) associed to the criterium used in the optimization.

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

    def Init(self, *args):
        r"""

        Parameters
        ----------
        Degmin: int
        Degmax: int
        Tol3d: float
        Tol2d: float
        NbIt: int
        KnownParameters: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def ParType(self, *args):
        r"""
        Return
        -------
        Approx_ParametrizationType

        Description
        -----------
        Returns the type of parametrization used in the approximation.

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

    def Perform(self, *args):
        r"""

        Parameters
        ----------
        Lin: GeomFill_Line
        SecGen: GeomFill_SectionGenerator
        SpApprox: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def PerformSmoothing(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def SetContinuity(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Define the continuity used in the approximation.

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

    def SetCriteriumWeight(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Define the weights associed to the criterium used in the optimization. //! if wi <= 0.

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

    def SetParType(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Define the type of parametrization used in the approximation.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Degmin: int
        Degmax: int
        Tol3d: float
        Tol2d: float
        NbIt: int
        KnownParameters: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Continuity(self, *args):
        r"""
        Return
        -------
        GeomAbs_Shape

        Description
        -----------
        Returns the continuity used in the approximation.

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

    def CriteriumWeight(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        W1: float
        W2: float
        W3: float

        Description
        -----------
        Returns the weights (as percent) associed to the criterium used in the optimization.

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

    def Init(self, *args):
        r"""

        Parameters
        ----------
        Degmin: int
        Degmax: int
        Tol3d: float
        Tol2d: float
        NbIt: int
        KnownParameters: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def ParType(self, *args):
        r"""
        Return
        -------
        Approx_ParametrizationType

        Description
        -----------
        Returns the type of parametrization used in the approximation.

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

    def Perform(self, *args):
        r"""

        Parameters
        ----------
        Lin: GeomFill_Line
        SecGen: GeomFill_SweepSectionGenerator
        SpApprox: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def PerformSmoothing(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def SetContinuity(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Define the continuity used in the approximation.

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

    def SetCriteriumWeight(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Define the weights associed to the criterium used in the optimization. //! if wi <= 0.

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

    def SetParType(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Define the type of parametrization used in the approximation.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        Constructs a default bspline surface framework.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

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

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

    def Init(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        If the curves cannot be joined.

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

        Return
        -------
        None

        Description
        -----------
        If the curves cannot be joined.

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

        Return
        -------
        None

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

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

    def Surface(self, *args):
        r"""
        Return
        -------
        opencascade::handle<Geom_BSplineSurface>

        Description
        -----------
        Returns the bspline surface surface resulting from the computation performed by this algorithm.

        """
        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"""
        Return
        -------
        None

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

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

        Return
        -------
        None

        Description
        -----------
        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
        Type: GeomFill_FillingStyle

        Return
        -------
        None

        Description
        -----------
        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
        Type: GeomFill_FillingStyle

        Return
        -------
        None

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

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

    def Init(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        If the curves cannot be joined.

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

        Return
        -------
        None

        Description
        -----------
        If the curves cannot be joined.

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

        Return
        -------
        None

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

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

    def Surface(self, *args):
        r"""
        Return
        -------
        opencascade::handle<Geom_BezierSurface>

        Description
        -----------
        Returns the bezier surface resulting from the computation performed by this algorithm.

        """
        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):
        r"""

        Parameters
        ----------

        Return
        -------
        First: float
        Last: float

        Description
        -----------
        No available documentation.

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

    def D1(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def D1Norm(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def HasNormals(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

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

    def IsDegenerated(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

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

    def Norm(self, *args):
        r"""

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

        Return
        -------
        gp_Vec

        Description
        -----------
        No available documentation.

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

    def Points(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Reparametrize(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Tol3d(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Tolang(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Value(self, *args):
        r"""

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

        Return
        -------
        gp_Pnt

        Description
        -----------
        No available documentation.

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

        Parameters
        ----------
        Path: Adaptor3d_Curve
        Curve1: Adaptor3d_Curve
        Curve2: Adaptor3d_Curve
        Radius: float
        Polynomial: bool (optional, default to Standard_False)

        Return
        -------
        None

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

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

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

        Return
        -------
        None

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

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

    def Boundary(self, *args):
        r"""

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

        Return
        -------
        opencascade::handle<GeomFill_Boundary>

        Description
        -----------
        Returns the bound of index i after sort.

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

    def CheckApprox(self, *args):
        r"""

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

        Return
        -------
        None

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

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

    def CheckCoonsAlgPatch(self, *args):
        r"""

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

        Return
        -------
        None

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

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

    def CheckResult(self, *args):
        r"""

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

        Return
        -------
        None

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

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

    def CheckTgteField(self, *args):
        r"""

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

        Return
        -------
        None

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

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

    def Eval(self, *args):
        r"""

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

        Return
        -------
        Result: float

        Description
        -----------
        Internal use for advmath approximation call.

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

    def Init(self, *args):
        r"""

        Parameters
        ----------
        B1: GeomFill_Boundary
        B2: GeomFill_Boundary
        B3: GeomFill_Boundary
        NoCheck: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        B1: GeomFill_Boundary
        B2: GeomFill_Boundary
        B3: GeomFill_Boundary
        B4: GeomFill_Boundary
        NoCheck: bool (optional, default to Standard_False)

        Return
        -------
        None

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

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

    def ReBuild(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Computes the new poles of the surface using the new blending functions set by several calls to setdomain.

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

    def SetDomain(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        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 useful to reduce influence of boundaries on which 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.

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

    def Surface(self, *args):
        r"""
        Return
        -------
        opencascade::handle<Geom_BSplineSurface>

        Description
        -----------
        Returns the bspline surface after computation of the fill by this framework.

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

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

        Return
        -------
        None

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

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

    def Bound(self, *args):
        r"""

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

        Return
        -------
        opencascade::handle<GeomFill_Boundary>

        Description
        -----------
        No available documentation.

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

    def Corner(self, *args):
        r"""

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

        Return
        -------
        gp_Pnt

        Description
        -----------
        No available documentation.

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

    def D1U(self, *args):
        r"""

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

        Return
        -------
        gp_Vec

        Description
        -----------
        Computes the d/du partial derivative on the algorithmic patch at parameters u and v.

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

    def D1V(self, *args):
        r"""

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

        Return
        -------
        gp_Vec

        Description
        -----------
        Computes the d/dv partial derivative on the algorithmic patch at parameters u and v.

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

    def DUV(self, *args):
        r"""

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

        Return
        -------
        gp_Vec

        Description
        -----------
        Computes the d2/dudv partial derivative on the algorithmic patch made with linear blending functions at parameter u and v.

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

    def Func(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Give the blending functions.

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

        Return
        -------
        opencascade::handle<Law_Function>

        Description
        -----------
        No available documentation.

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

    def SetFunc(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Set the blending functions.

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

    def Value(self, *args):
        r"""

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

        Return
        -------
        gp_Pnt

        Description
        -----------
        Computes the value on the algorithmic patch at parameters u and v.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Constraint(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def DoKill(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Gap(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def HasConstraint(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

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

    def IsToKill(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        Scal: float

        Description
        -----------
        No available documentation.

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

    def NorAng(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def TgtAng(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def NbUPoles(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        No available documentation.

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

    def NbVPoles(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        No available documentation.

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

    def Poles(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Weights(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def isRational(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

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

        Parameters
        ----------
        S: Adaptor3d_Surface
        C: Adaptor3d_Curve

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Deriv2T(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Returns the values <f> of the t2 derivatives for the parameter param .

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

    def Deriv2X(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Returns the values <t> of the x2 derivatives for the parameter param .

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

    def DerivT(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Returns the values <f> of the t derivatives for the parameter param .

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

    def DerivTX(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Returns the values <d> of the tx derivatives for the parameter param .

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

        Parameters
        ----------
        S: GeomFill_SectionLaw
        Guide: Adaptor3d_Curve
        ParamOnLaw: float (optional, default to 0.0)

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def DerivT(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Returns the values <f> of the t derivatives for the parameter param .

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

    def SetParam(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def NbPoints(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        No available documentation.

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

    def Point(self, *args):
        r"""

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

        Return
        -------
        int

        Description
        -----------
        No available documentation.

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

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def D0(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Compute the section for v = param.

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

    def D1(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Compute the first derivative in v direction of the section for v = param.

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

    def D2(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Compute the second derivative in v direction of the section for v = param.

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

    def DN(self, *args):
        r"""

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

        Return
        -------
        Result: float
        Ier: int

        Description
        -----------
        No available documentation.

        """
        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):
        r"""
        Return
        -------
        opencascade::handle<GeomFill_LocationLaw>

        Description
        -----------
        No available documentation.

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

    def D0(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Compute location.

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

        Return
        -------
        bool

        Description
        -----------
        Compute location and 2d points.

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

    def D1(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Compute location 2d points and associated first derivatives. warning: it used only for c1 or c2 approximation.

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

    def D2(self, *args):
        r"""

        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

        Return
        -------
        bool

        Description
        -----------
        Compute location 2d points and associated first and seconde derivatives. warning: it used only for c2 approximation.

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

    def ErrorStatus(self, *args):
        r"""
        Return
        -------
        GeomFill_PipeError

        Description
        -----------
        Give a status to the law returns pipeok (default implementation).

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

    def GetAverageLaw(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Get average value of m(t) and v(t) it is usfull to make fast approximation of rational surfaces.

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

    def GetCurve(self, *args):
        r"""
        Return
        -------
        opencascade::handle<Adaptor3d_Curve>

        Description
        -----------
        No available documentation.

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

    def GetDomain(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        First: float
        Last: float

        Description
        -----------
        Gets the bounds of the function parametric domain. warning: this domain it is not modified by the setvalue method.

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

    def GetInterval(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        First: float
        Last: float

        Description
        -----------
        Gets the bounds of the parametric interval on the function.

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

    def GetMaximalNorm(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Get the maximum norm of the matrix-location part. it is usful to find an good tolerance to approx m(t).

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

    def HasFirstRestriction(self, *args):
        r"""
        Return
        -------
        bool

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

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

    def HasLastRestriction(self, *args):
        r"""
        Return
        -------
        bool

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

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

    def Intervals(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Stores in <t> the parameters bounding the intervals of continuity <s>. //! the array must provide enough room to accommodate for the parameters. i.e. t.length() > nbintervals().

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

    def IsRotation(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        Error: float

        Description
        -----------
        Say if the location law, is a rotation of location the default implementation is ' returns false '.

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

    def IsTranslation(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        Error: float

        Description
        -----------
        Say if the location law, is an translation of location the default implementation is ' returns false '.

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

    def Nb2dCurves(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Get the number of 2d curves (restrictions + traces) to approximate.

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

    def NbIntervals(self, *args):
        r"""

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

        Return
        -------
        int

        Description
        -----------
        Returns the number of intervals for continuity <s>. may be one if continuity(me) >= <s>.

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

    def Resolution(self, *args):
        r"""

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

        Return
        -------
        TolU: float
        TolV: float

        Description
        -----------
        Returns the resolutions in the sub-space 2d <index> this information is usfull to find an good tolerance in 2d approximation.

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

    def Rotation(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def SetCurve(self, *args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve

        Return
        -------
        bool

        Description
        -----------
        Initialize curve of location law.

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

    def SetInterval(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Sets the bounds of the parametric interval on the function this determines the derivatives in these values if the function is not cn.

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

    def SetTolerance(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Is useful, if (me) have to run numerical algorithm to perform d0, d1 or d2 the default implementation make nothing.

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

    def SetTrsf(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Set a transformation matrix like the law m(t) become mat * m(t).

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

    def TraceNumber(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Give the number of trace (curves 2d which are not restriction) returns 0 (default implementation).

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        Constructs an empty algorithm for building pipes. use the function init to initialize it.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Path: Geom_Curve
        FirstSect: Geom_Curve
        Option: GeomFill_Trihedron (optional, default to GeomFill_IsCorrectedFrenet)

        Return
        -------
        None

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

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

        Return
        -------
        None

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

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

        Return
        -------
        None

        Description
        -----------
        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
        LastSect: Geom_Curve

        Return
        -------
        None

        Description
        -----------
        Create a pipe with an evolving section the section evaluate from first to last section.

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

        Return
        -------
        None

        Description
        -----------
        Create a pipe with n sections the section evaluate from first to last section.

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

        Return
        -------
        None

        Description
        -----------
        Create a pipe with a constant radius with 2 guide-line.

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

        Return
        -------
        None

        Description
        -----------
        Create a pipe with a constant radius with 2 guide-line.

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

        Return
        -------
        None

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

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

    def ErrorOnSurf(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Returns the approximation's error. if the surface is plane, cylinder ... this error can be 0.

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

    def ExchangeUV(self, *args):
        r"""
        Return
        -------
        bool

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

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

    def GenerateParticularCase(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Sets a flag to try to create as many planes, cylinder,... as possible. default value is <standard_false>.
        Return
        -------
        bool

        Description
        -----------
        Returns the flag.

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

    def GetStatus(self, *args):
        r"""
        Return
        -------
        GeomFill_PipeError

        Description
        -----------
        Returns execution status.

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

    def Init(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Path: Geom_Curve
        FirstSect: Geom_Curve
        Option: GeomFill_Trihedron (optional, default to GeomFill_IsCorrectedFrenet)

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        Create a pipe with a constant radius with 2 guide-line.

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

        Return
        -------
        None

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

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

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns whether approximation was done.

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

    def Perform(self, *args):
        r"""

        Parameters
        ----------
        WithParameters: bool (optional, default to Standard_False)
        myPolynomial: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        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
        ----------
        Tol: float
        Polynomial: bool
        Conti: GeomAbs_Shape (optional, default to GeomAbs_C1)
        MaxDegree: int (optional, default to 11)
        NbMaxSegment: int (optional, default to 30)

        Return
        -------
        None

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

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

    def Surface(self, *args):
        r"""
        Return
        -------
        opencascade::handle<Geom_Surface>

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

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

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def D2(self, *args):
        r"""

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

        Return
        -------
        F: float
        D1: float
        D2: float

        Description
        -----------
        No available documentation.

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

    def D2E(self, *args):
        r"""

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

        Return
        -------
        DFDT: float
        D2FDT2: float
        D2FDTDX: float

        Description
        -----------
        No available documentation.

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

    def DEDT(self, *args):
        r"""

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

        Return
        -------
        DF: float

        Description
        -----------
        No available documentation.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Init(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Initialized(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Say if <self> is initialized.

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

    def Section(self, *args):
        r"""

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

        Return
        -------
        None

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

        Return
        -------
        None

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def AddCurve(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Curve(self, *args):
        r"""

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

        Return
        -------
        opencascade::handle<Geom_Curve>

        Description
        -----------
        No available documentation.

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

    def Degree(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Raises if not yet perform.

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

    def IsPeriodic(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

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

    def KnotsAndMults(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Raises if not yet perform raises if the lengths of <knots> and <mults> are not equal to nbknots().

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

    def NbKnots(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Raises if not yet perform.

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

    def NbPoles(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Raises if not yet perform.

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

    def Perform(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Converts all curves to bsplinecurves. set them to the common profile. <ptol> is used to compare 2 knots.

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

    def Poles(self, *args):
        r"""

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

        Return
        -------
        None

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

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

    def Weights(self, *args):
        r"""

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

        Return
        -------
        None

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

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Init(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Initialized(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Say if <self> is initialized.

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

    def Section(self, *args):
        r"""

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

        Return
        -------
        None

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

        Return
        -------
        None

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        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):
        r"""
        Return
        -------
        opencascade::handle<Geom_BSplineSurface>

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

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

    def BarycentreOfSurf(self, *args):
        r"""
        Return
        -------
        gp_Pnt

        Description
        -----------
        Get the barycentre of surface. an very poor estimation is sufficient. this information is useful to perform well conditioned rational approximation. warning: used only if <self> isrational.

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

    def CirclSection(self, *args):
        r"""

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

        Return
        -------
        opencascade::handle<Geom_Curve>

        Description
        -----------
        Return the circle section at parameter <param>, if <self> a isconicallaw.

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

    def ConstantSection(self, *args):
        r"""
        Return
        -------
        opencascade::handle<Geom_Curve>

        Description
        -----------
        Return a copy of the constant section, if me isconstant.

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

    def D0(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Compute the section for v = param.

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

    def D1(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Compute the first derivative in v direction of the section for v = param warning: it used only for c1 or c2 approximation.

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

    def D2(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Compute the second derivative in v direction of the section for v = param warning: it used only for c2 approximation.

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

    def GetDomain(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        First: float
        Last: float

        Description
        -----------
        Gets the bounds of the function parametric domain. warning: this domain it is not modified by the setvalue method.

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

    def GetInterval(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        First: float
        Last: float

        Description
        -----------
        Gets the bounds of the parametric interval on the function.

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

    def GetMinimalWeight(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Compute the minimal value of weight for each poles in all sections. this information is useful to control error in rational approximation. warning: used only if <self> isrational.

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

    def GetTolerance(self, *args):
        r"""

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

        Return
        -------
        None

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

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

    def Intervals(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Stores in <t> the parameters bounding the intervals of continuity <s>. //! the array must provide enough room to accommodate for the parameters. i.e. t.length() > nbintervals().

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

    def IsConicalLaw(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        Error: float

        Description
        -----------
        Returns true if all section are circle, with same plane,same center and linear radius evolution return false by default.

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

    def IsConstant(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        Error: float

        Description
        -----------
        Say if all sections are equals.

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

    def IsRational(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns if the sections are rationnal or not.

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

    def IsUPeriodic(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns if the sections are periodic or not.

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

    def IsVPeriodic(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns if law is periodic or not.

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

    def Knots(self, *args):
        r"""

        Parameters
        ----------
        TKnots: TColStd_Array1OfReal

        Return
        -------
        None

        Description
        -----------
        Get the knots of the section.

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

    def MaximalSection(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Returns the length of the greater section. this information is useful to g1's control. warning: with an little value, approximation can be slower.

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

    def Mults(self, *args):
        r"""

        Parameters
        ----------
        TMults: TColStd_Array1OfInteger

        Return
        -------
        None

        Description
        -----------
        Get the multplicities of the section.

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

    def NbIntervals(self, *args):
        r"""

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

        Return
        -------
        int

        Description
        -----------
        Returns the number of intervals for continuity <s>. may be one if continuity(me) >= <s>.

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

    def SectionShape(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        NbPoles: int
        NbKnots: int
        Degree: int

        Description
        -----------
        Get the format of an section.

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

    def SetInterval(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Sets the bounds of the parametric interval on the function this determines the derivatives in these values if the function is not cn.

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

    def SetTolerance(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Is useful, if (me) have to run numerical algorithm to perform d0, d1 or d2 the default implementation make nothing.

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

        Parameters
        ----------
        L: GeomFill_LocationLaw
        Section: Geom_Geometry

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _GeomFill.GeomFill_SectionPlacement_swiginit(self, _GeomFill.new_GeomFill_SectionPlacement(*args))

    def Angle(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        No available documentation.

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

    def Distance(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        No available documentation.

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

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

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

    def ModifiedSection(self, *args):
        r"""

        Parameters
        ----------
        WithTranslation: bool

        Return
        -------
        opencascade::handle<Geom_Curve>

        Description
        -----------
        Compute the section, in the coordinate system given by the location law. to have the normal to section equal to the location law normal. if <withtranslation> contact between <section> and <path> is forced.

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

    def ParameterOnPath(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        No available documentation.

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

    def ParameterOnSection(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        No available documentation.

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

    def Perform(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        Path: Adaptor3d_Curve
        Tol: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Section(self, *args):
        r"""

        Parameters
        ----------
        WithTranslation: bool

        Return
        -------
        opencascade::handle<Geom_Curve>

        Description
        -----------
        Compute the section, in the coordinate system given by the location law. if <withtranslation> contact between <section> and <path> is forced.

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

    def SetLocation(self, *args):
        r"""

        Parameters
        ----------
        L: GeomFill_LocationLaw

        Return
        -------
        None

        Description
        -----------
        To change the section law.

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

    def Transformation(self, *args):
        r"""

        Parameters
        ----------
        WithTranslation: bool
        WithCorrection: bool (optional, default to Standard_False)

        Return
        -------
        gp_Trsf

        Description
        -----------
        No available documentation.

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

        Parameters
        ----------
        HC: Adaptor3d_Curve

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _GeomFill.GeomFill_SnglrFunc_swiginit(self, _GeomFill.new_GeomFill_SnglrFunc(*args))

    def SetRatio(self, *args):
        r"""

        Parameters
        ----------
        Ratio: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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


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


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

        Parameters
        ----------
        Location: GeomFill_LocationLaw
        WithKpart: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _GeomFill.GeomFill_Sweep_swiginit(self, _GeomFill.new_GeomFill_Sweep(*args))

    def Build(self, *args):
        r"""

        Parameters
        ----------
        Section: GeomFill_SectionLaw
        Methode: GeomFill_ApproxStyle (optional, default to GeomFill_Location)
        Continuity: GeomAbs_Shape (optional, default to GeomAbs_C2)
        Degmax: int (optional, default to 10)
        Segmax: int (optional, default to 30)

        Return
        -------
        None

        Description
        -----------
        Build the sweeep surface approxstyle defines approximation strategy - geomfill_section: the composed function: location x section is directly approximated. - geomfill_location: the location law is approximated, and the sweepsurface is build algebric composition of approximated 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 required on the surface segmax: the maximum number of span in v required on the surface //! raise if domain are infinite or profile not set.

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

    def ErrorOnRestriction(self, *args):
        r"""

        Parameters
        ----------
        IsFirst: bool

        Return
        -------
        UError: float
        VError: float

        Description
        -----------
        Gets the approximation error.

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

    def ErrorOnSurface(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Gets the approximation error.

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

    def ErrorOnTrace(self, *args):
        r"""

        Parameters
        ----------
        IndexOfTrace: int

        Return
        -------
        UError: float
        VError: float

        Description
        -----------
        Gets the approximation error.

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

    def ExchangeUV(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns true if sections are u-iso this can be produce in some cases when <withkpart> is true.

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

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Tells if the surface is buildt.

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

    def NumberOfTrace(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        No available documentation.

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

    def Restriction(self, *args):
        r"""

        Parameters
        ----------
        IsFirst: bool

        Return
        -------
        opencascade::handle<Geom2d_Curve>

        Description
        -----------
        No available documentation.

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

    def SetDomain(self, *args):
        r"""

        Parameters
        ----------
        First: float
        Last: float
        SectionFirst: float
        SectionLast: float

        Return
        -------
        None

        Description
        -----------
        Set parametric information [<first>, <last>] sets the parametric bound of the sweeping surface to build. <sectionfirst>, <sectionlast> gives corresponding 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.

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

    def SetForceApproxC1(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Set the flag that indicates attempt to approximate a c1-continuous surface if a swept surface proved to be c0.

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

    def SetTolerance(self, *args):
        r"""

        Parameters
        ----------
        Tol3d: float
        BoundTol: float (optional, default to 1.0)
        Tol2d: float (optional, default to 1.0e-5)
        TolAngular: float (optional, default to 1.0)

        Return
        -------
        None

        Description
        -----------
        Set approximation tolerance tol3d: tolerance to surface approximation tol2d: tolerance used to perform curve approximation normally 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 between tangents on the section law and tangent of iso-v on approximated surface.

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

    def Surface(self, *args):
        r"""
        Return
        -------
        opencascade::handle<Geom_Surface>

        Description
        -----------
        No available documentation.

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

    def Trace(self, *args):
        r"""

        Parameters
        ----------
        IndexOfTrace: int

        Return
        -------
        opencascade::handle<Geom2d_Curve>

        Description
        -----------
        No available documentation.

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

    def UReversed(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns true if parametrisation sens in u is inverse of parametrisation sens of section (or of path if exchangeuv).

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

    def VReversed(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns true if parametrisation sens in v is inverse of parametrisation sens of path (or of section if exchangeuv).

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

        Parameters
        ----------
        Section: GeomFill_SectionLaw
        Location: GeomFill_LocationLaw
        FirstParameter: float
        FirstParameterOnS: float
        RatioParameterOnS: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Parameters
        ----------
        NbRow: int
        NbCol: int
        NbMat: int

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _GeomFill.GeomFill_Tensor_swiginit(self, _GeomFill.new_GeomFill_Tensor(*args))

    def GetChangeValue(self, Row, Col, Mat):
        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, Col, Mat, value):
        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):
        r"""

        Parameters
        ----------
        InitialValue: float

        Return
        -------
        None

        Description
        -----------
        Initialize all the elements of a tensor to initialvalue.

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

    def Multiply(self, *args):
        r"""

        Parameters
        ----------
        Right: math_Vector
        Product: math_Matrix

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Value(self, *args):
        r"""

        Parameters
        ----------
        Row: int
        Col: int
        Mat: int

        Return
        -------
        float

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

        """
        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):
        r"""

        Parameters
        ----------
        W: float

        Return
        -------
        gp_Vec

        Description
        -----------
        Computes the derivative of the field of tangency at parameter w.

        Parameters
        ----------
        W: float
        V: gp_Vec
        DV: gp_Vec

        Return
        -------
        None

        Description
        -----------
        Computes the value and the derivative of the field of tangency at parameter w.

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

    def IsScalable(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

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

    def Scale(self, *args):
        r"""

        Parameters
        ----------
        Func: Law_BSpline

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Value(self, *args):
        r"""

        Parameters
        ----------
        W: float

        Return
        -------
        gp_Vec

        Description
        -----------
        Computes the value of the field of tangency at parameter w.

        """
        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):
        r"""
        Return
        -------
        opencascade::handle<GeomFill_TrihedronLaw>

        Description
        -----------
        No available documentation.

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

    def D0(self, *args):
        r"""

        Parameters
        ----------
        Param: float
        Tangent: gp_Vec
        Normal: gp_Vec
        BiNormal: gp_Vec

        Return
        -------
        bool

        Description
        -----------
        Compute triedrhon on curve at parameter <param>.

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

    def D1(self, *args):
        r"""

        Parameters
        ----------
        Param: float
        Tangent: gp_Vec
        DTangent: gp_Vec
        Normal: gp_Vec
        DNormal: gp_Vec
        BiNormal: gp_Vec
        DBiNormal: gp_Vec

        Return
        -------
        bool

        Description
        -----------
        Compute triedrhon and derivative trihedron on curve at parameter <param> warning: it used only for c1 or c2 approximation.

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

    def D2(self, *args):
        r"""

        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

        Return
        -------
        bool

        Description
        -----------
        Compute trihedron on curve first and seconde derivatives. warning: it used only for c2 approximation.

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

    def ErrorStatus(self, *args):
        r"""
        Return
        -------
        GeomFill_PipeError

        Description
        -----------
        Give a status to the law returns pipeok (default implementation).

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

    def GetAverageLaw(self, *args):
        r"""

        Parameters
        ----------
        ATangent: gp_Vec
        ANormal: gp_Vec
        ABiNormal: gp_Vec

        Return
        -------
        None

        Description
        -----------
        Get average value of m(t) and v(t) it is usfull to make fast approximation of rational surfaces.

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

    def GetInterval(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        First: float
        Last: float

        Description
        -----------
        Gets the bounds of the parametric interval on the function.

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

    def Intervals(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Stores in <t> the parameters bounding the intervals of continuity <s>. //! the array must provide enough room to accommodate for the parameters. i.e. t.length() > nbintervals().

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

    def IsConstant(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Say if the law is constant.

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

    def IsOnlyBy3dCurve(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Say if the law is defined, only by the 3d geometry of the set curve return false by default.

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

    def NbIntervals(self, *args):
        r"""

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

        Return
        -------
        int

        Description
        -----------
        Returns the number of intervals for continuity <s>. may be one if continuity(me) >= <s>.

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

    def SetCurve(self, *args):
        r"""

        Parameters
        ----------
        C: Adaptor3d_Curve

        Return
        -------
        bool

        Description
        -----------
        Initialize curve of trihedron law return standard_true.

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

    def SetInterval(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Sets the bounds of the parametric interval on the function this determines the derivatives in these values if the function is not cn.

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

        Parameters
        ----------
        CurveOnSurf: Adaptor3d_CurveOnSurface
        Tol3d: float
        Tolang: float

        Return
        -------
        None

        Description
        -----------
        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_surface> surface = new geomadaptor_surface(mysurface); opencascade::handle<geom2dadaptor_curve> paramcurve = new geom2dadaptor_curve(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 );.

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

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        P3: TColgp_Array1OfPnt
        P4: TColgp_Array1OfPnt

        Return
        -------
        None

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _GeomFill.GeomFill_Coons_swiginit(self, _GeomFill.new_GeomFill_Coons(*args))

    def Init(self, *args):
        r"""

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        P3: TColgp_Array1OfPnt
        P4: TColgp_Array1OfPnt

        Return
        -------
        None

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        ForEvaluation: bool

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _GeomFill.GeomFill_CorrectedFrenet_swiginit(self, _GeomFill.new_GeomFill_CorrectedFrenet(*args))

    def EvaluateBestMode(self, *args):
        r"""
        Return
        -------
        GeomFill_Trihedron

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

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

        Parameters
        ----------
        Trihedron: GeomFill_TrihedronLaw

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _GeomFill.GeomFill_CurveAndTrihedron_swiginit(self, _GeomFill.new_GeomFill_CurveAndTrihedron(*args))

    def D0(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Compute location and 2d points.

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

        Return
        -------
        bool

        Description
        -----------
        Compute location and 2d points.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        P3: TColgp_Array1OfPnt
        P4: TColgp_Array1OfPnt

        Return
        -------
        None

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        W1: TColStd_Array1OfReal
        W2: TColStd_Array1OfReal

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _GeomFill.GeomFill_Curved_swiginit(self, _GeomFill.new_GeomFill_Curved(*args))

    def Init(self, *args):
        r"""

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        P3: TColgp_Array1OfPnt
        P4: TColgp_Array1OfPnt

        Return
        -------
        None

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        W1: TColStd_Array1OfReal
        W2: TColStd_Array1OfReal

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Parameters
        ----------
        Point: gp_Pnt
        First: float
        Last: float
        Tol3d: float
        Tolang: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _GeomFill.GeomFill_DiscreteTrihedron_swiginit(self, _GeomFill.new_GeomFill_DiscreteTrihedron(*args))

    def Init(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Parameters
        ----------
        BiNormal: gp_Vec
        Angle: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _GeomFill.GeomFill_DraftTrihedron_swiginit(self, _GeomFill.new_GeomFill_DraftTrihedron(*args))

    def SetAngle(self, *args):
        r"""

        Parameters
        ----------
        Angle: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Parameters
        ----------
        C: Geom_Curve
        L: Law_Function

        Return
        -------
        None

        Description
        -----------
        Make an sectionlaw with a curve and a real law.

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

        Parameters
        ----------
        Tangent: gp_Vec
        Normal: gp_Vec

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _GeomFill.GeomFill_Frenet_swiginit(self, _GeomFill.new_GeomFill_Frenet(*args))

    def Init(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _GeomFill.GeomFill_Generator_swiginit(self, _GeomFill.new_GeomFill_Generator(*args))

    def Surface(self, *args):
        r"""
        Return
        -------
        opencascade::handle<Geom_Surface>

        Description
        -----------
        No available documentation.

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

        Parameters
        ----------
        Direction: gp_Dir
        Angle: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _GeomFill.GeomFill_LocationDraft_swiginit(self, _GeomFill.new_GeomFill_LocationDraft(*args))

    def D0(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Compute location.

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

        Return
        -------
        bool

        Description
        -----------
        Compute location and 2d points.

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

    def Direction(self, *args):
        r"""
        Return
        -------
        gp_Dir

        Description
        -----------
        No available documentation.

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

    def IsIntersec(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Say if the generatrice interset the surface.

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

    def SetAngle(self, *args):
        r"""

        Parameters
        ----------
        Angle: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def SetStopSurf(self, *args):
        r"""

        Parameters
        ----------
        Surf: Adaptor3d_Surface

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Parameters
        ----------
        Triedre: GeomFill_TrihedronWithGuide

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _GeomFill.GeomFill_LocationGuide_swiginit(self, _GeomFill.new_GeomFill_LocationGuide(*args))

    def ComputeAutomaticLaw(self, *args):
        r"""

        Parameters
        ----------
        ParAndRad: TColgp_HArray1OfPnt2d

        Return
        -------
        GeomFill_PipeError

        Description
        -----------
        No available documentation.

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

    def D0(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Compute location.

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

        Return
        -------
        bool

        Description
        -----------
        Compute location and 2d points.

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

    def EraseRotation(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Guide(self, *args):
        r"""
        Return
        -------
        opencascade::handle<Adaptor3d_Curve>

        Description
        -----------
        No available documentation.

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

    def Section(self, *args):
        r"""
        Return
        -------
        opencascade::handle<Geom_Curve>

        Description
        -----------
        No available documentation.

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

    def Set(self, *args):
        r"""

        Parameters
        ----------
        Section: GeomFill_SectionLaw
        rotat: bool
        SFirst: float
        SLast: float
        PrecAngle: float

        Return
        -------
        LastAngle: float

        Description
        -----------
        No available documentation.

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

    def SetOrigine(self, *args):
        r"""

        Parameters
        ----------
        Param1: float
        Param2: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Parameters
        ----------
        NC: TColGeom_SequenceOfCurve

        Return
        -------
        None

        Description
        -----------
        Make a sectionlaw with n curves.

        Parameters
        ----------
        NC: TColGeom_SequenceOfCurve
        NP: TColStd_SequenceOfReal

        Return
        -------
        None

        Description
        -----------
        Make a sectionlaw with n curves and n associated parameters.

        Parameters
        ----------
        NC: TColGeom_SequenceOfCurve
        NP: TColStd_SequenceOfReal
        UF: float
        UL: float
        VF: float
        VL: float

        Return
        -------
        None

        Description
        -----------
        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
        Trsfs: GeomFill_SequenceOfTrsf
        NP: TColStd_SequenceOfReal
        UF: float
        UL: float
        VF: float
        VL: float
        Surf: Geom_BSplineSurface

        Return
        -------
        None

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

        """
        _GeomFill.GeomFill_NSections_swiginit(self, _GeomFill.new_GeomFill_NSections(*args))

    def ComputeSurface(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Computes the surface.

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

    def SetSurface(self, *args):
        r"""

        Parameters
        ----------
        RefSurf: Geom_BSplineSurface

        Return
        -------
        None

        Description
        -----------
        Sets the reference surface.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _GeomFill.GeomFill_SectionGenerator_swiginit(self, _GeomFill.new_GeomFill_SectionGenerator(*args))

    def GetShape(self, *args):
        r"""

        Parameters
        ----------

        Return
        -------
        NbPoles: int
        NbKnots: int
        Degree: int
        NbPoles2d: int

        Description
        -----------
        No available documentation.

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

    def Knots(self, *args):
        r"""

        Parameters
        ----------
        TKnots: TColStd_Array1OfReal

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Mults(self, *args):
        r"""

        Parameters
        ----------
        TMults: TColStd_Array1OfInteger

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Parameter(self, *args):
        r"""

        Parameters
        ----------
        P: int

        Return
        -------
        float

        Description
        -----------
        Returns the parameter of section<p>, to impose it for the approximation.

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

    def Section(self, *args):
        r"""

        Parameters
        ----------
        P: int
        Poles: TColgp_Array1OfPnt
        DPoles: TColgp_Array1OfVec
        Poles2d: TColgp_Array1OfPnt2d
        DPoles2d: TColgp_Array1OfVec2d
        Weigths: TColStd_Array1OfReal
        DWeigths: TColStd_Array1OfReal

        Return
        -------
        bool

        Description
        -----------
        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
        Poles2d: TColgp_Array1OfPnt2d
        Weigths: TColStd_Array1OfReal

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def SetParam(self, *args):
        r"""

        Parameters
        ----------
        Params: TColStd_HArray1OfReal

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Parameters
        ----------
        Curve: Adaptor3d_Curve
        Tol3d: float
        Tolang: float

        Return
        -------
        None

        Description
        -----------
        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_curve> curve = new geomadaptor_curve(mycurve); - second sequence: // step 1 opencascade::handle<geom_curve> mycurve = ... ; geomadaptor_curve crv (mycurve); // step 2 opencascade::handle<geomadaptor_curve> curve = new geomadaptor_curve(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);.

        """
        _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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        P3: TColgp_Array1OfPnt
        P4: TColgp_Array1OfPnt

        Return
        -------
        None

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _GeomFill.GeomFill_Stretch_swiginit(self, _GeomFill.new_GeomFill_Stretch(*args))

    def Init(self, *args):
        r"""

        Parameters
        ----------
        P1: TColgp_Array1OfPnt
        P2: TColgp_Array1OfPnt
        P3: TColgp_Array1OfPnt
        P4: TColgp_Array1OfPnt

        Return
        -------
        None

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Parameters
        ----------
        K: GeomFill_CoonsAlgPatch
        I: int

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _GeomFill.GeomFill_TgtOnCoons_swiginit(self, _GeomFill.new_GeomFill_TgtOnCoons(*args))

    def D1(self, *args):
        r"""

        Parameters
        ----------
        W: float

        Return
        -------
        gp_Vec

        Description
        -----------
        Computes the derivative of the field of tangency at parameter w.

        Parameters
        ----------
        W: float
        T: gp_Vec
        DT: gp_Vec

        Return
        -------
        None

        Description
        -----------
        Computes the value and the derivative of the field of tangency at parameter w.

        """
        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):
        r"""
        Return
        -------
        gp_Pnt

        Description
        -----------
        Returns the current point on guide found by d0, d1 or d2.

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

    def Guide(self, *args):
        r"""
        Return
        -------
        opencascade::handle<Adaptor3d_Curve>

        Description
        -----------
        No available documentation.

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

    def Origine(self, *args):
        r"""

        Parameters
        ----------
        Param1: float
        Param2: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Parameters
        ----------
        C: Geom_Curve
        FirstParameter: float (optional, default to 0.0)
        LastParameter: float (optional, default to 1.0)

        Return
        -------
        None

        Description
        -----------
        Make an constant law with c. [first, last] define law definition domain.

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

        Parameters
        ----------
        guide: Adaptor3d_Curve

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Parameters
        ----------
        theGuide: Adaptor3d_Curve

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _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):
        return _GeomFill.GeomFill_HArray1OfLocationLaw_Array1(self)

    def ChangeArray1(self):
        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):
        return _GeomFill.GeomFill_HArray1OfSectionLaw_Array1(self)

    def ChangeArray1(self):
        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):
        return _GeomFill.GeomFill_HSequenceOfAx2_Sequence(self)

    def Append(self, *args):
        return _GeomFill.GeomFill_HSequenceOfAx2_Append(self, *args)

    def ChangeSequence(self):
        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)



@deprecated
def geomfill_GetCircle(*args):
	return geomfill.GetCircle(*args)

@deprecated
def geomfill_GetCircle(*args):
	return geomfill.GetCircle(*args)

@deprecated
def geomfill_GetCircle(*args):
	return geomfill.GetCircle(*args)

@deprecated
def geomfill_GetMinimalWeights(*args):
	return geomfill.GetMinimalWeights(*args)

@deprecated
def geomfill_GetShape(*args):
	return geomfill.GetShape(*args)

@deprecated
def geomfill_GetTolerance(*args):
	return geomfill.GetTolerance(*args)

@deprecated
def geomfill_Knots(*args):
	return geomfill.Knots(*args)

@deprecated
def geomfill_Mults(*args):
	return geomfill.Mults(*args)

@deprecated
def geomfill_Surface(*args):
	return geomfill.Surface(*args)



