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

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

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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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


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


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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


def process_exception(error, method_name, class_name):
    return _TopTools.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.TopoDS
import OCC.Core.Message
import OCC.Core.TCollection
import OCC.Core.OSD
import OCC.Core.TColStd
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.gp

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

TopTools_FormatVersion_LOWER = _TopTools.TopTools_FormatVersion_LOWER
TopTools_FormatVersion_UPPER = _TopTools.TopTools_FormatVersion_UPPER
TopTools_FormatVersion_VERSION_1 = _TopTools.TopTools_FormatVersion_VERSION_1
TopTools_FormatVersion_VERSION_2 = _TopTools.TopTools_FormatVersion_VERSION_2
TopTools_FormatVersion_VERSION_3 = _TopTools.TopTools_FormatVersion_VERSION_3
TopTools_FormatVersion_CURRENT = _TopTools.TopTools_FormatVersion_CURRENT


class TopTools_FormatVersion(IntEnum):
	TopTools_FormatVersion_VERSION_1 = 1
	TopTools_FormatVersion_VERSION_2 = 2
	TopTools_FormatVersion_VERSION_3 = 3
	TopTools_FormatVersion_CURRENT = TopTools_FormatVersion_VERSION_3
TopTools_FormatVersion_VERSION_1 = TopTools_FormatVersion.TopTools_FormatVersion_VERSION_1
TopTools_FormatVersion_VERSION_2 = TopTools_FormatVersion.TopTools_FormatVersion_VERSION_2
TopTools_FormatVersion_VERSION_3 = TopTools_FormatVersion.TopTools_FormatVersion_VERSION_3
TopTools_FormatVersion_CURRENT = TopTools_FormatVersion.TopTools_FormatVersion_CURRENT


def Handle_TopTools_HArray1OfShape_Create():
    return _TopTools.Handle_TopTools_HArray1OfShape_Create()

def Handle_TopTools_HArray1OfShape_DownCast(t):
    return _TopTools.Handle_TopTools_HArray1OfShape_DownCast(t)

def Handle_TopTools_HArray1OfShape_IsNull(t):
    return _TopTools.Handle_TopTools_HArray1OfShape_IsNull(t)

def Handle_TopTools_HArray1OfListOfShape_Create():
    return _TopTools.Handle_TopTools_HArray1OfListOfShape_Create()

def Handle_TopTools_HArray1OfListOfShape_DownCast(t):
    return _TopTools.Handle_TopTools_HArray1OfListOfShape_DownCast(t)

def Handle_TopTools_HArray1OfListOfShape_IsNull(t):
    return _TopTools.Handle_TopTools_HArray1OfListOfShape_IsNull(t)

def Handle_TopTools_HArray2OfShape_Create():
    return _TopTools.Handle_TopTools_HArray2OfShape_Create()

def Handle_TopTools_HArray2OfShape_DownCast(t):
    return _TopTools.Handle_TopTools_HArray2OfShape_DownCast(t)

def Handle_TopTools_HArray2OfShape_IsNull(t):
    return _TopTools.Handle_TopTools_HArray2OfShape_IsNull(t)

def Handle_TopTools_HSequenceOfShape_Create():
    return _TopTools.Handle_TopTools_HSequenceOfShape_Create()

def Handle_TopTools_HSequenceOfShape_DownCast(t):
    return _TopTools.Handle_TopTools_HSequenceOfShape_DownCast(t)

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

    def begin(self):
        return _TopTools.TopTools_Array1OfListOfShape_begin(self)

    def end(self):
        return _TopTools.TopTools_Array1OfListOfShape_end(self)

    def cbegin(self):
        return _TopTools.TopTools_Array1OfListOfShape_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_Array1OfListOfShape_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_Array1OfListOfShape_swiginit(self, _TopTools.new_TopTools_Array1OfListOfShape(*args))

    def Init(self, theValue):
        return _TopTools.TopTools_Array1OfListOfShape_Init(self, theValue)

    def Size(self):
        return _TopTools.TopTools_Array1OfListOfShape_Size(self)

    def Length(self):
        return _TopTools.TopTools_Array1OfListOfShape_Length(self)

    def IsEmpty(self):
        return _TopTools.TopTools_Array1OfListOfShape_IsEmpty(self)

    def Lower(self):
        return _TopTools.TopTools_Array1OfListOfShape_Lower(self)

    def Upper(self):
        return _TopTools.TopTools_Array1OfListOfShape_Upper(self)

    def IsDeletable(self):
        return _TopTools.TopTools_Array1OfListOfShape_IsDeletable(self)

    def IsAllocated(self):
        return _TopTools.TopTools_Array1OfListOfShape_IsAllocated(self)

    def Assign(self, theOther):
        return _TopTools.TopTools_Array1OfListOfShape_Assign(self, theOther)

    def Move(self, theOther):
        return _TopTools.TopTools_Array1OfListOfShape_Move(self, theOther)

    def Set(self, *args):
        return _TopTools.TopTools_Array1OfListOfShape_Set(self, *args)

    def First(self):
        return _TopTools.TopTools_Array1OfListOfShape_First(self)

    def ChangeFirst(self):
        return _TopTools.TopTools_Array1OfListOfShape_ChangeFirst(self)

    def Last(self):
        return _TopTools.TopTools_Array1OfListOfShape_Last(self)

    def ChangeLast(self):
        return _TopTools.TopTools_Array1OfListOfShape_ChangeLast(self)

    def Value(self, theIndex):
        return _TopTools.TopTools_Array1OfListOfShape_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _TopTools.TopTools_Array1OfListOfShape_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _TopTools.TopTools_Array1OfListOfShape___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _TopTools.TopTools_Array1OfListOfShape_SetValue(self, theIndex, theItem)

    def Resize(self, theLower, theUpper, theToCopyData):
        return _TopTools.TopTools_Array1OfListOfShape_Resize(self, theLower, theUpper, theToCopyData)
    __swig_destroy__ = _TopTools.delete_TopTools_Array1OfListOfShape

    def __getitem__(self, index):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            return self.Value(index + self.Lower())

    def __setitem__(self, index, value):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            self.SetValue(index + self.Lower(), value)

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

    def __iter__(self):
        self.low = self.Lower()
        self.up = self.Upper()
        self.current = self.Lower() - 1
        return self

    def next(self):
        if self.current >= self.Upper():
            raise StopIteration
        else:
            self.current += 1
        return self.Value(self.current)

    __next__ = next


