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

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

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

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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

_swig_new_instance_method = _TDF.SWIG_PyInstanceMethod_New
_swig_new_static_method = _TDF.SWIG_PyStaticMethod_New

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


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


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


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


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


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

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


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
TDF_LabelNodeImportMsk = _TDF.TDF_LabelNodeImportMsk
TDF_LabelNodeAttModMsk = _TDF.TDF_LabelNodeAttModMsk
TDF_LabelNodeMayModMsk = _TDF.TDF_LabelNodeMayModMsk
TDF_LabelNodeFlagsMsk = _TDF.TDF_LabelNodeFlagsMsk
Handle_TDF_Attribute_Create = _TDF.Handle_TDF_Attribute_Create
Handle_TDF_Attribute_DownCast = _TDF.Handle_TDF_Attribute_DownCast
Handle_TDF_Attribute_IsNull = _TDF.Handle_TDF_Attribute_IsNull
Handle_TDF_AttributeDelta_Create = _TDF.Handle_TDF_AttributeDelta_Create
Handle_TDF_AttributeDelta_DownCast = _TDF.Handle_TDF_AttributeDelta_DownCast
Handle_TDF_AttributeDelta_IsNull = _TDF.Handle_TDF_AttributeDelta_IsNull
Handle_TDF_Data_Create = _TDF.Handle_TDF_Data_Create
Handle_TDF_Data_DownCast = _TDF.Handle_TDF_Data_DownCast
Handle_TDF_Data_IsNull = _TDF.Handle_TDF_Data_IsNull
Handle_TDF_DataSet_Create = _TDF.Handle_TDF_DataSet_Create
Handle_TDF_DataSet_DownCast = _TDF.Handle_TDF_DataSet_DownCast
Handle_TDF_DataSet_IsNull = _TDF.Handle_TDF_DataSet_IsNull
Handle_TDF_Delta_Create = _TDF.Handle_TDF_Delta_Create
Handle_TDF_Delta_DownCast = _TDF.Handle_TDF_Delta_DownCast
Handle_TDF_Delta_IsNull = _TDF.Handle_TDF_Delta_IsNull
Handle_TDF_RelocationTable_Create = _TDF.Handle_TDF_RelocationTable_Create
Handle_TDF_RelocationTable_DownCast = _TDF.Handle_TDF_RelocationTable_DownCast
Handle_TDF_RelocationTable_IsNull = _TDF.Handle_TDF_RelocationTable_IsNull
Handle_TDF_DeltaOnAddition_Create = _TDF.Handle_TDF_DeltaOnAddition_Create
Handle_TDF_DeltaOnAddition_DownCast = _TDF.Handle_TDF_DeltaOnAddition_DownCast
Handle_TDF_DeltaOnAddition_IsNull = _TDF.Handle_TDF_DeltaOnAddition_IsNull
Handle_TDF_DeltaOnForget_Create = _TDF.Handle_TDF_DeltaOnForget_Create
Handle_TDF_DeltaOnForget_DownCast = _TDF.Handle_TDF_DeltaOnForget_DownCast
Handle_TDF_DeltaOnForget_IsNull = _TDF.Handle_TDF_DeltaOnForget_IsNull
Handle_TDF_DeltaOnModification_Create = _TDF.Handle_TDF_DeltaOnModification_Create
Handle_TDF_DeltaOnModification_DownCast = _TDF.Handle_TDF_DeltaOnModification_DownCast
Handle_TDF_DeltaOnModification_IsNull = _TDF.Handle_TDF_DeltaOnModification_IsNull
Handle_TDF_DeltaOnRemoval_Create = _TDF.Handle_TDF_DeltaOnRemoval_Create
Handle_TDF_DeltaOnRemoval_DownCast = _TDF.Handle_TDF_DeltaOnRemoval_DownCast
Handle_TDF_DeltaOnRemoval_IsNull = _TDF.Handle_TDF_DeltaOnRemoval_IsNull
Handle_TDF_DeltaOnResume_Create = _TDF.Handle_TDF_DeltaOnResume_Create
Handle_TDF_DeltaOnResume_DownCast = _TDF.Handle_TDF_DeltaOnResume_DownCast
Handle_TDF_DeltaOnResume_IsNull = _TDF.Handle_TDF_DeltaOnResume_IsNull
Handle_TDF_Reference_Create = _TDF.Handle_TDF_Reference_Create
Handle_TDF_Reference_DownCast = _TDF.Handle_TDF_Reference_DownCast
Handle_TDF_Reference_IsNull = _TDF.Handle_TDF_Reference_IsNull
Handle_TDF_TagSource_Create = _TDF.Handle_TDF_TagSource_Create
Handle_TDF_TagSource_DownCast = _TDF.Handle_TDF_TagSource_DownCast
Handle_TDF_TagSource_IsNull = _TDF.Handle_TDF_TagSource_IsNull
Handle_TDF_DefaultDeltaOnModification_Create = _TDF.Handle_TDF_DefaultDeltaOnModification_Create
Handle_TDF_DefaultDeltaOnModification_DownCast = _TDF.Handle_TDF_DefaultDeltaOnModification_DownCast
Handle_TDF_DefaultDeltaOnModification_IsNull = _TDF.Handle_TDF_DefaultDeltaOnModification_IsNull
Handle_TDF_DefaultDeltaOnRemoval_Create = _TDF.Handle_TDF_DefaultDeltaOnRemoval_Create
Handle_TDF_DefaultDeltaOnRemoval_DownCast = _TDF.Handle_TDF_DefaultDeltaOnRemoval_DownCast
Handle_TDF_DefaultDeltaOnRemoval_IsNull = _TDF.Handle_TDF_DefaultDeltaOnRemoval_IsNull
Handle_TDF_HAttributeArray1_Create = _TDF.Handle_TDF_HAttributeArray1_Create
Handle_TDF_HAttributeArray1_DownCast = _TDF.Handle_TDF_HAttributeArray1_DownCast
Handle_TDF_HAttributeArray1_IsNull = _TDF.Handle_TDF_HAttributeArray1_IsNull
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
    begin = _swig_new_instance_method(_TDF.TDF_AttributeList_begin)
    end = _swig_new_instance_method(_TDF.TDF_AttributeList_end)
    cbegin = _swig_new_instance_method(_TDF.TDF_AttributeList_cbegin)
    cend = _swig_new_instance_method(_TDF.TDF_AttributeList_cend)

    def __init__(self, *args):
        _TDF.TDF_AttributeList_swiginit(self, _TDF.new_TDF_AttributeList(*args))
    Size = _swig_new_instance_method(_TDF.TDF_AttributeList_Size)
    Assign = _swig_new_instance_method(_TDF.TDF_AttributeList_Assign)
    Set = _swig_new_instance_method(_TDF.TDF_AttributeList_Set)
    Clear = _swig_new_instance_method(_TDF.TDF_AttributeList_Clear)
    First = _swig_new_instance_method(_TDF.TDF_AttributeList_First)
    Last = _swig_new_instance_method(_TDF.TDF_AttributeList_Last)
    Append = _swig_new_instance_method(_TDF.TDF_AttributeList_Append)
    Prepend = _swig_new_instance_method(_TDF.TDF_AttributeList_Prepend)
    RemoveFirst = _swig_new_instance_method(_TDF.TDF_AttributeList_RemoveFirst)
    Remove = _swig_new_instance_method(_TDF.TDF_AttributeList_Remove)
    InsertBefore = _swig_new_instance_method(_TDF.TDF_AttributeList_InsertBefore)
    InsertAfter = _swig_new_instance_method(_TDF.TDF_AttributeList_InsertAfter)
    Reverse = _swig_new_instance_method(_TDF.TDF_AttributeList_Reverse)
    __swig_destroy__ = _TDF.delete_TDF_AttributeList

# Register TDF_AttributeList in _TDF:
_TDF.TDF_AttributeList_swigregister(TDF_AttributeList)

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))
    More = _swig_new_instance_method(_TDF.TDF_ListIteratorOfAttributeList_More)
    Next = _swig_new_instance_method(_TDF.TDF_ListIteratorOfAttributeList_Next)
    Value = _swig_new_instance_method(_TDF.TDF_ListIteratorOfAttributeList_Value)
    ChangeValue = _swig_new_instance_method(_TDF.TDF_ListIteratorOfAttributeList_ChangeValue)
    __swig_destroy__ = _TDF.delete_TDF_ListIteratorOfAttributeList

# Register TDF_ListIteratorOfAttributeList in _TDF:
_TDF.TDF_ListIteratorOfAttributeList_swigregister(TDF_ListIteratorOfAttributeList)

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))
    Exchange = _swig_new_instance_method(_TDF.TDF_GUIDProgIDMap_Exchange)
    Assign = _swig_new_instance_method(_TDF.TDF_GUIDProgIDMap_Assign)
    Set = _swig_new_instance_method(_TDF.TDF_GUIDProgIDMap_Set)
    ReSize = _swig_new_instance_method(_TDF.TDF_GUIDProgIDMap_ReSize)
    Bind = _swig_new_instance_method(_TDF.TDF_GUIDProgIDMap_Bind)
    AreBound = _swig_new_instance_method(_TDF.TDF_GUIDProgIDMap_AreBound)
    IsBound1 = _swig_new_instance_method(_TDF.TDF_GUIDProgIDMap_IsBound1)
    IsBound2 = _swig_new_instance_method(_TDF.TDF_GUIDProgIDMap_IsBound2)
    UnBind1 = _swig_new_instance_method(_TDF.TDF_GUIDProgIDMap_UnBind1)
    UnBind2 = _swig_new_instance_method(_TDF.TDF_GUIDProgIDMap_UnBind2)
    Find1 = _swig_new_instance_method(_TDF.TDF_GUIDProgIDMap_Find1)
    Seek1 = _swig_new_instance_method(_TDF.TDF_GUIDProgIDMap_Seek1)
    Find2 = _swig_new_instance_method(_TDF.TDF_GUIDProgIDMap_Find2)
    Seek2 = _swig_new_instance_method(_TDF.TDF_GUIDProgIDMap_Seek2)
    Clear = _swig_new_instance_method(_TDF.TDF_GUIDProgIDMap_Clear)
    __swig_destroy__ = _TDF.delete_TDF_GUIDProgIDMap
    Size = _swig_new_instance_method(_TDF.TDF_GUIDProgIDMap_Size)

