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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register SwigPyIterator in _TObj:
_TObj.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 _TObj.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.TDocStd
import OCC.Core.TDF
import OCC.Core.TColStd
import OCC.Core.CDF
import OCC.Core.CDM
import OCC.Core.Message
import OCC.Core.OSD
import OCC.Core.Resource
import OCC.Core.PCDM
import OCC.Core.Storage
import OCC.Core.gp

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

TObj_FreeOnly = _TObj.TObj_FreeOnly
TObj_KeepDepending = _TObj.TObj_KeepDepending
TObj_Forced = _TObj.TObj_Forced


class TObj_DeletingMode(IntEnum):
	TObj_FreeOnly = 0
	TObj_KeepDepending = 1
	TObj_Forced = 2
TObj_FreeOnly = TObj_DeletingMode.TObj_FreeOnly
TObj_KeepDepending = TObj_DeletingMode.TObj_KeepDepending
TObj_Forced = TObj_DeletingMode.TObj_Forced


def Handle_TObj_Application_Create():
    return _TObj.Handle_TObj_Application_Create()

def Handle_TObj_Application_DownCast(t):
    return _TObj.Handle_TObj_Application_DownCast(t)

def Handle_TObj_Application_IsNull(t):
    return _TObj.Handle_TObj_Application_IsNull(t)

def Handle_TObj_CheckModel_Create():
    return _TObj.Handle_TObj_CheckModel_Create()

def Handle_TObj_CheckModel_DownCast(t):
    return _TObj.Handle_TObj_CheckModel_DownCast(t)

def Handle_TObj_CheckModel_IsNull(t):
    return _TObj.Handle_TObj_CheckModel_IsNull(t)

def Handle_TObj_Model_Create():
    return _TObj.Handle_TObj_Model_Create()

def Handle_TObj_Model_DownCast(t):
    return _TObj.Handle_TObj_Model_DownCast(t)

def Handle_TObj_Model_IsNull(t):
    return _TObj.Handle_TObj_Model_IsNull(t)

def Handle_TObj_Object_Create():
    return _TObj.Handle_TObj_Object_Create()

def Handle_TObj_Object_DownCast(t):
    return _TObj.Handle_TObj_Object_DownCast(t)

def Handle_TObj_Object_IsNull(t):
    return _TObj.Handle_TObj_Object_IsNull(t)

def Handle_TObj_ObjectIterator_Create():
    return _TObj.Handle_TObj_ObjectIterator_Create()

def Handle_TObj_ObjectIterator_DownCast(t):
    return _TObj.Handle_TObj_ObjectIterator_DownCast(t)

def Handle_TObj_ObjectIterator_IsNull(t):
    return _TObj.Handle_TObj_ObjectIterator_IsNull(t)

def Handle_TObj_TIntSparseArray_Create():
    return _TObj.Handle_TObj_TIntSparseArray_Create()

def Handle_TObj_TIntSparseArray_DownCast(t):
    return _TObj.Handle_TObj_TIntSparseArray_DownCast(t)

def Handle_TObj_TIntSparseArray_IsNull(t):
    return _TObj.Handle_TObj_TIntSparseArray_IsNull(t)

def Handle_TObj_TModel_Create():
    return _TObj.Handle_TObj_TModel_Create()

def Handle_TObj_TModel_DownCast(t):
    return _TObj.Handle_TObj_TModel_DownCast(t)

def Handle_TObj_TModel_IsNull(t):
    return _TObj.Handle_TObj_TModel_IsNull(t)

def Handle_TObj_TNameContainer_Create():
    return _TObj.Handle_TObj_TNameContainer_Create()

def Handle_TObj_TNameContainer_DownCast(t):
    return _TObj.Handle_TObj_TNameContainer_DownCast(t)

def Handle_TObj_TNameContainer_IsNull(t):
    return _TObj.Handle_TObj_TNameContainer_IsNull(t)

def Handle_TObj_TObject_Create():
    return _TObj.Handle_TObj_TObject_Create()

def Handle_TObj_TObject_DownCast(t):
    return _TObj.Handle_TObj_TObject_DownCast(t)

def Handle_TObj_TObject_IsNull(t):
    return _TObj.Handle_TObj_TObject_IsNull(t)

def Handle_TObj_TReference_Create():
    return _TObj.Handle_TObj_TReference_Create()

def Handle_TObj_TReference_DownCast(t):
    return _TObj.Handle_TObj_TReference_DownCast(t)

def Handle_TObj_TReference_IsNull(t):
    return _TObj.Handle_TObj_TReference_IsNull(t)

def Handle_TObj_TXYZ_Create():
    return _TObj.Handle_TObj_TXYZ_Create()

def Handle_TObj_TXYZ_DownCast(t):
    return _TObj.Handle_TObj_TXYZ_DownCast(t)

def Handle_TObj_TXYZ_IsNull(t):
    return _TObj.Handle_TObj_TXYZ_IsNull(t)

def Handle_TObj_LabelIterator_Create():
    return _TObj.Handle_TObj_LabelIterator_Create()

def Handle_TObj_LabelIterator_DownCast(t):
    return _TObj.Handle_TObj_LabelIterator_DownCast(t)

def Handle_TObj_LabelIterator_IsNull(t):
    return _TObj.Handle_TObj_LabelIterator_IsNull(t)

def Handle_TObj_ModelIterator_Create():
    return _TObj.Handle_TObj_ModelIterator_Create()

def Handle_TObj_ModelIterator_DownCast(t):
    return _TObj.Handle_TObj_ModelIterator_DownCast(t)

def Handle_TObj_ModelIterator_IsNull(t):
    return _TObj.Handle_TObj_ModelIterator_IsNull(t)

def Handle_TObj_Partition_Create():
    return _TObj.Handle_TObj_Partition_Create()

def Handle_TObj_Partition_DownCast(t):
    return _TObj.Handle_TObj_Partition_DownCast(t)

def Handle_TObj_Partition_IsNull(t):
    return _TObj.Handle_TObj_Partition_IsNull(t)

def Handle_TObj_SequenceIterator_Create():
    return _TObj.Handle_TObj_SequenceIterator_Create()

def Handle_TObj_SequenceIterator_DownCast(t):
    return _TObj.Handle_TObj_SequenceIterator_DownCast(t)

def Handle_TObj_SequenceIterator_IsNull(t):
    return _TObj.Handle_TObj_SequenceIterator_IsNull(t)

def Handle_TObj_HiddenPartition_Create():
    return _TObj.Handle_TObj_HiddenPartition_Create()

def Handle_TObj_HiddenPartition_DownCast(t):
    return _TObj.Handle_TObj_HiddenPartition_DownCast(t)

def Handle_TObj_HiddenPartition_IsNull(t):
    return _TObj.Handle_TObj_HiddenPartition_IsNull(t)

def Handle_TObj_OcafObjectIterator_Create():
    return _TObj.Handle_TObj_OcafObjectIterator_Create()

def Handle_TObj_OcafObjectIterator_DownCast(t):
    return _TObj.Handle_TObj_OcafObjectIterator_DownCast(t)

def Handle_TObj_OcafObjectIterator_IsNull(t):
    return _TObj.Handle_TObj_OcafObjectIterator_IsNull(t)

def Handle_TObj_ReferenceIterator_Create():
    return _TObj.Handle_TObj_ReferenceIterator_Create()

def Handle_TObj_ReferenceIterator_DownCast(t):
    return _TObj.Handle_TObj_ReferenceIterator_DownCast(t)

def Handle_TObj_ReferenceIterator_IsNull(t):
    return _TObj.Handle_TObj_ReferenceIterator_IsNull(t)

def Handle_TObj_HSequenceOfObject_Create():
    return _TObj.Handle_TObj_HSequenceOfObject_Create()

def Handle_TObj_HSequenceOfObject_DownCast(t):
    return _TObj.Handle_TObj_HSequenceOfObject_DownCast(t)

def Handle_TObj_HSequenceOfObject_IsNull(t):
    return _TObj.Handle_TObj_HSequenceOfObject_IsNull(t)