# Register TopTools_Array1OfListOfShape in _TopTools:
_TopTools.TopTools_Array1OfListOfShape_swigregister(TopTools_Array1OfListOfShape)
class TopTools_Array1OfShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TopTools.TopTools_Array1OfShape_begin(self)

    def end(self):
        return _TopTools.TopTools_Array1OfShape_end(self)

    def cbegin(self):
        return _TopTools.TopTools_Array1OfShape_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_Array1OfShape_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_Array1OfShape_swiginit(self, _TopTools.new_TopTools_Array1OfShape(*args))

    def Init(self, theValue):
        return _TopTools.TopTools_Array1OfShape_Init(self, theValue)

    def Size(self):
        return _TopTools.TopTools_Array1OfShape_Size(self)

    def Length(self):
        return _TopTools.TopTools_Array1OfShape_Length(self)

    def IsEmpty(self):
        return _TopTools.TopTools_Array1OfShape_IsEmpty(self)

    def Lower(self):
        return _TopTools.TopTools_Array1OfShape_Lower(self)

    def Upper(self):
        return _TopTools.TopTools_Array1OfShape_Upper(self)

    def IsDeletable(self):
        return _TopTools.TopTools_Array1OfShape_IsDeletable(self)

    def IsAllocated(self):
        return _TopTools.TopTools_Array1OfShape_IsAllocated(self)

    def Assign(self, theOther):
        return _TopTools.TopTools_Array1OfShape_Assign(self, theOther)

    def Move(self, theOther):
        return _TopTools.TopTools_Array1OfShape_Move(self, theOther)

    def Set(self, *args):
        return _TopTools.TopTools_Array1OfShape_Set(self, *args)

    def First(self):
        return _TopTools.TopTools_Array1OfShape_First(self)

    def ChangeFirst(self):
        return _TopTools.TopTools_Array1OfShape_ChangeFirst(self)

    def Last(self):
        return _TopTools.TopTools_Array1OfShape_Last(self)

    def ChangeLast(self):
        return _TopTools.TopTools_Array1OfShape_ChangeLast(self)

    def Value(self, theIndex):
        return _TopTools.TopTools_Array1OfShape_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _TopTools.TopTools_Array1OfShape_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _TopTools.TopTools_Array1OfShape___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _TopTools.TopTools_Array1OfShape_SetValue(self, theIndex, theItem)

    def Resize(self, theLower, theUpper, theToCopyData):
        return _TopTools.TopTools_Array1OfShape_Resize(self, theLower, theUpper, theToCopyData)
    __swig_destroy__ = _TopTools.delete_TopTools_Array1OfShape

    def __getitem__(self, index):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            return self.Value(index + self.Lower())

    def __setitem__(self, index, value):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            self.SetValue(index + self.Lower(), value)

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

    def __iter__(self):
        self.low = self.Lower()
        self.up = self.Upper()
        self.current = self.Lower() - 1
        return self

    def next(self):
        if self.current >= self.Upper():
            raise StopIteration
        else:
            self.current += 1
        return self.Value(self.current)

    __next__ = next


# Register TopTools_Array1OfShape in _TopTools:
_TopTools.TopTools_Array1OfShape_swigregister(TopTools_Array1OfShape)
class TopTools_Array2OfShape(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):
        _TopTools.TopTools_Array2OfShape_swiginit(self, _TopTools.new_TopTools_Array2OfShape(*args))

    def Init(self, theValue):
        return _TopTools.TopTools_Array2OfShape_Init(self, theValue)

    def Size(self):
        return _TopTools.TopTools_Array2OfShape_Size(self)

    def Length(self):
        return _TopTools.TopTools_Array2OfShape_Length(self)

    def NbRows(self):
        return _TopTools.TopTools_Array2OfShape_NbRows(self)

    def NbColumns(self):
        return _TopTools.TopTools_Array2OfShape_NbColumns(self)

    def RowLength(self):
        return _TopTools.TopTools_Array2OfShape_RowLength(self)

    def ColLength(self):
        return _TopTools.TopTools_Array2OfShape_ColLength(self)

    def LowerRow(self):
        return _TopTools.TopTools_Array2OfShape_LowerRow(self)

    def UpperRow(self):
        return _TopTools.TopTools_Array2OfShape_UpperRow(self)

    def LowerCol(self):
        return _TopTools.TopTools_Array2OfShape_LowerCol(self)

    def UpperCol(self):
        return _TopTools.TopTools_Array2OfShape_UpperCol(self)

    def IsDeletable(self):
        return _TopTools.TopTools_Array2OfShape_IsDeletable(self)

    def Assign(self, theOther):
        return _TopTools.TopTools_Array2OfShape_Assign(self, theOther)

    def Move(self, theOther):
        return _TopTools.TopTools_Array2OfShape_Move(self, theOther)

    def Set(self, *args):
        return _TopTools.TopTools_Array2OfShape_Set(self, *args)

    def Value(self, theRow, theCol):
        return _TopTools.TopTools_Array2OfShape_Value(self, theRow, theCol)

    def ChangeValue(self, theRow, theCol):
        return _TopTools.TopTools_Array2OfShape_ChangeValue(self, theRow, theCol)

    def __call__(self, *args):
        return _TopTools.TopTools_Array2OfShape___call__(self, *args)

    def SetValue(self, theRow, theCol, theItem):
        return _TopTools.TopTools_Array2OfShape_SetValue(self, theRow, theCol, theItem)

    def Resize(self, theRowLower, theRowUpper, theColLower, theColUpper, theToCopyData):
        return _TopTools.TopTools_Array2OfShape_Resize(self, theRowLower, theRowUpper, theColLower, theColUpper, theToCopyData)
    __swig_destroy__ = _TopTools.delete_TopTools_Array2OfShape

