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

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

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

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


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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

def Handle_TNaming_DeltaOnModification_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TNaming_DeltaOnModification >":
    return _TNaming.Handle_TNaming_DeltaOnModification_DownCast(t)

def Handle_TNaming_DeltaOnModification_IsNull(t: "opencascade::handle< TNaming_DeltaOnModification > const &") -> "bool":
    return _TNaming.Handle_TNaming_DeltaOnModification_IsNull(t)

def Handle_TNaming_DeltaOnRemoval_Create() -> "opencascade::handle< TNaming_DeltaOnRemoval >":
    return _TNaming.Handle_TNaming_DeltaOnRemoval_Create()

def Handle_TNaming_DeltaOnRemoval_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TNaming_DeltaOnRemoval >":
    return _TNaming.Handle_TNaming_DeltaOnRemoval_DownCast(t)

def Handle_TNaming_DeltaOnRemoval_IsNull(t: "opencascade::handle< TNaming_DeltaOnRemoval > const &") -> "bool":
    return _TNaming.Handle_TNaming_DeltaOnRemoval_IsNull(t)

def Handle_TNaming_NamedShape_Create() -> "opencascade::handle< TNaming_NamedShape >":
    return _TNaming.Handle_TNaming_NamedShape_Create()

def Handle_TNaming_NamedShape_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TNaming_NamedShape >":
    return _TNaming.Handle_TNaming_NamedShape_DownCast(t)

def Handle_TNaming_NamedShape_IsNull(t: "opencascade::handle< TNaming_NamedShape > const &") -> "bool":
    return _TNaming.Handle_TNaming_NamedShape_IsNull(t)

def Handle_TNaming_Naming_Create() -> "opencascade::handle< TNaming_Naming >":
    return _TNaming.Handle_TNaming_Naming_Create()

def Handle_TNaming_Naming_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TNaming_Naming >":
    return _TNaming.Handle_TNaming_Naming_DownCast(t)

def Handle_TNaming_Naming_IsNull(t: "opencascade::handle< TNaming_Naming > const &") -> "bool":
    return _TNaming.Handle_TNaming_Naming_IsNull(t)

def Handle_TNaming_TranslateTool_Create() -> "opencascade::handle< TNaming_TranslateTool >":
    return _TNaming.Handle_TNaming_TranslateTool_Create()

def Handle_TNaming_TranslateTool_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TNaming_TranslateTool >":
    return _TNaming.Handle_TNaming_TranslateTool_DownCast(t)

def Handle_TNaming_TranslateTool_IsNull(t: "opencascade::handle< TNaming_TranslateTool > const &") -> "bool":
    return _TNaming.Handle_TNaming_TranslateTool_IsNull(t)

def Handle_TNaming_UsedShapes_Create() -> "opencascade::handle< TNaming_UsedShapes >":
    return _TNaming.Handle_TNaming_UsedShapes_Create()

def Handle_TNaming_UsedShapes_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< TNaming_UsedShapes >":
    return _TNaming.Handle_TNaming_UsedShapes_DownCast(t)

