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

"""
TDocStd module, see official documentation at
https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_tdocstd.html
"""

from sys import version_info as _swig_python_version_info
if _swig_python_version_info < (2, 7, 0):
    raise RuntimeError("Python 2.7 or later required")

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _TDocStd
else:
    import _TDocStd

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

_swig_new_instance_method = _TDocStd.SWIG_PyInstanceMethod_New
_swig_new_static_method = _TDocStd.SWIG_PyStaticMethod_New

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


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


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


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


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


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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _TDocStd.delete_SwigPyIterator
    value = _swig_new_instance_method(_TDocStd.SwigPyIterator_value)
    incr = _swig_new_instance_method(_TDocStd.SwigPyIterator_incr)
    decr = _swig_new_instance_method(_TDocStd.SwigPyIterator_decr)
    distance = _swig_new_instance_method(_TDocStd.SwigPyIterator_distance)
    equal = _swig_new_instance_method(_TDocStd.SwigPyIterator_equal)
    copy = _swig_new_instance_method(_TDocStd.SwigPyIterator_copy)
    next = _swig_new_instance_method(_TDocStd.SwigPyIterator_next)
    __next__ = _swig_new_instance_method(_TDocStd.SwigPyIterator___next__)
    previous = _swig_new_instance_method(_TDocStd.SwigPyIterator_previous)
    advance = _swig_new_instance_method(_TDocStd.SwigPyIterator_advance)
    __eq__ = _swig_new_instance_method(_TDocStd.SwigPyIterator___eq__)
    __ne__ = _swig_new_instance_method(_TDocStd.SwigPyIterator___ne__)
    __iadd__ = _swig_new_instance_method(_TDocStd.SwigPyIterator___iadd__)
    __isub__ = _swig_new_instance_method(_TDocStd.SwigPyIterator___isub__)
    __add__ = _swig_new_instance_method(_TDocStd.SwigPyIterator___add__)
    __sub__ = _swig_new_instance_method(_TDocStd.SwigPyIterator___sub__)
    def __iter__(self):
        return self

