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

"""
Adaptor3d module, see official documentation at
https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_adaptor3d.html
"""

from sys import version_info as _swig_python_version_info
if _swig_python_version_info < (2, 7, 0):
    raise RuntimeError("Python 2.7 or later required")

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _Adaptor3d
else:
    import _Adaptor3d

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

_swig_new_instance_method = _Adaptor3d.SWIG_PyInstanceMethod_New
_swig_new_static_method = _Adaptor3d.SWIG_PyStaticMethod_New

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


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


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


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


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


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

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

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


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


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

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.Geom
import OCC.Core.gp
import OCC.Core.GeomAbs
import OCC.Core.TColgp
import OCC.Core.TColStd
import OCC.Core.TCollection
import OCC.Core.TopAbs
import OCC.Core.Adaptor2d
import OCC.Core.Geom2d
import OCC.Core.math
import OCC.Core.Message
Handle_Adaptor3d_HCurve_Create = _Adaptor3d.Handle_Adaptor3d_HCurve_Create
Handle_Adaptor3d_HCurve_DownCast = _Adaptor3d.Handle_Adaptor3d_HCurve_DownCast
Handle_Adaptor3d_HCurve_IsNull = _Adaptor3d.Handle_Adaptor3d_HCurve_IsNull
Handle_Adaptor3d_HSurface_Create = _Adaptor3d.Handle_Adaptor3d_HSurface_Create
Handle_Adaptor3d_HSurface_DownCast = _Adaptor3d.Handle_Adaptor3d_HSurface_DownCast
Handle_Adaptor3d_HSurface_IsNull = _Adaptor3d.Handle_Adaptor3d_HSurface_IsNull
Handle_Adaptor3d_HVertex_Create = _Adaptor3d.Handle_Adaptor3d_HVertex_Create
Handle_Adaptor3d_HVertex_DownCast = _Adaptor3d.Handle_Adaptor3d_HVertex_DownCast
Handle_Adaptor3d_HVertex_IsNull = _Adaptor3d.Handle_Adaptor3d_HVertex_IsNull
Handle_Adaptor3d_TopolTool_Create = _Adaptor3d.Handle_Adaptor3d_TopolTool_Create
Handle_Adaptor3d_TopolTool_DownCast = _Adaptor3d.Handle_Adaptor3d_TopolTool_DownCast
Handle_Adaptor3d_TopolTool_IsNull = _Adaptor3d.Handle_Adaptor3d_TopolTool_IsNull
Handle_Adaptor3d_HCurveOnSurface_Create = _Adaptor3d.Handle_Adaptor3d_HCurveOnSurface_Create
Handle_Adaptor3d_HCurveOnSurface_DownCast = _Adaptor3d.Handle_Adaptor3d_HCurveOnSurface_DownCast
Handle_Adaptor3d_HCurveOnSurface_IsNull = _Adaptor3d.Handle_Adaptor3d_HCurveOnSurface_IsNull
Handle_Adaptor3d_HIsoCurve_Create = _Adaptor3d.Handle_Adaptor3d_HIsoCurve_Create
Handle_Adaptor3d_HIsoCurve_DownCast = _Adaptor3d.Handle_Adaptor3d_HIsoCurve_DownCast
Handle_Adaptor3d_HIsoCurve_IsNull = _Adaptor3d.Handle_Adaptor3d_HIsoCurve_IsNull
class Adaptor3d_Curve(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    BSpline = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_BSpline)
    Bezier = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_Bezier)
    Circle = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_Circle)
    Continuity = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_Continuity)
    D0 = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_D0)
    D1 = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_D1)
    D2 = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_D2)
    D3 = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_D3)
    DN = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_DN)
    Degree = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_Degree)
    Ellipse = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_Ellipse)
    FirstParameter = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_FirstParameter)
    GetType = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_GetType)
    Hyperbola = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_Hyperbola)
    Intervals = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_Intervals)
    IsClosed = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_IsClosed)
    IsPeriodic = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_IsPeriodic)
    IsRational = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_IsRational)
    LastParameter = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_LastParameter)
    Line = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_Line)
    NbIntervals = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_NbIntervals)
    NbKnots = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_NbKnots)
    NbPoles = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_NbPoles)
    OffsetCurve = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_OffsetCurve)
    Parabola = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_Parabola)
    Period = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_Period)
    Resolution = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_Resolution)
    Trim = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_Trim)
    Value = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Curve_Value)

    __repr__ = _dumps_object


    def __init__(self):
        _Adaptor3d.Adaptor3d_Curve_swiginit(self, _Adaptor3d.new_Adaptor3d_Curve())
    __swig_destroy__ = _Adaptor3d.delete_Adaptor3d_Curve