def Handle_TNaming_UsedShapes_IsNull(t: "opencascade::handle< TNaming_UsedShapes > const &") -> "bool":
    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) -> "NCollection_DataMap< TopoDS_Shape,TNaming_MapOfShape >::iterator":
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_begin(self)

    def end(self) -> "NCollection_DataMap< TopoDS_Shape,TNaming_MapOfShape >::iterator":
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_end(self)

    def cbegin(self) -> "NCollection_DataMap< TopoDS_Shape,TNaming_MapOfShape >::const_iterator":
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TopoDS_Shape,TNaming_MapOfShape >::const_iterator":
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_cend(self)

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

    def Exchange(self, theOther: "TNaming_DataMapOfShapeMapOfShape") -> "void":
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_Exchange(self, theOther)

    def Assign(self, theOther: "TNaming_DataMapOfShapeMapOfShape") -> "NCollection_DataMap< TopoDS_Shape,TNaming_MapOfShape > &":
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_Assign(self, theOther)

    def Set(self, theOther: "TNaming_DataMapOfShapeMapOfShape") -> "NCollection_DataMap< TopoDS_Shape,TNaming_MapOfShape > &":
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_Set(self, theOther)

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

    def Bind(self, theKey: "TopoDS_Shape", theItem: "TNaming_MapOfShape") -> "Standard_Boolean":
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TopoDS_Shape", theItem: "TNaming_MapOfShape") -> "TNaming_MapOfShape *":
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_IsBound(self, theKey)

    def UnBind(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_UnBind(self, theKey)

    def Seek(self, theKey: "TopoDS_Shape") -> "TNaming_MapOfShape const *":
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_Find(self, *args)

    def ChangeSeek(self, theKey: "TopoDS_Shape") -> "TNaming_MapOfShape *":
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TopoDS_Shape") -> "TNaming_MapOfShape &":
        return _TNaming.TNaming_DataMapOfShapeMapOfShape_ChangeFind(self, theKey)

    def __call__(self, *args) -> "TNaming_MapOfShape &":
        return _TNaming.TNaming_DataMapOfShapeMapOfShape___call__(self, *args)

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

    def Size(self) -> "Standard_Integer":
        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) -> "NCollection_DataMap< TopoDS_Shape,TNaming_PtrRefShape,TopTools_ShapeMapHasher >::iterator":
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_begin(self)

    def end(self) -> "NCollection_DataMap< TopoDS_Shape,TNaming_PtrRefShape,TopTools_ShapeMapHasher >::iterator":
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_end(self)

    def cbegin(self) -> "NCollection_DataMap< TopoDS_Shape,TNaming_PtrRefShape,TopTools_ShapeMapHasher >::const_iterator":
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TopoDS_Shape,TNaming_PtrRefShape,TopTools_ShapeMapHasher >::const_iterator":
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_cend(self)

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

    def Exchange(self, theOther: "TNaming_DataMapOfShapePtrRefShape") -> "void":
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_Exchange(self, theOther)

    def Assign(self, theOther: "TNaming_DataMapOfShapePtrRefShape") -> "NCollection_DataMap< TopoDS_Shape,TNaming_PtrRefShape,TopTools_ShapeMapHasher > &":
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_Assign(self, theOther)

    def Set(self, theOther: "TNaming_DataMapOfShapePtrRefShape") -> "NCollection_DataMap< TopoDS_Shape,TNaming_PtrRefShape,TopTools_ShapeMapHasher > &":
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_Set(self, theOther)

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

    def Bind(self, theKey: "TopoDS_Shape", theItem: "TNaming_RefShape") -> "Standard_Boolean":
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TopoDS_Shape", theItem: "TNaming_RefShape") -> "TNaming_PtrRefShape *":
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_IsBound(self, theKey)

    def UnBind(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_UnBind(self, theKey)

    def Seek(self, theKey: "TopoDS_Shape") -> "TNaming_PtrRefShape const *":
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_Find(self, *args)

    def ChangeSeek(self, theKey: "TopoDS_Shape") -> "TNaming_PtrRefShape *":
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TopoDS_Shape") -> "TNaming_PtrRefShape &":
        return _TNaming.TNaming_DataMapOfShapePtrRefShape_ChangeFind(self, theKey)

    def __call__(self, *args) -> "TNaming_PtrRefShape &":
        return _TNaming.TNaming_DataMapOfShapePtrRefShape___call__(self, *args)

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

    def Size(self) -> "Standard_Integer":
        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) -> "NCollection_DataMap< TopoDS_Shape,TNaming_ShapesSet,TopTools_ShapeMapHasher >::iterator":
        return _TNaming.TNaming_DataMapOfShapeShapesSet_begin(self)

    def end(self) -> "NCollection_DataMap< TopoDS_Shape,TNaming_ShapesSet,TopTools_ShapeMapHasher >::iterator":
        return _TNaming.TNaming_DataMapOfShapeShapesSet_end(self)

    def cbegin(self) -> "NCollection_DataMap< TopoDS_Shape,TNaming_ShapesSet,TopTools_ShapeMapHasher >::const_iterator":
        return _TNaming.TNaming_DataMapOfShapeShapesSet_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TopoDS_Shape,TNaming_ShapesSet,TopTools_ShapeMapHasher >::const_iterator":
        return _TNaming.TNaming_DataMapOfShapeShapesSet_cend(self)

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

    def Exchange(self, theOther: "TNaming_DataMapOfShapeShapesSet") -> "void":
        return _TNaming.TNaming_DataMapOfShapeShapesSet_Exchange(self, theOther)

    def Assign(self, theOther: "TNaming_DataMapOfShapeShapesSet") -> "NCollection_DataMap< TopoDS_Shape,TNaming_ShapesSet,TopTools_ShapeMapHasher > &":
        return _TNaming.TNaming_DataMapOfShapeShapesSet_Assign(self, theOther)

    def Set(self, theOther: "TNaming_DataMapOfShapeShapesSet") -> "NCollection_DataMap< TopoDS_Shape,TNaming_ShapesSet,TopTools_ShapeMapHasher > &":
        return _TNaming.TNaming_DataMapOfShapeShapesSet_Set(self, theOther)

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

    def Bind(self, theKey: "TopoDS_Shape", theItem: "TNaming_ShapesSet") -> "Standard_Boolean":
        return _TNaming.TNaming_DataMapOfShapeShapesSet_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TopoDS_Shape", theItem: "TNaming_ShapesSet") -> "TNaming_ShapesSet *":
        return _TNaming.TNaming_DataMapOfShapeShapesSet_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _TNaming.TNaming_DataMapOfShapeShapesSet_IsBound(self, theKey)

    def UnBind(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _TNaming.TNaming_DataMapOfShapeShapesSet_UnBind(self, theKey)

    def Seek(self, theKey: "TopoDS_Shape") -> "TNaming_ShapesSet const *":
        return _TNaming.TNaming_DataMapOfShapeShapesSet_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _TNaming.TNaming_DataMapOfShapeShapesSet_Find(self, *args)

    def ChangeSeek(self, theKey: "TopoDS_Shape") -> "TNaming_ShapesSet *":
        return _TNaming.TNaming_DataMapOfShapeShapesSet_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TopoDS_Shape") -> "TNaming_ShapesSet &":
        return _TNaming.TNaming_DataMapOfShapeShapesSet_ChangeFind(self, theKey)

    def __call__(self, *args) -> "TNaming_ShapesSet &":
        return _TNaming.TNaming_DataMapOfShapeShapesSet___call__(self, *args)

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

    def Size(self) -> "Standard_Integer":
        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) -> "Standard_Boolean":
        return _TNaming.TNaming_ListIteratorOfListOfIndexedDataMapOfShapeListOfShape_More(self)

    def Next(self) -> "void":
        return _TNaming.TNaming_ListIteratorOfListOfIndexedDataMapOfShapeListOfShape_Next(self)

    def Value(self) -> "NCollection_IndexedDataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_ShapeMapHasher > const &":
        return _TNaming.TNaming_ListIteratorOfListOfIndexedDataMapOfShapeListOfShape_Value(self)

    def ChangeValue(self) -> "NCollection_IndexedDataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_ShapeMapHasher > &":
        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) -> "Standard_Boolean":
        return _TNaming.TNaming_ListIteratorOfListOfMapOfShape_More(self)

    def Next(self) -> "void":
        return _TNaming.TNaming_ListIteratorOfListOfMapOfShape_Next(self)

    def Value(self) -> "NCollection_Map< TopoDS_Shape,TopTools_ShapeMapHasher > const &":
        return _TNaming.TNaming_ListIteratorOfListOfMapOfShape_Value(self)

    def ChangeValue(self) -> "NCollection_Map< TopoDS_Shape,TopTools_ShapeMapHasher > &":
        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) -> "Standard_Boolean":
        return _TNaming.TNaming_ListIteratorOfListOfNamedShape_More(self)

    def Next(self) -> "void":
        return _TNaming.TNaming_ListIteratorOfListOfNamedShape_Next(self)

    def Value(self) -> "opencascade::handle< TNaming_NamedShape > const &":
        return _TNaming.TNaming_ListIteratorOfListOfNamedShape_Value(self)

    def ChangeValue(self) -> "opencascade::handle< TNaming_NamedShape > &":
        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) -> "NCollection_List< NCollection_IndexedDataMap< TopoDS_Shape,TopTools_ListOfShape,TopTools_ShapeMapHasher > >::iterator":
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_begin(self)

    def end(self) -> "NCollection_List< NCollection_IndexedDataMap< TopoDS_Shape,TopTools_ListOfShape,TopTools_ShapeMapHasher > >::iterator":
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_end(self)

    def cbegin(self) -> "NCollection_List< NCollection_IndexedDataMap< TopoDS_Shape,TopTools_ListOfShape,TopTools_ShapeMapHasher > >::const_iterator":
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_cbegin(self)

    def cend(self) -> "NCollection_List< NCollection_IndexedDataMap< TopoDS_Shape,TopTools_ListOfShape,TopTools_ShapeMapHasher > >::const_iterator":
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_cend(self)

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

    def Size(self) -> "Standard_Integer":
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_Size(self)

    def Assign(self, theOther: "TNaming_ListOfIndexedDataMapOfShapeListOfShape") -> "NCollection_List< TopTools_IndexedDataMapOfShapeListOfShape > &":
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_Assign(self, theOther)

    def Set(self, theOther: "TNaming_ListOfIndexedDataMapOfShapeListOfShape") -> "NCollection_List< TopTools_IndexedDataMapOfShapeListOfShape > &":
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_Set(self, theOther)

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

    def First(self) -> "NCollection_IndexedDataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_ShapeMapHasher > const &":
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_First(self)

    def Last(self) -> "NCollection_IndexedDataMap< TopoDS_Shape,NCollection_List< TopoDS_Shape >,TopTools_ShapeMapHasher > const &":
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_Last(self)

    def Append(self, *args) -> "void":
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_Prepend(self, *args)

    def RemoveFirst(self) -> "void":
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_RemoveFirst(self)

    def Remove(self, theIter: "NCollection_List< NCollection_IndexedDataMap< TopoDS_Shape,TopTools_ListOfShape,TopTools_ShapeMapHasher > >::Iterator &") -> "void":
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_Remove(self, theIter)

    def InsertBefore(self, *args) -> "void":
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _TNaming.TNaming_ListOfIndexedDataMapOfShapeListOfShape_InsertAfter(self, *args)

    def Reverse(self) -> "void":
        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) -> "NCollection_List< NCollection_Map< TopoDS_Shape,TopTools_ShapeMapHasher > >::iterator":
        return _TNaming.TNaming_ListOfMapOfShape_begin(self)

    def end(self) -> "NCollection_List< NCollection_Map< TopoDS_Shape,TopTools_ShapeMapHasher > >::iterator":
        return _TNaming.TNaming_ListOfMapOfShape_end(self)

    def cbegin(self) -> "NCollection_List< NCollection_Map< TopoDS_Shape,TopTools_ShapeMapHasher > >::const_iterator":
        return _TNaming.TNaming_ListOfMapOfShape_cbegin(self)

    def cend(self) -> "NCollection_List< NCollection_Map< TopoDS_Shape,TopTools_ShapeMapHasher > >::const_iterator":
        return _TNaming.TNaming_ListOfMapOfShape_cend(self)

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

    def Size(self) -> "Standard_Integer":
        return _TNaming.TNaming_ListOfMapOfShape_Size(self)

    def Assign(self, theOther: "TNaming_ListOfMapOfShape") -> "NCollection_List< TopTools_MapOfShape > &":
        return _TNaming.TNaming_ListOfMapOfShape_Assign(self, theOther)

    def Set(self, theOther: "TNaming_ListOfMapOfShape") -> "NCollection_List< TopTools_MapOfShape > &":
        return _TNaming.TNaming_ListOfMapOfShape_Set(self, theOther)

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

    def First(self) -> "NCollection_Map< TopoDS_Shape,TopTools_ShapeMapHasher > const &":
        return _TNaming.TNaming_ListOfMapOfShape_First(self)

    def Last(self) -> "NCollection_Map< TopoDS_Shape,TopTools_ShapeMapHasher > const &":
        return _TNaming.TNaming_ListOfMapOfShape_Last(self)

    def Append(self, *args) -> "void":
        return _TNaming.TNaming_ListOfMapOfShape_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _TNaming.TNaming_ListOfMapOfShape_Prepend(self, *args)

    def RemoveFirst(self) -> "void":
        return _TNaming.TNaming_ListOfMapOfShape_RemoveFirst(self)

    def Remove(self, theIter: "TNaming_ListIteratorOfListOfMapOfShape") -> "void":
        return _TNaming.TNaming_ListOfMapOfShape_Remove(self, theIter)

    def InsertBefore(self, *args) -> "void":
        return _TNaming.TNaming_ListOfMapOfShape_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _TNaming.TNaming_ListOfMapOfShape_InsertAfter(self, *args)

    def Reverse(self) -> "void":
        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) -> "NCollection_List< opencascade::handle< TNaming_NamedShape > >::iterator":
        return _TNaming.TNaming_ListOfNamedShape_begin(self)

    def end(self) -> "NCollection_List< opencascade::handle< TNaming_NamedShape > >::iterator":
        return _TNaming.TNaming_ListOfNamedShape_end(self)

    def cbegin(self) -> "NCollection_List< opencascade::handle< TNaming_NamedShape > >::const_iterator":
        return _TNaming.TNaming_ListOfNamedShape_cbegin(self)

    def cend(self) -> "NCollection_List< opencascade::handle< TNaming_NamedShape > >::const_iterator":
        return _TNaming.TNaming_ListOfNamedShape_cend(self)

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

    def Size(self) -> "Standard_Integer":
        return _TNaming.TNaming_ListOfNamedShape_Size(self)

    def Assign(self, theOther: "TNaming_ListOfNamedShape") -> "NCollection_List< opencascade::handle< TNaming_NamedShape > > &":
        return _TNaming.TNaming_ListOfNamedShape_Assign(self, theOther)

    def Set(self, theOther: "TNaming_ListOfNamedShape") -> "NCollection_List< opencascade::handle< TNaming_NamedShape > > &":
        return _TNaming.TNaming_ListOfNamedShape_Set(self, theOther)

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

    def First(self) -> "opencascade::handle< TNaming_NamedShape > const &":
        return _TNaming.TNaming_ListOfNamedShape_First(self)

    def Last(self) -> "opencascade::handle< TNaming_NamedShape > const &":
        return _TNaming.TNaming_ListOfNamedShape_Last(self)

    def Append(self, *args) -> "void":
        return _TNaming.TNaming_ListOfNamedShape_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _TNaming.TNaming_ListOfNamedShape_Prepend(self, *args)

    def RemoveFirst(self) -> "void":
        return _TNaming.TNaming_ListOfNamedShape_RemoveFirst(self)

    def Remove(self, theIter: "TNaming_ListIteratorOfListOfNamedShape") -> "void":
        return _TNaming.TNaming_ListOfNamedShape_Remove(self, theIter)

    def InsertBefore(self, *args) -> "void":
        return _TNaming.TNaming_ListOfNamedShape_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _TNaming.TNaming_ListOfNamedShape_InsertAfter(self, *args)

    def Reverse(self) -> "void":
        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) -> "NCollection_Map< opencascade::handle< TNaming_NamedShape >,TNaming_NamedShapeHasher >::const_iterator":
        return _TNaming.TNaming_MapOfNamedShape_cbegin(self)

    def cend(self) -> "NCollection_Map< opencascade::handle< TNaming_NamedShape >,TNaming_NamedShapeHasher >::const_iterator":
        return _TNaming.TNaming_MapOfNamedShape_cend(self)

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

    def Exchange(self, theOther: "TNaming_MapOfNamedShape") -> "void":
        return _TNaming.TNaming_MapOfNamedShape_Exchange(self, theOther)

    def Assign(self, theOther: "TNaming_MapOfNamedShape") -> "NCollection_Map< opencascade::handle< TNaming_NamedShape >,TNaming_NamedShapeHasher > &":
        return _TNaming.TNaming_MapOfNamedShape_Assign(self, theOther)

    def Set(self, theOther: "TNaming_MapOfNamedShape") -> "NCollection_Map< opencascade::handle< TNaming_NamedShape >,TNaming_NamedShapeHasher > &":
        return _TNaming.TNaming_MapOfNamedShape_Set(self, theOther)

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

    def Add(self, K: "opencascade::handle< TNaming_NamedShape > const &") -> "Standard_Boolean":
        return _TNaming.TNaming_MapOfNamedShape_Add(self, K)

    def Added(self, K: "opencascade::handle< TNaming_NamedShape > const &") -> "opencascade::handle< TNaming_NamedShape > const &":
        return _TNaming.TNaming_MapOfNamedShape_Added(self, K)

    def Remove(self, K: "opencascade::handle< TNaming_NamedShape > const &") -> "Standard_Boolean":
        return _TNaming.TNaming_MapOfNamedShape_Remove(self, K)

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

    def Size(self) -> "Standard_Integer":
        return _TNaming.TNaming_MapOfNamedShape_Size(self)

    def IsEqual(self, theOther: "TNaming_MapOfNamedShape") -> "Standard_Boolean":
        return _TNaming.TNaming_MapOfNamedShape_IsEqual(self, theOther)

    def Contains(self, *args) -> "Standard_Boolean":
        return _TNaming.TNaming_MapOfNamedShape_Contains(self, *args)

    def Union(self, theLeft: "TNaming_MapOfNamedShape", theRight: "TNaming_MapOfNamedShape") -> "void":
        return _TNaming.TNaming_MapOfNamedShape_Union(self, theLeft, theRight)

    def Unite(self, theOther: "TNaming_MapOfNamedShape") -> "Standard_Boolean":
        return _TNaming.TNaming_MapOfNamedShape_Unite(self, theOther)

    def HasIntersection(self, theMap: "TNaming_MapOfNamedShape") -> "Standard_Boolean":
        return _TNaming.TNaming_MapOfNamedShape_HasIntersection(self, theMap)

    def Intersection(self, theLeft: "TNaming_MapOfNamedShape", theRight: "TNaming_MapOfNamedShape") -> "void":
        return _TNaming.TNaming_MapOfNamedShape_Intersection(self, theLeft, theRight)

    def Intersect(self, theOther: "TNaming_MapOfNamedShape") -> "Standard_Boolean":
        return _TNaming.TNaming_MapOfNamedShape_Intersect(self, theOther)

    def Subtraction(self, theLeft: "TNaming_MapOfNamedShape", theRight: "TNaming_MapOfNamedShape") -> "void":
        return _TNaming.TNaming_MapOfNamedShape_Subtraction(self, theLeft, theRight)

    def Subtract(self, theOther: "TNaming_MapOfNamedShape") -> "Standard_Boolean":
        return _TNaming.TNaming_MapOfNamedShape_Subtract(self, theOther)

    def Difference(self, theLeft: "TNaming_MapOfNamedShape", theRight: "TNaming_MapOfNamedShape") -> "void":
        return _TNaming.TNaming_MapOfNamedShape_Difference(self, theLeft, theRight)

    def Differ(self, theOther: "TNaming_MapOfNamedShape") -> "Standard_Boolean":
        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) -> "NCollection_Map< TopoDS_Shape >::const_iterator":
        return _TNaming.TNaming_MapOfShape_cbegin(self)

    def cend(self) -> "NCollection_Map< TopoDS_Shape >::const_iterator":
        return _TNaming.TNaming_MapOfShape_cend(self)

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

    def Exchange(self, theOther: "TNaming_MapOfShape") -> "void":
        return _TNaming.TNaming_MapOfShape_Exchange(self, theOther)

    def Assign(self, theOther: "TNaming_MapOfShape") -> "NCollection_Map< TopoDS_Shape > &":
        return _TNaming.TNaming_MapOfShape_Assign(self, theOther)

    def Set(self, theOther: "TNaming_MapOfShape") -> "NCollection_Map< TopoDS_Shape > &":
        return _TNaming.TNaming_MapOfShape_Set(self, theOther)

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

    def Add(self, K: "TopoDS_Shape") -> "Standard_Boolean":
        return _TNaming.TNaming_MapOfShape_Add(self, K)

    def Added(self, K: "TopoDS_Shape") -> "TopoDS_Shape const &":
        return _TNaming.TNaming_MapOfShape_Added(self, K)

    def Remove(self, K: "TopoDS_Shape") -> "Standard_Boolean":
        return _TNaming.TNaming_MapOfShape_Remove(self, K)

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

    def Size(self) -> "Standard_Integer":
        return _TNaming.TNaming_MapOfShape_Size(self)

    def IsEqual(self, theOther: "TNaming_MapOfShape") -> "Standard_Boolean":
        return _TNaming.TNaming_MapOfShape_IsEqual(self, theOther)

    def Contains(self, *args) -> "Standard_Boolean":
        return _TNaming.TNaming_MapOfShape_Contains(self, *args)

    def Union(self, theLeft: "TNaming_MapOfShape", theRight: "TNaming_MapOfShape") -> "void":
        return _TNaming.TNaming_MapOfShape_Union(self, theLeft, theRight)

    def Unite(self, theOther: "TNaming_MapOfShape") -> "Standard_Boolean":
        return _TNaming.TNaming_MapOfShape_Unite(self, theOther)

    def HasIntersection(self, theMap: "TNaming_MapOfShape") -> "Standard_Boolean":
        return _TNaming.TNaming_MapOfShape_HasIntersection(self, theMap)

    def Intersection(self, theLeft: "TNaming_MapOfShape", theRight: "TNaming_MapOfShape") -> "void":
        return _TNaming.TNaming_MapOfShape_Intersection(self, theLeft, theRight)

    def Intersect(self, theOther: "TNaming_MapOfShape") -> "Standard_Boolean":
        return _TNaming.TNaming_MapOfShape_Intersect(self, theOther)

    def Subtraction(self, theLeft: "TNaming_MapOfShape", theRight: "TNaming_MapOfShape") -> "void":
        return _TNaming.TNaming_MapOfShape_Subtraction(self, theLeft, theRight)

    def Subtract(self, theOther: "TNaming_MapOfShape") -> "Standard_Boolean":
        return _TNaming.TNaming_MapOfShape_Subtract(self, theOther)

    def Difference(self, theLeft: "TNaming_MapOfShape", theRight: "TNaming_MapOfShape") -> "void":
        return _TNaming.TNaming_MapOfShape_Difference(self, theLeft, theRight)

    def Differ(self, theOther: "TNaming_MapOfShape") -> "Standard_Boolean":
        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: "opencascade::handle< TNaming_NamedShape > const &", theUpperBound: "Standard_Integer const") -> "Standard_Integer":
        return _TNaming.TNaming_NamedShapeHasher_HashCode(theKey, theUpperBound)

    @staticmethod
    def IsEqual(theKey1: "opencascade::handle< TNaming_NamedShape > const &", theKey2: "opencascade::handle< TNaming_NamedShape > const &") -> "Standard_Boolean":
        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)

