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

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

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__ = _GeomAdaptor.delete_SwigPyIterator

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    def __sub__(self, *args) -> "ptrdiff_t":
        return _GeomAdaptor.SwigPyIterator___sub__(self, *args)
    def __iter__(self):
        return self

# Register SwigPyIterator in _GeomAdaptor:
_GeomAdaptor.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 _GeomAdaptor.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.Adaptor3d
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_GeomAdaptor_GHCurve_Create() -> "opencascade::handle< GeomAdaptor_GHCurve >":
    return _GeomAdaptor.Handle_GeomAdaptor_GHCurve_Create()

def Handle_GeomAdaptor_GHCurve_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomAdaptor_GHCurve >":
    return _GeomAdaptor.Handle_GeomAdaptor_GHCurve_DownCast(t)

def Handle_GeomAdaptor_GHCurve_IsNull(t: "opencascade::handle< GeomAdaptor_GHCurve > const &") -> "bool":
    return _GeomAdaptor.Handle_GeomAdaptor_GHCurve_IsNull(t)

def Handle_GeomAdaptor_GHSurface_Create() -> "opencascade::handle< GeomAdaptor_GHSurface >":
    return _GeomAdaptor.Handle_GeomAdaptor_GHSurface_Create()

def Handle_GeomAdaptor_GHSurface_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomAdaptor_GHSurface >":
    return _GeomAdaptor.Handle_GeomAdaptor_GHSurface_DownCast(t)

def Handle_GeomAdaptor_GHSurface_IsNull(t: "opencascade::handle< GeomAdaptor_GHSurface > const &") -> "bool":
    return _GeomAdaptor.Handle_GeomAdaptor_GHSurface_IsNull(t)

def Handle_GeomAdaptor_HSurfaceOfLinearExtrusion_Create() -> "opencascade::handle< GeomAdaptor_HSurfaceOfLinearExtrusion >":
    return _GeomAdaptor.Handle_GeomAdaptor_HSurfaceOfLinearExtrusion_Create()

def Handle_GeomAdaptor_HSurfaceOfLinearExtrusion_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomAdaptor_HSurfaceOfLinearExtrusion >":
    return _GeomAdaptor.Handle_GeomAdaptor_HSurfaceOfLinearExtrusion_DownCast(t)

def Handle_GeomAdaptor_HSurfaceOfLinearExtrusion_IsNull(t: "opencascade::handle< GeomAdaptor_HSurfaceOfLinearExtrusion > const &") -> "bool":
    return _GeomAdaptor.Handle_GeomAdaptor_HSurfaceOfLinearExtrusion_IsNull(t)

def Handle_GeomAdaptor_HSurfaceOfRevolution_Create() -> "opencascade::handle< GeomAdaptor_HSurfaceOfRevolution >":
    return _GeomAdaptor.Handle_GeomAdaptor_HSurfaceOfRevolution_Create()

def Handle_GeomAdaptor_HSurfaceOfRevolution_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomAdaptor_HSurfaceOfRevolution >":
    return _GeomAdaptor.Handle_GeomAdaptor_HSurfaceOfRevolution_DownCast(t)

def Handle_GeomAdaptor_HSurfaceOfRevolution_IsNull(t: "opencascade::handle< GeomAdaptor_HSurfaceOfRevolution > const &") -> "bool":
    return _GeomAdaptor.Handle_GeomAdaptor_HSurfaceOfRevolution_IsNull(t)

def Handle_GeomAdaptor_HCurve_Create() -> "opencascade::handle< GeomAdaptor_HCurve >":
    return _GeomAdaptor.Handle_GeomAdaptor_HCurve_Create()

def Handle_GeomAdaptor_HCurve_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomAdaptor_HCurve >":
    return _GeomAdaptor.Handle_GeomAdaptor_HCurve_DownCast(t)

def Handle_GeomAdaptor_HCurve_IsNull(t: "opencascade::handle< GeomAdaptor_HCurve > const &") -> "bool":
    return _GeomAdaptor.Handle_GeomAdaptor_HCurve_IsNull(t)

def Handle_GeomAdaptor_HSurface_Create() -> "opencascade::handle< GeomAdaptor_HSurface >":
    return _GeomAdaptor.Handle_GeomAdaptor_HSurface_Create()

def Handle_GeomAdaptor_HSurface_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< GeomAdaptor_HSurface >":
    return _GeomAdaptor.Handle_GeomAdaptor_HSurface_DownCast(t)

def Handle_GeomAdaptor_HSurface_IsNull(t: "opencascade::handle< GeomAdaptor_HSurface > const &") -> "bool":
    return _GeomAdaptor.Handle_GeomAdaptor_HSurface_IsNull(t)
