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

"""
ShapeProcess module, see official documentation at
https://www.opencascade.com/doc/occt-7.7.0/refman/html/package_shapeprocess.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 _ShapeProcess
else:
    import _ShapeProcess

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register SwigPyIterator in _ShapeProcess:
_ShapeProcess.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 _ShapeProcess.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.Message
import OCC.Core.TCollection
import OCC.Core.OSD
import OCC.Core.TColStd
import OCC.Core.Resource
import OCC.Core.TopoDS
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.gp
import OCC.Core.BRepTools
import OCC.Core.Bnd
import OCC.Core.TColgp
import OCC.Core.BVH
import OCC.Core.TopTools
import OCC.Core.Geom
import OCC.Core.GeomAbs
import OCC.Core.Geom2d
import OCC.Core.BRep
import OCC.Core.Poly
import OCC.Core.TShort
import OCC.Core.ShapeExtend
import OCC.Core.TColGeom
import OCC.Core.ShapeBuild

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




def Handle_ShapeProcess_Context_Create():
    return _ShapeProcess.Handle_ShapeProcess_Context_Create()

def Handle_ShapeProcess_Context_DownCast(t):
    return _ShapeProcess.Handle_ShapeProcess_Context_DownCast(t)

def Handle_ShapeProcess_Context_IsNull(t):
    return _ShapeProcess.Handle_ShapeProcess_Context_IsNull(t)

def Handle_ShapeProcess_Operator_Create():
    return _ShapeProcess.Handle_ShapeProcess_Operator_Create()

def Handle_ShapeProcess_Operator_DownCast(t):
    return _ShapeProcess.Handle_ShapeProcess_Operator_DownCast(t)

def Handle_ShapeProcess_Operator_IsNull(t):
    return _ShapeProcess.Handle_ShapeProcess_Operator_IsNull(t)

def Handle_ShapeProcess_ShapeContext_Create():
    return _ShapeProcess.Handle_ShapeProcess_ShapeContext_Create()

def Handle_ShapeProcess_ShapeContext_DownCast(t):
    return _ShapeProcess.Handle_ShapeProcess_ShapeContext_DownCast(t)

def Handle_ShapeProcess_ShapeContext_IsNull(t):
    return _ShapeProcess.Handle_ShapeProcess_ShapeContext_IsNull(t)

def Handle_ShapeProcess_UOperator_Create():
    return _ShapeProcess.Handle_ShapeProcess_UOperator_Create()

def Handle_ShapeProcess_UOperator_DownCast(t):
    return _ShapeProcess.Handle_ShapeProcess_UOperator_DownCast(t)

def Handle_ShapeProcess_UOperator_IsNull(t):
    return _ShapeProcess.Handle_ShapeProcess_UOperator_IsNull(t)
class shapeprocess(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        name: str
        op: ShapeProcess_Operator

        Return
        -------
        bool

        Description
        -----------
        Finds operator by its name.

        """
        return _ShapeProcess.shapeprocess_FindOperator(*args)

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

        Parameters
        ----------
        context: ShapeProcess_Context
        seq: str
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Performs a specified sequence of operators on context resource file and other data should be already loaded to context (including description of sequence seq).

        """
        return _ShapeProcess.shapeprocess_Perform(*args)

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

        Parameters
        ----------
        name: str
        op: ShapeProcess_Operator

        Return
        -------
        bool

        Description
        -----------
        Registers operator to make it visible for performer.

        """
        return _ShapeProcess.shapeprocess_RegisterOperator(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _ShapeProcess.shapeprocess_swiginit(self, _ShapeProcess.new_shapeprocess())
    __swig_destroy__ = _ShapeProcess.delete_shapeprocess

# Register shapeprocess in _ShapeProcess:
_ShapeProcess.shapeprocess_swigregister(shapeprocess)
class ShapeProcess_Context(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates an empty tool.

        Parameters
        ----------
        file: str
        scope: str (optional, default to )

        Return
        -------
        None

        Description
        -----------
        Creates a new tool and initialises by name of resource file and (if specified) starting scope calls method init().

        """
        _ShapeProcess.ShapeProcess_Context_swiginit(self, _ShapeProcess.new_ShapeProcess_Context(*args))

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

        Parameters
        ----------
        param: str
        def: bool

        Return
        -------
        bool

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

        """
        return _ShapeProcess.ShapeProcess_Context_BooleanVal(self, *args)

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

        Parameters
        ----------
        param: str

        Return
        -------
        val: bool

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

        """
        return _ShapeProcess.ShapeProcess_Context_GetBoolean(self, *args)

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

        Parameters
        ----------
        param: str

        Return
        -------
        val: int

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

        """
        return _ShapeProcess.ShapeProcess_Context_GetInteger(self, *args)

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

        Parameters
        ----------
        param: str

        Return
        -------
        val: float

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

        """
        return _ShapeProcess.ShapeProcess_Context_GetReal(self, *args)

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

        Parameters
        ----------
        param: str
        val: str

        Return
        -------
        bool

        Description
        -----------
        Get value of parameter as being of specific type returns false if parameter is not defined or has a wrong type.

        """
        return _ShapeProcess.ShapeProcess_Context_GetString(self, *args)

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

        Parameters
        ----------
        file: str
        scope: str (optional, default to )

        Return
        -------
        bool

        Description
        -----------
        Initialises a tool by loading resource file and (if specified) sets starting scope returns false if resource file not found.

        """
        return _ShapeProcess.ShapeProcess_Context_Init(self, *args)

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

        Parameters
        ----------
        param: str
        def: int

        Return
        -------
        int

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

        """
        return _ShapeProcess.ShapeProcess_Context_IntegerVal(self, *args)

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

        Parameters
        ----------
        param: str

        Return
        -------
        bool

        Description
        -----------
        Returns true if parameter is defined in the resource file.

        """
        return _ShapeProcess.ShapeProcess_Context_IsParamSet(self, *args)

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

        Parameters
        ----------
        file: str

        Return
        -------
        opencascade::handle<Resource_Manager>

        Description
        -----------
        Loading resource_manager object if this object not equal internal static resource_manager object or internal static resource_manager object is null.

        """
        return _ShapeProcess.ShapeProcess_Context_LoadResourceManager(self, *args)

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

        Description
        -----------
        Returns messenger used for outputting messages.

        """
        return _ShapeProcess.ShapeProcess_Context_Messenger(self, *args)

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

        Parameters
        ----------
        param: str
        def: float

        Return
        -------
        float

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

        """
        return _ShapeProcess.ShapeProcess_Context_RealVal(self, *args)

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

        Description
        -----------
        Returns internal resource_manager object.

        """
        return _ShapeProcess.ShapeProcess_Context_ResourceManager(self, *args)

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

        Parameters
        ----------
        messenger: Message_Messenger

        Return
        -------
        None

        Description
        -----------
        Sets messenger used for outputting messages.

        """
        return _ShapeProcess.ShapeProcess_Context_SetMessenger(self, *args)

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

        Parameters
        ----------
        scope: str

        Return
        -------
        None

        Description
        -----------
        Set a new (sub)scope.

        """
        return _ShapeProcess.ShapeProcess_Context_SetScope(self, *args)

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

        Parameters
        ----------
        tracelev: int

        Return
        -------
        None

        Description
        -----------
        Sets trace level used for outputting messages - 0: no trace at all - 1: errors - 2: errors and warnings - 3: all messages default is 1: errors traced.

        """
        return _ShapeProcess.ShapeProcess_Context_SetTraceLevel(self, *args)

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

        Parameters
        ----------
        param: str
        def: str

        Return
        -------
        str

        Description
        -----------
        Get value of parameter as being of specific type if parameter is not defined or does not have expected type, returns default value as specified.

        """
        return _ShapeProcess.ShapeProcess_Context_StringVal(self, *args)

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

        Description
        -----------
        Returns trace level used for outputting messages.

        """
        return _ShapeProcess.ShapeProcess_Context_TraceLevel(self, *args)

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

        Description
        -----------
        Go out of current scope.

        """
        return _ShapeProcess.ShapeProcess_Context_UnSetScope(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeProcess.delete_ShapeProcess_Context

# Register ShapeProcess_Context in _ShapeProcess:
_ShapeProcess.ShapeProcess_Context_swigregister(ShapeProcess_Context)
class ShapeProcess_OperLibrary(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        S: TopoDS_Shape
        context: ShapeProcess_ShapeContext
        M: BRepTools_Modification
        map: TopTools_DataMapOfShapeShape
        msg: ShapeExtend_MsgRegistrator (optional, default to 0)
        theMutableInput: bool (optional, default to Standard_False)

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Applies breptools_modification to a shape, taking into account sharing of components of compounds. if themutableinput vat is set to true then input shape s can be modified during the modification process.

        """
        return _ShapeProcess.ShapeProcess_OperLibrary_ApplyModifier(*args)

    @staticmethod
    def Init(*args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Registers all the operators.

        """
        return _ShapeProcess.ShapeProcess_OperLibrary_Init(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _ShapeProcess.ShapeProcess_OperLibrary_swiginit(self, _ShapeProcess.new_ShapeProcess_OperLibrary())
    __swig_destroy__ = _ShapeProcess.delete_ShapeProcess_OperLibrary

# Register ShapeProcess_OperLibrary in _ShapeProcess:
_ShapeProcess.ShapeProcess_OperLibrary_swigregister(ShapeProcess_OperLibrary)
class ShapeProcess_Operator(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 Perform(self, *args):
        r"""

        Parameters
        ----------
        context: ShapeProcess_Context
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Performs operation and eventually records changes in the context.

        """
        return _ShapeProcess.ShapeProcess_Operator_Perform(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeProcess.delete_ShapeProcess_Operator

# Register ShapeProcess_Operator in _ShapeProcess:
_ShapeProcess.ShapeProcess_Operator_swigregister(ShapeProcess_Operator)
class ShapeProcess_ShapeContext(ShapeProcess_Context):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        file: str
        seq: str (optional, default to )

        Return
        -------
        None

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

        Parameters
        ----------
        S: TopoDS_Shape
        file: str
        seq: str (optional, default to )

        Return
        -------
        None

        Description
        -----------
        Initializes a tool by resource file and shape to be processed.

        """
        _ShapeProcess.ShapeProcess_ShapeContext_swiginit(self, _ShapeProcess.new_ShapeProcess_ShapeContext(*args))

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

        Parameters
        ----------
        S: TopoDS_Shape
        msg: Message_Msg
        gravity: Message_Gravity (optional, default to Message_Warning)

        Return
        -------
        None

        Description
        -----------
        Record a message for shape s shape s should be one of subshapes of original shape (or whole one), but not one of intermediate shapes records only if message() is not null.

        """
        return _ShapeProcess.ShapeProcess_ShapeContext_AddMessage(self, *args)

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

        Parameters
        ----------
        param: str
        def: GeomAbs_Shape

        Return
        -------
        GeomAbs_Shape

        Description
        -----------
        Get value of parameter as being of the type geomabs_shape if parameter is not defined or does not have expected type, returns default value as specified.

        """
        return _ShapeProcess.ShapeProcess_ShapeContext_ContinuityVal(self, *args)

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

        Parameters
        ----------
        param: str

        Return
        -------
        val: GeomAbs_Shape

        Description
        -----------
        Get value of parameter as being of the type geomabs_shape returns false if parameter is not defined or has a wrong type.

        """
        return _ShapeProcess.ShapeProcess_ShapeContext_GetContinuity(self, *args)

    def GetDetalisation(self, *args):
        r"""
        Return
        -------
        TopAbs_ShapeEnum

        Description
        -----------
        Set and get value for detalisation level only shapes of types from topods_compound and until specified detalisation level will be recorded in maps to cancel mapping, use topabs_shape to force full mapping, use topabs_vertex the default level is topabs_face.

        """
        return _ShapeProcess.ShapeProcess_ShapeContext_GetDetalisation(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Initializes tool by a new shape and clears all results.

        """
        return _ShapeProcess.ShapeProcess_ShapeContext_Init(self, *args)

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

        Description
        -----------
        Get nonmanifold flag.

        """
        return _ShapeProcess.ShapeProcess_ShapeContext_IsNonManifold(self, *args)

    def Map(self, *args):
        r"""
        Return
        -------
        TopTools_DataMapOfShapeShape

        Description
        -----------
        Returns map of replacements shape -> shape this map is not recursive.

        """
        return _ShapeProcess.ShapeProcess_ShapeContext_Map(self, *args)

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

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

        """
        return _ShapeProcess.ShapeProcess_ShapeContext_Messages(self, *args)

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

        Description
        -----------
        Prints statistics on shape processing onto the current messenger.

        """
        return _ShapeProcess.ShapeProcess_ShapeContext_PrintStatistics(self, *args)

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

        Parameters
        ----------
        repl: TopTools_DataMapOfShapeShape
        msg: ShapeExtend_MsgRegistrator (optional, default to 0)

        Return
        -------
        None

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

        Parameters
        ----------
        repl: ShapeBuild_ReShape
        msg: ShapeExtend_MsgRegistrator

        Return
        -------
        None

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

        Parameters
        ----------
        repl: ShapeBuild_ReShape

        Return
        -------
        None

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

        Parameters
        ----------
        sh: TopoDS_Shape
        repl: BRepTools_Modifier
        msg: ShapeExtend_MsgRegistrator (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Records modifications and resets result accordingly note: modification of resulting shape should be explicitly defined in the maps along with modifications of subshapes //! in the last function, sh is the shape on which modifier was run. it can be different from the whole shape, but in that case result as a whole should be reset later either by call to setresult(), or by another call to recordmodification() which contains mapping of current result to a new one explicitly.

        """
        return _ShapeProcess.ShapeProcess_ShapeContext_RecordModification(self, *args)

    def Result(self, *args):
        r"""
        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns current result.

        """
        return _ShapeProcess.ShapeProcess_ShapeContext_Result(self, *args)

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

        Parameters
        ----------
        level: TopAbs_ShapeEnum

        Return
        -------
        None

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

        """
        return _ShapeProcess.ShapeProcess_ShapeContext_SetDetalisation(self, *args)

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

        Parameters
        ----------
        theNonManifold: bool

        Return
        -------
        None

        Description
        -----------
        Set nonmanifold flag.

        """
        return _ShapeProcess.ShapeProcess_ShapeContext_SetNonManifold(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Sets a new result shape note: this method should be used very carefully to keep consistency of modifications it is recommended to use recordmodification() methods with explicit definition of mapping from current result to a new one.

        """
        return _ShapeProcess.ShapeProcess_ShapeContext_SetResult(self, *args)

    def Shape(self, *args):
        r"""
        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns shape being processed.

        """
        return _ShapeProcess.ShapeProcess_ShapeContext_Shape(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeProcess.delete_ShapeProcess_ShapeContext

# Register ShapeProcess_ShapeContext in _ShapeProcess:
_ShapeProcess.ShapeProcess_ShapeContext_swigregister(ShapeProcess_ShapeContext)
class ShapeProcess_UOperator(ShapeProcess_Operator):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        func: ShapeProcess_OperFunc

        Return
        -------
        None

        Description
        -----------
        Creates operator with implementation defined as operfunc (static function).

        """
        _ShapeProcess.ShapeProcess_UOperator_swiginit(self, _ShapeProcess.new_ShapeProcess_UOperator(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _ShapeProcess.delete_ShapeProcess_UOperator

# Register ShapeProcess_UOperator in _ShapeProcess:
_ShapeProcess.ShapeProcess_UOperator_swigregister(ShapeProcess_UOperator)



@deprecated
def shapeprocess_FindOperator(*args):
	return shapeprocess.FindOperator(*args)

@deprecated
def shapeprocess_Perform(*args):
	return shapeprocess.Perform(*args)

@deprecated
def shapeprocess_RegisterOperator(*args):
	return shapeprocess.RegisterOperator(*args)

@deprecated
def ShapeProcess_OperLibrary_ApplyModifier(*args):
	return ShapeProcess_OperLibrary.ApplyModifier(*args)

@deprecated
def ShapeProcess_OperLibrary_Init(*args):
	return ShapeProcess_OperLibrary.Init(*args)