def TNaming_NamedShapeHasher_HashCode(theKey: "opencascade::handle< TNaming_NamedShape > const &", theUpperBound: "Standard_Integer const") -> "Standard_Integer":
    return _TNaming.TNaming_NamedShapeHasher_HashCode(theKey, theUpperBound)

def TNaming_NamedShapeHasher_IsEqual(theKey1: "opencascade::handle< TNaming_NamedShape > const &", theKey2: "opencascade::handle< TNaming_NamedShape > const &") -> "Standard_Boolean":
    return _TNaming.TNaming_NamedShapeHasher_IsEqual(theKey1, theKey2)

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) -> "void":
        r"""
        Remplace les shapes du label et des sous-labels par des copies.

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

        Returns
        -------
        None

        """
        return _TNaming.tnaming_ChangeShapes(*args)

    @staticmethod
    def Displace(*args) -> "void":
        r"""
        Application de la location sur les shapes du label et de ses sous labels.

        Parameters
        ----------
        label: TDF_Label
        aLocation: TopLoc_Location
        WithOld: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _TNaming.tnaming_Displace(*args)

    @staticmethod
    def FindUniqueContext(*args) -> "TopoDS_Shape":
        r"""
        Find unique context of shape <s>.

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

        Returns
        -------
        TopoDS_Shape

        """
        return _TNaming.tnaming_FindUniqueContext(*args)

    @staticmethod
    def FindUniqueContextSet(*args) -> "TopoDS_Shape":
        r"""
        Find unique context of shape <s>,which is pure concatenation of atomic shapes (compound). the result is concatenation of single contexts.

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

        Returns
        -------
        TopoDS_Shape

        """
        return _TNaming.tnaming_FindUniqueContextSet(*args)

    @staticmethod
    def IDList(*args) -> "void":
        r"""
        Appends to <anidlist> the list of the attributes ids of this package. caution: <anidlist> is not cleared before use.

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

        Returns
        -------
        None

        """
        return _TNaming.tnaming_IDList(*args)

    @staticmethod
    def MakeShape(*args) -> "TopoDS_Shape":
        r"""
        Builds shape from map content.

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

        Returns
        -------
        TopoDS_Shape

        """
        return _TNaming.tnaming_MakeShape(*args)

    @staticmethod
    def OuterShell(*args) -> "Standard_Boolean":
        r"""
        Returns true if outer shell is found and the found shell in <theshell>. print of tnaming enumeration =============================.

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

        Returns
        -------
        bool

        """
        return _TNaming.tnaming_OuterShell(*args)

    @staticmethod
    def OuterWire(*args) -> "Standard_Boolean":
        r"""
        Returns true if outer wire is found and the found wire in <thewire>.

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

        Returns
        -------
        bool

        """
        return _TNaming.tnaming_OuterWire(*args)

    @staticmethod
    def Replicate(*args) -> "void":
        r"""
        Replicates the named shape with the transformation <t> on the label <l> (and sub-labels if necessary) (tnaming_generated is set).

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

        Returns
        -------
        None
        Replicates the 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

        Returns
        -------
        None

        """
        return _TNaming.tnaming_Replicate(*args)

    @staticmethod
    def Substitute(*args) -> "void":
        r"""
        Subtituter les shapes sur les structures de source vers cible.

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

        Returns
        -------
        None

        """
        return _TNaming.tnaming_Substitute(*args)

    @staticmethod
    def SubstituteSShape(*args) -> "Standard_Boolean":
        r"""
        Subtitutes shape in source structure.

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

        Returns
        -------
        bool

        """
        return _TNaming.tnaming_SubstituteSShape(*args)

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

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

        Returns
        -------
        None

        """
        return _TNaming.tnaming_Transform(*args)

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

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

        Returns
        -------
        None

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

