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

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

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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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


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


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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.TDF
import OCC.Core.TCollection
import OCC.Core.TColStd
import OCC.Core.TopTools
import OCC.Core.TopoDS
import OCC.Core.Message
import OCC.Core.OSD
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.gp

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

TNaming_PRIMITIVE = _TNaming.TNaming_PRIMITIVE
TNaming_GENERATED = _TNaming.TNaming_GENERATED
TNaming_MODIFY = _TNaming.TNaming_MODIFY
TNaming_DELETE = _TNaming.TNaming_DELETE
TNaming_REPLACE = _TNaming.TNaming_REPLACE
TNaming_SELECTED = _TNaming.TNaming_SELECTED
TNaming_UNKNOWN = _TNaming.TNaming_UNKNOWN
TNaming_IDENTITY = _TNaming.TNaming_IDENTITY
TNaming_MODIFUNTIL = _TNaming.TNaming_MODIFUNTIL
TNaming_GENERATION = _TNaming.TNaming_GENERATION
TNaming_INTERSECTION = _TNaming.TNaming_INTERSECTION
TNaming_UNION = _TNaming.TNaming_UNION
TNaming_SUBSTRACTION = _TNaming.TNaming_SUBSTRACTION
TNaming_CONSTSHAPE = _TNaming.TNaming_CONSTSHAPE
TNaming_FILTERBYNEIGHBOURGS = _TNaming.TNaming_FILTERBYNEIGHBOURGS
TNaming_ORIENTATION = _TNaming.TNaming_ORIENTATION
TNaming_WIREIN = _TNaming.TNaming_WIREIN
TNaming_SHELLIN = _TNaming.TNaming_SHELLIN


class TNaming_Evolution(IntEnum):
	TNaming_PRIMITIVE = 0
	TNaming_GENERATED = 1
	TNaming_MODIFY = 2
	TNaming_DELETE = 3
	TNaming_REPLACE = 4
	TNaming_SELECTED = 5
TNaming_PRIMITIVE = TNaming_Evolution.TNaming_PRIMITIVE
TNaming_GENERATED = TNaming_Evolution.TNaming_GENERATED
TNaming_MODIFY = TNaming_Evolution.TNaming_MODIFY
TNaming_DELETE = TNaming_Evolution.TNaming_DELETE
TNaming_REPLACE = TNaming_Evolution.TNaming_REPLACE
TNaming_SELECTED = TNaming_Evolution.TNaming_SELECTED

class TNaming_NameType(IntEnum):
	TNaming_UNKNOWN = 0
	TNaming_IDENTITY = 1
	TNaming_MODIFUNTIL = 2
	TNaming_GENERATION = 3
	TNaming_INTERSECTION = 4
	TNaming_UNION = 5
	TNaming_SUBSTRACTION = 6
	TNaming_CONSTSHAPE = 7
	TNaming_FILTERBYNEIGHBOURGS = 8
	TNaming_ORIENTATION = 9
	TNaming_WIREIN = 10
	TNaming_SHELLIN = 11
TNaming_UNKNOWN = TNaming_NameType.TNaming_UNKNOWN
TNaming_IDENTITY = TNaming_NameType.TNaming_IDENTITY
TNaming_MODIFUNTIL = TNaming_NameType.TNaming_MODIFUNTIL
TNaming_GENERATION = TNaming_NameType.TNaming_GENERATION
TNaming_INTERSECTION = TNaming_NameType.TNaming_INTERSECTION
TNaming_UNION = TNaming_NameType.TNaming_UNION
TNaming_SUBSTRACTION = TNaming_NameType.TNaming_SUBSTRACTION
TNaming_CONSTSHAPE = TNaming_NameType.TNaming_CONSTSHAPE
TNaming_FILTERBYNEIGHBOURGS = TNaming_NameType.TNaming_FILTERBYNEIGHBOURGS
TNaming_ORIENTATION = TNaming_NameType.TNaming_ORIENTATION
TNaming_WIREIN = TNaming_NameType.TNaming_WIREIN
TNaming_SHELLIN = TNaming_NameType.TNaming_SHELLIN


def Handle_TNaming_DeltaOnModification_Create():
    return _TNaming.Handle_TNaming_DeltaOnModification_Create()

def Handle_TNaming_DeltaOnModification_DownCast(t):
    return _TNaming.Handle_TNaming_DeltaOnModification_DownCast(t)

def Handle_TNaming_DeltaOnModification_IsNull(t):
    return _TNaming.Handle_TNaming_DeltaOnModification_IsNull(t)

def Handle_TNaming_DeltaOnRemoval_Create():
    return _TNaming.Handle_TNaming_DeltaOnRemoval_Create()

def Handle_TNaming_DeltaOnRemoval_DownCast(t):
    return _TNaming.Handle_TNaming_DeltaOnRemoval_DownCast(t)

def Handle_TNaming_DeltaOnRemoval_IsNull(t):
    return _TNaming.Handle_TNaming_DeltaOnRemoval_IsNull(t)

def Handle_TNaming_NamedShape_Create():
    return _TNaming.Handle_TNaming_NamedShape_Create()

def Handle_TNaming_NamedShape_DownCast(t):
    return _TNaming.Handle_TNaming_NamedShape_DownCast(t)

def Handle_TNaming_NamedShape_IsNull(t):
    return _TNaming.Handle_TNaming_NamedShape_IsNull(t)

def Handle_TNaming_Naming_Create():
    return _TNaming.Handle_TNaming_Naming_Create()

def Handle_TNaming_Naming_DownCast(t):
    return _TNaming.Handle_TNaming_Naming_DownCast(t)

def Handle_TNaming_Naming_IsNull(t):
    return _TNaming.Handle_TNaming_Naming_IsNull(t)

def Handle_TNaming_TranslateTool_Create():
    return _TNaming.Handle_TNaming_TranslateTool_Create()

def Handle_TNaming_TranslateTool_DownCast(t):
    return _TNaming.Handle_TNaming_TranslateTool_DownCast(t)

def Handle_TNaming_TranslateTool_IsNull(t):
    return _TNaming.Handle_TNaming_TranslateTool_IsNull(t)

def Handle_TNaming_UsedShapes_Create():
    return _TNaming.Handle_TNaming_UsedShapes_Create()

def Handle_TNaming_UsedShapes_DownCast(t):
    return _TNaming.Handle_TNaming_UsedShapes_DownCast(t)

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

    def begin(self):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_begin(self)

    def end(self):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_end(self)

    def cbegin(self):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_cbegin(self)

    def cend(self):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_cend(self)

    def __init__(self, *args):
        _TNaming.TNaming_DataMapOfShapeMapOfShape_swiginit(self, _TNaming.new_TNaming_DataMapOfShapeMapOfShape(*args))

    def Exchange(self, theOther):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_Set(self, theOther)

    def ReSize(self, N):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_Seek(self, theKey)

    def Find(self, *args):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape___call__(self, *args)

    def Clear(self, *args):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_Clear(self, *args)
    __swig_destroy__ = _TNaming.delete_TNaming_DataMapOfShapeMapOfShape

    def Size(self):
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_Size(self)

# Register TNaming_DataMapOfShapeMapOfShape in _TNaming:
_TNaming.TNaming_DataMapOfShapeMapOfShape_swigregister(TNaming_DataMapOfShapeMapOfShape)
class TNaming_DataMapOfShapePtrRefShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_begin(self)

    def end(self):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_end(self)

    def cbegin(self):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_cbegin(self)

    def cend(self):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_cend(self)

    def __init__(self, *args):
        _TNaming.TNaming_DataMapOfShapePtrRefShape_swiginit(self, _TNaming.new_TNaming_DataMapOfShapePtrRefShape(*args))

    def Exchange(self, theOther):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_Set(self, theOther)

    def ReSize(self, N):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_Seek(self, theKey)

    def Find(self, *args):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape___call__(self, *args)

    def Clear(self, *args):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_Clear(self, *args)
    __swig_destroy__ = _TNaming.delete_TNaming_DataMapOfShapePtrRefShape

    def Size(self):
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_Size(self)

