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

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

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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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


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


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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


def process_exception(error, method_name, class_name):
    return _TDF.process_exception(error, method_name, class_name)

from six import with_metaclass
import warnings
from OCC.Wrapper.wrapper_utils import Proxy, deprecated

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.TCollection
import OCC.Core.TColStd

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

TDF_LabelNodeImportMsk = _TDF.TDF_LabelNodeImportMsk
TDF_LabelNodeAttModMsk = _TDF.TDF_LabelNodeAttModMsk
TDF_LabelNodeMayModMsk = _TDF.TDF_LabelNodeMayModMsk
TDF_LabelNodeFlagsMsk = _TDF.TDF_LabelNodeFlagsMsk



def Handle_TDF_Attribute_Create():
    return _TDF.Handle_TDF_Attribute_Create()

def Handle_TDF_Attribute_DownCast(t):
    return _TDF.Handle_TDF_Attribute_DownCast(t)

def Handle_TDF_Attribute_IsNull(t):
    return _TDF.Handle_TDF_Attribute_IsNull(t)

def Handle_TDF_AttributeDelta_Create():
    return _TDF.Handle_TDF_AttributeDelta_Create()

def Handle_TDF_AttributeDelta_DownCast(t):
    return _TDF.Handle_TDF_AttributeDelta_DownCast(t)

def Handle_TDF_AttributeDelta_IsNull(t):
    return _TDF.Handle_TDF_AttributeDelta_IsNull(t)

def Handle_TDF_Data_Create():
    return _TDF.Handle_TDF_Data_Create()

def Handle_TDF_Data_DownCast(t):
    return _TDF.Handle_TDF_Data_DownCast(t)

def Handle_TDF_Data_IsNull(t):
    return _TDF.Handle_TDF_Data_IsNull(t)

def Handle_TDF_DataSet_Create():
    return _TDF.Handle_TDF_DataSet_Create()

def Handle_TDF_DataSet_DownCast(t):
    return _TDF.Handle_TDF_DataSet_DownCast(t)

def Handle_TDF_DataSet_IsNull(t):
    return _TDF.Handle_TDF_DataSet_IsNull(t)

def Handle_TDF_Delta_Create():
    return _TDF.Handle_TDF_Delta_Create()

def Handle_TDF_Delta_DownCast(t):
    return _TDF.Handle_TDF_Delta_DownCast(t)

def Handle_TDF_Delta_IsNull(t):
    return _TDF.Handle_TDF_Delta_IsNull(t)

def Handle_TDF_RelocationTable_Create():
    return _TDF.Handle_TDF_RelocationTable_Create()

def Handle_TDF_RelocationTable_DownCast(t):
    return _TDF.Handle_TDF_RelocationTable_DownCast(t)

def Handle_TDF_RelocationTable_IsNull(t):
    return _TDF.Handle_TDF_RelocationTable_IsNull(t)

def Handle_TDF_DeltaOnAddition_Create():
    return _TDF.Handle_TDF_DeltaOnAddition_Create()

def Handle_TDF_DeltaOnAddition_DownCast(t):
    return _TDF.Handle_TDF_DeltaOnAddition_DownCast(t)

def Handle_TDF_DeltaOnAddition_IsNull(t):
    return _TDF.Handle_TDF_DeltaOnAddition_IsNull(t)

def Handle_TDF_DeltaOnForget_Create():
    return _TDF.Handle_TDF_DeltaOnForget_Create()

def Handle_TDF_DeltaOnForget_DownCast(t):
    return _TDF.Handle_TDF_DeltaOnForget_DownCast(t)

def Handle_TDF_DeltaOnForget_IsNull(t):
    return _TDF.Handle_TDF_DeltaOnForget_IsNull(t)

def Handle_TDF_DeltaOnModification_Create():
    return _TDF.Handle_TDF_DeltaOnModification_Create()

def Handle_TDF_DeltaOnModification_DownCast(t):
    return _TDF.Handle_TDF_DeltaOnModification_DownCast(t)

def Handle_TDF_DeltaOnModification_IsNull(t):
    return _TDF.Handle_TDF_DeltaOnModification_IsNull(t)

def Handle_TDF_DeltaOnRemoval_Create():
    return _TDF.Handle_TDF_DeltaOnRemoval_Create()

def Handle_TDF_DeltaOnRemoval_DownCast(t):
    return _TDF.Handle_TDF_DeltaOnRemoval_DownCast(t)

def Handle_TDF_DeltaOnRemoval_IsNull(t):
    return _TDF.Handle_TDF_DeltaOnRemoval_IsNull(t)

def Handle_TDF_DeltaOnResume_Create():
    return _TDF.Handle_TDF_DeltaOnResume_Create()

def Handle_TDF_DeltaOnResume_DownCast(t):
    return _TDF.Handle_TDF_DeltaOnResume_DownCast(t)

def Handle_TDF_DeltaOnResume_IsNull(t):
    return _TDF.Handle_TDF_DeltaOnResume_IsNull(t)

def Handle_TDF_Reference_Create():
    return _TDF.Handle_TDF_Reference_Create()

def Handle_TDF_Reference_DownCast(t):
    return _TDF.Handle_TDF_Reference_DownCast(t)

def Handle_TDF_Reference_IsNull(t):
    return _TDF.Handle_TDF_Reference_IsNull(t)

def Handle_TDF_TagSource_Create():
    return _TDF.Handle_TDF_TagSource_Create()

def Handle_TDF_TagSource_DownCast(t):
    return _TDF.Handle_TDF_TagSource_DownCast(t)

def Handle_TDF_TagSource_IsNull(t):
    return _TDF.Handle_TDF_TagSource_IsNull(t)

def Handle_TDF_DefaultDeltaOnModification_Create():
    return _TDF.Handle_TDF_DefaultDeltaOnModification_Create()

def Handle_TDF_DefaultDeltaOnModification_DownCast(t):
    return _TDF.Handle_TDF_DefaultDeltaOnModification_DownCast(t)

def Handle_TDF_DefaultDeltaOnModification_IsNull(t):
    return _TDF.Handle_TDF_DefaultDeltaOnModification_IsNull(t)

def Handle_TDF_DefaultDeltaOnRemoval_Create():
    return _TDF.Handle_TDF_DefaultDeltaOnRemoval_Create()

def Handle_TDF_DefaultDeltaOnRemoval_DownCast(t):
    return _TDF.Handle_TDF_DefaultDeltaOnRemoval_DownCast(t)

def Handle_TDF_DefaultDeltaOnRemoval_IsNull(t):
    return _TDF.Handle_TDF_DefaultDeltaOnRemoval_IsNull(t)

def Handle_TDF_HAttributeArray1_Create():
    return _TDF.Handle_TDF_HAttributeArray1_Create()

def Handle_TDF_HAttributeArray1_DownCast(t):
    return _TDF.Handle_TDF_HAttributeArray1_DownCast(t)

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

    def begin(self):
        return _TDF.TDF_AttributeArray1_begin(self)

    def end(self):
        return _TDF.TDF_AttributeArray1_end(self)

    def cbegin(self):
        return _TDF.TDF_AttributeArray1_cbegin(self)

    def cend(self):
        return _TDF.TDF_AttributeArray1_cend(self)

    def __init__(self, *args):
        _TDF.TDF_AttributeArray1_swiginit(self, _TDF.new_TDF_AttributeArray1(*args))

    def Init(self, theValue):
        return _TDF.TDF_AttributeArray1_Init(self, theValue)

    def Size(self):
        return _TDF.TDF_AttributeArray1_Size(self)

    def Length(self):
        return _TDF.TDF_AttributeArray1_Length(self)

    def IsEmpty(self):
        return _TDF.TDF_AttributeArray1_IsEmpty(self)

    def Lower(self):
        return _TDF.TDF_AttributeArray1_Lower(self)

    def Upper(self):
        return _TDF.TDF_AttributeArray1_Upper(self)

    def IsDeletable(self):
        return _TDF.TDF_AttributeArray1_IsDeletable(self)

    def IsAllocated(self):
        return _TDF.TDF_AttributeArray1_IsAllocated(self)

    def Assign(self, theOther):
        return _TDF.TDF_AttributeArray1_Assign(self, theOther)

    def Move(self, theOther):
        return _TDF.TDF_AttributeArray1_Move(self, theOther)

    def Set(self, *args):
        return _TDF.TDF_AttributeArray1_Set(self, *args)

    def First(self):
        return _TDF.TDF_AttributeArray1_First(self)

    def ChangeFirst(self):
        return _TDF.TDF_AttributeArray1_ChangeFirst(self)

    def Last(self):
        return _TDF.TDF_AttributeArray1_Last(self)

    def ChangeLast(self):
        return _TDF.TDF_AttributeArray1_ChangeLast(self)

    def Value(self, theIndex):
        return _TDF.TDF_AttributeArray1_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _TDF.TDF_AttributeArray1_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _TDF.TDF_AttributeArray1___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _TDF.TDF_AttributeArray1_SetValue(self, theIndex, theItem)

    def Resize(self, theLower, theUpper, theToCopyData):
        return _TDF.TDF_AttributeArray1_Resize(self, theLower, theUpper, theToCopyData)
    __swig_destroy__ = _TDF.delete_TDF_AttributeArray1

    def __getitem__(self, index):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            return self.Value(index + self.Lower())

    def __setitem__(self, index, value):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            self.SetValue(index + self.Lower(), value)

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

    def __iter__(self):
        self.low = self.Lower()
        self.up = self.Upper()
        self.current = self.Lower() - 1
        return self

    def next(self):
        if self.current >= self.Upper():
            raise StopIteration
        else:
            self.current += 1
        return self.Value(self.current)

    __next__ = next


