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

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

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

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _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 == "thisown":
            self.this.own(value)
        elif name == "this":
            set(self, name, value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    def __sub__(self, *args) -> "ptrdiff_t":
        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: "Standard_Failure", method_name: "std::string", class_name: "std::string") -> "void":
    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() -> "opencascade::handle< TObj_Application >":
    return _TObj.Handle_TObj_Application_Create()

def Handle_TObj_Application_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_Application >":
    return _TObj.Handle_TObj_Application_DownCast(t)

def Handle_TObj_Application_IsNull(t: "opencascade::handle< TObj_Application > const &") -> "bool":
    return _TObj.Handle_TObj_Application_IsNull(t)

def Handle_TObj_CheckModel_Create() -> "opencascade::handle< TObj_CheckModel >":
    return _TObj.Handle_TObj_CheckModel_Create()

def Handle_TObj_CheckModel_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_CheckModel >":
    return _TObj.Handle_TObj_CheckModel_DownCast(t)

def Handle_TObj_CheckModel_IsNull(t: "opencascade::handle< TObj_CheckModel > const &") -> "bool":
    return _TObj.Handle_TObj_CheckModel_IsNull(t)

def Handle_TObj_Model_Create() -> "opencascade::handle< TObj_Model >":
    return _TObj.Handle_TObj_Model_Create()

def Handle_TObj_Model_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_Model >":
    return _TObj.Handle_TObj_Model_DownCast(t)

def Handle_TObj_Model_IsNull(t: "opencascade::handle< TObj_Model > const &") -> "bool":
    return _TObj.Handle_TObj_Model_IsNull(t)

def Handle_TObj_Object_Create() -> "opencascade::handle< TObj_Object >":
    return _TObj.Handle_TObj_Object_Create()

def Handle_TObj_Object_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_Object >":
    return _TObj.Handle_TObj_Object_DownCast(t)

def Handle_TObj_Object_IsNull(t: "opencascade::handle< TObj_Object > const &") -> "bool":
    return _TObj.Handle_TObj_Object_IsNull(t)

def Handle_TObj_ObjectIterator_Create() -> "opencascade::handle< TObj_ObjectIterator >":
    return _TObj.Handle_TObj_ObjectIterator_Create()

def Handle_TObj_ObjectIterator_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_ObjectIterator >":
    return _TObj.Handle_TObj_ObjectIterator_DownCast(t)

def Handle_TObj_ObjectIterator_IsNull(t: "opencascade::handle< TObj_ObjectIterator > const &") -> "bool":
    return _TObj.Handle_TObj_ObjectIterator_IsNull(t)

def Handle_TObj_TIntSparseArray_Create() -> "opencascade::handle< TObj_TIntSparseArray >":
    return _TObj.Handle_TObj_TIntSparseArray_Create()

def Handle_TObj_TIntSparseArray_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_TIntSparseArray >":
    return _TObj.Handle_TObj_TIntSparseArray_DownCast(t)

def Handle_TObj_TIntSparseArray_IsNull(t: "opencascade::handle< TObj_TIntSparseArray > const &") -> "bool":
    return _TObj.Handle_TObj_TIntSparseArray_IsNull(t)

def Handle_TObj_TModel_Create() -> "opencascade::handle< TObj_TModel >":
    return _TObj.Handle_TObj_TModel_Create()

def Handle_TObj_TModel_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_TModel >":
    return _TObj.Handle_TObj_TModel_DownCast(t)

def Handle_TObj_TModel_IsNull(t: "opencascade::handle< TObj_TModel > const &") -> "bool":
    return _TObj.Handle_TObj_TModel_IsNull(t)

def Handle_TObj_TNameContainer_Create() -> "opencascade::handle< TObj_TNameContainer >":
    return _TObj.Handle_TObj_TNameContainer_Create()

def Handle_TObj_TNameContainer_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_TNameContainer >":
    return _TObj.Handle_TObj_TNameContainer_DownCast(t)

def Handle_TObj_TNameContainer_IsNull(t: "opencascade::handle< TObj_TNameContainer > const &") -> "bool":
    return _TObj.Handle_TObj_TNameContainer_IsNull(t)

def Handle_TObj_TObject_Create() -> "opencascade::handle< TObj_TObject >":
    return _TObj.Handle_TObj_TObject_Create()

def Handle_TObj_TObject_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_TObject >":
    return _TObj.Handle_TObj_TObject_DownCast(t)

def Handle_TObj_TObject_IsNull(t: "opencascade::handle< TObj_TObject > const &") -> "bool":
    return _TObj.Handle_TObj_TObject_IsNull(t)

def Handle_TObj_TReference_Create() -> "opencascade::handle< TObj_TReference >":
    return _TObj.Handle_TObj_TReference_Create()

def Handle_TObj_TReference_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_TReference >":
    return _TObj.Handle_TObj_TReference_DownCast(t)

def Handle_TObj_TReference_IsNull(t: "opencascade::handle< TObj_TReference > const &") -> "bool":
    return _TObj.Handle_TObj_TReference_IsNull(t)

def Handle_TObj_TXYZ_Create() -> "opencascade::handle< TObj_TXYZ >":
    return _TObj.Handle_TObj_TXYZ_Create()

def Handle_TObj_TXYZ_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_TXYZ >":
    return _TObj.Handle_TObj_TXYZ_DownCast(t)

def Handle_TObj_TXYZ_IsNull(t: "opencascade::handle< TObj_TXYZ > const &") -> "bool":
    return _TObj.Handle_TObj_TXYZ_IsNull(t)

def Handle_TObj_LabelIterator_Create() -> "opencascade::handle< TObj_LabelIterator >":
    return _TObj.Handle_TObj_LabelIterator_Create()

def Handle_TObj_LabelIterator_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_LabelIterator >":
    return _TObj.Handle_TObj_LabelIterator_DownCast(t)

def Handle_TObj_LabelIterator_IsNull(t: "opencascade::handle< TObj_LabelIterator > const &") -> "bool":
    return _TObj.Handle_TObj_LabelIterator_IsNull(t)

def Handle_TObj_ModelIterator_Create() -> "opencascade::handle< TObj_ModelIterator >":
    return _TObj.Handle_TObj_ModelIterator_Create()

def Handle_TObj_ModelIterator_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_ModelIterator >":
    return _TObj.Handle_TObj_ModelIterator_DownCast(t)

def Handle_TObj_ModelIterator_IsNull(t: "opencascade::handle< TObj_ModelIterator > const &") -> "bool":
    return _TObj.Handle_TObj_ModelIterator_IsNull(t)

def Handle_TObj_Partition_Create() -> "opencascade::handle< TObj_Partition >":
    return _TObj.Handle_TObj_Partition_Create()

def Handle_TObj_Partition_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_Partition >":
    return _TObj.Handle_TObj_Partition_DownCast(t)

def Handle_TObj_Partition_IsNull(t: "opencascade::handle< TObj_Partition > const &") -> "bool":
    return _TObj.Handle_TObj_Partition_IsNull(t)

def Handle_TObj_SequenceIterator_Create() -> "opencascade::handle< TObj_SequenceIterator >":
    return _TObj.Handle_TObj_SequenceIterator_Create()

def Handle_TObj_SequenceIterator_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_SequenceIterator >":
    return _TObj.Handle_TObj_SequenceIterator_DownCast(t)

def Handle_TObj_SequenceIterator_IsNull(t: "opencascade::handle< TObj_SequenceIterator > const &") -> "bool":
    return _TObj.Handle_TObj_SequenceIterator_IsNull(t)

def Handle_TObj_HiddenPartition_Create() -> "opencascade::handle< TObj_HiddenPartition >":
    return _TObj.Handle_TObj_HiddenPartition_Create()

def Handle_TObj_HiddenPartition_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_HiddenPartition >":
    return _TObj.Handle_TObj_HiddenPartition_DownCast(t)

def Handle_TObj_HiddenPartition_IsNull(t: "opencascade::handle< TObj_HiddenPartition > const &") -> "bool":
    return _TObj.Handle_TObj_HiddenPartition_IsNull(t)

def Handle_TObj_OcafObjectIterator_Create() -> "opencascade::handle< TObj_OcafObjectIterator >":
    return _TObj.Handle_TObj_OcafObjectIterator_Create()

def Handle_TObj_OcafObjectIterator_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_OcafObjectIterator >":
    return _TObj.Handle_TObj_OcafObjectIterator_DownCast(t)

def Handle_TObj_OcafObjectIterator_IsNull(t: "opencascade::handle< TObj_OcafObjectIterator > const &") -> "bool":
    return _TObj.Handle_TObj_OcafObjectIterator_IsNull(t)

