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

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

from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _ElSLib
else:
    import _ElSLib

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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


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


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


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


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


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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _ElSLib.delete_SwigPyIterator

    def value(self):
        return _ElSLib.SwigPyIterator_value(self)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    def __sub__(self, *args):
        return _ElSLib.SwigPyIterator___sub__(self, *args)
    def __iter__(self):
        return self

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

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


def process_exception(error, method_name, class_name):
    return _ElSLib.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.gp
import OCC.Core.TColStd
import OCC.Core.TCollection

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



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

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        Radius: float
        SAngle: float
        P: gp_Pnt

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_ConeD0(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        Radius: float
        SAngle: float
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_ConeD1(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        Radius: float
        SAngle: float
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec
        Vuu: gp_Vec
        Vvv: gp_Vec
        Vuv: gp_Vec

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_ConeD2(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        Radius: float
        SAngle: float
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec
        Vuu: gp_Vec
        Vvv: gp_Vec
        Vuv: gp_Vec
        Vuuu: gp_Vec
        Vvvv: gp_Vec
        Vuuv: gp_Vec
        Vuvv: gp_Vec

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_ConeD3(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        Radius: float
        SAngle: float
        Nu: int
        Nv: int

        Return
        -------
        gp_Vec

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

        """
        return _ElSLib.elslib_ConeDN(*args)

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

        Parameters
        ----------
        Pos: gp_Ax3
        Radius: float
        SAngle: float
        P: gp_Pnt

        Return
        -------
        U: float
        V: float

        Description
        -----------
        Parametrization p (u, v) = location + v * zdirection + (radius + v * tan (semiangle)) * (cos(u) * xdirection + sin(u) * ydirection).

        """
        return _ElSLib.elslib_ConeParameters(*args)

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

        Parameters
        ----------
        Pos: gp_Ax3
        Radius: float
        SAngle: float
        U: float

        Return
        -------
        gp_Lin

        Description
        -----------
        Compute the u isoparametric gp_lin of the cone.

        """
        return _ElSLib.elslib_ConeUIso(*args)

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

        Parameters
        ----------
        Pos: gp_Ax3
        Radius: float
        SAngle: float
        V: float

        Return
        -------
        gp_Circ

        Description
        -----------
        Compute the v isoparametric gp_circ of the cone.

        """
        return _ElSLib.elslib_ConeVIso(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        Radius: float
        SAngle: float

        Return
        -------
        gp_Pnt

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

        """
        return _ElSLib.elslib_ConeValue(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        Radius: float
        P: gp_Pnt

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_CylinderD0(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        Radius: float
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_CylinderD1(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        Radius: float
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec
        Vuu: gp_Vec
        Vvv: gp_Vec
        Vuv: gp_Vec

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_CylinderD2(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        Radius: float
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec
        Vuu: gp_Vec
        Vvv: gp_Vec
        Vuv: gp_Vec
        Vuuu: gp_Vec
        Vvvv: gp_Vec
        Vuuv: gp_Vec
        Vuvv: gp_Vec

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_CylinderD3(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        Radius: float
        Nu: int
        Nv: int

        Return
        -------
        gp_Vec

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

        """
        return _ElSLib.elslib_CylinderDN(*args)

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

        Parameters
        ----------
        Pos: gp_Ax3
        Radius: float
        P: gp_Pnt

        Return
        -------
        U: float
        V: float

        Description
        -----------
        Parametrization p (u, v) = location + v * zdirection + radius * (cos(u) * xdirection + sin (u) * ydirection).

        """
        return _ElSLib.elslib_CylinderParameters(*args)

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

        Parameters
        ----------
        Pos: gp_Ax3
        Radius: float
        U: float

        Return
        -------
        gp_Lin

        Description
        -----------
        Compute the u isoparametric gp_lin of the cylinder.

        """
        return _ElSLib.elslib_CylinderUIso(*args)

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

        Parameters
        ----------
        Pos: gp_Ax3
        Radius: float
        V: float

        Return
        -------
        gp_Circ

        Description
        -----------
        Compute the v isoparametric gp_circ of the cylinder.

        """
        return _ElSLib.elslib_CylinderVIso(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        Radius: float

        Return
        -------
        gp_Pnt

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

        """
        return _ElSLib.elslib_CylinderValue(*args)

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

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

        Return
        -------
        None

        Description
        -----------
        For elementary surfaces from the gp package (planes, cones, cylinders, spheres and tori), computes the point p of parameters (u, v).inline.

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

        Return
        -------
        None

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

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

        Return
        -------
        None

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

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

        Return
        -------
        None

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

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

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_D0(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pl: gp_Pln
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec

        Return
        -------
        None

        Description
        -----------
        For elementary surfaces from the gp package (planes, cones, cylinders, spheres and tori), computes: - the point p of parameters (u, v), and - the first derivative vectors vu and vv at this point in the u and v parametric directions respectively.

        Parameters
        ----------
        U: float
        V: float
        C: gp_Cone
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec

        Return
        -------
        None

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

        Parameters
        ----------
        U: float
        V: float
        C: gp_Cylinder
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec

        Return
        -------
        None

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

        Parameters
        ----------
        U: float
        V: float
        S: gp_Sphere
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec

        Return
        -------
        None

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

        Parameters
        ----------
        U: float
        V: float
        T: gp_Torus
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_D1(*args)

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

        Parameters
        ----------
        U: float
        V: float
        C: gp_Cone
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec
        Vuu: gp_Vec
        Vvv: gp_Vec
        Vuv: gp_Vec

        Return
        -------
        None

        Description
        -----------
        For elementary surfaces from the gp package (cones, cylinders, spheres and tori), computes: - the point p of parameters (u, v), and - the first derivative vectors vu and vv at this point in the u and v parametric directions respectively, and - the second derivative vectors vuu, vvv and vuv at this point.

        Parameters
        ----------
        U: float
        V: float
        C: gp_Cylinder
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec
        Vuu: gp_Vec
        Vvv: gp_Vec
        Vuv: gp_Vec

        Return
        -------
        None

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

        Parameters
        ----------
        U: float
        V: float
        S: gp_Sphere
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec
        Vuu: gp_Vec
        Vvv: gp_Vec
        Vuv: gp_Vec

        Return
        -------
        None

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

        Parameters
        ----------
        U: float
        V: float
        T: gp_Torus
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec
        Vuu: gp_Vec
        Vvv: gp_Vec
        Vuv: gp_Vec

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_D2(*args)

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

        Parameters
        ----------
        U: float
        V: float
        C: gp_Cone
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec
        Vuu: gp_Vec
        Vvv: gp_Vec
        Vuv: gp_Vec
        Vuuu: gp_Vec
        Vvvv: gp_Vec
        Vuuv: gp_Vec
        Vuvv: gp_Vec

        Return
        -------
        None

        Description
        -----------
        For elementary surfaces from the gp package (cones, cylinders, spheres and tori), computes: - the point p of parameters (u,v), and - the first derivative vectors vu and vv at this point in the u and v parametric directions respectively, and - the second derivative vectors vuu, vvv and vuv at this point, and - the third derivative vectors vuuu, vvvv, vuuv and vuvv at this point.

        Parameters
        ----------
        U: float
        V: float
        C: gp_Cylinder
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec
        Vuu: gp_Vec
        Vvv: gp_Vec
        Vuv: gp_Vec
        Vuuu: gp_Vec
        Vvvv: gp_Vec
        Vuuv: gp_Vec
        Vuvv: gp_Vec

        Return
        -------
        None

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

        Parameters
        ----------
        U: float
        V: float
        S: gp_Sphere
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec
        Vuu: gp_Vec
        Vvv: gp_Vec
        Vuv: gp_Vec
        Vuuu: gp_Vec
        Vvvv: gp_Vec
        Vuuv: gp_Vec
        Vuvv: gp_Vec

        Return
        -------
        None

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

        Parameters
        ----------
        U: float
        V: float
        T: gp_Torus
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec
        Vuu: gp_Vec
        Vvv: gp_Vec
        Vuv: gp_Vec
        Vuuu: gp_Vec
        Vvvv: gp_Vec
        Vuuv: gp_Vec
        Vuvv: gp_Vec

        Return
        -------
        None

        Description
        -----------
        Surface evaluation the following functions compute the point and the derivatives on elementary surfaces defined with their geometric characteristics. you don't need to create the surface to use these functions. these functions are called by the previous ones. example: a cylinder is defined with its position and its radius.

        """
        return _ElSLib.elslib_D3(*args)

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

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

        Return
        -------
        gp_Vec

        Description
        -----------
        For elementary surfaces from the gp package (planes, cones, cylinders, spheres and tori), computes the derivative vector of order nu and nv in the u and v parametric directions respectively, at the point of parameters (u, v).

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

        Return
        -------
        gp_Vec

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

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

        Return
        -------
        gp_Vec

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

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

        Return
        -------
        gp_Vec

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

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

        Return
        -------
        gp_Vec

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

        """
        return _ElSLib.elslib_DN(*args)

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

        Parameters
        ----------
        Pl: gp_Pln
        P: gp_Pnt

        Return
        -------
        U: float
        V: float

        Description
        -----------
        Parametrization p (u, v) = pl.location() + u * pl.xdirection() + v * pl.ydirection().

        Parameters
        ----------
        C: gp_Cylinder
        P: gp_Pnt

        Return
        -------
        U: float
        V: float

        Description
        -----------
        Parametrization p (u, v) = location + v * zdirection + radius * (cos(u) * xdirection + sin (u) * ydirection).

        Parameters
        ----------
        C: gp_Cone
        P: gp_Pnt

        Return
        -------
        U: float
        V: float

        Description
        -----------
        Parametrization p (u, v) = location + v * zdirection + (radius + v * tan (semiangle)) * (cos(u) * xdirection + sin(u) * ydirection).

        Parameters
        ----------
        S: gp_Sphere
        P: gp_Pnt

        Return
        -------
        U: float
        V: float

        Description
        -----------
        Parametrization p (u, v) = location + radius * cos (v) * (cos (u) * xdirection + sin (u) * ydirection) + radius * sin (v) * zdirection.

        Parameters
        ----------
        T: gp_Torus
        P: gp_Pnt

        Return
        -------
        U: float
        V: float

        Description
        -----------
        Parametrization p (u, v) = location + (majorradius + minorradius * cos(u)) * (cos(v) * xdirection - sin(v) * ydirection) + minorradius * sin(u) * zdirection.

        """
        return _ElSLib.elslib_Parameters(*args)

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

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

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_PlaneD0(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_PlaneD1(*args)

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

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

        Return
        -------
        gp_Vec

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

        """
        return _ElSLib.elslib_PlaneDN(*args)

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

        Parameters
        ----------
        Pos: gp_Ax3
        P: gp_Pnt

        Return
        -------
        U: float
        V: float

        Description
        -----------
        Parametrization p (u, v) = pl.location() + u * pl.xdirection() + v * pl.ydirection().

        """
        return _ElSLib.elslib_PlaneParameters(*args)

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

        Parameters
        ----------
        Pos: gp_Ax3
        U: float

        Return
        -------
        gp_Lin

        Description
        -----------
        Compute the u isoparametric gp_lin of the plane.

        """
        return _ElSLib.elslib_PlaneUIso(*args)

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

        Parameters
        ----------
        Pos: gp_Ax3
        V: float

        Return
        -------
        gp_Lin

        Description
        -----------
        Compute the v isoparametric gp_lin of the plane.

        """
        return _ElSLib.elslib_PlaneVIso(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3

        Return
        -------
        gp_Pnt

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

        """
        return _ElSLib.elslib_PlaneValue(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        Radius: float
        P: gp_Pnt

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_SphereD0(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        Radius: float
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_SphereD1(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        Radius: float
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec
        Vuu: gp_Vec
        Vvv: gp_Vec
        Vuv: gp_Vec

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_SphereD2(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        Radius: float
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec
        Vuu: gp_Vec
        Vvv: gp_Vec
        Vuv: gp_Vec
        Vuuu: gp_Vec
        Vvvv: gp_Vec
        Vuuv: gp_Vec
        Vuvv: gp_Vec

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_SphereD3(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        Radius: float
        Nu: int
        Nv: int

        Return
        -------
        gp_Vec

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

        """
        return _ElSLib.elslib_SphereDN(*args)

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

        Parameters
        ----------
        Pos: gp_Ax3
        Radius: float
        P: gp_Pnt

        Return
        -------
        U: float
        V: float

        Description
        -----------
        Parametrization p (u, v) = location + radius * cos (v) * (cos (u) * xdirection + sin (u) * ydirection) + radius * sin (v) * zdirection.

        """
        return _ElSLib.elslib_SphereParameters(*args)

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

        Parameters
        ----------
        Pos: gp_Ax3
        Radius: float
        U: float

        Return
        -------
        gp_Circ

        Description
        -----------
        Compute the u isoparametric gp_circ of the sphere, (the meridian is not trimmed).

        """
        return _ElSLib.elslib_SphereUIso(*args)

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

        Parameters
        ----------
        Pos: gp_Ax3
        Radius: float
        V: float

        Return
        -------
        gp_Circ

        Description
        -----------
        Compute the v isoparametric gp_circ of the sphere, (the meridian is not trimmed).

        """
        return _ElSLib.elslib_SphereVIso(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        Radius: float

        Return
        -------
        gp_Pnt

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

        """
        return _ElSLib.elslib_SphereValue(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        MajorRadius: float
        MinorRadius: float
        P: gp_Pnt

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_TorusD0(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        MajorRadius: float
        MinorRadius: float
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_TorusD1(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        MajorRadius: float
        MinorRadius: float
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec
        Vuu: gp_Vec
        Vvv: gp_Vec
        Vuv: gp_Vec

        Return
        -------
        None

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

        """
        return _ElSLib.elslib_TorusD2(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        MajorRadius: float
        MinorRadius: float
        P: gp_Pnt
        Vu: gp_Vec
        Vv: gp_Vec
        Vuu: gp_Vec
        Vvv: gp_Vec
        Vuv: gp_Vec
        Vuuu: gp_Vec
        Vvvv: gp_Vec
        Vuuv: gp_Vec
        Vuvv: gp_Vec

        Return
        -------
        None

        Description
        -----------
        The following functions compute the parametric values corresponding to a given point on a elementary surface. the point should be on the surface.

        """
        return _ElSLib.elslib_TorusD3(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        MajorRadius: float
        MinorRadius: float
        Nu: int
        Nv: int

        Return
        -------
        gp_Vec

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

        """
        return _ElSLib.elslib_TorusDN(*args)

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

        Parameters
        ----------
        Pos: gp_Ax3
        MajorRadius: float
        MinorRadius: float
        P: gp_Pnt

        Return
        -------
        U: float
        V: float

        Description
        -----------
        Parametrization p (u, v) = location + (majorradius + minorradius * cos(u)) * (cos(v) * xdirection - sin(v) * ydirection) + minorradius * sin(u) * zdirection.

        """
        return _ElSLib.elslib_TorusParameters(*args)

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

        Parameters
        ----------
        Pos: gp_Ax3
        MajorRadius: float
        MinorRadius: float
        U: float

        Return
        -------
        gp_Circ

        Description
        -----------
        Compute the u isoparametric gp_circ of the torus.

        """
        return _ElSLib.elslib_TorusUIso(*args)

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

        Parameters
        ----------
        Pos: gp_Ax3
        MajorRadius: float
        MinorRadius: float
        V: float

        Return
        -------
        gp_Circ

        Description
        -----------
        Compute the v isoparametric gp_circ of the torus.

        """
        return _ElSLib.elslib_TorusVIso(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pos: gp_Ax3
        MajorRadius: float
        MinorRadius: float

        Return
        -------
        gp_Pnt

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

        """
        return _ElSLib.elslib_TorusValue(*args)

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

        Parameters
        ----------
        U: float
        V: float
        Pl: gp_Pln

        Return
        -------
        gp_Pnt

        Description
        -----------
        For elementary surfaces from the gp package (planes, cones, cylinders, spheres and tori), computes the point of parameters (u, v).

        Parameters
        ----------
        U: float
        V: float
        C: gp_Cone

        Return
        -------
        gp_Pnt

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

        Parameters
        ----------
        U: float
        V: float
        C: gp_Cylinder

        Return
        -------
        gp_Pnt

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

        Parameters
        ----------
        U: float
        V: float
        S: gp_Sphere

        Return
        -------
        gp_Pnt

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

        Parameters
        ----------
        U: float
        V: float
        T: gp_Torus

        Return
        -------
        gp_Pnt

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

        """
        return _ElSLib.elslib_Value(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _ElSLib.elslib_swiginit(self, _ElSLib.new_elslib())
    __swig_destroy__ = _ElSLib.delete_elslib

# Register elslib in _ElSLib:
_ElSLib.elslib_swigregister(elslib)



@deprecated
def elslib_ConeD0(*args):
	return elslib.ConeD0(*args)

@deprecated
def elslib_ConeD1(*args):
	return elslib.ConeD1(*args)

@deprecated
def elslib_ConeD2(*args):
	return elslib.ConeD2(*args)

@deprecated
def elslib_ConeD3(*args):
	return elslib.ConeD3(*args)

@deprecated
def elslib_ConeDN(*args):
	return elslib.ConeDN(*args)

@deprecated
def elslib_ConeParameters(*args):
	return elslib.ConeParameters(*args)

@deprecated
def elslib_ConeUIso(*args):
	return elslib.ConeUIso(*args)

@deprecated
def elslib_ConeVIso(*args):
	return elslib.ConeVIso(*args)

@deprecated
def elslib_ConeValue(*args):
	return elslib.ConeValue(*args)

@deprecated
def elslib_CylinderD0(*args):
	return elslib.CylinderD0(*args)

@deprecated
def elslib_CylinderD1(*args):
	return elslib.CylinderD1(*args)

@deprecated
def elslib_CylinderD2(*args):
	return elslib.CylinderD2(*args)

@deprecated
def elslib_CylinderD3(*args):
	return elslib.CylinderD3(*args)

@deprecated
def elslib_CylinderDN(*args):
	return elslib.CylinderDN(*args)

@deprecated
def elslib_CylinderParameters(*args):
	return elslib.CylinderParameters(*args)

@deprecated
def elslib_CylinderUIso(*args):
	return elslib.CylinderUIso(*args)

@deprecated
def elslib_CylinderVIso(*args):
	return elslib.CylinderVIso(*args)

@deprecated
def elslib_CylinderValue(*args):
	return elslib.CylinderValue(*args)

@deprecated
def elslib_D0(*args):
	return elslib.D0(*args)

@deprecated
def elslib_D0(*args):
	return elslib.D0(*args)

@deprecated
def elslib_D0(*args):
	return elslib.D0(*args)

@deprecated
def elslib_D0(*args):
	return elslib.D0(*args)

@deprecated
def elslib_D0(*args):
	return elslib.D0(*args)

@deprecated
def elslib_D1(*args):
	return elslib.D1(*args)

@deprecated
def elslib_D1(*args):
	return elslib.D1(*args)

@deprecated
def elslib_D1(*args):
	return elslib.D1(*args)

@deprecated
def elslib_D1(*args):
	return elslib.D1(*args)

@deprecated
def elslib_D1(*args):
	return elslib.D1(*args)

@deprecated
def elslib_D2(*args):
	return elslib.D2(*args)

@deprecated
def elslib_D2(*args):
	return elslib.D2(*args)

@deprecated
def elslib_D2(*args):
	return elslib.D2(*args)

@deprecated
def elslib_D2(*args):
	return elslib.D2(*args)

@deprecated
def elslib_D3(*args):
	return elslib.D3(*args)

@deprecated
def elslib_D3(*args):
	return elslib.D3(*args)

@deprecated
def elslib_D3(*args):
	return elslib.D3(*args)

@deprecated
def elslib_D3(*args):
	return elslib.D3(*args)

@deprecated
def elslib_DN(*args):
	return elslib.DN(*args)

@deprecated
def elslib_DN(*args):
	return elslib.DN(*args)

@deprecated
def elslib_DN(*args):
	return elslib.DN(*args)

@deprecated
def elslib_DN(*args):
	return elslib.DN(*args)

@deprecated
def elslib_DN(*args):
	return elslib.DN(*args)

@deprecated
def elslib_Parameters(*args):
	return elslib.Parameters(*args)

@deprecated
def elslib_Parameters(*args):
	return elslib.Parameters(*args)

@deprecated
def elslib_Parameters(*args):
	return elslib.Parameters(*args)

@deprecated
def elslib_Parameters(*args):
	return elslib.Parameters(*args)

@deprecated
def elslib_Parameters(*args):
	return elslib.Parameters(*args)

@deprecated
def elslib_PlaneD0(*args):
	return elslib.PlaneD0(*args)

@deprecated
def elslib_PlaneD1(*args):
	return elslib.PlaneD1(*args)

@deprecated
def elslib_PlaneDN(*args):
	return elslib.PlaneDN(*args)

@deprecated
def elslib_PlaneParameters(*args):
	return elslib.PlaneParameters(*args)

@deprecated
def elslib_PlaneUIso(*args):
	return elslib.PlaneUIso(*args)

@deprecated
def elslib_PlaneVIso(*args):
	return elslib.PlaneVIso(*args)

@deprecated
def elslib_PlaneValue(*args):
	return elslib.PlaneValue(*args)

@deprecated
def elslib_SphereD0(*args):
	return elslib.SphereD0(*args)

@deprecated
def elslib_SphereD1(*args):
	return elslib.SphereD1(*args)

@deprecated
def elslib_SphereD2(*args):
	return elslib.SphereD2(*args)

@deprecated
def elslib_SphereD3(*args):
	return elslib.SphereD3(*args)

@deprecated
def elslib_SphereDN(*args):
	return elslib.SphereDN(*args)

@deprecated
def elslib_SphereParameters(*args):
	return elslib.SphereParameters(*args)

@deprecated
def elslib_SphereUIso(*args):
	return elslib.SphereUIso(*args)

@deprecated
def elslib_SphereVIso(*args):
	return elslib.SphereVIso(*args)

@deprecated
def elslib_SphereValue(*args):
	return elslib.SphereValue(*args)

@deprecated
def elslib_TorusD0(*args):
	return elslib.TorusD0(*args)

@deprecated
def elslib_TorusD1(*args):
	return elslib.TorusD1(*args)

@deprecated
def elslib_TorusD2(*args):
	return elslib.TorusD2(*args)

@deprecated
def elslib_TorusD3(*args):
	return elslib.TorusD3(*args)

@deprecated
def elslib_TorusDN(*args):
	return elslib.TorusDN(*args)

@deprecated
def elslib_TorusParameters(*args):
	return elslib.TorusParameters(*args)

@deprecated
def elslib_TorusUIso(*args):
	return elslib.TorusUIso(*args)

@deprecated
def elslib_TorusVIso(*args):
	return elslib.TorusVIso(*args)

@deprecated
def elslib_TorusValue(*args):
	return elslib.TorusValue(*args)

@deprecated
def elslib_Value(*args):
	return elslib.Value(*args)

@deprecated
def elslib_Value(*args):
	return elslib.Value(*args)

@deprecated
def elslib_Value(*args):
	return elslib.Value(*args)

@deprecated
def elslib_Value(*args):
	return elslib.Value(*args)

@deprecated
def elslib_Value(*args):
	return elslib.Value(*args)