# Register Adaptor3d_Curve in _Adaptor3d:
_Adaptor3d.Adaptor3d_Curve_swigregister(Adaptor3d_Curve)

class Adaptor3d_HCurve(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
    BSpline = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_BSpline)
    Bezier = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_Bezier)
    Circle = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_Circle)
    Continuity = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_Continuity)
    Curve = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_Curve)
    D0 = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_D0)
    D1 = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_D1)
    D2 = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_D2)
    D3 = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_D3)
    DN = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_DN)
    Degree = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_Degree)
    Ellipse = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_Ellipse)
    FirstParameter = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_FirstParameter)
    GetCurve = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_GetCurve)
    GetType = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_GetType)
    Hyperbola = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_Hyperbola)
    Intervals = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_Intervals)
    IsClosed = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_IsClosed)
    IsPeriodic = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_IsPeriodic)
    IsRational = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_IsRational)
    LastParameter = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_LastParameter)
    Line = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_Line)
    NbIntervals = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_NbIntervals)
    NbKnots = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_NbKnots)
    NbPoles = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_NbPoles)
    OffsetCurve = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_OffsetCurve)
    Parabola = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_Parabola)
    Period = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_Period)
    Resolution = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_Resolution)
    Trim = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_Trim)
    Value = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurve_Value)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Adaptor3d.delete_Adaptor3d_HCurve

# Register Adaptor3d_HCurve in _Adaptor3d:
_Adaptor3d.Adaptor3d_HCurve_swigregister(Adaptor3d_HCurve)

class Adaptor3d_HSurface(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
    AxeOfRevolution = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_AxeOfRevolution)
    BSpline = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_BSpline)
    BasisCurve = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_BasisCurve)
    BasisSurface = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_BasisSurface)
    Bezier = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_Bezier)
    Cone = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_Cone)
    Cylinder = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_Cylinder)
    D0 = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_D0)
    D1 = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_D1)
    D2 = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_D2)
    D3 = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_D3)
    DN = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_DN)
    Direction = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_Direction)
    FirstUParameter = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_FirstUParameter)
    FirstVParameter = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_FirstVParameter)
    GetType = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_GetType)
    IsUClosed = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_IsUClosed)
    IsUPeriodic = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_IsUPeriodic)
    IsURational = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_IsURational)
    IsVClosed = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_IsVClosed)
    IsVPeriodic = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_IsVPeriodic)
    IsVRational = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_IsVRational)
    LastUParameter = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_LastUParameter)
    LastVParameter = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_LastVParameter)
    NbUIntervals = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_NbUIntervals)
    NbUKnots = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_NbUKnots)
    NbUPoles = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_NbUPoles)
    NbVIntervals = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_NbVIntervals)
    NbVKnots = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_NbVKnots)
    NbVPoles = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_NbVPoles)
    OffsetValue = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_OffsetValue)
    Plane = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_Plane)
    Sphere = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_Sphere)
    Surface = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_Surface)
    Torus = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_Torus)
    UContinuity = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_UContinuity)
    UDegree = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_UDegree)
    UIntervals = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_UIntervals)
    UPeriod = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_UPeriod)
    UResolution = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_UResolution)
    UTrim = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_UTrim)
    VContinuity = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_VContinuity)
    VDegree = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_VDegree)
    VIntervals = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_VIntervals)
    VPeriod = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_VPeriod)
    VResolution = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_VResolution)
    VTrim = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_VTrim)
    Value = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HSurface_Value)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Adaptor3d.delete_Adaptor3d_HSurface

# Register Adaptor3d_HSurface in _Adaptor3d:
_Adaptor3d.Adaptor3d_HSurface_swigregister(Adaptor3d_HSurface)