# Register TDF_GUIDProgIDMap in _TDF:
_TDF.TDF_GUIDProgIDMap_swigregister(TDF_GUIDProgIDMap)

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
    begin = _swig_new_instance_method(_TDF.TDF_AttributeArray1_begin)
    end = _swig_new_instance_method(_TDF.TDF_AttributeArray1_end)
    cbegin = _swig_new_instance_method(_TDF.TDF_AttributeArray1_cbegin)
    cend = _swig_new_instance_method(_TDF.TDF_AttributeArray1_cend)

    def __init__(self, *args):
        _TDF.TDF_AttributeArray1_swiginit(self, _TDF.new_TDF_AttributeArray1(*args))
    Init = _swig_new_instance_method(_TDF.TDF_AttributeArray1_Init)
    Size = _swig_new_instance_method(_TDF.TDF_AttributeArray1_Size)
    Length = _swig_new_instance_method(_TDF.TDF_AttributeArray1_Length)
    IsEmpty = _swig_new_instance_method(_TDF.TDF_AttributeArray1_IsEmpty)
    Lower = _swig_new_instance_method(_TDF.TDF_AttributeArray1_Lower)
    Upper = _swig_new_instance_method(_TDF.TDF_AttributeArray1_Upper)
    IsDeletable = _swig_new_instance_method(_TDF.TDF_AttributeArray1_IsDeletable)
    IsAllocated = _swig_new_instance_method(_TDF.TDF_AttributeArray1_IsAllocated)
    Assign = _swig_new_instance_method(_TDF.TDF_AttributeArray1_Assign)
    Move = _swig_new_instance_method(_TDF.TDF_AttributeArray1_Move)
    Set = _swig_new_instance_method(_TDF.TDF_AttributeArray1_Set)
    First = _swig_new_instance_method(_TDF.TDF_AttributeArray1_First)
    ChangeFirst = _swig_new_instance_method(_TDF.TDF_AttributeArray1_ChangeFirst)
    Last = _swig_new_instance_method(_TDF.TDF_AttributeArray1_Last)
    ChangeLast = _swig_new_instance_method(_TDF.TDF_AttributeArray1_ChangeLast)
    Value = _swig_new_instance_method(_TDF.TDF_AttributeArray1_Value)
    ChangeValue = _swig_new_instance_method(_TDF.TDF_AttributeArray1_ChangeValue)
    __call__ = _swig_new_instance_method(_TDF.TDF_AttributeArray1___call__)
    SetValue = _swig_new_instance_method(_TDF.TDF_AttributeArray1_SetValue)
    Resize = _swig_new_instance_method(_TDF.TDF_AttributeArray1_Resize)
    __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_AttributeMap(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    cbegin = _swig_new_instance_method(_TDF.TDF_AttributeMap_cbegin)
    cend = _swig_new_instance_method(_TDF.TDF_AttributeMap_cend)

    def __init__(self, *args):
        _TDF.TDF_AttributeMap_swiginit(self, _TDF.new_TDF_AttributeMap(*args))
    Exchange = _swig_new_instance_method(_TDF.TDF_AttributeMap_Exchange)
    Assign = _swig_new_instance_method(_TDF.TDF_AttributeMap_Assign)
    Set = _swig_new_instance_method(_TDF.TDF_AttributeMap_Set)
    ReSize = _swig_new_instance_method(_TDF.TDF_AttributeMap_ReSize)
    Add = _swig_new_instance_method(_TDF.TDF_AttributeMap_Add)
    Added = _swig_new_instance_method(_TDF.TDF_AttributeMap_Added)
    Remove = _swig_new_instance_method(_TDF.TDF_AttributeMap_Remove)
    Clear = _swig_new_instance_method(_TDF.TDF_AttributeMap_Clear)
    __swig_destroy__ = _TDF.delete_TDF_AttributeMap
    Size = _swig_new_instance_method(_TDF.TDF_AttributeMap_Size)
    IsEqual = _swig_new_instance_method(_TDF.TDF_AttributeMap_IsEqual)
    Contains = _swig_new_instance_method(_TDF.TDF_AttributeMap_Contains)
    Union = _swig_new_instance_method(_TDF.TDF_AttributeMap_Union)
    Unite = _swig_new_instance_method(_TDF.TDF_AttributeMap_Unite)
    HasIntersection = _swig_new_instance_method(_TDF.TDF_AttributeMap_HasIntersection)
    Intersection = _swig_new_instance_method(_TDF.TDF_AttributeMap_Intersection)
    Intersect = _swig_new_instance_method(_TDF.TDF_AttributeMap_Intersect)
    Subtraction = _swig_new_instance_method(_TDF.TDF_AttributeMap_Subtraction)
    Subtract = _swig_new_instance_method(_TDF.TDF_AttributeMap_Subtract)
    Difference = _swig_new_instance_method(_TDF.TDF_AttributeMap_Difference)
    Differ = _swig_new_instance_method(_TDF.TDF_AttributeMap_Differ)

# Register TDF_AttributeMap in _TDF:
_TDF.TDF_AttributeMap_swigregister(TDF_AttributeMap)

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
    begin = _swig_new_instance_method(_TDF.TDF_IDList_begin)
    end = _swig_new_instance_method(_TDF.TDF_IDList_end)
    cbegin = _swig_new_instance_method(_TDF.TDF_IDList_cbegin)
    cend = _swig_new_instance_method(_TDF.TDF_IDList_cend)

    def __init__(self, *args):
        _TDF.TDF_IDList_swiginit(self, _TDF.new_TDF_IDList(*args))
    Size = _swig_new_instance_method(_TDF.TDF_IDList_Size)
    Assign = _swig_new_instance_method(_TDF.TDF_IDList_Assign)
    Set = _swig_new_instance_method(_TDF.TDF_IDList_Set)
    Clear = _swig_new_instance_method(_TDF.TDF_IDList_Clear)
    First = _swig_new_instance_method(_TDF.TDF_IDList_First)
    Last = _swig_new_instance_method(_TDF.TDF_IDList_Last)
    Append = _swig_new_instance_method(_TDF.TDF_IDList_Append)
    Prepend = _swig_new_instance_method(_TDF.TDF_IDList_Prepend)
    RemoveFirst = _swig_new_instance_method(_TDF.TDF_IDList_RemoveFirst)
    Remove = _swig_new_instance_method(_TDF.TDF_IDList_Remove)
    InsertBefore = _swig_new_instance_method(_TDF.TDF_IDList_InsertBefore)
    InsertAfter = _swig_new_instance_method(_TDF.TDF_IDList_InsertAfter)
    Reverse = _swig_new_instance_method(_TDF.TDF_IDList_Reverse)
    __swig_destroy__ = _TDF.delete_TDF_IDList

# Register TDF_IDList in _TDF:
_TDF.TDF_IDList_swigregister(TDF_IDList)

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))
    More = _swig_new_instance_method(_TDF.TDF_ListIteratorOfIDList_More)
    Next = _swig_new_instance_method(_TDF.TDF_ListIteratorOfIDList_Next)
    Value = _swig_new_instance_method(_TDF.TDF_ListIteratorOfIDList_Value)
    ChangeValue = _swig_new_instance_method(_TDF.TDF_ListIteratorOfIDList_ChangeValue)
    __swig_destroy__ = _TDF.delete_TDF_ListIteratorOfIDList

# Register TDF_ListIteratorOfIDList in _TDF:
_TDF.TDF_ListIteratorOfIDList_swigregister(TDF_ListIteratorOfIDList)

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
    begin = _swig_new_instance_method(_TDF.TDF_LabelSequence_begin)
    end = _swig_new_instance_method(_TDF.TDF_LabelSequence_end)
    cbegin = _swig_new_instance_method(_TDF.TDF_LabelSequence_cbegin)
    cend = _swig_new_instance_method(_TDF.TDF_LabelSequence_cend)

    def __init__(self, *args):
        _TDF.TDF_LabelSequence_swiginit(self, _TDF.new_TDF_LabelSequence(*args))
    Size = _swig_new_instance_method(_TDF.TDF_LabelSequence_Size)
    Length = _swig_new_instance_method(_TDF.TDF_LabelSequence_Length)
    Lower = _swig_new_instance_method(_TDF.TDF_LabelSequence_Lower)
    Upper = _swig_new_instance_method(_TDF.TDF_LabelSequence_Upper)
    IsEmpty = _swig_new_instance_method(_TDF.TDF_LabelSequence_IsEmpty)
    Reverse = _swig_new_instance_method(_TDF.TDF_LabelSequence_Reverse)
    Exchange = _swig_new_instance_method(_TDF.TDF_LabelSequence_Exchange)
    delNode = _swig_new_static_method(_TDF.TDF_LabelSequence_delNode)
    Clear = _swig_new_instance_method(_TDF.TDF_LabelSequence_Clear)
    Assign = _swig_new_instance_method(_TDF.TDF_LabelSequence_Assign)
    Set = _swig_new_instance_method(_TDF.TDF_LabelSequence_Set)
    Remove = _swig_new_instance_method(_TDF.TDF_LabelSequence_Remove)
    Append = _swig_new_instance_method(_TDF.TDF_LabelSequence_Append)
    Prepend = _swig_new_instance_method(_TDF.TDF_LabelSequence_Prepend)
    InsertBefore = _swig_new_instance_method(_TDF.TDF_LabelSequence_InsertBefore)
    InsertAfter = _swig_new_instance_method(_TDF.TDF_LabelSequence_InsertAfter)
    Split = _swig_new_instance_method(_TDF.TDF_LabelSequence_Split)
    First = _swig_new_instance_method(_TDF.TDF_LabelSequence_First)
    ChangeFirst = _swig_new_instance_method(_TDF.TDF_LabelSequence_ChangeFirst)
    Last = _swig_new_instance_method(_TDF.TDF_LabelSequence_Last)
    ChangeLast = _swig_new_instance_method(_TDF.TDF_LabelSequence_ChangeLast)
    Value = _swig_new_instance_method(_TDF.TDF_LabelSequence_Value)
    ChangeValue = _swig_new_instance_method(_TDF.TDF_LabelSequence_ChangeValue)
    __call__ = _swig_new_instance_method(_TDF.TDF_LabelSequence___call__)
    SetValue = _swig_new_instance_method(_TDF.TDF_LabelSequence_SetValue)
    __swig_destroy__ = _TDF.delete_TDF_LabelSequence