# Register SwigPyIterator in _TDocStd:
_TDocStd.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


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.TDF
import OCC.Core.TCollection
import OCC.Core.TColStd
import OCC.Core.CDF
import OCC.Core.CDM
import OCC.Core.Message
import OCC.Core.Resource
import OCC.Core.PCDM
import OCC.Core.Storage
Handle_TDocStd_Application_Create = _TDocStd.Handle_TDocStd_Application_Create
Handle_TDocStd_Application_DownCast = _TDocStd.Handle_TDocStd_Application_DownCast
Handle_TDocStd_Application_IsNull = _TDocStd.Handle_TDocStd_Application_IsNull
Handle_TDocStd_ApplicationDelta_Create = _TDocStd.Handle_TDocStd_ApplicationDelta_Create
Handle_TDocStd_ApplicationDelta_DownCast = _TDocStd.Handle_TDocStd_ApplicationDelta_DownCast
Handle_TDocStd_ApplicationDelta_IsNull = _TDocStd.Handle_TDocStd_ApplicationDelta_IsNull
Handle_TDocStd_CompoundDelta_Create = _TDocStd.Handle_TDocStd_CompoundDelta_Create
Handle_TDocStd_CompoundDelta_DownCast = _TDocStd.Handle_TDocStd_CompoundDelta_DownCast
Handle_TDocStd_CompoundDelta_IsNull = _TDocStd.Handle_TDocStd_CompoundDelta_IsNull
Handle_TDocStd_Document_Create = _TDocStd.Handle_TDocStd_Document_Create
Handle_TDocStd_Document_DownCast = _TDocStd.Handle_TDocStd_Document_DownCast
Handle_TDocStd_Document_IsNull = _TDocStd.Handle_TDocStd_Document_IsNull
Handle_TDocStd_Modified_Create = _TDocStd.Handle_TDocStd_Modified_Create
Handle_TDocStd_Modified_DownCast = _TDocStd.Handle_TDocStd_Modified_DownCast
Handle_TDocStd_Modified_IsNull = _TDocStd.Handle_TDocStd_Modified_IsNull
Handle_TDocStd_MultiTransactionManager_Create = _TDocStd.Handle_TDocStd_MultiTransactionManager_Create
Handle_TDocStd_MultiTransactionManager_DownCast = _TDocStd.Handle_TDocStd_MultiTransactionManager_DownCast
Handle_TDocStd_MultiTransactionManager_IsNull = _TDocStd.Handle_TDocStd_MultiTransactionManager_IsNull
Handle_TDocStd_Owner_Create = _TDocStd.Handle_TDocStd_Owner_Create
Handle_TDocStd_Owner_DownCast = _TDocStd.Handle_TDocStd_Owner_DownCast
Handle_TDocStd_Owner_IsNull = _TDocStd.Handle_TDocStd_Owner_IsNull
Handle_TDocStd_XLink_Create = _TDocStd.Handle_TDocStd_XLink_Create
Handle_TDocStd_XLink_DownCast = _TDocStd.Handle_TDocStd_XLink_DownCast
Handle_TDocStd_XLink_IsNull = _TDocStd.Handle_TDocStd_XLink_IsNull
Handle_TDocStd_XLinkRoot_Create = _TDocStd.Handle_TDocStd_XLinkRoot_Create
Handle_TDocStd_XLinkRoot_DownCast = _TDocStd.Handle_TDocStd_XLinkRoot_DownCast
Handle_TDocStd_XLinkRoot_IsNull = _TDocStd.Handle_TDocStd_XLinkRoot_IsNull
class TDocStd_LabelIDMapDataMap(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap_begin)
    end = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap_end)
    cbegin = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap_cbegin)
    cend = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap_cend)

    def __init__(self, *args):
        _TDocStd.TDocStd_LabelIDMapDataMap_swiginit(self, _TDocStd.new_TDocStd_LabelIDMapDataMap(*args))
    Exchange = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap_Exchange)
    Assign = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap_Assign)
    Set = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap_Set)
    ReSize = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap_ReSize)
    Bind = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap_Bind)
    Bound = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap_Bound)
    IsBound = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap_IsBound)
    UnBind = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap_UnBind)
    Seek = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap_Seek)
    Find = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap_Find)
    ChangeSeek = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap_ChangeSeek)
    ChangeFind = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap_ChangeFind)
    __call__ = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap___call__)
    Clear = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap_Clear)
    __swig_destroy__ = _TDocStd.delete_TDocStd_LabelIDMapDataMap
    Size = _swig_new_instance_method(_TDocStd.TDocStd_LabelIDMapDataMap_Size)

# Register TDocStd_LabelIDMapDataMap in _TDocStd:
_TDocStd.TDocStd_LabelIDMapDataMap_swigregister(TDocStd_LabelIDMapDataMap)

class TDocStd_SequenceOfApplicationDelta(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_begin)
    end = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_end)
    cbegin = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_cbegin)
    cend = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_cend)

    def __init__(self, *args):
        _TDocStd.TDocStd_SequenceOfApplicationDelta_swiginit(self, _TDocStd.new_TDocStd_SequenceOfApplicationDelta(*args))
    Size = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_Size)
    Length = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_Length)
    Lower = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_Lower)
    Upper = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_Upper)
    IsEmpty = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_IsEmpty)
    Reverse = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_Reverse)
    Exchange = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_Exchange)
    delNode = _swig_new_static_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_delNode)
    Clear = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_Clear)
    Assign = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_Assign)
    Set = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_Set)
    Remove = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_Remove)
    Append = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_Append)
    Prepend = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_Prepend)
    InsertBefore = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_InsertBefore)
    InsertAfter = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_InsertAfter)
    Split = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_Split)
    First = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_First)
    ChangeFirst = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_ChangeFirst)
    Last = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_Last)
    ChangeLast = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_ChangeLast)
    Value = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_Value)
    ChangeValue = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_ChangeValue)
    __call__ = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta___call__)
    SetValue = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfApplicationDelta_SetValue)
    __swig_destroy__ = _TDocStd.delete_TDocStd_SequenceOfApplicationDelta