class Adaptor3d_HSurfaceTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AxeOfRevolution = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_AxeOfRevolution)
    BSpline = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_BSpline)
    BasisCurve = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_BasisCurve)
    BasisSurface = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_BasisSurface)
    Bezier = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_Bezier)
    Cone = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_Cone)
    Cylinder = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_Cylinder)
    D0 = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_D0)
    D1 = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_D1)
    D2 = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_D2)
    D3 = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_D3)
    DN = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_DN)
    Direction = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_Direction)
    FirstUParameter = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_FirstUParameter)
    FirstVParameter = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_FirstVParameter)
    GetType = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_GetType)
    IsUClosed = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_IsUClosed)
    IsUPeriodic = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_IsUPeriodic)
    IsVClosed = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_IsVClosed)
    IsVPeriodic = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_IsVPeriodic)
    LastUParameter = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_LastUParameter)
    LastVParameter = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_LastVParameter)
    NbSamplesU = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_NbSamplesU)
    NbSamplesV = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_NbSamplesV)
    NbUIntervals = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_NbUIntervals)
    NbVIntervals = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_NbVIntervals)
    OffsetValue = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_OffsetValue)
    Plane = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_Plane)
    Sphere = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_Sphere)
    Torus = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_Torus)
    UIntervals = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_UIntervals)
    UPeriod = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_UPeriod)
    UResolution = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_UResolution)
    UTrim = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_UTrim)
    VIntervals = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_VIntervals)
    VPeriod = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_VPeriod)
    VResolution = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_VResolution)
    VTrim = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_VTrim)
    Value = _swig_new_static_method(_Adaptor3d.Adaptor3d_HSurfaceTool_Value)

    __repr__ = _dumps_object


    def __init__(self):
        _Adaptor3d.Adaptor3d_HSurfaceTool_swiginit(self, _Adaptor3d.new_Adaptor3d_HSurfaceTool())
    __swig_destroy__ = _Adaptor3d.delete_Adaptor3d_HSurfaceTool

# Register Adaptor3d_HSurfaceTool in _Adaptor3d:
_Adaptor3d.Adaptor3d_HSurfaceTool_swigregister(Adaptor3d_HSurfaceTool)
Adaptor3d_HSurfaceTool_AxeOfRevolution = _Adaptor3d.Adaptor3d_HSurfaceTool_AxeOfRevolution
Adaptor3d_HSurfaceTool_BSpline = _Adaptor3d.Adaptor3d_HSurfaceTool_BSpline
Adaptor3d_HSurfaceTool_BasisCurve = _Adaptor3d.Adaptor3d_HSurfaceTool_BasisCurve
Adaptor3d_HSurfaceTool_BasisSurface = _Adaptor3d.Adaptor3d_HSurfaceTool_BasisSurface
Adaptor3d_HSurfaceTool_Bezier = _Adaptor3d.Adaptor3d_HSurfaceTool_Bezier
Adaptor3d_HSurfaceTool_Cone = _Adaptor3d.Adaptor3d_HSurfaceTool_Cone
Adaptor3d_HSurfaceTool_Cylinder = _Adaptor3d.Adaptor3d_HSurfaceTool_Cylinder
Adaptor3d_HSurfaceTool_D0 = _Adaptor3d.Adaptor3d_HSurfaceTool_D0
Adaptor3d_HSurfaceTool_D1 = _Adaptor3d.Adaptor3d_HSurfaceTool_D1
Adaptor3d_HSurfaceTool_D2 = _Adaptor3d.Adaptor3d_HSurfaceTool_D2
Adaptor3d_HSurfaceTool_D3 = _Adaptor3d.Adaptor3d_HSurfaceTool_D3
Adaptor3d_HSurfaceTool_DN = _Adaptor3d.Adaptor3d_HSurfaceTool_DN
Adaptor3d_HSurfaceTool_Direction = _Adaptor3d.Adaptor3d_HSurfaceTool_Direction
Adaptor3d_HSurfaceTool_FirstUParameter = _Adaptor3d.Adaptor3d_HSurfaceTool_FirstUParameter
Adaptor3d_HSurfaceTool_FirstVParameter = _Adaptor3d.Adaptor3d_HSurfaceTool_FirstVParameter
Adaptor3d_HSurfaceTool_GetType = _Adaptor3d.Adaptor3d_HSurfaceTool_GetType
Adaptor3d_HSurfaceTool_IsUClosed = _Adaptor3d.Adaptor3d_HSurfaceTool_IsUClosed
Adaptor3d_HSurfaceTool_IsUPeriodic = _Adaptor3d.Adaptor3d_HSurfaceTool_IsUPeriodic
Adaptor3d_HSurfaceTool_IsVClosed = _Adaptor3d.Adaptor3d_HSurfaceTool_IsVClosed
Adaptor3d_HSurfaceTool_IsVPeriodic = _Adaptor3d.Adaptor3d_HSurfaceTool_IsVPeriodic
Adaptor3d_HSurfaceTool_LastUParameter = _Adaptor3d.Adaptor3d_HSurfaceTool_LastUParameter
Adaptor3d_HSurfaceTool_LastVParameter = _Adaptor3d.Adaptor3d_HSurfaceTool_LastVParameter
Adaptor3d_HSurfaceTool_NbSamplesU = _Adaptor3d.Adaptor3d_HSurfaceTool_NbSamplesU
Adaptor3d_HSurfaceTool_NbSamplesV = _Adaptor3d.Adaptor3d_HSurfaceTool_NbSamplesV
Adaptor3d_HSurfaceTool_NbUIntervals = _Adaptor3d.Adaptor3d_HSurfaceTool_NbUIntervals
Adaptor3d_HSurfaceTool_NbVIntervals = _Adaptor3d.Adaptor3d_HSurfaceTool_NbVIntervals
Adaptor3d_HSurfaceTool_OffsetValue = _Adaptor3d.Adaptor3d_HSurfaceTool_OffsetValue
Adaptor3d_HSurfaceTool_Plane = _Adaptor3d.Adaptor3d_HSurfaceTool_Plane
Adaptor3d_HSurfaceTool_Sphere = _Adaptor3d.Adaptor3d_HSurfaceTool_Sphere
Adaptor3d_HSurfaceTool_Torus = _Adaptor3d.Adaptor3d_HSurfaceTool_Torus
Adaptor3d_HSurfaceTool_UIntervals = _Adaptor3d.Adaptor3d_HSurfaceTool_UIntervals
Adaptor3d_HSurfaceTool_UPeriod = _Adaptor3d.Adaptor3d_HSurfaceTool_UPeriod
Adaptor3d_HSurfaceTool_UResolution = _Adaptor3d.Adaptor3d_HSurfaceTool_UResolution
Adaptor3d_HSurfaceTool_UTrim = _Adaptor3d.Adaptor3d_HSurfaceTool_UTrim
Adaptor3d_HSurfaceTool_VIntervals = _Adaptor3d.Adaptor3d_HSurfaceTool_VIntervals
Adaptor3d_HSurfaceTool_VPeriod = _Adaptor3d.Adaptor3d_HSurfaceTool_VPeriod
Adaptor3d_HSurfaceTool_VResolution = _Adaptor3d.Adaptor3d_HSurfaceTool_VResolution
Adaptor3d_HSurfaceTool_VTrim = _Adaptor3d.Adaptor3d_HSurfaceTool_VTrim
Adaptor3d_HSurfaceTool_Value = _Adaptor3d.Adaptor3d_HSurfaceTool_Value