def tnaming_ChangeShapes(*args) -> "void":
    r"""
    Remplace les shapes du label et des sous-labels par des copies.

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

    Returns
    -------
    None

    """
    return _TNaming.tnaming_ChangeShapes(*args)

def tnaming_Displace(*args) -> "void":
    r"""
    Application de la location sur les shapes du label et de ses sous labels.

    Parameters
    ----------
    label: TDF_Label
    aLocation: TopLoc_Location
    WithOld: bool,optional
    	default value is Standard_True

    Returns
    -------
    None

    """
    return _TNaming.tnaming_Displace(*args)

def tnaming_FindUniqueContext(*args) -> "TopoDS_Shape":
    r"""
    Find unique context of shape <s>.

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

    Returns
    -------
    TopoDS_Shape

    """
    return _TNaming.tnaming_FindUniqueContext(*args)

def tnaming_FindUniqueContextSet(*args) -> "TopoDS_Shape":
    r"""
    Find unique context of shape <s>,which is pure concatenation of atomic shapes (compound). the result is concatenation of single contexts.

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

    Returns
    -------
    TopoDS_Shape

    """
    return _TNaming.tnaming_FindUniqueContextSet(*args)

def tnaming_IDList(*args) -> "void":
    r"""
    Appends to <anidlist> the list of the attributes ids of this package. caution: <anidlist> is not cleared before use.

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

    Returns
    -------
    None

    """
    return _TNaming.tnaming_IDList(*args)