class geomadaptor(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    @staticmethod
    def MakeCurve(*args) -> "opencascade::handle< Geom_Curve >":
        r"""
        Inherited from ghcurve. provides a curve handled by reference. build a geom_curve using the informations from the curve from adaptor3d.

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

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

        """
        return _GeomAdaptor.geomadaptor_MakeCurve(*args)

    @staticmethod
    def MakeSurface(*args) -> "opencascade::handle< Geom_Surface >":
        r"""
        Build a geom_surface using the informations from the surface from adaptor3d @param thes - surface adaptor to convert. @param thetrimflag - true if perform trim surface values by adaptor and false otherwise.

        Parameters
        ----------
        theS: Adaptor3d_Surface
        theTrimFlag: bool,optional
        	default value is Standard_True

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

        """
        return _GeomAdaptor.geomadaptor_MakeSurface(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _GeomAdaptor.geomadaptor_swiginit(self, _GeomAdaptor.new_geomadaptor())
    __swig_destroy__ = _GeomAdaptor.delete_geomadaptor

# Register geomadaptor in _GeomAdaptor:
_GeomAdaptor.geomadaptor_swigregister(geomadaptor)

def geomadaptor_MakeCurve(*args) -> "opencascade::handle< Geom_Curve >":
    r"""
    Inherited from ghcurve. provides a curve handled by reference. build a geom_curve using the informations from the curve from adaptor3d.

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

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

    """
    return _GeomAdaptor.geomadaptor_MakeCurve(*args)

def geomadaptor_MakeSurface(*args) -> "opencascade::handle< Geom_Surface >":
    r"""
    Build a geom_surface using the informations from the surface from adaptor3d @param thes - surface adaptor to convert. @param thetrimflag - true if perform trim surface values by adaptor and false otherwise.

    Parameters
    ----------
    theS: Adaptor3d_Surface
    theTrimFlag: bool,optional
    	default value is Standard_True

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

    """
    return _GeomAdaptor.geomadaptor_MakeSurface(*args)

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

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

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

        Parameters
        ----------
        C: Geom_Curve

        Returns
        -------
        None
        Constructionerror is raised if ufirst>ulast.

        Parameters
        ----------
        C: Geom_Curve
        UFirst: float
        ULast: float

        Returns
        -------
        None

        """
        _GeomAdaptor.GeomAdaptor_Curve_swiginit(self, _GeomAdaptor.new_GeomAdaptor_Curve(*args))

    def Curve(self, *args) -> "opencascade::handle< Geom_Curve > const &":
        r"""
        Provides a curve inherited from hcurve from adaptor. this is inherited to provide easy to use constructors.

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

        """
        return _GeomAdaptor.GeomAdaptor_Curve_Curve(self, *args)

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

        Parameters
        ----------
        C: Geom_Curve

        Returns
        -------
        None
        Constructionerror is raised if ufirst>ulast.

        Parameters
        ----------
        C: Geom_Curve
        UFirst: float
        ULast: float

        Returns
        -------
        None

        """
        return _GeomAdaptor.GeomAdaptor_Curve_Load(self, *args)

    def Reset(self, *args) -> "void":
        r"""
        Reset currently loaded curve (undone load()).

        Returns
        -------
        None

        """
        return _GeomAdaptor.GeomAdaptor_Curve_Reset(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomAdaptor.delete_GeomAdaptor_Curve

# Register GeomAdaptor_Curve in _GeomAdaptor:
_GeomAdaptor.GeomAdaptor_Curve_swigregister(GeomAdaptor_Curve)

class GeomAdaptor_GHCurve(OCC.Core.Adaptor3d.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: GeomAdaptor_Curve

        Returns
        -------
        None

        """
        _GeomAdaptor.GeomAdaptor_GHCurve_swiginit(self, _GeomAdaptor.new_GeomAdaptor_GHCurve(*args))

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

        Returns
        -------
        GeomAdaptor_Curve

        """
        return _GeomAdaptor.GeomAdaptor_GHCurve_ChangeCurve(self, *args)

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

        Parameters
        ----------
        C: GeomAdaptor_Curve

        Returns
        -------
        None

        """
        return _GeomAdaptor.GeomAdaptor_GHCurve_Set(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomAdaptor.delete_GeomAdaptor_GHCurve

# Register GeomAdaptor_GHCurve in _GeomAdaptor:
_GeomAdaptor.GeomAdaptor_GHCurve_swigregister(GeomAdaptor_GHCurve)

class GeomAdaptor_GHSurface(OCC.Core.Adaptor3d.Adaptor3d_HSurface):
    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 genhsurface.

        Returns
        -------
        None
        Creates a genhsurface from a surface.

        Parameters
        ----------
        S: GeomAdaptor_Surface

        Returns
        -------
        None

        """
        _GeomAdaptor.GeomAdaptor_GHSurface_swiginit(self, _GeomAdaptor.new_GeomAdaptor_GHSurface(*args))

    def ChangeSurface(self, *args) -> "GeomAdaptor_Surface &":
        r"""
        Returns the surface used to create the genhsurface.

        Returns
        -------
        GeomAdaptor_Surface

        """
        return _GeomAdaptor.GeomAdaptor_GHSurface_ChangeSurface(self, *args)

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

        Parameters
        ----------
        S: GeomAdaptor_Surface

        Returns
        -------
        None

        """
        return _GeomAdaptor.GeomAdaptor_GHSurface_Set(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomAdaptor.delete_GeomAdaptor_GHSurface

# Register GeomAdaptor_GHSurface in _GeomAdaptor:
_GeomAdaptor.GeomAdaptor_GHSurface_swigregister(GeomAdaptor_GHSurface)

class GeomAdaptor_HSurfaceOfLinearExtrusion(OCC.Core.Adaptor3d.Adaptor3d_HSurface):
    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 genhsurface.

        Returns
        -------
        None
        Creates a genhsurface from a surface.

        Parameters
        ----------
        S: GeomAdaptor_SurfaceOfLinearExtrusion

        Returns
        -------
        None

        """
        _GeomAdaptor.GeomAdaptor_HSurfaceOfLinearExtrusion_swiginit(self, _GeomAdaptor.new_GeomAdaptor_HSurfaceOfLinearExtrusion(*args))

    def ChangeSurface(self, *args) -> "GeomAdaptor_SurfaceOfLinearExtrusion &":
        r"""
        Returns the surface used to create the genhsurface.

        Returns
        -------
        GeomAdaptor_SurfaceOfLinearExtrusion

        """
        return _GeomAdaptor.GeomAdaptor_HSurfaceOfLinearExtrusion_ChangeSurface(self, *args)

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

        Parameters
        ----------
        S: GeomAdaptor_SurfaceOfLinearExtrusion

        Returns
        -------
        None

        """
        return _GeomAdaptor.GeomAdaptor_HSurfaceOfLinearExtrusion_Set(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomAdaptor.delete_GeomAdaptor_HSurfaceOfLinearExtrusion

# Register GeomAdaptor_HSurfaceOfLinearExtrusion in _GeomAdaptor:
_GeomAdaptor.GeomAdaptor_HSurfaceOfLinearExtrusion_swigregister(GeomAdaptor_HSurfaceOfLinearExtrusion)

class GeomAdaptor_HSurfaceOfRevolution(OCC.Core.Adaptor3d.Adaptor3d_HSurface):
    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 genhsurface.

        Returns
        -------
        None
        Creates a genhsurface from a surface.

        Parameters
        ----------
        S: GeomAdaptor_SurfaceOfRevolution

        Returns
        -------
        None

        """
        _GeomAdaptor.GeomAdaptor_HSurfaceOfRevolution_swiginit(self, _GeomAdaptor.new_GeomAdaptor_HSurfaceOfRevolution(*args))

    def ChangeSurface(self, *args) -> "GeomAdaptor_SurfaceOfRevolution &":
        r"""
        Returns the surface used to create the genhsurface.

        Returns
        -------
        GeomAdaptor_SurfaceOfRevolution

        """
        return _GeomAdaptor.GeomAdaptor_HSurfaceOfRevolution_ChangeSurface(self, *args)

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

        Parameters
        ----------
        S: GeomAdaptor_SurfaceOfRevolution

        Returns
        -------
        None

        """
        return _GeomAdaptor.GeomAdaptor_HSurfaceOfRevolution_Set(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomAdaptor.delete_GeomAdaptor_HSurfaceOfRevolution

# Register GeomAdaptor_HSurfaceOfRevolution in _GeomAdaptor:
_GeomAdaptor.GeomAdaptor_HSurfaceOfRevolution_swigregister(GeomAdaptor_HSurfaceOfRevolution)

class GeomAdaptor_Surface(OCC.Core.Adaptor3d.Adaptor3d_Surface):
    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: Geom_Surface

        Returns
        -------
        None
        Constructionerror is raised if ufirst>ulast or vfirst>vlast.

        Parameters
        ----------
        S: Geom_Surface
        UFirst: float
        ULast: float
        VFirst: float
        VLast: float
        TolU: float,optional
        	default value is 0.0
        TolV: float,optional
        	default value is 0.0

        Returns
        -------
        None

        """
        _GeomAdaptor.GeomAdaptor_Surface_swiginit(self, _GeomAdaptor.new_GeomAdaptor_Surface(*args))

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

        Parameters
        ----------
        S: Geom_Surface

        Returns
        -------
        None
        Constructionerror is raised if ufirst>ulast or vfirst>vlast.

        Parameters
        ----------
        S: Geom_Surface
        UFirst: float
        ULast: float
        VFirst: float
        VLast: float
        TolU: float,optional
        	default value is 0.0
        TolV: float,optional
        	default value is 0.0

        Returns
        -------
        None

        """
        return _GeomAdaptor.GeomAdaptor_Surface_Load(self, *args)

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

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

        """
        return _GeomAdaptor.GeomAdaptor_Surface_Surface(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomAdaptor.delete_GeomAdaptor_Surface

# Register GeomAdaptor_Surface in _GeomAdaptor:
_GeomAdaptor.GeomAdaptor_Surface_swigregister(GeomAdaptor_Surface)

class GeomAdaptor_HCurve(GeomAdaptor_GHCurve):
    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
        ----------
        AS: GeomAdaptor_Curve

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

        Parameters
        ----------
        S: Geom_Curve

        Returns
        -------
        None
        Constructionerror is raised if ufirst>ulast or vfirst>vlast.

        Parameters
        ----------
        S: Geom_Curve
        UFirst: float
        ULast: float

        Returns
        -------
        None

        """
        _GeomAdaptor.GeomAdaptor_HCurve_swiginit(self, _GeomAdaptor.new_GeomAdaptor_HCurve(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomAdaptor.delete_GeomAdaptor_HCurve

# Register GeomAdaptor_HCurve in _GeomAdaptor:
_GeomAdaptor.GeomAdaptor_HCurve_swigregister(GeomAdaptor_HCurve)

class GeomAdaptor_HSurface(GeomAdaptor_GHSurface):
    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
        ----------
        AS: GeomAdaptor_Surface

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

        Parameters
        ----------
        S: Geom_Surface

        Returns
        -------
        None
        Constructionerror is raised if ufirst>ulast or vfirst>vlast.

        Parameters
        ----------
        S: Geom_Surface
        UFirst: float
        ULast: float
        VFirst: float
        VLast: float
        TolU: float,optional
        	default value is 0.0
        TolV: float,optional
        	default value is 0.0

        Returns
        -------
        None

        """
        _GeomAdaptor.GeomAdaptor_HSurface_swiginit(self, _GeomAdaptor.new_GeomAdaptor_HSurface(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _GeomAdaptor.delete_GeomAdaptor_HSurface

# Register GeomAdaptor_HSurface in _GeomAdaptor:
_GeomAdaptor.GeomAdaptor_HSurface_swigregister(GeomAdaptor_HSurface)

class GeomAdaptor_SurfaceOfLinearExtrusion(GeomAdaptor_Surface):
    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
        The curve is loaded.

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

        Returns
        -------
        None
        Thew curve and the direction are loaded.

        Parameters
        ----------
        C: Adaptor3d_HCurve
        V: gp_Dir

        Returns
        -------
        None

        """
        _GeomAdaptor.GeomAdaptor_SurfaceOfLinearExtrusion_swiginit(self, _GeomAdaptor.new_GeomAdaptor_SurfaceOfLinearExtrusion(*args))

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

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

        Returns
        -------
        None
        Changes the direction.

        Parameters
        ----------
        V: gp_Dir

        Returns
        -------
        None

        """
        return _GeomAdaptor.GeomAdaptor_SurfaceOfLinearExtrusion_Load(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomAdaptor.delete_GeomAdaptor_SurfaceOfLinearExtrusion

# Register GeomAdaptor_SurfaceOfLinearExtrusion in _GeomAdaptor:
_GeomAdaptor.GeomAdaptor_SurfaceOfLinearExtrusion_swigregister(GeomAdaptor_SurfaceOfLinearExtrusion)

class GeomAdaptor_SurfaceOfRevolution(GeomAdaptor_Surface):
    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
        The curve is loaded.

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

        Returns
        -------
        None
        The curve and the direction are loaded.

        Parameters
        ----------
        C: Adaptor3d_HCurve
        V: gp_Ax1

        Returns
        -------
        None

        """
        _GeomAdaptor.GeomAdaptor_SurfaceOfRevolution_swiginit(self, _GeomAdaptor.new_GeomAdaptor_SurfaceOfRevolution(*args))

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

        Returns
        -------
        gp_Ax3

        """
        return _GeomAdaptor.GeomAdaptor_SurfaceOfRevolution_Axis(self, *args)

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

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

        Returns
        -------
        None
        Changes the direction.

        Parameters
        ----------
        V: gp_Ax1

        Returns
        -------
        None

        """
        return _GeomAdaptor.GeomAdaptor_SurfaceOfRevolution_Load(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _GeomAdaptor.delete_GeomAdaptor_SurfaceOfRevolution

# Register GeomAdaptor_SurfaceOfRevolution in _GeomAdaptor:
_GeomAdaptor.GeomAdaptor_SurfaceOfRevolution_swigregister(GeomAdaptor_SurfaceOfRevolution)