# Register TDF_LabelSequence in _TDF:
_TDF.TDF_LabelSequence_swigregister(TDF_LabelSequence)
TDF_LabelSequence_delNode = _TDF.TDF_LabelSequence_delNode

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
    begin = _swig_new_instance_method(_TDF.TDF_AttributeDeltaList_begin)
    end = _swig_new_instance_method(_TDF.TDF_AttributeDeltaList_end)
    cbegin = _swig_new_instance_method(_TDF.TDF_AttributeDeltaList_cbegin)
    cend = _swig_new_instance_method(_TDF.TDF_AttributeDeltaList_cend)

    def __init__(self, *args):
        _TDF.TDF_AttributeDeltaList_swiginit(self, _TDF.new_TDF_AttributeDeltaList(*args))
    Size = _swig_new_instance_method(_TDF.TDF_AttributeDeltaList_Size)
    Assign = _swig_new_instance_method(_TDF.TDF_AttributeDeltaList_Assign)
    Set = _swig_new_instance_method(_TDF.TDF_AttributeDeltaList_Set)
    Clear = _swig_new_instance_method(_TDF.TDF_AttributeDeltaList_Clear)
    First = _swig_new_instance_method(_TDF.TDF_AttributeDeltaList_First)
    Last = _swig_new_instance_method(_TDF.TDF_AttributeDeltaList_Last)
    Append = _swig_new_instance_method(_TDF.TDF_AttributeDeltaList_Append)
    Prepend = _swig_new_instance_method(_TDF.TDF_AttributeDeltaList_Prepend)
    RemoveFirst = _swig_new_instance_method(_TDF.TDF_AttributeDeltaList_RemoveFirst)
    Remove = _swig_new_instance_method(_TDF.TDF_AttributeDeltaList_Remove)
    InsertBefore = _swig_new_instance_method(_TDF.TDF_AttributeDeltaList_InsertBefore)
    InsertAfter = _swig_new_instance_method(_TDF.TDF_AttributeDeltaList_InsertAfter)
    Reverse = _swig_new_instance_method(_TDF.TDF_AttributeDeltaList_Reverse)
    __swig_destroy__ = _TDF.delete_TDF_AttributeDeltaList

# Register TDF_AttributeDeltaList in _TDF:
_TDF.TDF_AttributeDeltaList_swigregister(TDF_AttributeDeltaList)

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))
    More = _swig_new_instance_method(_TDF.TDF_ListIteratorOfAttributeDeltaList_More)
    Next = _swig_new_instance_method(_TDF.TDF_ListIteratorOfAttributeDeltaList_Next)
    Value = _swig_new_instance_method(_TDF.TDF_ListIteratorOfAttributeDeltaList_Value)
    ChangeValue = _swig_new_instance_method(_TDF.TDF_ListIteratorOfAttributeDeltaList_ChangeValue)
    __swig_destroy__ = _TDF.delete_TDF_ListIteratorOfAttributeDeltaList

# Register TDF_ListIteratorOfAttributeDeltaList in _TDF:
_TDF.TDF_ListIteratorOfAttributeDeltaList_swigregister(TDF_ListIteratorOfAttributeDeltaList)

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))
    Exchange = _swig_new_instance_method(_TDF.TDF_LabelDoubleMap_Exchange)
    Assign = _swig_new_instance_method(_TDF.TDF_LabelDoubleMap_Assign)
    Set = _swig_new_instance_method(_TDF.TDF_LabelDoubleMap_Set)
    ReSize = _swig_new_instance_method(_TDF.TDF_LabelDoubleMap_ReSize)
    Bind = _swig_new_instance_method(_TDF.TDF_LabelDoubleMap_Bind)
    AreBound = _swig_new_instance_method(_TDF.TDF_LabelDoubleMap_AreBound)
    IsBound1 = _swig_new_instance_method(_TDF.TDF_LabelDoubleMap_IsBound1)
    IsBound2 = _swig_new_instance_method(_TDF.TDF_LabelDoubleMap_IsBound2)
    UnBind1 = _swig_new_instance_method(_TDF.TDF_LabelDoubleMap_UnBind1)
    UnBind2 = _swig_new_instance_method(_TDF.TDF_LabelDoubleMap_UnBind2)
    Find1 = _swig_new_instance_method(_TDF.TDF_LabelDoubleMap_Find1)
    Seek1 = _swig_new_instance_method(_TDF.TDF_LabelDoubleMap_Seek1)
    Find2 = _swig_new_instance_method(_TDF.TDF_LabelDoubleMap_Find2)
    Seek2 = _swig_new_instance_method(_TDF.TDF_LabelDoubleMap_Seek2)
    Clear = _swig_new_instance_method(_TDF.TDF_LabelDoubleMap_Clear)
    __swig_destroy__ = _TDF.delete_TDF_LabelDoubleMap
    Size = _swig_new_instance_method(_TDF.TDF_LabelDoubleMap_Size)

# Register TDF_LabelDoubleMap in _TDF:
_TDF.TDF_LabelDoubleMap_swigregister(TDF_LabelDoubleMap)

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_LabelMap(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    cbegin = _swig_new_instance_method(_TDF.TDF_LabelMap_cbegin)
    cend = _swig_new_instance_method(_TDF.TDF_LabelMap_cend)

    def __init__(self, *args):
        _TDF.TDF_LabelMap_swiginit(self, _TDF.new_TDF_LabelMap(*args))
    Exchange = _swig_new_instance_method(_TDF.TDF_LabelMap_Exchange)
    Assign = _swig_new_instance_method(_TDF.TDF_LabelMap_Assign)
    Set = _swig_new_instance_method(_TDF.TDF_LabelMap_Set)
    ReSize = _swig_new_instance_method(_TDF.TDF_LabelMap_ReSize)
    Add = _swig_new_instance_method(_TDF.TDF_LabelMap_Add)
    Added = _swig_new_instance_method(_TDF.TDF_LabelMap_Added)
    Remove = _swig_new_instance_method(_TDF.TDF_LabelMap_Remove)
    Clear = _swig_new_instance_method(_TDF.TDF_LabelMap_Clear)
    __swig_destroy__ = _TDF.delete_TDF_LabelMap
    Size = _swig_new_instance_method(_TDF.TDF_LabelMap_Size)
    IsEqual = _swig_new_instance_method(_TDF.TDF_LabelMap_IsEqual)
    Contains = _swig_new_instance_method(_TDF.TDF_LabelMap_Contains)
    Union = _swig_new_instance_method(_TDF.TDF_LabelMap_Union)
    Unite = _swig_new_instance_method(_TDF.TDF_LabelMap_Unite)
    HasIntersection = _swig_new_instance_method(_TDF.TDF_LabelMap_HasIntersection)
    Intersection = _swig_new_instance_method(_TDF.TDF_LabelMap_Intersection)
    Intersect = _swig_new_instance_method(_TDF.TDF_LabelMap_Intersect)
    Subtraction = _swig_new_instance_method(_TDF.TDF_LabelMap_Subtraction)
    Subtract = _swig_new_instance_method(_TDF.TDF_LabelMap_Subtract)
    Difference = _swig_new_instance_method(_TDF.TDF_LabelMap_Difference)
    Differ = _swig_new_instance_method(_TDF.TDF_LabelMap_Differ)

# Register TDF_LabelMap in _TDF:
_TDF.TDF_LabelMap_swigregister(TDF_LabelMap)

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
    cbegin = _swig_new_instance_method(_TDF.TDF_AttributeIndexedMap_cbegin)
    cend = _swig_new_instance_method(_TDF.TDF_AttributeIndexedMap_cend)

    def __init__(self, *args):
        _TDF.TDF_AttributeIndexedMap_swiginit(self, _TDF.new_TDF_AttributeIndexedMap(*args))
    Exchange = _swig_new_instance_method(_TDF.TDF_AttributeIndexedMap_Exchange)
    Assign = _swig_new_instance_method(_TDF.TDF_AttributeIndexedMap_Assign)
    Set = _swig_new_instance_method(_TDF.TDF_AttributeIndexedMap_Set)
    ReSize = _swig_new_instance_method(_TDF.TDF_AttributeIndexedMap_ReSize)
    Add = _swig_new_instance_method(_TDF.TDF_AttributeIndexedMap_Add)
    Contains = _swig_new_instance_method(_TDF.TDF_AttributeIndexedMap_Contains)
    Substitute = _swig_new_instance_method(_TDF.TDF_AttributeIndexedMap_Substitute)
    Swap = _swig_new_instance_method(_TDF.TDF_AttributeIndexedMap_Swap)
    RemoveLast = _swig_new_instance_method(_TDF.TDF_AttributeIndexedMap_RemoveLast)
    RemoveFromIndex = _swig_new_instance_method(_TDF.TDF_AttributeIndexedMap_RemoveFromIndex)
    RemoveKey = _swig_new_instance_method(_TDF.TDF_AttributeIndexedMap_RemoveKey)
    FindKey = _swig_new_instance_method(_TDF.TDF_AttributeIndexedMap_FindKey)
    __call__ = _swig_new_instance_method(_TDF.TDF_AttributeIndexedMap___call__)
    FindIndex = _swig_new_instance_method(_TDF.TDF_AttributeIndexedMap_FindIndex)
    Clear = _swig_new_instance_method(_TDF.TDF_AttributeIndexedMap_Clear)
    __swig_destroy__ = _TDF.delete_TDF_AttributeIndexedMap
    Size = _swig_new_instance_method(_TDF.TDF_AttributeIndexedMap_Size)

# Register TDF_AttributeIndexedMap in _TDF:
_TDF.TDF_AttributeIndexedMap_swigregister(TDF_AttributeIndexedMap)

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))
    Exchange = _swig_new_instance_method(_TDF.TDF_AttributeDoubleMap_Exchange)
    Assign = _swig_new_instance_method(_TDF.TDF_AttributeDoubleMap_Assign)
    Set = _swig_new_instance_method(_TDF.TDF_AttributeDoubleMap_Set)
    ReSize = _swig_new_instance_method(_TDF.TDF_AttributeDoubleMap_ReSize)
    Bind = _swig_new_instance_method(_TDF.TDF_AttributeDoubleMap_Bind)
    AreBound = _swig_new_instance_method(_TDF.TDF_AttributeDoubleMap_AreBound)
    IsBound1 = _swig_new_instance_method(_TDF.TDF_AttributeDoubleMap_IsBound1)
    IsBound2 = _swig_new_instance_method(_TDF.TDF_AttributeDoubleMap_IsBound2)
    UnBind1 = _swig_new_instance_method(_TDF.TDF_AttributeDoubleMap_UnBind1)
    UnBind2 = _swig_new_instance_method(_TDF.TDF_AttributeDoubleMap_UnBind2)
    Find1 = _swig_new_instance_method(_TDF.TDF_AttributeDoubleMap_Find1)
    Seek1 = _swig_new_instance_method(_TDF.TDF_AttributeDoubleMap_Seek1)
    Find2 = _swig_new_instance_method(_TDF.TDF_AttributeDoubleMap_Find2)
    Seek2 = _swig_new_instance_method(_TDF.TDF_AttributeDoubleMap_Seek2)
    Clear = _swig_new_instance_method(_TDF.TDF_AttributeDoubleMap_Clear)
    __swig_destroy__ = _TDF.delete_TDF_AttributeDoubleMap
    Size = _swig_new_instance_method(_TDF.TDF_AttributeDoubleMap_Size)