# Register TDocStd_SequenceOfApplicationDelta in _TDocStd:
_TDocStd.TDocStd_SequenceOfApplicationDelta_swigregister(TDocStd_SequenceOfApplicationDelta)
TDocStd_SequenceOfApplicationDelta_delNode = _TDocStd.TDocStd_SequenceOfApplicationDelta_delNode

class TDocStd_SequenceOfDocument(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_begin)
    end = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_end)
    cbegin = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_cbegin)
    cend = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_cend)

    def __init__(self, *args):
        _TDocStd.TDocStd_SequenceOfDocument_swiginit(self, _TDocStd.new_TDocStd_SequenceOfDocument(*args))
    Size = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_Size)
    Length = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_Length)
    Lower = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_Lower)
    Upper = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_Upper)
    IsEmpty = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_IsEmpty)
    Reverse = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_Reverse)
    Exchange = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_Exchange)
    delNode = _swig_new_static_method(_TDocStd.TDocStd_SequenceOfDocument_delNode)
    Clear = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_Clear)
    Assign = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_Assign)
    Set = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_Set)
    Remove = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_Remove)
    Append = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_Append)
    Prepend = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_Prepend)
    InsertBefore = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_InsertBefore)
    InsertAfter = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_InsertAfter)
    Split = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_Split)
    First = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_First)
    ChangeFirst = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_ChangeFirst)
    Last = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_Last)
    ChangeLast = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_ChangeLast)
    Value = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_Value)
    ChangeValue = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_ChangeValue)
    __call__ = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument___call__)
    SetValue = _swig_new_instance_method(_TDocStd.TDocStd_SequenceOfDocument_SetValue)
    __swig_destroy__ = _TDocStd.delete_TDocStd_SequenceOfDocument

# Register TDocStd_SequenceOfDocument in _TDocStd:
_TDocStd.TDocStd_SequenceOfDocument_swigregister(TDocStd_SequenceOfDocument)
TDocStd_SequenceOfDocument_delNode = _TDocStd.TDocStd_SequenceOfDocument_delNode