# Register TDF_AttributeArray1 in _TDF:
_TDF.TDF_AttributeArray1_swigregister(TDF_AttributeArray1)
class TDF_AttributeDataMap(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TDF.TDF_AttributeDataMap_begin(self)

    def end(self):
        return _TDF.TDF_AttributeDataMap_end(self)

    def cbegin(self):
        return _TDF.TDF_AttributeDataMap_cbegin(self)

    def cend(self):
        return _TDF.TDF_AttributeDataMap_cend(self)

    def __init__(self, *args):
        _TDF.TDF_AttributeDataMap_swiginit(self, _TDF.new_TDF_AttributeDataMap(*args))

    def Exchange(self, theOther):
        return _TDF.TDF_AttributeDataMap_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TDF.TDF_AttributeDataMap_Assign(self, theOther)

    def Set(self, theOther):
        return _TDF.TDF_AttributeDataMap_Set(self, theOther)

    def ReSize(self, N):
        return _TDF.TDF_AttributeDataMap_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TDF.TDF_AttributeDataMap_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TDF.TDF_AttributeDataMap_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TDF.TDF_AttributeDataMap_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TDF.TDF_AttributeDataMap_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TDF.TDF_AttributeDataMap_Seek(self, theKey)

    def Find(self, *args):
        return _TDF.TDF_AttributeDataMap_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TDF.TDF_AttributeDataMap_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TDF.TDF_AttributeDataMap_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TDF.TDF_AttributeDataMap___call__(self, *args)

    def Clear(self, *args):
        return _TDF.TDF_AttributeDataMap_Clear(self, *args)
    __swig_destroy__ = _TDF.delete_TDF_AttributeDataMap

    def Size(self):
        return _TDF.TDF_AttributeDataMap_Size(self)

# Register TDF_AttributeDataMap in _TDF:
_TDF.TDF_AttributeDataMap_swigregister(TDF_AttributeDataMap)
class TDF_AttributeDeltaList(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TDF.TDF_AttributeDeltaList_begin(self)

    def end(self):
        return _TDF.TDF_AttributeDeltaList_end(self)

    def cbegin(self):
        return _TDF.TDF_AttributeDeltaList_cbegin(self)

    def cend(self):
        return _TDF.TDF_AttributeDeltaList_cend(self)

    def __init__(self, *args):
        _TDF.TDF_AttributeDeltaList_swiginit(self, _TDF.new_TDF_AttributeDeltaList(*args))

    def Size(self):
        return _TDF.TDF_AttributeDeltaList_Size(self)

    def Assign(self, theOther):
        return _TDF.TDF_AttributeDeltaList_Assign(self, theOther)

    def Set(self, theOther):
        return _TDF.TDF_AttributeDeltaList_Set(self, theOther)

    def Clear(self, theAllocator=0):
        return _TDF.TDF_AttributeDeltaList_Clear(self, theAllocator)

    def First(self):
        return _TDF.TDF_AttributeDeltaList_First(self)

    def Last(self):
        return _TDF.TDF_AttributeDeltaList_Last(self)

    def Append(self, *args):
        return _TDF.TDF_AttributeDeltaList_Append(self, *args)

    def Prepend(self, *args):
        return _TDF.TDF_AttributeDeltaList_Prepend(self, *args)

    def RemoveFirst(self):
        return _TDF.TDF_AttributeDeltaList_RemoveFirst(self)

    def Remove(self, theIter):
        return _TDF.TDF_AttributeDeltaList_Remove(self, theIter)

    def InsertBefore(self, *args):
        return _TDF.TDF_AttributeDeltaList_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _TDF.TDF_AttributeDeltaList_InsertAfter(self, *args)

    def Reverse(self):
        return _TDF.TDF_AttributeDeltaList_Reverse(self)
    __swig_destroy__ = _TDF.delete_TDF_AttributeDeltaList

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


# Register TDF_AttributeDeltaList in _TDF:
_TDF.TDF_AttributeDeltaList_swigregister(TDF_AttributeDeltaList)
class TDF_AttributeDoubleMap(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):
        _TDF.TDF_AttributeDoubleMap_swiginit(self, _TDF.new_TDF_AttributeDoubleMap(*args))

    def Exchange(self, theOther):
        return _TDF.TDF_AttributeDoubleMap_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TDF.TDF_AttributeDoubleMap_Assign(self, theOther)

    def Set(self, theOther):
        return _TDF.TDF_AttributeDoubleMap_Set(self, theOther)

    def ReSize(self, N):
        return _TDF.TDF_AttributeDoubleMap_ReSize(self, N)

    def Bind(self, theKey1, theKey2):
        return _TDF.TDF_AttributeDoubleMap_Bind(self, theKey1, theKey2)

    def AreBound(self, theKey1, theKey2):
        return _TDF.TDF_AttributeDoubleMap_AreBound(self, theKey1, theKey2)

    def IsBound1(self, theKey1):
        return _TDF.TDF_AttributeDoubleMap_IsBound1(self, theKey1)

    def IsBound2(self, theKey2):
        return _TDF.TDF_AttributeDoubleMap_IsBound2(self, theKey2)

    def UnBind1(self, theKey1):
        return _TDF.TDF_AttributeDoubleMap_UnBind1(self, theKey1)

    def UnBind2(self, theKey2):
        return _TDF.TDF_AttributeDoubleMap_UnBind2(self, theKey2)

    def Find1(self, *args):
        return _TDF.TDF_AttributeDoubleMap_Find1(self, *args)

    def Seek1(self, theKey1):
        return _TDF.TDF_AttributeDoubleMap_Seek1(self, theKey1)

    def Find2(self, *args):
        return _TDF.TDF_AttributeDoubleMap_Find2(self, *args)

    def Seek2(self, theKey2):
        return _TDF.TDF_AttributeDoubleMap_Seek2(self, theKey2)

    def Clear(self, *args):
        return _TDF.TDF_AttributeDoubleMap_Clear(self, *args)
    __swig_destroy__ = _TDF.delete_TDF_AttributeDoubleMap

    def Size(self):
        return _TDF.TDF_AttributeDoubleMap_Size(self)

# Register TDF_AttributeDoubleMap in _TDF:
_TDF.TDF_AttributeDoubleMap_swigregister(TDF_AttributeDoubleMap)
class TDF_AttributeIndexedMap(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def cbegin(self):
        return _TDF.TDF_AttributeIndexedMap_cbegin(self)

    def cend(self):
        return _TDF.TDF_AttributeIndexedMap_cend(self)

    def __init__(self, *args):
        _TDF.TDF_AttributeIndexedMap_swiginit(self, _TDF.new_TDF_AttributeIndexedMap(*args))

    def Exchange(self, theOther):
        return _TDF.TDF_AttributeIndexedMap_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TDF.TDF_AttributeIndexedMap_Assign(self, theOther)

    def Set(self, theOther):
        return _TDF.TDF_AttributeIndexedMap_Set(self, theOther)

    def ReSize(self, theExtent):
        return _TDF.TDF_AttributeIndexedMap_ReSize(self, theExtent)

    def Add(self, theKey1):
        return _TDF.TDF_AttributeIndexedMap_Add(self, theKey1)

    def Contains(self, theKey1):
        return _TDF.TDF_AttributeIndexedMap_Contains(self, theKey1)

    def Substitute(self, theIndex, theKey1):
        return _TDF.TDF_AttributeIndexedMap_Substitute(self, theIndex, theKey1)

    def Swap(self, theIndex1, theIndex2):
        return _TDF.TDF_AttributeIndexedMap_Swap(self, theIndex1, theIndex2)

    def RemoveLast(self):
        return _TDF.TDF_AttributeIndexedMap_RemoveLast(self)

    def RemoveFromIndex(self, theIndex):
        return _TDF.TDF_AttributeIndexedMap_RemoveFromIndex(self, theIndex)

    def RemoveKey(self, theKey1):
        return _TDF.TDF_AttributeIndexedMap_RemoveKey(self, theKey1)

    def FindKey(self, theIndex):
        return _TDF.TDF_AttributeIndexedMap_FindKey(self, theIndex)

    def __call__(self, theIndex):
        return _TDF.TDF_AttributeIndexedMap___call__(self, theIndex)

    def FindIndex(self, theKey1):
        return _TDF.TDF_AttributeIndexedMap_FindIndex(self, theKey1)

    def Clear(self, *args):
        return _TDF.TDF_AttributeIndexedMap_Clear(self, *args)
    __swig_destroy__ = _TDF.delete_TDF_AttributeIndexedMap

    def Size(self):
        return _TDF.TDF_AttributeIndexedMap_Size(self)

# Register TDF_AttributeIndexedMap in _TDF:
_TDF.TDF_AttributeIndexedMap_swigregister(TDF_AttributeIndexedMap)
class TDF_AttributeList(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TDF.TDF_AttributeList_begin(self)

    def end(self):
        return _TDF.TDF_AttributeList_end(self)

    def cbegin(self):
        return _TDF.TDF_AttributeList_cbegin(self)

    def cend(self):
        return _TDF.TDF_AttributeList_cend(self)

    def __init__(self, *args):
        _TDF.TDF_AttributeList_swiginit(self, _TDF.new_TDF_AttributeList(*args))

    def Size(self):
        return _TDF.TDF_AttributeList_Size(self)

    def Assign(self, theOther):
        return _TDF.TDF_AttributeList_Assign(self, theOther)

    def Set(self, theOther):
        return _TDF.TDF_AttributeList_Set(self, theOther)

    def Clear(self, theAllocator=0):
        return _TDF.TDF_AttributeList_Clear(self, theAllocator)

    def First(self):
        return _TDF.TDF_AttributeList_First(self)

    def Last(self):
        return _TDF.TDF_AttributeList_Last(self)

    def Append(self, *args):
        return _TDF.TDF_AttributeList_Append(self, *args)

    def Prepend(self, *args):
        return _TDF.TDF_AttributeList_Prepend(self, *args)

    def RemoveFirst(self):
        return _TDF.TDF_AttributeList_RemoveFirst(self)

    def Remove(self, theIter):
        return _TDF.TDF_AttributeList_Remove(self, theIter)

    def InsertBefore(self, *args):
        return _TDF.TDF_AttributeList_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _TDF.TDF_AttributeList_InsertAfter(self, *args)

    def Reverse(self):
        return _TDF.TDF_AttributeList_Reverse(self)
    __swig_destroy__ = _TDF.delete_TDF_AttributeList

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


# Register TDF_AttributeList in _TDF:
_TDF.TDF_AttributeList_swigregister(TDF_AttributeList)
class TDF_AttributeMap(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def cbegin(self):
        return _TDF.TDF_AttributeMap_cbegin(self)

    def cend(self):
        return _TDF.TDF_AttributeMap_cend(self)

    def __init__(self, *args):
        _TDF.TDF_AttributeMap_swiginit(self, _TDF.new_TDF_AttributeMap(*args))

    def Exchange(self, theOther):
        return _TDF.TDF_AttributeMap_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TDF.TDF_AttributeMap_Assign(self, theOther)

    def Set(self, theOther):
        return _TDF.TDF_AttributeMap_Set(self, theOther)

    def ReSize(self, N):
        return _TDF.TDF_AttributeMap_ReSize(self, N)

    def Add(self, K):
        return _TDF.TDF_AttributeMap_Add(self, K)

    def Added(self, K):
        return _TDF.TDF_AttributeMap_Added(self, K)

    def Remove(self, K):
        return _TDF.TDF_AttributeMap_Remove(self, K)

    def Clear(self, *args):
        return _TDF.TDF_AttributeMap_Clear(self, *args)
    __swig_destroy__ = _TDF.delete_TDF_AttributeMap

    def Size(self):
        return _TDF.TDF_AttributeMap_Size(self)

    def IsEqual(self, theOther):
        return _TDF.TDF_AttributeMap_IsEqual(self, theOther)

    def Contains(self, *args):
        return _TDF.TDF_AttributeMap_Contains(self, *args)

    def Union(self, theLeft, theRight):
        return _TDF.TDF_AttributeMap_Union(self, theLeft, theRight)

    def Unite(self, theOther):
        return _TDF.TDF_AttributeMap_Unite(self, theOther)

    def HasIntersection(self, theMap):
        return _TDF.TDF_AttributeMap_HasIntersection(self, theMap)

    def Intersection(self, theLeft, theRight):
        return _TDF.TDF_AttributeMap_Intersection(self, theLeft, theRight)

    def Intersect(self, theOther):
        return _TDF.TDF_AttributeMap_Intersect(self, theOther)

    def Subtraction(self, theLeft, theRight):
        return _TDF.TDF_AttributeMap_Subtraction(self, theLeft, theRight)

    def Subtract(self, theOther):
        return _TDF.TDF_AttributeMap_Subtract(self, theOther)

    def Difference(self, theLeft, theRight):
        return _TDF.TDF_AttributeMap_Difference(self, theLeft, theRight)

    def Differ(self, theOther):
        return _TDF.TDF_AttributeMap_Differ(self, theOther)

# Register TDF_AttributeMap in _TDF:
_TDF.TDF_AttributeMap_swigregister(TDF_AttributeMap)
class TDF_AttributeSequence(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TDF.TDF_AttributeSequence_begin(self)

    def end(self):
        return _TDF.TDF_AttributeSequence_end(self)

    def cbegin(self):
        return _TDF.TDF_AttributeSequence_cbegin(self)

    def cend(self):
        return _TDF.TDF_AttributeSequence_cend(self)

    def __init__(self, *args):
        _TDF.TDF_AttributeSequence_swiginit(self, _TDF.new_TDF_AttributeSequence(*args))

    def Size(self):
        return _TDF.TDF_AttributeSequence_Size(self)

    def Length(self):
        return _TDF.TDF_AttributeSequence_Length(self)

    def Lower(self):
        return _TDF.TDF_AttributeSequence_Lower(self)

    def Upper(self):
        return _TDF.TDF_AttributeSequence_Upper(self)

    def IsEmpty(self):
        return _TDF.TDF_AttributeSequence_IsEmpty(self)

    def Reverse(self):
        return _TDF.TDF_AttributeSequence_Reverse(self)

    def Exchange(self, I, J):
        return _TDF.TDF_AttributeSequence_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _TDF.TDF_AttributeSequence_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _TDF.TDF_AttributeSequence_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _TDF.TDF_AttributeSequence_Assign(self, theOther)

    def Set(self, theOther):
        return _TDF.TDF_AttributeSequence_Set(self, theOther)

    def Remove(self, *args):
        return _TDF.TDF_AttributeSequence_Remove(self, *args)

    def Append(self, *args):
        return _TDF.TDF_AttributeSequence_Append(self, *args)

    def Prepend(self, *args):
        return _TDF.TDF_AttributeSequence_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _TDF.TDF_AttributeSequence_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _TDF.TDF_AttributeSequence_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _TDF.TDF_AttributeSequence_Split(self, theIndex, theSeq)

    def First(self):
        return _TDF.TDF_AttributeSequence_First(self)

    def ChangeFirst(self):
        return _TDF.TDF_AttributeSequence_ChangeFirst(self)

    def Last(self):
        return _TDF.TDF_AttributeSequence_Last(self)

    def ChangeLast(self):
        return _TDF.TDF_AttributeSequence_ChangeLast(self)

    def Value(self, theIndex):
        return _TDF.TDF_AttributeSequence_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _TDF.TDF_AttributeSequence_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _TDF.TDF_AttributeSequence___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _TDF.TDF_AttributeSequence_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _TDF.delete_TDF_AttributeSequence

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


# Register TDF_AttributeSequence in _TDF:
_TDF.TDF_AttributeSequence_swigregister(TDF_AttributeSequence)
class TDF_DeltaList(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TDF.TDF_DeltaList_begin(self)

    def end(self):
        return _TDF.TDF_DeltaList_end(self)

    def cbegin(self):
        return _TDF.TDF_DeltaList_cbegin(self)

    def cend(self):
        return _TDF.TDF_DeltaList_cend(self)

    def __init__(self, *args):
        _TDF.TDF_DeltaList_swiginit(self, _TDF.new_TDF_DeltaList(*args))

    def Size(self):
        return _TDF.TDF_DeltaList_Size(self)

    def Assign(self, theOther):
        return _TDF.TDF_DeltaList_Assign(self, theOther)

    def Set(self, theOther):
        return _TDF.TDF_DeltaList_Set(self, theOther)

    def Clear(self, theAllocator=0):
        return _TDF.TDF_DeltaList_Clear(self, theAllocator)

    def First(self):
        return _TDF.TDF_DeltaList_First(self)

    def Last(self):
        return _TDF.TDF_DeltaList_Last(self)

    def Append(self, *args):
        return _TDF.TDF_DeltaList_Append(self, *args)

    def Prepend(self, *args):
        return _TDF.TDF_DeltaList_Prepend(self, *args)

    def RemoveFirst(self):
        return _TDF.TDF_DeltaList_RemoveFirst(self)

    def Remove(self, theIter):
        return _TDF.TDF_DeltaList_Remove(self, theIter)

    def InsertBefore(self, *args):
        return _TDF.TDF_DeltaList_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _TDF.TDF_DeltaList_InsertAfter(self, *args)

    def Reverse(self):
        return _TDF.TDF_DeltaList_Reverse(self)
    __swig_destroy__ = _TDF.delete_TDF_DeltaList

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


# Register TDF_DeltaList in _TDF:
_TDF.TDF_DeltaList_swigregister(TDF_DeltaList)
class TDF_GUIDProgIDMap(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):
        _TDF.TDF_GUIDProgIDMap_swiginit(self, _TDF.new_TDF_GUIDProgIDMap(*args))

    def Exchange(self, theOther):
        return _TDF.TDF_GUIDProgIDMap_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TDF.TDF_GUIDProgIDMap_Assign(self, theOther)

    def Set(self, theOther):
        return _TDF.TDF_GUIDProgIDMap_Set(self, theOther)

    def ReSize(self, N):
        return _TDF.TDF_GUIDProgIDMap_ReSize(self, N)

    def Bind(self, theKey1, theKey2):
        return _TDF.TDF_GUIDProgIDMap_Bind(self, theKey1, theKey2)

    def AreBound(self, theKey1, theKey2):
        return _TDF.TDF_GUIDProgIDMap_AreBound(self, theKey1, theKey2)

    def IsBound1(self, theKey1):
        return _TDF.TDF_GUIDProgIDMap_IsBound1(self, theKey1)

    def IsBound2(self, theKey2):
        return _TDF.TDF_GUIDProgIDMap_IsBound2(self, theKey2)

    def UnBind1(self, theKey1):
        return _TDF.TDF_GUIDProgIDMap_UnBind1(self, theKey1)

    def UnBind2(self, theKey2):
        return _TDF.TDF_GUIDProgIDMap_UnBind2(self, theKey2)

    def Find1(self, *args):
        return _TDF.TDF_GUIDProgIDMap_Find1(self, *args)

    def Seek1(self, theKey1):
        return _TDF.TDF_GUIDProgIDMap_Seek1(self, theKey1)

    def Find2(self, *args):
        return _TDF.TDF_GUIDProgIDMap_Find2(self, *args)

    def Seek2(self, theKey2):
        return _TDF.TDF_GUIDProgIDMap_Seek2(self, theKey2)

    def Clear(self, *args):
        return _TDF.TDF_GUIDProgIDMap_Clear(self, *args)
    __swig_destroy__ = _TDF.delete_TDF_GUIDProgIDMap

    def Size(self):
        return _TDF.TDF_GUIDProgIDMap_Size(self)

# Register TDF_GUIDProgIDMap in _TDF:
_TDF.TDF_GUIDProgIDMap_swigregister(TDF_GUIDProgIDMap)
class TDF_HAllocator(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):
        _TDF.TDF_HAllocator_swiginit(self, _TDF.new_TDF_HAllocator())
    __swig_destroy__ = _TDF.delete_TDF_HAllocator

# Register TDF_HAllocator in _TDF:
_TDF.TDF_HAllocator_swigregister(TDF_HAllocator)
class TDF_IDList(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TDF.TDF_IDList_begin(self)

    def end(self):
        return _TDF.TDF_IDList_end(self)

    def cbegin(self):
        return _TDF.TDF_IDList_cbegin(self)

    def cend(self):
        return _TDF.TDF_IDList_cend(self)

    def __init__(self, *args):
        _TDF.TDF_IDList_swiginit(self, _TDF.new_TDF_IDList(*args))

    def Size(self):
        return _TDF.TDF_IDList_Size(self)

    def Assign(self, theOther):
        return _TDF.TDF_IDList_Assign(self, theOther)

    def Set(self, theOther):
        return _TDF.TDF_IDList_Set(self, theOther)

    def Clear(self, theAllocator=0):
        return _TDF.TDF_IDList_Clear(self, theAllocator)

    def First(self):
        return _TDF.TDF_IDList_First(self)

    def Last(self):
        return _TDF.TDF_IDList_Last(self)

    def Append(self, *args):
        return _TDF.TDF_IDList_Append(self, *args)

    def Prepend(self, *args):
        return _TDF.TDF_IDList_Prepend(self, *args)

    def RemoveFirst(self):
        return _TDF.TDF_IDList_RemoveFirst(self)

    def Remove(self, theIter):
        return _TDF.TDF_IDList_Remove(self, theIter)

    def InsertBefore(self, *args):
        return _TDF.TDF_IDList_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _TDF.TDF_IDList_InsertAfter(self, *args)

    def Reverse(self):
        return _TDF.TDF_IDList_Reverse(self)
    __swig_destroy__ = _TDF.delete_TDF_IDList

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


# Register TDF_IDList in _TDF:
_TDF.TDF_IDList_swigregister(TDF_IDList)
class TDF_IDMap(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def cbegin(self):
        return _TDF.TDF_IDMap_cbegin(self)

    def cend(self):
        return _TDF.TDF_IDMap_cend(self)

    def __init__(self, *args):
        _TDF.TDF_IDMap_swiginit(self, _TDF.new_TDF_IDMap(*args))

    def Exchange(self, theOther):
        return _TDF.TDF_IDMap_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TDF.TDF_IDMap_Assign(self, theOther)

    def Set(self, theOther):
        return _TDF.TDF_IDMap_Set(self, theOther)

    def ReSize(self, N):
        return _TDF.TDF_IDMap_ReSize(self, N)

    def Add(self, K):
        return _TDF.TDF_IDMap_Add(self, K)

    def Added(self, K):
        return _TDF.TDF_IDMap_Added(self, K)

    def Remove(self, K):
        return _TDF.TDF_IDMap_Remove(self, K)

    def Clear(self, *args):
        return _TDF.TDF_IDMap_Clear(self, *args)
    __swig_destroy__ = _TDF.delete_TDF_IDMap

    def Size(self):
        return _TDF.TDF_IDMap_Size(self)

    def IsEqual(self, theOther):
        return _TDF.TDF_IDMap_IsEqual(self, theOther)

    def Contains(self, *args):
        return _TDF.TDF_IDMap_Contains(self, *args)

    def Union(self, theLeft, theRight):
        return _TDF.TDF_IDMap_Union(self, theLeft, theRight)

    def Unite(self, theOther):
        return _TDF.TDF_IDMap_Unite(self, theOther)

    def HasIntersection(self, theMap):
        return _TDF.TDF_IDMap_HasIntersection(self, theMap)

    def Intersection(self, theLeft, theRight):
        return _TDF.TDF_IDMap_Intersection(self, theLeft, theRight)

    def Intersect(self, theOther):
        return _TDF.TDF_IDMap_Intersect(self, theOther)

    def Subtraction(self, theLeft, theRight):
        return _TDF.TDF_IDMap_Subtraction(self, theLeft, theRight)

    def Subtract(self, theOther):
        return _TDF.TDF_IDMap_Subtract(self, theOther)

    def Difference(self, theLeft, theRight):
        return _TDF.TDF_IDMap_Difference(self, theLeft, theRight)

    def Differ(self, theOther):
        return _TDF.TDF_IDMap_Differ(self, theOther)

# Register TDF_IDMap in _TDF:
_TDF.TDF_IDMap_swigregister(TDF_IDMap)
class TDF_LabelDataMap(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TDF.TDF_LabelDataMap_begin(self)

    def end(self):
        return _TDF.TDF_LabelDataMap_end(self)

    def cbegin(self):
        return _TDF.TDF_LabelDataMap_cbegin(self)

    def cend(self):
        return _TDF.TDF_LabelDataMap_cend(self)

    def __init__(self, *args):
        _TDF.TDF_LabelDataMap_swiginit(self, _TDF.new_TDF_LabelDataMap(*args))

    def Exchange(self, theOther):
        return _TDF.TDF_LabelDataMap_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TDF.TDF_LabelDataMap_Assign(self, theOther)

    def Set(self, theOther):
        return _TDF.TDF_LabelDataMap_Set(self, theOther)

    def ReSize(self, N):
        return _TDF.TDF_LabelDataMap_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TDF.TDF_LabelDataMap_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TDF.TDF_LabelDataMap_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TDF.TDF_LabelDataMap_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TDF.TDF_LabelDataMap_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TDF.TDF_LabelDataMap_Seek(self, theKey)

    def Find(self, *args):
        return _TDF.TDF_LabelDataMap_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TDF.TDF_LabelDataMap_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TDF.TDF_LabelDataMap_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TDF.TDF_LabelDataMap___call__(self, *args)

    def Clear(self, *args):
        return _TDF.TDF_LabelDataMap_Clear(self, *args)
    __swig_destroy__ = _TDF.delete_TDF_LabelDataMap

    def Size(self):
        return _TDF.TDF_LabelDataMap_Size(self)

# Register TDF_LabelDataMap in _TDF:
_TDF.TDF_LabelDataMap_swigregister(TDF_LabelDataMap)
class TDF_LabelDoubleMap(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):
        _TDF.TDF_LabelDoubleMap_swiginit(self, _TDF.new_TDF_LabelDoubleMap(*args))

    def Exchange(self, theOther):
        return _TDF.TDF_LabelDoubleMap_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TDF.TDF_LabelDoubleMap_Assign(self, theOther)

    def Set(self, theOther):
        return _TDF.TDF_LabelDoubleMap_Set(self, theOther)

    def ReSize(self, N):
        return _TDF.TDF_LabelDoubleMap_ReSize(self, N)

    def Bind(self, theKey1, theKey2):
        return _TDF.TDF_LabelDoubleMap_Bind(self, theKey1, theKey2)

    def AreBound(self, theKey1, theKey2):
        return _TDF.TDF_LabelDoubleMap_AreBound(self, theKey1, theKey2)

    def IsBound1(self, theKey1):
        return _TDF.TDF_LabelDoubleMap_IsBound1(self, theKey1)

    def IsBound2(self, theKey2):
        return _TDF.TDF_LabelDoubleMap_IsBound2(self, theKey2)

    def UnBind1(self, theKey1):
        return _TDF.TDF_LabelDoubleMap_UnBind1(self, theKey1)

    def UnBind2(self, theKey2):
        return _TDF.TDF_LabelDoubleMap_UnBind2(self, theKey2)

    def Find1(self, *args):
        return _TDF.TDF_LabelDoubleMap_Find1(self, *args)

    def Seek1(self, theKey1):
        return _TDF.TDF_LabelDoubleMap_Seek1(self, theKey1)

    def Find2(self, *args):
        return _TDF.TDF_LabelDoubleMap_Find2(self, *args)

    def Seek2(self, theKey2):
        return _TDF.TDF_LabelDoubleMap_Seek2(self, theKey2)

    def Clear(self, *args):
        return _TDF.TDF_LabelDoubleMap_Clear(self, *args)
    __swig_destroy__ = _TDF.delete_TDF_LabelDoubleMap

    def Size(self):
        return _TDF.TDF_LabelDoubleMap_Size(self)

# Register TDF_LabelDoubleMap in _TDF:
_TDF.TDF_LabelDoubleMap_swigregister(TDF_LabelDoubleMap)
class TDF_LabelIndexedMap(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def cbegin(self):
        return _TDF.TDF_LabelIndexedMap_cbegin(self)

    def cend(self):
        return _TDF.TDF_LabelIndexedMap_cend(self)

    def __init__(self, *args):
        _TDF.TDF_LabelIndexedMap_swiginit(self, _TDF.new_TDF_LabelIndexedMap(*args))

    def Exchange(self, theOther):
        return _TDF.TDF_LabelIndexedMap_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TDF.TDF_LabelIndexedMap_Assign(self, theOther)

    def Set(self, theOther):
        return _TDF.TDF_LabelIndexedMap_Set(self, theOther)

    def ReSize(self, theExtent):
        return _TDF.TDF_LabelIndexedMap_ReSize(self, theExtent)

    def Add(self, theKey1):
        return _TDF.TDF_LabelIndexedMap_Add(self, theKey1)

    def Contains(self, theKey1):
        return _TDF.TDF_LabelIndexedMap_Contains(self, theKey1)

    def Substitute(self, theIndex, theKey1):
        return _TDF.TDF_LabelIndexedMap_Substitute(self, theIndex, theKey1)

    def Swap(self, theIndex1, theIndex2):
        return _TDF.TDF_LabelIndexedMap_Swap(self, theIndex1, theIndex2)

    def RemoveLast(self):
        return _TDF.TDF_LabelIndexedMap_RemoveLast(self)

    def RemoveFromIndex(self, theIndex):
        return _TDF.TDF_LabelIndexedMap_RemoveFromIndex(self, theIndex)

    def RemoveKey(self, theKey1):
        return _TDF.TDF_LabelIndexedMap_RemoveKey(self, theKey1)

    def FindKey(self, theIndex):
        return _TDF.TDF_LabelIndexedMap_FindKey(self, theIndex)

    def __call__(self, theIndex):
        return _TDF.TDF_LabelIndexedMap___call__(self, theIndex)

    def FindIndex(self, theKey1):
        return _TDF.TDF_LabelIndexedMap_FindIndex(self, theKey1)

    def Clear(self, *args):
        return _TDF.TDF_LabelIndexedMap_Clear(self, *args)
    __swig_destroy__ = _TDF.delete_TDF_LabelIndexedMap

    def Size(self):
        return _TDF.TDF_LabelIndexedMap_Size(self)

# Register TDF_LabelIndexedMap in _TDF:
_TDF.TDF_LabelIndexedMap_swigregister(TDF_LabelIndexedMap)
class TDF_LabelIntegerMap(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TDF.TDF_LabelIntegerMap_begin(self)

    def end(self):
        return _TDF.TDF_LabelIntegerMap_end(self)

    def cbegin(self):
        return _TDF.TDF_LabelIntegerMap_cbegin(self)

    def cend(self):
        return _TDF.TDF_LabelIntegerMap_cend(self)

    def __init__(self, *args):
        _TDF.TDF_LabelIntegerMap_swiginit(self, _TDF.new_TDF_LabelIntegerMap(*args))

    def Exchange(self, theOther):
        return _TDF.TDF_LabelIntegerMap_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TDF.TDF_LabelIntegerMap_Assign(self, theOther)

    def Set(self, theOther):
        return _TDF.TDF_LabelIntegerMap_Set(self, theOther)

    def ReSize(self, N):
        return _TDF.TDF_LabelIntegerMap_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TDF.TDF_LabelIntegerMap_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TDF.TDF_LabelIntegerMap_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TDF.TDF_LabelIntegerMap_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TDF.TDF_LabelIntegerMap_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TDF.TDF_LabelIntegerMap_Seek(self, theKey)

    def Find(self, *args):
        return _TDF.TDF_LabelIntegerMap_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TDF.TDF_LabelIntegerMap_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TDF.TDF_LabelIntegerMap_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TDF.TDF_LabelIntegerMap___call__(self, *args)

    def Clear(self, *args):
        return _TDF.TDF_LabelIntegerMap_Clear(self, *args)
    __swig_destroy__ = _TDF.delete_TDF_LabelIntegerMap

    def Size(self):
        return _TDF.TDF_LabelIntegerMap_Size(self)

# Register TDF_LabelIntegerMap in _TDF:
_TDF.TDF_LabelIntegerMap_swigregister(TDF_LabelIntegerMap)
class TDF_LabelList(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TDF.TDF_LabelList_begin(self)

    def end(self):
        return _TDF.TDF_LabelList_end(self)

    def cbegin(self):
        return _TDF.TDF_LabelList_cbegin(self)

    def cend(self):
        return _TDF.TDF_LabelList_cend(self)

    def __init__(self, *args):
        _TDF.TDF_LabelList_swiginit(self, _TDF.new_TDF_LabelList(*args))

    def Size(self):
        return _TDF.TDF_LabelList_Size(self)

    def Assign(self, theOther):
        return _TDF.TDF_LabelList_Assign(self, theOther)

    def Set(self, theOther):
        return _TDF.TDF_LabelList_Set(self, theOther)

    def Clear(self, theAllocator=0):
        return _TDF.TDF_LabelList_Clear(self, theAllocator)

    def First(self):
        return _TDF.TDF_LabelList_First(self)

    def Last(self):
        return _TDF.TDF_LabelList_Last(self)

    def Append(self, *args):
        return _TDF.TDF_LabelList_Append(self, *args)

    def Prepend(self, *args):
        return _TDF.TDF_LabelList_Prepend(self, *args)

    def RemoveFirst(self):
        return _TDF.TDF_LabelList_RemoveFirst(self)

    def Remove(self, theIter):
        return _TDF.TDF_LabelList_Remove(self, theIter)

    def InsertBefore(self, *args):
        return _TDF.TDF_LabelList_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _TDF.TDF_LabelList_InsertAfter(self, *args)

    def Reverse(self):
        return _TDF.TDF_LabelList_Reverse(self)
    __swig_destroy__ = _TDF.delete_TDF_LabelList

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


# Register TDF_LabelList in _TDF:
_TDF.TDF_LabelList_swigregister(TDF_LabelList)
class TDF_LabelMap(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def cbegin(self):
        return _TDF.TDF_LabelMap_cbegin(self)

    def cend(self):
        return _TDF.TDF_LabelMap_cend(self)

    def __init__(self, *args):
        _TDF.TDF_LabelMap_swiginit(self, _TDF.new_TDF_LabelMap(*args))

    def Exchange(self, theOther):
        return _TDF.TDF_LabelMap_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TDF.TDF_LabelMap_Assign(self, theOther)

    def Set(self, theOther):
        return _TDF.TDF_LabelMap_Set(self, theOther)

    def ReSize(self, N):
        return _TDF.TDF_LabelMap_ReSize(self, N)

    def Add(self, K):
        return _TDF.TDF_LabelMap_Add(self, K)

    def Added(self, K):
        return _TDF.TDF_LabelMap_Added(self, K)

    def Remove(self, K):
        return _TDF.TDF_LabelMap_Remove(self, K)

    def Clear(self, *args):
        return _TDF.TDF_LabelMap_Clear(self, *args)
    __swig_destroy__ = _TDF.delete_TDF_LabelMap

    def Size(self):
        return _TDF.TDF_LabelMap_Size(self)

    def IsEqual(self, theOther):
        return _TDF.TDF_LabelMap_IsEqual(self, theOther)

    def Contains(self, *args):
        return _TDF.TDF_LabelMap_Contains(self, *args)

    def Union(self, theLeft, theRight):
        return _TDF.TDF_LabelMap_Union(self, theLeft, theRight)

    def Unite(self, theOther):
        return _TDF.TDF_LabelMap_Unite(self, theOther)

    def HasIntersection(self, theMap):
        return _TDF.TDF_LabelMap_HasIntersection(self, theMap)

    def Intersection(self, theLeft, theRight):
        return _TDF.TDF_LabelMap_Intersection(self, theLeft, theRight)

    def Intersect(self, theOther):
        return _TDF.TDF_LabelMap_Intersect(self, theOther)

    def Subtraction(self, theLeft, theRight):
        return _TDF.TDF_LabelMap_Subtraction(self, theLeft, theRight)

    def Subtract(self, theOther):
        return _TDF.TDF_LabelMap_Subtract(self, theOther)

    def Difference(self, theLeft, theRight):
        return _TDF.TDF_LabelMap_Difference(self, theLeft, theRight)

    def Differ(self, theOther):
        return _TDF.TDF_LabelMap_Differ(self, theOther)

# Register TDF_LabelMap in _TDF:
_TDF.TDF_LabelMap_swigregister(TDF_LabelMap)
class TDF_LabelSequence(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TDF.TDF_LabelSequence_begin(self)

    def end(self):
        return _TDF.TDF_LabelSequence_end(self)

    def cbegin(self):
        return _TDF.TDF_LabelSequence_cbegin(self)

    def cend(self):
        return _TDF.TDF_LabelSequence_cend(self)

    def __init__(self, *args):
        _TDF.TDF_LabelSequence_swiginit(self, _TDF.new_TDF_LabelSequence(*args))

    def Size(self):
        return _TDF.TDF_LabelSequence_Size(self)

    def Length(self):
        return _TDF.TDF_LabelSequence_Length(self)

    def Lower(self):
        return _TDF.TDF_LabelSequence_Lower(self)

    def Upper(self):
        return _TDF.TDF_LabelSequence_Upper(self)

    def IsEmpty(self):
        return _TDF.TDF_LabelSequence_IsEmpty(self)

    def Reverse(self):
        return _TDF.TDF_LabelSequence_Reverse(self)

    def Exchange(self, I, J):
        return _TDF.TDF_LabelSequence_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _TDF.TDF_LabelSequence_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _TDF.TDF_LabelSequence_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _TDF.TDF_LabelSequence_Assign(self, theOther)

    def Set(self, theOther):
        return _TDF.TDF_LabelSequence_Set(self, theOther)

    def Remove(self, *args):
        return _TDF.TDF_LabelSequence_Remove(self, *args)

    def Append(self, *args):
        return _TDF.TDF_LabelSequence_Append(self, *args)

    def Prepend(self, *args):
        return _TDF.TDF_LabelSequence_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _TDF.TDF_LabelSequence_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _TDF.TDF_LabelSequence_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _TDF.TDF_LabelSequence_Split(self, theIndex, theSeq)

    def First(self):
        return _TDF.TDF_LabelSequence_First(self)

    def ChangeFirst(self):
        return _TDF.TDF_LabelSequence_ChangeFirst(self)

    def Last(self):
        return _TDF.TDF_LabelSequence_Last(self)

    def ChangeLast(self):
        return _TDF.TDF_LabelSequence_ChangeLast(self)

    def Value(self, theIndex):
        return _TDF.TDF_LabelSequence_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _TDF.TDF_LabelSequence_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _TDF.TDF_LabelSequence___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _TDF.TDF_LabelSequence_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _TDF.delete_TDF_LabelSequence

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


# Register TDF_LabelSequence in _TDF:
_TDF.TDF_LabelSequence_swigregister(TDF_LabelSequence)
class TDF_ListIteratorOfAttributeDeltaList(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):
        _TDF.TDF_ListIteratorOfAttributeDeltaList_swiginit(self, _TDF.new_TDF_ListIteratorOfAttributeDeltaList(*args))

    def More(self):
        return _TDF.TDF_ListIteratorOfAttributeDeltaList_More(self)

    def Next(self):
        return _TDF.TDF_ListIteratorOfAttributeDeltaList_Next(self)

    def Value(self):
        return _TDF.TDF_ListIteratorOfAttributeDeltaList_Value(self)

    def ChangeValue(self):
        return _TDF.TDF_ListIteratorOfAttributeDeltaList_ChangeValue(self)
    __swig_destroy__ = _TDF.delete_TDF_ListIteratorOfAttributeDeltaList

# Register TDF_ListIteratorOfAttributeDeltaList in _TDF:
_TDF.TDF_ListIteratorOfAttributeDeltaList_swigregister(TDF_ListIteratorOfAttributeDeltaList)
class TDF_ListIteratorOfAttributeList(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):
        _TDF.TDF_ListIteratorOfAttributeList_swiginit(self, _TDF.new_TDF_ListIteratorOfAttributeList(*args))

    def More(self):
        return _TDF.TDF_ListIteratorOfAttributeList_More(self)

    def Next(self):
        return _TDF.TDF_ListIteratorOfAttributeList_Next(self)

    def Value(self):
        return _TDF.TDF_ListIteratorOfAttributeList_Value(self)

    def ChangeValue(self):
        return _TDF.TDF_ListIteratorOfAttributeList_ChangeValue(self)
    __swig_destroy__ = _TDF.delete_TDF_ListIteratorOfAttributeList

# Register TDF_ListIteratorOfAttributeList in _TDF:
_TDF.TDF_ListIteratorOfAttributeList_swigregister(TDF_ListIteratorOfAttributeList)
class TDF_ListIteratorOfDeltaList(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):
        _TDF.TDF_ListIteratorOfDeltaList_swiginit(self, _TDF.new_TDF_ListIteratorOfDeltaList(*args))

    def More(self):
        return _TDF.TDF_ListIteratorOfDeltaList_More(self)

    def Next(self):
        return _TDF.TDF_ListIteratorOfDeltaList_Next(self)

    def Value(self):
        return _TDF.TDF_ListIteratorOfDeltaList_Value(self)

    def ChangeValue(self):
        return _TDF.TDF_ListIteratorOfDeltaList_ChangeValue(self)
    __swig_destroy__ = _TDF.delete_TDF_ListIteratorOfDeltaList

# Register TDF_ListIteratorOfDeltaList in _TDF:
_TDF.TDF_ListIteratorOfDeltaList_swigregister(TDF_ListIteratorOfDeltaList)
class TDF_ListIteratorOfIDList(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):
        _TDF.TDF_ListIteratorOfIDList_swiginit(self, _TDF.new_TDF_ListIteratorOfIDList(*args))

    def More(self):
        return _TDF.TDF_ListIteratorOfIDList_More(self)

    def Next(self):
        return _TDF.TDF_ListIteratorOfIDList_Next(self)

    def Value(self):
        return _TDF.TDF_ListIteratorOfIDList_Value(self)

    def ChangeValue(self):
        return _TDF.TDF_ListIteratorOfIDList_ChangeValue(self)
    __swig_destroy__ = _TDF.delete_TDF_ListIteratorOfIDList

# Register TDF_ListIteratorOfIDList in _TDF:
_TDF.TDF_ListIteratorOfIDList_swigregister(TDF_ListIteratorOfIDList)
class TDF_ListIteratorOfLabelList(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):
        _TDF.TDF_ListIteratorOfLabelList_swiginit(self, _TDF.new_TDF_ListIteratorOfLabelList(*args))

    def More(self):
        return _TDF.TDF_ListIteratorOfLabelList_More(self)

    def Next(self):
        return _TDF.TDF_ListIteratorOfLabelList_Next(self)

    def Value(self):
        return _TDF.TDF_ListIteratorOfLabelList_Value(self)

    def ChangeValue(self):
        return _TDF.TDF_ListIteratorOfLabelList_ChangeValue(self)
    __swig_destroy__ = _TDF.delete_TDF_ListIteratorOfLabelList

# Register TDF_ListIteratorOfLabelList in _TDF:
_TDF.TDF_ListIteratorOfLabelList_swigregister(TDF_ListIteratorOfLabelList)
class tdf(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        ID: Standard_GUID
        ProgID: str

        Return
        -------
        None

        Description
        -----------
        Sets link between guid and progid in hidden datamap.

        """
        return _TDF.tdf_AddLinkGUIDToProgID(*args)

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

        Parameters
        ----------
        ProgID: str
        ID: Standard_GUID

        Return
        -------
        bool

        Description
        -----------
        Returns true if there is guid for given <progid> then guid is returned in <id>.

        """
        return _TDF.tdf_GUIDFromProgID(*args)

    @staticmethod
    def LowestID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Returns id '00000000-0000-0000-0000-000000000000', sometimes used as null id.

        """
        return _TDF.tdf_LowestID(*args)

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

        Parameters
        ----------
        ID: Standard_GUID
        ProgID: str

        Return
        -------
        bool

        Description
        -----------
        Returns true if there is progid for given <id> then progid is returned in <progid>.

        """
        return _TDF.tdf_ProgIDFromGUID(*args)

    @staticmethod
    def UppestID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Returns id 'ffffffff-ffff-ffff-ffff-ffffffffffff'.

        """
        return _TDF.tdf_UppestID(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _TDF.tdf_swiginit(self, _TDF.new_tdf())
    __swig_destroy__ = _TDF.delete_tdf

# Register tdf in _TDF:
_TDF.tdf_swigregister(tdf)
class TDF_Attribute(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        other: TDF_Attribute

        Return
        -------
        None

        Description
        -----------
        Adds an attribute <other> to the label of <self>.raises if there is already one of the same guid fhan <other>.

        """
        return _TDF.TDF_Attribute_AddAttribute(self, *args)

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

        Description
        -----------
        Something to do after adding an attribute to a label.

        """
        return _TDF.TDF_Attribute_AfterAddition(self, *args)

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

        Description
        -----------
        Something to do after resuming an attribute from a label.

        """
        return _TDF.TDF_Attribute_AfterResume(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Something to do after creation of an attribute by persistent-transient translation. the returned status says if afterundo has been performed (true) or if this callback must be called once again further (false). if <forceit> is set to true, the method must perform and return true. does nothing by default and returns true.

        """
        return _TDF.TDF_Attribute_AfterRetrieval(self, *args)

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

        Parameters
        ----------
        anAttDelta: TDF_AttributeDelta
        forceIt: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Something to do after applying <anattdelta>. the returned status says if afterundo has been performed (true) or if this callback must be called once again further (false). if <forceit> is set to true, the method must perform and return true. does nothing by default and returns true.

        """
        return _TDF.TDF_Attribute_AfterUndo(self, *args)

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

        Description
        -----------
        Backups the attribute. the backuped attribute is flagged 'backuped' and not 'valid'. //! the method does nothing: //! 1) if the attribute transaction number is equal to the current transaction number (the attribute has already been backuped). //! 2) if the attribute is not attached to a label.

        """
        return _TDF.TDF_Attribute_Backup(self, *args)

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

        Description
        -----------
        Copies the attribute contents into a new other attribute. it is used by backup().

        """
        return _TDF.TDF_Attribute_BackupCopy(self, *args)

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

        Description
        -----------
        A callback. by default does nothing. it is called by tdf_data::committransaction() method.

        """
        return _TDF.TDF_Attribute_BeforeCommitTransaction(self, *args)

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

        Description
        -----------
        Something to do before forgetting an attribute to a label.

        """
        return _TDF.TDF_Attribute_BeforeForget(self, *args)

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

        Description
        -----------
        Something to do before removing an attribute from a label.

        """
        return _TDF.TDF_Attribute_BeforeRemoval(self, *args)

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

        Parameters
        ----------
        anAttDelta: TDF_AttributeDelta
        forceIt: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Something to do before applying <anattdelta>. the returned status says if afterundo has been performed (true) or if this callback must be called once again further (false). if <forceit> is set to true, the method must perform and return true. does nothing by default and returns true.

        """
        return _TDF.TDF_Attribute_BeforeUndo(self, *args)

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

        Description
        -----------
        Makes an attributedelta because <self> appeared. the only known use of a redefinition of this method is to return a null handle (no delta).

        """
        return _TDF.TDF_Attribute_DeltaOnAddition(self, *args)

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

        Description
        -----------
        Makes an attributedelta because <self> has been forgotten.

        """
        return _TDF.TDF_Attribute_DeltaOnForget(self, *args)

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

        Parameters
        ----------
        anOldAttribute: TDF_Attribute

        Return
        -------
        opencascade::handle<TDF_DeltaOnModification>

        Description
        -----------
        Makes a deltaonmodification between <self> and <anoldattribute.

        Parameters
        ----------
        aDelta: TDF_DeltaOnModification

        Return
        -------
        None

        Description
        -----------
        Applies a deltaonmodification to <self>.

        """
        return _TDF.TDF_Attribute_DeltaOnModification(self, *args)

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

        Description
        -----------
        Makes a deltaonremoval on <self> because <self> has disappeared from the ds.

        """
        return _TDF.TDF_Attribute_DeltaOnRemoval(self, *args)

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

        Description
        -----------
        Makes an attributedelta because <self> has been resumed.

        """
        return _TDF.TDF_Attribute_DeltaOnResume(self, *args)

    def DumpToString(self):
        r"""DumpToString(TDF_Attribute self) -> std::string"""
        return _TDF.TDF_Attribute_DumpToString(self)

    def DumpJsonToString(self, depth=-1):
        r"""Json string serializer.Json string serializer."""
        return _TDF.TDF_Attribute_DumpJsonToString(self, depth)

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

        Parameters
        ----------
        anID: Standard_GUID
        anAttribute: TDF_Attribute

        Return
        -------
        bool

        Description
        -----------
        Finds an associated attribute of <self>, according to <anid>. the returned <anattribute> is a valid one. the method returns true if found, false otherwise. a removed attribute cannot be found using this method.

        """
        return _TDF.TDF_Attribute_FindAttribute(self, *args)

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

        Parameters
        ----------
        aTransaction: int

        Return
        -------
        None

        Description
        -----------
        Forgets the attribute. <atransaction> is the current transaction in which the forget is done. a forgotten attribute is also flagged not 'valid'. //! a forgotten attribute is invisible. set also the 'valid' status to false. obvioulsy, df cannot empty an attribute (this has a semantic signification), but can remove it from the structure. so, a forgotten attribute is not an empty one, but a soon dead one. //! should be private.

        """
        return _TDF.TDF_Attribute_Forget(self, *args)

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

        Parameters
        ----------
        clearChildren: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Forgets all the attributes attached to the label of <self>. does it on the sub-labels if <clearchildren> is set to true. of course, this method is compatible with transaction & delta mechanisms. be careful that if <self> will have a null label after this call.

        """
        return _TDF.TDF_Attribute_ForgetAllAttributes(self, *args)

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

        Parameters
        ----------
        aguid: Standard_GUID

        Return
        -------
        bool

        Description
        -----------
        Forgets the attribute of guid <aguid> associated to the label of <self>. be careful that if <self> is the attribute of <guid>, <self> will have a null label after this call. if the attribute doesn't exist returns false. otherwise returns true.

        """
        return _TDF.TDF_Attribute_ForgetAttribute(self, *args)

    def ID(self, *args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Returns the id of the attribute.

        """
        return _TDF.TDF_Attribute_ID(self, *args)

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

        Parameters
        ----------
        anID: Standard_GUID

        Return
        -------
        bool

        Description
        -----------
        Returns true if it exists an associated attribute of <self> with <anid> as id.

        """
        return _TDF.TDF_Attribute_IsAttribute(self, *args)

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

        Description
        -----------
        Returns true if the attribute backup status is set. this status is set/unset by the backup() method.

        """
        return _TDF.TDF_Attribute_IsBackuped(self, *args)

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

        Description
        -----------
        Returns true if the attribute forgotten status is set. //! shortcut methods concerning associated attributes =================================================.

        """
        return _TDF.TDF_Attribute_IsForgotten(self, *args)

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

        Description
        -----------
        Returns true if the attribute has no backup.

        """
        return _TDF.TDF_Attribute_IsNew(self, *args)

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

        Description
        -----------
        Returns true if the attribute is valid; i.e. not a backuped or removed one.

        """
        return _TDF.TDF_Attribute_IsValid(self, *args)

    def Label(self, *args):
        r"""
        Return
        -------
        TDF_Label

        Description
        -----------
        Returns the label to which the attribute is attached. if the label is not included in a df, the label is null. see label. warning if the label is not included in a data framework, it is null. this function should not be redefined inline.

        """
        return _TDF.TDF_Attribute_Label(self, *args)

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

        Description
        -----------
        Returns an new empty attribute from the good end type. it is used by the copy algorithm.

        """
        return _TDF.TDF_Attribute_NewEmpty(self, *args)

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

        Parameters
        ----------
        intoAttribute: TDF_Attribute
        aRelocationTable: TDF_RelocationTable

        Return
        -------
        None

        Description
        -----------
        This method is different from the 'copy' one, because it is used when copying an attribute from a source structure into a target structure. this method may paste the contents of <self> into <intoattribute>. //! the given pasted attribute can be full or empty of its contents. but don't make a new! just set the contents! //! it is possible to use <arelocationtable> to get/set the relocation value of a source attribute.

        """
        return _TDF.TDF_Attribute_Paste(self, *args)

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

        Parameters
        ----------
        aDataSet: TDF_DataSet

        Return
        -------
        None

        Description
        -----------
        Adds the first level referenced attributes and labels to <adataset>. //! for this, use the addlabel or addattribute of dataset. //! if there is none, do not implement the method.

        """
        return _TDF.TDF_Attribute_References(self, *args)

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

        Parameters
        ----------
        anAttribute: TDF_Attribute

        Return
        -------
        None

        Description
        -----------
        Restores the backuped contents from <anattribute> into this one. it is used when aborting a transaction.

        """
        return _TDF.TDF_Attribute_Restore(self, *args)

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

        Parameters
        ----------
        &: Standard_GUID

        Return
        -------
        None

        Description
        -----------
        Sets specific id of the attribute (supports several attributes of one type at the same label feature).
        Return
        -------
        None

        Description
        -----------
        Sets default id defined in nested class (to be used for attributes having user id feature).

        """
        return _TDF.TDF_Attribute_SetID(self, *args)

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

        Description
        -----------
        Returns the transaction index in which the attribute has been created or modified.

        """
        return _TDF.TDF_Attribute_Transaction(self, *args)

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

        Description
        -----------
        Returns the upper transaction index until which the attribute is/was valid. this number may vary. a removed attribute validity range is reduced to its transaction index.

        """
        return _TDF.TDF_Attribute_UntilTransaction(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_Attribute

# Register TDF_Attribute in _TDF:
_TDF.TDF_Attribute_swigregister(TDF_Attribute)
class TDF_AttributeDelta(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

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

        Description
        -----------
        Applies the delta to the attribute.

        """
        return _TDF.TDF_AttributeDelta_Apply(self, *args)

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

        Description
        -----------
        Returns the reference attribute.

        """
        return _TDF.TDF_AttributeDelta_Attribute(self, *args)

    def DumpToString(self):
        r"""DumpToString(TDF_AttributeDelta self) -> std::string"""
        return _TDF.TDF_AttributeDelta_DumpToString(self)

    def DumpJsonToString(self, depth=-1):
        r"""Json string serializer.Json string serializer."""
        return _TDF.TDF_AttributeDelta_DumpJsonToString(self, depth)

    def ID(self, *args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Returns the id of the attribute concerned by <self>.

        """
        return _TDF.TDF_AttributeDelta_ID(self, *args)

    def Label(self, *args):
        r"""
        Return
        -------
        TDF_Label

        Description
        -----------
        Returns the label concerned by <self>.

        """
        return _TDF.TDF_AttributeDelta_Label(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_AttributeDelta

# Register TDF_AttributeDelta in _TDF:
_TDF.TDF_AttributeDelta_swigregister(TDF_AttributeDelta)
class TDF_AttributeIterator(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"""
        Return
        -------
        None

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

        Parameters
        ----------
        aLabel: TDF_Label
        withoutForgotten: bool (optional, default to Standard_True)

        Return
        -------
        None

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

        Parameters
        ----------
        aLabelNode: TDF_LabelNodePtr
        withoutForgotten: bool (optional, default to Standard_True)

        Return
        -------
        None

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

        """
        _TDF.TDF_AttributeIterator_swiginit(self, _TDF.new_TDF_AttributeIterator(*args))

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

        Parameters
        ----------
        aLabel: TDF_Label
        withoutForgotten: bool (optional, default to Standard_True)

        Return
        -------
        None

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

        """
        return _TDF.TDF_AttributeIterator_Initialize(self, *args)

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

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

        """
        return _TDF.TDF_AttributeIterator_More(self, *args)

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

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

        """
        return _TDF.TDF_AttributeIterator_Next(self, *args)

    def PtrValue(self, *args):
        r"""
        Return
        -------
        TDF_Attribute *

        Description
        -----------
        Provides an access to the internal pointer of the current attribute. the method has better performance as not-creating handle.

        """
        return _TDF.TDF_AttributeIterator_PtrValue(self, *args)

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

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

        """
        return _TDF.TDF_AttributeIterator_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_AttributeIterator

# Register TDF_AttributeIterator in _TDF:
_TDF.TDF_AttributeIterator_swigregister(TDF_AttributeIterator)
class TDF_ChildIDIterator(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"""
        Return
        -------
        None

        Description
        -----------
        Creates an empty iterator.

        Parameters
        ----------
        aLabel: TDF_Label
        anID: Standard_GUID
        allLevels: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Iterates on the children of the given label. if <alllevels> option is set to true, it explores not only the first, but all the sub label levels.

        """
        _TDF.TDF_ChildIDIterator_swiginit(self, _TDF.new_TDF_ChildIDIterator(*args))

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

        Parameters
        ----------
        aLabel: TDF_Label
        anID: Standard_GUID
        allLevels: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Initializes the iteration on the children of the given label. if <alllevels> option is set to true, it explores not only the first, but all the sub label levels.

        """
        return _TDF.TDF_ChildIDIterator_Initialize(self, *args)

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

        Description
        -----------
        Returns true if there is a current item in the iteration.

        """
        return _TDF.TDF_ChildIDIterator_More(self, *args)

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

        Description
        -----------
        Move to the next item.

        """
        return _TDF.TDF_ChildIDIterator_Next(self, *args)

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

        Description
        -----------
        Move to the next brother. if there is none, go up etc. this method is interesting only with 'alllevels' behavior, because it avoids to explore the current label children.

        """
        return _TDF.TDF_ChildIDIterator_NextBrother(self, *args)

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

        Description
        -----------
        Returns the current item; a null handle if there is none.

        """
        return _TDF.TDF_ChildIDIterator_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_ChildIDIterator

# Register TDF_ChildIDIterator in _TDF:
_TDF.TDF_ChildIDIterator_swigregister(TDF_ChildIDIterator)
class TDF_ChildIterator(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"""
        Return
        -------
        None

        Description
        -----------
        Creates an empty iterator object to explore the children of a label.

        Parameters
        ----------
        aLabel: TDF_Label
        allLevels: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Constructs the iterator object defined by the label alabel. iterates on the children of the given label. if <alllevels> option is set to true, it explores not only the first, but all the sub label levels.

        """
        _TDF.TDF_ChildIterator_swiginit(self, _TDF.new_TDF_ChildIterator(*args))

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

        Parameters
        ----------
        aLabel: TDF_Label
        allLevels: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Initializes the iteration on the children of the given label. if <alllevels> option is set to true, it explores not only the first, but all the sub label levels. if alllevels is false, only the first level of child labels is explored. in the example below, the label is iterated using initialize, more and next and its child labels dumped using tdf_tool::entry. example void dumpchildren(const tdf_label& alabel) { tdf_childiterator it; tcollection_asciistring es; for (it.initialize(alabel,standard_true); it.more(); it.next()){ tdf_tool::entry(it.value(),es); std::cout << as.tocstring() << std::endl; } }.

        """
        return _TDF.TDF_ChildIterator_Initialize(self, *args)

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

        Description
        -----------
        Returns true if a current label is found in the iteration process.

        """
        return _TDF.TDF_ChildIterator_More(self, *args)

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

        Description
        -----------
        Move the current iteration to the next item.

        """
        return _TDF.TDF_ChildIterator_Next(self, *args)

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

        Description
        -----------
        Moves this iteration to the next brother label. a brother label is one with the same father as an initial label. use this function when the non-empty constructor or initialize has alllevels set to true. the result is that the iteration does not explore the children of the current label. this method is interesting only with 'alllevels' behavior, because it avoids to explore the current label children.

        """
        return _TDF.TDF_ChildIterator_NextBrother(self, *args)

    def Value(self, *args):
        r"""
        Return
        -------
        TDF_Label

        Description
        -----------
        Returns the current label; or, if there is none, a null label.

        """
        return _TDF.TDF_ChildIterator_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_ChildIterator

# Register TDF_ChildIterator in _TDF:
_TDF.TDF_ChildIterator_swigregister(TDF_ChildIterator)
class TDF_ClosureMode(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"""

        Parameters
        ----------
        aMode: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Creates an object with all modes set to <amode>.

        """
        _TDF.TDF_ClosureMode_swiginit(self, _TDF.new_TDF_ClosureMode(*args))

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

        Parameters
        ----------
        aStatus: bool

        Return
        -------
        None

        Description
        -----------
        Sets the mode 'descendants' to <astatus>. //! 'descendants' mode means we add to the data set the children labels of each user given label. we do not do that with the labels found applying uptofirstlevel option.
        Return
        -------
        bool

        Description
        -----------
        Returns true if the mode 'descendants' is set.

        """
        return _TDF.TDF_ClosureMode_Descendants(self, *args)

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

        Parameters
        ----------
        aStatus: bool

        Return
        -------
        None

        Description
        -----------
        Sets the mode 'references' to <astatus>. //! 'references' mode means we add to the data set the descendants of an attribute, by calling the attribute method descendants().
        Return
        -------
        bool

        Description
        -----------
        Returns true if the mode 'references' is set.

        """
        return _TDF.TDF_ClosureMode_References(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_ClosureMode

# Register TDF_ClosureMode in _TDF:
_TDF.TDF_ClosureMode_swigregister(TDF_ClosureMode)
class TDF_ClosureTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        aDataSet: TDF_DataSet

        Return
        -------
        None

        Description
        -----------
        Builds the transitive closure of label and attribute sets into <adataset>.

        Parameters
        ----------
        aDataSet: TDF_DataSet
        aFilter: TDF_IDFilter
        aMode: TDF_ClosureMode

        Return
        -------
        None

        Description
        -----------
        Builds the transitive closure of label and attribute sets into <adataset>. uses <afilter> to determine if an attribute has to be taken in account or not. uses <amode> for various way of closing.

        Parameters
        ----------
        aLabel: TDF_Label
        aLabMap: TDF_LabelMap
        anAttMap: TDF_AttributeMap
        aFilter: TDF_IDFilter
        aMode: TDF_ClosureMode

        Return
        -------
        None

        Description
        -----------
        Builds the transitive closure of <alabel>.

        """
        return _TDF.TDF_ClosureTool_Closure(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _TDF.TDF_ClosureTool_swiginit(self, _TDF.new_TDF_ClosureTool())
    __swig_destroy__ = _TDF.delete_TDF_ClosureTool

# Register TDF_ClosureTool in _TDF:
_TDF.TDF_ClosureTool_swigregister(TDF_ClosureTool)
class TDF_ComparisonTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        aSourceDataSet: TDF_DataSet
        aTargetDataSet: TDF_DataSet
        aFilter: TDF_IDFilter
        aRelocationTable: TDF_RelocationTable

        Return
        -------
        None

        Description
        -----------
        Compares <asourcedataset> with <atargetdataset>, updating <arelocationtable> with labels and attributes found in both sets.

        """
        return _TDF.TDF_ComparisonTool_Compare(*args)

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

        Parameters
        ----------
        aDataSet: TDF_DataSet

        Return
        -------
        None

        Description
        -----------
        Removes attributes from <adataset>.

        """
        return _TDF.TDF_ComparisonTool_Cut(*args)

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

        Parameters
        ----------
        aLabel: TDF_Label
        aDataSet: TDF_DataSet

        Return
        -------
        bool

        Description
        -----------
        Returns true if all the labels of <adataset> are descendant of <alabel>.

        """
        return _TDF.TDF_ComparisonTool_IsSelfContained(*args)

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

        Parameters
        ----------
        aRefDataSet: TDF_DataSet
        aRelocationTable: TDF_RelocationTable
        aFilter: TDF_IDFilter
        aDiffDataSet: TDF_DataSet
        anOption: int (optional, default to 2)

        Return
        -------
        bool

        Description
        -----------
        Finds from <arefdataset> all the keys not bound into <arelocationtable> and put them into <adiffdataset>. returns true if the difference contains at least one key. (a key is a source object). //! <anoption> may take the following values: 1: labels treatment only; 2: attributes treatment only (default value); 3: both labels & attributes treatment.

        """
        return _TDF.TDF_ComparisonTool_SourceUnbound(*args)

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

        Parameters
        ----------
        aRefDataSet: TDF_DataSet
        aRelocationTable: TDF_RelocationTable
        aFilter: TDF_IDFilter
        aDiffDataSet: TDF_DataSet
        anOption: int (optional, default to 2)

        Return
        -------
        bool

        Description
        -----------
        Substracts from <arefdataset> all the items bound into <arelocationtable>. the result is put into <adiffdataset>. returns true if the difference contains at least one item. (an item is a target object). //! <anoption> may take the following values: 1: labels treatment only; 2: attributes treatment only(default value); 3: both labels & attributes treatment.

        """
        return _TDF.TDF_ComparisonTool_TargetUnbound(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _TDF.TDF_ComparisonTool_swiginit(self, _TDF.new_TDF_ComparisonTool())
    __swig_destroy__ = _TDF.delete_TDF_ComparisonTool

# Register TDF_ComparisonTool in _TDF:
_TDF.TDF_ComparisonTool_swigregister(TDF_ComparisonTool)
class TDF_CopyLabel(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"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        Parameters
        ----------
        aSource: TDF_Label
        aTarget: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Copytool.

        """
        _TDF.TDF_CopyLabel_swiginit(self, _TDF.new_TDF_CopyLabel(*args))

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

        Parameters
        ----------
        Lab: TDF_Label
        aExternals: TDF_AttributeMap
        aFilter: TDF_IDFilter

        Return
        -------
        bool

        Description
        -----------
        Check external references and if exist fills the aexternals map.

        Parameters
        ----------
        aRefLab: TDF_Label
        Lab: TDF_Label
        aExternals: TDF_AttributeMap
        aFilter: TDF_IDFilter
        aDataSet: TDF_DataSet

        Return
        -------
        None

        Description
        -----------
        Check external references and if exist fills the aexternals map.

        """
        return _TDF.TDF_CopyLabel_ExternalReferences(*args)

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

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

        """
        return _TDF.TDF_CopyLabel_IsDone(self, *args)

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

        Parameters
        ----------
        aSource: TDF_Label
        aTarget: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Loads src and tgt labels.

        """
        return _TDF.TDF_CopyLabel_Load(self, *args)

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

        Description
        -----------
        Performs algorithm of selfcontained copy.

        """
        return _TDF.TDF_CopyLabel_Perform(self, *args)

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

        Description
        -----------
        Returns relocation table.

        """
        return _TDF.TDF_CopyLabel_RelocationTable(self, *args)

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

        Parameters
        ----------
        aFilter: TDF_IDFilter

        Return
        -------
        None

        Description
        -----------
        Sets filter.

        """
        return _TDF.TDF_CopyLabel_UseFilter(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_CopyLabel

# Register TDF_CopyLabel in _TDF:
_TDF.TDF_CopyLabel_swigregister(TDF_CopyLabel)
class TDF_CopyTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        aSourceDataSet: TDF_DataSet
        aRelocationTable: TDF_RelocationTable

        Return
        -------
        None

        Description
        -----------
        Copy <asourcedataset> with using and updating <arelocationtable>. this method ignores target attributes privilege over source ones.

        Parameters
        ----------
        aSourceDataSet: TDF_DataSet
        aRelocationTable: TDF_RelocationTable
        aPrivilegeFilter: TDF_IDFilter

        Return
        -------
        None

        Description
        -----------
        Copy <asourcedataset> using and updating <arelocationtable>. use <aprivilegefilter> to give a list of ids for which the target attribute prevails over the source one.

        Parameters
        ----------
        aSourceDataSet: TDF_DataSet
        aRelocationTable: TDF_RelocationTable
        aPrivilegeFilter: TDF_IDFilter
        aRefFilter: TDF_IDFilter
        setSelfContained: bool

        Return
        -------
        None

        Description
        -----------
        Copy <asourcedataset> using and updating <arelocationtable>. use <aprivilegefilter> to give a list of ids for which the target attribute prevails over the source one. if <setselfcontained> is set to true, every tdf_reference will be replaced by the referenced structure according to <areffilter>. //! nb: <areffilter> is used only if <setselfcontained> is true. internal root label copy recursive method.

        """
        return _TDF.TDF_CopyTool_Copy(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _TDF.TDF_CopyTool_swiginit(self, _TDF.new_TDF_CopyTool())
    __swig_destroy__ = _TDF.delete_TDF_CopyTool

# Register TDF_CopyTool in _TDF:
_TDF.TDF_CopyTool_swigregister(TDF_CopyTool)
class TDF_Data(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        A new and empty data structure.

        """
        _TDF.TDF_Data_swiginit(self, _TDF.new_TDF_Data(*args))

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

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

        Return
        -------
        None

        Description
        -----------
        Sets modification mode.

        """
        return _TDF.TDF_Data_AllowModification(self, *args)

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

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

        """
        return _TDF.TDF_Data_Destroy(self, *args)

    def DumpToString(self):
        r"""DumpToString(TDF_Data self) -> std::string"""
        return _TDF.TDF_Data_DumpToString(self)

    def DumpJsonToString(self, depth=-1):
        r"""Json string serializer.Json string serializer."""
        return _TDF.TDF_Data_DumpJsonToString(self, depth)

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

        Parameters
        ----------
        anEntry: str
        aLabel: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Returns a label by an entry. returns standard_false, if such a label doesn't exist or mechanism for fast access to the label by entry is not initialized.

        """
        return _TDF.TDF_Data_GetLabel(self, *args)

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

        Description
        -----------
        Returns a status of mechanism for fast access to the labels via entries.

        """
        return _TDF.TDF_Data_IsAccessByEntries(self, *args)

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

        Parameters
        ----------
        aDelta: TDF_Delta

        Return
        -------
        bool

        Description
        -----------
        Returns true if <adelta> is applicable here and now.

        """
        return _TDF.TDF_Data_IsApplicable(self, *args)

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

        Description
        -----------
        Returns modification mode.

        """
        return _TDF.TDF_Data_IsModificationAllowed(self, *args)

    def LabelNodeAllocator(self, *args):
        r"""
        Return
        -------
        TDF_HAllocator

        Description
        -----------
        Returns tdf_hallocator, which is an incremental allocator used by tdf_labelnode. this allocator is used to manage tdf_labelnode objects, but it can also be used for allocating memory to application-specific data (be careful because this allocator does not release the memory). the benefits of this allocation scheme are noticeable when dealing with large ocaf documents, due to: 1. very quick allocation of objects (memory heap is not used, the algorithm that replaces it is very simple). 2. very quick destruction of objects (memory is released not by destructors of tdf_labelnode, but rather by the destructor of tdf_data). 3. tdf_labelnode objects do not fragmentize the memory; they are kept compactly in a number of arrays of 16k each. 4. swapping is reduced on large data, because each document now occupies a smaller number of memory pages.

        """
        return _TDF.TDF_Data_LabelNodeAllocator(self, *args)

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

        Description
        -----------
        Returns the undo mode status.

        """
        return _TDF.TDF_Data_NotUndoMode(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        An internal method. it is used internally on creation of new labels. it adds a new label into internal table for fast access to the labels by entry.

        """
        return _TDF.TDF_Data_RegisterLabel(self, *args)

    def Root(self, *args):
        r"""
        Return
        -------
        TDF_Label

        Description
        -----------
        Returns the root label of the data structure.

        """
        return _TDF.TDF_Data_Root(self, *args)

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

        Parameters
        ----------
        aSet: bool

        Return
        -------
        None

        Description
        -----------
        Initializes a mechanism for fast access to the labels by their entries. the fast access is useful for large documents and often access to the labels via entries. internally, a table of entry - label is created, which allows to obtain a label by its entry in a very fast way. if the mechanism is turned off, the internal table is cleaned. new labels are added to the table, if the mechanism is on (no need to re-initialize the mechanism).

        """
        return _TDF.TDF_Data_SetAccessByEntries(self, *args)

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

        Description
        -----------
        Returns the current tick. it is incremented each commit.

        """
        return _TDF.TDF_Data_Time(self, *args)

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

        Description
        -----------
        Returns the current transaction number.

        """
        return _TDF.TDF_Data_Transaction(self, *args)

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

        Parameters
        ----------
        aDelta: TDF_Delta
        withDelta: bool (optional, default to Standard_False)

        Return
        -------
        opencascade::handle<TDF_Delta>

        Description
        -----------
        Apply <adelta> to undo a set of attribute modifications. //! optional <withdelta> set to true indicates a delta set must be generated. (see above).

        """
        return _TDF.TDF_Data_Undo(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_Data

# Register TDF_Data in _TDF:
_TDF.TDF_Data_swigregister(TDF_Data)
class TDF_DataSet(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates an empty dataset object.

        """
        _TDF.TDF_DataSet_swiginit(self, _TDF.new_TDF_DataSet(*args))

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

        Parameters
        ----------
        anAttribute: TDF_Attribute

        Return
        -------
        None

        Description
        -----------
        Adds <anattribute> into the current data set.

        """
        return _TDF.TDF_DataSet_AddAttribute(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Adds <alabel> in the current data set.

        """
        return _TDF.TDF_DataSet_AddLabel(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Adds a root label to <myrootlabels>.

        """
        return _TDF.TDF_DataSet_AddRoot(self, *args)

    def Attributes(self, *args):
        r"""
        Return
        -------
        TDF_AttributeMap

        Description
        -----------
        Returns the map of attributes in the current data set. this map can be used directly, or updated.

        """
        return _TDF.TDF_DataSet_Attributes(self, *args)

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

        Description
        -----------
        Clears all information.

        """
        return _TDF.TDF_DataSet_Clear(self, *args)

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

        Parameters
        ----------
        anAttribute: TDF_Attribute

        Return
        -------
        bool

        Description
        -----------
        Returns true if <anattribute> is in the data set.

        """
        return _TDF.TDF_DataSet_ContainsAttribute(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns true if the label <alabel> is in the data set.

        """
        return _TDF.TDF_DataSet_ContainsLabel(self, *args)

    def DumpToString(self):
        r"""DumpToString(TDF_DataSet self) -> std::string"""
        return _TDF.TDF_DataSet_DumpToString(self)

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

        Description
        -----------
        Returns true if there is at least one label or one attribute.

        """
        return _TDF.TDF_DataSet_IsEmpty(self, *args)

    def Labels(self, *args):
        r"""
        Return
        -------
        TDF_LabelMap

        Description
        -----------
        Returns the map of labels in this data set. this map can be used directly, or updated.

        """
        return _TDF.TDF_DataSet_Labels(self, *args)

    def Roots(self, *args):
        r"""
        Return
        -------
        TDF_LabelList

        Description
        -----------
        Returns <myrootlabels> to be used or updated.

        """
        return _TDF.TDF_DataSet_Roots(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_DataSet

# Register TDF_DataSet in _TDF:
_TDF.TDF_DataSet_swigregister(TDF_DataSet)
class TDF_Delta(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates a delta.

        """
        _TDF.TDF_Delta_swiginit(self, _TDF.new_TDF_Delta(*args))

    def AttributeDeltas(self, *args):
        r"""
        Return
        -------
        TDF_AttributeDeltaList

        Description
        -----------
        Returns the field <myattdeltalist>.

        """
        return _TDF.TDF_Delta_AttributeDeltas(self, *args)

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

        Description
        -----------
        Returns the field <mybegintime>.

        """
        return _TDF.TDF_Delta_BeginTime(self, *args)

    def DumpToString(self):
        r"""DumpToString(TDF_Delta self) -> std::string"""
        return _TDF.TDF_Delta_DumpToString(self)

    def DumpJsonToString(self, depth=-1):
        r"""Json string serializer.Json string serializer."""
        return _TDF.TDF_Delta_DumpJsonToString(self, depth)

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

        Description
        -----------
        Returns the field <myendtime>.

        """
        return _TDF.TDF_Delta_EndTime(self, *args)

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

        Parameters
        ----------
        aCurrentTime: int

        Return
        -------
        bool

        Description
        -----------
        Returns true if the undo action of <self> is applicable at <acurrenttime>.

        """
        return _TDF.TDF_Delta_IsApplicable(self, *args)

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

        Description
        -----------
        Returns true if there is nothing to undo.

        """
        return _TDF.TDF_Delta_IsEmpty(self, *args)

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

        Parameters
        ----------
        aLabelList: TDF_LabelList

        Return
        -------
        None

        Description
        -----------
        Adds in <alabellist> the labels of the attribute deltas. caution: <alabellist> is not cleared before use.

        """
        return _TDF.TDF_Delta_Labels(self, *args)

    def Name(self, *args):
        r"""
        Return
        -------
        TCollection_ExtendedString

        Description
        -----------
        Returns a name associated with this delta.

        """
        return _TDF.TDF_Delta_Name(self, *args)

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

        Parameters
        ----------
        theName: str

        Return
        -------
        None

        Description
        -----------
        Associates a name <thename> with this delta.

        """
        return _TDF.TDF_Delta_SetName(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_Delta

# Register TDF_Delta in _TDF:
_TDF.TDF_Delta_swigregister(TDF_Delta)
class TDF_IDFilter(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"""

        Parameters
        ----------
        ignoreMode: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Creates an id/attribute filter based on an id list. the default mode is 'ignore all but...'. //! this filter has 2 working mode: keep and ignore. //! ignore/exclusive mode: all ids are ignored except these set to be kept, using keep(). of course, it is possible set an kept id to be ignored using ignore(). //! keep/inclusive mode: all ids are kept except these set to be ignored, using ignore(). of course, it is possible set an ignored id to be kept using keep().

        """
        _TDF.TDF_IDFilter_swiginit(self, _TDF.new_TDF_IDFilter(*args))

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

        Parameters
        ----------
        theFilter: TDF_IDFilter

        Return
        -------
        None

        Description
        -----------
        Assignment.

        """
        return _TDF.TDF_IDFilter_Assign(self, *args)

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

        Parameters
        ----------
        fromFilter: TDF_IDFilter

        Return
        -------
        None

        Description
        -----------
        Copies into <self> the contents of <fromfilter>. <self> is cleared before copy.

        """
        return _TDF.TDF_IDFilter_Copy(self, *args)

    def DumpToString(self):
        r"""DumpToString(TDF_IDFilter self) -> std::string"""
        return _TDF.TDF_IDFilter_DumpToString(self)

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

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

        Return
        -------
        None

        Description
        -----------
        Copies the list of id to be kept or ignored in <anidlist>. <anidlist> is cleared before use.

        """
        return _TDF.TDF_IDFilter_IDList(self, *args)

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

        Parameters
        ----------
        anID: Standard_GUID

        Return
        -------
        None

        Description
        -----------
        An attribute with <anid> as id is to be ignored and the filter will answer false to the question iskept(<anid>).

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

        Return
        -------
        None

        Description
        -----------
        Attributes with id owned by <anidlist> are to be ignored and the filter will answer false to the question iskept(<anid>) with id from <anidlist>.

        """
        return _TDF.TDF_IDFilter_Ignore(self, *args)

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

        Parameters
        ----------
        ignore: bool

        Return
        -------
        None

        Description
        -----------
        The list of id is cleared and the filter mode is set to ignore mode if <keep> is true; false otherwise.
        Return
        -------
        bool

        Description
        -----------
        Returns true is the mode is set to 'ignore all but...'.

        """
        return _TDF.TDF_IDFilter_IgnoreAll(self, *args)

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

        Parameters
        ----------
        anID: Standard_GUID

        Return
        -------
        bool

        Description
        -----------
        Returns true if the id is to be ignored.

        Parameters
        ----------
        anAtt: TDF_Attribute

        Return
        -------
        bool

        Description
        -----------
        Returns true if the attribute is to be ignored.

        """
        return _TDF.TDF_IDFilter_IsIgnored(self, *args)

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

        Parameters
        ----------
        anID: Standard_GUID

        Return
        -------
        bool

        Description
        -----------
        Returns true if the id is to be kept.

        Parameters
        ----------
        anAtt: TDF_Attribute

        Return
        -------
        bool

        Description
        -----------
        Returns true if the attribute is to be kept.

        """
        return _TDF.TDF_IDFilter_IsKept(self, *args)

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

        Parameters
        ----------
        anID: Standard_GUID

        Return
        -------
        None

        Description
        -----------
        An attribute with <anid> as id is to be kept and the filter will answer true to the question iskept(<anid>).

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

        Return
        -------
        None

        Description
        -----------
        Attributes with id owned by <anidlist> are to be kept and the filter will answer true to the question iskept(<anid>) with id from <anidlist>.

        """
        return _TDF.TDF_IDFilter_Keep(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_IDFilter

# Register TDF_IDFilter in _TDF:
_TDF.TDF_IDFilter_swigregister(TDF_IDFilter)
class TDF_Label(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"""
        Return
        -------
        None

        Description
        -----------
        Constructs an empty label object.

        """
        _TDF.TDF_Label_swiginit(self, _TDF.new_TDF_Label(*args))

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

        Parameters
        ----------
        anAttribute: TDF_Attribute
        append: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Adds an attribute to the current label. raises if there is already one.

        """
        return _TDF.TDF_Label_AddAttribute(self, *args)

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

        Description
        -----------
        Returns true if <self> owns attributes not yet available in transaction 0. it means at least one attribute is new, modified or deleted.

        """
        return _TDF.TDF_Label_AttributesModified(self, *args)

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

        Description
        -----------
        Returns the data owning <self>.

        """
        return _TDF.TDF_Label_Data(self, *args)

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

        Description
        -----------
        Returns the depth of the label in the data framework. this corresponds to the number of fathers which this label has, and is used in determining whether a label is root, null or equivalent to another label. exceptions: standard_nullobject if this label is null. this is because a null object can have no depth.

        """
        return _TDF.TDF_Label_Depth(self, *args)

    def DumpToString(self):
        r"""DumpToString(TDF_Label self) -> std::string"""
        return _TDF.TDF_Label_DumpToString(self)

    def EntryDumpToString(self):
        r"""EntryDumpToString(TDF_Label self) -> std::string"""
        return _TDF.TDF_Label_EntryDumpToString(self)

    def Father(self, *args):
        r"""
        Return
        -------
        TDF_Label

        Description
        -----------
        Returns the label father. this label may be null if the label is root.

        """
        return _TDF.TDF_Label_Father(self, *args)

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

        Parameters
        ----------
        anID: Standard_GUID
        anAttribute: TDF_Attribute

        Return
        -------
        bool

        Description
        -----------
        Finds an attribute of the current label, according to <anid>. if anattribute is not a valid one, false is returned. //! the method returns true if found, false otherwise. //! a removed attribute cannot be found.

        Parameters
        ----------
        anID: Standard_GUID
        aTransaction: int
        anAttribute: TDF_Attribute

        Return
        -------
        bool

        Description
        -----------
        Finds an attribute of the current label, according to <anid> and <atransaction>. this attribute has/had to be a valid one for the given transaction index . so, this attribute is not necessary a valid one. //! the method returns true if found, false otherwise. //! a removed attribute cannot be found nor a backuped attribute of a removed one.

        """
        return _TDF.TDF_Label_FindAttribute(self, *args)

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

        Parameters
        ----------
        aTag: int
        create: bool (optional, default to Standard_True)

        Return
        -------
        TDF_Label

        Description
        -----------
        Finds a child label having <atag> as tag. creates the tag atag identifies the label which will be the parent. if create is true and no child label is found, a new one is created. example: //creating a label with tag 10 at root tdf_label lab1 = adf->root().findchild(10); //creating labels 7 and 2 on label 10 tdf_label lab2 = lab1.findchild(7); tdf_label lab3 = lab1.findchild(2);.

        """
        return _TDF.TDF_Label_FindChild(self, *args)

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

        Parameters
        ----------
        clearChildren: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Forgets all the attributes. does it on also on the sub-labels if <clearchildren> is set to true. of course, this method is compatible with transaction & delta mechanisms.

        """
        return _TDF.TDF_Label_ForgetAllAttributes(self, *args)

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

        Parameters
        ----------
        anAttribute: TDF_Attribute

        Return
        -------
        None

        Description
        -----------
        Forgets an attribute from the current label, setting its forgotten status true and its valid status false. raises if the attribute is not in the structure.

        Parameters
        ----------
        aguid: Standard_GUID

        Return
        -------
        bool

        Description
        -----------
        Forgets the attribute of guid <aguid> from the current label . if the attribute doesn't exist returns false. otherwise returns true.

        """
        return _TDF.TDF_Label_ForgetAttribute(self, *args)

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

        Description
        -----------
        Returns true if this label has at least one attribute.

        """
        return _TDF.TDF_Label_HasAttribute(self, *args)

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

        Description
        -----------
        Returns true if this label has at least one child.

        """
        return _TDF.TDF_Label_HasChild(self, *args)

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

        Parameters
        ----------
        otherLabel: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Returns true if node address of <self> is greater than <otherlabel> one. used to quickly sort labels (not on entry criterion). //! -c++: inline.

        """
        return _TDF.TDF_Label_HasGreaterNode(self, *args)

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

        Parameters
        ----------
        otherLabel: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Returns true if node address of <self> is lower than <otherlabel> one. used to quickly sort labels (not on entry criterion). //! -c++: inline.

        """
        return _TDF.TDF_Label_HasLowerNode(self, *args)

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

        Parameters
        ----------
        aStatus: bool

        Return
        -------
        None

        Description
        -----------
        Sets or unsets <self> and all its descendants as imported label, according to <astatus>.

        """
        return _TDF.TDF_Label_Imported(self, *args)

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

        Parameters
        ----------
        anID: Standard_GUID

        Return
        -------
        bool

        Description
        -----------
        Returns true if <self> owns an attribute with <anid> as id.

        """
        return _TDF.TDF_Label_IsAttribute(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns true if <self> is a descendant of <alabel>. attention: every label is its own descendant.

        """
        return _TDF.TDF_Label_IsDescendant(self, *args)

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

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

        Return
        -------
        bool

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

        """
        return _TDF.TDF_Label_IsDifferent(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns true if the <alabel> is equal to me (same labelnode*).

        """
        return _TDF.TDF_Label_IsEqual(self, *args)

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

        Description
        -----------
        Returns true if the <alabel> is imported.

        """
        return _TDF.TDF_Label_IsImported(self, *args)

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

        Description
        -----------
        Returns true if the <alabel> is null, i.e. it has not been included in the data framework.

        """
        return _TDF.TDF_Label_IsNull(self, *args)

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

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

        """
        return _TDF.TDF_Label_IsRoot(self, *args)

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

        Description
        -----------
        Returns true if <self> or a descendant of <self> owns attributes not yet available in transaction 0. it means at least one of their attributes is new, modified or deleted.

        """
        return _TDF.TDF_Label_MayBeModified(self, *args)

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

        Description
        -----------
        Returns the number of attributes.

        """
        return _TDF.TDF_Label_NbAttributes(self, *args)

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

        Description
        -----------
        Returns the number of children.

        """
        return _TDF.TDF_Label_NbChildren(self, *args)

    def NewChild(self, *args):
        r"""
        Return
        -------
        TDF_Label

        Description
        -----------
        Create a new child label of me using autoamtic delivery tags provided by tagsource.

        """
        return _TDF.TDF_Label_NewChild(self, *args)

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

        Description
        -----------
        Nullifies the label.

        """
        return _TDF.TDF_Label_Nullify(self, *args)

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

        Parameters
        ----------
        anAttribute: TDF_Attribute

        Return
        -------
        None

        Description
        -----------
        Undo forget action, setting its forgotten status false and its valid status true. raises if the attribute is not in the structure.

        """
        return _TDF.TDF_Label_ResumeAttribute(self, *args)

    def Root(self, *args):
        r"""
        Return
        -------
        TDF_Label

        Description
        -----------
        Returns the root label root of the data structure. this has a depth of 0. exceptions: standard_nullobject if this label is null. this is because a null object can have no depth.

        """
        return _TDF.TDF_Label_Root(self, *args)

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

        Description
        -----------
        Returns the tag of the label. this is the integer assigned randomly to a label in a data framework. this integer is used to identify this label in an entry.

        """
        return _TDF.TDF_Label_Tag(self, *args)

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

        Description
        -----------
        Returns the current transaction index.

        """
        return _TDF.TDF_Label_Transaction(self, *args)

    def __ne_wrapper__(self, other):
        r"""__ne_wrapper__(TDF_Label self, TDF_Label other) -> bool"""
        return _TDF.TDF_Label___ne_wrapper__(self, other)

    def __ne__(self, right):
        try:
            return self.__ne_wrapper__(right)
        except:
            return True


    def __eq_wrapper__(self, other):
        r"""__eq_wrapper__(TDF_Label self, TDF_Label other) -> bool"""
        return _TDF.TDF_Label___eq_wrapper__(self, other)

    def __eq__(self, right):
        try:
            return self.__eq_wrapper__(right)
        except:
            return False


    def GetLabelName(self):
        r"""Returns the label name"""
        return _TDF.TDF_Label_GetLabelName(self)

    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_Label

# Register TDF_Label in _TDF:
_TDF.TDF_Label_swigregister(TDF_Label)
class TDF_LabelMapHasher(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theLabel: TDF_Label
        theUpperBound: int

        Return
        -------
        int

        Description
        -----------
        Computes a hash code for the given label, in the range [1, theupperbound] @param thelabel the label which hash code is to be computed @param theupperbound the upper bound of the range a computing hash code must be within return a computed hash code, in the range [1, theupperbound].

        """
        return _TDF.TDF_LabelMapHasher_HashCode(*args)

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

        Parameters
        ----------
        aLab1: TDF_Label
        aLab2: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Returns true when the two keys are the same. two same keys must have the same hashcode, the contrary is not necessary.

        """
        return _TDF.TDF_LabelMapHasher_IsEqual(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _TDF.TDF_LabelMapHasher_swiginit(self, _TDF.new_TDF_LabelMapHasher())
    __swig_destroy__ = _TDF.delete_TDF_LabelMapHasher

# Register TDF_LabelMapHasher in _TDF:
_TDF.TDF_LabelMapHasher_swigregister(TDF_LabelMapHasher)
class TDF_RelocationTable(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"""

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

        Return
        -------
        None

        Description
        -----------
        Creates an relocation table. <selfrelocate> says if a value without explicit relocation is its own relocation.

        """
        _TDF.TDF_RelocationTable_swiginit(self, _TDF.new_TDF_RelocationTable(*args))

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

        Parameters
        ----------
        afterRelocate: bool

        Return
        -------
        None

        Description
        -----------
        No available documentation.
        Return
        -------
        bool

        Description
        -----------
        Returns <myafterrelocate>.

        """
        return _TDF.TDF_RelocationTable_AfterRelocate(self, *args)

    def AttributeTable(self, *args):
        r"""
        Return
        -------
        TDF_AttributeDataMap

        Description
        -----------
        Returns <myattributetable> to be used or updated.

        """
        return _TDF.TDF_RelocationTable_AttributeTable(self, *args)

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

        Description
        -----------
        Clears the relocation dictionary, but lets the self relocation flag to its current value.

        """
        return _TDF.TDF_RelocationTable_Clear(self, *args)

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

        Parameters
        ----------
        aSourceLabel: TDF_Label
        aTargetLabel: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Finds the relocation value of <asourcelabel> and returns it into <atargetlabel>. //! (see above selfrelocate method for more explanation about the method behavior).

        Parameters
        ----------
        aSourceAttribute: TDF_Attribute
        aTargetAttribute: TDF_Attribute

        Return
        -------
        bool

        Description
        -----------
        Finds the relocation value of <asourceattribute> and returns it into <atargetattribute>. //! (see above selfrelocate method for more explanation about the method behavior).

        """
        return _TDF.TDF_RelocationTable_HasRelocation(self, *args)

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

        Parameters
        ----------
        aSourceTransient: Standard_Transient
        aTargetTransient: Standard_Transient

        Return
        -------
        bool

        Description
        -----------
        Finds the relocation value of <asourcetransient> and returns it into <atargettransient>. //! (see above selfrelocate method for more explanation about the method behavior).

        """
        return _TDF.TDF_RelocationTable_HasTransientRelocation(self, *args)

    def LabelTable(self, *args):
        r"""
        Return
        -------
        TDF_LabelDataMap

        Description
        -----------
        Returns <mylabeltable> to be used or updated.

        """
        return _TDF.TDF_RelocationTable_LabelTable(self, *args)

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

        Parameters
        ----------
        selfRelocate: bool

        Return
        -------
        None

        Description
        -----------
        Sets <myselfrelocate> to <selfrelocate>. //! this flag affects the hasrelocation method behavior like this: //! <myselfrelocate> == false: //! if no relocation object is found in the map, a null object is returned //! <myselfrelocate> == true: //! if no relocation object is found in the map, the method assumes the source object is relocation value; so the source object is returned as target object.
        Return
        -------
        bool

        Description
        -----------
        Returns <myselfrelocate>.

        """
        return _TDF.TDF_RelocationTable_SelfRelocate(self, *args)

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

        Parameters
        ----------
        aSourceLabel: TDF_Label
        aTargetLabel: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Sets the relocation value of <asourcelabel> to <atargetlabel>.

        Parameters
        ----------
        aSourceAttribute: TDF_Attribute
        aTargetAttribute: TDF_Attribute

        Return
        -------
        None

        Description
        -----------
        Sets the relocation value of <asourceattribute> to <atargetattribute>.

        """
        return _TDF.TDF_RelocationTable_SetRelocation(self, *args)

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

        Parameters
        ----------
        aSourceTransient: Standard_Transient
        aTargetTransient: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Sets the relocation value of <asourcetransient> to <atargettransient>.

        """
        return _TDF.TDF_RelocationTable_SetTransientRelocation(self, *args)

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

        Parameters
        ----------
        anAttributeMap: TDF_AttributeMap

        Return
        -------
        None

        Description
        -----------
        Fills <anattributemap> with target relocation attributes. <anattributemap> is not cleared before use.

        """
        return _TDF.TDF_RelocationTable_TargetAttributeMap(self, *args)

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

        Parameters
        ----------
        aLabelMap: TDF_LabelMap

        Return
        -------
        None

        Description
        -----------
        Fills <alabelmap> with target relocation labels. <alabelmap> is not cleared before use.

        """
        return _TDF.TDF_RelocationTable_TargetLabelMap(self, *args)

    def TransientTable(self, *args):
        r"""
        Return
        -------
        TColStd_IndexedDataMapOfTransientTransient

        Description
        -----------
        Returns <mytransienttable> to be used or updated.

        """
        return _TDF.TDF_RelocationTable_TransientTable(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_RelocationTable

# Register TDF_RelocationTable in _TDF:
_TDF.TDF_RelocationTable_swigregister(TDF_RelocationTable)
class TDF_Tool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        aLabelList: TDF_LabelList
        aLabelMap: TDF_LabelIntegerMap

        Return
        -------
        None

        Description
        -----------
        Adds the labels of <alabellist> to <alabelmap> if they are unbound, or increases their reference counters. at the end of the process, <alabellist> contains only the added labels.

        """
        return _TDF.TDF_Tool_CountLabels(*args)

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

        Parameters
        ----------
        aLabelList: TDF_LabelList
        aLabelMap: TDF_LabelIntegerMap

        Return
        -------
        None

        Description
        -----------
        Decreases the reference counters of the labels of <alabellist> to <alabelmap>, and removes labels with null counter. at the end of the process, <alabellist> contains only the suppressed labels.

        """
        return _TDF.TDF_Tool_DeductLabels(*args)

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

        Parameters
        ----------
        aLabel: TDF_Label
        anEntry: str

        Return
        -------
        None

        Description
        -----------
        Returns the entry for the label alabel in the form of the ascii character string anentry containing the tag list for alabel.

        """
        return _TDF.TDF_Tool_Entry(*args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns true if <alabel> and its descendants reference only attributes or labels attached to themselves.

        Parameters
        ----------
        aLabel: TDF_Label
        aFilter: TDF_IDFilter

        Return
        -------
        bool

        Description
        -----------
        Returns true if <alabel> and its descendants reference only attributes or labels attached to themselves and kept by <afilter>.

        """
        return _TDF.TDF_Tool_IsSelfContained(*args)

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

        Parameters
        ----------
        aDF: TDF_Data
        anEntry: str
        aLabel: TDF_Label
        create: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Returns the label expressed by <anentry>; creates the label if it does not exist and if <create> is true.

        Parameters
        ----------
        aDF: TDF_Data
        anEntry: str
        aLabel: TDF_Label
        create: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Returns the label expressed by <anentry>; creates the label if it does not exist and if <create> is true.

        Parameters
        ----------
        aDF: TDF_Data
        aTagList: TColStd_ListOfInteger
        aLabel: TDF_Label
        create: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Returns the label expressed by <anentry>; creates the label if it does not exist and if <create> is true.

        """
        return _TDF.TDF_Tool_Label(*args)

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

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

        Return
        -------
        int

        Description
        -----------
        Returns the total number of attributes attached to the labels dependent on the label alabel. the attributes of alabel are also included in this figure. this information is useful in setting the size of an array.

        Parameters
        ----------
        aLabel: TDF_Label
        aFilter: TDF_IDFilter

        Return
        -------
        int

        Description
        -----------
        Returns the number of attributes of the tree, selected by a<filter>, including those of <alabel>.

        """
        return _TDF.TDF_Tool_NbAttributes(*args)

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

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

        Return
        -------
        int

        Description
        -----------
        Returns the number of labels of the tree, including <alabel>. alabel is also included in this figure. this information is useful in setting the size of an array.

        """
        return _TDF.TDF_Tool_NbLabels(*args)

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

        Parameters
        ----------
        aLabel: TDF_Label
        atts: TDF_AttributeMap

        Return
        -------
        None

        Description
        -----------
        Returns in <atts> the referenced attributes. caution: <atts> is not cleared before use!.

        Parameters
        ----------
        aLabel: TDF_Label
        aFilterForReferers: TDF_IDFilter
        aFilterForReferences: TDF_IDFilter
        atts: TDF_AttributeMap

        Return
        -------
        None

        Description
        -----------
        Returns in <atts> the referenced attributes and kept by <afilterforreferences>. it considers only the referrers kept by <afilterforreferers>. caution: <atts> is not cleared before use!.

        """
        return _TDF.TDF_Tool_OutReferences(*args)

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

        Parameters
        ----------
        theLabel: TDF_Label
        theAtts: TDF_AttributeMap

        Return
        -------
        None

        Description
        -----------
        Returns in <theatts> the attributes having out references. //! caution: <theatts> is not cleared before use!.

        Parameters
        ----------
        aLabel: TDF_Label
        aFilterForReferers: TDF_IDFilter
        aFilterForReferences: TDF_IDFilter
        atts: TDF_AttributeMap

        Return
        -------
        None

        Description
        -----------
        Returns in <atts> the attributes having out references and kept by <afilterforreferers>. it considers only the references kept by <afilterforreferences>. caution: <atts> is not cleared before use!.

        """
        return _TDF.TDF_Tool_OutReferers(*args)

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

        Parameters
        ----------
        aSourceLabel: TDF_Label
        fromRoot: TDF_Label
        toRoot: TDF_Label
        aTargetLabel: TDF_Label
        create: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Returns the label having the same sub-entry as <alabel> but located as descendant as <toroot> instead of <fromroot>. //! example: //! alabel = 0:3:24:7:2:7 fromroot = 0:3:24 toroot = 0:5 returned label = 0:5:7:2:7.

        """
        return _TDF.TDF_Tool_RelocateLabel(*args)

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

        Parameters
        ----------
        aLabel: TDF_Label
        aTagList: TColStd_ListOfInteger

        Return
        -------
        None

        Description
        -----------
        Returns the entry of <alabel> as list of integers in <ataglist>.

        Parameters
        ----------
        anEntry: str
        aTagList: TColStd_ListOfInteger

        Return
        -------
        None

        Description
        -----------
        Returns the entry expressed by <anentry> as list of integers in <ataglist>.

        """
        return _TDF.TDF_Tool_TagList(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _TDF.TDF_Tool_swiginit(self, _TDF.new_TDF_Tool())
    __swig_destroy__ = _TDF.delete_TDF_Tool

# Register TDF_Tool in _TDF:
_TDF.TDF_Tool_swigregister(TDF_Tool)
class TDF_Transaction(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"""

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

        Return
        -------
        None

        Description
        -----------
        Creates an empty transaction context, unable to be opened.

        Parameters
        ----------
        aDF: TDF_Data
        aName: str (optional, default to )

        Return
        -------
        None

        Description
        -----------
        Creates a transaction context on <adf>, ready to be opened.

        """
        _TDF.TDF_Transaction_swiginit(self, _TDF.new_TDF_Transaction(*args))

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

        Description
        -----------
        Aborts the transactions until and including the current opened one.

        """
        return _TDF.TDF_Transaction_Abort(self, *args)

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

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

        Return
        -------
        opencascade::handle<TDF_Delta>

        Description
        -----------
        Commits the transactions until and including the current opened one.

        """
        return _TDF.TDF_Transaction_Commit(self, *args)

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

        Description
        -----------
        Returns the data from tdf.

        """
        return _TDF.TDF_Transaction_Data(self, *args)

    def DumpJsonToString(self, depth=-1):
        r"""Json string serializer.Json string serializer."""
        return _TDF.TDF_Transaction_DumpJsonToString(self, depth)

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

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

        Return
        -------
        None

        Description
        -----------
        Aborts all the transactions on <mydf> and sets <adf> to build a transaction context on <adf>, ready to be opened.

        """
        return _TDF.TDF_Transaction_Initialize(self, *args)

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

        Description
        -----------
        Returns true if the transaction is open.

        """
        return _TDF.TDF_Transaction_IsOpen(self, *args)

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

        Description
        -----------
        Returns the transaction name.

        """
        return _TDF.TDF_Transaction_Name(self, *args)

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

        Description
        -----------
        If not yet done, opens a new transaction on <mydf>. returns the index of the just opened transaction. //! it raises domainerror if the transaction is already open, and nullobject if there is no current data framework.

        """
        return _TDF.TDF_Transaction_Open(self, *args)

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

        Description
        -----------
        Returns the number of the transaction opened by <self>.

        """
        return _TDF.TDF_Transaction_Transaction(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_Transaction

# Register TDF_Transaction in _TDF:
_TDF.TDF_Transaction_swigregister(TDF_Transaction)
class TDF_DeltaOnAddition(TDF_AttributeDelta):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        anAtt: TDF_Attribute

        Return
        -------
        None

        Description
        -----------
        Creates a tdf_deltaonaddition.

        """
        _TDF.TDF_DeltaOnAddition_swiginit(self, _TDF.new_TDF_DeltaOnAddition(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_DeltaOnAddition

# Register TDF_DeltaOnAddition in _TDF:
_TDF.TDF_DeltaOnAddition_swigregister(TDF_DeltaOnAddition)
class TDF_DeltaOnForget(TDF_AttributeDelta):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        anAtt: TDF_Attribute

        Return
        -------
        None

        Description
        -----------
        Creates a tdf_deltaonforget.

        """
        _TDF.TDF_DeltaOnForget_swiginit(self, _TDF.new_TDF_DeltaOnForget(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_DeltaOnForget

# Register TDF_DeltaOnForget in _TDF:
_TDF.TDF_DeltaOnForget_swigregister(TDF_DeltaOnForget)
class TDF_DeltaOnModification(TDF_AttributeDelta):
    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


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_DeltaOnModification

# Register TDF_DeltaOnModification in _TDF:
_TDF.TDF_DeltaOnModification_swigregister(TDF_DeltaOnModification)
class TDF_DeltaOnRemoval(TDF_AttributeDelta):
    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


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_DeltaOnRemoval

# Register TDF_DeltaOnRemoval in _TDF:
_TDF.TDF_DeltaOnRemoval_swigregister(TDF_DeltaOnRemoval)
class TDF_DeltaOnResume(TDF_AttributeDelta):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        anAtt: TDF_Attribute

        Return
        -------
        None

        Description
        -----------
        Creates a tdf_deltaonresume.

        """
        _TDF.TDF_DeltaOnResume_swiginit(self, _TDF.new_TDF_DeltaOnResume(*args))

    def DumpJsonToString(self, depth=-1):
        r"""Json string serializer.Json string serializer."""
        return _TDF.TDF_DeltaOnResume_DumpJsonToString(self, depth)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_DeltaOnResume

# Register TDF_DeltaOnResume in _TDF:
_TDF.TDF_DeltaOnResume_swigregister(TDF_DeltaOnResume)
class TDF_Reference(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"""
        Return
        -------
        None

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

        """
        _TDF.TDF_Reference_swiginit(self, _TDF.new_TDF_Reference(*args))

    def DumpToString(self):
        r"""DumpToString(TDF_Reference self) -> std::string"""
        return _TDF.TDF_Reference_DumpToString(self)

    def DumpJsonToString(self, depth=-1):
        r"""Json string serializer.Json string serializer."""
        return _TDF.TDF_Reference_DumpJsonToString(self, depth)

    def Get(self, *args):
        r"""
        Return
        -------
        TDF_Label

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

        """
        return _TDF.TDF_Reference_Get(self, *args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _TDF.TDF_Reference_GetID(*args)

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

        Parameters
        ----------
        I: TDF_Label
        Origin: TDF_Label

        Return
        -------
        opencascade::handle<TDF_Reference>

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

        Parameters
        ----------
        Origin: TDF_Label

        Return
        -------
        None

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

        """
        return _TDF.TDF_Reference_Set(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_Reference

# Register TDF_Reference in _TDF:
_TDF.TDF_Reference_swigregister(TDF_Reference)
class TDF_TagSource(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"""
        Return
        -------
        None

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

        """
        _TDF.TDF_TagSource_swiginit(self, _TDF.new_TDF_TagSource(*args))

    def DumpJsonToString(self, depth=-1):
        r"""Json string serializer.Json string serializer."""
        return _TDF.TDF_TagSource_DumpJsonToString(self, depth)

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

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

        """
        return _TDF.TDF_TagSource_Get(self, *args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Class methods =============.

        """
        return _TDF.TDF_TagSource_GetID(*args)

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

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

        Return
        -------
        TDF_Label

        Description
        -----------
        Find (or create) a tagsource attribute located at <l> and make a new child label. tagsource methods =================.
        Return
        -------
        TDF_Label

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

        """
        return _TDF.TDF_TagSource_NewChild(self, *args)

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

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

        """
        return _TDF.TDF_TagSource_NewTag(self, *args)

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

        Parameters
        ----------
        label: TDF_Label

        Return
        -------
        opencascade::handle<TDF_TagSource>

        Description
        -----------
        Find, or create, a tagsource attribute. the tagsource attribute is returned.

        Parameters
        ----------
        T: int

        Return
        -------
        None

        Description
        -----------
        Tdf_attribute methods =====================.

        """
        return _TDF.TDF_TagSource_Set(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_TagSource

# Register TDF_TagSource in _TDF:
_TDF.TDF_TagSource_swigregister(TDF_TagSource)
class TDF_DefaultDeltaOnModification(TDF_DeltaOnModification):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        anAttribute: TDF_Attribute

        Return
        -------
        None

        Description
        -----------
        Creates a tdf_defaultdeltaonmodification. <anattribute> must be the backup copy.

        """
        _TDF.TDF_DefaultDeltaOnModification_swiginit(self, _TDF.new_TDF_DefaultDeltaOnModification(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_DefaultDeltaOnModification

# Register TDF_DefaultDeltaOnModification in _TDF:
_TDF.TDF_DefaultDeltaOnModification_swigregister(TDF_DefaultDeltaOnModification)
class TDF_DefaultDeltaOnRemoval(TDF_DeltaOnRemoval):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        anAttribute: TDF_Attribute

        Return
        -------
        None

        Description
        -----------
        Creates a tdf_defaultdeltaonremoval.

        """
        _TDF.TDF_DefaultDeltaOnRemoval_swiginit(self, _TDF.new_TDF_DefaultDeltaOnRemoval(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_DefaultDeltaOnRemoval

# Register TDF_DefaultDeltaOnRemoval in _TDF:
_TDF.TDF_DefaultDeltaOnRemoval_swigregister(TDF_DefaultDeltaOnRemoval)

@classnotwrapped
class TDF_LabelNode:
	pass

@classnotwrapped
class TDF_DerivedAttribute:
	pass


class TDF_HAttributeArray1(TDF_AttributeArray1, 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):
        _TDF.TDF_HAttributeArray1_swiginit(self, _TDF.new_TDF_HAttributeArray1(*args))

    def Array1(self):
        return _TDF.TDF_HAttributeArray1_Array1(self)

    def ChangeArray1(self):
        return _TDF.TDF_HAttributeArray1_ChangeArray1(self)


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

    __swig_destroy__ = _TDF.delete_TDF_HAttributeArray1

# Register TDF_HAttributeArray1 in _TDF:
_TDF.TDF_HAttributeArray1_swigregister(TDF_HAttributeArray1)



@deprecated
def tdf_AddLinkGUIDToProgID(*args):
	return tdf.AddLinkGUIDToProgID(*args)

@deprecated
def tdf_GUIDFromProgID(*args):
	return tdf.GUIDFromProgID(*args)

@deprecated
def tdf_LowestID(*args):
	return tdf.LowestID(*args)

@deprecated
def tdf_ProgIDFromGUID(*args):
	return tdf.ProgIDFromGUID(*args)

@deprecated
def tdf_UppestID(*args):
	return tdf.UppestID(*args)

@deprecated
def TDF_ClosureTool_Closure(*args):
	return TDF_ClosureTool.Closure(*args)

@deprecated
def TDF_ClosureTool_Closure(*args):
	return TDF_ClosureTool.Closure(*args)

@deprecated
def TDF_ClosureTool_Closure(*args):
	return TDF_ClosureTool.Closure(*args)

@deprecated
def TDF_ComparisonTool_Compare(*args):
	return TDF_ComparisonTool.Compare(*args)

@deprecated
def TDF_ComparisonTool_Cut(*args):
	return TDF_ComparisonTool.Cut(*args)

@deprecated
def TDF_ComparisonTool_IsSelfContained(*args):
	return TDF_ComparisonTool.IsSelfContained(*args)

@deprecated
def TDF_ComparisonTool_SourceUnbound(*args):
	return TDF_ComparisonTool.SourceUnbound(*args)

@deprecated
def TDF_ComparisonTool_TargetUnbound(*args):
	return TDF_ComparisonTool.TargetUnbound(*args)

@deprecated
def TDF_CopyLabel_ExternalReferences(*args):
	return TDF_CopyLabel.ExternalReferences(*args)

@deprecated
def TDF_CopyLabel_ExternalReferences(*args):
	return TDF_CopyLabel.ExternalReferences(*args)

@deprecated
def TDF_CopyTool_Copy(*args):
	return TDF_CopyTool.Copy(*args)

@deprecated
def TDF_CopyTool_Copy(*args):
	return TDF_CopyTool.Copy(*args)

@deprecated
def TDF_CopyTool_Copy(*args):
	return TDF_CopyTool.Copy(*args)

@deprecated
def TDF_LabelMapHasher_HashCode(*args):
	return TDF_LabelMapHasher.HashCode(*args)

@deprecated
def TDF_LabelMapHasher_IsEqual(*args):
	return TDF_LabelMapHasher.IsEqual(*args)

@deprecated
def TDF_Tool_CountLabels(*args):
	return TDF_Tool.CountLabels(*args)

@deprecated
def TDF_Tool_DeductLabels(*args):
	return TDF_Tool.DeductLabels(*args)

@deprecated
def TDF_Tool_Entry(*args):
	return TDF_Tool.Entry(*args)

@deprecated
def TDF_Tool_IsSelfContained(*args):
	return TDF_Tool.IsSelfContained(*args)

@deprecated
def TDF_Tool_IsSelfContained(*args):
	return TDF_Tool.IsSelfContained(*args)

@deprecated
def TDF_Tool_Label(*args):
	return TDF_Tool.Label(*args)

@deprecated
def TDF_Tool_Label(*args):
	return TDF_Tool.Label(*args)

@deprecated
def TDF_Tool_Label(*args):
	return TDF_Tool.Label(*args)

@deprecated
def TDF_Tool_NbAttributes(*args):
	return TDF_Tool.NbAttributes(*args)

@deprecated
def TDF_Tool_NbAttributes(*args):
	return TDF_Tool.NbAttributes(*args)

@deprecated
def TDF_Tool_NbLabels(*args):
	return TDF_Tool.NbLabels(*args)

@deprecated
def TDF_Tool_OutReferences(*args):
	return TDF_Tool.OutReferences(*args)

@deprecated
def TDF_Tool_OutReferences(*args):
	return TDF_Tool.OutReferences(*args)

@deprecated
def TDF_Tool_OutReferers(*args):
	return TDF_Tool.OutReferers(*args)

@deprecated
def TDF_Tool_OutReferers(*args):
	return TDF_Tool.OutReferers(*args)

@deprecated
def TDF_Tool_RelocateLabel(*args):
	return TDF_Tool.RelocateLabel(*args)

@deprecated
def TDF_Tool_TagList(*args):
	return TDF_Tool.TagList(*args)

@deprecated
def TDF_Tool_TagList(*args):
	return TDF_Tool.TagList(*args)

@deprecated
def TDF_Reference_GetID(*args):
	return TDF_Reference.GetID(*args)

@deprecated
def TDF_Reference_Set(*args):
	return TDF_Reference.Set(*args)

@deprecated
def TDF_TagSource_GetID(*args):
	return TDF_TagSource.GetID(*args)

@deprecated
def TDF_TagSource_NewChild(*args):
	return TDF_TagSource.NewChild(*args)

@deprecated
def TDF_TagSource_Set(*args):
	return TDF_TagSource.Set(*args)