# Register TDF_AttributeDoubleMap in _TDF:
_TDF.TDF_AttributeDoubleMap_swigregister(TDF_AttributeDoubleMap)

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
    begin = _swig_new_instance_method(_TDF.TDF_AttributeDataMap_begin)
    end = _swig_new_instance_method(_TDF.TDF_AttributeDataMap_end)
    cbegin = _swig_new_instance_method(_TDF.TDF_AttributeDataMap_cbegin)
    cend = _swig_new_instance_method(_TDF.TDF_AttributeDataMap_cend)

    def __init__(self, *args):
        _TDF.TDF_AttributeDataMap_swiginit(self, _TDF.new_TDF_AttributeDataMap(*args))
    Exchange = _swig_new_instance_method(_TDF.TDF_AttributeDataMap_Exchange)
    Assign = _swig_new_instance_method(_TDF.TDF_AttributeDataMap_Assign)
    Set = _swig_new_instance_method(_TDF.TDF_AttributeDataMap_Set)
    ReSize = _swig_new_instance_method(_TDF.TDF_AttributeDataMap_ReSize)
    Bind = _swig_new_instance_method(_TDF.TDF_AttributeDataMap_Bind)
    Bound = _swig_new_instance_method(_TDF.TDF_AttributeDataMap_Bound)
    IsBound = _swig_new_instance_method(_TDF.TDF_AttributeDataMap_IsBound)
    UnBind = _swig_new_instance_method(_TDF.TDF_AttributeDataMap_UnBind)
    Seek = _swig_new_instance_method(_TDF.TDF_AttributeDataMap_Seek)
    Find = _swig_new_instance_method(_TDF.TDF_AttributeDataMap_Find)
    ChangeSeek = _swig_new_instance_method(_TDF.TDF_AttributeDataMap_ChangeSeek)
    ChangeFind = _swig_new_instance_method(_TDF.TDF_AttributeDataMap_ChangeFind)
    __call__ = _swig_new_instance_method(_TDF.TDF_AttributeDataMap___call__)
    Clear = _swig_new_instance_method(_TDF.TDF_AttributeDataMap_Clear)
    __swig_destroy__ = _TDF.delete_TDF_AttributeDataMap
    Size = _swig_new_instance_method(_TDF.TDF_AttributeDataMap_Size)

# Register TDF_AttributeDataMap in _TDF:
_TDF.TDF_AttributeDataMap_swigregister(TDF_AttributeDataMap)

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
    cbegin = _swig_new_instance_method(_TDF.TDF_IDMap_cbegin)
    cend = _swig_new_instance_method(_TDF.TDF_IDMap_cend)

    def __init__(self, *args):
        _TDF.TDF_IDMap_swiginit(self, _TDF.new_TDF_IDMap(*args))
    Exchange = _swig_new_instance_method(_TDF.TDF_IDMap_Exchange)
    Assign = _swig_new_instance_method(_TDF.TDF_IDMap_Assign)
    Set = _swig_new_instance_method(_TDF.TDF_IDMap_Set)
    ReSize = _swig_new_instance_method(_TDF.TDF_IDMap_ReSize)
    Add = _swig_new_instance_method(_TDF.TDF_IDMap_Add)
    Added = _swig_new_instance_method(_TDF.TDF_IDMap_Added)
    Remove = _swig_new_instance_method(_TDF.TDF_IDMap_Remove)
    Clear = _swig_new_instance_method(_TDF.TDF_IDMap_Clear)
    __swig_destroy__ = _TDF.delete_TDF_IDMap
    Size = _swig_new_instance_method(_TDF.TDF_IDMap_Size)
    IsEqual = _swig_new_instance_method(_TDF.TDF_IDMap_IsEqual)
    Contains = _swig_new_instance_method(_TDF.TDF_IDMap_Contains)
    Union = _swig_new_instance_method(_TDF.TDF_IDMap_Union)
    Unite = _swig_new_instance_method(_TDF.TDF_IDMap_Unite)
    HasIntersection = _swig_new_instance_method(_TDF.TDF_IDMap_HasIntersection)
    Intersection = _swig_new_instance_method(_TDF.TDF_IDMap_Intersection)
    Intersect = _swig_new_instance_method(_TDF.TDF_IDMap_Intersect)
    Subtraction = _swig_new_instance_method(_TDF.TDF_IDMap_Subtraction)
    Subtract = _swig_new_instance_method(_TDF.TDF_IDMap_Subtract)
    Difference = _swig_new_instance_method(_TDF.TDF_IDMap_Difference)
    Differ = _swig_new_instance_method(_TDF.TDF_IDMap_Differ)

# 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
    begin = _swig_new_instance_method(_TDF.TDF_LabelDataMap_begin)
    end = _swig_new_instance_method(_TDF.TDF_LabelDataMap_end)
    cbegin = _swig_new_instance_method(_TDF.TDF_LabelDataMap_cbegin)
    cend = _swig_new_instance_method(_TDF.TDF_LabelDataMap_cend)

    def __init__(self, *args):
        _TDF.TDF_LabelDataMap_swiginit(self, _TDF.new_TDF_LabelDataMap(*args))
    Exchange = _swig_new_instance_method(_TDF.TDF_LabelDataMap_Exchange)
    Assign = _swig_new_instance_method(_TDF.TDF_LabelDataMap_Assign)
    Set = _swig_new_instance_method(_TDF.TDF_LabelDataMap_Set)
    ReSize = _swig_new_instance_method(_TDF.TDF_LabelDataMap_ReSize)
    Bind = _swig_new_instance_method(_TDF.TDF_LabelDataMap_Bind)
    Bound = _swig_new_instance_method(_TDF.TDF_LabelDataMap_Bound)
    IsBound = _swig_new_instance_method(_TDF.TDF_LabelDataMap_IsBound)
    UnBind = _swig_new_instance_method(_TDF.TDF_LabelDataMap_UnBind)
    Seek = _swig_new_instance_method(_TDF.TDF_LabelDataMap_Seek)
    Find = _swig_new_instance_method(_TDF.TDF_LabelDataMap_Find)
    ChangeSeek = _swig_new_instance_method(_TDF.TDF_LabelDataMap_ChangeSeek)
    ChangeFind = _swig_new_instance_method(_TDF.TDF_LabelDataMap_ChangeFind)
    __call__ = _swig_new_instance_method(_TDF.TDF_LabelDataMap___call__)
    Clear = _swig_new_instance_method(_TDF.TDF_LabelDataMap_Clear)
    __swig_destroy__ = _TDF.delete_TDF_LabelDataMap
    Size = _swig_new_instance_method(_TDF.TDF_LabelDataMap_Size)