class Adaptor3d_HVertex(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        :rtype: None:param P:
        	:type P: gp_Pnt2d
        	:param Ori:
        	:type Ori: TopAbs_Orientation
        	:param Resolution:
        	:type Resolution: float
        	:rtype: None
        """
        _Adaptor3d.Adaptor3d_HVertex_swiginit(self, _Adaptor3d.new_Adaptor3d_HVertex(*args))
    IsSame = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HVertex_IsSame)
    Orientation = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HVertex_Orientation)
    Parameter = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HVertex_Parameter)
    Resolution = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HVertex_Resolution)
    Value = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HVertex_Value)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Adaptor3d.delete_Adaptor3d_HVertex

# Register Adaptor3d_HVertex in _Adaptor3d:
_Adaptor3d.Adaptor3d_HVertex_swigregister(Adaptor3d_HVertex)

class Adaptor3d_InterFunc(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"""
        * build the function U(t)=FixVal if Fix =1 or V(t)=FixVal if Fix=2
        	:param C:
        	:type C: Adaptor2d_HCurve2d
        	:param FixVal:
        	:type FixVal: float
        	:param Fix:
        	:type Fix: int
        	:rtype: None
        """
        _Adaptor3d.Adaptor3d_InterFunc_swiginit(self, _Adaptor3d.new_Adaptor3d_InterFunc(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _Adaptor3d.delete_Adaptor3d_InterFunc

# Register Adaptor3d_InterFunc in _Adaptor3d:
_Adaptor3d.Adaptor3d_InterFunc_swigregister(Adaptor3d_InterFunc)

class Adaptor3d_Surface(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AxeOfRevolution = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_AxeOfRevolution)
    BSpline = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_BSpline)
    BasisCurve = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_BasisCurve)
    BasisSurface = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_BasisSurface)
    Bezier = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_Bezier)
    Cone = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_Cone)
    Cylinder = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_Cylinder)
    D0 = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_D0)
    D1 = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_D1)
    D2 = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_D2)
    D3 = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_D3)
    DN = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_DN)
    Direction = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_Direction)
    FirstUParameter = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_FirstUParameter)
    FirstVParameter = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_FirstVParameter)
    GetType = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_GetType)
    IsUClosed = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_IsUClosed)
    IsUPeriodic = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_IsUPeriodic)
    IsURational = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_IsURational)
    IsVClosed = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_IsVClosed)
    IsVPeriodic = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_IsVPeriodic)
    IsVRational = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_IsVRational)
    LastUParameter = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_LastUParameter)
    LastVParameter = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_LastVParameter)
    NbUIntervals = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_NbUIntervals)
    NbUKnots = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_NbUKnots)
    NbUPoles = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_NbUPoles)
    NbVIntervals = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_NbVIntervals)
    NbVKnots = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_NbVKnots)
    NbVPoles = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_NbVPoles)
    OffsetValue = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_OffsetValue)
    Plane = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_Plane)
    Sphere = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_Sphere)
    Torus = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_Torus)
    UContinuity = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_UContinuity)
    UDegree = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_UDegree)
    UIntervals = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_UIntervals)
    UPeriod = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_UPeriod)
    UResolution = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_UResolution)
    UTrim = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_UTrim)
    VContinuity = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_VContinuity)
    VDegree = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_VDegree)
    VIntervals = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_VIntervals)
    VPeriod = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_VPeriod)
    VResolution = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_VResolution)
    VTrim = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_VTrim)
    Value = _swig_new_instance_method(_Adaptor3d.Adaptor3d_Surface_Value)

    __repr__ = _dumps_object


    def __init__(self):
        _Adaptor3d.Adaptor3d_Surface_swiginit(self, _Adaptor3d.new_Adaptor3d_Surface())
    __swig_destroy__ = _Adaptor3d.delete_Adaptor3d_Surface

# Register Adaptor3d_Surface in _Adaptor3d:
_Adaptor3d.Adaptor3d_Surface_swigregister(Adaptor3d_Surface)

class Adaptor3d_TopolTool(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        :rtype: None:param Surface:
        	:type Surface: Adaptor3d_HSurface
        	:rtype: None
        """
        _Adaptor3d.Adaptor3d_TopolTool_swiginit(self, _Adaptor3d.new_Adaptor3d_TopolTool(*args))
    BSplSamplePnts = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_BSplSamplePnts)
    Classify = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_Classify)
    ComputeSamplePoints = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_ComputeSamplePoints)
    DomainIsInfinite = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_DomainIsInfinite)
    Edge = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_Edge)
    Has3d = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_Has3d)
    Identical = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_Identical)
    Init = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_Init)
    InitVertexIterator = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_InitVertexIterator)
    Initialize = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_Initialize)
    IsThePointOn = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_IsThePointOn)
    IsUniformSampling = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_IsUniformSampling)
    More = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_More)
    MoreVertex = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_MoreVertex)
    NbSamples = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_NbSamples)
    NbSamplesU = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_NbSamplesU)
    NbSamplesV = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_NbSamplesV)
    Next = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_Next)
    NextVertex = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_NextVertex)
    Orientation = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_Orientation)
    Pnt = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_Pnt)
    SamplePnts = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_SamplePnts)
    SamplePoint = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_SamplePoint)
    Tol3d = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_Tol3d)
    UParameters = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_UParameters)
    VParameters = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_VParameters)
    Value = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_Value)
    Vertex = _swig_new_instance_method(_Adaptor3d.Adaptor3d_TopolTool_Vertex)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Adaptor3d.delete_Adaptor3d_TopolTool