class TObj_DataMapOfNameLabel(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 _TObj.TObj_DataMapOfNameLabel_begin(self)

    def end(self):
        return _TObj.TObj_DataMapOfNameLabel_end(self)

    def cbegin(self):
        return _TObj.TObj_DataMapOfNameLabel_cbegin(self)

    def cend(self):
        return _TObj.TObj_DataMapOfNameLabel_cend(self)

    def __init__(self, *args):
        _TObj.TObj_DataMapOfNameLabel_swiginit(self, _TObj.new_TObj_DataMapOfNameLabel(*args))

    def Exchange(self, theOther):
        return _TObj.TObj_DataMapOfNameLabel_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TObj.TObj_DataMapOfNameLabel_Assign(self, theOther)

    def Set(self, theOther):
        return _TObj.TObj_DataMapOfNameLabel_Set(self, theOther)

    def ReSize(self, N):
        return _TObj.TObj_DataMapOfNameLabel_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TObj.TObj_DataMapOfNameLabel_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TObj.TObj_DataMapOfNameLabel_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TObj.TObj_DataMapOfNameLabel_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TObj.TObj_DataMapOfNameLabel_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TObj.TObj_DataMapOfNameLabel_Seek(self, theKey)

    def Find(self, *args):
        return _TObj.TObj_DataMapOfNameLabel_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TObj.TObj_DataMapOfNameLabel_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TObj.TObj_DataMapOfNameLabel_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TObj.TObj_DataMapOfNameLabel___call__(self, *args)

    def Clear(self, *args):
        return _TObj.TObj_DataMapOfNameLabel_Clear(self, *args)
    __swig_destroy__ = _TObj.delete_TObj_DataMapOfNameLabel

    def Size(self):
        return _TObj.TObj_DataMapOfNameLabel_Size(self)

# Register TObj_DataMapOfNameLabel in _TObj:
_TObj.TObj_DataMapOfNameLabel_swigregister(TObj_DataMapOfNameLabel)
class TObj_DataMapOfObjectHSequenceOcafObjects(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 _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_begin(self)

    def end(self):
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_end(self)

    def cbegin(self):
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_cbegin(self)

    def cend(self):
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_cend(self)

    def __init__(self, *args):
        _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_swiginit(self, _TObj.new_TObj_DataMapOfObjectHSequenceOcafObjects(*args))

    def Exchange(self, theOther):
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_Assign(self, theOther)

    def Set(self, theOther):
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_Set(self, theOther)

    def ReSize(self, N):
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_Seek(self, theKey)

    def Find(self, *args):
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects___call__(self, *args)

    def Clear(self, *args):
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_Clear(self, *args)
    __swig_destroy__ = _TObj.delete_TObj_DataMapOfObjectHSequenceOcafObjects

    def Size(self):
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_Size(self)

# Register TObj_DataMapOfObjectHSequenceOcafObjects in _TObj:
_TObj.TObj_DataMapOfObjectHSequenceOcafObjects_swigregister(TObj_DataMapOfObjectHSequenceOcafObjects)
class TObj_DataMapOfStringPointer(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 _TObj.TObj_DataMapOfStringPointer_begin(self)

    def end(self):
        return _TObj.TObj_DataMapOfStringPointer_end(self)

    def cbegin(self):
        return _TObj.TObj_DataMapOfStringPointer_cbegin(self)

    def cend(self):
        return _TObj.TObj_DataMapOfStringPointer_cend(self)

    def __init__(self, *args):
        _TObj.TObj_DataMapOfStringPointer_swiginit(self, _TObj.new_TObj_DataMapOfStringPointer(*args))

    def Exchange(self, theOther):
        return _TObj.TObj_DataMapOfStringPointer_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TObj.TObj_DataMapOfStringPointer_Assign(self, theOther)

    def Set(self, theOther):
        return _TObj.TObj_DataMapOfStringPointer_Set(self, theOther)

    def ReSize(self, N):
        return _TObj.TObj_DataMapOfStringPointer_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TObj.TObj_DataMapOfStringPointer_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TObj.TObj_DataMapOfStringPointer_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TObj.TObj_DataMapOfStringPointer_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TObj.TObj_DataMapOfStringPointer_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TObj.TObj_DataMapOfStringPointer_Seek(self, theKey)

    def Find(self, *args):
        return _TObj.TObj_DataMapOfStringPointer_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TObj.TObj_DataMapOfStringPointer_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TObj.TObj_DataMapOfStringPointer_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TObj.TObj_DataMapOfStringPointer___call__(self, *args)

    def Clear(self, *args):
        return _TObj.TObj_DataMapOfStringPointer_Clear(self, *args)
    __swig_destroy__ = _TObj.delete_TObj_DataMapOfStringPointer

    def Size(self):
        return _TObj.TObj_DataMapOfStringPointer_Size(self)

# Register TObj_DataMapOfStringPointer in _TObj:
_TObj.TObj_DataMapOfStringPointer_swigregister(TObj_DataMapOfStringPointer)
class TObj_SequenceOfIterator(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 _TObj.TObj_SequenceOfIterator_begin(self)

    def end(self):
        return _TObj.TObj_SequenceOfIterator_end(self)

    def cbegin(self):
        return _TObj.TObj_SequenceOfIterator_cbegin(self)

    def cend(self):
        return _TObj.TObj_SequenceOfIterator_cend(self)

    def __init__(self, *args):
        _TObj.TObj_SequenceOfIterator_swiginit(self, _TObj.new_TObj_SequenceOfIterator(*args))

    def Size(self):
        return _TObj.TObj_SequenceOfIterator_Size(self)

    def Length(self):
        return _TObj.TObj_SequenceOfIterator_Length(self)

    def Lower(self):
        return _TObj.TObj_SequenceOfIterator_Lower(self)

    def Upper(self):
        return _TObj.TObj_SequenceOfIterator_Upper(self)

    def IsEmpty(self):
        return _TObj.TObj_SequenceOfIterator_IsEmpty(self)

    def Reverse(self):
        return _TObj.TObj_SequenceOfIterator_Reverse(self)

    def Exchange(self, I, J):
        return _TObj.TObj_SequenceOfIterator_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _TObj.TObj_SequenceOfIterator_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _TObj.TObj_SequenceOfIterator_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _TObj.TObj_SequenceOfIterator_Assign(self, theOther)

    def Set(self, theOther):
        return _TObj.TObj_SequenceOfIterator_Set(self, theOther)

    def Remove(self, *args):
        return _TObj.TObj_SequenceOfIterator_Remove(self, *args)

    def Append(self, *args):
        return _TObj.TObj_SequenceOfIterator_Append(self, *args)

    def Prepend(self, *args):
        return _TObj.TObj_SequenceOfIterator_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _TObj.TObj_SequenceOfIterator_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _TObj.TObj_SequenceOfIterator_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _TObj.TObj_SequenceOfIterator_Split(self, theIndex, theSeq)

    def First(self):
        return _TObj.TObj_SequenceOfIterator_First(self)

    def ChangeFirst(self):
        return _TObj.TObj_SequenceOfIterator_ChangeFirst(self)

    def Last(self):
        return _TObj.TObj_SequenceOfIterator_Last(self)

    def ChangeLast(self):
        return _TObj.TObj_SequenceOfIterator_ChangeLast(self)

    def Value(self, theIndex):
        return _TObj.TObj_SequenceOfIterator_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _TObj.TObj_SequenceOfIterator_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _TObj.TObj_SequenceOfIterator___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _TObj.TObj_SequenceOfIterator_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _TObj.delete_TObj_SequenceOfIterator

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


# Register TObj_SequenceOfIterator in _TObj:
_TObj.TObj_SequenceOfIterator_swigregister(TObj_SequenceOfIterator)
class TObj_SequenceOfObject(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 _TObj.TObj_SequenceOfObject_begin(self)

    def end(self):
        return _TObj.TObj_SequenceOfObject_end(self)

    def cbegin(self):
        return _TObj.TObj_SequenceOfObject_cbegin(self)

    def cend(self):
        return _TObj.TObj_SequenceOfObject_cend(self)

    def __init__(self, *args):
        _TObj.TObj_SequenceOfObject_swiginit(self, _TObj.new_TObj_SequenceOfObject(*args))

    def Size(self):
        return _TObj.TObj_SequenceOfObject_Size(self)

    def Length(self):
        return _TObj.TObj_SequenceOfObject_Length(self)

    def Lower(self):
        return _TObj.TObj_SequenceOfObject_Lower(self)

    def Upper(self):
        return _TObj.TObj_SequenceOfObject_Upper(self)

    def IsEmpty(self):
        return _TObj.TObj_SequenceOfObject_IsEmpty(self)

    def Reverse(self):
        return _TObj.TObj_SequenceOfObject_Reverse(self)

    def Exchange(self, I, J):
        return _TObj.TObj_SequenceOfObject_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _TObj.TObj_SequenceOfObject_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _TObj.TObj_SequenceOfObject_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _TObj.TObj_SequenceOfObject_Assign(self, theOther)

    def Set(self, theOther):
        return _TObj.TObj_SequenceOfObject_Set(self, theOther)

    def Remove(self, *args):
        return _TObj.TObj_SequenceOfObject_Remove(self, *args)

    def Append(self, *args):
        return _TObj.TObj_SequenceOfObject_Append(self, *args)

    def Prepend(self, *args):
        return _TObj.TObj_SequenceOfObject_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _TObj.TObj_SequenceOfObject_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _TObj.TObj_SequenceOfObject_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _TObj.TObj_SequenceOfObject_Split(self, theIndex, theSeq)

    def First(self):
        return _TObj.TObj_SequenceOfObject_First(self)

    def ChangeFirst(self):
        return _TObj.TObj_SequenceOfObject_ChangeFirst(self)

    def Last(self):
        return _TObj.TObj_SequenceOfObject_Last(self)

    def ChangeLast(self):
        return _TObj.TObj_SequenceOfObject_ChangeLast(self)

    def Value(self, theIndex):
        return _TObj.TObj_SequenceOfObject_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _TObj.TObj_SequenceOfObject_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _TObj.TObj_SequenceOfObject___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _TObj.TObj_SequenceOfObject_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _TObj.delete_TObj_SequenceOfObject

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


# Register TObj_SequenceOfObject in _TObj:
_TObj.TObj_SequenceOfObject_swigregister(TObj_SequenceOfObject)
class TObj_TIntSparseArray_MapOfData(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, theIncrement):
        _TObj.TObj_TIntSparseArray_MapOfData_swiginit(self, _TObj.new_TObj_TIntSparseArray_MapOfData(theIncrement))

    def Assign(self, theOther):
        return _TObj.TObj_TIntSparseArray_MapOfData_Assign(self, theOther)

    def Exchange(self, theOther):
        return _TObj.TObj_TIntSparseArray_MapOfData_Exchange(self, theOther)
    __swig_destroy__ = _TObj.delete_TObj_TIntSparseArray_MapOfData

    def Value(self, theIndex):
        return _TObj.TObj_TIntSparseArray_MapOfData_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _TObj.TObj_TIntSparseArray_MapOfData_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _TObj.TObj_TIntSparseArray_MapOfData___call__(self, *args)

    def SetValue(self, theIndex, theValue):
        return _TObj.TObj_TIntSparseArray_MapOfData_SetValue(self, theIndex, theValue)

    def Extent(self):
        return _TObj.TObj_TIntSparseArray_MapOfData_Extent(self)

    def IsEmpty(self):
        return _TObj.TObj_TIntSparseArray_MapOfData_IsEmpty(self)

    def Find(self, theIndex):
        return _TObj.TObj_TIntSparseArray_MapOfData_Find(self, theIndex)

    def ChangeFind(self, theIndex):
        return _TObj.TObj_TIntSparseArray_MapOfData_ChangeFind(self, theIndex)

    def Bind(self, theIndex, theValue):
        return _TObj.TObj_TIntSparseArray_MapOfData_Bind(self, theIndex, theValue)

    def IsBound(self, theIndex):
        return _TObj.TObj_TIntSparseArray_MapOfData_IsBound(self, theIndex)

    def UnBind(self, theIndex):
        return _TObj.TObj_TIntSparseArray_MapOfData_UnBind(self, theIndex)

# Register TObj_TIntSparseArray_MapOfData in _TObj:
_TObj.TObj_TIntSparseArray_MapOfData_swigregister(TObj_TIntSparseArray_MapOfData)
class TObj_Application(OCC.Core.TDocStd.TDocStd_Application):
    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 CreateNewDocument(self, *args):
        r"""

        Parameters
        ----------
        theDoc: TDocStd_Document
        theFormat: str

        Return
        -------
        bool

        Description
        -----------
        Create the ocaf document from scratch.

        """
        return _TObj.TObj_Application_CreateNewDocument(self, *args)

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

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

        Parameters
        ----------
        theMsg: str
        theLevel: Message_Gravity

        Return
        -------
        None

        Description
        -----------
        Signal error during load or save default imiplementation is empty.

        Parameters
        ----------
        theMsg: str

        Return
        -------
        None

        Description
        -----------
        Signal error during load or save default imiplementation invoke previous declaration with 0.

        """
        return _TObj.TObj_Application_ErrorMessage(self, *args)

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

        Description
        -----------
        Returns static instance of the application.

        """
        return _TObj.TObj_Application_GetInstance(*args)

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

        Description
        -----------
        Returns the verbose flag.

        """
        return _TObj.TObj_Application_IsVerbose(self, *args)

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

        Parameters
        ----------
        theSourceFile: str
        theTargetDoc: TDocStd_Document

        Return
        -------
        bool

        Description
        -----------
        Loading the ocaf document from a file.

        """
        return _TObj.TObj_Application_LoadDocument(self, *args)

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

        Description
        -----------
        Returns reference to associated messenger handle.

        """
        return _TObj.TObj_Application_Messenger(self, *args)

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

        Parameters
        ----------
        theSourceDoc: TDocStd_Document
        theTargetFile: str

        Return
        -------
        bool

        Description
        -----------
        Saving the ocaf document to a file.

        """
        return _TObj.TObj_Application_SaveDocument(self, *args)

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

        Parameters
        ----------
        isVerbose: bool

        Return
        -------
        None

        Description
        -----------
        Sets the verbose flag, meaning that load/save models should show cpu and elapsed times.

        """
        return _TObj.TObj_Application_SetVerbose(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TObj.delete_TObj_Application

# Register TObj_Application in _TObj:
_TObj.TObj_Application_swigregister(TObj_Application)
class TObj_Assistant(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theModel: TObj_Model

        Return
        -------
        None

        Description
        -----------
        Binds model to the map.

        """
        return _TObj.TObj_Assistant_BindModel(*args)

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

        Parameters
        ----------
        theType: Standard_Type

        Return
        -------
        int

        Description
        -----------
        Binds standard_type to the map; returns index of bound type.

        """
        return _TObj.TObj_Assistant_BindType(*args)

    @staticmethod
    def ClearModelMap(*args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Clears all records from the model map.

        """
        return _TObj.TObj_Assistant_ClearModelMap(*args)

    @staticmethod
    def ClearTypeMap(*args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Clears map of types.

        """
        return _TObj.TObj_Assistant_ClearTypeMap(*args)

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

        Parameters
        ----------
        theName: str

        Return
        -------
        opencascade::handle<TObj_Model>

        Description
        -----------
        Finds model by name.

        """
        return _TObj.TObj_Assistant_FindModel(*args)

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

        Parameters
        ----------
        theTypeIndex: int

        Return
        -------
        opencascade::handle<Standard_Type>

        Description
        -----------
        Finds standard_type by index; returns null handle if not found.

        """
        return _TObj.TObj_Assistant_FindType(*args)

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

        Parameters
        ----------
        theType: Standard_Type

        Return
        -------
        int

        Description
        -----------
        Rinds index by standard_type; returns 0 if not found.

        """
        return _TObj.TObj_Assistant_FindTypeIndex(*args)

    @staticmethod
    def GetAppVersion(*args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Returns the version of application which wrote the currently read document. returns 0 if it has not been set yet for the current document.

        """
        return _TObj.TObj_Assistant_GetAppVersion(*args)

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

        Description
        -----------
        Returns current model.

        """
        return _TObj.TObj_Assistant_GetCurrentModel(*args)

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

        Parameters
        ----------
        theModel: TObj_Model

        Return
        -------
        None

        Description
        -----------
        Sets current model.

        """
        return _TObj.TObj_Assistant_SetCurrentModel(*args)

    @staticmethod
    def UnSetCurrentModel(*args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Unsets current model.

        """
        return _TObj.TObj_Assistant_UnSetCurrentModel(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _TObj.TObj_Assistant_swiginit(self, _TObj.new_TObj_Assistant())
    __swig_destroy__ = _TObj.delete_TObj_Assistant

# Register TObj_Assistant in _TObj:
_TObj.TObj_Assistant_swigregister(TObj_Assistant)
class TObj_CheckModel(OCC.Core.Message.Message_Algorithm):
    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
        ----------
        theModel: TObj_Model

        Return
        -------
        None

        Description
        -----------
        Initialize checker by model.

        """
        _TObj.TObj_CheckModel_swiginit(self, _TObj.new_TObj_CheckModel(*args))

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

        Description
        -----------
        Returns the checked model.

        """
        return _TObj.TObj_CheckModel_GetModel(self, *args)

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

        Description
        -----------
        Returns true if it is allowed to fix inconsistencies.

        """
        return _TObj.TObj_CheckModel_IsToFix(self, *args)

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

        Description
        -----------
        Performs all checks. descendants should call parent method before doing own checks. this implementation checks ocaf references and back references between objects of the model. returns true if no inconsistencies found.

        """
        return _TObj.TObj_CheckModel_Perform(self, *args)

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

        Parameters
        ----------
        theToFix: bool

        Return
        -------
        None

        Description
        -----------
        Sets flag allowing fixing inconsistencies.

        """
        return _TObj.TObj_CheckModel_SetToFix(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TObj.delete_TObj_CheckModel

# Register TObj_CheckModel in _TObj:
_TObj.TObj_CheckModel_swigregister(TObj_CheckModel)
class TObj_Model(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 AbortCommand(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Abort the command transaction. do nothing if there is no command transaction open.

        """
        return _TObj.TObj_Model_AbortCommand(self, *args)

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

        Description
        -----------
        Close the model.

        """
        return _TObj.TObj_Model_Close(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Close free ocaf document.

        """
        return _TObj.TObj_Model_CloseDocument(self, *args)

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

        Description
        -----------
        Commit the command transaction. do nothing if there is no command transaction open.

        """
        return _TObj.TObj_Model_CommitCommand(self, *args)

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

        Parameters
        ----------
        theTarget: TObj_Model
        theRelocTable: TDF_RelocationTable

        Return
        -------
        None

        Description
        -----------
        Copy references from me to the other.

        """
        return _TObj.TObj_Model_CopyReferences(self, *args)

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

        Parameters
        ----------
        theName: TCollection_HExtendedString
        theDictionary: TObj_TNameContainer

        Return
        -------
        opencascade::handle<TObj_Object>

        Description
        -----------
        Returns an object by given name (or null if not found).

        """
        return _TObj.TObj_Model_FindObject(self, *args)

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

        Description
        -----------
        Returns handle to static instance of the relevant application class.

        """
        return _TObj.TObj_Model_GetApplication(self, *args)

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

        Description
        -----------
        Returns the tool checking model consistency. descendant may redefine it to return its own tool.

        """
        return _TObj.TObj_Model_GetChecker(self, *args)

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

        Description
        -----------
        Returns an iterator on objects in the main partition.

        """
        return _TObj.TObj_Model_GetChildren(self, *args)

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

        Description
        -----------
        Returns the map of names of the objects.

        """
        return _TObj.TObj_Model_GetDictionary(self, *args)

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

        Description
        -----------
        Returns ocaf document of model.

        """
        return _TObj.TObj_Model_GetDocument(self, *args)

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

        Parameters
        ----------
        theLabel: TDF_Label

        Return
        -------
        opencascade::handle<TObj_Model>

        Description
        -----------
        Returns model which contains a document with the label, or null handle if label is null.

        """
        return _TObj.TObj_Model_GetDocumentModel(*args)

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

        Description
        -----------
        Returns the full file name this model is to be saved to, or null if the model was not saved yet.

        """
        return _TObj.TObj_Model_GetFile(self, *args)

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

        Description
        -----------
        Returns the format for save/restore. this implementation returns 'binocaf'. the method should be redefined for those models that should use another format.

        """
        return _TObj.TObj_Model_GetFormat(self, *args)

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

        Description
        -----------
        Returns the version of format stored in tobj file.

        """
        return _TObj.TObj_Model_GetFormatVersion(self, *args)

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

        Description
        -----------
        Defines interface guid for tobj_model.

        """
        return _TObj.TObj_Model_GetGUID(self, *args)

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

        Description
        -----------
        Returns ocaf label on which model data are stored.

        """
        return _TObj.TObj_Model_GetLabel(self, *args)

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

        Description
        -----------
        Returns root object of model.

        """
        return _TObj.TObj_Model_GetMainPartition(self, *args)

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

        Description
        -----------
        Returns the name of the model.

        """
        return _TObj.TObj_Model_GetModelName(self, *args)

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

        Description
        -----------
        Returns an iterator on all objects in the model.

        """
        return _TObj.TObj_Model_GetObjects(self, *args)

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

        Description
        -----------
        Returns root object of model.

        """
        return _TObj.TObj_Model_GetRoot(self, *args)

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

        Description
        -----------
        Returns true if a command transaction is open starting, finishing the transaction.

        """
        return _TObj.TObj_Model_HasOpenCommand(self, *args)

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

        Description
        -----------
        Modification status.

        """
        return _TObj.TObj_Model_IsModified(self, *args)

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

        Parameters
        ----------
        theName: TCollection_HExtendedString
        theDictionary: TObj_TNameContainer

        Return
        -------
        bool

        Description
        -----------
        Returns true is name is registered in the names map the input argument may be null handle, then model check in own global container.

        """
        return _TObj.TObj_Model_IsRegisteredName(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Load the ocaf model from a file. if the filename is empty or file does not exists, it just initializes model by empty data.

        """
        return _TObj.TObj_Model_Load(self, *args)

    def LoadFromString(self, src):
        r"""LoadFromString(TObj_Model self, std::string src)"""
        return _TObj.TObj_Model_LoadFromString(self, src)

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

        Description
        -----------
        Get messenger used for messages output (by default, the messenger from application is used).

        """
        return _TObj.TObj_Model_Messenger(self, *args)

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

        Description
        -----------
        This function have to create a new model with type like me.

        """
        return _TObj.TObj_Model_NewEmpty(self, *args)

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

        Description
        -----------
        Open a new command transaction.

        """
        return _TObj.TObj_Model_OpenCommand(self, *args)

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

        Parameters
        ----------
        theModel: TObj_Model
        theRelocTable: TDF_RelocationTable (optional, default to 0)

        Return
        -------
        bool

        Description
        -----------
        Pastes me to the new model references will not be copied if thereloctable is not 0 if thereloctable is not null thereloctable is filled by objects.

        """
        return _TObj.TObj_Model_Paste(self, *args)

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

        Parameters
        ----------
        theName: TCollection_HExtendedString
        theLabel: TDF_Label
        theDictionary: TObj_TNameContainer

        Return
        -------
        None

        Description
        -----------
        Register name in the map the input argument may be null handle, then model check in own global container.

        """
        return _TObj.TObj_Model_RegisterName(self, *args)

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

        Description
        -----------
        Save the model to the same file.

        """
        return _TObj.TObj_Model_Save(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Save the model to a file.

        """
        return _TObj.TObj_Model_SaveAs(self, *args)

    def SaveAsToString(self):
        r"""SaveAsToString(TObj_Model self) -> std::string"""
        return _TObj.TObj_Model_SaveAsToString(self)

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

        Parameters
        ----------
        theLabel: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Sets ocaf label on which model data are stored. used by persistence mechanism.

        """
        return _TObj.TObj_Model_SetLabel(self, *args)

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

        Parameters
        ----------
        theMsgr: Message_Messenger

        Return
        -------
        None

        Description
        -----------
        Set messenger to use for messages output.

        """
        return _TObj.TObj_Model_SetMessenger(self, *args)

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

        Parameters
        ----------
        theModified: bool

        Return
        -------
        None

        Description
        -----------
        Sets modification status.

        """
        return _TObj.TObj_Model_SetModified(self, *args)

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

        Parameters
        ----------
        theObject: TObj_Object

        Return
        -------
        None

        Description
        -----------
        Sets new unique name for the object.

        """
        return _TObj.TObj_Model_SetNewName(*args)

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

        Parameters
        ----------
        theName: TCollection_HExtendedString
        theDictionary: TObj_TNameContainer

        Return
        -------
        None

        Description
        -----------
        Unregisters name from the map the input argument may be null handle, then model check in own global container.

        """
        return _TObj.TObj_Model_UnRegisterName(self, *args)

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

        Description
        -----------
        This method is called before activating this model.

        """
        return _TObj.TObj_Model_Update(self, *args)


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


    __repr__ = _dumps_object


# Register TObj_Model in _TObj:
_TObj.TObj_Model_swigregister(TObj_Model)
class TObj_Object(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
    ObjectState_Hidden = _TObj.TObj_Object_ObjectState_Hidden
    ObjectState_Saved = _TObj.TObj_Object_ObjectState_Saved
    ObjectState_Imported = _TObj.TObj_Object_ObjectState_Imported
    ObjectState_ImportedByFile = _TObj.TObj_Object_ObjectState_ImportedByFile
    ObjectState_Ordered = _TObj.TObj_Object_ObjectState_Ordered
    Visible = _TObj.TObj_Object_Visible


    class ObjectState(IntEnum):
    	ObjectState_Hidden = 1
    	ObjectState_Saved = 2
    	ObjectState_Imported = 4
    	ObjectState_ImportedByFile = 8
    	ObjectState_Ordered = 16
    ObjectState_Hidden = ObjectState.ObjectState_Hidden
    ObjectState_Saved = ObjectState.ObjectState_Saved
    ObjectState_Imported = ObjectState.ObjectState_Imported
    ObjectState_ImportedByFile = ObjectState.ObjectState_ImportedByFile
    ObjectState_Ordered = ObjectState.ObjectState_Ordered

    class TypeFlags(IntEnum):
    	Visible = 1
    Visible = TypeFlags.Visible


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

        Parameters
        ----------
        theObject: TObj_Object

        Return
        -------
        None

        Description
        -----------
        Registers another object as being dependent on this one. stores back references under sublabel 2 (purely transient data, not subject to persistency).

        """
        return _TObj.TObj_Object_AddBackReference(self, *args)

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

        Description
        -----------
        Performs updating the links and dependances of the object which are not stored in persistence. should be redefined if necessary.

        """
        return _TObj.TObj_Object_AfterRetrieval(self, *args)

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

        Parameters
        ----------
        &: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Invokes from tobj_treference::beforeforget(). thelabel - label on that reference become removed default implementation is empty.

        """
        return _TObj.TObj_Object_BeforeForgetReference(self, *args)

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

        Description
        -----------
        Performs storing the objects transient fields in ocaf document which were outside transaction mechanism. default implementation does nothing.

        """
        return _TObj.TObj_Object_BeforeStoring(self, *args)

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

        Parameters
        ----------
        theMode: TObj_DeletingMode (optional, default to TObj_FreeOnly)

        Return
        -------
        bool

        Description
        -----------
        Checks if object can be detached with specified mode.

        """
        return _TObj.TObj_Object_CanDetach(self, *args)

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

        Parameters
        ----------
        theObject: TObj_Object

        Return
        -------
        bool

        Description
        -----------
        Returns true if the referred object theobject can be deleted without deletion of this object. default implementation does nothing and returns false.

        """
        return _TObj.TObj_Object_CanRemoveReference(self, *args)

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

        Description
        -----------
        The default implementation just clear the back references container.

        """
        return _TObj.TObj_Object_ClearBackReferences(self, *args)

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

        Parameters
        ----------
        theMask: int (optional, default to ~0)

        Return
        -------
        None

        Description
        -----------
        Clears flags by the mask.

        """
        return _TObj.TObj_Object_ClearFlags(self, *args)

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

        Parameters
        ----------
        theTargetLabel: TDF_Label
        theRelocTable: TDF_RelocationTable (optional, default to 0)

        Return
        -------
        opencascade::handle<TObj_Object>

        Description
        -----------
        Copy me to other label thetargetlabel new object will not have all the reference that has me. coping object with data and childs, but change name by adding string '_copy' as result return handle of new object (null handle is something wrong) note: backreferences not coping. after cloning all objects it is necessary to call copy references with the same relocation table.

        """
        return _TObj.TObj_Object_Clone(self, *args)

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

        Parameters
        ----------
        theTargetLabel: TDF_Label
        theRelocTable: TDF_RelocationTable

        Return
        -------
        None

        Description
        -----------
        Coping the children from source label to the target.

        """
        return _TObj.TObj_Object_CopyChildren(self, *args)

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

        Parameters
        ----------
        theTargetObject: TObj_Object
        theRelocTable: TDF_RelocationTable

        Return
        -------
        None

        Description
        -----------
        Coping the references. return standard_false is target object is different type.

        """
        return _TObj.TObj_Object_CopyReferences(self, *args)

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

        Parameters
        ----------
        theMode: TObj_DeletingMode (optional, default to TObj_FreeOnly)

        Return
        -------
        bool

        Description
        -----------
        Deletes the object from the model. the dependent objects are either deleted or modified when possible (see description of tobj_deletingmode enumeration for more details) returns true if deletion was successful. checks if object can be deleted. should be redefined for each specific kind of object.

        Parameters
        ----------
        theLabel: TDF_Label
        theMode: TObj_DeletingMode (optional, default to TObj_FreeOnly)

        Return
        -------
        bool

        Description
        -----------
        Deletes the object from the label. checks if object can be deleted. finds object on the label and detaches it by calling previous method. returns true if there is no object on the label after detaching.

        """
        return _TObj.TObj_Object_Detach(*args)

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

        Parameters
        ----------
        theType: Standard_Type (optional, default to NULL)

        Return
        -------
        opencascade::handle<TObj_ObjectIterator>

        Description
        -----------
        Returns iterator for the objects which depend on this one. these referring objects may belong to other models. thetype narrows a variety of iterated objects.

        """
        return _TObj.TObj_Object_GetBackReferences(self, *args)

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

        Parameters
        ----------
        theRoot: TDF_Label
        theBadReference: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Return true if this refers to the model theroot belongs to and a referred label is not a descendant of theroot. in this case thebadreference returns the currently referred label.

        """
        return _TObj.TObj_Object_GetBadReference(self, *args)

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

        Description
        -----------
        Returns the label under which children are stored.

        """
        return _TObj.TObj_Object_GetChildLabel(self, *args)

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

        Parameters
        ----------
        theType: Standard_Type (optional, default to NULL)

        Return
        -------
        opencascade::handle<TObj_ObjectIterator>

        Description
        -----------
        Returns iterator for the child objects. this method provides tree-like view of the objects hierarchy. the references to other objects are not considered as children. thetype narrows a variety of iterated objects the default implementation search for children on 1 sublavel of the children sub label.

        """
        return _TObj.TObj_Object_GetChildren(self, *args)

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

        Description
        -----------
        Returns the label which is the root for data ocaf sub-tree.

        """
        return _TObj.TObj_Object_GetDataLabel(self, *args)

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

        Description
        -----------
        Returns the map of names of the objects default implementation returns global dictionary of the model.

        """
        return _TObj.TObj_Object_GetDictionary(self, *args)

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

        Parameters
        ----------
        theType: Standard_Type (optional, default to NULL)

        Return
        -------
        opencascade::handle<TObj_Object>

        Description
        -----------
        Returns the father object, which may be null thetype gives type of father object to search.

        """
        return _TObj.TObj_Object_GetFatherObject(self, *args)

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

        Description
        -----------
        Returns mask of seted flags.

        """
        return _TObj.TObj_Object_GetFlags(self, *args)

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

        Description
        -----------
        Returns the ocaf label on which object`s data are stored.

        """
        return _TObj.TObj_Object_GetLabel(self, *args)

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

        Description
        -----------
        Returns the model to which the object belongs.

        """
        return _TObj.TObj_Object_GetModel(self, *args)

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

        Description
        -----------
        Returns the name of the object (empty string if object has no name).

        Parameters
        ----------
        theName: str

        Return
        -------
        bool

        Description
        -----------
        Returns the standard_true is object has name and returns name to thename.

        Parameters
        ----------
        theName: str

        Return
        -------
        bool

        Description
        -----------
        Returns the standard_true is object has name and returns name to thename.

        """
        return _TObj.TObj_Object_GetName(self, *args)

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

        Parameters
        ----------
        &: TObj_Object

        Return
        -------
        opencascade::handle<TCollection_HExtendedString>

        Description
        -----------
        Returns name for copy default implementation returns the same name.

        """
        return _TObj.TObj_Object_GetNameForClone(self, *args)

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

        Parameters
        ----------
        theLabel: TDF_Label
        theResult: TObj_Object
        isSuper: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Returns the object attached to a given label. returns false if no object of type tobj_object is stored on the specified label. if issuper is true tries to find on the super labels.

        """
        return _TObj.TObj_Object_GetObj(*args)

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

        Description
        -----------
        Returns order of object (or tag of their label if order is not initialised).

        """
        return _TObj.TObj_Object_GetOrder(self, *args)

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

        Description
        -----------
        Returns the label which is the root for reference ocaf sub-tree.

        """
        return _TObj.TObj_Object_GetReferenceLabel(self, *args)

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

        Parameters
        ----------
        theType: Standard_Type (optional, default to NULL)

        Return
        -------
        opencascade::handle<TObj_ObjectIterator>

        Description
        -----------
        Returns an iterator containing objects that compose the this one thetype narrows a variety of iterated objects.

        """
        return _TObj.TObj_Object_GetReferences(self, *args)

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

        Description
        -----------
        Returns flags (bitmask) that define properties of objects of that type by default returns flag visible.

        """
        return _TObj.TObj_Object_GetTypeFlags(self, *args)

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

        Description
        -----------
        Returns true if object has 1 or more back references.

        """
        return _TObj.TObj_Object_HasBackReferences(self, *args)

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

        Description
        -----------
        /** * public methods to check modifications of the object since last commit */ returns true if object attributes or or his children were modified in the current open transaction.

        """
        return _TObj.TObj_Object_HasModifications(self, *args)

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

        Parameters
        ----------
        theObject: TObj_Object

        Return
        -------
        bool

        Description
        -----------
        Returns true if object has reference to indicated object.

        """
        return _TObj.TObj_Object_HasReference(self, *args)

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

        Description
        -----------
        Checks that object alive in model default implementation checks that object has tobject attribute at own label.

        """
        return _TObj.TObj_Object_IsAlive(self, *args)

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

        Parameters
        ----------
        theFromRoot: TDF_Label
        theToRoot: TDF_Label
        theUpdateBackRefs: bool (optional, default to Standard_True)

        Return
        -------
        bool

        Description
        -----------
        Make that each reference pointing to a descendant label of thefromroot to point to an equivalent label under thetoroot. return false if a resulting reference does not point to an tobj_object example: a referred object label = 0:3:24:7:2:7 thefromroot = 0:3:24 thetoroot = 0:2 a new referred label = 0:2:7:2:7.

        """
        return _TObj.TObj_Object_RelocateReferences(self, *args)

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

        Description
        -----------
        Remove all references to other objects, by removing all reference attributes.

        """
        return _TObj.TObj_Object_RemoveAllReferences(self, *args)

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

        Parameters
        ----------
        theObject: TObj_Object
        theSingleOnly: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Removes information on dependent object (back reference). if thesingleonly is true only the first back reference is removed in the case of duplicate items.

        """
        return _TObj.TObj_Object_RemoveBackReference(self, *args)

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

        Parameters
        ----------
        theMode: TObj_DeletingMode (optional, default to TObj_FreeOnly)

        Return
        -------
        bool

        Description
        -----------
        Removes all back reference by removing references from other to me.

        """
        return _TObj.TObj_Object_RemoveBackReferences(self, *args)

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

        Parameters
        ----------
        theObject: TObj_Object

        Return
        -------
        None

        Description
        -----------
        Removes reference to the object by replace reference to null object.

        """
        return _TObj.TObj_Object_RemoveReference(self, *args)

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

        Parameters
        ----------
        theOldObject: TObj_Object
        theNewObject: TObj_Object

        Return
        -------
        None

        Description
        -----------
        Replace reference from old object to new object. if it is not possible, may raise exception. if new object is null then simple remove reference to old object.

        """
        return _TObj.TObj_Object_ReplaceReference(self, *args)

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

        Parameters
        ----------
        theMask: int

        Return
        -------
        None

        Description
        -----------
        Sets flags with defined mask.

        """
        return _TObj.TObj_Object_SetFlags(self, *args)

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

        Parameters
        ----------
        theName: TCollection_HExtendedString

        Return
        -------
        bool

        Description
        -----------
        Sets name of the object. returns false if thename is not unique.

        Parameters
        ----------
        theName: TCollection_HAsciiString

        Return
        -------
        bool

        Description
        -----------
        Sets name of the object. returns false if thename is not unique.

        Parameters
        ----------
        name: str

        Return
        -------
        bool

        Description
        -----------
        Sets name of the object. returns false if thename is not unique.

        """
        return _TObj.TObj_Object_SetName(self, *args)

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

        Parameters
        ----------
        theIndx: int

        Return
        -------
        bool

        Description
        -----------
        Sets order of object.

        """
        return _TObj.TObj_Object_SetOrder(self, *args)

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

        Parameters
        ----------
        theMask: int

        Return
        -------
        bool

        Description
        -----------
        Tests flags by the mask.

        """
        return _TObj.TObj_Object_TestFlags(self, *args)

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

        Parameters
        ----------
        theRank: int

        Return
        -------
        TDF_Label

        Description
        -----------
        Returns the label for child with rank.

        """
        return _TObj.TObj_Object_getChildLabel(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TObj.delete_TObj_Object

# Register TObj_Object in _TObj:
_TObj.TObj_Object_swigregister(TObj_Object)
class TObj_ObjectIterator(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 More(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns true if iteration is not finished and method current() will give the object. default implementation returns false.

        """
        return _TObj.TObj_ObjectIterator_More(self, *args)

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

        Description
        -----------
        Iterates to the next object default implementation does nothing.

        """
        return _TObj.TObj_ObjectIterator_Next(self, *args)

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

        Description
        -----------
        Returns current object (or null if iteration has finished) default implementation returns null handle.

        """
        return _TObj.TObj_ObjectIterator_Value(self, *args)


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


    __repr__ = _dumps_object


    def __init__(self):
        _TObj.TObj_ObjectIterator_swiginit(self, _TObj.new_TObj_ObjectIterator())
    __swig_destroy__ = _TObj.delete_TObj_ObjectIterator

# Register TObj_ObjectIterator in _TObj:
_TObj.TObj_ObjectIterator_swigregister(TObj_ObjectIterator)
class TObj_Persistence(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")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theType: str
        theLabel: TDF_Label

        Return
        -------
        opencascade::handle<TObj_Object>

        Description
        -----------
        Creates and returns a new object of the registered type if the type is not registered, returns null handle.

        """
        return _TObj.TObj_Persistence_CreateNewObject(*args)

    def DumpTypesToString(self):
        r"""DumpTypesToString(TObj_Persistence self) -> std::string"""
        return _TObj.TObj_Persistence_DumpTypesToString(self)

    __repr__ = _dumps_object


# Register TObj_Persistence in _TObj:
_TObj.TObj_Persistence_swigregister(TObj_Persistence)
class TObj_TIntSparseArray(OCC.Core.TDF.TDF_Attribute):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _TObj.TObj_TIntSparseArray_swiginit(self, _TObj.new_TObj_TIntSparseArray(*args))

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

        Description
        -----------
        Clears the set.

        """
        return _TObj.TObj_TIntSparseArray_Clear(self, *args)

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

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

        """
        return _TObj.TObj_TIntSparseArray_ClearDelta(self, *args)

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

        Description
        -----------
        This method is used in implementation of id().

        """
        return _TObj.TObj_TIntSparseArray_GetID(*args)

    def GetIterator(self, *args):
        r"""
        Return
        -------
        Iterator

        Description
        -----------
        Returns iterator on objects contained in the set.

        """
        return _TObj.TObj_TIntSparseArray_GetIterator(self, *args)

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

        Parameters
        ----------
        theId: Standard_Size

        Return
        -------
        bool

        Description
        -----------
        Returns true if the value with the given id is present.

        """
        return _TObj.TObj_TIntSparseArray_HasValue(self, *args)

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

        Parameters
        ----------
        theLabel: TDF_Label

        Return
        -------
        opencascade::handle<TObj_TIntSparseArray>

        Description
        -----------
        Creates tobj_tintsparsearray attribute on given label.

        """
        return _TObj.TObj_TIntSparseArray_Set(*args)

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

        Parameters
        ----------
        toDo: bool

        Return
        -------
        None

        Description
        -----------
        Sets the flag pointing to the necessity to maintain a modification delta. it is called by the retrieval driver.

        """
        return _TObj.TObj_TIntSparseArray_SetDoBackup(self, *args)

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

        Parameters
        ----------
        theId: Standard_Size
        theValue: int

        Return
        -------
        None

        Description
        -----------
        Sets the value with the given id. raises an exception if theid is not positive.

        """
        return _TObj.TObj_TIntSparseArray_SetValue(self, *args)

    def Size(self, *args):
        r"""
        Return
        -------
        Standard_Size

        Description
        -----------
        Returns the number of stored values in the set.

        """
        return _TObj.TObj_TIntSparseArray_Size(self, *args)

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

        Parameters
        ----------
        theId: Standard_Size

        Return
        -------
        None

        Description
        -----------
        Unsets the value with the given id. raises an exception if theid is not positive.

        """
        return _TObj.TObj_TIntSparseArray_UnsetValue(self, *args)

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

        Parameters
        ----------
        theId: Standard_Size

        Return
        -------
        int

        Description
        -----------
        Returns the value by its id. raises an exception if no value is stored with this id.

        """
        return _TObj.TObj_TIntSparseArray_Value(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TObj.delete_TObj_TIntSparseArray

# Register TObj_TIntSparseArray in _TObj:
_TObj.TObj_TIntSparseArray_swigregister(TObj_TIntSparseArray)
class TObj_TModel(OCC.Core.TDF.TDF_Attribute):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _TObj.TObj_TModel_swiginit(self, _TObj.new_TObj_TModel(*args))

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

        Description
        -----------
        This method is used in implementation of id().

        """
        return _TObj.TObj_TModel_GetID(*args)

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

        Description
        -----------
        Returns the model object.

        """
        return _TObj.TObj_TModel_Model(self, *args)

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

        Parameters
        ----------
        theModel: TObj_Model

        Return
        -------
        None

        Description
        -----------
        Sets the model object.

        """
        return _TObj.TObj_TModel_Set(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TObj.delete_TObj_TModel

# Register TObj_TModel in _TObj:
_TObj.TObj_TModel_swigregister(TObj_TModel)
class TObj_TNameContainer(OCC.Core.TDF.TDF_Attribute):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _TObj.TObj_TNameContainer_swiginit(self, _TObj.new_TObj_TNameContainer(*args))

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

        Description
        -----------
        Remove all names registered in container.

        """
        return _TObj.TObj_TNameContainer_Clear(self, *args)

    def Get(self, *args):
        r"""
        Return
        -------
        TObj_DataMapOfNameLabel

        Description
        -----------
        Returns the tobj_datamapofnamelabel object.

        """
        return _TObj.TObj_TNameContainer_Get(self, *args)

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

        Description
        -----------
        This method is used in implementation of id().

        """
        return _TObj.TObj_TNameContainer_GetID(*args)

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

        Parameters
        ----------
        theName: TCollection_HExtendedString

        Return
        -------
        bool

        Description
        -----------
        Return true is thename is registered in the map.

        """
        return _TObj.TObj_TNameContainer_IsRegistered(self, *args)

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

        Parameters
        ----------
        theName: TCollection_HExtendedString
        theLabel: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Records name with label attached.

        """
        return _TObj.TObj_TNameContainer_RecordName(self, *args)

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

        Parameters
        ----------
        theName: TCollection_HExtendedString

        Return
        -------
        None

        Description
        -----------
        Remove name from the map.

        """
        return _TObj.TObj_TNameContainer_RemoveName(self, *args)

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

        Parameters
        ----------
        theLabel: TDF_Label

        Return
        -------
        opencascade::handle<TObj_TNameContainer>

        Description
        -----------
        Creates tobj_datamapofnamelabel attribute on given label if not exist.

        Parameters
        ----------
        theElem: TObj_DataMapOfNameLabel

        Return
        -------
        None

        Description
        -----------
        Sets the tobj_datamapofnamelabel object.

        """
        return _TObj.TObj_TNameContainer_Set(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TObj.delete_TObj_TNameContainer

# Register TObj_TNameContainer in _TObj:
_TObj.TObj_TNameContainer_swigregister(TObj_TNameContainer)
class TObj_TObject(OCC.Core.TDF.TDF_Attribute):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _TObj.TObj_TObject_swiginit(self, _TObj.new_TObj_TObject(*args))

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

        Description
        -----------
        Returns the tobj_object object.

        """
        return _TObj.TObj_TObject_Get(self, *args)

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

        Description
        -----------
        This method is used in implementation of id().

        """
        return _TObj.TObj_TObject_GetID(*args)

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

        Parameters
        ----------
        theLabel: TDF_Label
        theElem: TObj_Object

        Return
        -------
        opencascade::handle<TObj_TObject>

        Description
        -----------
        Creates tobj_tobject attribute on given label.

        Parameters
        ----------
        theElem: TObj_Object

        Return
        -------
        None

        Description
        -----------
        Sets the tobj_object object.

        """
        return _TObj.TObj_TObject_Set(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TObj.delete_TObj_TObject

# Register TObj_TObject in _TObj:
_TObj.TObj_TObject_swigregister(TObj_TObject)
class TObj_TReference(OCC.Core.TDF.TDF_Attribute):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _TObj.TObj_TReference_swiginit(self, _TObj.new_TObj_TReference(*args))

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

        Description
        -----------
        Returns the referenced theobject.

        """
        return _TObj.TObj_TReference_Get(self, *args)

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

        Description
        -----------
        This method is used in implementation of id().

        """
        return _TObj.TObj_TReference_GetID(*args)

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

        Description
        -----------
        Returns the referred label.

        """
        return _TObj.TObj_TReference_GetLabel(self, *args)

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

        Description
        -----------
        Returns the label of master object.

        """
        return _TObj.TObj_TReference_GetMasterLabel(self, *args)

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

        Parameters
        ----------
        theLabel: TDF_Label
        theObject: TObj_Object
        theMaster: TObj_Object

        Return
        -------
        opencascade::handle<TObj_TReference>

        Description
        -----------
        Creates reference on tdf_label <thelabel> to the object <theobject> and creates backreference from the object <theobject> to <themaster> one.

        Parameters
        ----------
        theObject: TObj_Object
        theMasterLabel: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Sets the reference to the theobject.

        Parameters
        ----------
        theLabel: TDF_Label
        theMasterLabel: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Sets the reference to the theobject at indicated label. it is method for persistent only. don`t use anywhere else.

        """
        return _TObj.TObj_TReference_Set(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TObj.delete_TObj_TReference

# Register TObj_TReference in _TObj:
_TObj.TObj_TReference_swigregister(TObj_TReference)
class TObj_TXYZ(OCC.Core.TDF.TDF_Attribute):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _TObj.TObj_TXYZ_swiginit(self, _TObj.new_TObj_TXYZ(*args))

    def DumpToString(self):
        r"""DumpToString(TObj_TXYZ self) -> std::string"""
        return _TObj.TObj_TXYZ_DumpToString(self)

    def Get(self, *args):
        r"""
        Return
        -------
        gp_XYZ

        Description
        -----------
        Returns the xyz.

        """
        return _TObj.TObj_TXYZ_Get(self, *args)

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

        Description
        -----------
        This method is used in implementation of id().

        """
        return _TObj.TObj_TXYZ_GetID(*args)

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

        Parameters
        ----------
        theLabel: TDF_Label
        theXYZ: gp_XYZ

        Return
        -------
        opencascade::handle<TObj_TXYZ>

        Description
        -----------
        Creates attribute and sets the xyz.

        Parameters
        ----------
        theXYZ: gp_XYZ

        Return
        -------
        None

        Description
        -----------
        Sets the xyz.

        """
        return _TObj.TObj_TXYZ_Set(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TObj.delete_TObj_TXYZ

# Register TObj_TXYZ in _TObj:
_TObj.TObj_TXYZ_swigregister(TObj_TXYZ)
class TObj_LabelIterator(TObj_ObjectIterator):
    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 LabelValue(self, *args):
        r"""
        Return
        -------
        TDF_Label

        Description
        -----------
        Returns the label of the current item.

        """
        return _TObj.TObj_LabelIterator_LabelValue(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TObj.delete_TObj_LabelIterator

# Register TObj_LabelIterator in _TObj:
_TObj.TObj_LabelIterator_swigregister(TObj_LabelIterator)
class TObj_ModelIterator(TObj_ObjectIterator):
    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
        ----------
        theModel: TObj_Model

        Return
        -------
        None

        Description
        -----------
        /** * constructor */ creates iterator and initialize it by model`s label.

        """
        _TObj.TObj_ModelIterator_swiginit(self, _TObj.new_TObj_ModelIterator(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TObj.delete_TObj_ModelIterator

# Register TObj_ModelIterator in _TObj:
_TObj.TObj_ModelIterator_swigregister(TObj_ModelIterator)
class TObj_Partition(TObj_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")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theLabel: TDF_Label
        theSetName: bool (optional, default to Standard_True)

        Return
        -------
        opencascade::handle<TObj_Partition>

        Description
        -----------
        Creates a new partition on given label.

        """
        return _TObj.TObj_Partition_Create(*args)

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

        Description
        -----------
        Return last index in partition (reserved);.

        """
        return _TObj.TObj_Partition_GetLastIndex(self, *args)

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

        Description
        -----------
        Returns prefix for names of the objects in partition.

        """
        return _TObj.TObj_Partition_GetNamePrefix(self, *args)

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

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

        Return
        -------
        opencascade::handle<TCollection_HExtendedString>

        Description
        -----------
        Generates and returns name for new object in partition. if theistochangecount is true partition increase own counter to generate new name next time starting from new counter value.

        """
        return _TObj.TObj_Partition_GetNewName(self, *args)

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

        Parameters
        ----------
        theObject: TObj_Object

        Return
        -------
        opencascade::handle<TObj_Partition>

        Description
        -----------
        Returns the partition in which object is stored. null partition returned if not found.

        """
        return _TObj.TObj_Partition_GetPartition(*args)

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

        Description
        -----------
        Creates and returns label for new object in partition.

        """
        return _TObj.TObj_Partition_NewLabel(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        None

        Description
        -----------
        Sets last index in partition (reserved);.

        """
        return _TObj.TObj_Partition_SetLastIndex(self, *args)

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

        Parameters
        ----------
        thePrefix: TCollection_HExtendedString

        Return
        -------
        None

        Description
        -----------
        Sets prefix for names of the objects in partition.

        """
        return _TObj.TObj_Partition_SetNamePrefix(self, *args)

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

        Description
        -----------
        Does nothing in the partition.

        """
        return _TObj.TObj_Partition_Update(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TObj.delete_TObj_Partition

# Register TObj_Partition in _TObj:
_TObj.TObj_Partition_swigregister(TObj_Partition)
class TObj_SequenceIterator(TObj_ObjectIterator):
    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
        ----------
        theObjects: TObj_HSequenceOfObject
        theType: Standard_Type (optional, default to NULL)

        Return
        -------
        None

        Description
        -----------
        Creates an iterator an initialize it by sequence of objects.

        """
        _TObj.TObj_SequenceIterator_swiginit(self, _TObj.new_TObj_SequenceIterator(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TObj.delete_TObj_SequenceIterator

# Register TObj_SequenceIterator in _TObj:
_TObj.TObj_SequenceIterator_swigregister(TObj_SequenceIterator)
class TObj_HiddenPartition(TObj_Partition):
    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
        ----------
        theLabel: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Constructor.

        """
        _TObj.TObj_HiddenPartition_swiginit(self, _TObj.new_TObj_HiddenPartition(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TObj.delete_TObj_HiddenPartition

# Register TObj_HiddenPartition in _TObj:
_TObj.TObj_HiddenPartition_swigregister(TObj_HiddenPartition)
class TObj_OcafObjectIterator(TObj_LabelIterator):
    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
        ----------
        theLabel: TDF_Label
        theType: Standard_Type (optional, default to NULL)
        theRecursive: bool (optional, default to Standard_False)
        theAllSubChildren: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Creates the iterator on tobj objects on the sub-labels of thelabel. @param thelabel start label for searching @param thetype type of the found objects, or all types if null @param therecursive search children recursively, not only on sub-labels of thelabel @param theallsubchildren do not stop at the first level of children, but search for sub-children too.

        """
        _TObj.TObj_OcafObjectIterator_swiginit(self, _TObj.new_TObj_OcafObjectIterator(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TObj.delete_TObj_OcafObjectIterator

# Register TObj_OcafObjectIterator in _TObj:
_TObj.TObj_OcafObjectIterator_swigregister(TObj_OcafObjectIterator)
class TObj_ReferenceIterator(TObj_LabelIterator):
    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
        ----------
        theLabel: TDF_Label
        theType: Standard_Type (optional, default to NULL)
        theRecursive: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Creates the iterator on references in partition thetype narrows a variety of iterated objects.

        """
        _TObj.TObj_ReferenceIterator_swiginit(self, _TObj.new_TObj_ReferenceIterator(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TObj.delete_TObj_ReferenceIterator

# Register TObj_ReferenceIterator in _TObj:
_TObj.TObj_ReferenceIterator_swigregister(TObj_ReferenceIterator)
class TObj_HSequenceOfObject(TObj_SequenceOfObject, 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):
        _TObj.TObj_HSequenceOfObject_swiginit(self, _TObj.new_TObj_HSequenceOfObject(*args))

    def Sequence(self):
        return _TObj.TObj_HSequenceOfObject_Sequence(self)

    def Append(self, *args):
        return _TObj.TObj_HSequenceOfObject_Append(self, *args)

    def ChangeSequence(self):
        return _TObj.TObj_HSequenceOfObject_ChangeSequence(self)


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

    __swig_destroy__ = _TObj.delete_TObj_HSequenceOfObject

# Register TObj_HSequenceOfObject in _TObj:
_TObj.TObj_HSequenceOfObject_swigregister(TObj_HSequenceOfObject)



@deprecated
def TObj_Application_GetInstance(*args):
	return TObj_Application.GetInstance(*args)

@deprecated
def TObj_Assistant_BindModel(*args):
	return TObj_Assistant.BindModel(*args)

@deprecated
def TObj_Assistant_BindType(*args):
	return TObj_Assistant.BindType(*args)

@deprecated
def TObj_Assistant_ClearModelMap(*args):
	return TObj_Assistant.ClearModelMap(*args)

@deprecated
def TObj_Assistant_ClearTypeMap(*args):
	return TObj_Assistant.ClearTypeMap(*args)

@deprecated
def TObj_Assistant_FindModel(*args):
	return TObj_Assistant.FindModel(*args)

@deprecated
def TObj_Assistant_FindType(*args):
	return TObj_Assistant.FindType(*args)

@deprecated
def TObj_Assistant_FindTypeIndex(*args):
	return TObj_Assistant.FindTypeIndex(*args)

@deprecated
def TObj_Assistant_GetAppVersion(*args):
	return TObj_Assistant.GetAppVersion(*args)

@deprecated
def TObj_Assistant_GetCurrentModel(*args):
	return TObj_Assistant.GetCurrentModel(*args)

@deprecated
def TObj_Assistant_SetCurrentModel(*args):
	return TObj_Assistant.SetCurrentModel(*args)

@deprecated
def TObj_Assistant_UnSetCurrentModel(*args):
	return TObj_Assistant.UnSetCurrentModel(*args)

@deprecated
def TObj_Model_GetDocumentModel(*args):
	return TObj_Model.GetDocumentModel(*args)

@deprecated
def TObj_Model_SetNewName(*args):
	return TObj_Model.SetNewName(*args)

@deprecated
def TObj_Object_Detach(*args):
	return TObj_Object.Detach(*args)

@deprecated
def TObj_Object_GetObj(*args):
	return TObj_Object.GetObj(*args)

@deprecated
def TObj_Persistence_CreateNewObject(*args):
	return TObj_Persistence.CreateNewObject(*args)

@deprecated
def TObj_TIntSparseArray_GetID(*args):
	return TObj_TIntSparseArray.GetID(*args)

@deprecated
def TObj_TIntSparseArray_Set(*args):
	return TObj_TIntSparseArray.Set(*args)

@deprecated
def TObj_TModel_GetID(*args):
	return TObj_TModel.GetID(*args)

@deprecated
def TObj_TNameContainer_GetID(*args):
	return TObj_TNameContainer.GetID(*args)

@deprecated
def TObj_TNameContainer_Set(*args):
	return TObj_TNameContainer.Set(*args)

@deprecated
def TObj_TObject_GetID(*args):
	return TObj_TObject.GetID(*args)

@deprecated
def TObj_TObject_Set(*args):
	return TObj_TObject.Set(*args)

@deprecated
def TObj_TReference_GetID(*args):
	return TObj_TReference.GetID(*args)

@deprecated
def TObj_TReference_Set(*args):
	return TObj_TReference.Set(*args)

@deprecated
def TObj_TXYZ_GetID(*args):
	return TObj_TXYZ.GetID(*args)

@deprecated
def TObj_TXYZ_Set(*args):
	return TObj_TXYZ.Set(*args)

@deprecated
def TObj_Partition_Create(*args):
	return TObj_Partition.Create(*args)

@deprecated
def TObj_Partition_GetPartition(*args):
	return TObj_Partition.GetPartition(*args)