# Register TNaming_DataMapOfShapePtrRefShape in _TNaming:
_TNaming.TNaming_DataMapOfShapePtrRefShape_swigregister(TNaming_DataMapOfShapePtrRefShape)
class TNaming_DataMapOfShapeShapesSet(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TNaming.TNaming_DataMapOfShapeShapesSet_begin(self)

    def end(self):
        return _TNaming.TNaming_DataMapOfShapeShapesSet_end(self)

    def cbegin(self):
        return _TNaming.TNaming_DataMapOfShapeShapesSet_cbegin(self)

    def cend(self):
        return _TNaming.TNaming_DataMapOfShapeShapesSet_cend(self)

    def __init__(self, *args):
        _TNaming.TNaming_DataMapOfShapeShapesSet_swiginit(self, _TNaming.new_TNaming_DataMapOfShapeShapesSet(*args))

    def Exchange(self, theOther):
        return _TNaming.TNaming_DataMapOfShapeShapesSet_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TNaming.TNaming_DataMapOfShapeShapesSet_Assign(self, theOther)

    def Set(self, theOther):
        return _TNaming.TNaming_DataMapOfShapeShapesSet_Set(self, theOther)

    def ReSize(self, N):
        return _TNaming.TNaming_DataMapOfShapeShapesSet_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TNaming.TNaming_DataMapOfShapeShapesSet_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TNaming.TNaming_DataMapOfShapeShapesSet_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TNaming.TNaming_DataMapOfShapeShapesSet_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TNaming.TNaming_DataMapOfShapeShapesSet_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TNaming.TNaming_DataMapOfShapeShapesSet_Seek(self, theKey)

    def Find(self, *args):
        return _TNaming.TNaming_DataMapOfShapeShapesSet_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TNaming.TNaming_DataMapOfShapeShapesSet_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TNaming.TNaming_DataMapOfShapeShapesSet_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TNaming.TNaming_DataMapOfShapeShapesSet___call__(self, *args)

    def Clear(self, *args):
        return _TNaming.TNaming_DataMapOfShapeShapesSet_Clear(self, *args)
    __swig_destroy__ = _TNaming.delete_TNaming_DataMapOfShapeShapesSet

    def Size(self):
        return _TNaming.TNaming_DataMapOfShapeShapesSet_Size(self)

# Register TNaming_DataMapOfShapeShapesSet in _TNaming:
_TNaming.TNaming_DataMapOfShapeShapesSet_swigregister(TNaming_DataMapOfShapeShapesSet)
class TNaming_ListIteratorOfListOfIndexedDataMapOfShapeListOfShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _TNaming.TNaming_ListIteratorOfListOfIndexedDataMapOfShapeListOfShape_swiginit(self, _TNaming.new_TNaming_ListIteratorOfListOfIndexedDataMapOfShapeListOfShape(*args))

    def More(self):
        return _TNaming.TNaming_ListIteratorOfListOfIndexedDataMapOfShapeListOfShape_More(self)

    def Next(self):
        return _TNaming.TNaming_ListIteratorOfListOfIndexedDataMapOfShapeListOfShape_Next(self)

    def Value(self):
        return _TNaming.TNaming_ListIteratorOfListOfIndexedDataMapOfShapeListOfShape_Value(self)

    def ChangeValue(self):
        return _TNaming.TNaming_ListIteratorOfListOfIndexedDataMapOfShapeListOfShape_ChangeValue(self)
    __swig_destroy__ = _TNaming.delete_TNaming_ListIteratorOfListOfIndexedDataMapOfShapeListOfShape

# Register TNaming_ListIteratorOfListOfIndexedDataMapOfShapeListOfShape in _TNaming:
_TNaming.TNaming_ListIteratorOfListOfIndexedDataMapOfShapeListOfShape_swigregister(TNaming_ListIteratorOfListOfIndexedDataMapOfShapeListOfShape)
class TNaming_ListIteratorOfListOfMapOfShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _TNaming.TNaming_ListIteratorOfListOfMapOfShape_swiginit(self, _TNaming.new_TNaming_ListIteratorOfListOfMapOfShape(*args))

    def More(self):
        return _TNaming.TNaming_ListIteratorOfListOfMapOfShape_More(self)

    def Next(self):
        return _TNaming.TNaming_ListIteratorOfListOfMapOfShape_Next(self)

    def Value(self):
        return _TNaming.TNaming_ListIteratorOfListOfMapOfShape_Value(self)

    def ChangeValue(self):
        return _TNaming.TNaming_ListIteratorOfListOfMapOfShape_ChangeValue(self)
    __swig_destroy__ = _TNaming.delete_TNaming_ListIteratorOfListOfMapOfShape

# Register TNaming_ListIteratorOfListOfMapOfShape in _TNaming:
_TNaming.TNaming_ListIteratorOfListOfMapOfShape_swigregister(TNaming_ListIteratorOfListOfMapOfShape)
class TNaming_ListIteratorOfListOfNamedShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _TNaming.TNaming_ListIteratorOfListOfNamedShape_swiginit(self, _TNaming.new_TNaming_ListIteratorOfListOfNamedShape(*args))

    def More(self):
        return _TNaming.TNaming_ListIteratorOfListOfNamedShape_More(self)

    def Next(self):
        return _TNaming.TNaming_ListIteratorOfListOfNamedShape_Next(self)

    def Value(self):
        return _TNaming.TNaming_ListIteratorOfListOfNamedShape_Value(self)

    def ChangeValue(self):
        return _TNaming.TNaming_ListIteratorOfListOfNamedShape_ChangeValue(self)
    __swig_destroy__ = _TNaming.delete_TNaming_ListIteratorOfListOfNamedShape

# Register TNaming_ListIteratorOfListOfNamedShape in _TNaming:
_TNaming.TNaming_ListIteratorOfListOfNamedShape_swigregister(TNaming_ListIteratorOfListOfNamedShape)
class TNaming_ListOfIndexedDataMapOfShapeListOfShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_begin(self)

    def end(self):
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_end(self)

    def cbegin(self):
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_cbegin(self)

    def cend(self):
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_cend(self)

    def __init__(self, *args):
        _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_swiginit(self, _TNaming.new_TNaming_ListOfIndexedDataMapOfShapeListOfShape(*args))

    def Size(self):
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_Size(self)

    def Assign(self, theOther):
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_Set(self, theOther)

    def Clear(self, theAllocator=0):
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_Clear(self, theAllocator)

    def First(self):
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_First(self)

    def Last(self):
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_Last(self)

    def Append(self, *args):
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_Append(self, *args)

    def Prepend(self, *args):
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_Prepend(self, *args)

    def RemoveFirst(self):
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_RemoveFirst(self)

    def Remove(self, theIter):
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_Remove(self, theIter)

    def InsertBefore(self, *args):
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_InsertAfter(self, *args)

    def Reverse(self):
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_Reverse(self)
    __swig_destroy__ = _TNaming.delete_TNaming_ListOfIndexedDataMapOfShapeListOfShape

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


# Register TNaming_ListOfIndexedDataMapOfShapeListOfShape in _TNaming:
_TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_swigregister(TNaming_ListOfIndexedDataMapOfShapeListOfShape)
class TNaming_ListOfMapOfShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TNaming.TNaming_ListOfMapOfShape_begin(self)

    def end(self):
        return _TNaming.TNaming_ListOfMapOfShape_end(self)

    def cbegin(self):
        return _TNaming.TNaming_ListOfMapOfShape_cbegin(self)

    def cend(self):
        return _TNaming.TNaming_ListOfMapOfShape_cend(self)

    def __init__(self, *args):
        _TNaming.TNaming_ListOfMapOfShape_swiginit(self, _TNaming.new_TNaming_ListOfMapOfShape(*args))

    def Size(self):
        return _TNaming.TNaming_ListOfMapOfShape_Size(self)

    def Assign(self, theOther):
        return _TNaming.TNaming_ListOfMapOfShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TNaming.TNaming_ListOfMapOfShape_Set(self, theOther)

    def Clear(self, theAllocator=0):
        return _TNaming.TNaming_ListOfMapOfShape_Clear(self, theAllocator)

    def First(self):
        return _TNaming.TNaming_ListOfMapOfShape_First(self)

    def Last(self):
        return _TNaming.TNaming_ListOfMapOfShape_Last(self)

    def Append(self, *args):
        return _TNaming.TNaming_ListOfMapOfShape_Append(self, *args)

    def Prepend(self, *args):
        return _TNaming.TNaming_ListOfMapOfShape_Prepend(self, *args)

    def RemoveFirst(self):
        return _TNaming.TNaming_ListOfMapOfShape_RemoveFirst(self)

    def Remove(self, theIter):
        return _TNaming.TNaming_ListOfMapOfShape_Remove(self, theIter)

    def InsertBefore(self, *args):
        return _TNaming.TNaming_ListOfMapOfShape_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _TNaming.TNaming_ListOfMapOfShape_InsertAfter(self, *args)

    def Reverse(self):
        return _TNaming.TNaming_ListOfMapOfShape_Reverse(self)
    __swig_destroy__ = _TNaming.delete_TNaming_ListOfMapOfShape

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


# Register TNaming_ListOfMapOfShape in _TNaming:
_TNaming.TNaming_ListOfMapOfShape_swigregister(TNaming_ListOfMapOfShape)
class TNaming_ListOfNamedShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TNaming.TNaming_ListOfNamedShape_begin(self)

    def end(self):
        return _TNaming.TNaming_ListOfNamedShape_end(self)

    def cbegin(self):
        return _TNaming.TNaming_ListOfNamedShape_cbegin(self)

    def cend(self):
        return _TNaming.TNaming_ListOfNamedShape_cend(self)

    def __init__(self, *args):
        _TNaming.TNaming_ListOfNamedShape_swiginit(self, _TNaming.new_TNaming_ListOfNamedShape(*args))

    def Size(self):
        return _TNaming.TNaming_ListOfNamedShape_Size(self)

    def Assign(self, theOther):
        return _TNaming.TNaming_ListOfNamedShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TNaming.TNaming_ListOfNamedShape_Set(self, theOther)

    def Clear(self, theAllocator=0):
        return _TNaming.TNaming_ListOfNamedShape_Clear(self, theAllocator)

    def First(self):
        return _TNaming.TNaming_ListOfNamedShape_First(self)

    def Last(self):
        return _TNaming.TNaming_ListOfNamedShape_Last(self)

    def Append(self, *args):
        return _TNaming.TNaming_ListOfNamedShape_Append(self, *args)

    def Prepend(self, *args):
        return _TNaming.TNaming_ListOfNamedShape_Prepend(self, *args)

    def RemoveFirst(self):
        return _TNaming.TNaming_ListOfNamedShape_RemoveFirst(self)

    def Remove(self, theIter):
        return _TNaming.TNaming_ListOfNamedShape_Remove(self, theIter)

    def InsertBefore(self, *args):
        return _TNaming.TNaming_ListOfNamedShape_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _TNaming.TNaming_ListOfNamedShape_InsertAfter(self, *args)

    def Reverse(self):
        return _TNaming.TNaming_ListOfNamedShape_Reverse(self)
    __swig_destroy__ = _TNaming.delete_TNaming_ListOfNamedShape

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


# Register TNaming_ListOfNamedShape in _TNaming:
_TNaming.TNaming_ListOfNamedShape_swigregister(TNaming_ListOfNamedShape)
class TNaming_MapOfNamedShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def cbegin(self):
        return _TNaming.TNaming_MapOfNamedShape_cbegin(self)

    def cend(self):
        return _TNaming.TNaming_MapOfNamedShape_cend(self)

    def __init__(self, *args):
        _TNaming.TNaming_MapOfNamedShape_swiginit(self, _TNaming.new_TNaming_MapOfNamedShape(*args))

    def Exchange(self, theOther):
        return _TNaming.TNaming_MapOfNamedShape_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TNaming.TNaming_MapOfNamedShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TNaming.TNaming_MapOfNamedShape_Set(self, theOther)

    def ReSize(self, N):
        return _TNaming.TNaming_MapOfNamedShape_ReSize(self, N)

    def Add(self, K):
        return _TNaming.TNaming_MapOfNamedShape_Add(self, K)

    def Added(self, K):
        return _TNaming.TNaming_MapOfNamedShape_Added(self, K)

    def Remove(self, K):
        return _TNaming.TNaming_MapOfNamedShape_Remove(self, K)

    def Clear(self, *args):
        return _TNaming.TNaming_MapOfNamedShape_Clear(self, *args)
    __swig_destroy__ = _TNaming.delete_TNaming_MapOfNamedShape

    def Size(self):
        return _TNaming.TNaming_MapOfNamedShape_Size(self)

    def IsEqual(self, theOther):
        return _TNaming.TNaming_MapOfNamedShape_IsEqual(self, theOther)

    def Contains(self, *args):
        return _TNaming.TNaming_MapOfNamedShape_Contains(self, *args)

    def Union(self, theLeft, theRight):
        return _TNaming.TNaming_MapOfNamedShape_Union(self, theLeft, theRight)

    def Unite(self, theOther):
        return _TNaming.TNaming_MapOfNamedShape_Unite(self, theOther)

    def HasIntersection(self, theMap):
        return _TNaming.TNaming_MapOfNamedShape_HasIntersection(self, theMap)

    def Intersection(self, theLeft, theRight):
        return _TNaming.TNaming_MapOfNamedShape_Intersection(self, theLeft, theRight)

    def Intersect(self, theOther):
        return _TNaming.TNaming_MapOfNamedShape_Intersect(self, theOther)

    def Subtraction(self, theLeft, theRight):
        return _TNaming.TNaming_MapOfNamedShape_Subtraction(self, theLeft, theRight)

    def Subtract(self, theOther):
        return _TNaming.TNaming_MapOfNamedShape_Subtract(self, theOther)

    def Difference(self, theLeft, theRight):
        return _TNaming.TNaming_MapOfNamedShape_Difference(self, theLeft, theRight)

    def Differ(self, theOther):
        return _TNaming.TNaming_MapOfNamedShape_Differ(self, theOther)

# Register TNaming_MapOfNamedShape in _TNaming:
_TNaming.TNaming_MapOfNamedShape_swigregister(TNaming_MapOfNamedShape)
class TNaming_MapOfShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def cbegin(self):
        return _TNaming.TNaming_MapOfShape_cbegin(self)

    def cend(self):
        return _TNaming.TNaming_MapOfShape_cend(self)

    def __init__(self, *args):
        _TNaming.TNaming_MapOfShape_swiginit(self, _TNaming.new_TNaming_MapOfShape(*args))

    def Exchange(self, theOther):
        return _TNaming.TNaming_MapOfShape_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TNaming.TNaming_MapOfShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TNaming.TNaming_MapOfShape_Set(self, theOther)

    def ReSize(self, N):
        return _TNaming.TNaming_MapOfShape_ReSize(self, N)

    def Add(self, K):
        return _TNaming.TNaming_MapOfShape_Add(self, K)

    def Added(self, K):
        return _TNaming.TNaming_MapOfShape_Added(self, K)

    def Remove(self, K):
        return _TNaming.TNaming_MapOfShape_Remove(self, K)

    def Clear(self, *args):
        return _TNaming.TNaming_MapOfShape_Clear(self, *args)
    __swig_destroy__ = _TNaming.delete_TNaming_MapOfShape

    def Size(self):
        return _TNaming.TNaming_MapOfShape_Size(self)

    def IsEqual(self, theOther):
        return _TNaming.TNaming_MapOfShape_IsEqual(self, theOther)

    def Contains(self, *args):
        return _TNaming.TNaming_MapOfShape_Contains(self, *args)

    def Union(self, theLeft, theRight):
        return _TNaming.TNaming_MapOfShape_Union(self, theLeft, theRight)

    def Unite(self, theOther):
        return _TNaming.TNaming_MapOfShape_Unite(self, theOther)

    def HasIntersection(self, theMap):
        return _TNaming.TNaming_MapOfShape_HasIntersection(self, theMap)

    def Intersection(self, theLeft, theRight):
        return _TNaming.TNaming_MapOfShape_Intersection(self, theLeft, theRight)

    def Intersect(self, theOther):
        return _TNaming.TNaming_MapOfShape_Intersect(self, theOther)

    def Subtraction(self, theLeft, theRight):
        return _TNaming.TNaming_MapOfShape_Subtraction(self, theLeft, theRight)

    def Subtract(self, theOther):
        return _TNaming.TNaming_MapOfShape_Subtract(self, theOther)

    def Difference(self, theLeft, theRight):
        return _TNaming.TNaming_MapOfShape_Difference(self, theLeft, theRight)

    def Differ(self, theOther):
        return _TNaming.TNaming_MapOfShape_Differ(self, theOther)

# Register TNaming_MapOfShape in _TNaming:
_TNaming.TNaming_MapOfShape_swigregister(TNaming_MapOfShape)
class TNaming_NamedShapeHasher(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    @staticmethod
    def HashCode(theKey, theUpperBound):
        return _TNaming.TNaming_NamedShapeHasher_HashCode(theKey, theUpperBound)

    @staticmethod
    def IsEqual(theKey1, theKey2):
        return _TNaming.TNaming_NamedShapeHasher_IsEqual(theKey1, theKey2)

    def __init__(self):
        _TNaming.TNaming_NamedShapeHasher_swiginit(self, _TNaming.new_TNaming_NamedShapeHasher())
    __swig_destroy__ = _TNaming.delete_TNaming_NamedShapeHasher

# Register TNaming_NamedShapeHasher in _TNaming:
_TNaming.TNaming_NamedShapeHasher_swigregister(TNaming_NamedShapeHasher)
class tnaming(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        label: TDF_Label
        M: TopTools_DataMapOfShapeShape

        Return
        -------
        None

        Description
        -----------
        Remplace les shapes du label et des sous-labels par des copies.

        """
        return _TNaming.tnaming_ChangeShapes(*args)

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

        Parameters
        ----------
        label: TDF_Label
        aLocation: TopLoc_Location
        WithOld: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Application de la location sur les shapes du label et de ses sous labels.

        """
        return _TNaming.tnaming_Displace(*args)

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

        Parameters
        ----------
        S: TopoDS_Shape
        Context: TopoDS_Shape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Find unique context of shape <s>.

        """
        return _TNaming.tnaming_FindUniqueContext(*args)

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

        Parameters
        ----------
        S: TopoDS_Shape
        Context: TopoDS_Shape
        Arr: TopTools_HArray1OfShape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Find unique context of shape <s>,which is pure concatenation of atomic shapes (compound). the result is concatenation of single contexts.

        """
        return _TNaming.tnaming_FindUniqueContextSet(*args)

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

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

        Return
        -------
        None

        Description
        -----------
        Appends to <anidlist> the list of the attributes ids of this package. caution: <anidlist> is not cleared before use.

        """
        return _TNaming.tnaming_IDList(*args)

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

        Parameters
        ----------
        MS: TopTools_MapOfShape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Builds shape from map content.

        """
        return _TNaming.tnaming_MakeShape(*args)

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

        Parameters
        ----------
        theSolid: TopoDS_Solid
        theShell: TopoDS_Shell

        Return
        -------
        bool

        Description
        -----------
        Returns true if outer shell is found and the found shell in <theshell>. print of tnaming enumeration =============================.

        """
        return _TNaming.tnaming_OuterShell(*args)

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

        Parameters
        ----------
        theFace: TopoDS_Face
        theWire: TopoDS_Wire

        Return
        -------
        bool

        Description
        -----------
        Returns true if outer wire is found and the found wire in <thewire>.

        """
        return _TNaming.tnaming_OuterWire(*args)

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

        Parameters
        ----------
        NS: TNaming_NamedShape
        T: gp_Trsf
        L: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Replicates the named shape with the transformation <t> on the label <l> (and sub-labels if necessary) (tnaming_generated is set).

        Parameters
        ----------
        SH: TopoDS_Shape
        T: gp_Trsf
        L: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Replicates the shape with the transformation <t> on the label <l> (and sub-labels if necessary) (tnaming_generated is set).

        """
        return _TNaming.tnaming_Replicate(*args)

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

        Parameters
        ----------
        labelsource: TDF_Label
        labelcible: TDF_Label
        mapOldNew: TopTools_DataMapOfShapeShape

        Return
        -------
        None

        Description
        -----------
        Subtituter les shapes sur les structures de source vers cible.

        """
        return _TNaming.tnaming_Substitute(*args)

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

        Parameters
        ----------
        accesslabel: TDF_Label
        From: TopoDS_Shape
        To: TopoDS_Shape

        Return
        -------
        bool

        Description
        -----------
        Substitutes shape in source structure.

        """
        return _TNaming.tnaming_SubstituteSShape(*args)

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

        Parameters
        ----------
        label: TDF_Label
        aTransformation: gp_Trsf

        Return
        -------
        None

        Description
        -----------
        Application de la transformation sur les shapes du label et de ses sous labels. warning: le remplacement du shape est fait dans tous les attributs qui le contiennent meme si ceux ci ne sont pas associees a des sous-labels de <label>.

        """
        return _TNaming.tnaming_Transform(*args)

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

        Parameters
        ----------
        label: TDF_Label
        mapOldNew: TopTools_DataMapOfShapeShape

        Return
        -------
        None

        Description
        -----------
        Mise a jour des shapes du label et de ses fils en tenant compte des substitutions decrite par mapoldnew. //! warning: le remplacement du shape est fait dans tous les attributs qui le contiennent meme si ceux ci ne sont pas associees a des sous-labels de <label>.

        """
        return _TNaming.tnaming_Update(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _TNaming.tnaming_swiginit(self, _TNaming.new_tnaming())
    __swig_destroy__ = _TNaming.delete_tnaming

# Register tnaming in _TNaming:
_TNaming.tnaming_swigregister(tnaming)
class TNaming_Builder(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        Return
        -------
        None

        Description
        -----------
        Create an builder. warning: before addition copies the current value, and clear.

        """
        _TNaming.TNaming_Builder_swiginit(self, _TNaming.new_TNaming_Builder(*args))

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

        Parameters
        ----------
        oldShape: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Records the shape oldshape which was deleted from the current label. as an example, consider the case of a face removed by a boolean operation.

        """
        return _TNaming.TNaming_Builder_Delete(self, *args)

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

        Parameters
        ----------
        newShape: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Records the shape newshape which was generated during a topological construction. as an example, consider the case of a face generated in construction of a box.

        Parameters
        ----------
        oldShape: TopoDS_Shape
        newShape: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Records the shape newshape which was generated from the shape oldshape during a topological construction. as an example, consider the case of a face generated from an edge in construction of a prism.

        """
        return _TNaming.TNaming_Builder_Generated(self, *args)

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

        Parameters
        ----------
        oldShape: TopoDS_Shape
        newShape: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Records the shape newshape which is a modification of the shape oldshape. as an example, consider the case of a face split or merged in a boolean operation.

        """
        return _TNaming.TNaming_Builder_Modify(self, *args)

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

        Description
        -----------
        Returns the namedshape which has been built or is under construction.

        """
        return _TNaming.TNaming_Builder_NamedShape(self, *args)

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

        Parameters
        ----------
        aShape: TopoDS_Shape
        inShape: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Add a shape to the current label , this shape is unmodified. used for example to define a set of shapes under a label.

        """
        return _TNaming.TNaming_Builder_Select(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_Builder

# Register TNaming_Builder in _TNaming:
_TNaming.TNaming_Builder_swigregister(TNaming_Builder)
class TNaming_CopyShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        aShape: TopoDS_Shape
        aMap: TColStd_IndexedDataMapOfTransientTransient
        aResult: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Makes copy a set of shape(s), using the amap.

        """
        return _TNaming.TNaming_CopyShape_CopyTool(*args)

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

        Parameters
        ----------
        aShape: TopoDS_Shape
        aMap: TColStd_IndexedDataMapOfTransientTransient
        aResult: TopoDS_Shape
        TrTool: TNaming_TranslateTool

        Return
        -------
        None

        Description
        -----------
        Translates a transient shape(s) to transient.

        Parameters
        ----------
        L: TopLoc_Location
        aMap: TColStd_IndexedDataMapOfTransientTransient

        Return
        -------
        TopLoc_Location

        Description
        -----------
        Translates a topological location to an other top. location.

        """
        return _TNaming.TNaming_CopyShape_Translate(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _TNaming.TNaming_CopyShape_swiginit(self, _TNaming.new_TNaming_CopyShape())
    __swig_destroy__ = _TNaming.delete_TNaming_CopyShape

# Register TNaming_CopyShape in _TNaming:
_TNaming.TNaming_CopyShape_swigregister(TNaming_CopyShape)
class TNaming_DeltaOnModification(OCC.Core.TDF.TDF_DeltaOnModification):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        NS: TNaming_NamedShape

        Return
        -------
        None

        Description
        -----------
        Initializes a tdf_deltaonmodification.

        """
        _TNaming.TNaming_DeltaOnModification_swiginit(self, _TNaming.new_TNaming_DeltaOnModification(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_DeltaOnModification

# Register TNaming_DeltaOnModification in _TNaming:
_TNaming.TNaming_DeltaOnModification_swigregister(TNaming_DeltaOnModification)
class TNaming_DeltaOnRemoval(OCC.Core.TDF.TDF_DeltaOnRemoval):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        NS: TNaming_NamedShape

        Return
        -------
        None

        Description
        -----------
        Initializes a tdf_deltaonmodification.

        """
        _TNaming.TNaming_DeltaOnRemoval_swiginit(self, _TNaming.new_TNaming_DeltaOnRemoval(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_DeltaOnRemoval

# Register TNaming_DeltaOnRemoval in _TNaming:
_TNaming.TNaming_DeltaOnRemoval_swigregister(TNaming_DeltaOnRemoval)
class TNaming_Identifier(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        Lab: TDF_Label
        S: TopoDS_Shape
        Context: TopoDS_Shape
        Geom: bool

        Return
        -------
        None

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

        Parameters
        ----------
        Lab: TDF_Label
        S: TopoDS_Shape
        ContextNS: TNaming_NamedShape
        Geom: bool

        Return
        -------
        None

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

        """
        _TNaming.TNaming_Identifier_swiginit(self, _TNaming.new_TNaming_Identifier(*args))

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

        Parameters
        ----------
        Localizer: TNaming_Localizer
        Context: TopoDS_Shape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Identifier_AncestorIdentification(self, *args)

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

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

        """
        return _TNaming.TNaming_Identifier_ArgIsFeature(self, *args)

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

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

        """
        return _TNaming.TNaming_Identifier_Feature(self, *args)

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

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

        """
        return _TNaming.TNaming_Identifier_FeatureArg(self, *args)

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

        Parameters
        ----------
        Localizer: TNaming_Localizer
        NS: TNaming_NamedShape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Identifier_GeneratedIdentification(self, *args)

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

        Parameters
        ----------
        Localizer: TNaming_Localizer
        NS: TNaming_NamedShape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Identifier_Identification(self, *args)

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

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

        """
        return _TNaming.TNaming_Identifier_InitArgs(self, *args)

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

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

        """
        return _TNaming.TNaming_Identifier_IsDone(self, *args)

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

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

        """
        return _TNaming.TNaming_Identifier_IsFeature(self, *args)

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

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

        """
        return _TNaming.TNaming_Identifier_MoreArgs(self, *args)

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

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

        """
        return _TNaming.TNaming_Identifier_NamedShapeOfGeneration(self, *args)

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

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

        """
        return _TNaming.TNaming_Identifier_NextArg(self, *args)

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

        Parameters
        ----------
        Localizer: TNaming_Localizer
        NS: TNaming_NamedShape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Identifier_PrimitiveIdentification(self, *args)

    def ShapeArg(self, *args):
        r"""
        Return
        -------
        TopoDS_Shape

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

        """
        return _TNaming.TNaming_Identifier_ShapeArg(self, *args)

    def ShapeContext(self, *args):
        r"""
        Return
        -------
        TopoDS_Shape

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

        """
        return _TNaming.TNaming_Identifier_ShapeContext(self, *args)

    def Type(self, *args):
        r"""
        Return
        -------
        TNaming_NameType

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

        """
        return _TNaming.TNaming_Identifier_Type(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_Identifier

# Register TNaming_Identifier in _TNaming:
_TNaming.TNaming_Identifier_swigregister(TNaming_Identifier)
class TNaming_Iterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        anAtt: TNaming_NamedShape

        Return
        -------
        None

        Description
        -----------
        Iterates on all the history records in <anatt>.

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

        Return
        -------
        None

        Description
        -----------
        Iterates on all the history records in the current transaction.

        Parameters
        ----------
        aLabel: TDF_Label
        aTrans: int

        Return
        -------
        None

        Description
        -----------
        Iterates on all the history records in the transaction <atrans>.

        """
        _TNaming.TNaming_Iterator_swiginit(self, _TNaming.new_TNaming_Iterator(*args))

    def Evolution(self, *args):
        r"""
        Return
        -------
        TNaming_Evolution

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

        """
        return _TNaming.TNaming_Iterator_Evolution(self, *args)

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

        Description
        -----------
        Returns true if the new shape is a modification (split, fuse,etc...) of the old shape.

        """
        return _TNaming.TNaming_Iterator_IsModification(self, *args)

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

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

        """
        return _TNaming.TNaming_Iterator_More(self, *args)

    def NewShape(self, *args):
        r"""
        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the new shape in this iterator object.

        """
        return _TNaming.TNaming_Iterator_NewShape(self, *args)

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

        Description
        -----------
        Moves the iteration to the next item.

        """
        return _TNaming.TNaming_Iterator_Next(self, *args)

    def OldShape(self, *args):
        r"""
        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the old shape in this iterator object. this shape can be a null one.

        """
        return _TNaming.TNaming_Iterator_OldShape(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_Iterator

# Register TNaming_Iterator in _TNaming:
_TNaming.TNaming_Iterator_swigregister(TNaming_Iterator)
class TNaming_IteratorOnShapesSet(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        Parameters
        ----------
        S: TNaming_ShapesSet

        Return
        -------
        None

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

        """
        _TNaming.TNaming_IteratorOnShapesSet_swiginit(self, _TNaming.new_TNaming_IteratorOnShapesSet(*args))

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

        Parameters
        ----------
        S: TNaming_ShapesSet

        Return
        -------
        None

        Description
        -----------
        Initialize the iteration.

        """
        return _TNaming.TNaming_IteratorOnShapesSet_Init(self, *args)

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

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

        """
        return _TNaming.TNaming_IteratorOnShapesSet_More(self, *args)

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

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

        """
        return _TNaming.TNaming_IteratorOnShapesSet_Next(self, *args)

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

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

        """
        return _TNaming.TNaming_IteratorOnShapesSet_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_IteratorOnShapesSet

# Register TNaming_IteratorOnShapesSet in _TNaming:
_TNaming.TNaming_IteratorOnShapesSet_swigregister(TNaming_IteratorOnShapesSet)
class TNaming_Localizer(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _TNaming.TNaming_Localizer_swiginit(self, _TNaming.new_TNaming_Localizer(*args))

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

        Parameters
        ----------
        S: TopoDS_Shape
        Type: TopAbs_ShapeEnum

        Return
        -------
        TopTools_IndexedDataMapOfShapeListOfShape

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

        """
        return _TNaming.TNaming_Localizer_Ancestors(self, *args)

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

        Parameters
        ----------
        NS: TNaming_NamedShape
        S: TopoDS_Shape
        Primitives: TNaming_MapOfNamedShape
        ValidShapes: TopTools_MapOfShape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Localizer_Backward(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape
        In: TopoDS_Shape
        AncInFeatures: TopTools_MapOfShape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Localizer_FindFeaturesInAncestors(self, *args)

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

        Parameters
        ----------
        NS: TNaming_NamedShape
        S: TopoDS_Shape
        theListOfGenerators: TopTools_ListOfShape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Localizer_FindGenerator(*args)

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

        Parameters
        ----------
        Cont: TopoDS_Shape
        S: TopoDS_Shape
        Neighbourg: TopTools_MapOfShape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Localizer_FindNeighbourg(self, *args)

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

        Parameters
        ----------
        NS: TNaming_NamedShape
        theS: TopoDS_Shape
        theSC: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Finds context of the shape <s>.

        """
        return _TNaming.TNaming_Localizer_FindShapeContext(*args)

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

        Parameters
        ----------
        S: TopoDS_Shape
        Lab: TDF_Label
        Evol: TNaming_Evolution
        OldS: TopTools_ListOfShape
        OldLab: TNaming_ListOfNamedShape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Localizer_GoBack(self, *args)

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

        Parameters
        ----------
        US: TNaming_UsedShapes
        CurTrans: int

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Localizer_Init(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape
        NS: TNaming_NamedShape

        Return
        -------
        bool

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

        """
        return _TNaming.TNaming_Localizer_IsNew(*args)

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

        Parameters
        ----------
        S: TopoDS_Shape
        Type: TopAbs_ShapeEnum

        Return
        -------
        TopTools_MapOfShape

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

        """
        return _TNaming.TNaming_Localizer_SubShapes(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_Localizer

# Register TNaming_Localizer in _TNaming:
_TNaming.TNaming_Localizer_swigregister(TNaming_Localizer)
class TNaming_Name(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _TNaming.TNaming_Name_swiginit(self, _TNaming.new_TNaming_Name(*args))

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

        Parameters
        ----------
        arg: TNaming_NamedShape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Name_Append(self, *args)

    def Arguments(self, *args):
        r"""
        Return
        -------
        TNaming_ListOfNamedShape

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

        """
        return _TNaming.TNaming_Name_Arguments(self, *args)

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

        Parameters
        ----------
        theLab: TDF_Label

        Return
        -------
        None

        Description
        -----------
        No available documentation.
        Return
        -------
        TDF_Label

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

        """
        return _TNaming.TNaming_Name_ContextLabel(self, *args)

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

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

        Parameters
        ----------
        I: int

        Return
        -------
        None

        Description
        -----------
        No available documentation.
        Return
        -------
        int

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

        """
        return _TNaming.TNaming_Name_Index(self, *args)

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

        Parameters
        ----------
        theOrientation: TopAbs_Orientation

        Return
        -------
        None

        Description
        -----------
        No available documentation.
        Return
        -------
        TopAbs_Orientation

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

        """
        return _TNaming.TNaming_Name_Orientation(self, *args)

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

        Parameters
        ----------
        into: TNaming_Name
        RT: TDF_RelocationTable

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Name_Paste(self, *args)

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

        Parameters
        ----------
        theShape: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        No available documentation.
        Return
        -------
        TopoDS_Shape

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

        """
        return _TNaming.TNaming_Name_Shape(self, *args)

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

        Parameters
        ----------
        aType: TopAbs_ShapeEnum

        Return
        -------
        None

        Description
        -----------
        No available documentation.
        Return
        -------
        TopAbs_ShapeEnum

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

        """
        return _TNaming.TNaming_Name_ShapeType(self, *args)

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

        Parameters
        ----------
        aLab: TDF_Label
        Valid: TDF_LabelMap

        Return
        -------
        bool

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

        """
        return _TNaming.TNaming_Name_Solve(self, *args)

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

        Parameters
        ----------
        arg: TNaming_NamedShape

        Return
        -------
        None

        Description
        -----------
        No available documentation.
        Return
        -------
        opencascade::handle<TNaming_NamedShape>

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

        """
        return _TNaming.TNaming_Name_StopNamedShape(self, *args)

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

        Parameters
        ----------
        aType: TNaming_NameType

        Return
        -------
        None

        Description
        -----------
        No available documentation.
        Return
        -------
        TNaming_NameType

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

        """
        return _TNaming.TNaming_Name_Type(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_Name

# Register TNaming_Name in _TNaming:
_TNaming.TNaming_Name_swigregister(TNaming_Name)
class TNaming_NamedShape(OCC.Core.TDF.TDF_Attribute):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _TNaming.TNaming_NamedShape_swiginit(self, _TNaming.new_TNaming_NamedShape(*args))

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

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

        """
        return _TNaming.TNaming_NamedShape_Clear(self, *args)

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

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

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

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

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

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_NamedShape_DeltaOnModification(self, *args)

    def DumpToString(self):
        r"""DumpToString(TNaming_NamedShape self) -> std::string"""
        return _TNaming.TNaming_NamedShape_DumpToString(self)

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

    def Evolution(self, *args):
        r"""
        Return
        -------
        TNaming_Evolution

        Description
        -----------
        Returns the evolution of the attribute.

        """
        return _TNaming.TNaming_NamedShape_Evolution(self, *args)

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

        Description
        -----------
        Returns the shapes contained in <ns>. returns a null shape if isempty.

        """
        return _TNaming.TNaming_NamedShape_Get(self, *args)

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

        Description
        -----------
        Class method ============ returns the guid for named shapes.

        """
        return _TNaming.TNaming_NamedShape_GetID(*args)

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

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

        """
        return _TNaming.TNaming_NamedShape_IsEmpty(self, *args)

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

        Parameters
        ----------
        version: int

        Return
        -------
        None

        Description
        -----------
        Set the version of the attribute.

        """
        return _TNaming.TNaming_NamedShape_SetVersion(self, *args)

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

        Description
        -----------
        Returns the version of the attribute.

        """
        return _TNaming.TNaming_NamedShape_Version(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_NamedShape

# Register TNaming_NamedShape in _TNaming:
_TNaming.TNaming_NamedShape_swigregister(TNaming_NamedShape)
class TNaming_Naming(OCC.Core.TDF.TDF_Attribute):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _TNaming.TNaming_Naming_swiginit(self, _TNaming.new_TNaming_Naming(*args))

    def ChangeName(self, *args):
        r"""
        Return
        -------
        TNaming_Name

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

        """
        return _TNaming.TNaming_Naming_ChangeName(self, *args)

    def DumpToString(self):
        r"""DumpToString(TNaming_Naming self) -> std::string"""
        return _TNaming.TNaming_Naming_DumpToString(self)

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

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

        Description
        -----------
        Following code from tdesignstd ==============================.

        """
        return _TNaming.TNaming_Naming_GetID(*args)

    def GetName(self, *args):
        r"""
        Return
        -------
        TNaming_Name

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

        """
        return _TNaming.TNaming_Naming_GetName(self, *args)

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

        Parameters
        ----------
        under: TDF_Label

        Return
        -------
        opencascade::handle<TNaming_Naming>

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

        """
        return _TNaming.TNaming_Naming_Insert(*args)

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

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

        """
        return _TNaming.TNaming_Naming_IsDefined(self, *args)

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

        Parameters
        ----------
        where: TDF_Label
        Selection: TopoDS_Shape
        Context: TopoDS_Shape
        Geometry: bool (optional, default to Standard_False)
        KeepOrientation: bool (optional, default to Standard_False)
        BNproblem: bool (optional, default to Standard_False)

        Return
        -------
        opencascade::handle<TNaming_NamedShape>

        Description
        -----------
        Creates a namimg attribute at label <where> to identify the shape <selection>. geometry is standard_true if we are only interested by the underlying geometry (e.g. setting a constraint). <context> is used to find neighbours of <s> when required by the naming. if keeporientation is true the selection orientation is taken into account. bnproblem == true points out that context sub-shapes in df have orientation differences with context shape itself. instance method ===============.

        """
        return _TNaming.TNaming_Naming_Name(*args)

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

        Parameters
        ----------
        scope: TDF_LabelMap

        Return
        -------
        bool

        Description
        -----------
        Regenerate only the name associated to me.

        """
        return _TNaming.TNaming_Naming_Regenerate(self, *args)

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

        Parameters
        ----------
        scope: TDF_LabelMap

        Return
        -------
        bool

        Description
        -----------
        Regenerate recursively the whole name with scope. if scope is empty it means that all the labels of the framework are valid.

        """
        return _TNaming.TNaming_Naming_Solve(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_Naming

# Register TNaming_Naming in _TNaming:
_TNaming.TNaming_Naming_swigregister(TNaming_Naming)
class TNaming_NamingTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        NS: TNaming_NamedShape
        Labels: TDF_LabelMap

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_NamingTool_BuildDescendants(*args)

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

        Parameters
        ----------
        Valid: TDF_LabelMap
        Forbiden: TDF_LabelMap
        NS: TNaming_NamedShape
        MS: TopTools_IndexedMapOfShape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_NamingTool_CurrentShape(*args)

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

        Parameters
        ----------
        Valid: TDF_LabelMap
        Forbiden: TDF_LabelMap
        Acces: TDF_Label
        S: TopoDS_Shape
        MS: TopTools_IndexedMapOfShape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_NamingTool_CurrentShapeFromShape(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _TNaming.TNaming_NamingTool_swiginit(self, _TNaming.new_TNaming_NamingTool())
    __swig_destroy__ = _TNaming.delete_TNaming_NamingTool

# Register TNaming_NamingTool in _TNaming:
_TNaming.TNaming_NamingTool_swigregister(TNaming_NamingTool)
class TNaming_NewShapeIterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        aShape: TopoDS_Shape
        Transaction: int
        access: TDF_Label

        Return
        -------
        None

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

        Parameters
        ----------
        aShape: TopoDS_Shape
        access: TDF_Label

        Return
        -------
        None

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

        Parameters
        ----------
        anIterator: TNaming_NewShapeIterator

        Return
        -------
        None

        Description
        -----------
        Iterates from the current shape in <aniterator>.

        Parameters
        ----------
        anIterator: TNaming_Iterator

        Return
        -------
        None

        Description
        -----------
        Iterates from the current shape in <aniterator>.

        """
        _TNaming.TNaming_NewShapeIterator_swiginit(self, _TNaming.new_TNaming_NewShapeIterator(*args))

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

        Description
        -----------
        True if the new shape is a modification (split, fuse,etc...) of the old shape.

        """
        return _TNaming.TNaming_NewShapeIterator_IsModification(self, *args)

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

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

        """
        return _TNaming.TNaming_NewShapeIterator_Label(self, *args)

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

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

        """
        return _TNaming.TNaming_NewShapeIterator_More(self, *args)

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

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

        """
        return _TNaming.TNaming_NewShapeIterator_NamedShape(self, *args)

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

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

        """
        return _TNaming.TNaming_NewShapeIterator_Next(self, *args)

    def Shape(self, *args):
        r"""
        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Warning! can be a null shape if a descendant is deleted.

        """
        return _TNaming.TNaming_NewShapeIterator_Shape(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_NewShapeIterator

# Register TNaming_NewShapeIterator in _TNaming:
_TNaming.TNaming_NewShapeIterator_swigregister(TNaming_NewShapeIterator)
class TNaming_OldShapeIterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        aShape: TopoDS_Shape
        Transaction: int
        access: TDF_Label

        Return
        -------
        None

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

        Parameters
        ----------
        aShape: TopoDS_Shape
        access: TDF_Label

        Return
        -------
        None

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

        Parameters
        ----------
        anIterator: TNaming_OldShapeIterator

        Return
        -------
        None

        Description
        -----------
        Iterates from the current shape in <aniterator>.

        Parameters
        ----------
        anIterator: TNaming_Iterator

        Return
        -------
        None

        Description
        -----------
        Iterates from the current shape in <aniterator>.

        """
        _TNaming.TNaming_OldShapeIterator_swiginit(self, _TNaming.new_TNaming_OldShapeIterator(*args))

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

        Description
        -----------
        True if the new shape is a modification (split, fuse,etc...) of the old shape.

        """
        return _TNaming.TNaming_OldShapeIterator_IsModification(self, *args)

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

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

        """
        return _TNaming.TNaming_OldShapeIterator_Label(self, *args)

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

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

        """
        return _TNaming.TNaming_OldShapeIterator_More(self, *args)

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

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

        """
        return _TNaming.TNaming_OldShapeIterator_NamedShape(self, *args)

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

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

        """
        return _TNaming.TNaming_OldShapeIterator_Next(self, *args)

    def Shape(self, *args):
        r"""
        Return
        -------
        TopoDS_Shape

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

        """
        return _TNaming.TNaming_OldShapeIterator_Shape(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_OldShapeIterator

# Register TNaming_OldShapeIterator in _TNaming:
_TNaming.TNaming_OldShapeIterator_swigregister(TNaming_OldShapeIterator)
class TNaming_RefShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        Parameters
        ----------
        S: TopoDS_Shape

        Return
        -------
        None

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

        """
        _TNaming.TNaming_RefShape_swiginit(self, _TNaming.new_TNaming_RefShape(*args))

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

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

        Parameters
        ----------
        aPtr: TNaming_PtrNode

        Return
        -------
        None

        Description
        -----------
        No available documentation.
        Return
        -------
        TNaming_PtrNode

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

        """
        return _TNaming.TNaming_RefShape_FirstUse(self, *args)

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

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

        """
        return _TNaming.TNaming_RefShape_Label(self, *args)

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

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

        """
        return _TNaming.TNaming_RefShape_NamedShape(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        No available documentation.
        Return
        -------
        TopoDS_Shape

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

        """
        return _TNaming.TNaming_RefShape_Shape(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_RefShape

# Register TNaming_RefShape in _TNaming:
_TNaming.TNaming_RefShape_swigregister(TNaming_RefShape)
class TNaming_SameShapeIterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        aShape: TopoDS_Shape
        access: TDF_Label

        Return
        -------
        None

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

        """
        _TNaming.TNaming_SameShapeIterator_swiginit(self, _TNaming.new_TNaming_SameShapeIterator(*args))

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

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

        """
        return _TNaming.TNaming_SameShapeIterator_Label(self, *args)

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

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

        """
        return _TNaming.TNaming_SameShapeIterator_More(self, *args)

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

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

        """
        return _TNaming.TNaming_SameShapeIterator_Next(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_SameShapeIterator

# Register TNaming_SameShapeIterator in _TNaming:
_TNaming.TNaming_SameShapeIterator_swigregister(TNaming_SameShapeIterator)
class TNaming_Scope(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Withvalid = false.

        Parameters
        ----------
        WithValid: bool

        Return
        -------
        None

        Description
        -----------
        If <withvalid> the scope is defined by the map. if not on the whole framework.

        Parameters
        ----------
        valid: TDF_LabelMap

        Return
        -------
        None

        Description
        -----------
        Create a scope with a map. withvalid = true.

        """
        _TNaming.TNaming_Scope_swiginit(self, _TNaming.new_TNaming_Scope(*args))

    def ChangeValid(self, *args):
        r"""
        Return
        -------
        TDF_LabelMap

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

        """
        return _TNaming.TNaming_Scope_ChangeValid(self, *args)

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

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

        """
        return _TNaming.TNaming_Scope_ClearValid(self, *args)

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

        Parameters
        ----------
        NS: TNaming_NamedShape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the current value of <ns> according to the valid scope.

        """
        return _TNaming.TNaming_Scope_CurrentShape(self, *args)

    def GetValid(self, *args):
        r"""
        Return
        -------
        TDF_LabelMap

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

        """
        return _TNaming.TNaming_Scope_GetValid(self, *args)

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

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

        Return
        -------
        bool

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

        """
        return _TNaming.TNaming_Scope_IsValid(self, *args)

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

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

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Scope_Unvalid(self, *args)

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

        Parameters
        ----------
        L: TDF_Label
        withroot: bool (optional, default to Standard_True)

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Scope_UnvalidChildren(self, *args)

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

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

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Scope_Valid(self, *args)

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

        Parameters
        ----------
        L: TDF_Label
        withroot: bool (optional, default to Standard_True)

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Scope_ValidChildren(self, *args)

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

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

        Parameters
        ----------
        mode: bool

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Scope_WithValid(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_Scope

# Register TNaming_Scope in _TNaming:
_TNaming.TNaming_Scope_swigregister(TNaming_Scope)
class TNaming_Selector(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        Return
        -------
        None

        Description
        -----------
        Create a selector on this label to select a shape. ==================.

        """
        _TNaming.TNaming_Selector_swiginit(self, _TNaming.new_TNaming_Selector(*args))

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

        Parameters
        ----------
        args: TDF_AttributeMap

        Return
        -------
        None

        Description
        -----------
        Returns the attribute list args. this list contains the named shape on which the topological naming was built.

        """
        return _TNaming.TNaming_Selector_Arguments(self, *args)

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

        Parameters
        ----------
        access: TDF_Label
        selection: TopoDS_Shape
        NS: TNaming_NamedShape
        Geometry: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        To know if a shape is already identified (not selected) ======================================================= //! the label access defines the point of access to the data framework. selection is the shape for which we want to know whether it is identified or not. if true, ns is returned as the identity of selection. if geometry is true, ns will be the named shape containing the first appearance of selection and not any other shape. in other words, selection must be the only shape stored in ns.

        """
        return _TNaming.TNaming_Selector_IsIdentified(*args)

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

        Description
        -----------
        Returns the namedshape build or under construction, which contains the topological naming..

        """
        return _TNaming.TNaming_Selector_NamedShape(self, *args)

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

        Parameters
        ----------
        Selection: TopoDS_Shape
        Context: TopoDS_Shape
        Geometry: bool (optional, default to Standard_False)
        KeepOrientatation: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Creates a topological naming on the label alabel given as an argument at construction time. if successful, the shape selection - found in the shape context - is now identified in the named shape returned in namedshape. if geometry is true, namedshape contains the first appearance of selection. this syntax is more robust than the previous syntax for this method.

        Parameters
        ----------
        Selection: TopoDS_Shape
        Geometry: bool (optional, default to Standard_False)
        KeepOrientatation: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Creates a topological naming on the label alabel given as an argument at construction time. if successful, the shape selection is now identified in the named shape returned in namedshape. if geometry is true, namedshape contains the first appearance of selection.

        """
        return _TNaming.TNaming_Selector_Select(self, *args)

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

        Parameters
        ----------
        Valid: TDF_LabelMap

        Return
        -------
        bool

        Description
        -----------
        Updates the topological naming on the label alabel given as an argument at construction time. the underlying shape returned in the method namedshape is updated. to read this shape, use the method tnaming_tool::getshape.

        """
        return _TNaming.TNaming_Selector_Solve(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_Selector

# Register TNaming_Selector in _TNaming:
_TNaming.TNaming_Selector_swigregister(TNaming_Selector)
class TNaming_ShapesSet(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        Parameters
        ----------
        S: TopoDS_Shape
        Type: TopAbs_ShapeEnum (optional, default to TopAbs_SHAPE)

        Return
        -------
        None

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

        """
        _TNaming.TNaming_ShapesSet_swiginit(self, _TNaming.new_TNaming_ShapesSet(*args))

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

        Parameters
        ----------
        S: TopoDS_Shape

        Return
        -------
        bool

        Description
        -----------
        Adds the shape <s>.

        Parameters
        ----------
        Shapes: TNaming_ShapesSet

        Return
        -------
        None

        Description
        -----------
        Adds the shapes contained in <shapes>.

        """
        return _TNaming.TNaming_ShapesSet_Add(self, *args)

    def ChangeMap(self, *args):
        r"""
        Return
        -------
        TopTools_MapOfShape

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

        """
        return _TNaming.TNaming_ShapesSet_ChangeMap(self, *args)

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

        Description
        -----------
        Removes all shapes.

        """
        return _TNaming.TNaming_ShapesSet_Clear(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape

        Return
        -------
        bool

        Description
        -----------
        Returns true if <s> is in <self>.

        """
        return _TNaming.TNaming_ShapesSet_Contains(self, *args)

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

        Parameters
        ----------
        Shapes: TNaming_ShapesSet

        Return
        -------
        None

        Description
        -----------
        Erases in <self> the shapes not contained in <shapes>.

        """
        return _TNaming.TNaming_ShapesSet_Filter(self, *args)

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

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

        """
        return _TNaming.TNaming_ShapesSet_IsEmpty(self, *args)

    def Map(self, *args):
        r"""
        Return
        -------
        TopTools_MapOfShape

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

        """
        return _TNaming.TNaming_ShapesSet_Map(self, *args)

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

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

        """
        return _TNaming.TNaming_ShapesSet_NbShapes(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape

        Return
        -------
        bool

        Description
        -----------
        Removes <s> in <self>.

        Parameters
        ----------
        Shapes: TNaming_ShapesSet

        Return
        -------
        None

        Description
        -----------
        Removes in <self> the shapes contained in <shapes>.

        """
        return _TNaming.TNaming_ShapesSet_Remove(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_ShapesSet

# Register TNaming_ShapesSet in _TNaming:
_TNaming.TNaming_ShapesSet_swigregister(TNaming_ShapesSet)
class TNaming_Tool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        NS: TNaming_NamedShape
        Labels: TNaming_MapOfNamedShape
        OnlyModif: bool (optional, default to Standard_True)

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Tool_Collect(*args)

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

        Parameters
        ----------
        NS: TNaming_NamedShape
        Updated: TDF_LabelMap

        Return
        -------
        opencascade::handle<TNaming_NamedShape>

        Description
        -----------
        Returns the namedshape of the last modification of <ns>. this shape is identified by a label.

        Parameters
        ----------
        NS: TNaming_NamedShape

        Return
        -------
        opencascade::handle<TNaming_NamedShape>

        Description
        -----------
        Returns namedshape the last modification of <ns>.

        """
        return _TNaming.TNaming_Tool_CurrentNamedShape(*args)

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

        Parameters
        ----------
        NS: TNaming_NamedShape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the last modification of <ns>. returns the shape currentshape contained in the named shape attribute ns. currentshape is the current state of the entities if they have been modified in other attributes of the same data structure. each call to this function creates a new compound.

        Parameters
        ----------
        NS: TNaming_NamedShape
        Updated: TDF_LabelMap

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the shape currentshape contained in the named shape attribute ns, and present in the updated attribute map updated. currentshape is the current state of the entities if they have been modified in other attributes of the same data structure. each call to this function creates a new compound. warning only the contents of updated are searched.r.

        """
        return _TNaming.TNaming_Tool_CurrentShape(*args)

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

        Parameters
        ----------
        Valid: TDF_LabelMap
        Forbiden: TDF_LabelMap
        Arg: TNaming_NamedShape
        S: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Returns the current shape (a wire or a shell) built (in the data framework) from the shapes of the argument named shape. it is used for identity name type computation.

        """
        return _TNaming.TNaming_Tool_FindShape(*args)

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

        Parameters
        ----------
        S: TopoDS_Shape
        Generation: TNaming_NamedShape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the shape generated from s or by a modification of s and contained in the named shape generation.

        """
        return _TNaming.TNaming_Tool_GeneratedShape(*args)

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

        Parameters
        ----------
        NS: TNaming_NamedShape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the entities stored in the named shape attribute ns. if there is only one old-new pair, the new shape is returned. otherwise, a compound is returned. this compound is made out of all the new shapes found. each call to this function creates a new compound.

        """
        return _TNaming.TNaming_Tool_GetShape(*args)

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

        Parameters
        ----------
        access: TDF_Label
        aShape: TopoDS_Shape

        Return
        -------
        bool

        Description
        -----------
        Returns true if <ashape> appears under a label.(dp).

        """
        return _TNaming.TNaming_Tool_HasLabel(*args)

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

        Parameters
        ----------
        aShape: TopoDS_Shape
        anAcces: TDF_Label
        Labels: TDF_LabelList

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the shape created from the shape ashape contained in the attribute anacces.

        """
        return _TNaming.TNaming_Tool_InitialShape(*args)

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

        Parameters
        ----------
        access: TDF_Label
        aShape: TopoDS_Shape

        Return
        -------
        TransDef: int

        Description
        -----------
        Returns the label of the first apparition of <ashape>. transdef is a value of the transaction of the first apparition of <ashape>.

        """
        return _TNaming.TNaming_Tool_Label(*args)

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

        Parameters
        ----------
        aShape: TopoDS_Shape
        anAcces: TDF_Label

        Return
        -------
        opencascade::handle<TNaming_NamedShape>

        Description
        -----------
        Returns the named shape attribute defined by the shape ashape and the label anaccess. this attribute is returned as a new shape. you call this function, if you need to create a topological attribute for existing data. example class mypkg_myclass { public: standard_boolean sameedge(const opencascade::handle<ocaftest_line>& , const opencascade::handle<caftest_line>& ); }; //! standard_boolean mypkg_myclass::sameedge (const opencascade::handle<ocaftest_line>& l1 const opencascade::handle<ocaftest_line>& l2) { opencascade::handle<tnaming_namedshape> ns1 = l1->namedshape(); opencascade::handle<tnaming_namedshape> ns2 = l2->namedshape(); //! return breptools::compare(ns1->get(),ns2->get()); } in the example above, the function sameedge is created to compare the edges having two lines for geometric supports. if these edges are found by breptools::compare to be within the same tolerance, they are considered to be the same. warning to avoid sharing of names, a selected attribute will not be returned. sharing of names makes it harder to manage the data structure. when the user of the name is removed, for example, it is difficult to know whether the name should be destroyed.

        """
        return _TNaming.TNaming_Tool_NamedShape(*args)

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

        Parameters
        ----------
        NS: TNaming_NamedShape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the shape contained as oldshape in <ns>.

        """
        return _TNaming.TNaming_Tool_OriginalShape(*args)

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

        Parameters
        ----------
        access: TDF_Label
        S: TopoDS_Shape

        Return
        -------
        int

        Description
        -----------
        Returns the last transaction where the creation of s is valid.

        """
        return _TNaming.TNaming_Tool_ValidUntil(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _TNaming.TNaming_Tool_swiginit(self, _TNaming.new_TNaming_Tool())
    __swig_destroy__ = _TNaming.delete_TNaming_Tool

# Register TNaming_Tool in _TNaming:
_TNaming.TNaming_Tool_swigregister(TNaming_Tool)
class TNaming_TranslateTool(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 Add(self, *args):
        r"""

        Parameters
        ----------
        S1: TopoDS_Shape
        S2: TopoDS_Shape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_TranslateTool_Add(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_TranslateTool_MakeCompSolid(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_TranslateTool_MakeCompound(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_TranslateTool_MakeEdge(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_TranslateTool_MakeFace(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_TranslateTool_MakeShell(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_TranslateTool_MakeSolid(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_TranslateTool_MakeVertex(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_TranslateTool_MakeWire(self, *args)

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

        Parameters
        ----------
        S1: TopoDS_Shape
        S2: TopoDS_Shape
        M: TColStd_IndexedDataMapOfTransientTransient

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_TranslateTool_UpdateEdge(self, *args)

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

        Parameters
        ----------
        S1: TopoDS_Shape
        S2: TopoDS_Shape
        M: TColStd_IndexedDataMapOfTransientTransient

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_TranslateTool_UpdateFace(self, *args)

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

        Parameters
        ----------
        S1: TopoDS_Shape
        S2: TopoDS_Shape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_TranslateTool_UpdateShape(self, *args)

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

        Parameters
        ----------
        S1: TopoDS_Shape
        S2: TopoDS_Shape
        M: TColStd_IndexedDataMapOfTransientTransient

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_TranslateTool_UpdateVertex(self, *args)


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


    __repr__ = _dumps_object


    def __init__(self):
        _TNaming.TNaming_TranslateTool_swiginit(self, _TNaming.new_TNaming_TranslateTool())
    __swig_destroy__ = _TNaming.delete_TNaming_TranslateTool

# Register TNaming_TranslateTool in _TNaming:
_TNaming.TNaming_TranslateTool_swigregister(TNaming_TranslateTool)
class TNaming_Translator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _TNaming.TNaming_Translator_swiginit(self, _TNaming.new_TNaming_Translator(*args))

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

        Parameters
        ----------
        aShape: TopoDS_Shape

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Translator_Add(self, *args)

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

        Parameters
        ----------
        aShape: TopoDS_Shape

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns copied shape.
        Return
        -------
        TopTools_DataMapOfShapeShape

        Description
        -----------
        Returns datamap of results; (shape <-> copied shape).

        """
        return _TNaming.TNaming_Translator_Copied(self, *args)

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

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

        Return
        -------
        None

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

        """
        return _TNaming.TNaming_Translator_DumpMap(self, *args)

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

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

        """
        return _TNaming.TNaming_Translator_IsDone(self, *args)

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

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

        """
        return _TNaming.TNaming_Translator_Perform(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_Translator

# Register TNaming_Translator in _TNaming:
_TNaming.TNaming_Translator_swigregister(TNaming_Translator)
class TNaming_UsedShapes(OCC.Core.TDF.TDF_Attribute):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

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

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

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

        """
        return _TNaming.TNaming_UsedShapes_Destroy(self, *args)

    def DumpToString(self):
        r"""DumpToString(TNaming_UsedShapes self) -> std::string"""
        return _TNaming.TNaming_UsedShapes_DumpToString(self)

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

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

        Description
        -----------
        Returns the id: 2a96b614-ec8b-11d0-bee7-080009dc3333.

        """
        return _TNaming.TNaming_UsedShapes_GetID(*args)

    def Map(self, *args):
        r"""
        Return
        -------
        TNaming_DataMapOfShapePtrRefShape

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

        """
        return _TNaming.TNaming_UsedShapes_Map(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TNaming.delete_TNaming_UsedShapes

# Register TNaming_UsedShapes in _TNaming:
_TNaming.TNaming_UsedShapes_swigregister(TNaming_UsedShapes)



@deprecated
def tnaming_ChangeShapes(*args):
	return tnaming.ChangeShapes(*args)

@deprecated
def tnaming_Displace(*args):
	return tnaming.Displace(*args)

@deprecated
def tnaming_FindUniqueContext(*args):
	return tnaming.FindUniqueContext(*args)

@deprecated
def tnaming_FindUniqueContextSet(*args):
	return tnaming.FindUniqueContextSet(*args)

@deprecated
def tnaming_IDList(*args):
	return tnaming.IDList(*args)

@deprecated
def tnaming_MakeShape(*args):
	return tnaming.MakeShape(*args)

@deprecated
def tnaming_OuterShell(*args):
	return tnaming.OuterShell(*args)

@deprecated
def tnaming_OuterWire(*args):
	return tnaming.OuterWire(*args)

@deprecated
def tnaming_Replicate(*args):
	return tnaming.Replicate(*args)

@deprecated
def tnaming_Replicate(*args):
	return tnaming.Replicate(*args)

@deprecated
def tnaming_Substitute(*args):
	return tnaming.Substitute(*args)

@deprecated
def tnaming_SubstituteSShape(*args):
	return tnaming.SubstituteSShape(*args)

@deprecated
def tnaming_Transform(*args):
	return tnaming.Transform(*args)

@deprecated
def tnaming_Update(*args):
	return tnaming.Update(*args)

@deprecated
def TNaming_CopyShape_CopyTool(*args):
	return TNaming_CopyShape.CopyTool(*args)

@deprecated
def TNaming_CopyShape_Translate(*args):
	return TNaming_CopyShape.Translate(*args)

@deprecated
def TNaming_CopyShape_Translate(*args):
	return TNaming_CopyShape.Translate(*args)

@deprecated
def TNaming_Localizer_FindGenerator(*args):
	return TNaming_Localizer.FindGenerator(*args)

@deprecated
def TNaming_Localizer_FindShapeContext(*args):
	return TNaming_Localizer.FindShapeContext(*args)

@deprecated
def TNaming_Localizer_IsNew(*args):
	return TNaming_Localizer.IsNew(*args)

@deprecated
def TNaming_NamedShape_GetID(*args):
	return TNaming_NamedShape.GetID(*args)

@deprecated
def TNaming_Naming_GetID(*args):
	return TNaming_Naming.GetID(*args)

@deprecated
def TNaming_Naming_Insert(*args):
	return TNaming_Naming.Insert(*args)

@deprecated
def TNaming_Naming_Name(*args):
	return TNaming_Naming.Name(*args)

@deprecated
def TNaming_NamingTool_BuildDescendants(*args):
	return TNaming_NamingTool.BuildDescendants(*args)

@deprecated
def TNaming_NamingTool_CurrentShape(*args):
	return TNaming_NamingTool.CurrentShape(*args)

@deprecated
def TNaming_NamingTool_CurrentShapeFromShape(*args):
	return TNaming_NamingTool.CurrentShapeFromShape(*args)

@deprecated
def TNaming_Selector_IsIdentified(*args):
	return TNaming_Selector.IsIdentified(*args)

@deprecated
def TNaming_Tool_Collect(*args):
	return TNaming_Tool.Collect(*args)

@deprecated
def TNaming_Tool_CurrentNamedShape(*args):
	return TNaming_Tool.CurrentNamedShape(*args)

@deprecated
def TNaming_Tool_CurrentNamedShape(*args):
	return TNaming_Tool.CurrentNamedShape(*args)

@deprecated
def TNaming_Tool_CurrentShape(*args):
	return TNaming_Tool.CurrentShape(*args)

@deprecated
def TNaming_Tool_CurrentShape(*args):
	return TNaming_Tool.CurrentShape(*args)

@deprecated
def TNaming_Tool_FindShape(*args):
	return TNaming_Tool.FindShape(*args)

@deprecated
def TNaming_Tool_GeneratedShape(*args):
	return TNaming_Tool.GeneratedShape(*args)

@deprecated
def TNaming_Tool_GetShape(*args):
	return TNaming_Tool.GetShape(*args)

@deprecated
def TNaming_Tool_HasLabel(*args):
	return TNaming_Tool.HasLabel(*args)

@deprecated
def TNaming_Tool_InitialShape(*args):
	return TNaming_Tool.InitialShape(*args)

@deprecated
def TNaming_Tool_Label(*args):
	return TNaming_Tool.Label(*args)

@deprecated
def TNaming_Tool_NamedShape(*args):
	return TNaming_Tool.NamedShape(*args)

@deprecated
def TNaming_Tool_OriginalShape(*args):
	return TNaming_Tool.OriginalShape(*args)

@deprecated
def TNaming_Tool_ValidUntil(*args):
	return TNaming_Tool.ValidUntil(*args)

@deprecated
def TNaming_UsedShapes_GetID(*args):
	return TNaming_UsedShapes.GetID(*args)