# Register TDF_LabelDataMap in _TDF:
_TDF.TDF_LabelDataMap_swigregister(TDF_LabelDataMap)

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
    begin = _swig_new_instance_method(_TDF.TDF_DeltaList_begin)
    end = _swig_new_instance_method(_TDF.TDF_DeltaList_end)
    cbegin = _swig_new_instance_method(_TDF.TDF_DeltaList_cbegin)
    cend = _swig_new_instance_method(_TDF.TDF_DeltaList_cend)

    def __init__(self, *args):
        _TDF.TDF_DeltaList_swiginit(self, _TDF.new_TDF_DeltaList(*args))
    Size = _swig_new_instance_method(_TDF.TDF_DeltaList_Size)
    Assign = _swig_new_instance_method(_TDF.TDF_DeltaList_Assign)
    Set = _swig_new_instance_method(_TDF.TDF_DeltaList_Set)
    Clear = _swig_new_instance_method(_TDF.TDF_DeltaList_Clear)
    First = _swig_new_instance_method(_TDF.TDF_DeltaList_First)
    Last = _swig_new_instance_method(_TDF.TDF_DeltaList_Last)
    Append = _swig_new_instance_method(_TDF.TDF_DeltaList_Append)
    Prepend = _swig_new_instance_method(_TDF.TDF_DeltaList_Prepend)
    RemoveFirst = _swig_new_instance_method(_TDF.TDF_DeltaList_RemoveFirst)
    Remove = _swig_new_instance_method(_TDF.TDF_DeltaList_Remove)
    InsertBefore = _swig_new_instance_method(_TDF.TDF_DeltaList_InsertBefore)
    InsertAfter = _swig_new_instance_method(_TDF.TDF_DeltaList_InsertAfter)
    Reverse = _swig_new_instance_method(_TDF.TDF_DeltaList_Reverse)
    __swig_destroy__ = _TDF.delete_TDF_DeltaList

# Register TDF_DeltaList in _TDF:
_TDF.TDF_DeltaList_swigregister(TDF_DeltaList)

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))
    More = _swig_new_instance_method(_TDF.TDF_ListIteratorOfDeltaList_More)
    Next = _swig_new_instance_method(_TDF.TDF_ListIteratorOfDeltaList_Next)
    Value = _swig_new_instance_method(_TDF.TDF_ListIteratorOfDeltaList_Value)
    ChangeValue = _swig_new_instance_method(_TDF.TDF_ListIteratorOfDeltaList_ChangeValue)
    __swig_destroy__ = _TDF.delete_TDF_ListIteratorOfDeltaList

# Register TDF_ListIteratorOfDeltaList in _TDF:
_TDF.TDF_ListIteratorOfDeltaList_swigregister(TDF_ListIteratorOfDeltaList)

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
    cbegin = _swig_new_instance_method(_TDF.TDF_LabelIndexedMap_cbegin)
    cend = _swig_new_instance_method(_TDF.TDF_LabelIndexedMap_cend)

    def __init__(self, *args):
        _TDF.TDF_LabelIndexedMap_swiginit(self, _TDF.new_TDF_LabelIndexedMap(*args))
    Exchange = _swig_new_instance_method(_TDF.TDF_LabelIndexedMap_Exchange)
    Assign = _swig_new_instance_method(_TDF.TDF_LabelIndexedMap_Assign)
    Set = _swig_new_instance_method(_TDF.TDF_LabelIndexedMap_Set)
    ReSize = _swig_new_instance_method(_TDF.TDF_LabelIndexedMap_ReSize)
    Add = _swig_new_instance_method(_TDF.TDF_LabelIndexedMap_Add)
    Contains = _swig_new_instance_method(_TDF.TDF_LabelIndexedMap_Contains)
    Substitute = _swig_new_instance_method(_TDF.TDF_LabelIndexedMap_Substitute)
    Swap = _swig_new_instance_method(_TDF.TDF_LabelIndexedMap_Swap)
    RemoveLast = _swig_new_instance_method(_TDF.TDF_LabelIndexedMap_RemoveLast)
    RemoveFromIndex = _swig_new_instance_method(_TDF.TDF_LabelIndexedMap_RemoveFromIndex)
    RemoveKey = _swig_new_instance_method(_TDF.TDF_LabelIndexedMap_RemoveKey)
    FindKey = _swig_new_instance_method(_TDF.TDF_LabelIndexedMap_FindKey)
    __call__ = _swig_new_instance_method(_TDF.TDF_LabelIndexedMap___call__)
    FindIndex = _swig_new_instance_method(_TDF.TDF_LabelIndexedMap_FindIndex)
    Clear = _swig_new_instance_method(_TDF.TDF_LabelIndexedMap_Clear)
    __swig_destroy__ = _TDF.delete_TDF_LabelIndexedMap
    Size = _swig_new_instance_method(_TDF.TDF_LabelIndexedMap_Size)

# 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
    begin = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap_begin)
    end = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap_end)
    cbegin = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap_cbegin)
    cend = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap_cend)

    def __init__(self, *args):
        _TDF.TDF_LabelIntegerMap_swiginit(self, _TDF.new_TDF_LabelIntegerMap(*args))
    Exchange = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap_Exchange)
    Assign = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap_Assign)
    Set = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap_Set)
    ReSize = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap_ReSize)
    Bind = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap_Bind)
    Bound = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap_Bound)
    IsBound = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap_IsBound)
    UnBind = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap_UnBind)
    Seek = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap_Seek)
    Find = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap_Find)
    ChangeSeek = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap_ChangeSeek)
    ChangeFind = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap_ChangeFind)
    __call__ = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap___call__)
    Clear = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap_Clear)
    __swig_destroy__ = _TDF.delete_TDF_LabelIntegerMap
    Size = _swig_new_instance_method(_TDF.TDF_LabelIntegerMap_Size)

# 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
    begin = _swig_new_instance_method(_TDF.TDF_LabelList_begin)
    end = _swig_new_instance_method(_TDF.TDF_LabelList_end)
    cbegin = _swig_new_instance_method(_TDF.TDF_LabelList_cbegin)
    cend = _swig_new_instance_method(_TDF.TDF_LabelList_cend)

    def __init__(self, *args):
        _TDF.TDF_LabelList_swiginit(self, _TDF.new_TDF_LabelList(*args))
    Size = _swig_new_instance_method(_TDF.TDF_LabelList_Size)
    Assign = _swig_new_instance_method(_TDF.TDF_LabelList_Assign)
    Set = _swig_new_instance_method(_TDF.TDF_LabelList_Set)
    Clear = _swig_new_instance_method(_TDF.TDF_LabelList_Clear)
    First = _swig_new_instance_method(_TDF.TDF_LabelList_First)
    Last = _swig_new_instance_method(_TDF.TDF_LabelList_Last)
    Append = _swig_new_instance_method(_TDF.TDF_LabelList_Append)
    Prepend = _swig_new_instance_method(_TDF.TDF_LabelList_Prepend)
    RemoveFirst = _swig_new_instance_method(_TDF.TDF_LabelList_RemoveFirst)
    Remove = _swig_new_instance_method(_TDF.TDF_LabelList_Remove)
    InsertBefore = _swig_new_instance_method(_TDF.TDF_LabelList_InsertBefore)
    InsertAfter = _swig_new_instance_method(_TDF.TDF_LabelList_InsertAfter)
    Reverse = _swig_new_instance_method(_TDF.TDF_LabelList_Reverse)
    __swig_destroy__ = _TDF.delete_TDF_LabelList

# Register TDF_LabelList in _TDF:
_TDF.TDF_LabelList_swigregister(TDF_LabelList)

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))
    More = _swig_new_instance_method(_TDF.TDF_ListIteratorOfLabelList_More)
    Next = _swig_new_instance_method(_TDF.TDF_ListIteratorOfLabelList_Next)
    Value = _swig_new_instance_method(_TDF.TDF_ListIteratorOfLabelList_Value)
    ChangeValue = _swig_new_instance_method(_TDF.TDF_ListIteratorOfLabelList_ChangeValue)
    __swig_destroy__ = _TDF.delete_TDF_ListIteratorOfLabelList

# Register TDF_ListIteratorOfLabelList in _TDF:
_TDF.TDF_ListIteratorOfLabelList_swigregister(TDF_ListIteratorOfLabelList)

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
    begin = _swig_new_instance_method(_TDF.TDF_AttributeSequence_begin)
    end = _swig_new_instance_method(_TDF.TDF_AttributeSequence_end)
    cbegin = _swig_new_instance_method(_TDF.TDF_AttributeSequence_cbegin)
    cend = _swig_new_instance_method(_TDF.TDF_AttributeSequence_cend)

    def __init__(self, *args):
        _TDF.TDF_AttributeSequence_swiginit(self, _TDF.new_TDF_AttributeSequence(*args))
    Size = _swig_new_instance_method(_TDF.TDF_AttributeSequence_Size)
    Length = _swig_new_instance_method(_TDF.TDF_AttributeSequence_Length)
    Lower = _swig_new_instance_method(_TDF.TDF_AttributeSequence_Lower)
    Upper = _swig_new_instance_method(_TDF.TDF_AttributeSequence_Upper)
    IsEmpty = _swig_new_instance_method(_TDF.TDF_AttributeSequence_IsEmpty)
    Reverse = _swig_new_instance_method(_TDF.TDF_AttributeSequence_Reverse)
    Exchange = _swig_new_instance_method(_TDF.TDF_AttributeSequence_Exchange)
    delNode = _swig_new_static_method(_TDF.TDF_AttributeSequence_delNode)
    Clear = _swig_new_instance_method(_TDF.TDF_AttributeSequence_Clear)
    Assign = _swig_new_instance_method(_TDF.TDF_AttributeSequence_Assign)
    Set = _swig_new_instance_method(_TDF.TDF_AttributeSequence_Set)
    Remove = _swig_new_instance_method(_TDF.TDF_AttributeSequence_Remove)
    Append = _swig_new_instance_method(_TDF.TDF_AttributeSequence_Append)
    Prepend = _swig_new_instance_method(_TDF.TDF_AttributeSequence_Prepend)
    InsertBefore = _swig_new_instance_method(_TDF.TDF_AttributeSequence_InsertBefore)
    InsertAfter = _swig_new_instance_method(_TDF.TDF_AttributeSequence_InsertAfter)
    Split = _swig_new_instance_method(_TDF.TDF_AttributeSequence_Split)
    First = _swig_new_instance_method(_TDF.TDF_AttributeSequence_First)
    ChangeFirst = _swig_new_instance_method(_TDF.TDF_AttributeSequence_ChangeFirst)
    Last = _swig_new_instance_method(_TDF.TDF_AttributeSequence_Last)
    ChangeLast = _swig_new_instance_method(_TDF.TDF_AttributeSequence_ChangeLast)
    Value = _swig_new_instance_method(_TDF.TDF_AttributeSequence_Value)
    ChangeValue = _swig_new_instance_method(_TDF.TDF_AttributeSequence_ChangeValue)
    __call__ = _swig_new_instance_method(_TDF.TDF_AttributeSequence___call__)
    SetValue = _swig_new_instance_method(_TDF.TDF_AttributeSequence_SetValue)
    __swig_destroy__ = _TDF.delete_TDF_AttributeSequence