# Register Adaptor3d_TopolTool in _Adaptor3d:
_Adaptor3d.Adaptor3d_TopolTool_swigregister(Adaptor3d_TopolTool)

class Adaptor3d_CurveOnSurface(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"""
        :rtype: None:param S:
        	:type S: Adaptor3d_HSurface
        	:rtype: None* Creates a CurveOnSurface from the 2d curve <C> and the surface <S>.
        	:param C:
        	:type C: Adaptor2d_HCurve2d
        	:param S:
        	:type S: Adaptor3d_HSurface
        	:rtype: None
        """
        _Adaptor3d.Adaptor3d_CurveOnSurface_swiginit(self, _Adaptor3d.new_Adaptor3d_CurveOnSurface(*args))
    ChangeCurve = _swig_new_instance_method(_Adaptor3d.Adaptor3d_CurveOnSurface_ChangeCurve)
    ChangeSurface = _swig_new_instance_method(_Adaptor3d.Adaptor3d_CurveOnSurface_ChangeSurface)
    GetCurve = _swig_new_instance_method(_Adaptor3d.Adaptor3d_CurveOnSurface_GetCurve)
    GetSurface = _swig_new_instance_method(_Adaptor3d.Adaptor3d_CurveOnSurface_GetSurface)
    Load = _swig_new_instance_method(_Adaptor3d.Adaptor3d_CurveOnSurface_Load)

    __repr__ = _dumps_object

    __swig_destroy__ = _Adaptor3d.delete_Adaptor3d_CurveOnSurface

# Register Adaptor3d_CurveOnSurface in _Adaptor3d:
_Adaptor3d.Adaptor3d_CurveOnSurface_swigregister(Adaptor3d_CurveOnSurface)

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

    def __init__(self, *args):
        r"""
        * Creates an empty GenHCurve.
        	:rtype: None* Creates a GenHCurve from a Curve
        	:param C:
        	:type C: Adaptor3d_CurveOnSurface
        	:rtype: None
        """
        _Adaptor3d.Adaptor3d_HCurveOnSurface_swiginit(self, _Adaptor3d.new_Adaptor3d_HCurveOnSurface(*args))
    ChangeCurve = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurveOnSurface_ChangeCurve)
    Set = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HCurveOnSurface_Set)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Adaptor3d.delete_Adaptor3d_HCurveOnSurface

