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

"""
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__

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    def __sub__(self, *args) -> "ptrdiff_t":
        return _TDocStd.SwigPyIterator___sub__(self, *args)
    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


def process_exception(error: "Standard_Failure", method_name: "std::string", class_name: "std::string") -> "void":
    return _TDocStd.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.TDF
import OCC.Core.TCollection
import OCC.Core.TColStd
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

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




def Handle_TDocStd_Application_Create() -> "opencascade::handle< TDocStd_Application >":
    return _TDocStd.Handle_TDocStd_Application_Create()

def Handle_TDocStd_Application_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TDocStd_Application >":
    return _TDocStd.Handle_TDocStd_Application_DownCast(t)

def Handle_TDocStd_Application_IsNull(t: "opencascade::handle< TDocStd_Application > const &") -> "bool":
    return _TDocStd.Handle_TDocStd_Application_IsNull(t)

def Handle_TDocStd_ApplicationDelta_Create() -> "opencascade::handle< TDocStd_ApplicationDelta >":
    return _TDocStd.Handle_TDocStd_ApplicationDelta_Create()

def Handle_TDocStd_ApplicationDelta_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TDocStd_ApplicationDelta >":
    return _TDocStd.Handle_TDocStd_ApplicationDelta_DownCast(t)

def Handle_TDocStd_ApplicationDelta_IsNull(t: "opencascade::handle< TDocStd_ApplicationDelta > const &") -> "bool":
    return _TDocStd.Handle_TDocStd_ApplicationDelta_IsNull(t)

def Handle_TDocStd_CompoundDelta_Create() -> "opencascade::handle< TDocStd_CompoundDelta >":
    return _TDocStd.Handle_TDocStd_CompoundDelta_Create()

def Handle_TDocStd_CompoundDelta_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TDocStd_CompoundDelta >":
    return _TDocStd.Handle_TDocStd_CompoundDelta_DownCast(t)

def Handle_TDocStd_CompoundDelta_IsNull(t: "opencascade::handle< TDocStd_CompoundDelta > const &") -> "bool":
    return _TDocStd.Handle_TDocStd_CompoundDelta_IsNull(t)

def Handle_TDocStd_Document_Create() -> "opencascade::handle< TDocStd_Document >":
    return _TDocStd.Handle_TDocStd_Document_Create()

def Handle_TDocStd_Document_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TDocStd_Document >":
    return _TDocStd.Handle_TDocStd_Document_DownCast(t)

def Handle_TDocStd_Document_IsNull(t: "opencascade::handle< TDocStd_Document > const &") -> "bool":
    return _TDocStd.Handle_TDocStd_Document_IsNull(t)

def Handle_TDocStd_Modified_Create() -> "opencascade::handle< TDocStd_Modified >":
    return _TDocStd.Handle_TDocStd_Modified_Create()

def Handle_TDocStd_Modified_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TDocStd_Modified >":
    return _TDocStd.Handle_TDocStd_Modified_DownCast(t)

def Handle_TDocStd_Modified_IsNull(t: "opencascade::handle< TDocStd_Modified > const &") -> "bool":
    return _TDocStd.Handle_TDocStd_Modified_IsNull(t)

def Handle_TDocStd_MultiTransactionManager_Create() -> "opencascade::handle< TDocStd_MultiTransactionManager >":
    return _TDocStd.Handle_TDocStd_MultiTransactionManager_Create()

def Handle_TDocStd_MultiTransactionManager_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TDocStd_MultiTransactionManager >":
    return _TDocStd.Handle_TDocStd_MultiTransactionManager_DownCast(t)

def Handle_TDocStd_MultiTransactionManager_IsNull(t: "opencascade::handle< TDocStd_MultiTransactionManager > const &") -> "bool":
    return _TDocStd.Handle_TDocStd_MultiTransactionManager_IsNull(t)

def Handle_TDocStd_Owner_Create() -> "opencascade::handle< TDocStd_Owner >":
    return _TDocStd.Handle_TDocStd_Owner_Create()

def Handle_TDocStd_Owner_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TDocStd_Owner >":
    return _TDocStd.Handle_TDocStd_Owner_DownCast(t)

def Handle_TDocStd_Owner_IsNull(t: "opencascade::handle< TDocStd_Owner > const &") -> "bool":
    return _TDocStd.Handle_TDocStd_Owner_IsNull(t)

def Handle_TDocStd_XLink_Create() -> "opencascade::handle< TDocStd_XLink >":
    return _TDocStd.Handle_TDocStd_XLink_Create()

def Handle_TDocStd_XLink_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TDocStd_XLink >":
    return _TDocStd.Handle_TDocStd_XLink_DownCast(t)

def Handle_TDocStd_XLink_IsNull(t: "opencascade::handle< TDocStd_XLink > const &") -> "bool":
    return _TDocStd.Handle_TDocStd_XLink_IsNull(t)

def Handle_TDocStd_XLinkRoot_Create() -> "opencascade::handle< TDocStd_XLinkRoot >":
    return _TDocStd.Handle_TDocStd_XLinkRoot_Create()

def Handle_TDocStd_XLinkRoot_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TDocStd_XLinkRoot >":
    return _TDocStd.Handle_TDocStd_XLinkRoot_DownCast(t)

def Handle_TDocStd_XLinkRoot_IsNull(t: "opencascade::handle< TDocStd_XLinkRoot > const &") -> "bool":
    return _TDocStd.Handle_TDocStd_XLinkRoot_IsNull(t)
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

    def begin(self) -> "NCollection_DataMap< TDF_Label,NCollection_Map< Standard_GUID,Standard_GUID >,TDF_LabelMapHasher >::iterator":
        return _TDocStd.TDocStd_LabelIDMapDataMap_begin(self)

    def end(self) -> "NCollection_DataMap< TDF_Label,NCollection_Map< Standard_GUID,Standard_GUID >,TDF_LabelMapHasher >::iterator":
        return _TDocStd.TDocStd_LabelIDMapDataMap_end(self)

    def cbegin(self) -> "NCollection_DataMap< TDF_Label,NCollection_Map< Standard_GUID,Standard_GUID >,TDF_LabelMapHasher >::const_iterator":
        return _TDocStd.TDocStd_LabelIDMapDataMap_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TDF_Label,NCollection_Map< Standard_GUID,Standard_GUID >,TDF_LabelMapHasher >::const_iterator":
        return _TDocStd.TDocStd_LabelIDMapDataMap_cend(self)

    def __init__(self, *args):
        _TDocStd.TDocStd_LabelIDMapDataMap_swiginit(self, _TDocStd.new_TDocStd_LabelIDMapDataMap(*args))

    def Exchange(self, theOther: "TDocStd_LabelIDMapDataMap") -> "void":
        return _TDocStd.TDocStd_LabelIDMapDataMap_Exchange(self, theOther)

    def Assign(self, theOther: "TDocStd_LabelIDMapDataMap") -> "NCollection_DataMap< TDF_Label,TDF_IDMap,TDF_LabelMapHasher > &":
        return _TDocStd.TDocStd_LabelIDMapDataMap_Assign(self, theOther)

    def Set(self, theOther: "TDocStd_LabelIDMapDataMap") -> "NCollection_DataMap< TDF_Label,TDF_IDMap,TDF_LabelMapHasher > &":
        return _TDocStd.TDocStd_LabelIDMapDataMap_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _TDocStd.TDocStd_LabelIDMapDataMap_ReSize(self, N)

    def Bind(self, theKey: "TDF_Label", theItem: "TDF_IDMap") -> "Standard_Boolean":
        return _TDocStd.TDocStd_LabelIDMapDataMap_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TDF_Label", theItem: "TDF_IDMap") -> "NCollection_Map< Standard_GUID,Standard_GUID > *":
        return _TDocStd.TDocStd_LabelIDMapDataMap_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TDF_Label") -> "Standard_Boolean":
        return _TDocStd.TDocStd_LabelIDMapDataMap_IsBound(self, theKey)

    def UnBind(self, theKey: "TDF_Label") -> "Standard_Boolean":
        return _TDocStd.TDocStd_LabelIDMapDataMap_UnBind(self, theKey)

    def Seek(self, theKey: "TDF_Label") -> "NCollection_Map< Standard_GUID,Standard_GUID > const *":
        return _TDocStd.TDocStd_LabelIDMapDataMap_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _TDocStd.TDocStd_LabelIDMapDataMap_Find(self, *args)

    def ChangeSeek(self, theKey: "TDF_Label") -> "NCollection_Map< Standard_GUID,Standard_GUID > *":
        return _TDocStd.TDocStd_LabelIDMapDataMap_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TDF_Label") -> "NCollection_Map< Standard_GUID,Standard_GUID > &":
        return _TDocStd.TDocStd_LabelIDMapDataMap_ChangeFind(self, theKey)

    def __call__(self, *args) -> "NCollection_Map< Standard_GUID,Standard_GUID > &":
        return _TDocStd.TDocStd_LabelIDMapDataMap___call__(self, *args)

    def Clear(self, *args) -> "void":
        return _TDocStd.TDocStd_LabelIDMapDataMap_Clear(self, *args)
    __swig_destroy__ = _TDocStd.delete_TDocStd_LabelIDMapDataMap

    def Size(self) -> "Standard_Integer":
        return _TDocStd.TDocStd_LabelIDMapDataMap_Size(self)

# 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

    def begin(self) -> "NCollection_Sequence< opencascade::handle< TDocStd_ApplicationDelta > >::iterator":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_begin(self)

    def end(self) -> "NCollection_Sequence< opencascade::handle< TDocStd_ApplicationDelta > >::iterator":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_end(self)

    def cbegin(self) -> "NCollection_Sequence< opencascade::handle< TDocStd_ApplicationDelta > >::const_iterator":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_cbegin(self)

    def cend(self) -> "NCollection_Sequence< opencascade::handle< TDocStd_ApplicationDelta > >::const_iterator":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_cend(self)

    def __init__(self, *args):
        _TDocStd.TDocStd_SequenceOfApplicationDelta_swiginit(self, _TDocStd.new_TDocStd_SequenceOfApplicationDelta(*args))

    def Size(self) -> "Standard_Integer":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_Size(self)

    def Length(self) -> "Standard_Integer":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_IsEmpty(self)

    def Reverse(self) -> "void":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_Reverse(self)

    def Exchange(self, I: "Standard_Integer const", J: "Standard_Integer const") -> "void":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode: "NCollection_SeqNode *", theAl: "TDF_HAllocator") -> "void":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_delNode(theNode, theAl)

    def Clear(self, theAllocator: "TDF_HAllocator"=0) -> "void":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_Clear(self, theAllocator)

    def Assign(self, theOther: "TDocStd_SequenceOfApplicationDelta") -> "NCollection_Sequence< opencascade::handle< TDocStd_ApplicationDelta > > &":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_Assign(self, theOther)

    def Set(self, theOther: "TDocStd_SequenceOfApplicationDelta") -> "NCollection_Sequence< opencascade::handle< TDocStd_ApplicationDelta > > &":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "TDocStd_SequenceOfApplicationDelta") -> "void":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_Split(self, theIndex, theSeq)

    def First(self) -> "opencascade::handle< TDocStd_ApplicationDelta > const &":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_First(self)

    def ChangeFirst(self) -> "opencascade::handle< TDocStd_ApplicationDelta > &":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_ChangeFirst(self)

    def Last(self) -> "opencascade::handle< TDocStd_ApplicationDelta > const &":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_Last(self)

    def ChangeLast(self) -> "opencascade::handle< TDocStd_ApplicationDelta > &":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "opencascade::handle< TDocStd_ApplicationDelta > const &":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "opencascade::handle< TDocStd_ApplicationDelta > &":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "opencascade::handle< TDocStd_ApplicationDelta > &":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "opencascade::handle< TDocStd_ApplicationDelta > const &") -> "void":
        return _TDocStd.TDocStd_SequenceOfApplicationDelta_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _TDocStd.delete_TDocStd_SequenceOfApplicationDelta

    def __len__(self):
        return self.Size()


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

def TDocStd_SequenceOfApplicationDelta_delNode(theNode: "NCollection_SeqNode *", theAl: "TDF_HAllocator") -> "void":
    return _TDocStd.TDocStd_SequenceOfApplicationDelta_delNode(theNode, theAl)

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

    def begin(self) -> "NCollection_Sequence< opencascade::handle< TDocStd_Document > >::iterator":
        return _TDocStd.TDocStd_SequenceOfDocument_begin(self)

    def end(self) -> "NCollection_Sequence< opencascade::handle< TDocStd_Document > >::iterator":
        return _TDocStd.TDocStd_SequenceOfDocument_end(self)

    def cbegin(self) -> "NCollection_Sequence< opencascade::handle< TDocStd_Document > >::const_iterator":
        return _TDocStd.TDocStd_SequenceOfDocument_cbegin(self)

    def cend(self) -> "NCollection_Sequence< opencascade::handle< TDocStd_Document > >::const_iterator":
        return _TDocStd.TDocStd_SequenceOfDocument_cend(self)

    def __init__(self, *args):
        _TDocStd.TDocStd_SequenceOfDocument_swiginit(self, _TDocStd.new_TDocStd_SequenceOfDocument(*args))

    def Size(self) -> "Standard_Integer":
        return _TDocStd.TDocStd_SequenceOfDocument_Size(self)

    def Length(self) -> "Standard_Integer":
        return _TDocStd.TDocStd_SequenceOfDocument_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _TDocStd.TDocStd_SequenceOfDocument_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _TDocStd.TDocStd_SequenceOfDocument_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _TDocStd.TDocStd_SequenceOfDocument_IsEmpty(self)

    def Reverse(self) -> "void":
        return _TDocStd.TDocStd_SequenceOfDocument_Reverse(self)

    def Exchange(self, I: "Standard_Integer const", J: "Standard_Integer const") -> "void":
        return _TDocStd.TDocStd_SequenceOfDocument_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode: "NCollection_SeqNode *", theAl: "TDF_HAllocator") -> "void":
        return _TDocStd.TDocStd_SequenceOfDocument_delNode(theNode, theAl)

    def Clear(self, theAllocator: "TDF_HAllocator"=0) -> "void":
        return _TDocStd.TDocStd_SequenceOfDocument_Clear(self, theAllocator)

    def Assign(self, theOther: "TDocStd_SequenceOfDocument") -> "NCollection_Sequence< opencascade::handle< TDocStd_Document > > &":
        return _TDocStd.TDocStd_SequenceOfDocument_Assign(self, theOther)

    def Set(self, theOther: "TDocStd_SequenceOfDocument") -> "NCollection_Sequence< opencascade::handle< TDocStd_Document > > &":
        return _TDocStd.TDocStd_SequenceOfDocument_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _TDocStd.TDocStd_SequenceOfDocument_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _TDocStd.TDocStd_SequenceOfDocument_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _TDocStd.TDocStd_SequenceOfDocument_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _TDocStd.TDocStd_SequenceOfDocument_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _TDocStd.TDocStd_SequenceOfDocument_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "TDocStd_SequenceOfDocument") -> "void":
        return _TDocStd.TDocStd_SequenceOfDocument_Split(self, theIndex, theSeq)

    def First(self) -> "opencascade::handle< TDocStd_Document > const &":
        return _TDocStd.TDocStd_SequenceOfDocument_First(self)

    def ChangeFirst(self) -> "opencascade::handle< TDocStd_Document > &":
        return _TDocStd.TDocStd_SequenceOfDocument_ChangeFirst(self)

    def Last(self) -> "opencascade::handle< TDocStd_Document > const &":
        return _TDocStd.TDocStd_SequenceOfDocument_Last(self)

    def ChangeLast(self) -> "opencascade::handle< TDocStd_Document > &":
        return _TDocStd.TDocStd_SequenceOfDocument_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "opencascade::handle< TDocStd_Document > const &":
        return _TDocStd.TDocStd_SequenceOfDocument_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "opencascade::handle< TDocStd_Document > &":
        return _TDocStd.TDocStd_SequenceOfDocument_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "opencascade::handle< TDocStd_Document > &":
        return _TDocStd.TDocStd_SequenceOfDocument___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "opencascade::handle< TDocStd_Document > const &") -> "void":
        return _TDocStd.TDocStd_SequenceOfDocument_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _TDocStd.delete_TDocStd_SequenceOfDocument

    def __len__(self):
        return self.Size()


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

def TDocStd_SequenceOfDocument_delNode(theNode: "NCollection_SeqNode *", theAl: "TDF_HAllocator") -> "void":
    return _TDocStd.TDocStd_SequenceOfDocument_delNode(theNode, theAl)

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

    @staticmethod
    def IDList(*args) -> "void":
        r"""
        Specific guid of this package ============================= appends to <anidlist> the list of the attributes ids of this package. caution: <anidlist> is not cleared before use.

        Parameters
        ----------
        anIDList: TDF_IDList

        Returns
        -------
        None

        """
        return _TDocStd.tdocstd_IDList(*args)

    __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)

def tdocstd_IDList(*args) -> "void":
    r"""
    Specific guid of this package ============================= appends to <anidlist> the list of the attributes ids of this package. caution: <anidlist> is not cleared before use.

    Parameters
    ----------
    anIDList: TDF_IDList

    Returns
    -------
    None

    """
    return _TDocStd.tdocstd_IDList(*args)

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

    def __init__(self, *args):
        r"""
        Constructs the new instance and registers it in cdm_session.

        Returns
        -------
        None

        """
        _TDocStd.TDocStd_Application_swiginit(self, _TDocStd.new_TDocStd_Application(*args))

    def Close(self, *args) -> "void":
        r"""
        Close the given document. the document is not any more handled by the applicative session.

        Parameters
        ----------
        aDoc: TDocStd_Document

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Application_Close(self, *args)

    def DefineFormat(self, *args) -> "void":
        r"""
        Sets up resources and registers read and storage drivers for the specified format. @param theformat - unique name for the format, used to identify it. @param thedescription - textual description of the format. @param theextension - extension of the files in that format. the same extension can be used by several formats. @param thereader - instance of the read driver for the format.  null value is allowed (no possibility to read). @param thewriter - instance of the write driver for the format.  null value is allowed (no possibility to write).

        Parameters
        ----------
        theFormat: TCollection_AsciiString
        theDescription: TCollection_AsciiString
        theExtension: TCollection_AsciiString
        theReader: PCDM_RetrievalDriver
        theWriter: PCDM_StorageDriver

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Application_DefineFormat(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(TDocStd_Application self, int depth=-1) -> std::string"""
        return _TDocStd.TDocStd_Application_DumpJsonToString(self, depth)

    def GetDocument(self, *args) -> "void":
        r"""
        Constructs the new document adoc. adoc is identified by the index index which is any integer between 1 and n where n is the number of documents returned by nbdocument. example opencascade::handle<tdocstd_application> anapp; if (!caftest::find(a)) return 1; opencascade::handle<tdocstd> adoc; standard_integer nbdoc = anapp->nbdocuments(); for (standard_integer i = 1; i <= nbdoc; i++) { aapp->getdocument(i,adoc);.

        Parameters
        ----------
        index: int
        aDoc: TDocStd_Document

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Application_GetDocument(self, *args)

    def InitDocument(self, *args) -> "void":
        r"""
        Initialize the document adoc for the applicative session. this virtual function is called by newdocument and is to be redefined for each specific application. modified flag (different of disk version) ============= to open/save a document =======================.

        Parameters
        ----------
        aDoc: TDocStd_Document

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Application_InitDocument(self, *args)

    def IsDriverLoaded(self, *args) -> "Standard_Boolean":
        r"""
        Check if meta data driver was successfully loaded by the application constructor.

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Application_IsDriverLoaded(self, *args)

    def IsInSession(self, *args) -> "Standard_Integer":
        r"""
        Returns an index for the document found in the path path in this applicative session. if the returned value is 0, the document is not present in the applicative session. this method can be used for the interactive part of an application. for instance, on a call to open, the document to be opened may already be in memory. isinsession checks to see if this is the case. open can be made to depend on the value of the index returned: if isinsession returns 0, the document is opened; if it returns another value, a message is displayed asking the user if he wants to override the version of the document in memory. example: standard_integer insession = a->isinsession(adoc); if (insession > 0) { std::cout << 'document ' << insession << ' is already in session' << std::endl; return 0; }.

        Parameters
        ----------
        path: TCollection_ExtendedString

        Returns
        -------
        int

        """
        return _TDocStd.TDocStd_Application_IsInSession(self, *args)

    def NbDocuments(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of documents handled by the current applicative session.

        Returns
        -------
        int

        """
        return _TDocStd.TDocStd_Application_NbDocuments(self, *args)

    def NewDocument(self, *args) -> "void":
        r"""
        Constructs the empty new document adoc. this document will have the format format. if initdocument is redefined for a specific application, the new document is handled by the applicative session.

        Parameters
        ----------
        format: TCollection_ExtendedString
        aDoc: TDocStd_Document

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Application_NewDocument(self, *args)

    def OnAbortTransaction(self, *args) -> "void":
        r"""
        Notification that is fired at each aborttransaction event.

        Parameters
        ----------
        theDoc: TDocStd_Document

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Application_OnAbortTransaction(self, *args)

    def OnCommitTransaction(self, *args) -> "void":
        r"""
        Notification that is fired at each committransaction event.

        Parameters
        ----------
        theDoc: TDocStd_Document

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Application_OnCommitTransaction(self, *args)

    def OnOpenTransaction(self, *args) -> "void":
        r"""
        Notification that is fired at each opentransaction event.

        Parameters
        ----------
        theDoc: TDocStd_Document

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Application_OnOpenTransaction(self, *args)

    def Open(self, *args) -> "PCDM_ReaderStatus":
        r"""
        Retrieves the document adoc stored under the name aname in the directory directory. in order not to override a version of adoc which is already in memory, this method can be made to depend on the value returned by isinsession.

        Parameters
        ----------
        path: TCollection_ExtendedString
        aDoc: TDocStd_Document
        theRange: Message_ProgressRange,optional
        	default value is Message_ProgressRange()

        Returns
        -------
        PCDM_ReaderStatus

        """
        return _TDocStd.TDocStd_Application_Open(self, *args)

    def ReadingFormats(self, *args) -> "void":
        r"""
        Returns the sequence of reading formats supported by the application. //! @param theformats - sequence of reading formats. output parameter.

        Parameters
        ----------
        theFormats: TColStd_SequenceOfAsciiString

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Application_ReadingFormats(self, *args)

    def ResourcesName(self, *args) -> "char const *":
        r"""
        Returns the name of the file containing the resources of this application, for support of legacy method of loading formats data from resource files. //! method defineformat() can be used to define all necessary parameters explicitly without actually using resource files. //! in a resource file, the application associates the schema name of the document with the storage and retrieval plug-ins that are to be loaded for each document. on retrieval, the application reads the schema name in the heading of the csf file and loads the plug-in indicated in the resource file. this plug-in instantiates the actual driver for transient-persistent conversion. your application can bring this process into play by defining a class which inherits cdf_application and redefines the function which returns the appropriate resources file. at this point, the function retrieve and the class cdf_store can be called. this allows you to deal with storage and retrieval of - as well as copying and pasting - documents. to implement a class like this, several virtual functions should be redefined. in particular, you must redefine the abstract function resources inherited from the superclass cdm_application. //! default implementation returns empty string.

        Returns
        -------
        char *

        """
        return _TDocStd.TDocStd_Application_ResourcesName(self, *args)

    def Save(self, *args) -> "PCDM_StoreStatus":
        r"""
        Save adoc active document. exceptions: standard_notimplemented if the document was not retrieved in the applicative session by using open.

        Parameters
        ----------
        aDoc: TDocStd_Document
        theRange: Message_ProgressRange,optional
        	default value is Message_ProgressRange()

        Returns
        -------
        PCDM_StoreStatus
        Save the document overwriting the previous file.

        Parameters
        ----------
        aDoc: TDocStd_Document
        theStatusMessage: TCollection_ExtendedString
        theRange: Message_ProgressRange,optional
        	default value is Message_ProgressRange()

        Returns
        -------
        PCDM_StoreStatus

        """
        return _TDocStd.TDocStd_Application_Save(self, *args)

    def SaveAs(self, *args) -> "PCDM_StoreStatus":
        r"""
        Save the active document in the file <name> in the path <path> ; o verwrites the file if it already exists.

        Parameters
        ----------
        aDoc: TDocStd_Document
        path: TCollection_ExtendedString
        theRange: Message_ProgressRange,optional
        	default value is Message_ProgressRange()

        Returns
        -------
        PCDM_StoreStatus
        Save the active document in the file <name> in the path <path> . overwrite the file if it already exist.

        Parameters
        ----------
        aDoc: TDocStd_Document
        path: TCollection_ExtendedString
        theStatusMessage: TCollection_ExtendedString
        theRange: Message_ProgressRange,optional
        	default value is Message_ProgressRange()

        Returns
        -------
        PCDM_StoreStatus

        """
        return _TDocStd.TDocStd_Application_SaveAs(self, *args)

    def WritingFormats(self, *args) -> "void":
        r"""
        Returns the sequence of writing formats supported by the application. //! @param theformats - sequence of writing formats. output parameter.

        Parameters
        ----------
        theFormats: TColStd_SequenceOfAsciiString

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Application_WritingFormats(self, *args)


    @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

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

        Returns
        -------
        None

        """
        _TDocStd.TDocStd_ApplicationDelta_swiginit(self, _TDocStd.new_TDocStd_ApplicationDelta(*args))

    def DumpToString(self) -> "std::string":
        r"""DumpToString(TDocStd_ApplicationDelta self) -> std::string"""
        return _TDocStd.TDocStd_ApplicationDelta_DumpToString(self)

    def GetDocuments(self, *args) -> "TDocStd_SequenceOfDocument &":
        r"""
        No available documentation.

        Returns
        -------
        TDocStd_SequenceOfDocument

        """
        return _TDocStd.TDocStd_ApplicationDelta_GetDocuments(self, *args)

    def GetName(self, *args) -> "TCollection_ExtendedString const &":
        r"""
        No available documentation.

        Returns
        -------
        TCollection_ExtendedString

        """
        return _TDocStd.TDocStd_ApplicationDelta_GetName(self, *args)

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

        Parameters
        ----------
        theName: TCollection_ExtendedString

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_ApplicationDelta_SetName(self, *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.

        Returns
        -------
        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

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

        Returns
        -------
        None

        """
        _TDocStd.TDocStd_Context_swiginit(self, _TDocStd.new_TDocStd_Context(*args))

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

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Context_ModifiedReferences(self, *args)

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

        Parameters
        ----------
        Mod: bool

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Context_SetModifiedReferences(self, *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

    def __init__(self, *args):
        r"""
        Constructs a document object defined by the string astorageformat. if a document is created outside of an application using this constructor, it must be managed by a handle. otherwise memory problems could appear: call of tdocstd_owner::getdocument creates a opencascade::handle<tdocstd_document>, so, releasing it will produce a crash.

        Parameters
        ----------
        astorageformat: TCollection_ExtendedString

        Returns
        -------
        None

        """
        _TDocStd.TDocStd_Document_swiginit(self, _TDocStd.new_TDocStd_Document(*args))

    def AbortCommand(self, *args) -> "void":
        r"""
        Abort the command transaction. does nothing if there is no command transaction open.

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_AbortCommand(self, *args)

    def BeforeClose(self, *args) -> "void":
        r"""
        Prepares document for closing.

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_BeforeClose(self, *args)

    def ChangeStorageFormat(self, *args) -> "void":
        r"""
        Methods for the nested transaction mode.

        Parameters
        ----------
        newStorageFormat: TCollection_ExtendedString

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_ChangeStorageFormat(self, *args)

    def ClearRedos(self, *args) -> "void":
        r"""
        Remove all stored redos.

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_ClearRedos(self, *args)

    def ClearUndos(self, *args) -> "void":
        r"""
        Remove all stored undos and redos.

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_ClearUndos(self, *args)

    def CommitCommand(self, *args) -> "Standard_Boolean":
        r"""
        Commits documents transactions and fills the transaction manager with documents that have been changed during the transaction. if no command transaction is open, nothing is done. returns true if a new delta has been added to myundos.

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Document_CommitCommand(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(TDocStd_Document self, int depth=-1) -> std::string"""
        return _TDocStd.TDocStd_Document_DumpJsonToString(self, depth)

    def EmptyLabelsSavingMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns saving mode for empty labels.

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Document_EmptyLabelsSavingMode(self, *args)

    @staticmethod
    def Get(*args) -> "opencascade::handle< TDocStd_Document >":
        r"""
        Will abort any execution, clear fields returns the document which contains <l>. raises an exception if the document is not found.

        Parameters
        ----------
        L: TDF_Label

        Returns
        -------
        opencascade::handle<TDocStd_Document>

        """
        return _TDocStd.TDocStd_Document_Get(*args)

    def GetAvailableRedos(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of redos stored in this document. if this figure is greater than 0, the method redo can be used.

        Returns
        -------
        int

        """
        return _TDocStd.TDocStd_Document_GetAvailableRedos(self, *args)

    def GetAvailableUndos(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of undos stored in this document. if this figure is greater than 0, the method undo can be used.

        Returns
        -------
        int

        """
        return _TDocStd.TDocStd_Document_GetAvailableUndos(self, *args)

    def GetData(self, *args) -> "opencascade::handle< TDF_Data >":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<TDF_Data>

        """
        return _TDocStd.TDocStd_Document_GetData(self, *args)

    def GetModified(self, *args) -> "TDF_LabelMap const &":
        r"""
        Returns the labels which have been modified in this document.

        Returns
        -------
        TDF_LabelMap

        """
        return _TDocStd.TDocStd_Document_GetModified(self, *args)

    def GetName(self, *args) -> "TCollection_ExtendedString":
        r"""
        Raise if <self> is not saved.

        Returns
        -------
        TCollection_ExtendedString

        """
        return _TDocStd.TDocStd_Document_GetName(self, *args)

    def GetPath(self, *args) -> "TCollection_ExtendedString":
        r"""
        Returns the os path of the file, in wich one <self> is saved. raise an exception if <self> is not saved.

        Returns
        -------
        TCollection_ExtendedString

        """
        return _TDocStd.TDocStd_Document_GetPath(self, *args)

    def GetRedos(self, *args) -> "TDF_DeltaList const &":
        r"""
        No available documentation.

        Returns
        -------
        TDF_DeltaList

        """
        return _TDocStd.TDocStd_Document_GetRedos(self, *args)

    def GetSavedTime(self, *args) -> "Standard_Integer":
        r"""
        Returns value of <mysavedtime> to be used later in setsavedtime().

        Returns
        -------
        int

        """
        return _TDocStd.TDocStd_Document_GetSavedTime(self, *args)

    def GetUndoLimit(self, *args) -> "Standard_Integer":
        r"""
        The current limit on the number of undos.

        Returns
        -------
        int

        """
        return _TDocStd.TDocStd_Document_GetUndoLimit(self, *args)

    def GetUndos(self, *args) -> "TDF_DeltaList const &":
        r"""
        No available documentation.

        Returns
        -------
        TDF_DeltaList

        """
        return _TDocStd.TDocStd_Document_GetUndos(self, *args)

    def HasOpenCommand(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if a command transaction is open in the curret .

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Document_HasOpenCommand(self, *args)

    def InitDeltaCompaction(self, *args) -> "Standard_Boolean":
        r"""
        Initializes the procedure of delta compaction returns false if there is no delta to compact marks the last delta as a 'from' delta.

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Document_InitDeltaCompaction(self, *args)

    def IsChanged(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if document differs from the state of last saving. this method have to be called only wroking in the transaction mode.

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Document_IsChanged(self, *args)

    def IsEmpty(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the main label has no attributes.

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Document_IsEmpty(self, *args)

    def IsNestedTransactionMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns standard_true if mode is set.

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Document_IsNestedTransactionMode(self, *args)

    def IsSaved(self, *args) -> "Standard_Boolean":
        r"""
        The document is saved in a file.

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Document_IsSaved(self, *args)

    def IsValid(self, *args) -> "Standard_Boolean":
        r"""
        Returns false if the document has been modified but not recomputed.

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Document_IsValid(self, *args)

    def Main(self, *args) -> "TDF_Label":
        r"""
        Returns the main label in this data framework. by definition, this is the label with the entry 0:1.

        Returns
        -------
        TDF_Label

        """
        return _TDocStd.TDocStd_Document_Main(self, *args)

    def ModificationMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if changes allowed only inside transactions.

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Document_ModificationMode(self, *args)

    def NewCommand(self, *args) -> "void":
        r"""
        Launches a new command. this command may be undone.

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_NewCommand(self, *args)

    def OpenCommand(self, *args) -> "void":
        r"""
        Opens a new command transaction in this document. you can use hasopencommand to see whether a command is already open. exceptions standard_domainerror if a command is already open in this document.

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_OpenCommand(self, *args)

    def PerformDeltaCompaction(self, *args) -> "Standard_Boolean":
        r"""
        Performs the procedure of delta compaction makes all deltas starting from 'from' delta till the last one to be one delta.

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Document_PerformDeltaCompaction(self, *args)

    def PurgeModified(self, *args) -> "void":
        r"""
        Remove all modifications. after this call the document becomesagain valid.

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_PurgeModified(self, *args)

    def Recompute(self, *args) -> "void":
        r"""
        Recompute if the document was not valid and propagate the reccorded modification.

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_Recompute(self, *args)

    def Redo(self, *args) -> "Standard_Boolean":
        r"""
        Will redo one step, returns false if no redo was done (redos == 0). otherwise, true is returned, and one step in the list of redoes is done again.

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Document_Redo(self, *args)

    def RemoveFirstUndo(self, *args) -> "void":
        r"""
        Removes the first undo in the list of document undos. it is used in the application when the undo limit is exceed.

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_RemoveFirstUndo(self, *args)

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

        Parameters
        ----------
        data: TDF_Data

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_SetData(self, *args)

    def SetEmptyLabelsSavingMode(self, *args) -> "void":
        r"""
        Sets saving mode for empty labels. if standard_true, empty labels will be saved.

        Parameters
        ----------
        isAllowed: bool

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_SetEmptyLabelsSavingMode(self, *args)

    def SetModificationMode(self, *args) -> "void":
        r"""
        If thetransactiononly is true changes is denied outside transactions.

        Parameters
        ----------
        theTransactionOnly: bool

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_SetModificationMode(self, *args)

    def SetModified(self, *args) -> "void":
        r"""
        Notify the label as modified, the document becomes unvalid. returns true if <l> has been notified as modified.

        Parameters
        ----------
        L: TDF_Label

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_SetModified(self, *args)

    def SetNestedTransactionMode(self, *args) -> "void":
        r"""
        Sets nested transaction mode if isallowed == standard_true.

        Parameters
        ----------
        isAllowed: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_SetNestedTransactionMode(self, *args)

    def SetSaved(self, *args) -> "void":
        r"""
        This method have to be called to show document that it has been saved.

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_SetSaved(self, *args)

    def SetSavedTime(self, *args) -> "void":
        r"""
        Say to document what it is not saved. use value, returned earlier by getsavedtime().

        Parameters
        ----------
        theTime: int

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_SetSavedTime(self, *args)

    def SetUndoLimit(self, *args) -> "void":
        r"""
        Set the limit on the number of undo delta stored 0 will disable undo on the document a negative value means no limit. note that by default undo is disabled. enabling it will take effect with the next call to newcommand. of course this limit is the same for redo.

        Parameters
        ----------
        L: int

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_SetUndoLimit(self, *args)

    def Undo(self, *args) -> "Standard_Boolean":
        r"""
        Will undo one step, returns false if no undo was done (undos == 0). otherwise, true is returned and one step in the list of undoes is undone.

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Document_Undo(self, *args)

    def UpdateReferences(self, *args) -> "void":
        r"""
        Set modifications on labels impacted by external references to the entry. the document becomes invalid and must be recomputed.

        Parameters
        ----------
        aDocEntry: TCollection_AsciiString

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Document_UpdateReferences(self, *args)


    @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)

def TDocStd_Document_Get(*args) -> "opencascade::handle< TDocStd_Document >":
    r"""
    Will abort any execution, clear fields returns the document which contains <l>. raises an exception if the document is not found.

    Parameters
    ----------
    L: TDF_Label

    Returns
    -------
    opencascade::handle<TDocStd_Document>

    """
    return _TDocStd.TDocStd_Document_Get(*args)

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

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

        Returns
        -------
        None

        """
        _TDocStd.TDocStd_Modified_swiginit(self, _TDocStd.new_TDocStd_Modified(*args))

    @staticmethod
    def Add(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        alabel: TDF_Label

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Modified_Add(*args)

    def AddLabel(self, *args) -> "Standard_Boolean":
        r"""
        Add <l> as modified.

        Parameters
        ----------
        L: TDF_Label

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Modified_AddLabel(self, *args)

    def Clear(self, *args) -> "void":
        r"""
        Remove all modified labels. becomes empty.

        Parameters
        ----------
        access: TDF_Label

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

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Modified_Clear(self, *args)

    @staticmethod
    def Contains(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        alabel: TDF_Label

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Modified_Contains(*args)

    def DumpToString(self) -> "std::string":
        r"""DumpToString(TDocStd_Modified self) -> std::string"""
        return _TDocStd.TDocStd_Modified_DumpToString(self)

    def Get(self, *args) -> "TDF_LabelMap const &":
        r"""
        If <isempty> raise an exception.

        Parameters
        ----------
        access: TDF_Label

        Returns
        -------
        TDF_LabelMap
        Returns modified label map.

        Returns
        -------
        TDF_LabelMap

        """
        return _TDocStd.TDocStd_Modified_Get(self, *args)

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        Modified methods ================.

        Returns
        -------
        Standard_GUID

        """
        return _TDocStd.TDocStd_Modified_GetID(*args)

    def IsEmpty(self, *args) -> "Standard_Boolean":
        r"""
        Api class methods =================.

        Parameters
        ----------
        access: TDF_Label

        Returns
        -------
        bool
        No available documentation.

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Modified_IsEmpty(self, *args)

    @staticmethod
    def Remove(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        alabel: TDF_Label

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Modified_Remove(*args)

    def RemoveLabel(self, *args) -> "Standard_Boolean":
        r"""
        Remove <l> as modified.

        Parameters
        ----------
        L: TDF_Label

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_Modified_RemoveLabel(self, *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)

def TDocStd_Modified_Add(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    alabel: TDF_Label

    Returns
    -------
    bool

    """
    return _TDocStd.TDocStd_Modified_Add(*args)

def TDocStd_Modified_Contains(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    alabel: TDF_Label

    Returns
    -------
    bool

    """
    return _TDocStd.TDocStd_Modified_Contains(*args)

def TDocStd_Modified_GetID(*args) -> "Standard_GUID const &":
    r"""
    Modified methods ================.

    Returns
    -------
    Standard_GUID

    """
    return _TDocStd.TDocStd_Modified_GetID(*args)

def TDocStd_Modified_Remove(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    alabel: TDF_Label

    Returns
    -------
    bool

    """
    return _TDocStd.TDocStd_Modified_Remove(*args)

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

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

        Returns
        -------
        None

        """
        _TDocStd.TDocStd_MultiTransactionManager_swiginit(self, _TDocStd.new_TDocStd_MultiTransactionManager(*args))

    def AbortCommand(self, *args) -> "void":
        r"""
        Unsets the flag of started manager transaction and aborts transaction in each document.

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_MultiTransactionManager_AbortCommand(self, *args)

    def AddDocument(self, *args) -> "void":
        r"""
        Adds the document to the transaction manager and checks if it has been already added.

        Parameters
        ----------
        theDoc: TDocStd_Document

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_MultiTransactionManager_AddDocument(self, *args)

    def ClearRedos(self, *args) -> "void":
        r"""
        Clears redos in the manager and in documents.

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_MultiTransactionManager_ClearRedos(self, *args)

    def ClearUndos(self, *args) -> "void":
        r"""
        Clears undos in the manager and in documents.

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_MultiTransactionManager_ClearUndos(self, *args)

    def CommitCommand(self, *args) -> "Standard_Boolean":
        r"""
        Commits transaction in all documents and fills the transaction manager with the documents that have been changed during the transaction. returns true if new data has been added to myundos. note: all nested transactions in the documents will be commited.

        Returns
        -------
        bool
        Makes the same steps as the previous function but defines the name for transaction. returns true if new data has been added to myundos.

        Parameters
        ----------
        theName: TCollection_ExtendedString

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_MultiTransactionManager_CommitCommand(self, *args)

    def Documents(self, *args) -> "TDocStd_SequenceOfDocument const &":
        r"""
        Returns the added documents to the transaction manager.

        Returns
        -------
        TDocStd_SequenceOfDocument

        """
        return _TDocStd.TDocStd_MultiTransactionManager_Documents(self, *args)

    def DumpTransactionToString(self) -> "std::string":
        r"""DumpTransactionToString(TDocStd_MultiTransactionManager self) -> std::string"""
        return _TDocStd.TDocStd_MultiTransactionManager_DumpTransactionToString(self)

    def GetAvailableRedos(self, *args) -> "TDocStd_SequenceOfApplicationDelta const &":
        r"""
        Returns available manager redos.

        Returns
        -------
        TDocStd_SequenceOfApplicationDelta

        """
        return _TDocStd.TDocStd_MultiTransactionManager_GetAvailableRedos(self, *args)

    def GetAvailableUndos(self, *args) -> "TDocStd_SequenceOfApplicationDelta const &":
        r"""
        Returns available manager undos.

        Returns
        -------
        TDocStd_SequenceOfApplicationDelta

        """
        return _TDocStd.TDocStd_MultiTransactionManager_GetAvailableUndos(self, *args)

    def GetUndoLimit(self, *args) -> "Standard_Integer":
        r"""
        Returns undo limit for the manager.

        Returns
        -------
        int

        """
        return _TDocStd.TDocStd_MultiTransactionManager_GetUndoLimit(self, *args)

    def HasOpenCommand(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if a transaction is opened.

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_MultiTransactionManager_HasOpenCommand(self, *args)

    def IsNestedTransactionMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns standard_true if nestedtransaction mode is set. methods for protection of changes outside transactions.

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_MultiTransactionManager_IsNestedTransactionMode(self, *args)

    def ModificationMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if changes are allowed only inside transactions.

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_MultiTransactionManager_ModificationMode(self, *args)

    def OpenCommand(self, *args) -> "void":
        r"""
        Opens transaction in each document and sets the flag that transaction is opened. if there are already opened transactions in the documents, these transactions will be aborted before openning new ones.

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_MultiTransactionManager_OpenCommand(self, *args)

    def Redo(self, *args) -> "void":
        r"""
        Redoes the current transaction of the application. it calls the redo () method of the document being on top of the manager list of redos (list.first()) and moves the list item to the top of the list of manager undos (list.prepend(item)).

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_MultiTransactionManager_Redo(self, *args)

    def RemoveDocument(self, *args) -> "void":
        r"""
        Removes the document from the transaction manager.

        Parameters
        ----------
        theDoc: TDocStd_Document

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_MultiTransactionManager_RemoveDocument(self, *args)

    def RemoveLastUndo(self, *args) -> "void":
        r"""
        Removes undo information from the list of undos of the manager and all documents which have been modified during the transaction.

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_MultiTransactionManager_RemoveLastUndo(self, *args)

    def SetModificationMode(self, *args) -> "void":
        r"""
        If thetransactiononly is true, denies all changes outside transactions.

        Parameters
        ----------
        theTransactionOnly: bool

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_MultiTransactionManager_SetModificationMode(self, *args)

    def SetNestedTransactionMode(self, *args) -> "void":
        r"""
        Sets nested transaction mode if isallowed == standard_true note: field myisnestedtransactionmode exists only for synchronization between several documents and has no effect on transactions of multitransaction manager.

        Parameters
        ----------
        isAllowed: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_MultiTransactionManager_SetNestedTransactionMode(self, *args)

    def SetUndoLimit(self, *args) -> "void":
        r"""
        Sets undo limit for the manager and all documents.

        Parameters
        ----------
        theLimit: int

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_MultiTransactionManager_SetUndoLimit(self, *args)

    def Undo(self, *args) -> "void":
        r"""
        Undoes the current transaction of the manager. it calls the undo () method of the document being on top of the manager list of undos (list.first()) and moves the list item to the top of the list of manager redos (list.prepend(item)).

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_MultiTransactionManager_Undo(self, *args)


    @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

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

        Returns
        -------
        None

        """
        _TDocStd.TDocStd_Owner_swiginit(self, _TDocStd.new_TDocStd_Owner(*args))

    def DumpToString(self) -> "std::string":
        r"""DumpToString(TDocStd_Owner self) -> std::string"""
        return _TDocStd.TDocStd_Owner_DumpToString(self)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(TDocStd_Owner self, int depth=-1) -> std::string"""
        return _TDocStd.TDocStd_Owner_DumpJsonToString(self, depth)

    def GetDocument(self, *args) -> "opencascade::handle< TDocStd_Document >":
        r"""
        Owner methods ===============.

        Parameters
        ----------
        ofdata: TDF_Data

        Returns
        -------
        opencascade::handle<TDocStd_Document>
        No available documentation.

        Returns
        -------
        opencascade::handle<TDocStd_Document>

        """
        return _TDocStd.TDocStd_Owner_GetDocument(self, *args)

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        Class methods =============.

        Returns
        -------
        Standard_GUID

        """
        return _TDocStd.TDocStd_Owner_GetID(*args)

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

        Parameters
        ----------
        indata: TDF_Data
        doc: TDocStd_Document

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

        Parameters
        ----------
        indata: TDF_Data
        doc: TDocStd_Document *

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

        Parameters
        ----------
        document: TDocStd_Document

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

        Parameters
        ----------
        document: TDocStd_Document *

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_Owner_SetDocument(self, *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)

def TDocStd_Owner_GetID(*args) -> "Standard_GUID const &":
    r"""
    Class methods =============.

    Returns
    -------
    Standard_GUID

    """
    return _TDocStd.TDocStd_Owner_GetID(*args)

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

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

        Parameters
        ----------
        path: TCollection_ExtendedString

        Returns
        -------
        None

        """
        _TDocStd.TDocStd_PathParser_swiginit(self, _TDocStd.new_TDocStd_PathParser(*args))

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

        Returns
        -------
        TCollection_ExtendedString

        """
        return _TDocStd.TDocStd_PathParser_Extension(self, *args)

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

        Returns
        -------
        int

        """
        return _TDocStd.TDocStd_PathParser_Length(self, *args)

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

        Returns
        -------
        TCollection_ExtendedString

        """
        return _TDocStd.TDocStd_PathParser_Name(self, *args)

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

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_PathParser_Parse(self, *args)

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

        Returns
        -------
        TCollection_ExtendedString

        """
        return _TDocStd.TDocStd_PathParser_Path(self, *args)

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

        Returns
        -------
        TCollection_ExtendedString

        """
        return _TDocStd.TDocStd_PathParser_Trek(self, *args)

    __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

    def __init__(self, *args):
        r"""
        Initializes fields.

        Returns
        -------
        None

        """
        _TDocStd.TDocStd_XLink_swiginit(self, _TDocStd.new_TDocStd_XLink(*args))

    def DocumentEntry(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Sets the name adocentry for the external document in this external link attribute.

        Parameters
        ----------
        aDocEntry: TCollection_AsciiString

        Returns
        -------
        None
        Returns the contents of the document identified by adocentry. adocentry provides external data to this external link attribute.

        Returns
        -------
        TCollection_AsciiString

        """
        return _TDocStd.TDocStd_XLink_DocumentEntry(self, *args)

    def DumpToString(self) -> "std::string":
        r"""DumpToString(TDocStd_XLink self) -> std::string"""
        return _TDocStd.TDocStd_XLink_DumpToString(self)

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        Returns the guid for external links.

        Returns
        -------
        Standard_GUID

        """
        return _TDocStd.TDocStd_XLink_GetID(*args)

    def LabelEntry(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Sets the label entry for this external link attribute with the label alabel. alabel pilots the importation of data from the document entry.

        Parameters
        ----------
        aLabel: TDF_Label

        Returns
        -------
        None
        Sets the label entry for this external link attribute as a document identified by alabentry.

        Parameters
        ----------
        aLabEntry: TCollection_AsciiString

        Returns
        -------
        None
        Returns the contents of the field <mylabelentry>.

        Returns
        -------
        TCollection_AsciiString

        """
        return _TDocStd.TDocStd_XLink_LabelEntry(self, *args)

    @staticmethod
    def Set(*args) -> "opencascade::handle< TDocStd_XLink >":
        r"""
        Sets an empty external reference, at the label alabel.

        Parameters
        ----------
        atLabel: TDF_Label

        Returns
        -------
        opencascade::handle<TDocStd_XLink>

        """
        return _TDocStd.TDocStd_XLink_Set(*args)

    def Update(self, *args) -> "opencascade::handle< TDF_Reference >":
        r"""
        Updates the data referenced in this external link attribute.

        Returns
        -------
        opencascade::handle<TDF_Reference>

        """
        return _TDocStd.TDocStd_XLink_Update(self, *args)


    @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)

def TDocStd_XLink_GetID(*args) -> "Standard_GUID const &":
    r"""
    Returns the guid for external links.

    Returns
    -------
    Standard_GUID

    """
    return _TDocStd.TDocStd_XLink_GetID(*args)

def TDocStd_XLink_Set(*args) -> "opencascade::handle< TDocStd_XLink >":
    r"""
    Sets an empty external reference, at the label alabel.

    Parameters
    ----------
    atLabel: TDF_Label

    Returns
    -------
    opencascade::handle<TDocStd_XLink>

    """
    return _TDocStd.TDocStd_XLink_Set(*args)

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

    def __init__(self, *args):
        r"""
        Returns an empty iterator;.

        Returns
        -------
        None
        Creates an iterator on reference of <d>.

        Parameters
        ----------
        D: TDocStd_Document

        Returns
        -------
        None

        """
        _TDocStd.TDocStd_XLinkIterator_swiginit(self, _TDocStd.new_TDocStd_XLinkIterator(*args))

    def Initialize(self, *args) -> "void":
        r"""
        Restarts an iteration with <d>.

        Parameters
        ----------
        D: TDocStd_Document

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_XLinkIterator_Initialize(self, *args)

    def More(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if there is a current item in the iteration.

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_XLinkIterator_More(self, *args)

    def Next(self, *args) -> "void":
        r"""
        Move to the next item; raises if there is no more item.

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_XLinkIterator_Next(self, *args)

    def Value(self, *args) -> "TDocStd_XLinkPtr":
        r"""
        Returns the current item; a null handle if there is none.

        Returns
        -------
        TDocStd_XLinkPtr

        """
        return _TDocStd.TDocStd_XLinkIterator_Value(self, *args)

    __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

    def DumpToString(self) -> "std::string":
        r"""DumpToString(TDocStd_XLinkRoot self) -> std::string"""
        return _TDocStd.TDocStd_XLinkRoot_DumpToString(self)

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        Returns the id: 2a96b61d-ec8b-11d0-bee7-080009dc3333.

        Returns
        -------
        Standard_GUID

        """
        return _TDocStd.TDocStd_XLinkRoot_GetID(*args)

    @staticmethod
    def Insert(*args) -> "void":
        r"""
        Inserts <anxlinkptr> at the beginning of the xlink chain.

        Parameters
        ----------
        anXLinkPtr: TDocStd_XLinkPtr

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_XLinkRoot_Insert(*args)

    @staticmethod
    def Remove(*args) -> "void":
        r"""
        Removes <anxlinkptr> from the xlink chain, if it exists.

        Parameters
        ----------
        anXLinkPtr: TDocStd_XLinkPtr

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_XLinkRoot_Remove(*args)

    @staticmethod
    def Set(*args) -> "opencascade::handle< TDocStd_XLinkRoot >":
        r"""
        Sets an empty xlinkroot to root or gets the existing one. only one attribute per tdf_data.

        Parameters
        ----------
        aDF: TDF_Data

        Returns
        -------
        opencascade::handle<TDocStd_XLinkRoot>

        """
        return _TDocStd.TDocStd_XLinkRoot_Set(*args)


    @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)

def TDocStd_XLinkRoot_GetID(*args) -> "Standard_GUID const &":
    r"""
    Returns the id: 2a96b61d-ec8b-11d0-bee7-080009dc3333.

    Returns
    -------
    Standard_GUID

    """
    return _TDocStd.TDocStd_XLinkRoot_GetID(*args)

def TDocStd_XLinkRoot_Insert(*args) -> "void":
    r"""
    Inserts <anxlinkptr> at the beginning of the xlink chain.

    Parameters
    ----------
    anXLinkPtr: TDocStd_XLinkPtr

    Returns
    -------
    None

    """
    return _TDocStd.TDocStd_XLinkRoot_Insert(*args)

def TDocStd_XLinkRoot_Remove(*args) -> "void":
    r"""
    Removes <anxlinkptr> from the xlink chain, if it exists.

    Parameters
    ----------
    anXLinkPtr: TDocStd_XLinkPtr

    Returns
    -------
    None

    """
    return _TDocStd.TDocStd_XLinkRoot_Remove(*args)

def TDocStd_XLinkRoot_Set(*args) -> "opencascade::handle< TDocStd_XLinkRoot >":
    r"""
    Sets an empty xlinkroot to root or gets the existing one. only one attribute per tdf_data.

    Parameters
    ----------
    aDF: TDF_Data

    Returns
    -------
    opencascade::handle<TDocStd_XLinkRoot>

    """
    return _TDocStd.TDocStd_XLinkRoot_Set(*args)

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

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

        Returns
        -------
        None

        """
        _TDocStd.TDocStd_XLinkTool_swiginit(self, _TDocStd.new_TDocStd_XLinkTool(*args))

    def Copy(self, *args) -> "void":
        r"""
        Copy the content of <fromsource> under <intarget>. noone link is registred. noone check is done. example opencascade::handle<tdocstd_document> doc, xdoc; tdf_label l, xl; tdocstd_xlinktool xlinktool; xlinktool.copy(l,xl); exceptions: standard_domainerror if the contents of fromsource are not entirely in the scope of this label, in other words, are not self-contained. !!! ==> warning: if the document manages shapes use the next way: tdocstd_xlinktool xlinktool; xlinktool.copy(l,xl); toptools_datamapofshapeshape m; tnaming::changeshapes(target,m);.

        Parameters
        ----------
        intarget: TDF_Label
        fromsource: TDF_Label

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_XLinkTool_Copy(self, *args)

    def CopyWithLink(self, *args) -> "void":
        r"""
        Copies the content of the label <fromsource> to the label <intarget>. the link is registred with an xlink attribute by <intarget> label. if the content of <fromsource> is not self-contained, and/or <intarget> has already an xlink attribute, an exception is raised.

        Parameters
        ----------
        intarget: TDF_Label
        fromsource: TDF_Label

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_XLinkTool_CopyWithLink(self, *args)

    def DataSet(self, *args) -> "opencascade::handle< TDF_DataSet >":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<TDF_DataSet>

        """
        return _TDocStd.TDocStd_XLinkTool_DataSet(self, *args)

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

        Returns
        -------
        bool

        """
        return _TDocStd.TDocStd_XLinkTool_IsDone(self, *args)

    def RelocationTable(self, *args) -> "opencascade::handle< TDF_RelocationTable >":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<TDF_RelocationTable>

        """
        return _TDocStd.TDocStd_XLinkTool_RelocationTable(self, *args)

    def UpdateLink(self, *args) -> "void":
        r"""
        Update the external reference set at <l>. example opencascade::handle<tdocstd_document> adoc; if (!ocaftest::getdocument(1,adoc)) return 1; opencascade::handle<tdatastd_reference> aref; tdocstd_xlinktool xlinktool; if (!ocaftest::find(adoc,2),tdatastd_reference::getid(),aref) return 1; xlinktool.updatelink(aref->label()); exceptions standard_domainerror if <l> has no xlink attribute.

        Parameters
        ----------
        L: TDF_Label

        Returns
        -------
        None

        """
        return _TDocStd.TDocStd_XLinkTool_UpdateLink(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TDocStd.delete_TDocStd_XLinkTool

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





