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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register SwigPyIterator in _DE:
_DE.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 _DE.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.TCollection
import OCC.Core.TColStd
import OCC.Core.TDocStd
import OCC.Core.TDF
import OCC.Core.CDF
import OCC.Core.CDM
import OCC.Core.Message
import OCC.Core.OSD
import OCC.Core.Resource
import OCC.Core.PCDM
import OCC.Core.Storage
import OCC.Core.XSControl
import OCC.Core.IFSelect
import OCC.Core.Interface
import OCC.Core.MoniTool
import OCC.Core.TopoDS
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.gp
import OCC.Core.Transfer
import OCC.Core.TopTools
import OCC.Core.Geom
import OCC.Core.GeomAbs
import OCC.Core.TColgp
import OCC.Core.Geom2d

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




def Handle_DE_ConfigurationContext_Create():
    return _DE.Handle_DE_ConfigurationContext_Create()

def Handle_DE_ConfigurationContext_DownCast(t):
    return _DE.Handle_DE_ConfigurationContext_DownCast(t)

def Handle_DE_ConfigurationContext_IsNull(t):
    return _DE.Handle_DE_ConfigurationContext_IsNull(t)

def Handle_DE_ConfigurationNode_Create():
    return _DE.Handle_DE_ConfigurationNode_Create()

def Handle_DE_ConfigurationNode_DownCast(t):
    return _DE.Handle_DE_ConfigurationNode_DownCast(t)

def Handle_DE_ConfigurationNode_IsNull(t):
    return _DE.Handle_DE_ConfigurationNode_IsNull(t)

def Handle_DE_Provider_Create():
    return _DE.Handle_DE_Provider_Create()

def Handle_DE_Provider_DownCast(t):
    return _DE.Handle_DE_Provider_DownCast(t)

def Handle_DE_Provider_IsNull(t):
    return _DE.Handle_DE_Provider_IsNull(t)

def Handle_DE_Wrapper_Create():
    return _DE.Handle_DE_Wrapper_Create()

def Handle_DE_Wrapper_DownCast(t):
    return _DE.Handle_DE_Wrapper_DownCast(t)

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

    def begin(self):
        return _DE.DE_ConfigurationFormatMap_begin(self)

    def end(self):
        return _DE.DE_ConfigurationFormatMap_end(self)

    def cbegin(self):
        return _DE.DE_ConfigurationFormatMap_cbegin(self)

    def cend(self):
        return _DE.DE_ConfigurationFormatMap_cend(self)

    def __init__(self, *args):
        _DE.DE_ConfigurationFormatMap_swiginit(self, _DE.new_DE_ConfigurationFormatMap(*args))

    def Exchange(self, theOther):
        return _DE.DE_ConfigurationFormatMap_Exchange(self, theOther)

    def Assign(self, theOther):
        return _DE.DE_ConfigurationFormatMap_Assign(self, theOther)

    def Set(self, theOther):
        return _DE.DE_ConfigurationFormatMap_Set(self, theOther)

    def ReSize(self, N):
        return _DE.DE_ConfigurationFormatMap_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _DE.DE_ConfigurationFormatMap_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _DE.DE_ConfigurationFormatMap_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _DE.DE_ConfigurationFormatMap_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _DE.DE_ConfigurationFormatMap_UnBind(self, theKey)

    def Seek(self, theKey):
        return _DE.DE_ConfigurationFormatMap_Seek(self, theKey)

    def Find(self, *args):
        return _DE.DE_ConfigurationFormatMap_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _DE.DE_ConfigurationFormatMap_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _DE.DE_ConfigurationFormatMap_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _DE.DE_ConfigurationFormatMap___call__(self, *args)

    def Clear(self, *args):
        return _DE.DE_ConfigurationFormatMap_Clear(self, *args)
    __swig_destroy__ = _DE.delete_DE_ConfigurationFormatMap

    def Size(self):
        return _DE.DE_ConfigurationFormatMap_Size(self)