def Handle_TObj_ReferenceIterator_Create() -> "opencascade::handle< TObj_ReferenceIterator >":
    return _TObj.Handle_TObj_ReferenceIterator_Create()

def Handle_TObj_ReferenceIterator_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_ReferenceIterator >":
    return _TObj.Handle_TObj_ReferenceIterator_DownCast(t)

def Handle_TObj_ReferenceIterator_IsNull(t: "opencascade::handle< TObj_ReferenceIterator > const &") -> "bool":
    return _TObj.Handle_TObj_ReferenceIterator_IsNull(t)

def Handle_TObj_HSequenceOfObject_Create() -> "opencascade::handle< TObj_HSequenceOfObject >":
    return _TObj.Handle_TObj_HSequenceOfObject_Create()

def Handle_TObj_HSequenceOfObject_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TObj_HSequenceOfObject >":
    return _TObj.Handle_TObj_HSequenceOfObject_DownCast(t)

def Handle_TObj_HSequenceOfObject_IsNull(t: "opencascade::handle< TObj_HSequenceOfObject > const &") -> "bool":
    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) -> "NCollection_DataMap< opencascade::handle< TCollection_HExtendedString >,TDF_Label >::iterator":
        return _TObj.TObj_DataMapOfNameLabel_begin(self)

    def end(self) -> "NCollection_DataMap< opencascade::handle< TCollection_HExtendedString >,TDF_Label >::iterator":
        return _TObj.TObj_DataMapOfNameLabel_end(self)

    def cbegin(self) -> "NCollection_DataMap< opencascade::handle< TCollection_HExtendedString >,TDF_Label >::const_iterator":
        return _TObj.TObj_DataMapOfNameLabel_cbegin(self)

    def cend(self) -> "NCollection_DataMap< opencascade::handle< TCollection_HExtendedString >,TDF_Label >::const_iterator":
        return _TObj.TObj_DataMapOfNameLabel_cend(self)

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

    def Exchange(self, theOther: "TObj_DataMapOfNameLabel") -> "void":
        return _TObj.TObj_DataMapOfNameLabel_Exchange(self, theOther)

    def Assign(self, theOther: "TObj_DataMapOfNameLabel") -> "NCollection_DataMap< opencascade::handle< TCollection_HExtendedString >,TDF_Label > &":
        return _TObj.TObj_DataMapOfNameLabel_Assign(self, theOther)

    def Set(self, theOther: "TObj_DataMapOfNameLabel") -> "NCollection_DataMap< opencascade::handle< TCollection_HExtendedString >,TDF_Label > &":
        return _TObj.TObj_DataMapOfNameLabel_Set(self, theOther)

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

    def Bind(self, theKey: "opencascade::handle< TCollection_HExtendedString > const &", theItem: "TDF_Label") -> "Standard_Boolean":
        return _TObj.TObj_DataMapOfNameLabel_Bind(self, theKey, theItem)

    def Bound(self, theKey: "opencascade::handle< TCollection_HExtendedString > const &", theItem: "TDF_Label") -> "TDF_Label *":
        return _TObj.TObj_DataMapOfNameLabel_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "opencascade::handle< TCollection_HExtendedString > const &") -> "Standard_Boolean":
        return _TObj.TObj_DataMapOfNameLabel_IsBound(self, theKey)

    def UnBind(self, theKey: "opencascade::handle< TCollection_HExtendedString > const &") -> "Standard_Boolean":
        return _TObj.TObj_DataMapOfNameLabel_UnBind(self, theKey)

    def Seek(self, theKey: "opencascade::handle< TCollection_HExtendedString > const &") -> "TDF_Label const *":
        return _TObj.TObj_DataMapOfNameLabel_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _TObj.TObj_DataMapOfNameLabel_Find(self, *args)

    def ChangeSeek(self, theKey: "opencascade::handle< TCollection_HExtendedString > const &") -> "TDF_Label *":
        return _TObj.TObj_DataMapOfNameLabel_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "opencascade::handle< TCollection_HExtendedString > const &") -> "TDF_Label &":
        return _TObj.TObj_DataMapOfNameLabel_ChangeFind(self, theKey)

    def __call__(self, *args) -> "TDF_Label &":
        return _TObj.TObj_DataMapOfNameLabel___call__(self, *args)

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

    def Size(self) -> "Standard_Integer":
        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) -> "NCollection_DataMap< opencascade::handle< TObj_Object >,opencascade::handle< TObj_HSequenceOfObject > >::iterator":
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_begin(self)

    def end(self) -> "NCollection_DataMap< opencascade::handle< TObj_Object >,opencascade::handle< TObj_HSequenceOfObject > >::iterator":
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_end(self)

    def cbegin(self) -> "NCollection_DataMap< opencascade::handle< TObj_Object >,opencascade::handle< TObj_HSequenceOfObject > >::const_iterator":
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_cbegin(self)

    def cend(self) -> "NCollection_DataMap< opencascade::handle< TObj_Object >,opencascade::handle< TObj_HSequenceOfObject > >::const_iterator":
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_cend(self)

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

    def Exchange(self, theOther: "TObj_DataMapOfObjectHSequenceOcafObjects") -> "void":
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_Exchange(self, theOther)

    def Assign(self, theOther: "TObj_DataMapOfObjectHSequenceOcafObjects") -> "NCollection_DataMap< opencascade::handle< TObj_Object >,opencascade::handle< TObj_HSequenceOfObject > > &":
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_Assign(self, theOther)

    def Set(self, theOther: "TObj_DataMapOfObjectHSequenceOcafObjects") -> "NCollection_DataMap< opencascade::handle< TObj_Object >,opencascade::handle< TObj_HSequenceOfObject > > &":
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_Set(self, theOther)

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

    def Bind(self, theKey: "opencascade::handle< TObj_Object > const &", theItem: "opencascade::handle< TObj_HSequenceOfObject > const &") -> "Standard_Boolean":
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_Bind(self, theKey, theItem)

    def Bound(self, theKey: "opencascade::handle< TObj_Object > const &", theItem: "opencascade::handle< TObj_HSequenceOfObject > const &") -> "opencascade::handle< TObj_HSequenceOfObject > *":
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "opencascade::handle< TObj_Object > const &") -> "Standard_Boolean":
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_IsBound(self, theKey)

    def UnBind(self, theKey: "opencascade::handle< TObj_Object > const &") -> "Standard_Boolean":
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_UnBind(self, theKey)

    def Seek(self, theKey: "opencascade::handle< TObj_Object > const &") -> "opencascade::handle< TObj_HSequenceOfObject > const *":
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_Find(self, *args)

    def ChangeSeek(self, theKey: "opencascade::handle< TObj_Object > const &") -> "opencascade::handle< TObj_HSequenceOfObject > *":
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "opencascade::handle< TObj_Object > const &") -> "opencascade::handle< TObj_HSequenceOfObject > &":
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects_ChangeFind(self, theKey)

    def __call__(self, *args) -> "opencascade::handle< TObj_HSequenceOfObject > &":
        return _TObj.TObj_DataMapOfObjectHSequenceOcafObjects___call__(self, *args)

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

    def Size(self) -> "Standard_Integer":
        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) -> "NCollection_DataMap< TCollection_AsciiString,void * >::iterator":
        return _TObj.TObj_DataMapOfStringPointer_begin(self)

    def end(self) -> "NCollection_DataMap< TCollection_AsciiString,void * >::iterator":
        return _TObj.TObj_DataMapOfStringPointer_end(self)

    def cbegin(self) -> "NCollection_DataMap< TCollection_AsciiString,void * >::const_iterator":
        return _TObj.TObj_DataMapOfStringPointer_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TCollection_AsciiString,void * >::const_iterator":
        return _TObj.TObj_DataMapOfStringPointer_cend(self)

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

    def Exchange(self, theOther: "TObj_DataMapOfStringPointer") -> "void":
        return _TObj.TObj_DataMapOfStringPointer_Exchange(self, theOther)

    def Assign(self, theOther: "TObj_DataMapOfStringPointer") -> "NCollection_DataMap< TCollection_AsciiString,void * > &":
        return _TObj.TObj_DataMapOfStringPointer_Assign(self, theOther)

    def Set(self, theOther: "TObj_DataMapOfStringPointer") -> "NCollection_DataMap< TCollection_AsciiString,void * > &":
        return _TObj.TObj_DataMapOfStringPointer_Set(self, theOther)

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

    def Bind(self, theKey: "TCollection_AsciiString", theItem: "void *const &") -> "Standard_Boolean":
        return _TObj.TObj_DataMapOfStringPointer_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TCollection_AsciiString", theItem: "void *const &") -> "void **":
        return _TObj.TObj_DataMapOfStringPointer_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TCollection_AsciiString") -> "Standard_Boolean":
        return _TObj.TObj_DataMapOfStringPointer_IsBound(self, theKey)

    def UnBind(self, theKey: "TCollection_AsciiString") -> "Standard_Boolean":
        return _TObj.TObj_DataMapOfStringPointer_UnBind(self, theKey)

    def Seek(self, theKey: "TCollection_AsciiString") -> "void *const *":
        return _TObj.TObj_DataMapOfStringPointer_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _TObj.TObj_DataMapOfStringPointer_Find(self, *args)

    def ChangeSeek(self, theKey: "TCollection_AsciiString") -> "void **":
        return _TObj.TObj_DataMapOfStringPointer_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TCollection_AsciiString") -> "void *&":
        return _TObj.TObj_DataMapOfStringPointer_ChangeFind(self, theKey)

    def __call__(self, *args) -> "void *&":
        return _TObj.TObj_DataMapOfStringPointer___call__(self, *args)

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

    def Size(self) -> "Standard_Integer":
        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) -> "NCollection_Sequence< opencascade::handle< TObj_ObjectIterator > >::iterator":
        return _TObj.TObj_SequenceOfIterator_begin(self)

    def end(self) -> "NCollection_Sequence< opencascade::handle< TObj_ObjectIterator > >::iterator":
        return _TObj.TObj_SequenceOfIterator_end(self)

    def cbegin(self) -> "NCollection_Sequence< opencascade::handle< TObj_ObjectIterator > >::const_iterator":
        return _TObj.TObj_SequenceOfIterator_cbegin(self)

    def cend(self) -> "NCollection_Sequence< opencascade::handle< TObj_ObjectIterator > >::const_iterator":
        return _TObj.TObj_SequenceOfIterator_cend(self)

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

    def Size(self) -> "Standard_Integer":
        return _TObj.TObj_SequenceOfIterator_Size(self)

    def Length(self) -> "Standard_Integer":
        return _TObj.TObj_SequenceOfIterator_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _TObj.TObj_SequenceOfIterator_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _TObj.TObj_SequenceOfIterator_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _TObj.TObj_SequenceOfIterator_IsEmpty(self)

    def Reverse(self) -> "void":
        return _TObj.TObj_SequenceOfIterator_Reverse(self)

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

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

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

    def Assign(self, theOther: "TObj_SequenceOfIterator") -> "NCollection_Sequence< opencascade::handle< TObj_ObjectIterator > > &":
        return _TObj.TObj_SequenceOfIterator_Assign(self, theOther)

    def Set(self, theOther: "TObj_SequenceOfIterator") -> "NCollection_Sequence< opencascade::handle< TObj_ObjectIterator > > &":
        return _TObj.TObj_SequenceOfIterator_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _TObj.TObj_SequenceOfIterator_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _TObj.TObj_SequenceOfIterator_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _TObj.TObj_SequenceOfIterator_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _TObj.TObj_SequenceOfIterator_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _TObj.TObj_SequenceOfIterator_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "TObj_SequenceOfIterator") -> "void":
        return _TObj.TObj_SequenceOfIterator_Split(self, theIndex, theSeq)

    def First(self) -> "opencascade::handle< TObj_ObjectIterator > const &":
        return _TObj.TObj_SequenceOfIterator_First(self)

    def ChangeFirst(self) -> "opencascade::handle< TObj_ObjectIterator > &":
        return _TObj.TObj_SequenceOfIterator_ChangeFirst(self)

    def Last(self) -> "opencascade::handle< TObj_ObjectIterator > const &":
        return _TObj.TObj_SequenceOfIterator_Last(self)

    def ChangeLast(self) -> "opencascade::handle< TObj_ObjectIterator > &":
        return _TObj.TObj_SequenceOfIterator_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "opencascade::handle< TObj_ObjectIterator > const &":
        return _TObj.TObj_SequenceOfIterator_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "opencascade::handle< TObj_ObjectIterator > &":
        return _TObj.TObj_SequenceOfIterator_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "opencascade::handle< TObj_ObjectIterator > &":
        return _TObj.TObj_SequenceOfIterator___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "opencascade::handle< TObj_ObjectIterator > const &") -> "void":
        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)

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

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) -> "NCollection_Sequence< opencascade::handle< TObj_Object > >::iterator":
        return _TObj.TObj_SequenceOfObject_begin(self)

    def end(self) -> "NCollection_Sequence< opencascade::handle< TObj_Object > >::iterator":
        return _TObj.TObj_SequenceOfObject_end(self)

    def cbegin(self) -> "NCollection_Sequence< opencascade::handle< TObj_Object > >::const_iterator":
        return _TObj.TObj_SequenceOfObject_cbegin(self)

    def cend(self) -> "NCollection_Sequence< opencascade::handle< TObj_Object > >::const_iterator":
        return _TObj.TObj_SequenceOfObject_cend(self)

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

    def Size(self) -> "Standard_Integer":
        return _TObj.TObj_SequenceOfObject_Size(self)

    def Length(self) -> "Standard_Integer":
        return _TObj.TObj_SequenceOfObject_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _TObj.TObj_SequenceOfObject_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _TObj.TObj_SequenceOfObject_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _TObj.TObj_SequenceOfObject_IsEmpty(self)

    def Reverse(self) -> "void":
        return _TObj.TObj_SequenceOfObject_Reverse(self)

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

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

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

    def Assign(self, theOther: "TObj_SequenceOfObject") -> "NCollection_Sequence< opencascade::handle< TObj_Object > > &":
        return _TObj.TObj_SequenceOfObject_Assign(self, theOther)

    def Set(self, theOther: "TObj_SequenceOfObject") -> "NCollection_Sequence< opencascade::handle< TObj_Object > > &":
        return _TObj.TObj_SequenceOfObject_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _TObj.TObj_SequenceOfObject_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _TObj.TObj_SequenceOfObject_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _TObj.TObj_SequenceOfObject_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _TObj.TObj_SequenceOfObject_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _TObj.TObj_SequenceOfObject_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "TObj_SequenceOfObject") -> "void":
        return _TObj.TObj_SequenceOfObject_Split(self, theIndex, theSeq)

    def First(self) -> "opencascade::handle< TObj_Object > const &":
        return _TObj.TObj_SequenceOfObject_First(self)

    def ChangeFirst(self) -> "opencascade::handle< TObj_Object > &":
        return _TObj.TObj_SequenceOfObject_ChangeFirst(self)

    def Last(self) -> "opencascade::handle< TObj_Object > const &":
        return _TObj.TObj_SequenceOfObject_Last(self)

    def ChangeLast(self) -> "opencascade::handle< TObj_Object > &":
        return _TObj.TObj_SequenceOfObject_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "opencascade::handle< TObj_Object > const &":
        return _TObj.TObj_SequenceOfObject_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "opencascade::handle< TObj_Object > &":
        return _TObj.TObj_SequenceOfObject_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "opencascade::handle< TObj_Object > &":
        return _TObj.TObj_SequenceOfObject___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "opencascade::handle< TObj_Object > const &") -> "void":
        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)

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

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: "Standard_Size"):
        _TObj.TObj_TIntSparseArray_MapOfData_swiginit(self, _TObj.new_TObj_TIntSparseArray_MapOfData(theIncrement))

    def Assign(self, theOther: "TObj_TIntSparseArray_MapOfData") -> "NCollection_SparseArray< Standard_Integer > &":
        return _TObj.TObj_TIntSparseArray_MapOfData_Assign(self, theOther)

    def Exchange(self, theOther: "TObj_TIntSparseArray_MapOfData") -> "void":
        return _TObj.TObj_TIntSparseArray_MapOfData_Exchange(self, theOther)
    __swig_destroy__ = _TObj.delete_TObj_TIntSparseArray_MapOfData

    def Value(self, theIndex: "Standard_Size const") -> "int const &":
        return _TObj.TObj_TIntSparseArray_MapOfData_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Size const") -> "int &":
        return _TObj.TObj_TIntSparseArray_MapOfData_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "int &":
        return _TObj.TObj_TIntSparseArray_MapOfData___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Size const", theValue: "int const &") -> "int &":
        return _TObj.TObj_TIntSparseArray_MapOfData_SetValue(self, theIndex, theValue)

    def Extent(self) -> "Standard_Size":
        return _TObj.TObj_TIntSparseArray_MapOfData_Extent(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _TObj.TObj_TIntSparseArray_MapOfData_IsEmpty(self)

    def Find(self, theIndex: "Standard_Size const") -> "int const &":
        return _TObj.TObj_TIntSparseArray_MapOfData_Find(self, theIndex)

    def ChangeFind(self, theIndex: "Standard_Size const") -> "int &":
        return _TObj.TObj_TIntSparseArray_MapOfData_ChangeFind(self, theIndex)

    def Bind(self, theIndex: "Standard_Size const", theValue: "int const &") -> "int &":
        return _TObj.TObj_TIntSparseArray_MapOfData_Bind(self, theIndex, theValue)

    def IsBound(self, theIndex: "Standard_Size const") -> "Standard_Boolean":
        return _TObj.TObj_TIntSparseArray_MapOfData_IsBound(self, theIndex)

    def UnBind(self, theIndex: "Standard_Size const") -> "Standard_Boolean":
        return _TObj.TObj_TIntSparseArray_MapOfData_UnBind(self, theIndex)

# Register TObj_TIntSparseArray_MapOfData in _TObj:
_TObj.TObj_TIntSparseArray_MapOfData_swigregister(TObj_TIntSparseArray_MapOfData)

class TObj_TIntSparseArray_VecOfData(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: "Standard_Size"):
        _TObj.TObj_TIntSparseArray_VecOfData_swiginit(self, _TObj.new_TObj_TIntSparseArray_VecOfData(theIncrement))

    def Assign(self, theOther: "TObj_TIntSparseArray_MapOfData") -> "NCollection_SparseArray< Standard_Integer > &":
        return _TObj.TObj_TIntSparseArray_VecOfData_Assign(self, theOther)

    def Exchange(self, theOther: "TObj_TIntSparseArray_MapOfData") -> "void":
        return _TObj.TObj_TIntSparseArray_VecOfData_Exchange(self, theOther)
    __swig_destroy__ = _TObj.delete_TObj_TIntSparseArray_VecOfData

    def Value(self, theIndex: "Standard_Size const") -> "int const &":
        return _TObj.TObj_TIntSparseArray_VecOfData_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Size const") -> "int &":
        return _TObj.TObj_TIntSparseArray_VecOfData_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "int &":
        return _TObj.TObj_TIntSparseArray_VecOfData___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Size const", theValue: "int const &") -> "int &":
        return _TObj.TObj_TIntSparseArray_VecOfData_SetValue(self, theIndex, theValue)

    def Extent(self) -> "Standard_Size":
        return _TObj.TObj_TIntSparseArray_VecOfData_Extent(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _TObj.TObj_TIntSparseArray_VecOfData_IsEmpty(self)

    def Find(self, theIndex: "Standard_Size const") -> "int const &":
        return _TObj.TObj_TIntSparseArray_VecOfData_Find(self, theIndex)

    def ChangeFind(self, theIndex: "Standard_Size const") -> "int &":
        return _TObj.TObj_TIntSparseArray_VecOfData_ChangeFind(self, theIndex)

    def Bind(self, theIndex: "Standard_Size const", theValue: "int const &") -> "int &":
        return _TObj.TObj_TIntSparseArray_VecOfData_Bind(self, theIndex, theValue)

    def IsBound(self, theIndex: "Standard_Size const") -> "Standard_Boolean":
        return _TObj.TObj_TIntSparseArray_VecOfData_IsBound(self, theIndex)

    def UnBind(self, theIndex: "Standard_Size const") -> "Standard_Boolean":
        return _TObj.TObj_TIntSparseArray_VecOfData_UnBind(self, theIndex)

# Register TObj_TIntSparseArray_VecOfData in _TObj:
_TObj.TObj_TIntSparseArray_VecOfData_swigregister(TObj_TIntSparseArray_VecOfData)

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) -> "Standard_Boolean":
        r"""
        Create the ocaf document from scratch.

        Parameters
        ----------
        theDoc: TDocStd_Document
        theFormat: TCollection_ExtendedString

        Returns
        -------
        bool

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(TObj_Application self, int depth=-1) -> std::string"""
        return _TObj.TObj_Application_DumpJsonToString(self, depth)

    def ErrorMessage(self, *args) -> "void":
        r"""
        Signal error during load or save default imiplementation is empty.

        Parameters
        ----------
        theMsg: TCollection_ExtendedString
        theLevel: Message_Gravity

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

        Parameters
        ----------
        theMsg: TCollection_ExtendedString

        Returns
        -------
        None

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

    @staticmethod
    def GetInstance(*args) -> "opencascade::handle< TObj_Application >":
        r"""
        Returns static instance of the application.

        Returns
        -------
        opencascade::handle<TObj_Application>

        """
        return _TObj.TObj_Application_GetInstance(*args)

    def IsVerbose(self, *args) -> "Standard_Boolean":
        r"""
        Returns the verbose flag.

        Returns
        -------
        bool

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

    def LoadDocument(self, *args) -> "Standard_Boolean":
        r"""
        Loading the ocaf document from a file.

        Parameters
        ----------
        theSourceFile: TCollection_ExtendedString
        theTargetDoc: TDocStd_Document

        Returns
        -------
        bool

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

    def Messenger(self, *args) -> "opencascade::handle< Message_Messenger > &":
        r"""
        Returns reference to associated messenger handle.

        Returns
        -------
        opencascade::handle<Message_Messenger>

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

    def SaveDocument(self, *args) -> "Standard_Boolean":
        r"""
        Saving the ocaf document to a file.

        Parameters
        ----------
        theSourceDoc: TDocStd_Document
        theTargetFile: TCollection_ExtendedString

        Returns
        -------
        bool

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

    def SetVerbose(self, *args) -> "void":
        r"""
        Sets the verbose flag, meaning that load/save models should show cpu and elapsed times.

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

        Returns
        -------
        None

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

def TObj_Application_GetInstance(*args) -> "opencascade::handle< TObj_Application >":
    r"""
    Returns static instance of the application.

    Returns
    -------
    opencascade::handle<TObj_Application>

    """
    return _TObj.TObj_Application_GetInstance(*args)

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) -> "void":
        r"""
        Binds model to the map.

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

        Returns
        -------
        None

        """
        return _TObj.TObj_Assistant_BindModel(*args)

    @staticmethod
    def BindType(*args) -> "Standard_Integer":
        r"""
        Binds standard_type to the map; returns index of bound type.

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

        Returns
        -------
        int

        """
        return _TObj.TObj_Assistant_BindType(*args)

    @staticmethod
    def ClearModelMap(*args) -> "void":
        r"""
        Clears all records from the model map.

        Returns
        -------
        None

        """
        return _TObj.TObj_Assistant_ClearModelMap(*args)

    @staticmethod
    def ClearTypeMap(*args) -> "void":
        r"""
        Clears map of types.

        Returns
        -------
        None

        """
        return _TObj.TObj_Assistant_ClearTypeMap(*args)

    @staticmethod
    def FindModel(*args) -> "opencascade::handle< TObj_Model >":
        r"""
        Finds model by name.

        Parameters
        ----------
        theName: char *

        Returns
        -------
        opencascade::handle<TObj_Model>

        """
        return _TObj.TObj_Assistant_FindModel(*args)

    @staticmethod
    def FindType(*args) -> "opencascade::handle< Standard_Type >":
        r"""
        Finds standard_type by index; returns null handle if not found.

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

        Returns
        -------
        opencascade::handle<Standard_Type>

        """
        return _TObj.TObj_Assistant_FindType(*args)

    @staticmethod
    def FindTypeIndex(*args) -> "Standard_Integer":
        r"""
        Rinds index by standard_type; returns 0 if not found.

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

        Returns
        -------
        int

        """
        return _TObj.TObj_Assistant_FindTypeIndex(*args)

    @staticmethod
    def GetAppVersion(*args) -> "Standard_Integer":
        r"""
        Returns the version of application which wrote the currently read document. returns 0 if it has not been set yet for the current document.

        Returns
        -------
        int

        """
        return _TObj.TObj_Assistant_GetAppVersion(*args)

    @staticmethod
    def GetCurrentModel(*args) -> "opencascade::handle< TObj_Model >":
        r"""
        Returns current model.

        Returns
        -------
        opencascade::handle<TObj_Model>

        """
        return _TObj.TObj_Assistant_GetCurrentModel(*args)

    @staticmethod
    def SetCurrentModel(*args) -> "void":
        r"""
        Sets current model.

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

        Returns
        -------
        None

        """
        return _TObj.TObj_Assistant_SetCurrentModel(*args)

    @staticmethod
    def UnSetCurrentModel(*args) -> "void":
        r"""
        Unsets current model.

        Returns
        -------
        None

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

def TObj_Assistant_BindModel(*args) -> "void":
    r"""
    Binds model to the map.

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

    Returns
    -------
    None

    """
    return _TObj.TObj_Assistant_BindModel(*args)

def TObj_Assistant_BindType(*args) -> "Standard_Integer":
    r"""
    Binds standard_type to the map; returns index of bound type.

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

    Returns
    -------
    int

    """
    return _TObj.TObj_Assistant_BindType(*args)

def TObj_Assistant_ClearModelMap(*args) -> "void":
    r"""
    Clears all records from the model map.

    Returns
    -------
    None

    """
    return _TObj.TObj_Assistant_ClearModelMap(*args)

def TObj_Assistant_ClearTypeMap(*args) -> "void":
    r"""
    Clears map of types.

    Returns
    -------
    None

    """
    return _TObj.TObj_Assistant_ClearTypeMap(*args)

def TObj_Assistant_FindModel(*args) -> "opencascade::handle< TObj_Model >":
    r"""
    Finds model by name.

    Parameters
    ----------
    theName: char *

    Returns
    -------
    opencascade::handle<TObj_Model>

    """
    return _TObj.TObj_Assistant_FindModel(*args)

def TObj_Assistant_FindType(*args) -> "opencascade::handle< Standard_Type >":
    r"""
    Finds standard_type by index; returns null handle if not found.

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

    Returns
    -------
    opencascade::handle<Standard_Type>

    """
    return _TObj.TObj_Assistant_FindType(*args)

def TObj_Assistant_FindTypeIndex(*args) -> "Standard_Integer":
    r"""
    Rinds index by standard_type; returns 0 if not found.

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

    Returns
    -------
    int

    """
    return _TObj.TObj_Assistant_FindTypeIndex(*args)

def TObj_Assistant_GetAppVersion(*args) -> "Standard_Integer":
    r"""
    Returns the version of application which wrote the currently read document. returns 0 if it has not been set yet for the current document.

    Returns
    -------
    int

    """
    return _TObj.TObj_Assistant_GetAppVersion(*args)

def TObj_Assistant_GetCurrentModel(*args) -> "opencascade::handle< TObj_Model >":
    r"""
    Returns current model.

    Returns
    -------
    opencascade::handle<TObj_Model>

    """
    return _TObj.TObj_Assistant_GetCurrentModel(*args)

def TObj_Assistant_SetCurrentModel(*args) -> "void":
    r"""
    Sets current model.

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

    Returns
    -------
    None

    """
    return _TObj.TObj_Assistant_SetCurrentModel(*args)

def TObj_Assistant_UnSetCurrentModel(*args) -> "void":
    r"""
    Unsets current model.

    Returns
    -------
    None

    """
    return _TObj.TObj_Assistant_UnSetCurrentModel(*args)

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"""
        Initialize checker by model.

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

        Returns
        -------
        None

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

    def GetModel(self, *args) -> "opencascade::handle< TObj_Model > const &":
        r"""
        Returns the checked model.

        Returns
        -------
        opencascade::handle<TObj_Model>

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

    def IsToFix(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if it is allowed to fix inconsistencies.

        Returns
        -------
        bool

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

    def Perform(self, *args) -> "Standard_Boolean":
        r"""
        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.

        Returns
        -------
        bool

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

    def SetToFix(self, *args) -> "void":
        r"""
        Sets flag allowing fixing inconsistencies.

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

        Returns
        -------
        None

        """
        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) -> "void":
        r"""
        Abort the command transaction. do nothing if there is no command transaction open.

        Returns
        -------
        None

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

    def Close(self, *args) -> "Standard_Boolean":
        r"""
        Close the model.

        Returns
        -------
        bool

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

    def CloseDocument(self, *args) -> "void":
        r"""
        Close free ocaf document.

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

        Returns
        -------
        None

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

    def CommitCommand(self, *args) -> "void":
        r"""
        Commit the command transaction. do nothing if there is no command transaction open.

        Returns
        -------
        None

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

    def CopyReferences(self, *args) -> "void":
        r"""
        Copy references from me to the other.

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

        Returns
        -------
        None

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

    def FindObject(self, *args) -> "opencascade::handle< TObj_Object >":
        r"""
        Returns an object by given name (or null if not found).

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

        Returns
        -------
        opencascade::handle<TObj_Object>

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

    def GetApplication(self, *args) -> "opencascade::handle< TObj_Application > const":
        r"""
        Returns handle to static instance of the relevant application class.

        Returns
        -------
        opencascade::handle<TObj_Application>

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

    def GetChecker(self, *args) -> "opencascade::handle< TObj_CheckModel >":
        r"""
        Returns the tool checking model consistency. descendant may redefine it to return its own tool.

        Returns
        -------
        opencascade::handle<TObj_CheckModel>

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

    def GetChildren(self, *args) -> "opencascade::handle< TObj_ObjectIterator >":
        r"""
        Returns an iterator on objects in the main partition.

        Returns
        -------
        opencascade::handle<TObj_ObjectIterator>

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

    def GetDictionary(self, *args) -> "opencascade::handle< TObj_TNameContainer >":
        r"""
        Returns the map of names of the objects.

        Returns
        -------
        opencascade::handle<TObj_TNameContainer>

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

    def GetDocument(self, *args) -> "opencascade::handle< TDocStd_Document >":
        r"""
        Returns ocaf document of model.

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

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

    @staticmethod
    def GetDocumentModel(*args) -> "opencascade::handle< TObj_Model >":
        r"""
        Returns model which contains a document with the label, or null handle if label is null.

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

        Returns
        -------
        opencascade::handle<TObj_Model>

        """
        return _TObj.TObj_Model_GetDocumentModel(*args)

    def GetFile(self, *args) -> "opencascade::handle< TCollection_HExtendedString >":
        r"""
        Returns the full file name this model is to be saved to, or null if the model was not saved yet.

        Returns
        -------
        opencascade::handle<TCollection_HExtendedString>

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

    def GetFormat(self, *args) -> "TCollection_ExtendedString":
        r"""
        Returns the format for save/restore. this implementation returns 'binocaf'. the method should be redefined for those models that should use another format.

        Returns
        -------
        TCollection_ExtendedString

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

    def GetFormatVersion(self, *args) -> "Standard_Integer":
        r"""
        Returns the version of format stored in tobj file.

        Returns
        -------
        int

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

    def GetGUID(self, *args) -> "Standard_GUID":
        r"""
        Defines interface guid for tobj_model.

        Returns
        -------
        Standard_GUID

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

    def GetLabel(self, *args) -> "TDF_Label":
        r"""
        Returns ocaf label on which model data are stored.

        Returns
        -------
        TDF_Label

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

    def GetMainPartition(self, *args) -> "opencascade::handle< TObj_Partition >":
        r"""
        Returns root object of model.

        Returns
        -------
        opencascade::handle<TObj_Partition>

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

    def GetModelName(self, *args) -> "opencascade::handle< TCollection_HExtendedString >":
        r"""
        Returns the name of the model.

        Returns
        -------
        opencascade::handle<TCollection_HExtendedString>

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

    def GetObjects(self, *args) -> "opencascade::handle< TObj_ObjectIterator >":
        r"""
        Returns an iterator on all objects in the model.

        Returns
        -------
        opencascade::handle<TObj_ObjectIterator>

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

    def GetRoot(self, *args) -> "opencascade::handle< TObj_Object >":
        r"""
        Returns root object of model.

        Returns
        -------
        opencascade::handle<TObj_Object>

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

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

        Returns
        -------
        bool

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

    def IsModified(self, *args) -> "Standard_Boolean":
        r"""
        Modification status.

        Returns
        -------
        bool

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

    def IsRegisteredName(self, *args) -> "Standard_Boolean":
        r"""
        Returns true is name is registered in the names map the input argument may be null handle, then model check in own global container.

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

        Returns
        -------
        bool

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

    def Load(self, *args) -> "Standard_Boolean":
        r"""
        Load the ocaf model from a file. if the filename is empty or file does not exists, it just initializes model by empty data.

        Parameters
        ----------
        theFile: TCollection_ExtendedString

        Returns
        -------
        bool

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

    def Messenger(self, *args) -> "opencascade::handle< Message_Messenger >":
        r"""
        Get messenger used for messages output (by default, the messenger from application is used).

        Returns
        -------
        opencascade::handle<Message_Messenger>

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

    def NewEmpty(self, *args) -> "opencascade::handle< TObj_Model >":
        r"""
        This function have to create a new model with type like me.

        Returns
        -------
        opencascade::handle<TObj_Model>

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

    def OpenCommand(self, *args) -> "void":
        r"""
        Open a new command transaction.

        Returns
        -------
        None

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

    def Paste(self, *args) -> "Standard_Boolean":
        r"""
        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.

        Parameters
        ----------
        theModel: TObj_Model
        theRelocTable: TDF_RelocationTable,optional
        	default value is 0

        Returns
        -------
        bool

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

    def RegisterName(self, *args) -> "void":
        r"""
        Register name in the map the input argument may be null handle, then model check in own global container.

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

        Returns
        -------
        None

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

    def Save(self, *args) -> "Standard_Boolean":
        r"""
        Save the model to the same file.

        Returns
        -------
        bool

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

    def SaveAs(self, *args) -> "Standard_Boolean":
        r"""
        Save the model to a file.

        Parameters
        ----------
        theFile: TCollection_ExtendedString

        Returns
        -------
        bool

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

    def SetLabel(self, *args) -> "void":
        r"""
        Sets ocaf label on which model data are stored. used by persistence mechanism.

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

        Returns
        -------
        None

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

    def SetMessenger(self, *args) -> "void":
        r"""
        Set messenger to use for messages output.

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

        Returns
        -------
        None

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

    def SetModified(self, *args) -> "void":
        r"""
        Sets modification status.

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

        Returns
        -------
        None

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

    @staticmethod
    def SetNewName(*args) -> "void":
        r"""
        Sets new unique name for the object.

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

        Returns
        -------
        None

        """
        return _TObj.TObj_Model_SetNewName(*args)

    def UnRegisterName(self, *args) -> "void":
        r"""
        Unregisters name from the map the input argument may be null handle, then model check in own global container.

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

        Returns
        -------
        None

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

    def Update(self, *args) -> "Standard_Boolean":
        r"""
        This method is called before activating this model.

        Returns
        -------
        bool

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

def TObj_Model_GetDocumentModel(*args) -> "opencascade::handle< TObj_Model >":
    r"""
    Returns model which contains a document with the label, or null handle if label is null.

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

    Returns
    -------
    opencascade::handle<TObj_Model>

    """
    return _TObj.TObj_Model_GetDocumentModel(*args)

def TObj_Model_SetNewName(*args) -> "void":
    r"""
    Sets new unique name for the object.

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

    Returns
    -------
    None

    """
    return _TObj.TObj_Model_SetNewName(*args)

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
    Visible = _TObj.TObj_Object_Visible
    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


    class TypeFlags(IntEnum):
    	Visible = 1
    Visible = TypeFlags.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


    def AddBackReference(self, *args) -> "void":
        r"""
        Registers another object as being dependent on this one. stores back references under sublabel 2 (purely transient data, not subject to persistency).

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

        Returns
        -------
        None

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

    def AfterRetrieval(self, *args) -> "void":
        r"""
        Preforms updating the links and dependances of the object which are not stored in persistence. should be redefined if necessary.

        Returns
        -------
        None

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

    def BeforeForgetReference(self, *args) -> "void":
        r"""
        Invokes from tobj_treference::beforeforget(). thelabel - label on that reference become removed default implementation is empty.

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

        Returns
        -------
        None

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

    def BeforeStoring(self, *args) -> "void":
        r"""
        Preforms storing the objects transient fields in ocaf document which were outside transaction mechanism. default implementation doesnot nothing.

        Returns
        -------
        None

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

    def CanDetach(self, *args) -> "Standard_Boolean":
        r"""
        Checks if object can be detached with specified mode.

        Parameters
        ----------
        theMode: TObj_DeletingMode,optional
        	default value is TObj_FreeOnly

        Returns
        -------
        bool

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

    def CanRemoveReference(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the referred object theobject can be deleted without deletion of this object. default implementation does nothing and returns false.

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

        Returns
        -------
        bool

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

    def ClearBackReferences(self, *args) -> "void":
        r"""
        The default implementation just clear the back references container.

        Returns
        -------
        None

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

    def ClearFlags(self, *args) -> "void":
        r"""
        Clears flags by the mask.

        Parameters
        ----------
        theMask: int,optional
        	default value is ~0

        Returns
        -------
        None

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

    def Clone(self, *args) -> "opencascade::handle< TObj_Object >":
        r"""
        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 clonning all objects it is neccessary to call copy references with the same relocation table.

        Parameters
        ----------
        theTargetLabel: TDF_Label
        theRelocTable: TDF_RelocationTable,optional
        	default value is 0

        Returns
        -------
        opencascade::handle<TObj_Object>

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

    def CopyChildren(self, *args) -> "void":
        r"""
        Coping the children from source label to the target.

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

        Returns
        -------
        None

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

    def CopyReferences(self, *args) -> "void":
        r"""
        Coping the references. return standard_false is target object is different type.

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

        Returns
        -------
        None

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

    @staticmethod
    def Detach(*args) -> "Standard_Boolean":
        r"""
        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
        ----------
        theMode: TObj_DeletingMode,optional
        	default value is TObj_FreeOnly

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

        Parameters
        ----------
        theLabel: TDF_Label
        theMode: TObj_DeletingMode,optional
        	default value is TObj_FreeOnly

        Returns
        -------
        bool

        """
        return _TObj.TObj_Object_Detach(*args)

    def GetBackReferences(self, *args) -> "opencascade::handle< TObj_ObjectIterator >":
        r"""
        Returns iterator for the objects which depend on this one. these reffering objects may belong to other models. thetype narrows a variety of iterated objects.

        Parameters
        ----------
        theType: Standard_Type,optional
        	default value is NULL

        Returns
        -------
        opencascade::handle<TObj_ObjectIterator>

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

    def GetBadReference(self, *args) -> "Standard_Boolean":
        r"""
        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.

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

        Returns
        -------
        bool

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

    def GetChildLabel(self, *args) -> "TDF_Label":
        r"""
        Returns the label under which children are stored.

        Returns
        -------
        TDF_Label

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

    def GetChildren(self, *args) -> "opencascade::handle< TObj_ObjectIterator >":
        r"""
        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.

        Parameters
        ----------
        theType: Standard_Type,optional
        	default value is NULL

        Returns
        -------
        opencascade::handle<TObj_ObjectIterator>

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

    def GetDataLabel(self, *args) -> "TDF_Label":
        r"""
        Returns the label which is the root for data ocaf sub-tree.

        Returns
        -------
        TDF_Label

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

    def GetDictionary(self, *args) -> "opencascade::handle< TObj_TNameContainer >":
        r"""
        Returns the map of names of the objects default implementation returns global dictionary of the model.

        Returns
        -------
        opencascade::handle<TObj_TNameContainer>

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

    def GetFatherObject(self, *args) -> "opencascade::handle< TObj_Object >":
        r"""
        Returns the father object, which may be null thetype gives type of father object to search.

        Parameters
        ----------
        theType: Standard_Type,optional
        	default value is NULL

        Returns
        -------
        opencascade::handle<TObj_Object>

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

    def GetFlags(self, *args) -> "Standard_Integer":
        r"""
        Returns mask of seted flags.

        Returns
        -------
        int

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

    def GetLabel(self, *args) -> "TDF_Label":
        r"""
        Returns the ocaf label on which object`s data are stored.

        Returns
        -------
        TDF_Label

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

    def GetModel(self, *args) -> "opencascade::handle< TObj_Model >":
        r"""
        Returns the model to which the object belongs.

        Returns
        -------
        opencascade::handle<TObj_Model>

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

    def GetName(self, *args) -> "Standard_Boolean":
        r"""
        Returns the name of the object (empty string if object has no name).

        Returns
        -------
        opencascade::handle<TCollection_HExtendedString>
        Returns the standard_true is object has name and returns name to thename.

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

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

        Parameters
        ----------
        theName: TCollection_AsciiString

        Returns
        -------
        bool

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

    def GetNameForClone(self, *args) -> "opencascade::handle< TCollection_HExtendedString >":
        r"""
        Returns name for copy default implementation returns the same name.

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

        Returns
        -------
        opencascade::handle<TCollection_HExtendedString>

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

    @staticmethod
    def GetObj(*args) -> "Standard_Boolean":
        r"""
        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.

        Parameters
        ----------
        theLabel: TDF_Label
        theResult: TObj_Object
        isSuper: bool,optional
        	default value is Standard_False

        Returns
        -------
        bool

        """
        return _TObj.TObj_Object_GetObj(*args)

    def GetOrder(self, *args) -> "Standard_Integer":
        r"""
        Returns order of object (or tag of their label if order is not initialised).

        Returns
        -------
        int

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

    def GetReferenceLabel(self, *args) -> "TDF_Label":
        r"""
        Returns the label which is the root for reference ocaf sub-tree.

        Returns
        -------
        TDF_Label

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

    def GetReferences(self, *args) -> "opencascade::handle< TObj_ObjectIterator >":
        r"""
        Returns an iterator containing objects that compose the this one thetype narrows a variety of iterated objects.

        Parameters
        ----------
        theType: Standard_Type,optional
        	default value is NULL

        Returns
        -------
        opencascade::handle<TObj_ObjectIterator>

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

    def GetTypeFlags(self, *args) -> "Standard_Integer":
        r"""
        Returns flags (bitmask) that define properties of objects of that type by default returns flag visible.

        Returns
        -------
        int

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

    def HasBackReferences(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if obejct has 1 or more back references.

        Returns
        -------
        bool

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

    def HasModifications(self, *args) -> "Standard_Boolean":
        r"""
        /** * 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.

        Returns
        -------
        bool

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

    def HasReference(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if object has reference to indicated object.

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

        Returns
        -------
        bool

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

    def IsAlive(self, *args) -> "Standard_Boolean":
        r"""
        Checks that object alive in model default implementation checks that object has tobject attribute at own label.

        Returns
        -------
        bool

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

    def RelocateReferences(self, *args) -> "Standard_Boolean":
        r"""
        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.

        Parameters
        ----------
        theFromRoot: TDF_Label
        theToRoot: TDF_Label
        theUpdateBackRefs: bool,optional
        	default value is Standard_True

        Returns
        -------
        bool

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

    def RemoveAllReferences(self, *args) -> "void":
        r"""
        Remove all references to other objects, by removing all reference attributes.

        Returns
        -------
        None

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

    def RemoveBackReference(self, *args) -> "void":
        r"""
        Removes information on dependent object (back reference). if thesingleonly is true only the first back reference is removed in the case of duplicate items.

        Parameters
        ----------
        theObject: TObj_Object
        theSingleOnly: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

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

    def RemoveBackReferences(self, *args) -> "Standard_Boolean":
        r"""
        Removes all back reference by removing references from other to me.

        Parameters
        ----------
        theMode: TObj_DeletingMode,optional
        	default value is TObj_FreeOnly

        Returns
        -------
        bool

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

    def RemoveReference(self, *args) -> "void":
        r"""
        Removes reference to the object by replace reference to null object.

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

        Returns
        -------
        None

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

    def ReplaceReference(self, *args) -> "void":
        r"""
        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.

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

        Returns
        -------
        None

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

    def SetFlags(self, *args) -> "void":
        r"""
        Sets flags with defined mask.

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

        Returns
        -------
        None

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

    def SetName(self, *args) -> "Standard_Boolean":
        r"""
        Sets name of the object. returns false if thename is not unique.

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

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

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

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

        Parameters
        ----------
        name: char *

        Returns
        -------
        bool

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

    def SetOrder(self, *args) -> "Standard_Boolean":
        r"""
        Sets order of object.

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

        Returns
        -------
        bool

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

    def TestFlags(self, *args) -> "Standard_Boolean":
        r"""
        Tests flags by the mask.

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

        Returns
        -------
        bool

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

    def getChildLabel(self, *args) -> "TDF_Label":
        r"""
        Returns the label for child with rank.

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

        Returns
        -------
        TDF_Label

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

def TObj_Object_Detach(*args) -> "Standard_Boolean":
    r"""
    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
    ----------
    theMode: TObj_DeletingMode,optional
    	default value is TObj_FreeOnly

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

    Parameters
    ----------
    theLabel: TDF_Label
    theMode: TObj_DeletingMode,optional
    	default value is TObj_FreeOnly

    Returns
    -------
    bool

    """
    return _TObj.TObj_Object_Detach(*args)

def TObj_Object_GetObj(*args) -> "Standard_Boolean":
    r"""
    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.

    Parameters
    ----------
    theLabel: TDF_Label
    theResult: TObj_Object
    isSuper: bool,optional
    	default value is Standard_False

    Returns
    -------
    bool

    """
    return _TObj.TObj_Object_GetObj(*args)

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) -> "Standard_Boolean":
        r"""
        Returns true if iteration is not finished and method current() will give the object. default implementation returns false.

        Returns
        -------
        bool

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

    def Next(self, *args) -> "void":
        r"""
        Iterates to the next object default implementation does nothing.

        Returns
        -------
        None

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

    def Value(self, *args) -> "opencascade::handle< TObj_Object >":
        r"""
        Returns current object (or null if iteration has finished) default implementation returns null handle.

        Returns
        -------
        opencascade::handle<TObj_Object>

        """
        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) -> "opencascade::handle< TObj_Object >":
        r"""
        Creates and returns a new object of the registered type if the type is not registered, returns null handle.

        Parameters
        ----------
        theType: char *
        theLabel: TDF_Label

        Returns
        -------
        opencascade::handle<TObj_Object>

        """
        return _TObj.TObj_Persistence_CreateNewObject(*args)

    def DumpTypesToString(self) -> "std::string":
        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)

def TObj_Persistence_CreateNewObject(*args) -> "opencascade::handle< TObj_Object >":
    r"""
    Creates and returns a new object of the registered type if the type is not registered, returns null handle.

    Parameters
    ----------
    theType: char *
    theLabel: TDF_Label

    Returns
    -------
    opencascade::handle<TObj_Object>

    """
    return _TObj.TObj_Persistence_CreateNewObject(*args)

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"""
        Empty constructor.

        Returns
        -------
        None

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

    def Clear(self, *args) -> "void":
        r"""
        Clears the set.

        Returns
        -------
        None

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

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

        Returns
        -------
        None

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        This method is used in implementation of id().

        Returns
        -------
        Standard_GUID

        """
        return _TObj.TObj_TIntSparseArray_GetID(*args)

    def GetIterator(self, *args) -> "TObj_TIntSparseArray::Iterator":
        r"""
        Returns iterator on objects contained in the set.

        Returns
        -------
        Iterator

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

    def HasValue(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the value with the given id is present.

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

        Returns
        -------
        bool

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

    @staticmethod
    def Set(*args) -> "opencascade::handle< TObj_TIntSparseArray >":
        r"""
        Creates tobj_tintsparsearray attribute on given label.

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

        Returns
        -------
        opencascade::handle<TObj_TIntSparseArray>

        """
        return _TObj.TObj_TIntSparseArray_Set(*args)

    def SetDoBackup(self, *args) -> "void":
        r"""
        Sets the flag pointing to the necessity to maintain a modification delta. it is called by the retrieval driver.

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

        Returns
        -------
        None

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

    def SetValue(self, *args) -> "void":
        r"""
        Sets the value with the given id. raises an exception if theid is not positive.

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

        Returns
        -------
        None

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

    def Size(self, *args) -> "Standard_Size":
        r"""
        Returns the number of stored values in the set.

        Returns
        -------
        Standard_Size

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

    def UnsetValue(self, *args) -> "void":
        r"""
        Unsets the value with the given id. raises an exception if theid is not positive.

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

        Returns
        -------
        None

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

    def Value(self, *args) -> "Standard_Integer":
        r"""
        Returns the value by its id. raises an exception if no value is stored with this id.

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

        Returns
        -------
        int

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

def TObj_TIntSparseArray_GetID(*args) -> "Standard_GUID const &":
    r"""
    This method is used in implementation of id().

    Returns
    -------
    Standard_GUID

    """
    return _TObj.TObj_TIntSparseArray_GetID(*args)

def TObj_TIntSparseArray_Set(*args) -> "opencascade::handle< TObj_TIntSparseArray >":
    r"""
    Creates tobj_tintsparsearray attribute on given label.

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

    Returns
    -------
    opencascade::handle<TObj_TIntSparseArray>

    """
    return _TObj.TObj_TIntSparseArray_Set(*args)

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"""
        Empty constructor.

        Returns
        -------
        None

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        This method is used in implementation of id().

        Returns
        -------
        Standard_GUID

        """
        return _TObj.TObj_TModel_GetID(*args)

    def Model(self, *args) -> "opencascade::handle< TObj_Model >":
        r"""
        Returns the model object.

        Returns
        -------
        opencascade::handle<TObj_Model>

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

    def Set(self, *args) -> "void":
        r"""
        Sets the the model object.

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

        Returns
        -------
        None

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

def TObj_TModel_GetID(*args) -> "Standard_GUID const &":
    r"""
    This method is used in implementation of id().

    Returns
    -------
    Standard_GUID

    """
    return _TObj.TObj_TModel_GetID(*args)

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"""
        Empty constructor.

        Returns
        -------
        None

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

    def Clear(self, *args) -> "void":
        r"""
        Remove all names registered in container.

        Returns
        -------
        None

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

    def Get(self, *args) -> "TObj_DataMapOfNameLabel const &":
        r"""
        Returns the tobj_datamapofnamelabel object.

        Returns
        -------
        TObj_DataMapOfNameLabel

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        This method is used in implementation of id().

        Returns
        -------
        Standard_GUID

        """
        return _TObj.TObj_TNameContainer_GetID(*args)

    def IsRegistered(self, *args) -> "Standard_Boolean":
        r"""
        Return true is thename is registered in the map.

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

        Returns
        -------
        bool

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

    def RecordName(self, *args) -> "void":
        r"""
        Records name with label attached.

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

        Returns
        -------
        None

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

    def RemoveName(self, *args) -> "void":
        r"""
        Remove name from the map.

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

        Returns
        -------
        None

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

    def Set(self, *args) -> "void":
        r"""
        Creates tobj_datamapofnamelabel attribute on given label if not exist.

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

        Returns
        -------
        opencascade::handle<TObj_TNameContainer>
        Sets the tobj_datamapofnamelabel object.

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

        Returns
        -------
        None

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

def TObj_TNameContainer_GetID(*args) -> "Standard_GUID const &":
    r"""
    This method is used in implementation of id().

    Returns
    -------
    Standard_GUID

    """
    return _TObj.TObj_TNameContainer_GetID(*args)

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"""
        Empty constructor.

        Returns
        -------
        None

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

    def Get(self, *args) -> "opencascade::handle< TObj_Object >":
        r"""
        Returns the tobj_object object.

        Returns
        -------
        opencascade::handle<TObj_Object>

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        This method is used in implementation of id().

        Returns
        -------
        Standard_GUID

        """
        return _TObj.TObj_TObject_GetID(*args)

    def Set(self, *args) -> "void":
        r"""
        Creates tobj_tobject attribute on given label.

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

        Returns
        -------
        opencascade::handle<TObj_TObject>
        Sets the tobj_object object.

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

        Returns
        -------
        None

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

def TObj_TObject_GetID(*args) -> "Standard_GUID const &":
    r"""
    This method is used in implementation of id().

    Returns
    -------
    Standard_GUID

    """
    return _TObj.TObj_TObject_GetID(*args)

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"""
        Empty constructor.

        Returns
        -------
        None

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

    def Get(self, *args) -> "opencascade::handle< TObj_Object >":
        r"""
        Returns the referenced theobject.

        Returns
        -------
        opencascade::handle<TObj_Object>

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        This method is used in implementation of id().

        Returns
        -------
        Standard_GUID

        """
        return _TObj.TObj_TReference_GetID(*args)

    def GetLabel(self, *args) -> "TDF_Label":
        r"""
        Returns the referred label.

        Returns
        -------
        TDF_Label

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

    def GetMasterLabel(self, *args) -> "TDF_Label":
        r"""
        Returns the label of master object.

        Returns
        -------
        TDF_Label

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

    def Set(self, *args) -> "void":
        r"""
        Creates reference on tdf_label <thelabel> to the object <theobject> and creates backreference from the object <theobject> to <themaster> one.

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

        Returns
        -------
        opencascade::handle<TObj_TReference>
        Sets the reference to the theobject.

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

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

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

        Returns
        -------
        None

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

def TObj_TReference_GetID(*args) -> "Standard_GUID const &":
    r"""
    This method is used in implementation of id().

    Returns
    -------
    Standard_GUID

    """
    return _TObj.TObj_TReference_GetID(*args)

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"""
        Empty constructor.

        Returns
        -------
        None

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

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

    def Get(self, *args) -> "gp_XYZ":
        r"""
        Returns the xyz.

        Returns
        -------
        gp_XYZ

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        This method is used in implementation of id().

        Returns
        -------
        Standard_GUID

        """
        return _TObj.TObj_TXYZ_GetID(*args)

    def Set(self, *args) -> "void":
        r"""
        Creates attribute and sets the xyz.

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

        Returns
        -------
        opencascade::handle<TObj_TXYZ>
        Sets the xyz.

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

        Returns
        -------
        None

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

def TObj_TXYZ_GetID(*args) -> "Standard_GUID const &":
    r"""
    This method is used in implementation of id().

    Returns
    -------
    Standard_GUID

    """
    return _TObj.TObj_TXYZ_GetID(*args)

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) -> "TDF_Label const &":
        r"""
        Returns the label of the current item.

        Returns
        -------
        TDF_Label

        """
        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"""
        /** * constructor */ creates iterator and initialize it by model`s label.

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

        Returns
        -------
        None

        """
        _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) -> "opencascade::handle< TObj_Partition >":
        r"""
        Creates a new partition on given label.

        Parameters
        ----------
        theLabel: TDF_Label
        theSetName: bool,optional
        	default value is Standard_True

        Returns
        -------
        opencascade::handle<TObj_Partition>

        """
        return _TObj.TObj_Partition_Create(*args)

    def GetLastIndex(self, *args) -> "Standard_Integer":
        r"""
        Return last index in partition (reserved);.

        Returns
        -------
        int

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

    def GetNamePrefix(self, *args) -> "opencascade::handle< TCollection_HExtendedString >":
        r"""
        Returns prefix for names of the objects in partition.

        Returns
        -------
        opencascade::handle<TCollection_HExtendedString>

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

    def GetNewName(self, *args) -> "opencascade::handle< TCollection_HExtendedString >":
        r"""
        Generates and returns name for new object in partition. if theistochangecount is true partition icrease own counter to generate new name next time starting from new counter value.

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

        Returns
        -------
        opencascade::handle<TCollection_HExtendedString>

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

    @staticmethod
    def GetPartition(*args) -> "opencascade::handle< TObj_Partition >":
        r"""
        Returns the partition in which object is stored. null partition returned if not found.

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

        Returns
        -------
        opencascade::handle<TObj_Partition>

        """
        return _TObj.TObj_Partition_GetPartition(*args)

    def NewLabel(self, *args) -> "TDF_Label":
        r"""
        Creates and returns label for new object in partition.

        Returns
        -------
        TDF_Label

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

    def SetLastIndex(self, *args) -> "void":
        r"""
        Sets last index in partition (reserved);.

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

        Returns
        -------
        None

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

    def SetNamePrefix(self, *args) -> "void":
        r"""
        Sets prefix for names of the objects in partition.

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

        Returns
        -------
        None

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

    def Update(self, *args) -> "Standard_Boolean":
        r"""
        Does nothing in the partition.

        Returns
        -------
        bool

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

def TObj_Partition_Create(*args) -> "opencascade::handle< TObj_Partition >":
    r"""
    Creates a new partition on given label.

    Parameters
    ----------
    theLabel: TDF_Label
    theSetName: bool,optional
    	default value is Standard_True

    Returns
    -------
    opencascade::handle<TObj_Partition>

    """
    return _TObj.TObj_Partition_Create(*args)

def TObj_Partition_GetPartition(*args) -> "opencascade::handle< TObj_Partition >":
    r"""
    Returns the partition in which object is stored. null partition returned if not found.

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

    Returns
    -------
    opencascade::handle<TObj_Partition>

    """
    return _TObj.TObj_Partition_GetPartition(*args)

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"""
        Creates an iterator an initialize it by sequence of objects.

        Parameters
        ----------
        theObjects: TObj_HSequenceOfObject
        theType: Standard_Type,optional
        	default value is NULL

        Returns
        -------
        None

        """
        _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"""
        Constructor.

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

        Returns
        -------
        None

        """
        _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"""
        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.

        Parameters
        ----------
        theLabel: TDF_Label
        theType: Standard_Type,optional
        	default value is NULL
        theRecursive: bool,optional
        	default value is Standard_False
        theAllSubChildren: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _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"""
        Creates the iterator on references in partition thetype narrows a variety of iterated objects.

        Parameters
        ----------
        theLabel: TDF_Label
        theType: Standard_Type,optional
        	default value is NULL
        theRecursive: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        _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) -> "TObj_SequenceOfObject const &":
        return _TObj.TObj_HSequenceOfObject_Sequence(self)

    def Append(self, *args) -> "void":
        return _TObj.TObj_HSequenceOfObject_Append(self, *args)

    def ChangeSequence(self) -> "TObj_SequenceOfObject &":
        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)