def tnaming_MakeShape(*args) -> "TopoDS_Shape":
    r"""
    Builds shape from map content.

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

    Returns
    -------
    TopoDS_Shape

    """
    return _TNaming.tnaming_MakeShape(*args)

def tnaming_OuterShell(*args) -> "Standard_Boolean":
    r"""
    Returns true if outer shell is found and the found shell in <theshell>. print of tnaming enumeration =============================.

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

    Returns
    -------
    bool

    """
    return _TNaming.tnaming_OuterShell(*args)

def tnaming_OuterWire(*args) -> "Standard_Boolean":
    r"""
    Returns true if outer wire is found and the found wire in <thewire>.

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

    Returns
    -------
    bool

    """
    return _TNaming.tnaming_OuterWire(*args)

def tnaming_Replicate(*args) -> "void":
    r"""
    Replicates the named shape with the transformation <t> on the label <l> (and sub-labels if necessary) (tnaming_generated is set).

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

    Returns
    -------
    None
    Replicates the 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

    Returns
    -------
    None

    """
    return _TNaming.tnaming_Replicate(*args)

def tnaming_Substitute(*args) -> "void":
    r"""
    Subtituter les shapes sur les structures de source vers cible.

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

    Returns
    -------
    None

    """
    return _TNaming.tnaming_Substitute(*args)

def tnaming_SubstituteSShape(*args) -> "Standard_Boolean":
    r"""
    Subtitutes shape in source structure.

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

    Returns
    -------
    bool

    """
    return _TNaming.tnaming_SubstituteSShape(*args)

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

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

    Returns
    -------
    None

    """
    return _TNaming.tnaming_Transform(*args)

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

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

    Returns
    -------
    None

    """
    return _TNaming.tnaming_Update(*args)

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"""
        Create an builder. warning: before addition copies the current value, and clear.

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

    def Generated(self, *args) -> "void":
        r"""
        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
        ----------
        newShape: TopoDS_Shape

        Returns
        -------
        None
        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.

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

    def NamedShape(self, *args) -> "opencascade::handle< TNaming_NamedShape >":
        r"""
        Returns the namedshape which has been built or is under construction.

        Returns
        -------
        opencascade::handle<TNaming_NamedShape>

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

    def Select(self, *args) -> "void":
        r"""
        Add a shape to the current label , this shape is unmodified. used for example to define a set of shapes under a label.

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

        Returns
        -------
        None

        """
        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) -> "void":
        r"""
        Makes copy a set of shape(s), using the amap.

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

        Returns
        -------
        None

        """
        return _TNaming.TNaming_CopyShape_CopyTool(*args)

    @staticmethod
    def Translate(*args) -> "TopLoc_Location":
        r"""
        Translates a transient shape(s) to transient.

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

        Returns
        -------
        None
        Translates a topological location to an other top. location.

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

        Returns
        -------
        TopLoc_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)

def TNaming_CopyShape_CopyTool(*args) -> "void":
    r"""
    Makes copy a set of shape(s), using the amap.

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

    Returns
    -------
    None

    """
    return _TNaming.TNaming_CopyShape_CopyTool(*args)