class tdocstd(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    IDList = _swig_new_static_method(_TDocStd.tdocstd_IDList)

    __repr__ = _dumps_object


    def __init__(self):
        _TDocStd.tdocstd_swiginit(self, _TDocStd.new_tdocstd())
    __swig_destroy__ = _TDocStd.delete_tdocstd

# Register tdocstd in _TDocStd:
_TDocStd.tdocstd_swigregister(tdocstd)
tdocstd_IDList = _TDocStd.tdocstd_IDList

class TDocStd_Application(OCC.Core.CDF.CDF_Application):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Close = _swig_new_instance_method(_TDocStd.TDocStd_Application_Close)
    DefineFormat = _swig_new_instance_method(_TDocStd.TDocStd_Application_DefineFormat)
    GetDocument = _swig_new_instance_method(_TDocStd.TDocStd_Application_GetDocument)
    InitDocument = _swig_new_instance_method(_TDocStd.TDocStd_Application_InitDocument)
    IsDriverLoaded = _swig_new_instance_method(_TDocStd.TDocStd_Application_IsDriverLoaded)
    IsInSession = _swig_new_instance_method(_TDocStd.TDocStd_Application_IsInSession)
    NbDocuments = _swig_new_instance_method(_TDocStd.TDocStd_Application_NbDocuments)
    NewDocument = _swig_new_instance_method(_TDocStd.TDocStd_Application_NewDocument)
    OnAbortTransaction = _swig_new_instance_method(_TDocStd.TDocStd_Application_OnAbortTransaction)
    OnCommitTransaction = _swig_new_instance_method(_TDocStd.TDocStd_Application_OnCommitTransaction)
    OnOpenTransaction = _swig_new_instance_method(_TDocStd.TDocStd_Application_OnOpenTransaction)
    Open = _swig_new_instance_method(_TDocStd.TDocStd_Application_Open)
    ReadingFormats = _swig_new_instance_method(_TDocStd.TDocStd_Application_ReadingFormats)
    ResourcesName = _swig_new_instance_method(_TDocStd.TDocStd_Application_ResourcesName)
    Save = _swig_new_instance_method(_TDocStd.TDocStd_Application_Save)
    SaveAs = _swig_new_instance_method(_TDocStd.TDocStd_Application_SaveAs)

    def __init__(self, *args):
        r"""
        * Constructs the new instance and registers it in CDM_Session
        	:rtype: None
        """
        _TDocStd.TDocStd_Application_swiginit(self, _TDocStd.new_TDocStd_Application(*args))
    WritingFormats = _swig_new_instance_method(_TDocStd.TDocStd_Application_WritingFormats)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDocStd.delete_TDocStd_Application

# Register TDocStd_Application in _TDocStd:
_TDocStd.TDocStd_Application_swigregister(TDocStd_Application)

class TDocStd_ApplicationDelta(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
    DumpToString = _swig_new_instance_method(_TDocStd.TDocStd_ApplicationDelta_DumpToString)
    GetDocuments = _swig_new_instance_method(_TDocStd.TDocStd_ApplicationDelta_GetDocuments)
    GetName = _swig_new_instance_method(_TDocStd.TDocStd_ApplicationDelta_GetName)
    SetName = _swig_new_instance_method(_TDocStd.TDocStd_ApplicationDelta_SetName)

    def __init__(self, *args):
        r""":rtype: None"""
        _TDocStd.TDocStd_ApplicationDelta_swiginit(self, _TDocStd.new_TDocStd_ApplicationDelta(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDocStd.delete_TDocStd_ApplicationDelta

# Register TDocStd_ApplicationDelta in _TDocStd:
_TDocStd.TDocStd_ApplicationDelta_swigregister(TDocStd_ApplicationDelta)

class TDocStd_CompoundDelta(OCC.Core.TDF.TDF_Delta):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        * Creates a compound delta. Validates <self> at <aBeginTime>. If applied, it restores the TDF_Data in the state it was at <anEndTime>. Reserved to TDF_Data.
        	:rtype: None
        """
        _TDocStd.TDocStd_CompoundDelta_swiginit(self, _TDocStd.new_TDocStd_CompoundDelta(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDocStd.delete_TDocStd_CompoundDelta

# Register TDocStd_CompoundDelta in _TDocStd:
_TDocStd.TDocStd_CompoundDelta_swigregister(TDocStd_CompoundDelta)

class TDocStd_Context(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    ModifiedReferences = _swig_new_instance_method(_TDocStd.TDocStd_Context_ModifiedReferences)
    SetModifiedReferences = _swig_new_instance_method(_TDocStd.TDocStd_Context_SetModifiedReferences)

    def __init__(self, *args):
        r""":rtype: None"""
        _TDocStd.TDocStd_Context_swiginit(self, _TDocStd.new_TDocStd_Context(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _TDocStd.delete_TDocStd_Context

# Register TDocStd_Context in _TDocStd:
_TDocStd.TDocStd_Context_swigregister(TDocStd_Context)

class TDocStd_Document(OCC.Core.CDM.CDM_Document):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AbortCommand = _swig_new_instance_method(_TDocStd.TDocStd_Document_AbortCommand)
    BeforeClose = _swig_new_instance_method(_TDocStd.TDocStd_Document_BeforeClose)
    ChangeStorageFormat = _swig_new_instance_method(_TDocStd.TDocStd_Document_ChangeStorageFormat)
    ClearRedos = _swig_new_instance_method(_TDocStd.TDocStd_Document_ClearRedos)
    ClearUndos = _swig_new_instance_method(_TDocStd.TDocStd_Document_ClearUndos)
    CommitCommand = _swig_new_instance_method(_TDocStd.TDocStd_Document_CommitCommand)
    EmptyLabelsSavingMode = _swig_new_instance_method(_TDocStd.TDocStd_Document_EmptyLabelsSavingMode)
    Get = _swig_new_static_method(_TDocStd.TDocStd_Document_Get)
    GetAvailableRedos = _swig_new_instance_method(_TDocStd.TDocStd_Document_GetAvailableRedos)
    GetAvailableUndos = _swig_new_instance_method(_TDocStd.TDocStd_Document_GetAvailableUndos)
    GetData = _swig_new_instance_method(_TDocStd.TDocStd_Document_GetData)
    GetModified = _swig_new_instance_method(_TDocStd.TDocStd_Document_GetModified)
    GetName = _swig_new_instance_method(_TDocStd.TDocStd_Document_GetName)
    GetPath = _swig_new_instance_method(_TDocStd.TDocStd_Document_GetPath)
    GetRedos = _swig_new_instance_method(_TDocStd.TDocStd_Document_GetRedos)
    GetSavedTime = _swig_new_instance_method(_TDocStd.TDocStd_Document_GetSavedTime)
    GetUndoLimit = _swig_new_instance_method(_TDocStd.TDocStd_Document_GetUndoLimit)
    GetUndos = _swig_new_instance_method(_TDocStd.TDocStd_Document_GetUndos)
    HasOpenCommand = _swig_new_instance_method(_TDocStd.TDocStd_Document_HasOpenCommand)
    InitDeltaCompaction = _swig_new_instance_method(_TDocStd.TDocStd_Document_InitDeltaCompaction)
    IsChanged = _swig_new_instance_method(_TDocStd.TDocStd_Document_IsChanged)
    IsEmpty = _swig_new_instance_method(_TDocStd.TDocStd_Document_IsEmpty)
    IsNestedTransactionMode = _swig_new_instance_method(_TDocStd.TDocStd_Document_IsNestedTransactionMode)
    IsSaved = _swig_new_instance_method(_TDocStd.TDocStd_Document_IsSaved)
    IsValid = _swig_new_instance_method(_TDocStd.TDocStd_Document_IsValid)
    Main = _swig_new_instance_method(_TDocStd.TDocStd_Document_Main)
    ModificationMode = _swig_new_instance_method(_TDocStd.TDocStd_Document_ModificationMode)
    NewCommand = _swig_new_instance_method(_TDocStd.TDocStd_Document_NewCommand)
    OpenCommand = _swig_new_instance_method(_TDocStd.TDocStd_Document_OpenCommand)
    PerformDeltaCompaction = _swig_new_instance_method(_TDocStd.TDocStd_Document_PerformDeltaCompaction)
    PurgeModified = _swig_new_instance_method(_TDocStd.TDocStd_Document_PurgeModified)
    Recompute = _swig_new_instance_method(_TDocStd.TDocStd_Document_Recompute)
    Redo = _swig_new_instance_method(_TDocStd.TDocStd_Document_Redo)
    RemoveFirstUndo = _swig_new_instance_method(_TDocStd.TDocStd_Document_RemoveFirstUndo)
    SetData = _swig_new_instance_method(_TDocStd.TDocStd_Document_SetData)
    SetEmptyLabelsSavingMode = _swig_new_instance_method(_TDocStd.TDocStd_Document_SetEmptyLabelsSavingMode)
    SetModificationMode = _swig_new_instance_method(_TDocStd.TDocStd_Document_SetModificationMode)
    SetModified = _swig_new_instance_method(_TDocStd.TDocStd_Document_SetModified)
    SetNestedTransactionMode = _swig_new_instance_method(_TDocStd.TDocStd_Document_SetNestedTransactionMode)
    SetSaved = _swig_new_instance_method(_TDocStd.TDocStd_Document_SetSaved)
    SetSavedTime = _swig_new_instance_method(_TDocStd.TDocStd_Document_SetSavedTime)
    SetUndoLimit = _swig_new_instance_method(_TDocStd.TDocStd_Document_SetUndoLimit)

    def __init__(self, *args):
        r"""
        * Constructs a document object defined by the string astorageformat.
        	:param astorageformat:
        	:type astorageformat: TCollection_ExtendedString
        	:rtype: None
        """
        _TDocStd.TDocStd_Document_swiginit(self, _TDocStd.new_TDocStd_Document(*args))
    Undo = _swig_new_instance_method(_TDocStd.TDocStd_Document_Undo)
    UpdateReferences = _swig_new_instance_method(_TDocStd.TDocStd_Document_UpdateReferences)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDocStd.delete_TDocStd_Document

# Register TDocStd_Document in _TDocStd:
_TDocStd.TDocStd_Document_swigregister(TDocStd_Document)
TDocStd_Document_Get = _TDocStd.TDocStd_Document_Get

class TDocStd_Modified(OCC.Core.TDF.TDF_Attribute):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Add = _swig_new_static_method(_TDocStd.TDocStd_Modified_Add)
    AddLabel = _swig_new_instance_method(_TDocStd.TDocStd_Modified_AddLabel)
    Clear = _swig_new_instance_method(_TDocStd.TDocStd_Modified_Clear)
    Contains = _swig_new_static_method(_TDocStd.TDocStd_Modified_Contains)
    DumpToString = _swig_new_instance_method(_TDocStd.TDocStd_Modified_DumpToString)
    Get = _swig_new_instance_method(_TDocStd.TDocStd_Modified_Get)
    GetID = _swig_new_static_method(_TDocStd.TDocStd_Modified_GetID)
    IsEmpty = _swig_new_instance_method(_TDocStd.TDocStd_Modified_IsEmpty)
    Remove = _swig_new_static_method(_TDocStd.TDocStd_Modified_Remove)
    RemoveLabel = _swig_new_instance_method(_TDocStd.TDocStd_Modified_RemoveLabel)

    def __init__(self, *args):
        r""":rtype: None"""
        _TDocStd.TDocStd_Modified_swiginit(self, _TDocStd.new_TDocStd_Modified(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDocStd.delete_TDocStd_Modified

# Register TDocStd_Modified in _TDocStd:
_TDocStd.TDocStd_Modified_swigregister(TDocStd_Modified)
TDocStd_Modified_Add = _TDocStd.TDocStd_Modified_Add
TDocStd_Modified_Contains = _TDocStd.TDocStd_Modified_Contains
TDocStd_Modified_GetID = _TDocStd.TDocStd_Modified_GetID
TDocStd_Modified_Remove = _TDocStd.TDocStd_Modified_Remove

class TDocStd_MultiTransactionManager(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
    AbortCommand = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_AbortCommand)
    AddDocument = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_AddDocument)
    ClearRedos = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_ClearRedos)
    ClearUndos = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_ClearUndos)
    CommitCommand = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_CommitCommand)
    Documents = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_Documents)
    DumpTransactionToString = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_DumpTransactionToString)
    GetAvailableRedos = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_GetAvailableRedos)
    GetAvailableUndos = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_GetAvailableUndos)
    GetUndoLimit = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_GetUndoLimit)
    HasOpenCommand = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_HasOpenCommand)
    IsNestedTransactionMode = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_IsNestedTransactionMode)
    ModificationMode = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_ModificationMode)
    OpenCommand = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_OpenCommand)
    Redo = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_Redo)
    RemoveDocument = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_RemoveDocument)
    RemoveLastUndo = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_RemoveLastUndo)
    SetModificationMode = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_SetModificationMode)
    SetNestedTransactionMode = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_SetNestedTransactionMode)
    SetUndoLimit = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_SetUndoLimit)

    def __init__(self, *args):
        r"""
        * Constructor
        	:rtype: None
        """
        _TDocStd.TDocStd_MultiTransactionManager_swiginit(self, _TDocStd.new_TDocStd_MultiTransactionManager(*args))
    Undo = _swig_new_instance_method(_TDocStd.TDocStd_MultiTransactionManager_Undo)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDocStd.delete_TDocStd_MultiTransactionManager

# Register TDocStd_MultiTransactionManager in _TDocStd:
_TDocStd.TDocStd_MultiTransactionManager_swigregister(TDocStd_MultiTransactionManager)

class TDocStd_Owner(OCC.Core.TDF.TDF_Attribute):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    DumpToString = _swig_new_instance_method(_TDocStd.TDocStd_Owner_DumpToString)
    GetDocument = _swig_new_instance_method(_TDocStd.TDocStd_Owner_GetDocument)
    GetID = _swig_new_static_method(_TDocStd.TDocStd_Owner_GetID)
    SetDocument = _swig_new_instance_method(_TDocStd.TDocStd_Owner_SetDocument)

    def __init__(self, *args):
        r""":rtype: None"""
        _TDocStd.TDocStd_Owner_swiginit(self, _TDocStd.new_TDocStd_Owner(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDocStd.delete_TDocStd_Owner

# Register TDocStd_Owner in _TDocStd:
_TDocStd.TDocStd_Owner_swigregister(TDocStd_Owner)
TDocStd_Owner_GetID = _TDocStd.TDocStd_Owner_GetID

class TDocStd_PathParser(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Extension = _swig_new_instance_method(_TDocStd.TDocStd_PathParser_Extension)
    Length = _swig_new_instance_method(_TDocStd.TDocStd_PathParser_Length)
    Name = _swig_new_instance_method(_TDocStd.TDocStd_PathParser_Name)
    Parse = _swig_new_instance_method(_TDocStd.TDocStd_PathParser_Parse)
    Path = _swig_new_instance_method(_TDocStd.TDocStd_PathParser_Path)

    def __init__(self, *args):
        r"""
        :param path:
        	:type path: TCollection_ExtendedString
        	:rtype: None
        """
        _TDocStd.TDocStd_PathParser_swiginit(self, _TDocStd.new_TDocStd_PathParser(*args))
    Trek = _swig_new_instance_method(_TDocStd.TDocStd_PathParser_Trek)

    __repr__ = _dumps_object

    __swig_destroy__ = _TDocStd.delete_TDocStd_PathParser

# Register TDocStd_PathParser in _TDocStd:
_TDocStd.TDocStd_PathParser_swigregister(TDocStd_PathParser)

class TDocStd_XLink(OCC.Core.TDF.TDF_Attribute):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    DocumentEntry = _swig_new_instance_method(_TDocStd.TDocStd_XLink_DocumentEntry)
    DumpToString = _swig_new_instance_method(_TDocStd.TDocStd_XLink_DumpToString)
    GetID = _swig_new_static_method(_TDocStd.TDocStd_XLink_GetID)
    LabelEntry = _swig_new_instance_method(_TDocStd.TDocStd_XLink_LabelEntry)
    Set = _swig_new_static_method(_TDocStd.TDocStd_XLink_Set)

    def __init__(self, *args):
        r"""
        * Initializes fields.
        	:rtype: None
        """
        _TDocStd.TDocStd_XLink_swiginit(self, _TDocStd.new_TDocStd_XLink(*args))
    Update = _swig_new_instance_method(_TDocStd.TDocStd_XLink_Update)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDocStd.delete_TDocStd_XLink

# Register TDocStd_XLink in _TDocStd:
_TDocStd.TDocStd_XLink_swigregister(TDocStd_XLink)
TDocStd_XLink_GetID = _TDocStd.TDocStd_XLink_GetID
TDocStd_XLink_Set = _TDocStd.TDocStd_XLink_Set

class TDocStd_XLinkIterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Initialize = _swig_new_instance_method(_TDocStd.TDocStd_XLinkIterator_Initialize)
    More = _swig_new_instance_method(_TDocStd.TDocStd_XLinkIterator_More)
    Next = _swig_new_instance_method(_TDocStd.TDocStd_XLinkIterator_Next)

    def __init__(self, *args):
        r"""
        * Returns an empty iterator;
        	:rtype: None* Creates an iterator on Reference of <D>.
        	:param D:
        	:type D: TDocStd_Document
        	:rtype: None
        """
        _TDocStd.TDocStd_XLinkIterator_swiginit(self, _TDocStd.new_TDocStd_XLinkIterator(*args))
    Value = _swig_new_instance_method(_TDocStd.TDocStd_XLinkIterator_Value)

    __repr__ = _dumps_object

    __swig_destroy__ = _TDocStd.delete_TDocStd_XLinkIterator

# Register TDocStd_XLinkIterator in _TDocStd:
_TDocStd.TDocStd_XLinkIterator_swigregister(TDocStd_XLinkIterator)

class TDocStd_XLinkRoot(OCC.Core.TDF.TDF_Attribute):
    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
    DumpToString = _swig_new_instance_method(_TDocStd.TDocStd_XLinkRoot_DumpToString)
    GetID = _swig_new_static_method(_TDocStd.TDocStd_XLinkRoot_GetID)
    Insert = _swig_new_static_method(_TDocStd.TDocStd_XLinkRoot_Insert)
    Remove = _swig_new_static_method(_TDocStd.TDocStd_XLinkRoot_Remove)
    Set = _swig_new_static_method(_TDocStd.TDocStd_XLinkRoot_Set)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDocStd.delete_TDocStd_XLinkRoot

# Register TDocStd_XLinkRoot in _TDocStd:
_TDocStd.TDocStd_XLinkRoot_swigregister(TDocStd_XLinkRoot)
TDocStd_XLinkRoot_GetID = _TDocStd.TDocStd_XLinkRoot_GetID
TDocStd_XLinkRoot_Insert = _TDocStd.TDocStd_XLinkRoot_Insert
TDocStd_XLinkRoot_Remove = _TDocStd.TDocStd_XLinkRoot_Remove
TDocStd_XLinkRoot_Set = _TDocStd.TDocStd_XLinkRoot_Set

class TDocStd_XLinkTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Copy = _swig_new_instance_method(_TDocStd.TDocStd_XLinkTool_Copy)
    CopyWithLink = _swig_new_instance_method(_TDocStd.TDocStd_XLinkTool_CopyWithLink)
    DataSet = _swig_new_instance_method(_TDocStd.TDocStd_XLinkTool_DataSet)
    IsDone = _swig_new_instance_method(_TDocStd.TDocStd_XLinkTool_IsDone)
    RelocationTable = _swig_new_instance_method(_TDocStd.TDocStd_XLinkTool_RelocationTable)

    def __init__(self, *args):
        r""":rtype: None"""
        _TDocStd.TDocStd_XLinkTool_swiginit(self, _TDocStd.new_TDocStd_XLinkTool(*args))
    UpdateLink = _swig_new_instance_method(_TDocStd.TDocStd_XLinkTool_UpdateLink)

    __repr__ = _dumps_object

    __swig_destroy__ = _TDocStd.delete_TDocStd_XLinkTool

# Register TDocStd_XLinkTool in _TDocStd:
_TDocStd.TDocStd_XLinkTool_swigregister(TDocStd_XLinkTool)