# Register TDF_AttributeSequence in _TDF:
_TDF.TDF_AttributeSequence_swigregister(TDF_AttributeSequence)
TDF_AttributeSequence_delNode = _TDF.TDF_AttributeSequence_delNode

class tdf(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AddLinkGUIDToProgID = _swig_new_static_method(_TDF.tdf_AddLinkGUIDToProgID)
    GUIDFromProgID = _swig_new_static_method(_TDF.tdf_GUIDFromProgID)
    LowestID = _swig_new_static_method(_TDF.tdf_LowestID)
    ProgIDFromGUID = _swig_new_static_method(_TDF.tdf_ProgIDFromGUID)
    UppestID = _swig_new_static_method(_TDF.tdf_UppestID)

    __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)
tdf_AddLinkGUIDToProgID = _TDF.tdf_AddLinkGUIDToProgID
tdf_GUIDFromProgID = _TDF.tdf_GUIDFromProgID
tdf_LowestID = _TDF.tdf_LowestID
tdf_ProgIDFromGUID = _TDF.tdf_ProgIDFromGUID
tdf_UppestID = _TDF.tdf_UppestID

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
    AddAttribute = _swig_new_instance_method(_TDF.TDF_Attribute_AddAttribute)
    AfterAddition = _swig_new_instance_method(_TDF.TDF_Attribute_AfterAddition)
    AfterResume = _swig_new_instance_method(_TDF.TDF_Attribute_AfterResume)
    AfterRetrieval = _swig_new_instance_method(_TDF.TDF_Attribute_AfterRetrieval)
    AfterUndo = _swig_new_instance_method(_TDF.TDF_Attribute_AfterUndo)
    Backup = _swig_new_instance_method(_TDF.TDF_Attribute_Backup)
    BackupCopy = _swig_new_instance_method(_TDF.TDF_Attribute_BackupCopy)
    BeforeCommitTransaction = _swig_new_instance_method(_TDF.TDF_Attribute_BeforeCommitTransaction)
    BeforeForget = _swig_new_instance_method(_TDF.TDF_Attribute_BeforeForget)
    BeforeRemoval = _swig_new_instance_method(_TDF.TDF_Attribute_BeforeRemoval)
    BeforeUndo = _swig_new_instance_method(_TDF.TDF_Attribute_BeforeUndo)
    DeltaOnAddition = _swig_new_instance_method(_TDF.TDF_Attribute_DeltaOnAddition)
    DeltaOnForget = _swig_new_instance_method(_TDF.TDF_Attribute_DeltaOnForget)
    DeltaOnModification = _swig_new_instance_method(_TDF.TDF_Attribute_DeltaOnModification)
    DeltaOnRemoval = _swig_new_instance_method(_TDF.TDF_Attribute_DeltaOnRemoval)
    DeltaOnResume = _swig_new_instance_method(_TDF.TDF_Attribute_DeltaOnResume)
    DumpToString = _swig_new_instance_method(_TDF.TDF_Attribute_DumpToString)
    ExtendedDump = _swig_new_instance_method(_TDF.TDF_Attribute_ExtendedDump)
    FindAttribute = _swig_new_instance_method(_TDF.TDF_Attribute_FindAttribute)
    Forget = _swig_new_instance_method(_TDF.TDF_Attribute_Forget)
    ForgetAllAttributes = _swig_new_instance_method(_TDF.TDF_Attribute_ForgetAllAttributes)
    ForgetAttribute = _swig_new_instance_method(_TDF.TDF_Attribute_ForgetAttribute)
    ID = _swig_new_instance_method(_TDF.TDF_Attribute_ID)
    IsAttribute = _swig_new_instance_method(_TDF.TDF_Attribute_IsAttribute)
    IsBackuped = _swig_new_instance_method(_TDF.TDF_Attribute_IsBackuped)
    IsForgotten = _swig_new_instance_method(_TDF.TDF_Attribute_IsForgotten)
    IsNew = _swig_new_instance_method(_TDF.TDF_Attribute_IsNew)
    IsValid = _swig_new_instance_method(_TDF.TDF_Attribute_IsValid)
    Label = _swig_new_instance_method(_TDF.TDF_Attribute_Label)
    NewEmpty = _swig_new_instance_method(_TDF.TDF_Attribute_NewEmpty)
    Paste = _swig_new_instance_method(_TDF.TDF_Attribute_Paste)
    References = _swig_new_instance_method(_TDF.TDF_Attribute_References)
    Restore = _swig_new_instance_method(_TDF.TDF_Attribute_Restore)
    SetID = _swig_new_instance_method(_TDF.TDF_Attribute_SetID)
    Transaction = _swig_new_instance_method(_TDF.TDF_Attribute_Transaction)
    UntilTransaction = _swig_new_instance_method(_TDF.TDF_Attribute_UntilTransaction)


    @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
    Apply = _swig_new_instance_method(_TDF.TDF_AttributeDelta_Apply)
    Attribute = _swig_new_instance_method(_TDF.TDF_AttributeDelta_Attribute)
    DumpToString = _swig_new_instance_method(_TDF.TDF_AttributeDelta_DumpToString)
    ID = _swig_new_instance_method(_TDF.TDF_AttributeDelta_ID)
    Label = _swig_new_instance_method(_TDF.TDF_AttributeDelta_Label)


    @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
    Initialize = _swig_new_instance_method(_TDF.TDF_AttributeIterator_Initialize)
    More = _swig_new_instance_method(_TDF.TDF_AttributeIterator_More)
    Next = _swig_new_instance_method(_TDF.TDF_AttributeIterator_Next)
    PtrValue = _swig_new_instance_method(_TDF.TDF_AttributeIterator_PtrValue)

    def __init__(self, *args):
        r"""
        :rtype: None:param aLabel:
        	:type aLabel: TDF_Label
        	:param withoutForgotten: default value is Standard_True
        	:type withoutForgotten: bool
        	:rtype: None:param aLabelNode:
        	:type aLabelNode: TDF_LabelNodePtr
        	:param withoutForgotten: default value is Standard_True
        	:type withoutForgotten: bool
        	:rtype: None
        """
        _TDF.TDF_AttributeIterator_swiginit(self, _TDF.new_TDF_AttributeIterator(*args))
    Value = _swig_new_instance_method(_TDF.TDF_AttributeIterator_Value)

    __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
    Initialize = _swig_new_instance_method(_TDF.TDF_ChildIDIterator_Initialize)
    More = _swig_new_instance_method(_TDF.TDF_ChildIDIterator_More)
    Next = _swig_new_instance_method(_TDF.TDF_ChildIDIterator_Next)
    NextBrother = _swig_new_instance_method(_TDF.TDF_ChildIDIterator_NextBrother)

    def __init__(self, *args):
        r"""
        * Creates an empty iterator.
        	:rtype: None* 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.
        	:param aLabel:
        	:type aLabel: TDF_Label
        	:param anID:
        	:type anID: Standard_GUID
        	:param allLevels: default value is Standard_False
        	:type allLevels: bool
        	:rtype: None
        """
        _TDF.TDF_ChildIDIterator_swiginit(self, _TDF.new_TDF_ChildIDIterator(*args))
    Value = _swig_new_instance_method(_TDF.TDF_ChildIDIterator_Value)

    __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
    Initialize = _swig_new_instance_method(_TDF.TDF_ChildIterator_Initialize)
    More = _swig_new_instance_method(_TDF.TDF_ChildIterator_More)
    Next = _swig_new_instance_method(_TDF.TDF_ChildIterator_Next)
    NextBrother = _swig_new_instance_method(_TDF.TDF_ChildIterator_NextBrother)

    def __init__(self, *args):
        r"""
        * Creates an empty iterator object to explore the children of a label.
        	:rtype: None* 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.
        	:param aLabel:
        	:type aLabel: TDF_Label
        	:param allLevels: default value is Standard_False
        	:type allLevels: bool
        	:rtype: None
        """
        _TDF.TDF_ChildIterator_swiginit(self, _TDF.new_TDF_ChildIterator(*args))
    Value = _swig_new_instance_method(_TDF.TDF_ChildIterator_Value)

    __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
    Descendants = _swig_new_instance_method(_TDF.TDF_ClosureMode_Descendants)
    References = _swig_new_instance_method(_TDF.TDF_ClosureMode_References)

    def __init__(self, *args):
        r"""
        * Creates an objet with all modes set to <aMode>.
        	:param aMode: default value is Standard_True
        	:type aMode: bool
        	:rtype: None
        """
        _TDF.TDF_ClosureMode_swiginit(self, _TDF.new_TDF_ClosureMode(*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
    Closure = _swig_new_static_method(_TDF.TDF_ClosureTool_Closure)

    __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)
TDF_ClosureTool_Closure = _TDF.TDF_ClosureTool_Closure

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
    Compare = _swig_new_static_method(_TDF.TDF_ComparisonTool_Compare)
    Cut = _swig_new_static_method(_TDF.TDF_ComparisonTool_Cut)
    IsSelfContained = _swig_new_static_method(_TDF.TDF_ComparisonTool_IsSelfContained)
    SourceUnbound = _swig_new_static_method(_TDF.TDF_ComparisonTool_SourceUnbound)
    TargetUnbound = _swig_new_static_method(_TDF.TDF_ComparisonTool_TargetUnbound)

    __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)