def TNaming_CopyShape_Translate(*args) -> "TopLoc_Location":
    r"""
    Translates a transient shape(s) to transient.

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

    Returns
    -------
    None
    Translates a topological location to an other top. location.

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

    Returns
    -------
    TopLoc_Location

    """
    return _TNaming.TNaming_CopyShape_Translate(*args)

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"""
        Initializes a tdf_deltaonmodification.

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

        Returns
        -------
        None

        """
        _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"""
        Initializes a tdf_deltaonmodification.

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

        Returns
        -------
        None

        """
        _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"""
        No available documentation.

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

        Returns
        -------
        None
        No available documentation.

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

        Returns
        -------
        bool

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

    def Feature(self, *args) -> "opencascade::handle< TNaming_NamedShape >":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<TNaming_NamedShape>

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

    def FeatureArg(self, *args) -> "opencascade::handle< TNaming_NamedShape >":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<TNaming_NamedShape>

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

        Returns
        -------
        None

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

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

        Returns
        -------
        bool

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

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

        Returns
        -------
        bool

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

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

        Returns
        -------
        bool

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

    def NamedShapeOfGeneration(self, *args) -> "opencascade::handle< TNaming_NamedShape >":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<TNaming_NamedShape>

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

        Returns
        -------
        TopoDS_Shape

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

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

        Returns
        -------
        TopoDS_Shape

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

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

        Returns
        -------
        TNaming_NameType

        """
        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"""
        Iterates on all the history records in <anatt>.

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

        Returns
        -------
        None
        Iterates on all the history records in the current transaction.

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

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

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

        Returns
        -------
        None

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

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

        Returns
        -------
        TNaming_Evolution

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

    def IsModification(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the new shape is a modification (split, fuse,etc...) of the old shape.

        Returns
        -------
        bool

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

    def More(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if there is a current item in the iteration.

        Returns
        -------
        bool

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

    def NewShape(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns the new shape in this iterator object.

        Returns
        -------
        TopoDS_Shape

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

    def Next(self, *args) -> "void":
        r"""
        Moves the iteration to the next item.

        Returns
        -------
        None

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

    def OldShape(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns the old shape in this iterator object. this shape can be a null one.

        Returns
        -------
        TopoDS_Shape

        """
        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"""
        No available documentation.

        Returns
        -------
        None
        No available documentation.

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

        Returns
        -------
        None

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

    def Init(self, *args) -> "void":
        r"""
        Initialize the iteration.

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

        Returns
        -------
        None

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

    def More(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if there is a current item in the iteration.

        Returns
        -------
        bool

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

    def Next(self, *args) -> "void":
        r"""
        Move to the next item.

        Returns
        -------
        None

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

    def Value(self, *args) -> "TopoDS_Shape const":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape

        """
        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"""
        No available documentation.

        Returns
        -------
        None

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

    def Ancestors(self, *args) -> "TopTools_IndexedDataMapOfShapeListOfShape const &":
        r"""
        No available documentation.

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

        Returns
        -------
        TopTools_IndexedDataMapOfShapeListOfShape

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

    @staticmethod
    def FindGenerator(*args) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

        """
        return _TNaming.TNaming_Localizer_FindGenerator(*args)

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

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

        Returns
        -------
        None

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

    @staticmethod
    def FindShapeContext(*args) -> "void":
        r"""
        Finds context of the shape <s>.

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

        Returns
        -------
        None

        """
        return _TNaming.TNaming_Localizer_FindShapeContext(*args)

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

    @staticmethod
    def IsNew(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

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

        Returns
        -------
        bool

        """
        return _TNaming.TNaming_Localizer_IsNew(*args)

    def SubShapes(self, *args) -> "TopTools_MapOfShape const &":
        r"""
        No available documentation.

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

        Returns
        -------
        TopTools_MapOfShape

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

def TNaming_Localizer_FindGenerator(*args) -> "void":
    r"""
    No available documentation.

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

    Returns
    -------
    None

    """
    return _TNaming.TNaming_Localizer_FindGenerator(*args)

def TNaming_Localizer_FindShapeContext(*args) -> "void":
    r"""
    Finds context of the shape <s>.

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

    Returns
    -------
    None

    """
    return _TNaming.TNaming_Localizer_FindShapeContext(*args)

def TNaming_Localizer_IsNew(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

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

    Returns
    -------
    bool

    """
    return _TNaming.TNaming_Localizer_IsNew(*args)

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"""
        No available documentation.

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

    def Arguments(self, *args) -> "TNaming_ListOfNamedShape const &":
        r"""
        No available documentation.

        Returns
        -------
        TNaming_ListOfNamedShape

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

    def ContextLabel(self, *args) -> "TDF_Label const &":
        r"""
        No available documentation.

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

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        TDF_Label

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(TNaming_Name self, int depth=-1) -> std::string"""
        return _TNaming.TNaming_Name_DumpJsonToString(self, depth)

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

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

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        int

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

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

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

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        TopAbs_Orientation

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        TopoDS_Shape

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

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

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

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        TopAbs_ShapeEnum

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

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

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

        Returns
        -------
        bool

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

    def StopNamedShape(self, *args) -> "opencascade::handle< TNaming_NamedShape >":
        r"""
        No available documentation.

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

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        opencascade::handle<TNaming_NamedShape>

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

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

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

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        TNaming_NameType

        """
        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"""
        No available documentation.

        Returns
        -------
        None

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

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

        Returns
        -------
        None

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

    def DeltaOnModification(self, *args) -> "void":
        r"""
        Makes a deltaonmodification between <self> and <anoldattribute.

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

        Returns
        -------
        opencascade::handle<TDF_DeltaOnModification>
        Applies a deltaonmodification to <self>.

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

        Returns
        -------
        None

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

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(TNaming_NamedShape self, int depth=-1) -> std::string"""
        return _TNaming.TNaming_NamedShape_DumpJsonToString(self, depth)

    def Evolution(self, *args) -> "TNaming_Evolution":
        r"""
        Returns the evolution of the attribute.

        Returns
        -------
        TNaming_Evolution

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

    def Get(self, *args) -> "TopoDS_Shape":
        r"""
        Returns the shapes contained in <ns>. returns a null shape if isempty.

        Returns
        -------
        TopoDS_Shape

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        Class method ============ returns the guid for named shapes.

        Returns
        -------
        Standard_GUID

        """
        return _TNaming.TNaming_NamedShape_GetID(*args)

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

        Returns
        -------
        bool

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

    def SetVersion(self, *args) -> "void":
        r"""
        Set the version of the attribute.

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

        Returns
        -------
        None

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

    def Version(self, *args) -> "Standard_Integer":
        r"""
        Returns the version of the attribute.

        Returns
        -------
        int

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

def TNaming_NamedShape_GetID(*args) -> "Standard_GUID const &":
    r"""
    Class method ============ returns the guid for named shapes.

    Returns
    -------
    Standard_GUID

    """
    return _TNaming.TNaming_NamedShape_GetID(*args)

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"""
        No available documentation.

        Returns
        -------
        None

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

    def ChangeName(self, *args) -> "TNaming_Name &":
        r"""
        No available documentation.

        Returns
        -------
        TNaming_Name

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

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(TNaming_Naming self, int depth=-1) -> std::string"""
        return _TNaming.TNaming_Naming_DumpJsonToString(self, depth)

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        Following code from tdesignstd ==============================.

        Returns
        -------
        Standard_GUID

        """
        return _TNaming.TNaming_Naming_GetID(*args)

    def GetName(self, *args) -> "TNaming_Name const &":
        r"""
        No available documentation.

        Returns
        -------
        TNaming_Name

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

    @staticmethod
    def Insert(*args) -> "opencascade::handle< TNaming_Naming >":
        r"""
        No available documentation.

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

        Returns
        -------
        opencascade::handle<TNaming_Naming>

        """
        return _TNaming.TNaming_Naming_Insert(*args)

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

        Returns
        -------
        bool

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

    @staticmethod
    def Name(*args) -> "opencascade::handle< TNaming_NamedShape >":
        r"""
        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 ===============.

        Parameters
        ----------
        where: TDF_Label
        Selection: TopoDS_Shape
        Context: TopoDS_Shape
        Geometry: bool,optional
        	default value is Standard_False
        KeepOrientation: bool,optional
        	default value is Standard_False
        BNproblem: bool,optional
        	default value is Standard_False

        Returns
        -------
        opencascade::handle<TNaming_NamedShape>

        """
        return _TNaming.TNaming_Naming_Name(*args)

    def Regenerate(self, *args) -> "Standard_Boolean":
        r"""
        Regenerate only the name associated to me.

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

        Returns
        -------
        bool

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

    def Solve(self, *args) -> "Standard_Boolean":
        r"""
        Regenerate recursively the whole name with scope. if scope is empty it means that all the labels of the framework are valid.

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

        Returns
        -------
        bool

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

def TNaming_Naming_GetID(*args) -> "Standard_GUID const &":
    r"""
    Following code from tdesignstd ==============================.

    Returns
    -------
    Standard_GUID

    """
    return _TNaming.TNaming_Naming_GetID(*args)

def TNaming_Naming_Insert(*args) -> "opencascade::handle< TNaming_Naming >":
    r"""
    No available documentation.

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

    Returns
    -------
    opencascade::handle<TNaming_Naming>

    """
    return _TNaming.TNaming_Naming_Insert(*args)

def TNaming_Naming_Name(*args) -> "opencascade::handle< TNaming_NamedShape >":
    r"""
    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 ===============.

    Parameters
    ----------
    where: TDF_Label
    Selection: TopoDS_Shape
    Context: TopoDS_Shape
    Geometry: bool,optional
    	default value is Standard_False
    KeepOrientation: bool,optional
    	default value is Standard_False
    BNproblem: bool,optional
    	default value is Standard_False

    Returns
    -------
    opencascade::handle<TNaming_NamedShape>

    """
    return _TNaming.TNaming_Naming_Name(*args)

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) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

        """
        return _TNaming.TNaming_NamingTool_BuildDescendants(*args)

    @staticmethod
    def CurrentShape(*args) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

        """
        return _TNaming.TNaming_NamingTool_CurrentShape(*args)

    @staticmethod
    def CurrentShapeFromShape(*args) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

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

def TNaming_NamingTool_BuildDescendants(*args) -> "void":
    r"""
    No available documentation.

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

    Returns
    -------
    None

    """
    return _TNaming.TNaming_NamingTool_BuildDescendants(*args)

def TNaming_NamingTool_CurrentShape(*args) -> "void":
    r"""
    No available documentation.

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

    Returns
    -------
    None

    """
    return _TNaming.TNaming_NamingTool_CurrentShape(*args)

def TNaming_NamingTool_CurrentShapeFromShape(*args) -> "void":
    r"""
    No available documentation.

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

    Returns
    -------
    None

    """
    return _TNaming.TNaming_NamingTool_CurrentShapeFromShape(*args)

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"""
        No available documentation.

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

        Returns
        -------
        None
        No available documentation.

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

        Returns
        -------
        None
        Iterates from the current shape in <aniterator>.

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

        Returns
        -------
        None
        Iterates from the current shape in <aniterator>.

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

        Returns
        -------
        None

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

    def IsModification(self, *args) -> "Standard_Boolean":
        r"""
        True if the new shape is a modification (split, fuse,etc...) of the old shape.

        Returns
        -------
        bool

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

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

        Returns
        -------
        TDF_Label

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

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

        Returns
        -------
        bool

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

    def NamedShape(self, *args) -> "opencascade::handle< TNaming_NamedShape >":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<TNaming_NamedShape>

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

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

        Returns
        -------
        None

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

    def Shape(self, *args) -> "TopoDS_Shape const":
        r"""
        Warning! can be a null shape if a descendant is deleted.

        Returns
        -------
        TopoDS_Shape

        """
        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"""
        No available documentation.

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

        Returns
        -------
        None
        No available documentation.

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

        Returns
        -------
        None
        Iterates from the current shape in <aniterator>.

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

        Returns
        -------
        None
        Iterates from the current shape in <aniterator>.

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

        Returns
        -------
        None

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

    def IsModification(self, *args) -> "Standard_Boolean":
        r"""
        True if the new shape is a modification (split, fuse,etc...) of the old shape.

        Returns
        -------
        bool

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

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

        Returns
        -------
        TDF_Label

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

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

        Returns
        -------
        bool

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

    def NamedShape(self, *args) -> "opencascade::handle< TNaming_NamedShape >":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<TNaming_NamedShape>

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

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

        Returns
        -------
        None

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

    def Shape(self, *args) -> "TopoDS_Shape const":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Shape

        """
        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"""
        No available documentation.

        Returns
        -------
        None
        No available documentation.

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

        Returns
        -------
        None

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(TNaming_RefShape self, int depth=-1) -> std::string"""
        return _TNaming.TNaming_RefShape_DumpJsonToString(self, depth)

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

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

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        TNaming_PtrNode

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

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

        Returns
        -------
        TDF_Label

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

    def NamedShape(self, *args) -> "opencascade::handle< TNaming_NamedShape >":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<TNaming_NamedShape>

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

    def Shape(self, *args) -> "TopoDS_Shape const":
        r"""
        No available documentation.

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

        Returns
        -------
        None
        No available documentation.

        Returns
        -------
        TopoDS_Shape

        """
        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"""
        No available documentation.

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

        Returns
        -------
        None

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

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

        Returns
        -------
        TDF_Label

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

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

        Returns
        -------
        bool

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

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

        Returns
        -------
        None

        """
        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"""
        Withvalid = false.

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

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

        Returns
        -------
        None
        Create a scope with a map. withvalid = true.

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

        Returns
        -------
        None

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

    def ChangeValid(self, *args) -> "TDF_LabelMap &":
        r"""
        No available documentation.

        Returns
        -------
        TDF_LabelMap

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

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

        Returns
        -------
        None

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

    def CurrentShape(self, *args) -> "TopoDS_Shape":
        r"""
        Returns the current value of <ns> according to the valid scope.

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

        Returns
        -------
        TopoDS_Shape

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

    def GetValid(self, *args) -> "TDF_LabelMap const &":
        r"""
        No available documentation.

        Returns
        -------
        TDF_LabelMap

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

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

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

        Returns
        -------
        bool

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

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

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

        Returns
        -------
        None

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

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

        Parameters
        ----------
        L: TDF_Label
        withroot: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

        Parameters
        ----------
        L: TDF_Label
        withroot: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

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

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

        Returns
        -------
        bool
        No available documentation.

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

        Returns
        -------
        None

        """
        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"""
        Create a selector on this label to select a shape. ==================.

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

        Returns
        -------
        None

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

    def Arguments(self, *args) -> "void":
        r"""
        Returns the attribute list args. this list contains the named shape on which the topological naming was built.

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

        Returns
        -------
        None

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

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

        Parameters
        ----------
        access: TDF_Label
        selection: TopoDS_Shape
        NS: TNaming_NamedShape
        Geometry: bool,optional
        	default value is Standard_False

        Returns
        -------
        bool

        """
        return _TNaming.TNaming_Selector_IsIdentified(*args)

    def NamedShape(self, *args) -> "opencascade::handle< TNaming_NamedShape >":
        r"""
        Returns the namedshape build or under construction, which contains the topological naming..

        Returns
        -------
        opencascade::handle<TNaming_NamedShape>

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

    def Select(self, *args) -> "Standard_Boolean":
        r"""
        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
        Context: TopoDS_Shape
        Geometry: bool,optional
        	default value is Standard_False
        KeepOrientatation: bool,optional
        	default value is Standard_False

        Returns
        -------
        bool
        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.

        Parameters
        ----------
        Selection: TopoDS_Shape
        Geometry: bool,optional
        	default value is Standard_False
        KeepOrientatation: bool,optional
        	default value is Standard_False

        Returns
        -------
        bool

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

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

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

        Returns
        -------
        bool

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

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

    Parameters
    ----------
    access: TDF_Label
    selection: TopoDS_Shape
    NS: TNaming_NamedShape
    Geometry: bool,optional
    	default value is Standard_False

    Returns
    -------
    bool

    """
    return _TNaming.TNaming_Selector_IsIdentified(*args)

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"""
        No available documentation.

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape
        Type: TopAbs_ShapeEnum,optional
        	default value is TopAbs_SHAPE

        Returns
        -------
        None

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

    def Add(self, *args) -> "void":
        r"""
        Adds the shape <s>.

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

        Returns
        -------
        bool
        Adds the shapes contained in <shapes>.

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

        Returns
        -------
        None

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

    def ChangeMap(self, *args) -> "TopTools_MapOfShape &":
        r"""
        No available documentation.

        Returns
        -------
        TopTools_MapOfShape

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

    def Clear(self, *args) -> "void":
        r"""
        Removes all shapes.

        Returns
        -------
        None

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

    def Contains(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if <s> is in <self>.

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

        Returns
        -------
        bool

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

    def Filter(self, *args) -> "void":
        r"""
        Erases in <self> the shapes not contained in <shapes>.

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

        Returns
        -------
        None

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

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

        Returns
        -------
        bool

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

    def Map(self, *args) -> "TopTools_MapOfShape const &":
        r"""
        No available documentation.

        Returns
        -------
        TopTools_MapOfShape

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

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

        Returns
        -------
        int

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

    def Remove(self, *args) -> "void":
        r"""
        Removes <s> in <self>.

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

        Returns
        -------
        bool
        Removes in <self> the shapes contained in <shapes>.

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

        Returns
        -------
        None

        """
        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) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        NS: TNaming_NamedShape
        Labels: TNaming_MapOfNamedShape
        OnlyModif: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _TNaming.TNaming_Tool_Collect(*args)

    @staticmethod
    def CurrentNamedShape(*args) -> "opencascade::handle< TNaming_NamedShape >":
        r"""
        Returns the namedshape of the last modification of <ns>. this shape is identified by a label.

        Parameters
        ----------
        NS: TNaming_NamedShape
        Updated: TDF_LabelMap

        Returns
        -------
        opencascade::handle<TNaming_NamedShape>
        Returns namedshape the last modification of <ns>.

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

        Returns
        -------
        opencascade::handle<TNaming_NamedShape>

        """
        return _TNaming.TNaming_Tool_CurrentNamedShape(*args)

    @staticmethod
    def CurrentShape(*args) -> "TopoDS_Shape":
        r"""
        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

        Returns
        -------
        TopoDS_Shape
        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.

        Parameters
        ----------
        NS: TNaming_NamedShape
        Updated: TDF_LabelMap

        Returns
        -------
        TopoDS_Shape

        """
        return _TNaming.TNaming_Tool_CurrentShape(*args)

    @staticmethod
    def FindShape(*args) -> "void":
        r"""
        Returns the current shape (a wire or a shell) built (in the data framework) from the the shapes of the argument named shape. it is used for identity name type computation.

        Parameters
        ----------
        Valid: TDF_LabelMap
        Forbiden: TDF_LabelMap
        Arg: TNaming_NamedShape
        S: TopoDS_Shape

        Returns
        -------
        None

        """
        return _TNaming.TNaming_Tool_FindShape(*args)

    @staticmethod
    def GeneratedShape(*args) -> "TopoDS_Shape":
        r"""
        Returns the shape generated from s or by a modification of s and contained in the named shape generation.

        Parameters
        ----------
        S: TopoDS_Shape
        Generation: TNaming_NamedShape

        Returns
        -------
        TopoDS_Shape

        """
        return _TNaming.TNaming_Tool_GeneratedShape(*args)

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

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

        Returns
        -------
        TopoDS_Shape

        """
        return _TNaming.TNaming_Tool_GetShape(*args)

    @staticmethod
    def HasLabel(*args) -> "Standard_Boolean":
        r"""
        Returns true if <ashape> appears under a label.(dp).

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

        Returns
        -------
        bool

        """
        return _TNaming.TNaming_Tool_HasLabel(*args)

    @staticmethod
    def InitialShape(*args) -> "TopoDS_Shape":
        r"""
        Returns the shape created from the shape ashape contained in the attribute anacces.

        Parameters
        ----------
        aShape: TopoDS_Shape
        anAcces: TDF_Label
        Labels: TDF_LabelList

        Returns
        -------
        TopoDS_Shape

        """
        return _TNaming.TNaming_Tool_InitialShape(*args)

    @staticmethod
    def Label(*args) -> "Standard_Integer &":
        r"""
        Returns the label of the first apparition of <ashape>. transdef is a value of the transaction of the first apparition of <ashape>.

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

        Returns
        -------
        TransDef: int

        """
        return _TNaming.TNaming_Tool_Label(*args)

    @staticmethod
    def NamedShape(*args) -> "opencascade::handle< TNaming_NamedShape >":
        r"""
        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.

        Parameters
        ----------
        aShape: TopoDS_Shape
        anAcces: TDF_Label

        Returns
        -------
        opencascade::handle<TNaming_NamedShape>

        """
        return _TNaming.TNaming_Tool_NamedShape(*args)

    @staticmethod
    def OriginalShape(*args) -> "TopoDS_Shape":
        r"""
        Returns the shape contained as oldshape in <ns>.

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

        Returns
        -------
        TopoDS_Shape

        """
        return _TNaming.TNaming_Tool_OriginalShape(*args)

    @staticmethod
    def ValidUntil(*args) -> "Standard_Integer":
        r"""
        Returns the last transaction where the creation of s is valid.

        Parameters
        ----------
        access: TDF_Label
        S: TopoDS_Shape

        Returns
        -------
        int

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

def TNaming_Tool_Collect(*args) -> "void":
    r"""
    No available documentation.

    Parameters
    ----------
    NS: TNaming_NamedShape
    Labels: TNaming_MapOfNamedShape
    OnlyModif: bool,optional
    	default value is Standard_True

    Returns
    -------
    None

    """
    return _TNaming.TNaming_Tool_Collect(*args)

def TNaming_Tool_CurrentNamedShape(*args) -> "opencascade::handle< TNaming_NamedShape >":
    r"""
    Returns the namedshape of the last modification of <ns>. this shape is identified by a label.

    Parameters
    ----------
    NS: TNaming_NamedShape
    Updated: TDF_LabelMap

    Returns
    -------
    opencascade::handle<TNaming_NamedShape>
    Returns namedshape the last modification of <ns>.

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

    Returns
    -------
    opencascade::handle<TNaming_NamedShape>

    """
    return _TNaming.TNaming_Tool_CurrentNamedShape(*args)

def TNaming_Tool_CurrentShape(*args) -> "TopoDS_Shape":
    r"""
    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

    Returns
    -------
    TopoDS_Shape
    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.

    Parameters
    ----------
    NS: TNaming_NamedShape
    Updated: TDF_LabelMap

    Returns
    -------
    TopoDS_Shape

    """
    return _TNaming.TNaming_Tool_CurrentShape(*args)

def TNaming_Tool_FindShape(*args) -> "void":
    r"""
    Returns the current shape (a wire or a shell) built (in the data framework) from the the shapes of the argument named shape. it is used for identity name type computation.

    Parameters
    ----------
    Valid: TDF_LabelMap
    Forbiden: TDF_LabelMap
    Arg: TNaming_NamedShape
    S: TopoDS_Shape

    Returns
    -------
    None

    """
    return _TNaming.TNaming_Tool_FindShape(*args)

def TNaming_Tool_GeneratedShape(*args) -> "TopoDS_Shape":
    r"""
    Returns the shape generated from s or by a modification of s and contained in the named shape generation.

    Parameters
    ----------
    S: TopoDS_Shape
    Generation: TNaming_NamedShape

    Returns
    -------
    TopoDS_Shape

    """
    return _TNaming.TNaming_Tool_GeneratedShape(*args)

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

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

    Returns
    -------
    TopoDS_Shape

    """
    return _TNaming.TNaming_Tool_GetShape(*args)

def TNaming_Tool_HasLabel(*args) -> "Standard_Boolean":
    r"""
    Returns true if <ashape> appears under a label.(dp).

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

    Returns
    -------
    bool

    """
    return _TNaming.TNaming_Tool_HasLabel(*args)

def TNaming_Tool_InitialShape(*args) -> "TopoDS_Shape":
    r"""
    Returns the shape created from the shape ashape contained in the attribute anacces.

    Parameters
    ----------
    aShape: TopoDS_Shape
    anAcces: TDF_Label
    Labels: TDF_LabelList

    Returns
    -------
    TopoDS_Shape

    """
    return _TNaming.TNaming_Tool_InitialShape(*args)

def TNaming_Tool_Label(*args) -> "Standard_Integer &":
    r"""
    Returns the label of the first apparition of <ashape>. transdef is a value of the transaction of the first apparition of <ashape>.

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

    Returns
    -------
    TransDef: int

    """
    return _TNaming.TNaming_Tool_Label(*args)

def TNaming_Tool_NamedShape(*args) -> "opencascade::handle< TNaming_NamedShape >":
    r"""
    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.

    Parameters
    ----------
    aShape: TopoDS_Shape
    anAcces: TDF_Label

    Returns
    -------
    opencascade::handle<TNaming_NamedShape>

    """
    return _TNaming.TNaming_Tool_NamedShape(*args)

def TNaming_Tool_OriginalShape(*args) -> "TopoDS_Shape":
    r"""
    Returns the shape contained as oldshape in <ns>.

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

    Returns
    -------
    TopoDS_Shape

    """
    return _TNaming.TNaming_Tool_OriginalShape(*args)

def TNaming_Tool_ValidUntil(*args) -> "Standard_Integer":
    r"""
    Returns the last transaction where the creation of s is valid.

    Parameters
    ----------
    access: TDF_Label
    S: TopoDS_Shape

    Returns
    -------
    int

    """
    return _TNaming.TNaming_Tool_ValidUntil(*args)

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) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        S1: TopoDS_Shape
        S2: TopoDS_Shape

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

        Parameters
        ----------
        S1: TopoDS_Shape
        S2: TopoDS_Shape
        M: TColStd_IndexedDataMapOfTransientTransient

        Returns
        -------
        None

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

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

        Parameters
        ----------
        S1: TopoDS_Shape
        S2: TopoDS_Shape
        M: TColStd_IndexedDataMapOfTransientTransient

        Returns
        -------
        None

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

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

        Parameters
        ----------
        S1: TopoDS_Shape
        S2: TopoDS_Shape

        Returns
        -------
        None

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

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

        Parameters
        ----------
        S1: TopoDS_Shape
        S2: TopoDS_Shape
        M: TColStd_IndexedDataMapOfTransientTransient

        Returns
        -------
        None

        """
        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"""
        No available documentation.

        Returns
        -------
        None

        """
        _TNaming.TNaming_Translator_swiginit(self, _TNaming.new_TNaming_Translator(*args))

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

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

        Returns
        -------
        None

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

    def Copied(self, *args) -> "TopTools_DataMapOfShapeShape const &":
        r"""
        Returns copied shape.

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

        Returns
        -------
        TopoDS_Shape
        Returns datamap of results; (shape <-> copied shape).

        Returns
        -------
        TopTools_DataMapOfShapeShape

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

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

        Parameters
        ----------
        isWrite: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

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

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

        Returns
        -------
        bool

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

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

        Returns
        -------
        None

        """
        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) -> "void":
        r"""
        No available documentation.

        Returns
        -------
        None

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

    def DumpToString(self) -> "std::string":
        r"""DumpToString(TNaming_UsedShapes self) -> std::string"""
        return _TNaming.TNaming_UsedShapes_DumpToString(self)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(TNaming_UsedShapes self, int depth=-1) -> std::string"""
        return _TNaming.TNaming_UsedShapes_DumpJsonToString(self, depth)

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        Returns the id: 2a96b614-ec8b-11d0-bee7-080009dc3333.

        Returns
        -------
        Standard_GUID

        """
        return _TNaming.TNaming_UsedShapes_GetID(*args)

    def Map(self, *args) -> "TNaming_DataMapOfShapePtrRefShape &":
        r"""
        No available documentation.

        Returns
        -------
        TNaming_DataMapOfShapePtrRefShape

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

def TNaming_UsedShapes_GetID(*args) -> "Standard_GUID const &":
    r"""
    Returns the id: 2a96b614-ec8b-11d0-bee7-080009dc3333.

    Returns
    -------
    Standard_GUID

    """
    return _TNaming.TNaming_UsedShapes_GetID(*args)





