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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


def process_exception(error: "Standard_Failure", method_name: "std::string", class_name: "std::string") -> "void":
    return _Adaptor3d.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.Geom
import OCC.Core.gp
import OCC.Core.TColStd
import OCC.Core.TCollection
import OCC.Core.GeomAbs
import OCC.Core.TColgp
import OCC.Core.TopAbs
import OCC.Core.Adaptor2d
import OCC.Core.Geom2d
import OCC.Core.math
import OCC.Core.Message
import OCC.Core.OSD

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




def Handle_Adaptor3d_HCurve_Create() -> "opencascade::handle< Adaptor3d_HCurve >":
    return _Adaptor3d.Handle_Adaptor3d_HCurve_Create()

def Handle_Adaptor3d_HCurve_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Adaptor3d_HCurve >":
    return _Adaptor3d.Handle_Adaptor3d_HCurve_DownCast(t)

def Handle_Adaptor3d_HCurve_IsNull(t: "opencascade::handle< Adaptor3d_HCurve > const &") -> "bool":
    return _Adaptor3d.Handle_Adaptor3d_HCurve_IsNull(t)

def Handle_Adaptor3d_HSurface_Create() -> "opencascade::handle< Adaptor3d_HSurface >":
    return _Adaptor3d.Handle_Adaptor3d_HSurface_Create()

def Handle_Adaptor3d_HSurface_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Adaptor3d_HSurface >":
    return _Adaptor3d.Handle_Adaptor3d_HSurface_DownCast(t)

def Handle_Adaptor3d_HSurface_IsNull(t: "opencascade::handle< Adaptor3d_HSurface > const &") -> "bool":
    return _Adaptor3d.Handle_Adaptor3d_HSurface_IsNull(t)

def Handle_Adaptor3d_HVertex_Create() -> "opencascade::handle< Adaptor3d_HVertex >":
    return _Adaptor3d.Handle_Adaptor3d_HVertex_Create()

def Handle_Adaptor3d_HVertex_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Adaptor3d_HVertex >":
    return _Adaptor3d.Handle_Adaptor3d_HVertex_DownCast(t)

def Handle_Adaptor3d_HVertex_IsNull(t: "opencascade::handle< Adaptor3d_HVertex > const &") -> "bool":
    return _Adaptor3d.Handle_Adaptor3d_HVertex_IsNull(t)

def Handle_Adaptor3d_TopolTool_Create() -> "opencascade::handle< Adaptor3d_TopolTool >":
    return _Adaptor3d.Handle_Adaptor3d_TopolTool_Create()

def Handle_Adaptor3d_TopolTool_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Adaptor3d_TopolTool >":
    return _Adaptor3d.Handle_Adaptor3d_TopolTool_DownCast(t)

def Handle_Adaptor3d_TopolTool_IsNull(t: "opencascade::handle< Adaptor3d_TopolTool > const &") -> "bool":
    return _Adaptor3d.Handle_Adaptor3d_TopolTool_IsNull(t)

def Handle_Adaptor3d_HCurveOnSurface_Create() -> "opencascade::handle< Adaptor3d_HCurveOnSurface >":
    return _Adaptor3d.Handle_Adaptor3d_HCurveOnSurface_Create()

def Handle_Adaptor3d_HCurveOnSurface_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Adaptor3d_HCurveOnSurface >":
    return _Adaptor3d.Handle_Adaptor3d_HCurveOnSurface_DownCast(t)

def Handle_Adaptor3d_HCurveOnSurface_IsNull(t: "opencascade::handle< Adaptor3d_HCurveOnSurface > const &") -> "bool":
    return _Adaptor3d.Handle_Adaptor3d_HCurveOnSurface_IsNull(t)

def Handle_Adaptor3d_HIsoCurve_Create() -> "opencascade::handle< Adaptor3d_HIsoCurve >":
    return _Adaptor3d.Handle_Adaptor3d_HIsoCurve_Create()

def Handle_Adaptor3d_HIsoCurve_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Adaptor3d_HIsoCurve >":
    return _Adaptor3d.Handle_Adaptor3d_HIsoCurve_DownCast(t)