TDF_ComparisonTool_Compare = _TDF.TDF_ComparisonTool_Compare
TDF_ComparisonTool_Cut = _TDF.TDF_ComparisonTool_Cut
TDF_ComparisonTool_IsSelfContained = _TDF.TDF_ComparisonTool_IsSelfContained
TDF_ComparisonTool_SourceUnbound = _TDF.TDF_ComparisonTool_SourceUnbound
TDF_ComparisonTool_TargetUnbound = _TDF.TDF_ComparisonTool_TargetUnbound

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
    ExternalReferences = _swig_new_static_method(_TDF.TDF_CopyLabel_ExternalReferences)
    IsDone = _swig_new_instance_method(_TDF.TDF_CopyLabel_IsDone)
    Load = _swig_new_instance_method(_TDF.TDF_CopyLabel_Load)
    Perform = _swig_new_instance_method(_TDF.TDF_CopyLabel_Perform)
    RelocationTable = _swig_new_instance_method(_TDF.TDF_CopyLabel_RelocationTable)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None* CopyTool
        	:param aSource:
        	:type aSource: TDF_Label
        	:param aTarget:
        	:type aTarget: TDF_Label
        	:rtype: None
        """
        _TDF.TDF_CopyLabel_swiginit(self, _TDF.new_TDF_CopyLabel(*args))
    UseFilter = _swig_new_instance_method(_TDF.TDF_CopyLabel_UseFilter)

    __repr__ = _dumps_object

    __swig_destroy__ = _TDF.delete_TDF_CopyLabel

# Register TDF_CopyLabel in _TDF:
_TDF.TDF_CopyLabel_swigregister(TDF_CopyLabel)
TDF_CopyLabel_ExternalReferences = _TDF.TDF_CopyLabel_ExternalReferences

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
    Copy = _swig_new_static_method(_TDF.TDF_CopyTool_Copy)

    __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)
TDF_CopyTool_Copy = _TDF.TDF_CopyTool_Copy

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
    AllowModification = _swig_new_instance_method(_TDF.TDF_Data_AllowModification)
    Destroy = _swig_new_instance_method(_TDF.TDF_Data_Destroy)
    DumpToString = _swig_new_instance_method(_TDF.TDF_Data_DumpToString)
    IsApplicable = _swig_new_instance_method(_TDF.TDF_Data_IsApplicable)
    IsModificationAllowed = _swig_new_instance_method(_TDF.TDF_Data_IsModificationAllowed)
    LabelNodeAllocator = _swig_new_instance_method(_TDF.TDF_Data_LabelNodeAllocator)
    NotUndoMode = _swig_new_instance_method(_TDF.TDF_Data_NotUndoMode)
    Root = _swig_new_instance_method(_TDF.TDF_Data_Root)

    def __init__(self, *args):
        r"""
        * A new and empty Data structure.
        	:rtype: None
        """
        _TDF.TDF_Data_swiginit(self, _TDF.new_TDF_Data(*args))
    Time = _swig_new_instance_method(_TDF.TDF_Data_Time)
    Transaction = _swig_new_instance_method(_TDF.TDF_Data_Transaction)
    Undo = _swig_new_instance_method(_TDF.TDF_Data_Undo)


    @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
    AddAttribute = _swig_new_instance_method(_TDF.TDF_DataSet_AddAttribute)
    AddLabel = _swig_new_instance_method(_TDF.TDF_DataSet_AddLabel)
    AddRoot = _swig_new_instance_method(_TDF.TDF_DataSet_AddRoot)
    Attributes = _swig_new_instance_method(_TDF.TDF_DataSet_Attributes)
    Clear = _swig_new_instance_method(_TDF.TDF_DataSet_Clear)
    ContainsAttribute = _swig_new_instance_method(_TDF.TDF_DataSet_ContainsAttribute)
    ContainsLabel = _swig_new_instance_method(_TDF.TDF_DataSet_ContainsLabel)
    DumpToString = _swig_new_instance_method(_TDF.TDF_DataSet_DumpToString)
    IsEmpty = _swig_new_instance_method(_TDF.TDF_DataSet_IsEmpty)
    Labels = _swig_new_instance_method(_TDF.TDF_DataSet_Labels)
    Roots = _swig_new_instance_method(_TDF.TDF_DataSet_Roots)

    def __init__(self, *args):
        r"""
        * Creates an empty DataSet object.
        	:rtype: None
        """
        _TDF.TDF_DataSet_swiginit(self, _TDF.new_TDF_DataSet(*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
    AttributeDeltas = _swig_new_instance_method(_TDF.TDF_Delta_AttributeDeltas)
    BeginTime = _swig_new_instance_method(_TDF.TDF_Delta_BeginTime)
    DumpToString = _swig_new_instance_method(_TDF.TDF_Delta_DumpToString)
    EndTime = _swig_new_instance_method(_TDF.TDF_Delta_EndTime)
    IsApplicable = _swig_new_instance_method(_TDF.TDF_Delta_IsApplicable)
    IsEmpty = _swig_new_instance_method(_TDF.TDF_Delta_IsEmpty)
    Labels = _swig_new_instance_method(_TDF.TDF_Delta_Labels)
    Name = _swig_new_instance_method(_TDF.TDF_Delta_Name)
    SetName = _swig_new_instance_method(_TDF.TDF_Delta_SetName)

    def __init__(self, *args):
        r"""
        * Creates a delta.
        	:rtype: None
        """
        _TDF.TDF_Delta_swiginit(self, _TDF.new_TDF_Delta(*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
    Copy = _swig_new_instance_method(_TDF.TDF_IDFilter_Copy)
    DumpToString = _swig_new_instance_method(_TDF.TDF_IDFilter_DumpToString)
    IDList = _swig_new_instance_method(_TDF.TDF_IDFilter_IDList)
    Ignore = _swig_new_instance_method(_TDF.TDF_IDFilter_Ignore)
    IgnoreAll = _swig_new_instance_method(_TDF.TDF_IDFilter_IgnoreAll)
    IsIgnored = _swig_new_instance_method(_TDF.TDF_IDFilter_IsIgnored)
    IsKept = _swig_new_instance_method(_TDF.TDF_IDFilter_IsKept)
    Keep = _swig_new_instance_method(_TDF.TDF_IDFilter_Keep)

    def __init__(self, *args):
        r"""
        * 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().
        	:param ignoreMode: default value is Standard_True
        	:type ignoreMode: bool
        	:rtype: None
        """
        _TDF.TDF_IDFilter_swiginit(self, _TDF.new_TDF_IDFilter(*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
    AddAttribute = _swig_new_instance_method(_TDF.TDF_Label_AddAttribute)
    AttributesModified = _swig_new_instance_method(_TDF.TDF_Label_AttributesModified)
    Data = _swig_new_instance_method(_TDF.TDF_Label_Data)
    Depth = _swig_new_instance_method(_TDF.TDF_Label_Depth)
    DumpToString = _swig_new_instance_method(_TDF.TDF_Label_DumpToString)
    EntryDumpToString = _swig_new_instance_method(_TDF.TDF_Label_EntryDumpToString)
    ExtendedDump = _swig_new_instance_method(_TDF.TDF_Label_ExtendedDump)
    Father = _swig_new_instance_method(_TDF.TDF_Label_Father)
    FindAttribute = _swig_new_instance_method(_TDF.TDF_Label_FindAttribute)
    FindChild = _swig_new_instance_method(_TDF.TDF_Label_FindChild)
    ForgetAllAttributes = _swig_new_instance_method(_TDF.TDF_Label_ForgetAllAttributes)
    ForgetAttribute = _swig_new_instance_method(_TDF.TDF_Label_ForgetAttribute)
    HasAttribute = _swig_new_instance_method(_TDF.TDF_Label_HasAttribute)
    HasChild = _swig_new_instance_method(_TDF.TDF_Label_HasChild)
    HasGreaterNode = _swig_new_instance_method(_TDF.TDF_Label_HasGreaterNode)
    HasLowerNode = _swig_new_instance_method(_TDF.TDF_Label_HasLowerNode)
    Imported = _swig_new_instance_method(_TDF.TDF_Label_Imported)
    IsAttribute = _swig_new_instance_method(_TDF.TDF_Label_IsAttribute)
    IsDescendant = _swig_new_instance_method(_TDF.TDF_Label_IsDescendant)
    IsDifferent = _swig_new_instance_method(_TDF.TDF_Label_IsDifferent)
    IsEqual = _swig_new_instance_method(_TDF.TDF_Label_IsEqual)
    IsImported = _swig_new_instance_method(_TDF.TDF_Label_IsImported)
    IsNull = _swig_new_instance_method(_TDF.TDF_Label_IsNull)
    IsRoot = _swig_new_instance_method(_TDF.TDF_Label_IsRoot)
    MayBeModified = _swig_new_instance_method(_TDF.TDF_Label_MayBeModified)
    NbAttributes = _swig_new_instance_method(_TDF.TDF_Label_NbAttributes)
    NbChildren = _swig_new_instance_method(_TDF.TDF_Label_NbChildren)
    NewChild = _swig_new_instance_method(_TDF.TDF_Label_NewChild)
    Nullify = _swig_new_instance_method(_TDF.TDF_Label_Nullify)
    ResumeAttribute = _swig_new_instance_method(_TDF.TDF_Label_ResumeAttribute)
    Root = _swig_new_instance_method(_TDF.TDF_Label_Root)

    def __init__(self, *args):
        r"""
        * Constructs an empty label object.
        	:rtype: None
        """
        _TDF.TDF_Label_swiginit(self, _TDF.new_TDF_Label(*args))
    Tag = _swig_new_instance_method(_TDF.TDF_Label_Tag)
    Transaction = _swig_new_instance_method(_TDF.TDF_Label_Transaction)
    __eq_wrapper__ = _swig_new_instance_method(_TDF.TDF_Label___eq_wrapper__)

    def __eq__(self, right):
        try:
            return self.__eq_wrapper__(right)
        except:
            return False

    GetLabelName = _swig_new_instance_method(_TDF.TDF_Label_GetLabelName)

    __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
    HashCode = _swig_new_static_method(_TDF.TDF_LabelMapHasher_HashCode)
    IsEqual = _swig_new_static_method(_TDF.TDF_LabelMapHasher_IsEqual)

    __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)
TDF_LabelMapHasher_HashCode = _TDF.TDF_LabelMapHasher_HashCode
TDF_LabelMapHasher_IsEqual = _TDF.TDF_LabelMapHasher_IsEqual

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
    AfterRelocate = _swig_new_instance_method(_TDF.TDF_RelocationTable_AfterRelocate)
    AttributeTable = _swig_new_instance_method(_TDF.TDF_RelocationTable_AttributeTable)
    Clear = _swig_new_instance_method(_TDF.TDF_RelocationTable_Clear)
    Dump = _swig_new_instance_method(_TDF.TDF_RelocationTable_Dump)
    HasRelocation = _swig_new_instance_method(_TDF.TDF_RelocationTable_HasRelocation)
    HasTransientRelocation = _swig_new_instance_method(_TDF.TDF_RelocationTable_HasTransientRelocation)
    LabelTable = _swig_new_instance_method(_TDF.TDF_RelocationTable_LabelTable)
    SelfRelocate = _swig_new_instance_method(_TDF.TDF_RelocationTable_SelfRelocate)
    SetRelocation = _swig_new_instance_method(_TDF.TDF_RelocationTable_SetRelocation)
    SetTransientRelocation = _swig_new_instance_method(_TDF.TDF_RelocationTable_SetTransientRelocation)

    def __init__(self, *args):
        r"""
        * Creates an relocation table. <selfRelocate> says if a value without explicit relocation is its own relocation.
        	:param selfRelocate: default value is Standard_False
        	:type selfRelocate: bool
        	:rtype: None
        """
        _TDF.TDF_RelocationTable_swiginit(self, _TDF.new_TDF_RelocationTable(*args))
    TargetAttributeMap = _swig_new_instance_method(_TDF.TDF_RelocationTable_TargetAttributeMap)
    TargetLabelMap = _swig_new_instance_method(_TDF.TDF_RelocationTable_TargetLabelMap)
    TransientTable = _swig_new_instance_method(_TDF.TDF_RelocationTable_TransientTable)


    @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
    CountLabels = _swig_new_static_method(_TDF.TDF_Tool_CountLabels)
    DeductLabels = _swig_new_static_method(_TDF.TDF_Tool_DeductLabels)
    DeepDump = _swig_new_static_method(_TDF.TDF_Tool_DeepDump)
    Entry = _swig_new_static_method(_TDF.TDF_Tool_Entry)
    ExtendedDeepDump = _swig_new_static_method(_TDF.TDF_Tool_ExtendedDeepDump)
    IsSelfContained = _swig_new_static_method(_TDF.TDF_Tool_IsSelfContained)
    Label = _swig_new_static_method(_TDF.TDF_Tool_Label)
    NbAttributes = _swig_new_static_method(_TDF.TDF_Tool_NbAttributes)
    NbLabels = _swig_new_static_method(_TDF.TDF_Tool_NbLabels)
    OutReferences = _swig_new_static_method(_TDF.TDF_Tool_OutReferences)
    OutReferers = _swig_new_static_method(_TDF.TDF_Tool_OutReferers)
    RelocateLabel = _swig_new_static_method(_TDF.TDF_Tool_RelocateLabel)
    TagList = _swig_new_static_method(_TDF.TDF_Tool_TagList)

    __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)
TDF_Tool_CountLabels = _TDF.TDF_Tool_CountLabels
TDF_Tool_DeductLabels = _TDF.TDF_Tool_DeductLabels
TDF_Tool_DeepDump = _TDF.TDF_Tool_DeepDump
TDF_Tool_Entry = _TDF.TDF_Tool_Entry
TDF_Tool_ExtendedDeepDump = _TDF.TDF_Tool_ExtendedDeepDump
TDF_Tool_IsSelfContained = _TDF.TDF_Tool_IsSelfContained
TDF_Tool_Label = _TDF.TDF_Tool_Label
TDF_Tool_NbAttributes = _TDF.TDF_Tool_NbAttributes
TDF_Tool_NbLabels = _TDF.TDF_Tool_NbLabels
TDF_Tool_OutReferences = _TDF.TDF_Tool_OutReferences
TDF_Tool_OutReferers = _TDF.TDF_Tool_OutReferers
TDF_Tool_RelocateLabel = _TDF.TDF_Tool_RelocateLabel
TDF_Tool_TagList = _TDF.TDF_Tool_TagList

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
    Abort = _swig_new_instance_method(_TDF.TDF_Transaction_Abort)
    Commit = _swig_new_instance_method(_TDF.TDF_Transaction_Commit)
    Data = _swig_new_instance_method(_TDF.TDF_Transaction_Data)
    Initialize = _swig_new_instance_method(_TDF.TDF_Transaction_Initialize)
    IsOpen = _swig_new_instance_method(_TDF.TDF_Transaction_IsOpen)
    Name = _swig_new_instance_method(_TDF.TDF_Transaction_Name)
    Open = _swig_new_instance_method(_TDF.TDF_Transaction_Open)

    def __init__(self, *args):
        r"""
        * Creates an empty transaction context, unable to be opened.
        	:param aName: default value is 
        	:type aName: TCollection_AsciiString
        	:rtype: None* Creates a transaction context on <aDF>, ready to be opened.
        	:param aDF:
        	:type aDF: TDF_Data
        	:param aName: default value is 
        	:type aName: TCollection_AsciiString
        	:rtype: None
        """
        _TDF.TDF_Transaction_swiginit(self, _TDF.new_TDF_Transaction(*args))
    Transaction = _swig_new_instance_method(_TDF.TDF_Transaction_Transaction)

    __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"""
        * Creates a TDF_DeltaOnAddition.
        	:param anAtt:
        	:type anAtt: TDF_Attribute
        	:rtype: None
        """
        _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"""
        * Creates a TDF_DeltaOnForget.
        	:param anAtt:
        	:type anAtt: TDF_Attribute
        	:rtype: None
        """
        _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"""
        * Creates a TDF_DeltaOnResume.
        	:param anAtt:
        	:type anAtt: TDF_Attribute
        	:rtype: None
        """
        _TDF.TDF_DeltaOnResume_swiginit(self, _TDF.new_TDF_DeltaOnResume(*args))


    @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
    DumpToString = _swig_new_instance_method(_TDF.TDF_Reference_DumpToString)
    Get = _swig_new_instance_method(_TDF.TDF_Reference_Get)
    GetID = _swig_new_static_method(_TDF.TDF_Reference_GetID)
    Set = _swig_new_instance_method(_TDF.TDF_Reference_Set)

    def __init__(self, *args):
        r""":rtype: None"""
        _TDF.TDF_Reference_swiginit(self, _TDF.new_TDF_Reference(*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)
TDF_Reference_GetID = _TDF.TDF_Reference_GetID

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
    Get = _swig_new_instance_method(_TDF.TDF_TagSource_Get)
    GetID = _swig_new_static_method(_TDF.TDF_TagSource_GetID)
    NewChild = _swig_new_instance_method(_TDF.TDF_TagSource_NewChild)
    NewTag = _swig_new_instance_method(_TDF.TDF_TagSource_NewTag)
    Set = _swig_new_instance_method(_TDF.TDF_TagSource_Set)

    def __init__(self, *args):
        r""":rtype: None"""
        _TDF.TDF_TagSource_swiginit(self, _TDF.new_TDF_TagSource(*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)
TDF_TagSource_GetID = _TDF.TDF_TagSource_GetID

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"""
        * Creates a TDF_DefaultDeltaOnModification. <anAttribute> must be the backup copy.
        	:param anAttribute:
        	:type anAttribute: TDF_Attribute
        	:rtype: None
        """
        _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"""
        * Creates a TDF_DefaultDeltaOnRemoval.
        	:param anAttribute:
        	:type anAttribute: TDF_Attribute
        	:rtype: None
        """
        _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)

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))
    Array1 = _swig_new_instance_method(_TDF.TDF_HAttributeArray1_Array1)
    ChangeArray1 = _swig_new_instance_method(_TDF.TDF_HAttributeArray1_ChangeArray1)


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