# Register Adaptor3d_HCurveOnSurface in _Adaptor3d:
_Adaptor3d.Adaptor3d_HCurveOnSurface_swigregister(Adaptor3d_HCurveOnSurface)

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

    def __init__(self, *args):
        r"""
        * Creates an empty GenHCurve.
        	:rtype: None* Creates a GenHCurve from a Curve
        	:param C:
        	:type C: Adaptor3d_IsoCurve
        	:rtype: None
        """
        _Adaptor3d.Adaptor3d_HIsoCurve_swiginit(self, _Adaptor3d.new_Adaptor3d_HIsoCurve(*args))
    ChangeCurve = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HIsoCurve_ChangeCurve)
    Set = _swig_new_instance_method(_Adaptor3d.Adaptor3d_HIsoCurve_Set)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Adaptor3d.delete_Adaptor3d_HIsoCurve

# Register Adaptor3d_HIsoCurve in _Adaptor3d:
_Adaptor3d.Adaptor3d_HIsoCurve_swigregister(Adaptor3d_HIsoCurve)

class Adaptor3d_IsoCurve(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"""
        * The iso is set to NoneIso.
        	:rtype: None* The surface is loaded. The iso is set to NoneIso.
        	:param S:
        	:type S: Adaptor3d_HSurface
        	:rtype: None* Creates an IsoCurve curve. Iso defines the type (isoU or isoU) Param defines the value of the iso. The bounds of the iso are the bounds of the surface.
        	:param S:
        	:type S: Adaptor3d_HSurface
        	:param Iso:
        	:type Iso: GeomAbs_IsoType
        	:param Param:
        	:type Param: float
        	:rtype: None* Create an IsoCurve curve. Iso defines the type (isoU or isov). Param defines the value of the iso. WFirst,WLast define the bounds of the iso.
        	:param S:
        	:type S: Adaptor3d_HSurface
        	:param Iso:
        	:type Iso: GeomAbs_IsoType
        	:param Param:
        	:type Param: float
        	:param WFirst:
        	:type WFirst: float
        	:param WLast:
        	:type WLast: float
        	:rtype: None
        """
        _Adaptor3d.Adaptor3d_IsoCurve_swiginit(self, _Adaptor3d.new_Adaptor3d_IsoCurve(*args))
    Iso = _swig_new_instance_method(_Adaptor3d.Adaptor3d_IsoCurve_Iso)
    Load = _swig_new_instance_method(_Adaptor3d.Adaptor3d_IsoCurve_Load)
    Parameter = _swig_new_instance_method(_Adaptor3d.Adaptor3d_IsoCurve_Parameter)
    Surface = _swig_new_instance_method(_Adaptor3d.Adaptor3d_IsoCurve_Surface)

    __repr__ = _dumps_object

    __swig_destroy__ = _Adaptor3d.delete_Adaptor3d_IsoCurve

# Register Adaptor3d_IsoCurve in _Adaptor3d:
_Adaptor3d.Adaptor3d_IsoCurve_swigregister(Adaptor3d_IsoCurve)