def Handle_Adaptor3d_HIsoCurve_IsNull(t: "opencascade::handle< Adaptor3d_HIsoCurve > const &") -> "bool":
    return _Adaptor3d.Handle_Adaptor3d_HIsoCurve_IsNull(t)
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

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

        Returns
        -------
        opencascade::handle<Geom_BSplineCurve>

        """
        return _Adaptor3d.Adaptor3d_Curve_BSpline(self, *args)

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

        Returns
        -------
        opencascade::handle<Geom_BezierCurve>

        """
        return _Adaptor3d.Adaptor3d_Curve_Bezier(self, *args)

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

        Returns
        -------
        gp_Circ

        """
        return _Adaptor3d.Adaptor3d_Curve_Circle(self, *args)

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

        Returns
        -------
        GeomAbs_Shape

        """
        return _Adaptor3d.Adaptor3d_Curve_Continuity(self, *args)

    def D0(self, *args) -> "void":
        r"""
        Computes the point of parameter u on the curve.

        Parameters
        ----------
        U: float
        P: gp_Pnt

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_Curve_D0(self, *args)

    def D1(self, *args) -> "void":
        r"""
        Computes the point of parameter u on the curve with its first derivative. raised if the continuity of the current interval is not c1.

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

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_Curve_D1(self, *args)

    def D2(self, *args) -> "void":
        r"""
        Returns the point p of parameter u, the first and second derivatives v1 and v2. raised if the continuity of the current interval is not c2.

        Parameters
        ----------
        U: float
        P: gp_Pnt
        V1: gp_Vec
        V2: gp_Vec

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_Curve_D2(self, *args)

    def D3(self, *args) -> "void":
        r"""
        Returns the point p of parameter u, the first, the second and the third derivative. raised if the continuity of the current interval is not c3.

        Parameters
        ----------
        U: float
        P: gp_Pnt
        V1: gp_Vec
        V2: gp_Vec
        V3: gp_Vec

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_Curve_D3(self, *args)

    def DN(self, *args) -> "gp_Vec":
        r"""
        The returned vector gives the value of the derivative for the order of derivation n. raised if the continuity of the current interval is not cn. raised if n < 1.

        Parameters
        ----------
        U: float
        N: int

        Returns
        -------
        gp_Vec

        """
        return _Adaptor3d.Adaptor3d_Curve_DN(self, *args)

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_Curve_Degree(self, *args)

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

        Returns
        -------
        gp_Elips

        """
        return _Adaptor3d.Adaptor3d_Curve_Ellipse(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_Curve_FirstParameter(self, *args)

    def GetType(self, *args) -> "GeomAbs_CurveType":
        r"""
        Returns the type of the curve in the current interval : line, circle, ellipse, hyperbola, parabola, beziercurve, bsplinecurve, othercurve.

        Returns
        -------
        GeomAbs_CurveType

        """
        return _Adaptor3d.Adaptor3d_Curve_GetType(self, *args)

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

        Returns
        -------
        gp_Hypr

        """
        return _Adaptor3d.Adaptor3d_Curve_Hyperbola(self, *args)

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

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

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_Curve_Intervals(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_Curve_IsClosed(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_Curve_IsPeriodic(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_Curve_IsRational(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_Curve_LastParameter(self, *args)

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

        Returns
        -------
        gp_Lin

        """
        return _Adaptor3d.Adaptor3d_Curve_Line(self, *args)

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

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_Curve_NbIntervals(self, *args)

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_Curve_NbKnots(self, *args)

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_Curve_NbPoles(self, *args)

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

        Returns
        -------
        opencascade::handle<Geom_OffsetCurve>

        """
        return _Adaptor3d.Adaptor3d_Curve_OffsetCurve(self, *args)

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

        Returns
        -------
        gp_Parab

        """
        return _Adaptor3d.Adaptor3d_Curve_Parabola(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_Curve_Period(self, *args)

    def Resolution(self, *args) -> "Standard_Real":
        r"""
        Returns the parametric resolution corresponding to the real space resolution <r3d>.

        Parameters
        ----------
        R3d: float

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_Curve_Resolution(self, *args)

    def Trim(self, *args) -> "opencascade::handle< Adaptor3d_HCurve >":
        r"""
        Returns a curve equivalent of <self> between parameters <first> and <last>. <tol> is used to test for 3d points confusion. if <first> >= <last>.

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

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

        """
        return _Adaptor3d.Adaptor3d_Curve_Trim(self, *args)

    def Value(self, *args) -> "gp_Pnt":
        r"""
        Computes the point of parameter u on the curve.

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

        Returns
        -------
        gp_Pnt

        """
        return _Adaptor3d.Adaptor3d_Curve_Value(self, *args)

    __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

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

        Returns
        -------
        opencascade::handle<Geom_BSplineCurve>

        """
        return _Adaptor3d.Adaptor3d_HCurve_BSpline(self, *args)

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

        Returns
        -------
        opencascade::handle<Geom_BezierCurve>

        """
        return _Adaptor3d.Adaptor3d_HCurve_Bezier(self, *args)

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

        Returns
        -------
        gp_Circ

        """
        return _Adaptor3d.Adaptor3d_HCurve_Circle(self, *args)

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

        Returns
        -------
        GeomAbs_Shape

        """
        return _Adaptor3d.Adaptor3d_HCurve_Continuity(self, *args)

    def Curve(self, *args) -> "Adaptor3d_Curve const &":
        r"""
        Returns a pointer to the curve inside the hcurve.

        Returns
        -------
        Adaptor3d_Curve

        """
        return _Adaptor3d.Adaptor3d_HCurve_Curve(self, *args)

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

        Parameters
        ----------
        U: float
        P: gp_Pnt

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HCurve_D0(self, *args)

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

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

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HCurve_D1(self, *args)

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

        Parameters
        ----------
        U: float
        P: gp_Pnt
        V1: gp_Vec
        V2: gp_Vec

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HCurve_D2(self, *args)

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

        Parameters
        ----------
        U: float
        P: gp_Pnt
        V1: gp_Vec
        V2: gp_Vec
        V3: gp_Vec

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HCurve_D3(self, *args)

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

        Parameters
        ----------
        U: float
        N: int

        Returns
        -------
        gp_Vec

        """
        return _Adaptor3d.Adaptor3d_HCurve_DN(self, *args)

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_HCurve_Degree(self, *args)

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

        Returns
        -------
        gp_Elips

        """
        return _Adaptor3d.Adaptor3d_HCurve_Ellipse(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HCurve_FirstParameter(self, *args)

    def GetCurve(self, *args) -> "Adaptor3d_Curve &":
        r"""
        Returns a pointer to the curve inside the hcurve.

        Returns
        -------
        Adaptor3d_Curve

        """
        return _Adaptor3d.Adaptor3d_HCurve_GetCurve(self, *args)

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

        Returns
        -------
        GeomAbs_CurveType

        """
        return _Adaptor3d.Adaptor3d_HCurve_GetType(self, *args)

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

        Returns
        -------
        gp_Hypr

        """
        return _Adaptor3d.Adaptor3d_HCurve_Hyperbola(self, *args)

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

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

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HCurve_Intervals(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_HCurve_IsClosed(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_HCurve_IsPeriodic(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_HCurve_IsRational(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HCurve_LastParameter(self, *args)

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

        Returns
        -------
        gp_Lin

        """
        return _Adaptor3d.Adaptor3d_HCurve_Line(self, *args)

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

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_HCurve_NbIntervals(self, *args)

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_HCurve_NbKnots(self, *args)

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_HCurve_NbPoles(self, *args)

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

        Returns
        -------
        opencascade::handle<Geom_OffsetCurve>

        """
        return _Adaptor3d.Adaptor3d_HCurve_OffsetCurve(self, *args)

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

        Returns
        -------
        gp_Parab

        """
        return _Adaptor3d.Adaptor3d_HCurve_Parabola(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HCurve_Period(self, *args)

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

        Parameters
        ----------
        R3d: float

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HCurve_Resolution(self, *args)

    def Trim(self, *args) -> "opencascade::handle< Adaptor3d_HCurve >":
        r"""
        Returns a curve equivalent of <self> between parameters <first> and <last>. <tol> is used to test for 3d points confusion. //! if <first> >= <last>.

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

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

        """
        return _Adaptor3d.Adaptor3d_HCurve_Trim(self, *args)

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

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

        Returns
        -------
        gp_Pnt

        """
        return _Adaptor3d.Adaptor3d_HCurve_Value(self, *args)


    @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

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

        Returns
        -------
        gp_Ax1

        """
        return _Adaptor3d.Adaptor3d_HSurface_AxeOfRevolution(self, *args)

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

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

        """
        return _Adaptor3d.Adaptor3d_HSurface_BSpline(self, *args)

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

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

        """
        return _Adaptor3d.Adaptor3d_HSurface_BasisCurve(self, *args)

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

        Returns
        -------
        opencascade::handle<Adaptor3d_HSurface>

        """
        return _Adaptor3d.Adaptor3d_HSurface_BasisSurface(self, *args)

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

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

        """
        return _Adaptor3d.Adaptor3d_HSurface_Bezier(self, *args)

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

        Returns
        -------
        gp_Cone

        """
        return _Adaptor3d.Adaptor3d_HSurface_Cone(self, *args)

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

        Returns
        -------
        gp_Cylinder

        """
        return _Adaptor3d.Adaptor3d_HSurface_Cylinder(self, *args)

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

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

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HSurface_D0(self, *args)

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

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

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HSurface_D1(self, *args)

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

        Parameters
        ----------
        U: float
        V: float
        P: gp_Pnt
        D1U: gp_Vec
        D1V: gp_Vec
        D2U: gp_Vec
        D2V: gp_Vec
        D2UV: gp_Vec

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HSurface_D2(self, *args)

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

        Parameters
        ----------
        U: float
        V: float
        P: gp_Pnt
        D1U: gp_Vec
        D1V: gp_Vec
        D2U: gp_Vec
        D2V: gp_Vec
        D2UV: gp_Vec
        D3U: gp_Vec
        D3V: gp_Vec
        D3UUV: gp_Vec
        D3UVV: gp_Vec

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HSurface_D3(self, *args)

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

        Parameters
        ----------
        U: float
        V: float
        Nu: int
        Nv: int

        Returns
        -------
        gp_Vec

        """
        return _Adaptor3d.Adaptor3d_HSurface_DN(self, *args)

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

        Returns
        -------
        gp_Dir

        """
        return _Adaptor3d.Adaptor3d_HSurface_Direction(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HSurface_FirstUParameter(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HSurface_FirstVParameter(self, *args)

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

        Returns
        -------
        GeomAbs_SurfaceType

        """
        return _Adaptor3d.Adaptor3d_HSurface_GetType(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_HSurface_IsUClosed(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_HSurface_IsUPeriodic(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_HSurface_IsURational(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_HSurface_IsVClosed(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_HSurface_IsVPeriodic(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_HSurface_IsVRational(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HSurface_LastUParameter(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HSurface_LastVParameter(self, *args)

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

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_HSurface_NbUIntervals(self, *args)

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_HSurface_NbUKnots(self, *args)

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_HSurface_NbUPoles(self, *args)

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

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_HSurface_NbVIntervals(self, *args)

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_HSurface_NbVKnots(self, *args)

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_HSurface_NbVPoles(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HSurface_OffsetValue(self, *args)

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

        Returns
        -------
        gp_Pln

        """
        return _Adaptor3d.Adaptor3d_HSurface_Plane(self, *args)

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

        Returns
        -------
        gp_Sphere

        """
        return _Adaptor3d.Adaptor3d_HSurface_Sphere(self, *args)

    def Surface(self, *args) -> "Adaptor3d_Surface const &":
        r"""
        Returns a reference to the surface inside the hsurface.

        Returns
        -------
        Adaptor3d_Surface

        """
        return _Adaptor3d.Adaptor3d_HSurface_Surface(self, *args)

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

        Returns
        -------
        gp_Torus

        """
        return _Adaptor3d.Adaptor3d_HSurface_Torus(self, *args)

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

        Returns
        -------
        GeomAbs_Shape

        """
        return _Adaptor3d.Adaptor3d_HSurface_UContinuity(self, *args)

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_HSurface_UDegree(self, *args)

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

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

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HSurface_UIntervals(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HSurface_UPeriod(self, *args)

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

        Parameters
        ----------
        R3d: float

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HSurface_UResolution(self, *args)

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

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

        Returns
        -------
        opencascade::handle<Adaptor3d_HSurface>

        """
        return _Adaptor3d.Adaptor3d_HSurface_UTrim(self, *args)

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

        Returns
        -------
        GeomAbs_Shape

        """
        return _Adaptor3d.Adaptor3d_HSurface_VContinuity(self, *args)

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_HSurface_VDegree(self, *args)

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

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

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HSurface_VIntervals(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HSurface_VPeriod(self, *args)

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

        Parameters
        ----------
        R3d: float

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HSurface_VResolution(self, *args)

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

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

        Returns
        -------
        opencascade::handle<Adaptor3d_HSurface>

        """
        return _Adaptor3d.Adaptor3d_HSurface_VTrim(self, *args)

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

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

        Returns
        -------
        gp_Pnt

        """
        return _Adaptor3d.Adaptor3d_HSurface_Value(self, *args)


    @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

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        gp_Ax1

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_AxeOfRevolution(*args)

    @staticmethod
    def BSpline(*args) -> "opencascade::handle< Geom_BSplineSurface >":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Adaptor3d_HSurface

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

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_BSpline(*args)

    @staticmethod
    def BasisCurve(*args) -> "opencascade::handle< Adaptor3d_HCurve >":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Adaptor3d_HSurface

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

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_BasisCurve(*args)

    @staticmethod
    def BasisSurface(*args) -> "opencascade::handle< Adaptor3d_HSurface >":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        opencascade::handle<Adaptor3d_HSurface>

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_BasisSurface(*args)

    @staticmethod
    def Bezier(*args) -> "opencascade::handle< Geom_BezierSurface >":
        r"""
        No available documentation.

        Parameters
        ----------
        S: Adaptor3d_HSurface

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

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_Bezier(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        gp_Cone

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_Cone(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        gp_Cylinder

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_Cylinder(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface
        u: float
        v: float
        P: gp_Pnt

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_D0(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface
        u: float
        v: float
        P: gp_Pnt
        D1u: gp_Vec
        D1v: gp_Vec

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_D1(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface
        u: float
        v: float
        P: gp_Pnt
        D1U: gp_Vec
        D1V: gp_Vec
        D2U: gp_Vec
        D2V: gp_Vec
        D2UV: gp_Vec

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_D2(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface
        u: float
        v: float
        P: gp_Pnt
        D1U: gp_Vec
        D1V: gp_Vec
        D2U: gp_Vec
        D2V: gp_Vec
        D2UV: gp_Vec
        D3U: gp_Vec
        D3V: gp_Vec
        D3UUV: gp_Vec
        D3UVV: gp_Vec

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_D3(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface
        u: float
        v: float
        Nu: int
        Nv: int

        Returns
        -------
        gp_Vec

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_DN(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        gp_Dir

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_Direction(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_FirstUParameter(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_FirstVParameter(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        GeomAbs_SurfaceType

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_GetType(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_IsUClosed(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_IsUPeriodic(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_IsVClosed(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_IsVPeriodic(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_LastUParameter(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_LastVParameter(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        int
        No available documentation.

        Parameters
        ----------
        S: Adaptor3d_HSurface
        u1: float
        u2: float

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_NbSamplesU(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        int
        No available documentation.

        Parameters
        ----------
        S: Adaptor3d_HSurface
        v1: float
        v2: float

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_NbSamplesV(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface
        Sh: GeomAbs_Shape

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_NbUIntervals(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface
        Sh: GeomAbs_Shape

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_NbVIntervals(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_OffsetValue(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        gp_Pln

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_Plane(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        gp_Sphere

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_Sphere(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        gp_Torus

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_Torus(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface
        T: TColStd_Array1OfReal
        Sh: GeomAbs_Shape

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_UIntervals(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_UPeriod(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface
        R3d: float

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_UResolution(*args)

    @staticmethod
    def UTrim(*args) -> "opencascade::handle< Adaptor3d_HSurface >":
        r"""
        If <first> >= <last>.

        Parameters
        ----------
        S: Adaptor3d_HSurface
        First: float
        Last: float
        Tol: float

        Returns
        -------
        opencascade::handle<Adaptor3d_HSurface>

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_UTrim(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface
        T: TColStd_Array1OfReal
        Sh: GeomAbs_Shape

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_VIntervals(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_VPeriod(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface
        R3d: float

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_VResolution(*args)

    @staticmethod
    def VTrim(*args) -> "opencascade::handle< Adaptor3d_HSurface >":
        r"""
        If <first> >= <last>.

        Parameters
        ----------
        S: Adaptor3d_HSurface
        First: float
        Last: float
        Tol: float

        Returns
        -------
        opencascade::handle<Adaptor3d_HSurface>

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_VTrim(*args)

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

        Parameters
        ----------
        S: Adaptor3d_HSurface
        u: float
        v: float

        Returns
        -------
        gp_Pnt

        """
        return _Adaptor3d.Adaptor3d_HSurfaceTool_Value(*args)

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

def Adaptor3d_HSurfaceTool_AxeOfRevolution(*args) -> "gp_Ax1":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    gp_Ax1

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_AxeOfRevolution(*args)

def Adaptor3d_HSurfaceTool_BSpline(*args) -> "opencascade::handle< Geom_BSplineSurface >":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

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

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_BSpline(*args)

def Adaptor3d_HSurfaceTool_BasisCurve(*args) -> "opencascade::handle< Adaptor3d_HCurve >":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

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

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_BasisCurve(*args)

def Adaptor3d_HSurfaceTool_BasisSurface(*args) -> "opencascade::handle< Adaptor3d_HSurface >":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    opencascade::handle<Adaptor3d_HSurface>

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_BasisSurface(*args)

def Adaptor3d_HSurfaceTool_Bezier(*args) -> "opencascade::handle< Geom_BezierSurface >":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

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

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_Bezier(*args)

def Adaptor3d_HSurfaceTool_Cone(*args) -> "gp_Cone":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    gp_Cone

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_Cone(*args)

def Adaptor3d_HSurfaceTool_Cylinder(*args) -> "gp_Cylinder":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    gp_Cylinder

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_Cylinder(*args)

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

    Parameters
    ----------
    S: Adaptor3d_HSurface
    u: float
    v: float
    P: gp_Pnt

    Returns
    -------
    None

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_D0(*args)

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

    Parameters
    ----------
    S: Adaptor3d_HSurface
    u: float
    v: float
    P: gp_Pnt
    D1u: gp_Vec
    D1v: gp_Vec

    Returns
    -------
    None

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_D1(*args)

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

    Parameters
    ----------
    S: Adaptor3d_HSurface
    u: float
    v: float
    P: gp_Pnt
    D1U: gp_Vec
    D1V: gp_Vec
    D2U: gp_Vec
    D2V: gp_Vec
    D2UV: gp_Vec

    Returns
    -------
    None

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_D2(*args)

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

    Parameters
    ----------
    S: Adaptor3d_HSurface
    u: float
    v: float
    P: gp_Pnt
    D1U: gp_Vec
    D1V: gp_Vec
    D2U: gp_Vec
    D2V: gp_Vec
    D2UV: gp_Vec
    D3U: gp_Vec
    D3V: gp_Vec
    D3UUV: gp_Vec
    D3UVV: gp_Vec

    Returns
    -------
    None

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_D3(*args)

def Adaptor3d_HSurfaceTool_DN(*args) -> "gp_Vec":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface
    u: float
    v: float
    Nu: int
    Nv: int

    Returns
    -------
    gp_Vec

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_DN(*args)

def Adaptor3d_HSurfaceTool_Direction(*args) -> "gp_Dir":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    gp_Dir

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_Direction(*args)

def Adaptor3d_HSurfaceTool_FirstUParameter(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    float

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_FirstUParameter(*args)

def Adaptor3d_HSurfaceTool_FirstVParameter(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    float

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_FirstVParameter(*args)

def Adaptor3d_HSurfaceTool_GetType(*args) -> "GeomAbs_SurfaceType":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    GeomAbs_SurfaceType

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_GetType(*args)

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

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    bool

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_IsUClosed(*args)

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

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    bool

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_IsUPeriodic(*args)

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

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    bool

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_IsVClosed(*args)

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

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    bool

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_IsVPeriodic(*args)

def Adaptor3d_HSurfaceTool_LastUParameter(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    float

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_LastUParameter(*args)

def Adaptor3d_HSurfaceTool_LastVParameter(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    float

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_LastVParameter(*args)

def Adaptor3d_HSurfaceTool_NbSamplesU(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    int
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface
    u1: float
    u2: float

    Returns
    -------
    int

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_NbSamplesU(*args)

def Adaptor3d_HSurfaceTool_NbSamplesV(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    int
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface
    v1: float
    v2: float

    Returns
    -------
    int

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_NbSamplesV(*args)

def Adaptor3d_HSurfaceTool_NbUIntervals(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface
    Sh: GeomAbs_Shape

    Returns
    -------
    int

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_NbUIntervals(*args)

def Adaptor3d_HSurfaceTool_NbVIntervals(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface
    Sh: GeomAbs_Shape

    Returns
    -------
    int

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_NbVIntervals(*args)

def Adaptor3d_HSurfaceTool_OffsetValue(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    float

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_OffsetValue(*args)

def Adaptor3d_HSurfaceTool_Plane(*args) -> "gp_Pln":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    gp_Pln

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_Plane(*args)

def Adaptor3d_HSurfaceTool_Sphere(*args) -> "gp_Sphere":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    gp_Sphere

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_Sphere(*args)

def Adaptor3d_HSurfaceTool_Torus(*args) -> "gp_Torus":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    gp_Torus

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_Torus(*args)

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

    Parameters
    ----------
    S: Adaptor3d_HSurface
    T: TColStd_Array1OfReal
    Sh: GeomAbs_Shape

    Returns
    -------
    None

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_UIntervals(*args)

def Adaptor3d_HSurfaceTool_UPeriod(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    float

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_UPeriod(*args)

def Adaptor3d_HSurfaceTool_UResolution(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface
    R3d: float

    Returns
    -------
    float

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_UResolution(*args)

def Adaptor3d_HSurfaceTool_UTrim(*args) -> "opencascade::handle< Adaptor3d_HSurface >":
    r"""
    If <first> >= <last>.

    Parameters
    ----------
    S: Adaptor3d_HSurface
    First: float
    Last: float
    Tol: float

    Returns
    -------
    opencascade::handle<Adaptor3d_HSurface>

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_UTrim(*args)

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

    Parameters
    ----------
    S: Adaptor3d_HSurface
    T: TColStd_Array1OfReal
    Sh: GeomAbs_Shape

    Returns
    -------
    None

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_VIntervals(*args)

def Adaptor3d_HSurfaceTool_VPeriod(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface

    Returns
    -------
    float

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_VPeriod(*args)

def Adaptor3d_HSurfaceTool_VResolution(*args) -> "Standard_Real":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface
    R3d: float

    Returns
    -------
    float

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_VResolution(*args)

def Adaptor3d_HSurfaceTool_VTrim(*args) -> "opencascade::handle< Adaptor3d_HSurface >":
    r"""
    If <first> >= <last>.

    Parameters
    ----------
    S: Adaptor3d_HSurface
    First: float
    Last: float
    Tol: float

    Returns
    -------
    opencascade::handle<Adaptor3d_HSurface>

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_VTrim(*args)

def Adaptor3d_HSurfaceTool_Value(*args) -> "gp_Pnt":
    r"""
    No available documentation.

    Parameters
    ----------
    S: Adaptor3d_HSurface
    u: float
    v: float

    Returns
    -------
    gp_Pnt

    """
    return _Adaptor3d.Adaptor3d_HSurfaceTool_Value(*args)

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

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

        Parameters
        ----------
        P: gp_Pnt2d
        Ori: TopAbs_Orientation
        Resolution: float

        Returns
        -------
        None

        """
        _Adaptor3d.Adaptor3d_HVertex_swiginit(self, _Adaptor3d.new_Adaptor3d_HVertex(*args))

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

        Parameters
        ----------
        Other: Adaptor3d_HVertex

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_HVertex_IsSame(self, *args)

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

        Returns
        -------
        TopAbs_Orientation

        """
        return _Adaptor3d.Adaptor3d_HVertex_Orientation(self, *args)

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

        Parameters
        ----------
        C: Adaptor2d_HCurve2d

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HVertex_Parameter(self, *args)

    def Resolution(self, *args) -> "Standard_Real":
        r"""
        Parametric resolution (2d).

        Parameters
        ----------
        C: Adaptor2d_HCurve2d

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_HVertex_Resolution(self, *args)

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

        Returns
        -------
        gp_Pnt2d

        """
        return _Adaptor3d.Adaptor3d_HVertex_Value(self, *args)


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

        Parameters
        ----------
        C: Adaptor2d_HCurve2d
        FixVal: float
        Fix: int

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

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

        Returns
        -------
        gp_Ax1

        """
        return _Adaptor3d.Adaptor3d_Surface_AxeOfRevolution(self, *args)

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

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

        """
        return _Adaptor3d.Adaptor3d_Surface_BSpline(self, *args)

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

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

        """
        return _Adaptor3d.Adaptor3d_Surface_BasisCurve(self, *args)

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

        Returns
        -------
        opencascade::handle<Adaptor3d_HSurface>

        """
        return _Adaptor3d.Adaptor3d_Surface_BasisSurface(self, *args)

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

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

        """
        return _Adaptor3d.Adaptor3d_Surface_Bezier(self, *args)

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

        Returns
        -------
        gp_Cone

        """
        return _Adaptor3d.Adaptor3d_Surface_Cone(self, *args)

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

        Returns
        -------
        gp_Cylinder

        """
        return _Adaptor3d.Adaptor3d_Surface_Cylinder(self, *args)

    def D0(self, *args) -> "void":
        r"""
        Computes the point of parameters u,v on the surface.

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

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_Surface_D0(self, *args)

    def D1(self, *args) -> "void":
        r"""
        Computes the point and the first derivatives on the surface. raised if the continuity of the current intervals is not c1.

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

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_Surface_D1(self, *args)

    def D2(self, *args) -> "void":
        r"""
        Computes the point, the first and second derivatives on the surface. raised if the continuity of the current intervals is not c2.

        Parameters
        ----------
        U: float
        V: float
        P: gp_Pnt
        D1U: gp_Vec
        D1V: gp_Vec
        D2U: gp_Vec
        D2V: gp_Vec
        D2UV: gp_Vec

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_Surface_D2(self, *args)

    def D3(self, *args) -> "void":
        r"""
        Computes the point, the first, second and third derivatives on the surface. raised if the continuity of the current intervals is not c3.

        Parameters
        ----------
        U: float
        V: float
        P: gp_Pnt
        D1U: gp_Vec
        D1V: gp_Vec
        D2U: gp_Vec
        D2V: gp_Vec
        D2UV: gp_Vec
        D3U: gp_Vec
        D3V: gp_Vec
        D3UUV: gp_Vec
        D3UVV: gp_Vec

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_Surface_D3(self, *args)

    def DN(self, *args) -> "gp_Vec":
        r"""
        Computes the derivative of order nu in the direction u and nv in the direction v at the point p(u, v). raised if the current u interval is not not cnu and the current v interval is not cnv. raised if nu + nv < 1 or nu < 0 or nv < 0.

        Parameters
        ----------
        U: float
        V: float
        Nu: int
        Nv: int

        Returns
        -------
        gp_Vec

        """
        return _Adaptor3d.Adaptor3d_Surface_DN(self, *args)

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

        Returns
        -------
        gp_Dir

        """
        return _Adaptor3d.Adaptor3d_Surface_Direction(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_Surface_FirstUParameter(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_Surface_FirstVParameter(self, *args)

    def GetType(self, *args) -> "GeomAbs_SurfaceType":
        r"""
        Returns the type of the surface : plane, cylinder, cone, sphere, torus, beziersurface, bsplinesurface, surfaceofrevolution, surfaceofextrusion, othersurface.

        Returns
        -------
        GeomAbs_SurfaceType

        """
        return _Adaptor3d.Adaptor3d_Surface_GetType(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_Surface_IsUClosed(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_Surface_IsUPeriodic(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_Surface_IsURational(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_Surface_IsVClosed(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_Surface_IsVPeriodic(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_Surface_IsVRational(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_Surface_LastUParameter(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_Surface_LastVParameter(self, *args)

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

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_Surface_NbUIntervals(self, *args)

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_Surface_NbUKnots(self, *args)

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_Surface_NbUPoles(self, *args)

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

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_Surface_NbVIntervals(self, *args)

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_Surface_NbVKnots(self, *args)

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_Surface_NbVPoles(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_Surface_OffsetValue(self, *args)

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

        Returns
        -------
        gp_Pln

        """
        return _Adaptor3d.Adaptor3d_Surface_Plane(self, *args)

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

        Returns
        -------
        gp_Sphere

        """
        return _Adaptor3d.Adaptor3d_Surface_Sphere(self, *args)

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

        Returns
        -------
        gp_Torus

        """
        return _Adaptor3d.Adaptor3d_Surface_Torus(self, *args)

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

        Returns
        -------
        GeomAbs_Shape

        """
        return _Adaptor3d.Adaptor3d_Surface_UContinuity(self, *args)

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_Surface_UDegree(self, *args)

    def UIntervals(self, *args) -> "void":
        r"""
        Returns the intervals with the requested continuity in the u direction.

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

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_Surface_UIntervals(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_Surface_UPeriod(self, *args)

    def UResolution(self, *args) -> "Standard_Real":
        r"""
        Returns the parametric u resolution corresponding to the real space resolution <r3d>.

        Parameters
        ----------
        R3d: float

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_Surface_UResolution(self, *args)

    def UTrim(self, *args) -> "opencascade::handle< Adaptor3d_HSurface >":
        r"""
        Returns a surface trimmed in the u direction equivalent of <self> between parameters <first> and <last>. <tol> is used to test for 3d points confusion. if <first> >= <last>.

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

        Returns
        -------
        opencascade::handle<Adaptor3d_HSurface>

        """
        return _Adaptor3d.Adaptor3d_Surface_UTrim(self, *args)

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

        Returns
        -------
        GeomAbs_Shape

        """
        return _Adaptor3d.Adaptor3d_Surface_VContinuity(self, *args)

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

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_Surface_VDegree(self, *args)

    def VIntervals(self, *args) -> "void":
        r"""
        Returns the intervals with the requested continuity in the v direction.

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

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_Surface_VIntervals(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_Surface_VPeriod(self, *args)

    def VResolution(self, *args) -> "Standard_Real":
        r"""
        Returns the parametric v resolution corresponding to the real space resolution <r3d>.

        Parameters
        ----------
        R3d: float

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_Surface_VResolution(self, *args)

    def VTrim(self, *args) -> "opencascade::handle< Adaptor3d_HSurface >":
        r"""
        Returns a surface trimmed in the v direction between parameters <first> and <last>. <tol> is used to test for 3d points confusion. if <first> >= <last>.

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

        Returns
        -------
        opencascade::handle<Adaptor3d_HSurface>

        """
        return _Adaptor3d.Adaptor3d_Surface_VTrim(self, *args)

    def Value(self, *args) -> "gp_Pnt":
        r"""
        Computes the point of parameters u,v on the surface.

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

        Returns
        -------
        gp_Pnt

        """
        return _Adaptor3d.Adaptor3d_Surface_Value(self, *args)

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

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

        Parameters
        ----------
        Surface: Adaptor3d_HSurface

        Returns
        -------
        None

        """
        _Adaptor3d.Adaptor3d_TopolTool_swiginit(self, _Adaptor3d.new_Adaptor3d_TopolTool(*args))

    def BSplSamplePnts(self, *args) -> "void":
        r"""
        Compute the sample-points for the intersections algorithms by adaptive algorithm for bspline surfaces - is used in samplepnts thedefl is a requred deflection thenumin, thenvmin are minimal nb points for u and v.

        Parameters
        ----------
        theDefl: float
        theNUmin: int
        theNVmin: int

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_TopolTool_BSplSamplePnts(self, *args)

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

        Parameters
        ----------
        P: gp_Pnt2d
        Tol: float
        ReacdreOnPeriodic: bool,optional
        	default value is Standard_True

        Returns
        -------
        TopAbs_State

        """
        return _Adaptor3d.Adaptor3d_TopolTool_Classify(self, *args)

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

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_TopolTool_ComputeSamplePoints(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_TopolTool_DomainIsInfinite(self, *args)

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

        Returns
        -------
        Standard_Address

        """
        return _Adaptor3d.Adaptor3d_TopolTool_Edge(self, *args)

    def Has3d(self, *args) -> "Standard_Boolean":
        r"""
        Answers if arcs and vertices may have 3d representations, so that we could use tol3d and pnt methods.

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_TopolTool_Has3d(self, *args)

    def Identical(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the vertices v1 and v2 are identical. this method does not take the orientation of the vertices in account.

        Parameters
        ----------
        V1: Adaptor3d_HVertex
        V2: Adaptor3d_HVertex

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_TopolTool_Identical(self, *args)

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

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_TopolTool_Init(self, *args)

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

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_TopolTool_InitVertexIterator(self, *args)

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

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

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

        Parameters
        ----------
        Curve: Adaptor2d_HCurve2d

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_TopolTool_Initialize(self, *args)

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

        Parameters
        ----------
        P: gp_Pnt2d
        Tol: float
        ReacdreOnPeriodic: bool,optional
        	default value is Standard_True

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_TopolTool_IsThePointOn(self, *args)

    def IsUniformSampling(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if provide uniform sampling of points.

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_TopolTool_IsUniformSampling(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_TopolTool_More(self, *args)

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

        Returns
        -------
        bool

        """
        return _Adaptor3d.Adaptor3d_TopolTool_MoreVertex(self, *args)

    def NbSamples(self, *args) -> "Standard_Integer":
        r"""
        Compute the sample-points for the intersections algorithms.

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_TopolTool_NbSamples(self, *args)

    def NbSamplesU(self, *args) -> "Standard_Integer":
        r"""
        Compute the sample-points for the intersections algorithms.

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_TopolTool_NbSamplesU(self, *args)

    def NbSamplesV(self, *args) -> "Standard_Integer":
        r"""
        Compute the sample-points for the intersections algorithms.

        Returns
        -------
        int

        """
        return _Adaptor3d.Adaptor3d_TopolTool_NbSamplesV(self, *args)

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

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_TopolTool_Next(self, *args)

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

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_TopolTool_NextVertex(self, *args)

    def Orientation(self, *args) -> "TopAbs_Orientation":
        r"""
        If the function returns the orientation of the arc. if the orientation is forward or reversed, the arc is a 'real' limit of the surface. if the orientation is internal or external, the arc is considered as an arc on the surface.

        Parameters
        ----------
        C: Adaptor2d_HCurve2d

        Returns
        -------
        TopAbs_Orientation
        Returns the orientation of the vertex v. the vertex has been found with an exploration on a given arc. the orientation is the orientation of the vertex on this arc.

        Parameters
        ----------
        V: Adaptor3d_HVertex

        Returns
        -------
        TopAbs_Orientation

        """
        return _Adaptor3d.Adaptor3d_TopolTool_Orientation(self, *args)

    def Pnt(self, *args) -> "gp_Pnt":
        r"""
        Returns 3d point of the vertex v.

        Parameters
        ----------
        V: Adaptor3d_HVertex

        Returns
        -------
        gp_Pnt

        """
        return _Adaptor3d.Adaptor3d_TopolTool_Pnt(self, *args)

    def SamplePnts(self, *args) -> "void":
        r"""
        Compute the sample-points for the intersections algorithms by adaptive algorithm for bspline surfaces. for other surfaces algorithm is the same as in method computesamplepoints(), but only fill arrays of u and v sample parameters; thedefl is a requred deflection thenumin, thenvmin are minimal nb points for u and v.

        Parameters
        ----------
        theDefl: float
        theNUmin: int
        theNVmin: int

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_TopolTool_SamplePnts(self, *args)

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

        Parameters
        ----------
        Index: int
        P2d: gp_Pnt2d
        P3d: gp_Pnt

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_TopolTool_SamplePoint(self, *args)

    def Tol3d(self, *args) -> "Standard_Real":
        r"""
        Returns 3d tolerance of the arc c.

        Parameters
        ----------
        C: Adaptor2d_HCurve2d

        Returns
        -------
        float
        Returns 3d tolerance of the vertex v.

        Parameters
        ----------
        V: Adaptor3d_HVertex

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_TopolTool_Tol3d(self, *args)

    def UParameters(self, *args) -> "void":
        r"""
        Return the set of u parameters on the surface obtained by the method samplepnts.

        Parameters
        ----------
        theArray: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_TopolTool_UParameters(self, *args)

    def VParameters(self, *args) -> "void":
        r"""
        Return the set of v parameters on the surface obtained by the method samplepnts.

        Parameters
        ----------
        theArray: TColStd_Array1OfReal

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_TopolTool_VParameters(self, *args)

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

        Returns
        -------
        opencascade::handle<Adaptor2d_HCurve2d>

        """
        return _Adaptor3d.Adaptor3d_TopolTool_Value(self, *args)

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

        Returns
        -------
        opencascade::handle<Adaptor3d_HVertex>

        """
        return _Adaptor3d.Adaptor3d_TopolTool_Vertex(self, *args)


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

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

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        None
        Creates a curveonsurface from the 2d curve <c> and the surface <s>.

        Parameters
        ----------
        C: Adaptor2d_HCurve2d
        S: Adaptor3d_HSurface

        Returns
        -------
        None

        """
        _Adaptor3d.Adaptor3d_CurveOnSurface_swiginit(self, _Adaptor3d.new_Adaptor3d_CurveOnSurface(*args))

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

        Returns
        -------
        opencascade::handle<Adaptor2d_HCurve2d>

        """
        return _Adaptor3d.Adaptor3d_CurveOnSurface_ChangeCurve(self, *args)

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

        Returns
        -------
        opencascade::handle<Adaptor3d_HSurface>

        """
        return _Adaptor3d.Adaptor3d_CurveOnSurface_ChangeSurface(self, *args)

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

        Returns
        -------
        opencascade::handle<Adaptor2d_HCurve2d>

        """
        return _Adaptor3d.Adaptor3d_CurveOnSurface_GetCurve(self, *args)

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

        Returns
        -------
        opencascade::handle<Adaptor3d_HSurface>

        """
        return _Adaptor3d.Adaptor3d_CurveOnSurface_GetSurface(self, *args)

    def Load(self, *args) -> "void":
        r"""
        Changes the surface.

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        None
        Changes the 2d curve.

        Parameters
        ----------
        C: Adaptor2d_HCurve2d

        Returns
        -------
        None
        Load both curve and surface.

        Parameters
        ----------
        C: Adaptor2d_HCurve2d
        S: Adaptor3d_HSurface

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_CurveOnSurface_Load(self, *args)

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

        Returns
        -------
        None
        Creates a genhcurve from a curve.

        Parameters
        ----------
        C: Adaptor3d_CurveOnSurface

        Returns
        -------
        None

        """
        _Adaptor3d.Adaptor3d_HCurveOnSurface_swiginit(self, _Adaptor3d.new_Adaptor3d_HCurveOnSurface(*args))

    def ChangeCurve(self, *args) -> "Adaptor3d_CurveOnSurface &":
        r"""
        Returns the curve used to create the genhcurve.

        Returns
        -------
        Adaptor3d_CurveOnSurface

        """
        return _Adaptor3d.Adaptor3d_HCurveOnSurface_ChangeCurve(self, *args)

    def Set(self, *args) -> "void":
        r"""
        Sets the field of the genhcurve.

        Parameters
        ----------
        C: Adaptor3d_CurveOnSurface

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HCurveOnSurface_Set(self, *args)


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

        Returns
        -------
        None
        Creates a genhcurve from a curve.

        Parameters
        ----------
        C: Adaptor3d_IsoCurve

        Returns
        -------
        None

        """
        _Adaptor3d.Adaptor3d_HIsoCurve_swiginit(self, _Adaptor3d.new_Adaptor3d_HIsoCurve(*args))

    def ChangeCurve(self, *args) -> "Adaptor3d_IsoCurve &":
        r"""
        Returns the curve used to create the genhcurve.

        Returns
        -------
        Adaptor3d_IsoCurve

        """
        return _Adaptor3d.Adaptor3d_HIsoCurve_ChangeCurve(self, *args)

    def Set(self, *args) -> "void":
        r"""
        Sets the field of the genhcurve.

        Parameters
        ----------
        C: Adaptor3d_IsoCurve

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_HIsoCurve_Set(self, *args)


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

        Returns
        -------
        None
        The surface is loaded. the iso is set to noneiso.

        Parameters
        ----------
        S: Adaptor3d_HSurface

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

        Parameters
        ----------
        S: Adaptor3d_HSurface
        Iso: GeomAbs_IsoType
        Param: float

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

        Parameters
        ----------
        S: Adaptor3d_HSurface
        Iso: GeomAbs_IsoType
        Param: float
        WFirst: float
        WLast: float

        Returns
        -------
        None

        """
        _Adaptor3d.Adaptor3d_IsoCurve_swiginit(self, _Adaptor3d.new_Adaptor3d_IsoCurve(*args))

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

        Returns
        -------
        GeomAbs_IsoType

        """
        return _Adaptor3d.Adaptor3d_IsoCurve_Iso(self, *args)

    def Load(self, *args) -> "void":
        r"""
        Changes the surface. the iso is reset to noneiso.

        Parameters
        ----------
        S: Adaptor3d_HSurface

        Returns
        -------
        None
        Changes the iso on the current surface.

        Parameters
        ----------
        Iso: GeomAbs_IsoType
        Param: float

        Returns
        -------
        None
        Changes the iso on the current surface.

        Parameters
        ----------
        Iso: GeomAbs_IsoType
        Param: float
        WFirst: float
        WLast: float

        Returns
        -------
        None

        """
        return _Adaptor3d.Adaptor3d_IsoCurve_Load(self, *args)

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

        Returns
        -------
        float

        """
        return _Adaptor3d.Adaptor3d_IsoCurve_Parameter(self, *args)

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

        Returns
        -------
        opencascade::handle<Adaptor3d_HSurface>

        """
        return _Adaptor3d.Adaptor3d_IsoCurve_Surface(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Adaptor3d.delete_Adaptor3d_IsoCurve

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