# Register DE_ConfigurationFormatMap in _DE:
_DE.DE_ConfigurationFormatMap_swigregister(DE_ConfigurationFormatMap)
class DE_ConfigurationVendorMap(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _DE.DE_ConfigurationVendorMap_begin(self)

    def end(self):
        return _DE.DE_ConfigurationVendorMap_end(self)

    def cbegin(self):
        return _DE.DE_ConfigurationVendorMap_cbegin(self)

    def cend(self):
        return _DE.DE_ConfigurationVendorMap_cend(self)

    def __init__(self, *args):
        _DE.DE_ConfigurationVendorMap_swiginit(self, _DE.new_DE_ConfigurationVendorMap(*args))

    def Exchange(self, theOther):
        return _DE.DE_ConfigurationVendorMap_Exchange(self, theOther)

    def Assign(self, theOther):
        return _DE.DE_ConfigurationVendorMap_Assign(self, theOther)

    def Set(self, theOther):
        return _DE.DE_ConfigurationVendorMap_Set(self, theOther)

    def ReSize(self, N):
        return _DE.DE_ConfigurationVendorMap_ReSize(self, N)

    def Add(self, theKey1, theItem):
        return _DE.DE_ConfigurationVendorMap_Add(self, theKey1, theItem)

    def Contains(self, theKey1):
        return _DE.DE_ConfigurationVendorMap_Contains(self, theKey1)

    def Substitute(self, theIndex, theKey1, theItem):
        return _DE.DE_ConfigurationVendorMap_Substitute(self, theIndex, theKey1, theItem)

    def Swap(self, theIndex1, theIndex2):
        return _DE.DE_ConfigurationVendorMap_Swap(self, theIndex1, theIndex2)

    def RemoveLast(self):
        return _DE.DE_ConfigurationVendorMap_RemoveLast(self)

    def RemoveFromIndex(self, theIndex):
        return _DE.DE_ConfigurationVendorMap_RemoveFromIndex(self, theIndex)

    def RemoveKey(self, theKey1):
        return _DE.DE_ConfigurationVendorMap_RemoveKey(self, theKey1)

    def FindKey(self, theIndex):
        return _DE.DE_ConfigurationVendorMap_FindKey(self, theIndex)

    def FindFromIndex(self, theIndex):
        return _DE.DE_ConfigurationVendorMap_FindFromIndex(self, theIndex)

    def ChangeFromIndex(self, theIndex):
        return _DE.DE_ConfigurationVendorMap_ChangeFromIndex(self, theIndex)

    def __call__(self, *args):
        return _DE.DE_ConfigurationVendorMap___call__(self, *args)

    def FindIndex(self, theKey1):
        return _DE.DE_ConfigurationVendorMap_FindIndex(self, theKey1)

    def ChangeFromKey(self, theKey1):
        return _DE.DE_ConfigurationVendorMap_ChangeFromKey(self, theKey1)

    def Seek(self, theKey1):
        return _DE.DE_ConfigurationVendorMap_Seek(self, theKey1)

    def ChangeSeek(self, theKey1):
        return _DE.DE_ConfigurationVendorMap_ChangeSeek(self, theKey1)

    def FindFromKey(self, *args):
        return _DE.DE_ConfigurationVendorMap_FindFromKey(self, *args)

    def Clear(self, *args):
        return _DE.DE_ConfigurationVendorMap_Clear(self, *args)
    __swig_destroy__ = _DE.delete_DE_ConfigurationVendorMap

    def Size(self):
        return _DE.DE_ConfigurationVendorMap_Size(self)

# Register DE_ConfigurationVendorMap in _DE:
_DE.DE_ConfigurationVendorMap_swigregister(DE_ConfigurationVendorMap)
class DE_ResourceMap(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _DE.DE_ResourceMap_begin(self)

    def end(self):
        return _DE.DE_ResourceMap_end(self)

    def cbegin(self):
        return _DE.DE_ResourceMap_cbegin(self)

    def cend(self):
        return _DE.DE_ResourceMap_cend(self)

    def __init__(self, *args):
        _DE.DE_ResourceMap_swiginit(self, _DE.new_DE_ResourceMap(*args))

    def Exchange(self, theOther):
        return _DE.DE_ResourceMap_Exchange(self, theOther)

    def Assign(self, theOther):
        return _DE.DE_ResourceMap_Assign(self, theOther)

    def Set(self, theOther):
        return _DE.DE_ResourceMap_Set(self, theOther)

    def ReSize(self, N):
        return _DE.DE_ResourceMap_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _DE.DE_ResourceMap_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _DE.DE_ResourceMap_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _DE.DE_ResourceMap_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _DE.DE_ResourceMap_UnBind(self, theKey)

    def Seek(self, theKey):
        return _DE.DE_ResourceMap_Seek(self, theKey)

    def Find(self, *args):
        return _DE.DE_ResourceMap_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _DE.DE_ResourceMap_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _DE.DE_ResourceMap_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _DE.DE_ResourceMap___call__(self, *args)

    def Clear(self, *args):
        return _DE.DE_ResourceMap_Clear(self, *args)
    __swig_destroy__ = _DE.delete_DE_ResourceMap

    def Size(self):
        return _DE.DE_ResourceMap_Size(self)

# Register DE_ResourceMap in _DE:
_DE.DE_ResourceMap_swigregister(DE_ResourceMap)
class DE_ConfigurationContext(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.

        """
        _DE.DE_ConfigurationContext_swiginit(self, _DE.new_DE_ConfigurationContext(*args))

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

        Parameters
        ----------
        theParam: str
        theDefValue: bool
        theScope: str (optional, default to )

        Return
        -------
        bool

        Description
        -----------
        Gets value of parameter as being of specific type @param[in] theparam complex parameter name @param[in] thedefvalue value by default if param is not found or has wrong type @param[in] thescope base parameter name return specific type value.

        """
        return _DE.DE_ConfigurationContext_BooleanVal(self, *args)

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

        Parameters
        ----------
        theParam: str
        theScope: str (optional, default to )

        Return
        -------
        theValue: bool

        Description
        -----------
        Gets value of parameter as being of specific type @param[in] theparam complex parameter name @param[out] thevalue value to get by parameter @param[in] thescope base parameter name return standard_false if parameter is not defined or has a wrong type.

        """
        return _DE.DE_ConfigurationContext_GetBoolean(self, *args)

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

        Parameters
        ----------
        theParam: str
        theScope: str (optional, default to )

        Return
        -------
        theValue: int

        Description
        -----------
        Gets value of parameter as being of specific type @param[in] theparam complex parameter name @param[out] thevalue value to get by parameter @param[in] thescope base parameter name return standard_false if parameter is not defined or has a wrong type.

        """
        return _DE.DE_ConfigurationContext_GetInteger(self, *args)

    def GetInternalMap(self, *args):
        r"""
        Return
        -------
        DE_ResourceMap

        Description
        -----------
        Gets internal resource map return map with resource value.

        """
        return _DE.DE_ConfigurationContext_GetInternalMap(self, *args)

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

        Parameters
        ----------
        theParam: str
        theScope: str (optional, default to )

        Return
        -------
        theValue: float

        Description
        -----------
        Gets value of parameter as being of specific type @param[in] theparam complex parameter name @param[out] thevalue value to get by parameter @param[in] thescope base parameter name return standard_false if parameter is not defined or has a wrong type.

        """
        return _DE.DE_ConfigurationContext_GetReal(self, *args)

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

        Parameters
        ----------
        theParam: str
        theValue: str
        theScope: str (optional, default to )

        Return
        -------
        bool

        Description
        -----------
        Gets value of parameter as being of specific type @param[in] theparam complex parameter name @param[out] thevalue value to get by parameter @param[in] thescope base parameter name return standard_false if parameter is not defined or has a wrong type.

        """
        return _DE.DE_ConfigurationContext_GetString(self, *args)

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

        Parameters
        ----------
        theParam: str
        theValue: TColStd_ListOfAsciiString
        theScope: str (optional, default to )

        Return
        -------
        bool

        Description
        -----------
        Gets value of parameter as being of specific type @param[in] theparam complex parameter name @param[out] thevalue value to get by parameter @param[in] thescope base parameter name return standard_false if parameter is not defined or has a wrong type.

        """
        return _DE.DE_ConfigurationContext_GetStringSeq(self, *args)

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

        Parameters
        ----------
        theParam: str
        theDefValue: int
        theScope: str (optional, default to )

        Return
        -------
        int

        Description
        -----------
        Gets value of parameter as being of specific type @param[in] theparam complex parameter name @param[in] thedefvalue value by default if param is not found or has wrong type @param[in] thescope base parameter name return specific type value.

        """
        return _DE.DE_ConfigurationContext_IntegerVal(self, *args)

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

        Parameters
        ----------
        theParam: str
        theScope: str (optional, default to )

        Return
        -------
        bool

        Description
        -----------
        Checks for existing the parameter name @param[in] theparam complex parameter name @param[in] thescope base parameter name return standard_true if parameter is defined in the resource file.

        """
        return _DE.DE_ConfigurationContext_IsParamSet(self, *args)

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

        Parameters
        ----------
        theConfiguration: str

        Return
        -------
        bool

        Description
        -----------
        Import the custom configuration save all parameters with their values. @param[in] theconfiguration path to configuration file or string value return true in case of success, false otherwise.

        """
        return _DE.DE_ConfigurationContext_Load(self, *args)

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

        Parameters
        ----------
        theFile: str

        Return
        -------
        bool

        Description
        -----------
        Import the resource file. save all parameters with their values. @param[in] thefile path to the resource file return true in case of success, false otherwise.

        """
        return _DE.DE_ConfigurationContext_LoadFile(self, *args)

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

        Parameters
        ----------
        theResource: str

        Return
        -------
        bool

        Description
        -----------
        Import the resource string. save all parameters with their values. @param[in] theresource string with resource content return true in case of success, false otherwise.

        """
        return _DE.DE_ConfigurationContext_LoadStr(self, *args)

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

        Parameters
        ----------
        theParam: str
        theDefValue: float
        theScope: str (optional, default to )

        Return
        -------
        float

        Description
        -----------
        Gets value of parameter as being of specific type @param[in] theparam complex parameter name @param[in] thedefvalue value by default if param is not found or has wrong type @param[in] thescope base parameter name return specific type value.

        """
        return _DE.DE_ConfigurationContext_RealVal(self, *args)

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

        Parameters
        ----------
        theParam: str
        theDefValue: str
        theScope: str (optional, default to )

        Return
        -------
        TCollection_AsciiString

        Description
        -----------
        Gets value of parameter as being of specific type @param[in] theparam complex parameter name @param[in] thedefvalue value by default if param is not found or has wrong type @param[in] thescope base parameter name return specific type value.

        """
        return _DE.DE_ConfigurationContext_StringVal(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _DE.delete_DE_ConfigurationContext

# Register DE_ConfigurationContext in _DE:
_DE.DE_ConfigurationContext_swigregister(DE_ConfigurationContext)
class DE_ConfigurationNode(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
    GlobalParameters = property(_DE.DE_ConfigurationNode_GlobalParameters_get, _DE.DE_ConfigurationNode_GlobalParameters_set)

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

        Description
        -----------
        Creates new provider for the own format return new created provider.

        """
        return _DE.DE_ConfigurationNode_BuildProvider(self, *args)

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

        Parameters
        ----------
        theBuffer: NCollection_Buffer

        Return
        -------
        bool

        Description
        -----------
        Checks the file content to verify a format @param[in] thebuffer read stream buffer to check content return standard_true if file is supported by a current provider.

        """
        return _DE.DE_ConfigurationNode_CheckContent(self, *args)

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

        Parameters
        ----------
        theExtension: str

        Return
        -------
        bool

        Description
        -----------
        Checks the file extension to verify a format @param[in] theextension input file extension return standard_true if file is supported by a current provider.

        """
        return _DE.DE_ConfigurationNode_CheckExtension(self, *args)

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

        Description
        -----------
        Copies values of all fields return new object with the same field values.

        """
        return _DE.DE_ConfigurationNode_Copy(self, *args)

    def GetExtensions(self, *args):
        r"""
        Return
        -------
        TColStd_ListOfAsciiString

        Description
        -----------
        Gets list of supported file extensions return list of extensions.

        """
        return _DE.DE_ConfigurationNode_GetExtensions(self, *args)

    def GetFormat(self, *args):
        r"""
        Return
        -------
        TCollection_AsciiString

        Description
        -----------
        Gets cad format name of associated provider return provider cad format.

        """
        return _DE.DE_ConfigurationNode_GetFormat(self, *args)

    def GetVendor(self, *args):
        r"""
        Return
        -------
        TCollection_AsciiString

        Description
        -----------
        Gets provider's vendor name of associated provider return provider's vendor name.

        """
        return _DE.DE_ConfigurationNode_GetVendor(self, *args)

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

        Description
        -----------
        Gets the provider loading status return standard_true if the load is correct.

        """
        return _DE.DE_ConfigurationNode_IsEnabled(self, *args)

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

        Description
        -----------
        Checks the export supporting return standard_true if export is support.

        """
        return _DE.DE_ConfigurationNode_IsExportSupported(self, *args)

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

        Description
        -----------
        Checks the import supporting return standard_true if import is support.

        """
        return _DE.DE_ConfigurationNode_IsImportSupported(self, *args)

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

        Parameters
        ----------
        theResourcePath: str (optional, default to )

        Return
        -------
        bool

        Description
        -----------
        Updates values according the resource file @param[in] theresourcepath file path to resource return true if load was successful.

        Parameters
        ----------
        theResource: DE_ConfigurationContext

        Return
        -------
        bool

        Description
        -----------
        Updates values according the resource @param[in] theresource input resource to use return true if load was successful.

        """
        return _DE.DE_ConfigurationNode_Load(self, *args)

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

        Parameters
        ----------
        theResourcePath: str

        Return
        -------
        bool

        Description
        -----------
        Writes configuration to the resource file @param[in] theresourcepath file path to resource return true if save was successful.
        Return
        -------
        TCollection_AsciiString

        Description
        -----------
        Writes configuration to the string return result resource string.

        """
        return _DE.DE_ConfigurationNode_Save(self, *args)

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

        Parameters
        ----------
        theIsLoaded: bool

        Return
        -------
        None

        Description
        -----------
        Sets the provider loading status @param[in] theisloaded input load status.

        """
        return _DE.DE_ConfigurationNode_SetEnabled(self, *args)

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

        Parameters
        ----------
        theToImport: bool
        theToKeep: bool

        Return
        -------
        bool

        Description
        -----------
        Update loading status. checking for the ability to read and write. @param[in] thetoimport flag to updates for import. standard_true-import, standard_false-export @param[in] thetokeep flag to save update result return standard_true, if node can be used.

        """
        return _DE.DE_ConfigurationNode_UpdateLoad(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _DE.delete_DE_ConfigurationNode

# Register DE_ConfigurationNode in _DE:
_DE.DE_ConfigurationNode_swigregister(DE_ConfigurationNode)
class DE_Provider(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 GetFormat(self, *args):
        r"""
        Return
        -------
        TCollection_AsciiString

        Description
        -----------
        Gets cad format name of associated provider return provider cad format.

        """
        return _DE.DE_Provider_GetFormat(self, *args)

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

        Description
        -----------
        Gets internal configuration node return configuration node object.

        """
        return _DE.DE_Provider_GetNode(self, *args)

    def GetVendor(self, *args):
        r"""
        Return
        -------
        TCollection_AsciiString

        Description
        -----------
        Gets provider's vendor name of associated provider return provider's vendor name.

        """
        return _DE.DE_Provider_GetVendor(self, *args)

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

        Parameters
        ----------
        thePath: str
        theDocument: TDocStd_Document
        theWS: XSControl_WorkSession
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Reads a cad file, according internal configuration @param[in] thepath path to the import cad file @param[out] thedocument document to save result @param[in] thews current work session @param theprogress[in] progress indicator return true if read was successful.

        Parameters
        ----------
        thePath: str
        theDocument: TDocStd_Document
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Reads a cad file, according internal configuration @param[in] thepath path to the import cad file @param[out] thedocument document to save result @param theprogress[in] progress indicator return true if read was successful.

        Parameters
        ----------
        thePath: str
        theShape: TopoDS_Shape
        theWS: XSControl_WorkSession
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Reads a cad file, according internal configuration @param[in] thepath path to the import cad file @param[out] theshape shape to save result @param[in] thews current work session @param theprogress[in] progress indicator return true if read was successful.

        Parameters
        ----------
        thePath: str
        theShape: TopoDS_Shape
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Reads a cad file, according internal configuration @param[in] thepath path to the import cad file @param[out] theshape shape to save result @param theprogress[in] progress indicator return true if read was successful.

        """
        return _DE.DE_Provider_Read(self, *args)

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

        Parameters
        ----------
        theNode: DE_ConfigurationNode

        Return
        -------
        None

        Description
        -----------
        Sets internal configuration node @param[in] thenode configuration node to set.

        """
        return _DE.DE_Provider_SetNode(self, *args)

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

        Parameters
        ----------
        thePath: str
        theDocument: TDocStd_Document
        theWS: XSControl_WorkSession
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Writes a cad file, according internal configuration @param[in] thepath path to the export cad file @param[out] thedocument document to export @param[in] thews current work session @param theprogress[in] progress indicator return true if write was successful.

        Parameters
        ----------
        thePath: str
        theDocument: TDocStd_Document
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Writes a cad file, according internal configuration @param[in] thepath path to the export cad file @param[out] thedocument document to export @param theprogress[in] progress indicator return true if write was successful.

        Parameters
        ----------
        thePath: str
        theShape: TopoDS_Shape
        theWS: XSControl_WorkSession
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Writes a cad file, according internal configuration @param[in] thepath path to the export cad file @param[out] theshape shape to export @param[in] thews current work session @param theprogress[in] progress indicator return true if write was successful.

        Parameters
        ----------
        thePath: str
        theShape: TopoDS_Shape
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Writes a cad file, according internal configuration @param[in] thepath path to the export cad file @param[out] theshape shape to export @param theprogress[in] progress indicator return true if write was successful.

        """
        return _DE.DE_Provider_Write(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _DE.delete_DE_Provider

# Register DE_Provider in _DE:
_DE.DE_Provider_swigregister(DE_Provider)
class DE_Wrapper(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
    GlobalParameters = property(_DE.DE_Wrapper_GlobalParameters_get, _DE.DE_Wrapper_GlobalParameters_set)

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

        Description
        -----------
        Initializes all field by default.

        Parameters
        ----------
        theWrapper: DE_Wrapper

        Return
        -------
        None

        Description
        -----------
        Copies values of all fields @param[in] thewrapper object to copy.

        """
        _DE.DE_Wrapper_swiginit(self, _DE.new_DE_Wrapper(*args))

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

        Parameters
        ----------
        theNode: DE_ConfigurationNode

        Return
        -------
        bool

        Description
        -----------
        Creates new node copy and adds to the map @param[in] thenode input node to copy return standard_true if binded.

        """
        return _DE.DE_Wrapper_Bind(self, *args)

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

        Parameters
        ----------
        theFormat: str
        theVendorPriority: TColStd_ListOfAsciiString
        theToDisable: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Changes provider priority to one format if it exists @param[in] theformat input node cad format @param[in] thevendorpriority priority of work with vendors @param[in] thetodisable flag for disabling nodes that are not included in the priority.

        Parameters
        ----------
        theVendorPriority: TColStd_ListOfAsciiString
        theToDisable: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Changes provider priority to all loaded nodes @param[in] thevendorpriority priority of work with vendors @param[in] thetodisable flag for disabling nodes that are not included in the priority.

        """
        return _DE.DE_Wrapper_ChangePriority(self, *args)

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

        Description
        -----------
        Copies values of all fields return new object with the same field values.

        """
        return _DE.DE_Wrapper_Copy(self, *args)

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

        Parameters
        ----------
        theFormat: str
        theVendor: str
        theNode: DE_ConfigurationNode

        Return
        -------
        bool

        Description
        -----------
        Finds a node associated with input format and vendor @param[in] theformat input node cad format @param[in] thevendor input node vendor name @param[out] thenode output node return standard_true if the node is found.

        """
        return _DE.DE_Wrapper_Find(self, *args)

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

        Parameters
        ----------
        thePath: str
        theToImport: bool
        theProvider: DE_Provider

        Return
        -------
        bool

        Description
        -----------
        Find available provider from the configuration. if there are several providers, choose the one with the highest priority. @param[in] thepath path to the cad file @param[in] thetoimport flag to finds for import. standard_true-import, standard_false-export @param[out] theprovider created new provider return standard_true if provider found and created.

        """
        return _DE.DE_Wrapper_FindProvider(self, *args)

    @staticmethod
    def GlobalWrapper(*args):
        r"""
        Return
        -------
        opencascade::handle<DE_Wrapper>

        Description
        -----------
        Gets global configuration singleton. if wrapper is not set, create it by default as base class object. return point to global configuration.

        """
        return _DE.DE_Wrapper_GlobalWrapper(*args)

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

        Description
        -----------
        Gets flag that keeps changes on configuration nodes which are being updated, false by default.

        """
        return _DE.DE_Wrapper_KeepUpdates(self, *args)

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

        Parameters
        ----------
        theResource: str (optional, default to )
        theIsRecursive: bool (optional, default to Standard_True)

        Return
        -------
        bool

        Description
        -----------
        Updates values according the resource file @param[in] theresource file path to resource or resource value @param[in] theisrecursive flag to update all nodes return true if theresource has loaded correctly.

        Parameters
        ----------
        theResource: DE_ConfigurationContext
        theIsRecursive: bool (optional, default to Standard_True)

        Return
        -------
        bool

        Description
        -----------
        Updates values according the resource @param[in] theresource input resource to use @param[in] theisrecursive flag to update all nodes return true if theresource has loaded correctly.

        """
        return _DE.DE_Wrapper_Load(self, *args)

    def Nodes(self, *args):
        r"""
        Return
        -------
        DE_ConfigurationFormatMap

        Description
        -----------
        Gets format map, contains vendor map with nodes return internal map of formats.

        """
        return _DE.DE_Wrapper_Nodes(self, *args)

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

        Parameters
        ----------
        thePath: str
        theDocument: TDocStd_Document
        theWS: XSControl_WorkSession
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Reads a cad file, according internal configuration @param[in] thepath path to the import cad file @param[out] thedocument document to save result @param[in] thews current work session @param theprogress[in] progress indicator return true if read operation has ended correctly.

        Parameters
        ----------
        thePath: str
        theDocument: TDocStd_Document
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Reads a cad file, according internal configuration @param[in] thepath path to the import cad file @param[out] thedocument document to save result @param theprogress[in] progress indicator return true if read operation has ended correctly.

        Parameters
        ----------
        thePath: str
        theShape: TopoDS_Shape
        theWS: XSControl_WorkSession
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Reads a cad file, according internal configuration @param[in] thepath path to the import cad file @param[out] theshape shape to save result @param[in] thews current work session @param theprogress[in] progress indicator return true if read operation has ended correctly.

        Parameters
        ----------
        thePath: str
        theShape: TopoDS_Shape
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Reads a cad file, according internal configuration @param[in] thepath path to the import cad file @param[out] theshape shape to save result @param theprogress[in] progress indicator return true if read operation has ended correctly.

        """
        return _DE.DE_Wrapper_Read(self, *args)

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

        Parameters
        ----------
        theResourcePath: str
        theIsRecursive: bool (optional, default to Standard_True)
        theFormats: TColStd_ListOfAsciiString (optional, default to TColStd_ListOfAsciiString())
        theVendors: TColStd_ListOfAsciiString (optional, default to TColStd_ListOfAsciiString())

        Return
        -------
        bool

        Description
        -----------
        Writes configuration to the resource file @param[in] theresourcepath file path to resource @param[in] theisrecursive flag to write values of all nodes @param[in] theformats list of formats to save. if empty, saves all available @param[in] thevendors list of providers to save. if empty, saves all available return true if the configuration has saved correctly.

        Parameters
        ----------
        theIsRecursive: bool (optional, default to Standard_True)
        theFormats: TColStd_ListOfAsciiString (optional, default to TColStd_ListOfAsciiString())
        theVendors: TColStd_ListOfAsciiString (optional, default to TColStd_ListOfAsciiString())

        Return
        -------
        TCollection_AsciiString

        Description
        -----------
        Writes configuration to the string @param[in] theisrecursive flag to write values of all nodes @param[in] theformats list of formats to save. if empty, saves all available @param[in] thevendors list of providers to save. if empty, saves all available return result resource string.

        """
        return _DE.DE_Wrapper_Save(self, *args)

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

        Parameters
        ----------
        theWrapper: DE_Wrapper

        Return
        -------
        None

        Description
        -----------
        Sets global configuration singleton @param[in] thewrapper object to set as global configuration.

        """
        return _DE.DE_Wrapper_SetGlobalWrapper(*args)

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

        Parameters
        ----------
        theToKeepUpdates: bool

        Return
        -------
        None

        Description
        -----------
        Sets flag that keeps changes on configuration nodes which are being updated, false by default.

        """
        return _DE.DE_Wrapper_SetKeepUpdates(self, *args)

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

        Parameters
        ----------
        theToForceUpdate: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Updates all registered nodes, all changes will be saved in nodes @param[in] thetoforceupdate flag that turns on/of nodes, according to updated ability to import/export.

        """
        return _DE.DE_Wrapper_UpdateLoad(self, *args)

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

        Parameters
        ----------
        thePath: str
        theDocument: TDocStd_Document
        theWS: XSControl_WorkSession
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Writes a cad file, according internal configuration @param[in] thepath path to the export cad file @param[out] thedocument document to export @param[in] thews current work session @param theprogress[in] progress indicator return true if write operation has ended correctly.

        Parameters
        ----------
        thePath: str
        theDocument: TDocStd_Document
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Writes a cad file, according internal configuration @param[in] thepath path to the export cad file @param[out] thedocument document to export @param theprogress[in] progress indicator return true if write operation has ended correctly.

        Parameters
        ----------
        thePath: str
        theShape: TopoDS_Shape
        theWS: XSControl_WorkSession
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Writes a cad file, according internal configuration @param[in] thepath path to the export cad file @param[out] theshape shape to export @param[in] thews current work session @param theprogress[in] progress indicator return true if write operation has ended correctly.

        Parameters
        ----------
        thePath: str
        theShape: TopoDS_Shape
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Writes a cad file, according internal configuration @param[in] thepath path to the export cad file @param[out] theshape shape to export @param theprogress[in] progress indicator return true if write operation has ended correctly.

        """
        return _DE.DE_Wrapper_Write(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _DE.delete_DE_Wrapper

# Register DE_Wrapper in _DE:
_DE.DE_Wrapper_swigregister(DE_Wrapper)



@deprecated
def DE_Wrapper_GlobalWrapper(*args):
	return DE_Wrapper.GlobalWrapper(*args)

@deprecated
def DE_Wrapper_SetGlobalWrapper(*args):
	return DE_Wrapper.SetGlobalWrapper(*args)