# Register TopTools_Array2OfShape in _TopTools:
_TopTools.TopTools_Array2OfShape_swigregister(TopTools_Array2OfShape)
class TopTools_DataMapOfIntegerListOfShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_begin(self)

    def end(self):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_end(self)

    def cbegin(self):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_DataMapOfIntegerListOfShape_swiginit(self, _TopTools.new_TopTools_DataMapOfIntegerListOfShape(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_Set(self, theOther)

    def ReSize(self, N):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_Seek(self, theKey)

    def Find(self, *args):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape___call__(self, *args)

    def Clear(self, *args):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_DataMapOfIntegerListOfShape

    def Size(self):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_Size(self)

    def Keys(self):
        return _TopTools.TopTools_DataMapOfIntegerListOfShape_Keys(self)

# Register TopTools_DataMapOfIntegerListOfShape in _TopTools:
_TopTools.TopTools_DataMapOfIntegerListOfShape_swigregister(TopTools_DataMapOfIntegerListOfShape)
class TopTools_DataMapOfIntegerShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TopTools.TopTools_DataMapOfIntegerShape_begin(self)

    def end(self):
        return _TopTools.TopTools_DataMapOfIntegerShape_end(self)

    def cbegin(self):
        return _TopTools.TopTools_DataMapOfIntegerShape_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_DataMapOfIntegerShape_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_DataMapOfIntegerShape_swiginit(self, _TopTools.new_TopTools_DataMapOfIntegerShape(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_DataMapOfIntegerShape_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_DataMapOfIntegerShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_DataMapOfIntegerShape_Set(self, theOther)

    def ReSize(self, N):
        return _TopTools.TopTools_DataMapOfIntegerShape_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfIntegerShape_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfIntegerShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TopTools.TopTools_DataMapOfIntegerShape_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TopTools.TopTools_DataMapOfIntegerShape_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TopTools.TopTools_DataMapOfIntegerShape_Seek(self, theKey)

    def Find(self, *args):
        return _TopTools.TopTools_DataMapOfIntegerShape_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TopTools.TopTools_DataMapOfIntegerShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TopTools.TopTools_DataMapOfIntegerShape_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TopTools.TopTools_DataMapOfIntegerShape___call__(self, *args)

    def Clear(self, *args):
        return _TopTools.TopTools_DataMapOfIntegerShape_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_DataMapOfIntegerShape

    def Size(self):
        return _TopTools.TopTools_DataMapOfIntegerShape_Size(self)

    def Keys(self):
        return _TopTools.TopTools_DataMapOfIntegerShape_Keys(self)

# Register TopTools_DataMapOfIntegerShape in _TopTools:
_TopTools.TopTools_DataMapOfIntegerShape_swigregister(TopTools_DataMapOfIntegerShape)
class TopTools_DataMapOfOrientedShapeInteger(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger_begin(self)

    def end(self):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger_end(self)

    def cbegin(self):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_DataMapOfOrientedShapeInteger_swiginit(self, _TopTools.new_TopTools_DataMapOfOrientedShapeInteger(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger_Set(self, theOther)

    def ReSize(self, N):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger_Seek(self, theKey)

    def Find(self, *args):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger___call__(self, *args)

    def Clear(self, *args):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_DataMapOfOrientedShapeInteger

    def Size(self):
        return _TopTools.TopTools_DataMapOfOrientedShapeInteger_Size(self)

# Register TopTools_DataMapOfOrientedShapeInteger in _TopTools:
_TopTools.TopTools_DataMapOfOrientedShapeInteger_swigregister(TopTools_DataMapOfOrientedShapeInteger)
class TopTools_DataMapOfOrientedShapeShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape_begin(self)

    def end(self):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape_end(self)

    def cbegin(self):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_DataMapOfOrientedShapeShape_swiginit(self, _TopTools.new_TopTools_DataMapOfOrientedShapeShape(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape_Set(self, theOther)

    def ReSize(self, N):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape_Seek(self, theKey)

    def Find(self, *args):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape___call__(self, *args)

    def Clear(self, *args):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_DataMapOfOrientedShapeShape

    def Size(self):
        return _TopTools.TopTools_DataMapOfOrientedShapeShape_Size(self)

# Register TopTools_DataMapOfOrientedShapeShape in _TopTools:
_TopTools.TopTools_DataMapOfOrientedShapeShape_swigregister(TopTools_DataMapOfOrientedShapeShape)
class TopTools_DataMapOfShapeBox(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TopTools.TopTools_DataMapOfShapeBox_begin(self)

    def end(self):
        return _TopTools.TopTools_DataMapOfShapeBox_end(self)

    def cbegin(self):
        return _TopTools.TopTools_DataMapOfShapeBox_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_DataMapOfShapeBox_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_DataMapOfShapeBox_swiginit(self, _TopTools.new_TopTools_DataMapOfShapeBox(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeBox_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeBox_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeBox_Set(self, theOther)

    def ReSize(self, N):
        return _TopTools.TopTools_DataMapOfShapeBox_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfShapeBox_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfShapeBox_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeBox_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeBox_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeBox_Seek(self, theKey)

    def Find(self, *args):
        return _TopTools.TopTools_DataMapOfShapeBox_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeBox_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeBox_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TopTools.TopTools_DataMapOfShapeBox___call__(self, *args)

    def Clear(self, *args):
        return _TopTools.TopTools_DataMapOfShapeBox_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_DataMapOfShapeBox

    def Size(self):
        return _TopTools.TopTools_DataMapOfShapeBox_Size(self)

# Register TopTools_DataMapOfShapeBox in _TopTools:
_TopTools.TopTools_DataMapOfShapeBox_swigregister(TopTools_DataMapOfShapeBox)
class TopTools_DataMapOfShapeInteger(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TopTools.TopTools_DataMapOfShapeInteger_begin(self)

    def end(self):
        return _TopTools.TopTools_DataMapOfShapeInteger_end(self)

    def cbegin(self):
        return _TopTools.TopTools_DataMapOfShapeInteger_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_DataMapOfShapeInteger_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_DataMapOfShapeInteger_swiginit(self, _TopTools.new_TopTools_DataMapOfShapeInteger(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeInteger_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeInteger_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeInteger_Set(self, theOther)

    def ReSize(self, N):
        return _TopTools.TopTools_DataMapOfShapeInteger_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfShapeInteger_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfShapeInteger_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeInteger_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeInteger_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeInteger_Seek(self, theKey)

    def Find(self, *args):
        return _TopTools.TopTools_DataMapOfShapeInteger_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeInteger_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeInteger_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TopTools.TopTools_DataMapOfShapeInteger___call__(self, *args)

    def Clear(self, *args):
        return _TopTools.TopTools_DataMapOfShapeInteger_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_DataMapOfShapeInteger

    def Size(self):
        return _TopTools.TopTools_DataMapOfShapeInteger_Size(self)

# Register TopTools_DataMapOfShapeInteger in _TopTools:
_TopTools.TopTools_DataMapOfShapeInteger_swigregister(TopTools_DataMapOfShapeInteger)
class TopTools_DataMapOfShapeListOfInteger(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger_begin(self)

    def end(self):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger_end(self)

    def cbegin(self):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_DataMapOfShapeListOfInteger_swiginit(self, _TopTools.new_TopTools_DataMapOfShapeListOfInteger(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger_Set(self, theOther)

    def ReSize(self, N):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger_Seek(self, theKey)

    def Find(self, *args):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger___call__(self, *args)

    def Clear(self, *args):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_DataMapOfShapeListOfInteger

    def Size(self):
        return _TopTools.TopTools_DataMapOfShapeListOfInteger_Size(self)

# Register TopTools_DataMapOfShapeListOfInteger in _TopTools:
_TopTools.TopTools_DataMapOfShapeListOfInteger_swigregister(TopTools_DataMapOfShapeListOfInteger)
class TopTools_DataMapOfShapeListOfShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TopTools.TopTools_DataMapOfShapeListOfShape_begin(self)

    def end(self):
        return _TopTools.TopTools_DataMapOfShapeListOfShape_end(self)

    def cbegin(self):
        return _TopTools.TopTools_DataMapOfShapeListOfShape_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_DataMapOfShapeListOfShape_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_DataMapOfShapeListOfShape_swiginit(self, _TopTools.new_TopTools_DataMapOfShapeListOfShape(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeListOfShape_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeListOfShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeListOfShape_Set(self, theOther)

    def ReSize(self, N):
        return _TopTools.TopTools_DataMapOfShapeListOfShape_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfShapeListOfShape_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfShapeListOfShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeListOfShape_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeListOfShape_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeListOfShape_Seek(self, theKey)

    def Find(self, *args):
        return _TopTools.TopTools_DataMapOfShapeListOfShape_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeListOfShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeListOfShape_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TopTools.TopTools_DataMapOfShapeListOfShape___call__(self, *args)

    def Clear(self, *args):
        return _TopTools.TopTools_DataMapOfShapeListOfShape_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_DataMapOfShapeListOfShape

    def Size(self):
        return _TopTools.TopTools_DataMapOfShapeListOfShape_Size(self)

# Register TopTools_DataMapOfShapeListOfShape in _TopTools:
_TopTools.TopTools_DataMapOfShapeListOfShape_swigregister(TopTools_DataMapOfShapeListOfShape)
class TopTools_DataMapOfShapeReal(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TopTools.TopTools_DataMapOfShapeReal_begin(self)

    def end(self):
        return _TopTools.TopTools_DataMapOfShapeReal_end(self)

    def cbegin(self):
        return _TopTools.TopTools_DataMapOfShapeReal_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_DataMapOfShapeReal_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_DataMapOfShapeReal_swiginit(self, _TopTools.new_TopTools_DataMapOfShapeReal(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeReal_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeReal_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeReal_Set(self, theOther)

    def ReSize(self, N):
        return _TopTools.TopTools_DataMapOfShapeReal_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfShapeReal_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfShapeReal_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeReal_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeReal_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeReal_Seek(self, theKey)

    def Find(self, *args):
        return _TopTools.TopTools_DataMapOfShapeReal_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeReal_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeReal_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TopTools.TopTools_DataMapOfShapeReal___call__(self, *args)

    def Clear(self, *args):
        return _TopTools.TopTools_DataMapOfShapeReal_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_DataMapOfShapeReal

    def Size(self):
        return _TopTools.TopTools_DataMapOfShapeReal_Size(self)

# Register TopTools_DataMapOfShapeReal in _TopTools:
_TopTools.TopTools_DataMapOfShapeReal_swigregister(TopTools_DataMapOfShapeReal)
class TopTools_DataMapOfShapeSequenceOfShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape_begin(self)

    def end(self):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape_end(self)

    def cbegin(self):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_DataMapOfShapeSequenceOfShape_swiginit(self, _TopTools.new_TopTools_DataMapOfShapeSequenceOfShape(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape_Set(self, theOther)

    def ReSize(self, N):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape_Seek(self, theKey)

    def Find(self, *args):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape___call__(self, *args)

    def Clear(self, *args):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_DataMapOfShapeSequenceOfShape

    def Size(self):
        return _TopTools.TopTools_DataMapOfShapeSequenceOfShape_Size(self)

# Register TopTools_DataMapOfShapeSequenceOfShape in _TopTools:
_TopTools.TopTools_DataMapOfShapeSequenceOfShape_swigregister(TopTools_DataMapOfShapeSequenceOfShape)
class TopTools_DataMapOfShapeShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TopTools.TopTools_DataMapOfShapeShape_begin(self)

    def end(self):
        return _TopTools.TopTools_DataMapOfShapeShape_end(self)

    def cbegin(self):
        return _TopTools.TopTools_DataMapOfShapeShape_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_DataMapOfShapeShape_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_DataMapOfShapeShape_swiginit(self, _TopTools.new_TopTools_DataMapOfShapeShape(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeShape_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_DataMapOfShapeShape_Set(self, theOther)

    def ReSize(self, N):
        return _TopTools.TopTools_DataMapOfShapeShape_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfShapeShape_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _TopTools.TopTools_DataMapOfShapeShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeShape_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeShape_UnBind(self, theKey)

    def Seek(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeShape_Seek(self, theKey)

    def Find(self, *args):
        return _TopTools.TopTools_DataMapOfShapeShape_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _TopTools.TopTools_DataMapOfShapeShape_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _TopTools.TopTools_DataMapOfShapeShape___call__(self, *args)

    def Clear(self, *args):
        return _TopTools.TopTools_DataMapOfShapeShape_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_DataMapOfShapeShape

    def Size(self):
        return _TopTools.TopTools_DataMapOfShapeShape_Size(self)

# Register TopTools_DataMapOfShapeShape in _TopTools:
_TopTools.TopTools_DataMapOfShapeShape_swigregister(TopTools_DataMapOfShapeShape)
class TopTools_IndexedDataMapOfShapeAddress(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_begin(self)

    def end(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_end(self)

    def cbegin(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_IndexedDataMapOfShapeAddress_swiginit(self, _TopTools.new_TopTools_IndexedDataMapOfShapeAddress(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_Set(self, theOther)

    def ReSize(self, N):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_ReSize(self, N)

    def Add(self, theKey1, theItem):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_Add(self, theKey1, theItem)

    def Contains(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_Contains(self, theKey1)

    def Substitute(self, theIndex, theKey1, theItem):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_Substitute(self, theIndex, theKey1, theItem)

    def Swap(self, theIndex1, theIndex2):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_Swap(self, theIndex1, theIndex2)

    def RemoveLast(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_RemoveLast(self)

    def RemoveFromIndex(self, theIndex):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_RemoveFromIndex(self, theIndex)

    def RemoveKey(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_RemoveKey(self, theKey1)

    def FindKey(self, theIndex):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_FindKey(self, theIndex)

    def FindFromIndex(self, theIndex):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_FindFromIndex(self, theIndex)

    def ChangeFromIndex(self, theIndex):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_ChangeFromIndex(self, theIndex)

    def __call__(self, *args):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress___call__(self, *args)

    def FindIndex(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_FindIndex(self, theKey1)

    def ChangeFromKey(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_ChangeFromKey(self, theKey1)

    def Seek(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_Seek(self, theKey1)

    def ChangeSeek(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_ChangeSeek(self, theKey1)

    def FindFromKey(self, *args):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_FindFromKey(self, *args)

    def Clear(self, *args):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_IndexedDataMapOfShapeAddress

    def Size(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeAddress_Size(self)

# Register TopTools_IndexedDataMapOfShapeAddress in _TopTools:
_TopTools.TopTools_IndexedDataMapOfShapeAddress_swigregister(TopTools_IndexedDataMapOfShapeAddress)
class TopTools_IndexedDataMapOfShapeListOfShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_begin(self)

    def end(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_end(self)

    def cbegin(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_swiginit(self, _TopTools.new_TopTools_IndexedDataMapOfShapeListOfShape(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_Set(self, theOther)

    def ReSize(self, N):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_ReSize(self, N)

    def Add(self, theKey1, theItem):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_Add(self, theKey1, theItem)

    def Contains(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_Contains(self, theKey1)

    def Substitute(self, theIndex, theKey1, theItem):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_Substitute(self, theIndex, theKey1, theItem)

    def Swap(self, theIndex1, theIndex2):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_Swap(self, theIndex1, theIndex2)

    def RemoveLast(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_RemoveLast(self)

    def RemoveFromIndex(self, theIndex):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_RemoveFromIndex(self, theIndex)

    def RemoveKey(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_RemoveKey(self, theKey1)

    def FindKey(self, theIndex):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_FindKey(self, theIndex)

    def FindFromIndex(self, theIndex):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_FindFromIndex(self, theIndex)

    def ChangeFromIndex(self, theIndex):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_ChangeFromIndex(self, theIndex)

    def __call__(self, *args):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape___call__(self, *args)

    def FindIndex(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_FindIndex(self, theKey1)

    def ChangeFromKey(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_ChangeFromKey(self, theKey1)

    def Seek(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_Seek(self, theKey1)

    def ChangeSeek(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_ChangeSeek(self, theKey1)

    def FindFromKey(self, *args):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_FindFromKey(self, *args)

    def Clear(self, *args):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_IndexedDataMapOfShapeListOfShape

    def Size(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeListOfShape_Size(self)

# Register TopTools_IndexedDataMapOfShapeListOfShape in _TopTools:
_TopTools.TopTools_IndexedDataMapOfShapeListOfShape_swigregister(TopTools_IndexedDataMapOfShapeListOfShape)
class TopTools_IndexedDataMapOfShapeReal(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_begin(self)

    def end(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_end(self)

    def cbegin(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_IndexedDataMapOfShapeReal_swiginit(self, _TopTools.new_TopTools_IndexedDataMapOfShapeReal(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_Set(self, theOther)

    def ReSize(self, N):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_ReSize(self, N)

    def Add(self, theKey1, theItem):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_Add(self, theKey1, theItem)

    def Contains(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_Contains(self, theKey1)

    def Substitute(self, theIndex, theKey1, theItem):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_Substitute(self, theIndex, theKey1, theItem)

    def Swap(self, theIndex1, theIndex2):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_Swap(self, theIndex1, theIndex2)

    def RemoveLast(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_RemoveLast(self)

    def RemoveFromIndex(self, theIndex):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_RemoveFromIndex(self, theIndex)

    def RemoveKey(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_RemoveKey(self, theKey1)

    def FindKey(self, theIndex):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_FindKey(self, theIndex)

    def FindFromIndex(self, theIndex):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_FindFromIndex(self, theIndex)

    def ChangeFromIndex(self, theIndex):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_ChangeFromIndex(self, theIndex)

    def __call__(self, *args):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal___call__(self, *args)

    def FindIndex(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_FindIndex(self, theKey1)

    def ChangeFromKey(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_ChangeFromKey(self, theKey1)

    def Seek(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_Seek(self, theKey1)

    def ChangeSeek(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_ChangeSeek(self, theKey1)

    def FindFromKey(self, *args):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_FindFromKey(self, *args)

    def Clear(self, *args):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_IndexedDataMapOfShapeReal

    def Size(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeReal_Size(self)

# Register TopTools_IndexedDataMapOfShapeReal in _TopTools:
_TopTools.TopTools_IndexedDataMapOfShapeReal_swigregister(TopTools_IndexedDataMapOfShapeReal)
class TopTools_IndexedDataMapOfShapeShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_begin(self)

    def end(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_end(self)

    def cbegin(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_IndexedDataMapOfShapeShape_swiginit(self, _TopTools.new_TopTools_IndexedDataMapOfShapeShape(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_Set(self, theOther)

    def ReSize(self, N):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_ReSize(self, N)

    def Add(self, theKey1, theItem):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_Add(self, theKey1, theItem)

    def Contains(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_Contains(self, theKey1)

    def Substitute(self, theIndex, theKey1, theItem):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_Substitute(self, theIndex, theKey1, theItem)

    def Swap(self, theIndex1, theIndex2):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_Swap(self, theIndex1, theIndex2)

    def RemoveLast(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_RemoveLast(self)

    def RemoveFromIndex(self, theIndex):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_RemoveFromIndex(self, theIndex)

    def RemoveKey(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_RemoveKey(self, theKey1)

    def FindKey(self, theIndex):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_FindKey(self, theIndex)

    def FindFromIndex(self, theIndex):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_FindFromIndex(self, theIndex)

    def ChangeFromIndex(self, theIndex):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_ChangeFromIndex(self, theIndex)

    def __call__(self, *args):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape___call__(self, *args)

    def FindIndex(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_FindIndex(self, theKey1)

    def ChangeFromKey(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_ChangeFromKey(self, theKey1)

    def Seek(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_Seek(self, theKey1)

    def ChangeSeek(self, theKey1):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_ChangeSeek(self, theKey1)

    def FindFromKey(self, *args):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_FindFromKey(self, *args)

    def Clear(self, *args):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_IndexedDataMapOfShapeShape

    def Size(self):
        return _TopTools.TopTools_IndexedDataMapOfShapeShape_Size(self)

# Register TopTools_IndexedDataMapOfShapeShape in _TopTools:
_TopTools.TopTools_IndexedDataMapOfShapeShape_swigregister(TopTools_IndexedDataMapOfShapeShape)
class TopTools_IndexedMapOfOrientedShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def cbegin(self):
        return _TopTools.TopTools_IndexedMapOfOrientedShape_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_IndexedMapOfOrientedShape_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_IndexedMapOfOrientedShape_swiginit(self, _TopTools.new_TopTools_IndexedMapOfOrientedShape(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_IndexedMapOfOrientedShape_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_IndexedMapOfOrientedShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_IndexedMapOfOrientedShape_Set(self, theOther)

    def ReSize(self, theExtent):
        return _TopTools.TopTools_IndexedMapOfOrientedShape_ReSize(self, theExtent)

    def Add(self, theKey1):
        return _TopTools.TopTools_IndexedMapOfOrientedShape_Add(self, theKey1)

    def Contains(self, theKey1):
        return _TopTools.TopTools_IndexedMapOfOrientedShape_Contains(self, theKey1)

    def Substitute(self, theIndex, theKey1):
        return _TopTools.TopTools_IndexedMapOfOrientedShape_Substitute(self, theIndex, theKey1)

    def Swap(self, theIndex1, theIndex2):
        return _TopTools.TopTools_IndexedMapOfOrientedShape_Swap(self, theIndex1, theIndex2)

    def RemoveLast(self):
        return _TopTools.TopTools_IndexedMapOfOrientedShape_RemoveLast(self)

    def RemoveFromIndex(self, theIndex):
        return _TopTools.TopTools_IndexedMapOfOrientedShape_RemoveFromIndex(self, theIndex)

    def RemoveKey(self, theKey1):
        return _TopTools.TopTools_IndexedMapOfOrientedShape_RemoveKey(self, theKey1)

    def FindKey(self, theIndex):
        return _TopTools.TopTools_IndexedMapOfOrientedShape_FindKey(self, theIndex)

    def __call__(self, theIndex):
        return _TopTools.TopTools_IndexedMapOfOrientedShape___call__(self, theIndex)

    def FindIndex(self, theKey1):
        return _TopTools.TopTools_IndexedMapOfOrientedShape_FindIndex(self, theKey1)

    def Clear(self, *args):
        return _TopTools.TopTools_IndexedMapOfOrientedShape_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_IndexedMapOfOrientedShape

    def Size(self):
        return _TopTools.TopTools_IndexedMapOfOrientedShape_Size(self)

# Register TopTools_IndexedMapOfOrientedShape in _TopTools:
_TopTools.TopTools_IndexedMapOfOrientedShape_swigregister(TopTools_IndexedMapOfOrientedShape)
class TopTools_IndexedMapOfShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def cbegin(self):
        return _TopTools.TopTools_IndexedMapOfShape_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_IndexedMapOfShape_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_IndexedMapOfShape_swiginit(self, _TopTools.new_TopTools_IndexedMapOfShape(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_IndexedMapOfShape_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_IndexedMapOfShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_IndexedMapOfShape_Set(self, theOther)

    def ReSize(self, theExtent):
        return _TopTools.TopTools_IndexedMapOfShape_ReSize(self, theExtent)

    def Add(self, theKey1):
        return _TopTools.TopTools_IndexedMapOfShape_Add(self, theKey1)

    def Contains(self, theKey1):
        return _TopTools.TopTools_IndexedMapOfShape_Contains(self, theKey1)

    def Substitute(self, theIndex, theKey1):
        return _TopTools.TopTools_IndexedMapOfShape_Substitute(self, theIndex, theKey1)

    def Swap(self, theIndex1, theIndex2):
        return _TopTools.TopTools_IndexedMapOfShape_Swap(self, theIndex1, theIndex2)

    def RemoveLast(self):
        return _TopTools.TopTools_IndexedMapOfShape_RemoveLast(self)

    def RemoveFromIndex(self, theIndex):
        return _TopTools.TopTools_IndexedMapOfShape_RemoveFromIndex(self, theIndex)

    def RemoveKey(self, theKey1):
        return _TopTools.TopTools_IndexedMapOfShape_RemoveKey(self, theKey1)

    def FindKey(self, theIndex):
        return _TopTools.TopTools_IndexedMapOfShape_FindKey(self, theIndex)

    def __call__(self, theIndex):
        return _TopTools.TopTools_IndexedMapOfShape___call__(self, theIndex)

    def FindIndex(self, theKey1):
        return _TopTools.TopTools_IndexedMapOfShape_FindIndex(self, theKey1)

    def Clear(self, *args):
        return _TopTools.TopTools_IndexedMapOfShape_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_IndexedMapOfShape

    def Size(self):
        return _TopTools.TopTools_IndexedMapOfShape_Size(self)

# Register TopTools_IndexedMapOfShape in _TopTools:
_TopTools.TopTools_IndexedMapOfShape_swigregister(TopTools_IndexedMapOfShape)
class TopTools_ListOfListOfShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TopTools.TopTools_ListOfListOfShape_begin(self)

    def end(self):
        return _TopTools.TopTools_ListOfListOfShape_end(self)

    def cbegin(self):
        return _TopTools.TopTools_ListOfListOfShape_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_ListOfListOfShape_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_ListOfListOfShape_swiginit(self, _TopTools.new_TopTools_ListOfListOfShape(*args))

    def Size(self):
        return _TopTools.TopTools_ListOfListOfShape_Size(self)

    def Assign(self, theOther):
        return _TopTools.TopTools_ListOfListOfShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_ListOfListOfShape_Set(self, theOther)

    def Clear(self, theAllocator=0):
        return _TopTools.TopTools_ListOfListOfShape_Clear(self, theAllocator)

    def First(self):
        return _TopTools.TopTools_ListOfListOfShape_First(self)

    def Last(self):
        return _TopTools.TopTools_ListOfListOfShape_Last(self)

    def Append(self, *args):
        return _TopTools.TopTools_ListOfListOfShape_Append(self, *args)

    def Prepend(self, *args):
        return _TopTools.TopTools_ListOfListOfShape_Prepend(self, *args)

    def RemoveFirst(self):
        return _TopTools.TopTools_ListOfListOfShape_RemoveFirst(self)

    def Remove(self, theIter):
        return _TopTools.TopTools_ListOfListOfShape_Remove(self, theIter)

    def InsertBefore(self, *args):
        return _TopTools.TopTools_ListOfListOfShape_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _TopTools.TopTools_ListOfListOfShape_InsertAfter(self, *args)

    def Reverse(self):
        return _TopTools.TopTools_ListOfListOfShape_Reverse(self)
    __swig_destroy__ = _TopTools.delete_TopTools_ListOfListOfShape

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


# Register TopTools_ListOfListOfShape in _TopTools:
_TopTools.TopTools_ListOfListOfShape_swigregister(TopTools_ListOfListOfShape)
class TopTools_MapOfOrientedShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def cbegin(self):
        return _TopTools.TopTools_MapOfOrientedShape_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_MapOfOrientedShape_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_MapOfOrientedShape_swiginit(self, _TopTools.new_TopTools_MapOfOrientedShape(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_MapOfOrientedShape_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_MapOfOrientedShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_MapOfOrientedShape_Set(self, theOther)

    def ReSize(self, N):
        return _TopTools.TopTools_MapOfOrientedShape_ReSize(self, N)

    def Add(self, K):
        return _TopTools.TopTools_MapOfOrientedShape_Add(self, K)

    def Added(self, K):
        return _TopTools.TopTools_MapOfOrientedShape_Added(self, K)

    def Remove(self, K):
        return _TopTools.TopTools_MapOfOrientedShape_Remove(self, K)

    def Clear(self, *args):
        return _TopTools.TopTools_MapOfOrientedShape_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_MapOfOrientedShape

    def Size(self):
        return _TopTools.TopTools_MapOfOrientedShape_Size(self)

    def IsEqual(self, theOther):
        return _TopTools.TopTools_MapOfOrientedShape_IsEqual(self, theOther)

    def Contains(self, *args):
        return _TopTools.TopTools_MapOfOrientedShape_Contains(self, *args)

    def Union(self, theLeft, theRight):
        return _TopTools.TopTools_MapOfOrientedShape_Union(self, theLeft, theRight)

    def Unite(self, theOther):
        return _TopTools.TopTools_MapOfOrientedShape_Unite(self, theOther)

    def HasIntersection(self, theMap):
        return _TopTools.TopTools_MapOfOrientedShape_HasIntersection(self, theMap)

    def Intersection(self, theLeft, theRight):
        return _TopTools.TopTools_MapOfOrientedShape_Intersection(self, theLeft, theRight)

    def Intersect(self, theOther):
        return _TopTools.TopTools_MapOfOrientedShape_Intersect(self, theOther)

    def Subtraction(self, theLeft, theRight):
        return _TopTools.TopTools_MapOfOrientedShape_Subtraction(self, theLeft, theRight)

    def Subtract(self, theOther):
        return _TopTools.TopTools_MapOfOrientedShape_Subtract(self, theOther)

    def Difference(self, theLeft, theRight):
        return _TopTools.TopTools_MapOfOrientedShape_Difference(self, theLeft, theRight)

    def Differ(self, theOther):
        return _TopTools.TopTools_MapOfOrientedShape_Differ(self, theOther)

# Register TopTools_MapOfOrientedShape in _TopTools:
_TopTools.TopTools_MapOfOrientedShape_swigregister(TopTools_MapOfOrientedShape)
class TopTools_MapOfShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def cbegin(self):
        return _TopTools.TopTools_MapOfShape_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_MapOfShape_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_MapOfShape_swiginit(self, _TopTools.new_TopTools_MapOfShape(*args))

    def Exchange(self, theOther):
        return _TopTools.TopTools_MapOfShape_Exchange(self, theOther)

    def Assign(self, theOther):
        return _TopTools.TopTools_MapOfShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_MapOfShape_Set(self, theOther)

    def ReSize(self, N):
        return _TopTools.TopTools_MapOfShape_ReSize(self, N)

    def Add(self, K):
        return _TopTools.TopTools_MapOfShape_Add(self, K)

    def Added(self, K):
        return _TopTools.TopTools_MapOfShape_Added(self, K)

    def Remove(self, K):
        return _TopTools.TopTools_MapOfShape_Remove(self, K)

    def Clear(self, *args):
        return _TopTools.TopTools_MapOfShape_Clear(self, *args)
    __swig_destroy__ = _TopTools.delete_TopTools_MapOfShape

    def Size(self):
        return _TopTools.TopTools_MapOfShape_Size(self)

    def IsEqual(self, theOther):
        return _TopTools.TopTools_MapOfShape_IsEqual(self, theOther)

    def Contains(self, *args):
        return _TopTools.TopTools_MapOfShape_Contains(self, *args)

    def Union(self, theLeft, theRight):
        return _TopTools.TopTools_MapOfShape_Union(self, theLeft, theRight)

    def Unite(self, theOther):
        return _TopTools.TopTools_MapOfShape_Unite(self, theOther)

    def HasIntersection(self, theMap):
        return _TopTools.TopTools_MapOfShape_HasIntersection(self, theMap)

    def Intersection(self, theLeft, theRight):
        return _TopTools.TopTools_MapOfShape_Intersection(self, theLeft, theRight)

    def Intersect(self, theOther):
        return _TopTools.TopTools_MapOfShape_Intersect(self, theOther)

    def Subtraction(self, theLeft, theRight):
        return _TopTools.TopTools_MapOfShape_Subtraction(self, theLeft, theRight)

    def Subtract(self, theOther):
        return _TopTools.TopTools_MapOfShape_Subtract(self, theOther)

    def Difference(self, theLeft, theRight):
        return _TopTools.TopTools_MapOfShape_Difference(self, theLeft, theRight)

    def Differ(self, theOther):
        return _TopTools.TopTools_MapOfShape_Differ(self, theOther)

# Register TopTools_MapOfShape in _TopTools:
_TopTools.TopTools_MapOfShape_swigregister(TopTools_MapOfShape)
class TopTools_SequenceOfShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _TopTools.TopTools_SequenceOfShape_begin(self)

    def end(self):
        return _TopTools.TopTools_SequenceOfShape_end(self)

    def cbegin(self):
        return _TopTools.TopTools_SequenceOfShape_cbegin(self)

    def cend(self):
        return _TopTools.TopTools_SequenceOfShape_cend(self)

    def __init__(self, *args):
        _TopTools.TopTools_SequenceOfShape_swiginit(self, _TopTools.new_TopTools_SequenceOfShape(*args))

    def Size(self):
        return _TopTools.TopTools_SequenceOfShape_Size(self)

    def Length(self):
        return _TopTools.TopTools_SequenceOfShape_Length(self)

    def Lower(self):
        return _TopTools.TopTools_SequenceOfShape_Lower(self)

    def Upper(self):
        return _TopTools.TopTools_SequenceOfShape_Upper(self)

    def IsEmpty(self):
        return _TopTools.TopTools_SequenceOfShape_IsEmpty(self)

    def Reverse(self):
        return _TopTools.TopTools_SequenceOfShape_Reverse(self)

    def Exchange(self, I, J):
        return _TopTools.TopTools_SequenceOfShape_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _TopTools.TopTools_SequenceOfShape_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _TopTools.TopTools_SequenceOfShape_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _TopTools.TopTools_SequenceOfShape_Assign(self, theOther)

    def Set(self, theOther):
        return _TopTools.TopTools_SequenceOfShape_Set(self, theOther)

    def Remove(self, *args):
        return _TopTools.TopTools_SequenceOfShape_Remove(self, *args)

    def Append(self, *args):
        return _TopTools.TopTools_SequenceOfShape_Append(self, *args)

    def Prepend(self, *args):
        return _TopTools.TopTools_SequenceOfShape_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _TopTools.TopTools_SequenceOfShape_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _TopTools.TopTools_SequenceOfShape_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _TopTools.TopTools_SequenceOfShape_Split(self, theIndex, theSeq)

    def First(self):
        return _TopTools.TopTools_SequenceOfShape_First(self)

    def ChangeFirst(self):
        return _TopTools.TopTools_SequenceOfShape_ChangeFirst(self)

    def Last(self):
        return _TopTools.TopTools_SequenceOfShape_Last(self)

    def ChangeLast(self):
        return _TopTools.TopTools_SequenceOfShape_ChangeLast(self)

    def Value(self, theIndex):
        return _TopTools.TopTools_SequenceOfShape_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _TopTools.TopTools_SequenceOfShape_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _TopTools.TopTools_SequenceOfShape___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _TopTools.TopTools_SequenceOfShape_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _TopTools.delete_TopTools_SequenceOfShape

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


# Register TopTools_SequenceOfShape in _TopTools:
_TopTools.TopTools_SequenceOfShape_swigregister(TopTools_SequenceOfShape)
class toptools(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        Return
        -------
        None

        Description
        -----------
        This is to bypass an extraction bug. it will force the inclusion of standard_integer.hxx itself including standard_ostream.hxx at the correct position.

        """
        return _TopTools.toptools_Dummy(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _TopTools.toptools_swiginit(self, _TopTools.new_toptools())
    __swig_destroy__ = _TopTools.delete_toptools

# Register toptools in _TopTools:
_TopTools.toptools_swigregister(toptools)
class TopTools_LocationSet(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Returns an empty set of locations.

        """
        _TopTools.TopTools_LocationSet_swiginit(self, _TopTools.new_TopTools_LocationSet(*args))

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

        Parameters
        ----------
        L: TopLoc_Location

        Return
        -------
        int

        Description
        -----------
        Incorporate a new location in the set and returns its index.

        """
        return _TopTools.TopTools_LocationSet_Add(self, *args)

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

        Description
        -----------
        Clears the content of the set.

        """
        return _TopTools.TopTools_LocationSet_Clear(self, *args)

    def DumpToString(self):
        r"""DumpToString(TopTools_LocationSet self) -> std::string"""
        return _TopTools.TopTools_LocationSet_DumpToString(self)

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

        Parameters
        ----------
        L: TopLoc_Location

        Return
        -------
        int

        Description
        -----------
        Returns the index of <l>.

        """
        return _TopTools.TopTools_LocationSet_Index(self, *args)

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

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

        Return
        -------
        TopLoc_Location

        Description
        -----------
        Returns the location of index <i>.

        """
        return _TopTools.TopTools_LocationSet_Location(self, *args)

    def ReadFromString(self, src):
        r"""ReadFromString(TopTools_LocationSet self, std::string src)"""
        return _TopTools.TopTools_LocationSet_ReadFromString(self, src)

    def WriteToString(self):
        r"""WriteToString(TopTools_LocationSet self) -> std::string"""
        return _TopTools.TopTools_LocationSet_WriteToString(self)

    __repr__ = _dumps_object

    __swig_destroy__ = _TopTools.delete_TopTools_LocationSet

# Register TopTools_LocationSet in _TopTools:
_TopTools.TopTools_LocationSet_swigregister(TopTools_LocationSet)
class TopTools_MutexForShapeProvider(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _TopTools.TopTools_MutexForShapeProvider_swiginit(self, _TopTools.new_TopTools_MutexForShapeProvider(*args))

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

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

        Return
        -------
        None

        Description
        -----------
        Creates and associates mutex with theshape.

        """
        return _TopTools.TopTools_MutexForShapeProvider_CreateMutexForShape(self, *args)

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

        Parameters
        ----------
        theShape: TopoDS_Shape
        theType: TopAbs_ShapeEnum

        Return
        -------
        None

        Description
        -----------
        Creates and associates mutexes with each sub-shape of type thetype in theshape.

        """
        return _TopTools.TopTools_MutexForShapeProvider_CreateMutexesForSubShapes(self, *args)

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

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

        Return
        -------
        Standard_Mutex *

        Description
        -----------
        Returns pointer to mutex associated with theshape. in case when mutex not found returns null.

        """
        return _TopTools.TopTools_MutexForShapeProvider_GetMutex(self, *args)

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

        Description
        -----------
        Removes all mutexes.

        """
        return _TopTools.TopTools_MutexForShapeProvider_RemoveAllMutexes(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _TopTools.delete_TopTools_MutexForShapeProvider

# Register TopTools_MutexForShapeProvider in _TopTools:
_TopTools.TopTools_MutexForShapeProvider_swigregister(TopTools_MutexForShapeProvider)
class TopTools_OrientedShapeMapHasher(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(*args):
        r"""

        Parameters
        ----------
        theShape: TopoDS_Shape
        theUpperBound: int

        Return
        -------
        int

        Description
        -----------
        Computes a hash code for the given shape, in the range [1, theupperbound] @param theshape the shape which hash code is to be computed @param theupperbound the upper bound of the range a computing hash code must be within return a computed hash code, in the range [1, theupperbound].

        """
        return _TopTools.TopTools_OrientedShapeMapHasher_HashCode(*args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns true when the two keys are equal. two same keys must have the same hashcode, the contrary is not necessary.

        """
        return _TopTools.TopTools_OrientedShapeMapHasher_IsEqual(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _TopTools.TopTools_OrientedShapeMapHasher_swiginit(self, _TopTools.new_TopTools_OrientedShapeMapHasher())
    __swig_destroy__ = _TopTools.delete_TopTools_OrientedShapeMapHasher

# Register TopTools_OrientedShapeMapHasher in _TopTools:
_TopTools.TopTools_OrientedShapeMapHasher_swigregister(TopTools_OrientedShapeMapHasher)
class TopTools_ShapeMapHasher(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(*args):
        r"""

        Parameters
        ----------
        theShape: TopoDS_Shape
        theUpperBound: int

        Return
        -------
        int

        Description
        -----------
        Computes a hash code for the given shape, in the range [1, theupperbound] @param theshape the shape which hash code is to be computed @param theupperbound the upper bound of the range a computing hash code must be within return a computed hash code, in the range [1, theupperbound].

        """
        return _TopTools.TopTools_ShapeMapHasher_HashCode(*args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns true when the two keys are the same. two same keys must have the same hashcode, the contrary is not necessary.

        """
        return _TopTools.TopTools_ShapeMapHasher_IsEqual(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _TopTools.TopTools_ShapeMapHasher_swiginit(self, _TopTools.new_TopTools_ShapeMapHasher())
    __swig_destroy__ = _TopTools.delete_TopTools_ShapeMapHasher

# Register TopTools_ShapeMapHasher in _TopTools:
_TopTools.TopTools_ShapeMapHasher_swigregister(TopTools_ShapeMapHasher)
class TopTools_ShapeSet(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Builds an empty shapeset.

        """
        _TopTools.TopTools_ShapeSet_swiginit(self, _TopTools.new_TopTools_ShapeSet(*args))

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

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

        Return
        -------
        int

        Description
        -----------
        Stores <s> and its sub-shape. returns the index of <s>. the method addgeometry is called on each sub-shape.

        """
        return _TopTools.TopTools_ShapeSet_Add(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Stores the geometry of <s>.

        """
        return _TopTools.TopTools_ShapeSet_AddGeometry(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Inserts the shape <s2> in the shape <s1>. this method must be redefined to use the correct builder.

        """
        return _TopTools.TopTools_ShapeSet_AddShapes(self, *args)

    def ChangeLocations(self, *args):
        r"""
        Return
        -------
        TopTools_LocationSet

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

        """
        return _TopTools.TopTools_ShapeSet_ChangeLocations(self, *args)

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

        Parameters
        ----------
        T: TopAbs_ShapeEnum
        S: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        This method is called after each new completed shape. <t> is the type. <s> is the shape. in this class it does nothing, but it gives the opportunity in derived classes to perform extra treatment on shapes.

        """
        return _TopTools.TopTools_ShapeSet_Check(self, *args)

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

        Description
        -----------
        Clears the content of the set. this method can be redefined.

        """
        return _TopTools.TopTools_ShapeSet_Clear(self, *args)

    def DumpToString(self):
        r"""DumpToString(TopTools_ShapeSet self) -> std::string"""
        return _TopTools.TopTools_ShapeSet_DumpToString(self)

    def DumpExtentToString(self):
        r"""DumpExtentToString(TopTools_ShapeSet self) -> std::string"""
        return _TopTools.TopTools_ShapeSet_DumpExtentToString(self)

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

        Parameters
        ----------
        S: str

        Return
        -------
        None

        Description
        -----------
        Dumps the number of objects in me in the string s (number of shapes of each type).

        """
        return _TopTools.TopTools_ShapeSet_DumpExtent(self, *args)

    def DumpGeometryToString(self):
        r"""DumpGeometryToString(TopTools_ShapeSet self) -> std::string"""
        return _TopTools.TopTools_ShapeSet_DumpGeometryToString(self)

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

        Description
        -----------
        Returns the toptools_formatversion.

        """
        return _TopTools.TopTools_ShapeSet_FormatNb(self, *args)

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

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

        Return
        -------
        int

        Description
        -----------
        Returns the index of <s>.

        """
        return _TopTools.TopTools_ShapeSet_Index(self, *args)

    def Locations(self, *args):
        r"""
        Return
        -------
        TopTools_LocationSet

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

        """
        return _TopTools.TopTools_ShapeSet_Locations(self, *args)

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

        Description
        -----------
        Returns number of shapes read from file.

        """
        return _TopTools.TopTools_ShapeSet_NbShapes(self, *args)

    def ReadFromString(self, src):
        r"""ReadFromString(TopTools_ShapeSet self, std::string src)"""
        return _TopTools.TopTools_ShapeSet_ReadFromString(self, src)

    def ReadGeometryFromString(self, src):
        r"""ReadGeometryFromString(TopTools_ShapeSet self, std::string src)"""
        return _TopTools.TopTools_ShapeSet_ReadGeometryFromString(self, src)

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

        Parameters
        ----------
        theFormatNb: int

        Return
        -------
        None

        Description
        -----------
        Sets the toptools_formatversion.

        """
        return _TopTools.TopTools_ShapeSet_SetFormatNb(self, *args)

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

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

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns the sub-shape of index <i>.

        """
        return _TopTools.TopTools_ShapeSet_Shape(self, *args)

    def WriteToString(self):
        r"""WriteToString(TopTools_ShapeSet self) -> std::string"""
        return _TopTools.TopTools_ShapeSet_WriteToString(self)

    def WriteGeometryToString(self):
        r"""WriteGeometryToString(TopTools_ShapeSet self) -> std::string"""
        return _TopTools.TopTools_ShapeSet_WriteGeometryToString(self)

    __repr__ = _dumps_object

    __swig_destroy__ = _TopTools.delete_TopTools_ShapeSet

# Register TopTools_ShapeSet in _TopTools:
_TopTools.TopTools_ShapeSet_swigregister(TopTools_ShapeSet)
class TopTools_HArray1OfShape(TopTools_Array1OfShape, OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _TopTools.TopTools_HArray1OfShape_swiginit(self, _TopTools.new_TopTools_HArray1OfShape(*args))

    def Array1(self):
        return _TopTools.TopTools_HArray1OfShape_Array1(self)

    def ChangeArray1(self):
        return _TopTools.TopTools_HArray1OfShape_ChangeArray1(self)


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

    __swig_destroy__ = _TopTools.delete_TopTools_HArray1OfShape

# Register TopTools_HArray1OfShape in _TopTools:
_TopTools.TopTools_HArray1OfShape_swigregister(TopTools_HArray1OfShape)
class TopTools_HArray1OfListOfShape(TopTools_Array1OfListOfShape, OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _TopTools.TopTools_HArray1OfListOfShape_swiginit(self, _TopTools.new_TopTools_HArray1OfListOfShape(*args))

    def Array1(self):
        return _TopTools.TopTools_HArray1OfListOfShape_Array1(self)

    def ChangeArray1(self):
        return _TopTools.TopTools_HArray1OfListOfShape_ChangeArray1(self)


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

    __swig_destroy__ = _TopTools.delete_TopTools_HArray1OfListOfShape

# Register TopTools_HArray1OfListOfShape in _TopTools:
_TopTools.TopTools_HArray1OfListOfShape_swigregister(TopTools_HArray1OfListOfShape)
class TopTools_HArray2OfShape(TopTools_Array2OfShape, OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _TopTools.TopTools_HArray2OfShape_swiginit(self, _TopTools.new_TopTools_HArray2OfShape(*args))

    def Array2(self):
        return _TopTools.TopTools_HArray2OfShape_Array2(self)

    def ChangeArray2(self):
        return _TopTools.TopTools_HArray2OfShape_ChangeArray2(self)


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

    __swig_destroy__ = _TopTools.delete_TopTools_HArray2OfShape

# Register TopTools_HArray2OfShape in _TopTools:
_TopTools.TopTools_HArray2OfShape_swigregister(TopTools_HArray2OfShape)
class TopTools_HSequenceOfShape(TopTools_SequenceOfShape, OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _TopTools.TopTools_HSequenceOfShape_swiginit(self, _TopTools.new_TopTools_HSequenceOfShape(*args))

    def Sequence(self):
        return _TopTools.TopTools_HSequenceOfShape_Sequence(self)

    def Append(self, *args):
        return _TopTools.TopTools_HSequenceOfShape_Append(self, *args)

    def ChangeSequence(self):
        return _TopTools.TopTools_HSequenceOfShape_ChangeSequence(self)


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

    __swig_destroy__ = _TopTools.delete_TopTools_HSequenceOfShape

# Register TopTools_HSequenceOfShape in _TopTools:
_TopTools.TopTools_HSequenceOfShape_swigregister(TopTools_HSequenceOfShape)



@deprecated
def toptools_Dummy(*args):
	return toptools.Dummy(*args)

@deprecated
def TopTools_OrientedShapeMapHasher_HashCode(*args):
	return TopTools_OrientedShapeMapHasher.HashCode(*args)

@deprecated
def TopTools_OrientedShapeMapHasher_IsEqual(*args):
	return TopTools_OrientedShapeMapHasher.IsEqual(*args)

@deprecated
def TopTools_ShapeMapHasher_HashCode(*args):
	return TopTools_ShapeMapHasher.HashCode(*args)

@deprecated
def TopTools_ShapeMapHasher_IsEqual(*args):
	return TopTools_ShapeMapHasher.IsEqual(*args)



