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

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

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

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _BOPDS
else:
    import _BOPDS

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

_swig_new_instance_method = _BOPDS.SWIG_PyInstanceMethod_New
_swig_new_static_method = _BOPDS.SWIG_PyStaticMethod_New

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


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


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


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


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


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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _BOPDS.delete_SwigPyIterator
    value = _swig_new_instance_method(_BOPDS.SwigPyIterator_value)
    incr = _swig_new_instance_method(_BOPDS.SwigPyIterator_incr)
    decr = _swig_new_instance_method(_BOPDS.SwigPyIterator_decr)
    distance = _swig_new_instance_method(_BOPDS.SwigPyIterator_distance)
    equal = _swig_new_instance_method(_BOPDS.SwigPyIterator_equal)
    copy = _swig_new_instance_method(_BOPDS.SwigPyIterator_copy)
    next = _swig_new_instance_method(_BOPDS.SwigPyIterator_next)
    __next__ = _swig_new_instance_method(_BOPDS.SwigPyIterator___next__)
    previous = _swig_new_instance_method(_BOPDS.SwigPyIterator_previous)
    advance = _swig_new_instance_method(_BOPDS.SwigPyIterator_advance)
    __eq__ = _swig_new_instance_method(_BOPDS.SwigPyIterator___eq__)
    __ne__ = _swig_new_instance_method(_BOPDS.SwigPyIterator___ne__)
    __iadd__ = _swig_new_instance_method(_BOPDS.SwigPyIterator___iadd__)
    __isub__ = _swig_new_instance_method(_BOPDS.SwigPyIterator___isub__)
    __add__ = _swig_new_instance_method(_BOPDS.SwigPyIterator___add__)
    __sub__ = _swig_new_instance_method(_BOPDS.SwigPyIterator___sub__)
    def __iter__(self):
        return self

# Register SwigPyIterator in _BOPDS:
_BOPDS.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


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.TColStd
import OCC.Core.TCollection
import OCC.Core.Bnd
import OCC.Core.gp
import OCC.Core.TColgp
import OCC.Core.BVH
import OCC.Core.IntTools
import OCC.Core.BRepAdaptor
import OCC.Core.Adaptor3d
import OCC.Core.Geom
import OCC.Core.GeomAbs
import OCC.Core.TopAbs
import OCC.Core.Adaptor2d
import OCC.Core.Geom2d
import OCC.Core.math
import OCC.Core.Message
import OCC.Core.TopoDS
import OCC.Core.TopLoc
import OCC.Core.GeomAdaptor
import OCC.Core.Geom2dAdaptor
import OCC.Core.Geom2dHatch
import OCC.Core.IntRes2d
import OCC.Core.HatchGen
import OCC.Core.Geom2dInt
import OCC.Core.IntCurve
import OCC.Core.Extrema
import OCC.Core.Intf
import OCC.Core.GeomAPI
import OCC.Core.Approx
import OCC.Core.AppCont
import OCC.Core.AppParCurves
import OCC.Core.BRepClass3d
import OCC.Core.IntCurveSurface
import OCC.Core.IntSurf
import OCC.Core.TopTools
import OCC.Core.IntCurvesFace
import OCC.Core.IntPatch
import OCC.Core.IntAna
import OCC.Core.GeomInt
import OCC.Core.IntImp
import OCC.Core.ApproxInt
Handle_BOPDS_CommonBlock_Create = _BOPDS.Handle_BOPDS_CommonBlock_Create
Handle_BOPDS_CommonBlock_DownCast = _BOPDS.Handle_BOPDS_CommonBlock_DownCast
Handle_BOPDS_CommonBlock_IsNull = _BOPDS.Handle_BOPDS_CommonBlock_IsNull
Handle_BOPDS_PaveBlock_Create = _BOPDS.Handle_BOPDS_PaveBlock_Create
Handle_BOPDS_PaveBlock_DownCast = _BOPDS.Handle_BOPDS_PaveBlock_DownCast
Handle_BOPDS_PaveBlock_IsNull = _BOPDS.Handle_BOPDS_PaveBlock_IsNull
class BOPDS_VectorOfInterfZZ(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfInterfZZ_swiginit(self, _BOPDS.new_BOPDS_VectorOfInterfZZ(*args))
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfInterfZZ
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_Length)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_Size)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_Upper)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_IsEmpty)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_Set)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_Append)
    Appended = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_Appended)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_Value)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_ChangeLast)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ___call__)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_ChangeValue)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfZZ_SetValue)

# Register BOPDS_VectorOfInterfZZ in _BOPDS:
_BOPDS.BOPDS_VectorOfInterfZZ_swigregister(BOPDS_VectorOfInterfZZ)

class BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_swiginit(self, _BOPDS.new_BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks(*args))
    Exchange = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_Exchange)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_Set)
    ReSize = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_ReSize)
    Add = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_Add)
    Contains = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_Contains)
    Substitute = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_Substitute)
    Swap = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_Swap)
    RemoveLast = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_RemoveLast)
    RemoveFromIndex = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_RemoveFromIndex)
    RemoveKey = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_RemoveKey)
    FindKey = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_FindKey)
    FindFromIndex = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_FindFromIndex)
    ChangeFromIndex = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_ChangeFromIndex)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks___call__)
    FindIndex = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_FindIndex)
    ChangeFromKey = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_ChangeFromKey)
    Seek = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_Seek)
    ChangeSeek = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_ChangeSeek)
    FindFromKey = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_FindFromKey)
    Clear = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_Clear)
    __swig_destroy__ = _BOPDS.delete_BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks
    Size = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_Size)

# Register BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks in _BOPDS:
_BOPDS.BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks_swigregister(BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks)

class BOPDS_VectorOfInterfVV(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfInterfVV_swiginit(self, _BOPDS.new_BOPDS_VectorOfInterfVV(*args))
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfInterfVV
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_Length)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_Size)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_Upper)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_IsEmpty)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_Set)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_Append)
    Appended = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_Appended)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_Value)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_ChangeLast)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV___call__)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_ChangeValue)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVV_SetValue)

# Register BOPDS_VectorOfInterfVV in _BOPDS:
_BOPDS.BOPDS_VectorOfInterfVV_swigregister(BOPDS_VectorOfInterfVV)

class BOPDS_VectorOfIndexRange(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfIndexRange_swiginit(self, _BOPDS.new_BOPDS_VectorOfIndexRange(*args))
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfIndexRange
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_Length)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_Size)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_Upper)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_IsEmpty)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_Set)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_Append)
    Appended = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_Appended)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_Value)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_ChangeLast)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange___call__)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_ChangeValue)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfIndexRange_SetValue)

# Register BOPDS_VectorOfIndexRange in _BOPDS:
_BOPDS.BOPDS_VectorOfIndexRange_swigregister(BOPDS_VectorOfIndexRange)

class BOPDS_VectorOfFaceInfo(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfFaceInfo_swiginit(self, _BOPDS.new_BOPDS_VectorOfFaceInfo(*args))
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfFaceInfo
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_Length)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_Size)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_Upper)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_IsEmpty)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_Set)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_Append)
    Appended = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_Appended)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_Value)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_ChangeLast)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo___call__)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_ChangeValue)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfFaceInfo_SetValue)

# Register BOPDS_VectorOfFaceInfo in _BOPDS:
_BOPDS.BOPDS_VectorOfFaceInfo_swigregister(BOPDS_VectorOfFaceInfo)

class BOPDS_VectorOfCurve(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfCurve_swiginit(self, _BOPDS.new_BOPDS_VectorOfCurve(*args))
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfCurve
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_Length)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_Size)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_Upper)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_IsEmpty)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_Set)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_Append)
    Appended = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_Appended)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_Value)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_ChangeLast)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve___call__)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_ChangeValue)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfCurve_SetValue)

# Register BOPDS_VectorOfCurve in _BOPDS:
_BOPDS.BOPDS_VectorOfCurve_swigregister(BOPDS_VectorOfCurve)

class BOPDS_IndexedMapOfPaveBlock(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_IndexedMapOfPaveBlock_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_IndexedMapOfPaveBlock_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_IndexedMapOfPaveBlock_swiginit(self, _BOPDS.new_BOPDS_IndexedMapOfPaveBlock(*args))
    Exchange = _swig_new_instance_method(_BOPDS.BOPDS_IndexedMapOfPaveBlock_Exchange)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_IndexedMapOfPaveBlock_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_IndexedMapOfPaveBlock_Set)
    ReSize = _swig_new_instance_method(_BOPDS.BOPDS_IndexedMapOfPaveBlock_ReSize)
    Add = _swig_new_instance_method(_BOPDS.BOPDS_IndexedMapOfPaveBlock_Add)
    Contains = _swig_new_instance_method(_BOPDS.BOPDS_IndexedMapOfPaveBlock_Contains)
    Substitute = _swig_new_instance_method(_BOPDS.BOPDS_IndexedMapOfPaveBlock_Substitute)
    Swap = _swig_new_instance_method(_BOPDS.BOPDS_IndexedMapOfPaveBlock_Swap)
    RemoveLast = _swig_new_instance_method(_BOPDS.BOPDS_IndexedMapOfPaveBlock_RemoveLast)
    RemoveFromIndex = _swig_new_instance_method(_BOPDS.BOPDS_IndexedMapOfPaveBlock_RemoveFromIndex)
    RemoveKey = _swig_new_instance_method(_BOPDS.BOPDS_IndexedMapOfPaveBlock_RemoveKey)
    FindKey = _swig_new_instance_method(_BOPDS.BOPDS_IndexedMapOfPaveBlock_FindKey)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_IndexedMapOfPaveBlock___call__)
    FindIndex = _swig_new_instance_method(_BOPDS.BOPDS_IndexedMapOfPaveBlock_FindIndex)
    Clear = _swig_new_instance_method(_BOPDS.BOPDS_IndexedMapOfPaveBlock_Clear)
    __swig_destroy__ = _BOPDS.delete_BOPDS_IndexedMapOfPaveBlock
    Size = _swig_new_instance_method(_BOPDS.BOPDS_IndexedMapOfPaveBlock_Size)

# Register BOPDS_IndexedMapOfPaveBlock in _BOPDS:
_BOPDS.BOPDS_IndexedMapOfPaveBlock_swigregister(BOPDS_IndexedMapOfPaveBlock)

class BOPDS_VectorOfInterfVF(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfInterfVF_swiginit(self, _BOPDS.new_BOPDS_VectorOfInterfVF(*args))
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfInterfVF
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_Length)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_Size)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_Upper)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_IsEmpty)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_Set)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_Append)
    Appended = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_Appended)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_Value)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_ChangeLast)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF___call__)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_ChangeValue)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVF_SetValue)

# Register BOPDS_VectorOfInterfVF in _BOPDS:
_BOPDS.BOPDS_VectorOfInterfVF_swigregister(BOPDS_VectorOfInterfVF)

class BOPDS_MapOfPave(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_MapOfPave_swiginit(self, _BOPDS.new_BOPDS_MapOfPave(*args))
    Exchange = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_Exchange)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_Set)
    ReSize = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_ReSize)
    Add = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_Add)
    Added = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_Added)
    Remove = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_Remove)
    Clear = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_Clear)
    __swig_destroy__ = _BOPDS.delete_BOPDS_MapOfPave
    Size = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_Size)
    IsEqual = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_IsEqual)
    Contains = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_Contains)
    Union = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_Union)
    Unite = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_Unite)
    HasIntersection = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_HasIntersection)
    Intersection = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_Intersection)
    Intersect = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_Intersect)
    Subtraction = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_Subtraction)
    Subtract = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_Subtract)
    Difference = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_Difference)
    Differ = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPave_Differ)

# Register BOPDS_MapOfPave in _BOPDS:
_BOPDS.BOPDS_MapOfPave_swigregister(BOPDS_MapOfPave)

class BOPDS_VectorOfInterfFZ(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfInterfFZ_swiginit(self, _BOPDS.new_BOPDS_VectorOfInterfFZ(*args))
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfInterfFZ
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_Length)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_Size)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_Upper)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_IsEmpty)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_Set)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_Append)
    Appended = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_Appended)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_Value)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_ChangeLast)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ___call__)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_ChangeValue)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFZ_SetValue)

# Register BOPDS_VectorOfInterfFZ in _BOPDS:
_BOPDS.BOPDS_VectorOfInterfFZ_swigregister(BOPDS_VectorOfInterfFZ)

class BOPDS_IndexedDataMapOfPaveBlockListOfInteger(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_swiginit(self, _BOPDS.new_BOPDS_IndexedDataMapOfPaveBlockListOfInteger(*args))
    Exchange = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_Exchange)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_Set)
    ReSize = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_ReSize)
    Add = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_Add)
    Contains = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_Contains)
    Substitute = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_Substitute)
    Swap = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_Swap)
    RemoveLast = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_RemoveLast)
    RemoveFromIndex = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_RemoveFromIndex)
    RemoveKey = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_RemoveKey)
    FindKey = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_FindKey)
    FindFromIndex = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_FindFromIndex)
    ChangeFromIndex = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_ChangeFromIndex)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger___call__)
    FindIndex = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_FindIndex)
    ChangeFromKey = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_ChangeFromKey)
    Seek = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_Seek)
    ChangeSeek = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_ChangeSeek)
    FindFromKey = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_FindFromKey)
    Clear = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_Clear)
    __swig_destroy__ = _BOPDS.delete_BOPDS_IndexedDataMapOfPaveBlockListOfInteger
    Size = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_Size)

# Register BOPDS_IndexedDataMapOfPaveBlockListOfInteger in _BOPDS:
_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfInteger_swigregister(BOPDS_IndexedDataMapOfPaveBlockListOfInteger)

class BOPDS_VectorOfPoint(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfPoint_swiginit(self, _BOPDS.new_BOPDS_VectorOfPoint(*args))
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfPoint
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_Length)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_Size)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_Upper)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_IsEmpty)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_Set)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_Append)
    Appended = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_Appended)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_Value)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_ChangeLast)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint___call__)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_ChangeValue)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPoint_SetValue)

# Register BOPDS_VectorOfPoint in _BOPDS:
_BOPDS.BOPDS_VectorOfPoint_swigregister(BOPDS_VectorOfPoint)

class BOPDS_VectorOfPave(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfPave_swiginit(self, _BOPDS.new_BOPDS_VectorOfPave(*args))
    Init = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_Init)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_Size)
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_Length)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_IsEmpty)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_Upper)
    IsDeletable = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_IsDeletable)
    IsAllocated = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_IsAllocated)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_Assign)
    Move = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_Move)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_Set)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_ChangeLast)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_Value)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_ChangeValue)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave___call__)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_SetValue)
    Resize = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPave_Resize)
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfPave

    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 BOPDS_VectorOfPave in _BOPDS:
_BOPDS.BOPDS_VectorOfPave_swigregister(BOPDS_VectorOfPave)

class BOPDS_VectorOfInterfEZ(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfInterfEZ_swiginit(self, _BOPDS.new_BOPDS_VectorOfInterfEZ(*args))
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfInterfEZ
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_Length)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_Size)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_Upper)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_IsEmpty)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_Set)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_Append)
    Appended = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_Appended)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_Value)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_ChangeLast)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ___call__)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_ChangeValue)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEZ_SetValue)

# Register BOPDS_VectorOfInterfEZ in _BOPDS:
_BOPDS.BOPDS_VectorOfInterfEZ_swigregister(BOPDS_VectorOfInterfEZ)

class BOPDS_DataMapOfPaveBlockListOfPaveBlock(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_swiginit(self, _BOPDS.new_BOPDS_DataMapOfPaveBlockListOfPaveBlock(*args))
    Exchange = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_Exchange)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_Set)
    ReSize = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_ReSize)
    Bind = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_Bind)
    Bound = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_Bound)
    IsBound = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_IsBound)
    UnBind = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_UnBind)
    Seek = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_Seek)
    Find = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_Find)
    ChangeSeek = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_ChangeSeek)
    ChangeFind = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_ChangeFind)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock___call__)
    Clear = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_Clear)
    __swig_destroy__ = _BOPDS.delete_BOPDS_DataMapOfPaveBlockListOfPaveBlock
    Size = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_Size)

# Register BOPDS_DataMapOfPaveBlockListOfPaveBlock in _BOPDS:
_BOPDS.BOPDS_DataMapOfPaveBlockListOfPaveBlock_swigregister(BOPDS_DataMapOfPaveBlockListOfPaveBlock)

class BOPDS_MapOfCommonBlock(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_MapOfCommonBlock_swiginit(self, _BOPDS.new_BOPDS_MapOfCommonBlock(*args))
    Exchange = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_Exchange)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_Set)
    ReSize = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_ReSize)
    Add = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_Add)
    Added = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_Added)
    Remove = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_Remove)
    Clear = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_Clear)
    __swig_destroy__ = _BOPDS.delete_BOPDS_MapOfCommonBlock
    Size = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_Size)
    IsEqual = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_IsEqual)
    Contains = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_Contains)
    Union = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_Union)
    Unite = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_Unite)
    HasIntersection = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_HasIntersection)
    Intersection = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_Intersection)
    Intersect = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_Intersect)
    Subtraction = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_Subtraction)
    Subtract = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_Subtract)
    Difference = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_Difference)
    Differ = _swig_new_instance_method(_BOPDS.BOPDS_MapOfCommonBlock_Differ)

# Register BOPDS_MapOfCommonBlock in _BOPDS:
_BOPDS.BOPDS_MapOfCommonBlock_swigregister(BOPDS_MapOfCommonBlock)

class BOPDS_VectorOfInterfFF(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfInterfFF_swiginit(self, _BOPDS.new_BOPDS_VectorOfInterfFF(*args))
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfInterfFF
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_Length)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_Size)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_Upper)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_IsEmpty)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_Set)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_Append)
    Appended = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_Appended)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_Value)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_ChangeLast)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF___call__)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_ChangeValue)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfFF_SetValue)

# Register BOPDS_VectorOfInterfFF in _BOPDS:
_BOPDS.BOPDS_VectorOfInterfFF_swigregister(BOPDS_VectorOfInterfFF)

class BOPDS_ListOfPave(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPave_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPave_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPave_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPave_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_ListOfPave_swiginit(self, _BOPDS.new_BOPDS_ListOfPave(*args))
    Size = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPave_Size)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPave_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPave_Set)
    Clear = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPave_Clear)
    First = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPave_First)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPave_Last)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPave_Append)
    Prepend = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPave_Prepend)
    RemoveFirst = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPave_RemoveFirst)
    Remove = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPave_Remove)
    InsertBefore = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPave_InsertBefore)
    InsertAfter = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPave_InsertAfter)
    Reverse = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPave_Reverse)
    __swig_destroy__ = _BOPDS.delete_BOPDS_ListOfPave

# Register BOPDS_ListOfPave in _BOPDS:
_BOPDS.BOPDS_ListOfPave_swigregister(BOPDS_ListOfPave)

class BOPDS_DataMapOfPaveBlockListOfInteger(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_swiginit(self, _BOPDS.new_BOPDS_DataMapOfPaveBlockListOfInteger(*args))
    Exchange = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_Exchange)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_Set)
    ReSize = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_ReSize)
    Bind = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_Bind)
    Bound = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_Bound)
    IsBound = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_IsBound)
    UnBind = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_UnBind)
    Seek = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_Seek)
    Find = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_Find)
    ChangeSeek = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_ChangeSeek)
    ChangeFind = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_ChangeFind)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger___call__)
    Clear = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_Clear)
    __swig_destroy__ = _BOPDS.delete_BOPDS_DataMapOfPaveBlockListOfInteger
    Size = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_Size)

# Register BOPDS_DataMapOfPaveBlockListOfInteger in _BOPDS:
_BOPDS.BOPDS_DataMapOfPaveBlockListOfInteger_swigregister(BOPDS_DataMapOfPaveBlockListOfInteger)

class BOPDS_DataMapOfShapeCoupleOfPaveBlocks(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_swiginit(self, _BOPDS.new_BOPDS_DataMapOfShapeCoupleOfPaveBlocks(*args))
    Exchange = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_Exchange)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_Set)
    ReSize = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_ReSize)
    Bind = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_Bind)
    Bound = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_Bound)
    IsBound = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_IsBound)
    UnBind = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_UnBind)
    Seek = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_Seek)
    Find = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_Find)
    ChangeSeek = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_ChangeSeek)
    ChangeFind = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_ChangeFind)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks___call__)
    Clear = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_Clear)
    __swig_destroy__ = _BOPDS.delete_BOPDS_DataMapOfShapeCoupleOfPaveBlocks
    Size = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_Size)

# Register BOPDS_DataMapOfShapeCoupleOfPaveBlocks in _BOPDS:
_BOPDS.BOPDS_DataMapOfShapeCoupleOfPaveBlocks_swigregister(BOPDS_DataMapOfShapeCoupleOfPaveBlocks)

class BOPDS_VectorOfVectorOfPair(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfVectorOfPair_swiginit(self, _BOPDS.new_BOPDS_VectorOfVectorOfPair(*args))
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfVectorOfPair
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_Length)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_Size)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_Upper)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_IsEmpty)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_Set)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_Append)
    Appended = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_Appended)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_Value)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_ChangeLast)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair___call__)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_ChangeValue)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfVectorOfPair_SetValue)

# Register BOPDS_VectorOfVectorOfPair in _BOPDS:
_BOPDS.BOPDS_VectorOfVectorOfPair_swigregister(BOPDS_VectorOfVectorOfPair)

class BOPDS_VectorOfListOfPaveBlock(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfListOfPaveBlock_swiginit(self, _BOPDS.new_BOPDS_VectorOfListOfPaveBlock(*args))
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfListOfPaveBlock
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_Length)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_Size)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_Upper)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_IsEmpty)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_Set)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_Append)
    Appended = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_Appended)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_Value)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_ChangeLast)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock___call__)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_ChangeValue)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfListOfPaveBlock_SetValue)

# Register BOPDS_VectorOfListOfPaveBlock in _BOPDS:
_BOPDS.BOPDS_VectorOfListOfPaveBlock_swigregister(BOPDS_VectorOfListOfPaveBlock)

class BOPDS_VectorOfInterfEE(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfInterfEE_swiginit(self, _BOPDS.new_BOPDS_VectorOfInterfEE(*args))
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfInterfEE
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_Length)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_Size)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_Upper)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_IsEmpty)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_Set)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_Append)
    Appended = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_Appended)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_Value)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_ChangeLast)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE___call__)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_ChangeValue)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEE_SetValue)

# Register BOPDS_VectorOfInterfEE in _BOPDS:
_BOPDS.BOPDS_VectorOfInterfEE_swigregister(BOPDS_VectorOfInterfEE)

class BOPDS_VectorOfShapeInfo(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfShapeInfo_swiginit(self, _BOPDS.new_BOPDS_VectorOfShapeInfo(*args))
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfShapeInfo
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_Length)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_Size)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_Upper)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_IsEmpty)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_Set)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_Append)
    Appended = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_Appended)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_Value)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_ChangeLast)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo___call__)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_ChangeValue)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfShapeInfo_SetValue)

# Register BOPDS_VectorOfShapeInfo in _BOPDS:
_BOPDS.BOPDS_VectorOfShapeInfo_swigregister(BOPDS_VectorOfShapeInfo)

class BOPDS_VectorOfInterfVZ(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfInterfVZ_swiginit(self, _BOPDS.new_BOPDS_VectorOfInterfVZ(*args))
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfInterfVZ
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_Length)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_Size)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_Upper)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_IsEmpty)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_Set)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_Append)
    Appended = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_Appended)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_Value)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_ChangeLast)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ___call__)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_ChangeValue)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVZ_SetValue)

# Register BOPDS_VectorOfInterfVZ in _BOPDS:
_BOPDS.BOPDS_VectorOfInterfVZ_swigregister(BOPDS_VectorOfInterfVZ)

class BOPDS_VectorOfPair(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfPair_swiginit(self, _BOPDS.new_BOPDS_VectorOfPair(*args))
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfPair
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_Length)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_Size)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_Upper)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_IsEmpty)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_Set)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_Append)
    Appended = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_Appended)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_Value)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_ChangeLast)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair___call__)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_ChangeValue)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfPair_SetValue)

# Register BOPDS_VectorOfPair in _BOPDS:
_BOPDS.BOPDS_VectorOfPair_swigregister(BOPDS_VectorOfPair)

class BOPDS_VectorOfInterfEF(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfInterfEF_swiginit(self, _BOPDS.new_BOPDS_VectorOfInterfEF(*args))
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfInterfEF
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_Length)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_Size)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_Upper)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_IsEmpty)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_Set)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_Append)
    Appended = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_Appended)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_Value)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_ChangeLast)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF___call__)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_ChangeValue)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfEF_SetValue)

# Register BOPDS_VectorOfInterfEF in _BOPDS:
_BOPDS.BOPDS_VectorOfInterfEF_swigregister(BOPDS_VectorOfInterfEF)

class BOPDS_VectorOfInterfVE(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_VectorOfInterfVE_swiginit(self, _BOPDS.new_BOPDS_VectorOfInterfVE(*args))
    __swig_destroy__ = _BOPDS.delete_BOPDS_VectorOfInterfVE
    Length = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_Length)
    Size = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_Size)
    Lower = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_Lower)
    Upper = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_Upper)
    IsEmpty = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_IsEmpty)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_Set)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_Append)
    Appended = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_Appended)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_Value)
    First = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_First)
    ChangeFirst = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_ChangeFirst)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_Last)
    ChangeLast = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_ChangeLast)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE___call__)
    ChangeValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_ChangeValue)
    SetValue = _swig_new_instance_method(_BOPDS.BOPDS_VectorOfInterfVE_SetValue)

# Register BOPDS_VectorOfInterfVE in _BOPDS:
_BOPDS.BOPDS_VectorOfInterfVE_swigregister(BOPDS_VectorOfInterfVE)

class BOPDS_DataMapOfIntegerListOfPaveBlock(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_swiginit(self, _BOPDS.new_BOPDS_DataMapOfIntegerListOfPaveBlock(*args))
    Exchange = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_Exchange)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_Set)
    ReSize = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_ReSize)
    Bind = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_Bind)
    Bound = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_Bound)
    IsBound = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_IsBound)
    UnBind = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_UnBind)
    Seek = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_Seek)
    Find = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_Find)
    ChangeSeek = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_ChangeSeek)
    ChangeFind = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_ChangeFind)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock___call__)
    Clear = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_Clear)
    __swig_destroy__ = _BOPDS.delete_BOPDS_DataMapOfIntegerListOfPaveBlock
    Size = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_Size)
    Keys = _swig_new_instance_method(_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_Keys)

# Register BOPDS_DataMapOfIntegerListOfPaveBlock in _BOPDS:
_BOPDS.BOPDS_DataMapOfIntegerListOfPaveBlock_swigregister(BOPDS_DataMapOfIntegerListOfPaveBlock)

class BOPDS_MapOfPair(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_MapOfPair_swiginit(self, _BOPDS.new_BOPDS_MapOfPair(*args))
    Exchange = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_Exchange)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_Set)
    ReSize = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_ReSize)
    Add = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_Add)
    Added = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_Added)
    Remove = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_Remove)
    Clear = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_Clear)
    __swig_destroy__ = _BOPDS.delete_BOPDS_MapOfPair
    Size = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_Size)
    IsEqual = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_IsEqual)
    Contains = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_Contains)
    Union = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_Union)
    Unite = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_Unite)
    HasIntersection = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_HasIntersection)
    Intersection = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_Intersection)
    Intersect = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_Intersect)
    Subtraction = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_Subtraction)
    Subtract = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_Subtract)
    Difference = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_Difference)
    Differ = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPair_Differ)

# Register BOPDS_MapOfPair in _BOPDS:
_BOPDS.BOPDS_MapOfPair_swigregister(BOPDS_MapOfPair)

class BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_swiginit(self, _BOPDS.new_BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock(*args))
    Exchange = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_Exchange)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_Set)
    ReSize = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_ReSize)
    Add = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_Add)
    Contains = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_Contains)
    Substitute = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_Substitute)
    Swap = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_Swap)
    RemoveLast = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_RemoveLast)
    RemoveFromIndex = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_RemoveFromIndex)
    RemoveKey = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_RemoveKey)
    FindKey = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_FindKey)
    FindFromIndex = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_FindFromIndex)
    ChangeFromIndex = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_ChangeFromIndex)
    __call__ = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock___call__)
    FindIndex = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_FindIndex)
    ChangeFromKey = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_ChangeFromKey)
    Seek = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_Seek)
    ChangeSeek = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_ChangeSeek)
    FindFromKey = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_FindFromKey)
    Clear = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_Clear)
    __swig_destroy__ = _BOPDS.delete_BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock
    Size = _swig_new_instance_method(_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_Size)

# Register BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock in _BOPDS:
_BOPDS.BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_swigregister(BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock)

class BOPDS_ListOfPaveBlock(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPaveBlock_begin)
    end = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPaveBlock_end)
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPaveBlock_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPaveBlock_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_ListOfPaveBlock_swiginit(self, _BOPDS.new_BOPDS_ListOfPaveBlock(*args))
    Size = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPaveBlock_Size)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPaveBlock_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPaveBlock_Set)
    Clear = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPaveBlock_Clear)
    First = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPaveBlock_First)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPaveBlock_Last)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPaveBlock_Append)
    Prepend = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPaveBlock_Prepend)
    RemoveFirst = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPaveBlock_RemoveFirst)
    Remove = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPaveBlock_Remove)
    InsertBefore = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPaveBlock_InsertBefore)
    InsertAfter = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPaveBlock_InsertAfter)
    Reverse = _swig_new_instance_method(_BOPDS.BOPDS_ListOfPaveBlock_Reverse)
    __swig_destroy__ = _BOPDS.delete_BOPDS_ListOfPaveBlock

# Register BOPDS_ListOfPaveBlock in _BOPDS:
_BOPDS.BOPDS_ListOfPaveBlock_swigregister(BOPDS_ListOfPaveBlock)

class BOPDS_MapOfPaveBlock(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    cbegin = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_cbegin)
    cend = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_cend)

    def __init__(self, *args):
        _BOPDS.BOPDS_MapOfPaveBlock_swiginit(self, _BOPDS.new_BOPDS_MapOfPaveBlock(*args))
    Exchange = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_Exchange)
    Assign = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_Assign)
    Set = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_Set)
    ReSize = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_ReSize)
    Add = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_Add)
    Added = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_Added)
    Remove = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_Remove)
    Clear = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_Clear)
    __swig_destroy__ = _BOPDS.delete_BOPDS_MapOfPaveBlock
    Size = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_Size)
    IsEqual = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_IsEqual)
    Contains = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_Contains)
    Union = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_Union)
    Unite = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_Unite)
    HasIntersection = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_HasIntersection)
    Intersection = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_Intersection)
    Intersect = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_Intersect)
    Subtraction = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_Subtraction)
    Subtract = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_Subtract)
    Difference = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_Difference)
    Differ = _swig_new_instance_method(_BOPDS.BOPDS_MapOfPaveBlock_Differ)

# Register BOPDS_MapOfPaveBlock in _BOPDS:
_BOPDS.BOPDS_MapOfPaveBlock_swigregister(BOPDS_MapOfPaveBlock)

class BOPDS_CommonBlock(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
    AddFace = _swig_new_instance_method(_BOPDS.BOPDS_CommonBlock_AddFace)
    AddPaveBlock = _swig_new_instance_method(_BOPDS.BOPDS_CommonBlock_AddPaveBlock)
    AppendFaces = _swig_new_instance_method(_BOPDS.BOPDS_CommonBlock_AppendFaces)

    def __init__(self, *args):
        r"""
        * Empty contructor
        	:rtype: None* Contructor <theAllocator> - the allocator to manage the memory
        	:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _BOPDS.BOPDS_CommonBlock_swiginit(self, _BOPDS.new_BOPDS_CommonBlock(*args))
    Contains = _swig_new_instance_method(_BOPDS.BOPDS_CommonBlock_Contains)
    Dump = _swig_new_instance_method(_BOPDS.BOPDS_CommonBlock_Dump)
    Edge = _swig_new_instance_method(_BOPDS.BOPDS_CommonBlock_Edge)
    Faces = _swig_new_instance_method(_BOPDS.BOPDS_CommonBlock_Faces)
    IsPaveBlockOnEdge = _swig_new_instance_method(_BOPDS.BOPDS_CommonBlock_IsPaveBlockOnEdge)
    IsPaveBlockOnFace = _swig_new_instance_method(_BOPDS.BOPDS_CommonBlock_IsPaveBlockOnFace)
    PaveBlock1 = _swig_new_instance_method(_BOPDS.BOPDS_CommonBlock_PaveBlock1)
    PaveBlockOnEdge = _swig_new_instance_method(_BOPDS.BOPDS_CommonBlock_PaveBlockOnEdge)
    PaveBlocks = _swig_new_instance_method(_BOPDS.BOPDS_CommonBlock_PaveBlocks)
    SetEdge = _swig_new_instance_method(_BOPDS.BOPDS_CommonBlock_SetEdge)
    SetFaces = _swig_new_instance_method(_BOPDS.BOPDS_CommonBlock_SetFaces)
    SetPaveBlocks = _swig_new_instance_method(_BOPDS.BOPDS_CommonBlock_SetPaveBlocks)
    SetRealPaveBlock = _swig_new_instance_method(_BOPDS.BOPDS_CommonBlock_SetRealPaveBlock)
    SetTolerance = _swig_new_instance_method(_BOPDS.BOPDS_CommonBlock_SetTolerance)
    Tolerance = _swig_new_instance_method(_BOPDS.BOPDS_CommonBlock_Tolerance)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_CommonBlock

# Register BOPDS_CommonBlock in _BOPDS:
_BOPDS.BOPDS_CommonBlock_swigregister(BOPDS_CommonBlock)

class BOPDS_CoupleOfPaveBlocks(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"""
        * /** * Constructor */
        	:rtype: None* /** * Constructor * @param thePB1 * first pave block * @param thePB2 * secondt pave block */
        	:param thePB1:
        	:type thePB1: BOPDS_PaveBlock
        	:param thePB2:
        	:type thePB2: BOPDS_PaveBlock
        	:rtype: None
        """
        _BOPDS.BOPDS_CoupleOfPaveBlocks_swiginit(self, _BOPDS.new_BOPDS_CoupleOfPaveBlocks(*args))
    Index = _swig_new_instance_method(_BOPDS.BOPDS_CoupleOfPaveBlocks_Index)
    IndexInterf = _swig_new_instance_method(_BOPDS.BOPDS_CoupleOfPaveBlocks_IndexInterf)
    PaveBlock1 = _swig_new_instance_method(_BOPDS.BOPDS_CoupleOfPaveBlocks_PaveBlock1)
    PaveBlock2 = _swig_new_instance_method(_BOPDS.BOPDS_CoupleOfPaveBlocks_PaveBlock2)
    PaveBlocks = _swig_new_instance_method(_BOPDS.BOPDS_CoupleOfPaveBlocks_PaveBlocks)
    SetIndex = _swig_new_instance_method(_BOPDS.BOPDS_CoupleOfPaveBlocks_SetIndex)
    SetIndexInterf = _swig_new_instance_method(_BOPDS.BOPDS_CoupleOfPaveBlocks_SetIndexInterf)
    SetPaveBlock1 = _swig_new_instance_method(_BOPDS.BOPDS_CoupleOfPaveBlocks_SetPaveBlock1)
    SetPaveBlock2 = _swig_new_instance_method(_BOPDS.BOPDS_CoupleOfPaveBlocks_SetPaveBlock2)
    SetPaveBlocks = _swig_new_instance_method(_BOPDS.BOPDS_CoupleOfPaveBlocks_SetPaveBlocks)
    SetTolerance = _swig_new_instance_method(_BOPDS.BOPDS_CoupleOfPaveBlocks_SetTolerance)
    Tolerance = _swig_new_instance_method(_BOPDS.BOPDS_CoupleOfPaveBlocks_Tolerance)

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_CoupleOfPaveBlocks

# Register BOPDS_CoupleOfPaveBlocks in _BOPDS:
_BOPDS.BOPDS_CoupleOfPaveBlocks_swigregister(BOPDS_CoupleOfPaveBlocks)

class BOPDS_Curve(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"""
        * Empty contructor
        	:rtype: None* Contructor <theAllocator> - the allocator to manage the memory
        	:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _BOPDS.BOPDS_Curve_swiginit(self, _BOPDS.new_BOPDS_Curve(*args))
    Box = _swig_new_instance_method(_BOPDS.BOPDS_Curve_Box)
    ChangeBox = _swig_new_instance_method(_BOPDS.BOPDS_Curve_ChangeBox)
    ChangePaveBlock1 = _swig_new_instance_method(_BOPDS.BOPDS_Curve_ChangePaveBlock1)
    ChangePaveBlocks = _swig_new_instance_method(_BOPDS.BOPDS_Curve_ChangePaveBlocks)
    ChangeTechnoVertices = _swig_new_instance_method(_BOPDS.BOPDS_Curve_ChangeTechnoVertices)
    Curve = _swig_new_instance_method(_BOPDS.BOPDS_Curve_Curve)
    HasEdge = _swig_new_instance_method(_BOPDS.BOPDS_Curve_HasEdge)
    InitPaveBlock1 = _swig_new_instance_method(_BOPDS.BOPDS_Curve_InitPaveBlock1)
    PaveBlocks = _swig_new_instance_method(_BOPDS.BOPDS_Curve_PaveBlocks)
    SetBox = _swig_new_instance_method(_BOPDS.BOPDS_Curve_SetBox)
    SetCurve = _swig_new_instance_method(_BOPDS.BOPDS_Curve_SetCurve)
    SetPaveBlocks = _swig_new_instance_method(_BOPDS.BOPDS_Curve_SetPaveBlocks)
    SetTolerance = _swig_new_instance_method(_BOPDS.BOPDS_Curve_SetTolerance)
    TangentialTolerance = _swig_new_instance_method(_BOPDS.BOPDS_Curve_TangentialTolerance)
    TechnoVertices = _swig_new_instance_method(_BOPDS.BOPDS_Curve_TechnoVertices)
    Tolerance = _swig_new_instance_method(_BOPDS.BOPDS_Curve_Tolerance)

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_Curve

# Register BOPDS_Curve in _BOPDS:
_BOPDS.BOPDS_Curve_swigregister(BOPDS_Curve)

class BOPDS_DS(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AddInterf = _swig_new_instance_method(_BOPDS.BOPDS_DS_AddInterf)
    AddShapeSD = _swig_new_instance_method(_BOPDS.BOPDS_DS_AddShapeSD)
    Allocator = _swig_new_instance_method(_BOPDS.BOPDS_DS_Allocator)
    AloneVertices = _swig_new_instance_method(_BOPDS.BOPDS_DS_AloneVertices)
    Append = _swig_new_instance_method(_BOPDS.BOPDS_DS_Append)
    Arguments = _swig_new_instance_method(_BOPDS.BOPDS_DS_Arguments)

    def __init__(self, *args):
        r"""
        * Empty contructor
        	:rtype: None* Contructor theAllocator - the allocator to manage the memory
        	:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _BOPDS.BOPDS_DS_swiginit(self, _BOPDS.new_BOPDS_DS(*args))
    BuildBndBoxSolid = _swig_new_instance_method(_BOPDS.BOPDS_DS_BuildBndBoxSolid)
    ChangeFaceInfo = _swig_new_instance_method(_BOPDS.BOPDS_DS_ChangeFaceInfo)
    ChangePaveBlocks = _swig_new_instance_method(_BOPDS.BOPDS_DS_ChangePaveBlocks)
    ChangePaveBlocksPool = _swig_new_instance_method(_BOPDS.BOPDS_DS_ChangePaveBlocksPool)
    ChangeShapeInfo = _swig_new_instance_method(_BOPDS.BOPDS_DS_ChangeShapeInfo)
    Clear = _swig_new_instance_method(_BOPDS.BOPDS_DS_Clear)
    CommonBlock = _swig_new_instance_method(_BOPDS.BOPDS_DS_CommonBlock)
    Dump = _swig_new_instance_method(_BOPDS.BOPDS_DS_Dump)
    FaceInfo = _swig_new_instance_method(_BOPDS.BOPDS_DS_FaceInfo)
    FaceInfoIn = _swig_new_instance_method(_BOPDS.BOPDS_DS_FaceInfoIn)
    FaceInfoOn = _swig_new_instance_method(_BOPDS.BOPDS_DS_FaceInfoOn)
    FaceInfoPool = _swig_new_instance_method(_BOPDS.BOPDS_DS_FaceInfoPool)
    HasFaceInfo = _swig_new_instance_method(_BOPDS.BOPDS_DS_HasFaceInfo)
    HasInterf = _swig_new_instance_method(_BOPDS.BOPDS_DS_HasInterf)
    HasInterfShapeSubShapes = _swig_new_instance_method(_BOPDS.BOPDS_DS_HasInterfShapeSubShapes)
    HasInterfSubShapes = _swig_new_instance_method(_BOPDS.BOPDS_DS_HasInterfSubShapes)
    HasPaveBlocks = _swig_new_instance_method(_BOPDS.BOPDS_DS_HasPaveBlocks)
    HasShapeSD = _swig_new_instance_method(_BOPDS.BOPDS_DS_HasShapeSD)
    Index = _swig_new_instance_method(_BOPDS.BOPDS_DS_Index)
    Init = _swig_new_instance_method(_BOPDS.BOPDS_DS_Init)
    InitPaveBlocksForVertex = _swig_new_instance_method(_BOPDS.BOPDS_DS_InitPaveBlocksForVertex)
    InterfEE = _swig_new_instance_method(_BOPDS.BOPDS_DS_InterfEE)
    InterfEF = _swig_new_instance_method(_BOPDS.BOPDS_DS_InterfEF)
    InterfEZ = _swig_new_instance_method(_BOPDS.BOPDS_DS_InterfEZ)
    InterfFF = _swig_new_instance_method(_BOPDS.BOPDS_DS_InterfFF)
    InterfFZ = _swig_new_instance_method(_BOPDS.BOPDS_DS_InterfFZ)
    InterfVE = _swig_new_instance_method(_BOPDS.BOPDS_DS_InterfVE)
    InterfVF = _swig_new_instance_method(_BOPDS.BOPDS_DS_InterfVF)
    InterfVV = _swig_new_instance_method(_BOPDS.BOPDS_DS_InterfVV)
    InterfVZ = _swig_new_instance_method(_BOPDS.BOPDS_DS_InterfVZ)
    InterfZZ = _swig_new_instance_method(_BOPDS.BOPDS_DS_InterfZZ)
    Interferences = _swig_new_instance_method(_BOPDS.BOPDS_DS_Interferences)
    IsCommonBlock = _swig_new_instance_method(_BOPDS.BOPDS_DS_IsCommonBlock)
    IsCommonBlockOnEdge = _swig_new_instance_method(_BOPDS.BOPDS_DS_IsCommonBlockOnEdge)
    IsNewShape = _swig_new_instance_method(_BOPDS.BOPDS_DS_IsNewShape)
    IsSubShape = _swig_new_instance_method(_BOPDS.BOPDS_DS_IsSubShape)
    IsValidShrunkData = _swig_new_instance_method(_BOPDS.BOPDS_DS_IsValidShrunkData)
    NbInterfTypes = _swig_new_static_method(_BOPDS.BOPDS_DS_NbInterfTypes)
    NbRanges = _swig_new_instance_method(_BOPDS.BOPDS_DS_NbRanges)
    NbShapes = _swig_new_instance_method(_BOPDS.BOPDS_DS_NbShapes)
    NbSourceShapes = _swig_new_instance_method(_BOPDS.BOPDS_DS_NbSourceShapes)
    PaveBlocks = _swig_new_instance_method(_BOPDS.BOPDS_DS_PaveBlocks)
    PaveBlocksPool = _swig_new_instance_method(_BOPDS.BOPDS_DS_PaveBlocksPool)
    Paves = _swig_new_instance_method(_BOPDS.BOPDS_DS_Paves)
    Range = _swig_new_instance_method(_BOPDS.BOPDS_DS_Range)
    Rank = _swig_new_instance_method(_BOPDS.BOPDS_DS_Rank)
    RealPaveBlock = _swig_new_instance_method(_BOPDS.BOPDS_DS_RealPaveBlock)
    RefineFaceInfoIn = _swig_new_instance_method(_BOPDS.BOPDS_DS_RefineFaceInfoIn)
    RefineFaceInfoOn = _swig_new_instance_method(_BOPDS.BOPDS_DS_RefineFaceInfoOn)
    ReleasePaveBlocks = _swig_new_instance_method(_BOPDS.BOPDS_DS_ReleasePaveBlocks)
    SetArguments = _swig_new_instance_method(_BOPDS.BOPDS_DS_SetArguments)
    SetCommonBlock = _swig_new_instance_method(_BOPDS.BOPDS_DS_SetCommonBlock)
    Shape = _swig_new_instance_method(_BOPDS.BOPDS_DS_Shape)
    ShapeInfo = _swig_new_instance_method(_BOPDS.BOPDS_DS_ShapeInfo)
    ShapesSD = _swig_new_instance_method(_BOPDS.BOPDS_DS_ShapesSD)
    SharedEdges = _swig_new_instance_method(_BOPDS.BOPDS_DS_SharedEdges)
    SubShapesOnIn = _swig_new_instance_method(_BOPDS.BOPDS_DS_SubShapesOnIn)
    UpdateCommonBlock = _swig_new_instance_method(_BOPDS.BOPDS_DS_UpdateCommonBlock)
    UpdateCommonBlockWithSDVertices = _swig_new_instance_method(_BOPDS.BOPDS_DS_UpdateCommonBlockWithSDVertices)
    UpdateFaceInfoIn = _swig_new_instance_method(_BOPDS.BOPDS_DS_UpdateFaceInfoIn)
    UpdateFaceInfoOn = _swig_new_instance_method(_BOPDS.BOPDS_DS_UpdateFaceInfoOn)
    UpdatePaveBlock = _swig_new_instance_method(_BOPDS.BOPDS_DS_UpdatePaveBlock)
    UpdatePaveBlockWithSDVertices = _swig_new_instance_method(_BOPDS.BOPDS_DS_UpdatePaveBlockWithSDVertices)
    UpdatePaveBlocks = _swig_new_instance_method(_BOPDS.BOPDS_DS_UpdatePaveBlocks)
    UpdatePaveBlocksWithSDVertices = _swig_new_instance_method(_BOPDS.BOPDS_DS_UpdatePaveBlocksWithSDVertices)

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_DS

# Register BOPDS_DS in _BOPDS:
_BOPDS.BOPDS_DS_swigregister(BOPDS_DS)
BOPDS_DS_NbInterfTypes = _BOPDS.BOPDS_DS_NbInterfTypes

class BOPDS_FaceInfo(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"""
        * Empty contructor
        	:rtype: None* Contructor theAllocator - the allocator to manage the memory
        	:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _BOPDS.BOPDS_FaceInfo_swiginit(self, _BOPDS.new_BOPDS_FaceInfo(*args))
    ChangePaveBlocksIn = _swig_new_instance_method(_BOPDS.BOPDS_FaceInfo_ChangePaveBlocksIn)
    ChangePaveBlocksOn = _swig_new_instance_method(_BOPDS.BOPDS_FaceInfo_ChangePaveBlocksOn)
    ChangePaveBlocksSc = _swig_new_instance_method(_BOPDS.BOPDS_FaceInfo_ChangePaveBlocksSc)
    ChangeVerticesIn = _swig_new_instance_method(_BOPDS.BOPDS_FaceInfo_ChangeVerticesIn)
    ChangeVerticesOn = _swig_new_instance_method(_BOPDS.BOPDS_FaceInfo_ChangeVerticesOn)
    ChangeVerticesSc = _swig_new_instance_method(_BOPDS.BOPDS_FaceInfo_ChangeVerticesSc)
    Clear = _swig_new_instance_method(_BOPDS.BOPDS_FaceInfo_Clear)
    Index = _swig_new_instance_method(_BOPDS.BOPDS_FaceInfo_Index)
    PaveBlocksIn = _swig_new_instance_method(_BOPDS.BOPDS_FaceInfo_PaveBlocksIn)
    PaveBlocksOn = _swig_new_instance_method(_BOPDS.BOPDS_FaceInfo_PaveBlocksOn)
    PaveBlocksSc = _swig_new_instance_method(_BOPDS.BOPDS_FaceInfo_PaveBlocksSc)
    SetIndex = _swig_new_instance_method(_BOPDS.BOPDS_FaceInfo_SetIndex)
    VerticesIn = _swig_new_instance_method(_BOPDS.BOPDS_FaceInfo_VerticesIn)
    VerticesOn = _swig_new_instance_method(_BOPDS.BOPDS_FaceInfo_VerticesOn)
    VerticesSc = _swig_new_instance_method(_BOPDS.BOPDS_FaceInfo_VerticesSc)

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_FaceInfo

# Register BOPDS_FaceInfo in _BOPDS:
_BOPDS.BOPDS_FaceInfo_swigregister(BOPDS_FaceInfo)

class BOPDS_IndexRange(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"""
        * Empty contructor
        	:rtype: None
        """
        _BOPDS.BOPDS_IndexRange_swiginit(self, _BOPDS.new_BOPDS_IndexRange(*args))
    Contains = _swig_new_instance_method(_BOPDS.BOPDS_IndexRange_Contains)
    Dump = _swig_new_instance_method(_BOPDS.BOPDS_IndexRange_Dump)
    First = _swig_new_instance_method(_BOPDS.BOPDS_IndexRange_First)
    Indices = _swig_new_instance_method(_BOPDS.BOPDS_IndexRange_Indices)
    Last = _swig_new_instance_method(_BOPDS.BOPDS_IndexRange_Last)
    SetFirst = _swig_new_instance_method(_BOPDS.BOPDS_IndexRange_SetFirst)
    SetIndices = _swig_new_instance_method(_BOPDS.BOPDS_IndexRange_SetIndices)
    SetLast = _swig_new_instance_method(_BOPDS.BOPDS_IndexRange_SetLast)

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_IndexRange

# Register BOPDS_IndexRange in _BOPDS:
_BOPDS.BOPDS_IndexRange_swigregister(BOPDS_IndexRange)

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

    def __init__(self, *args):
        r"""
        * Empty contructor
        	:rtype: None* Contructor theAllocator - the allocator to manage the memory
        	:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _BOPDS.BOPDS_Iterator_swiginit(self, _BOPDS.new_BOPDS_Iterator(*args))
    BlockLength = _swig_new_instance_method(_BOPDS.BOPDS_Iterator_BlockLength)
    DS = _swig_new_instance_method(_BOPDS.BOPDS_Iterator_DS)
    ExpectedLength = _swig_new_instance_method(_BOPDS.BOPDS_Iterator_ExpectedLength)
    Initialize = _swig_new_instance_method(_BOPDS.BOPDS_Iterator_Initialize)
    IntersectExt = _swig_new_instance_method(_BOPDS.BOPDS_Iterator_IntersectExt)
    More = _swig_new_instance_method(_BOPDS.BOPDS_Iterator_More)
    NbExtInterfs = _swig_new_static_method(_BOPDS.BOPDS_Iterator_NbExtInterfs)
    Next = _swig_new_instance_method(_BOPDS.BOPDS_Iterator_Next)
    Prepare = _swig_new_instance_method(_BOPDS.BOPDS_Iterator_Prepare)
    RunParallel = _swig_new_instance_method(_BOPDS.BOPDS_Iterator_RunParallel)
    SetDS = _swig_new_instance_method(_BOPDS.BOPDS_Iterator_SetDS)
    SetRunParallel = _swig_new_instance_method(_BOPDS.BOPDS_Iterator_SetRunParallel)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_Iterator_Value)

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_Iterator

# Register BOPDS_Iterator in _BOPDS:
_BOPDS.BOPDS_Iterator_swigregister(BOPDS_Iterator)
BOPDS_Iterator_NbExtInterfs = _BOPDS.BOPDS_Iterator_NbExtInterfs

class BOPDS_Pair(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"""
        :rtype: None:param theIndex1:
        	:type theIndex1: int
        	:param theIndex2:
        	:type theIndex2: int
        	:rtype: None
        """
        _BOPDS.BOPDS_Pair_swiginit(self, _BOPDS.new_BOPDS_Pair(*args))
    HashCode = _swig_new_instance_method(_BOPDS.BOPDS_Pair_HashCode)
    __hash__ = _swig_new_instance_method(_BOPDS.BOPDS_Pair___hash__)
    Indices = _swig_new_instance_method(_BOPDS.BOPDS_Pair_Indices)
    IsEqual = _swig_new_instance_method(_BOPDS.BOPDS_Pair_IsEqual)
    SetIndices = _swig_new_instance_method(_BOPDS.BOPDS_Pair_SetIndices)

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_Pair

# Register BOPDS_Pair in _BOPDS:
_BOPDS.BOPDS_Pair_swigregister(BOPDS_Pair)

class BOPDS_PairMapHasher(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    HashCode = _swig_new_static_method(_BOPDS.BOPDS_PairMapHasher_HashCode)
    IsEqual = _swig_new_static_method(_BOPDS.BOPDS_PairMapHasher_IsEqual)

    __repr__ = _dumps_object


    def __init__(self):
        _BOPDS.BOPDS_PairMapHasher_swiginit(self, _BOPDS.new_BOPDS_PairMapHasher())
    __swig_destroy__ = _BOPDS.delete_BOPDS_PairMapHasher

# Register BOPDS_PairMapHasher in _BOPDS:
_BOPDS.BOPDS_PairMapHasher_swigregister(BOPDS_PairMapHasher)
BOPDS_PairMapHasher_HashCode = _BOPDS.BOPDS_PairMapHasher_HashCode
BOPDS_PairMapHasher_IsEqual = _BOPDS.BOPDS_PairMapHasher_IsEqual

class BOPDS_Pave(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"""
        * Empty contructor
        	:rtype: None
        """
        _BOPDS.BOPDS_Pave_swiginit(self, _BOPDS.new_BOPDS_Pave(*args))
    Contents = _swig_new_instance_method(_BOPDS.BOPDS_Pave_Contents)
    Dump = _swig_new_instance_method(_BOPDS.BOPDS_Pave_Dump)
    Index = _swig_new_instance_method(_BOPDS.BOPDS_Pave_Index)
    IsEqual = _swig_new_instance_method(_BOPDS.BOPDS_Pave_IsEqual)
    IsLess = _swig_new_instance_method(_BOPDS.BOPDS_Pave_IsLess)
    Parameter = _swig_new_instance_method(_BOPDS.BOPDS_Pave_Parameter)
    SetIndex = _swig_new_instance_method(_BOPDS.BOPDS_Pave_SetIndex)
    SetParameter = _swig_new_instance_method(_BOPDS.BOPDS_Pave_SetParameter)
    __eq_wrapper__ = _swig_new_instance_method(_BOPDS.BOPDS_Pave___eq_wrapper__)

    def __eq__(self, right):
        try:
            return self.__eq_wrapper__(right)
        except:
            return False


    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_Pave

# Register BOPDS_Pave in _BOPDS:
_BOPDS.BOPDS_Pave_swigregister(BOPDS_Pave)

class BOPDS_PaveBlock(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
    AppendExtPave = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_AppendExtPave)
    AppendExtPave1 = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_AppendExtPave1)

    def __init__(self, *args):
        r"""
        * Empty contructor
        	:rtype: None* Contructor <theAllocator> - the allocator to manage the memory
        	:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _BOPDS.BOPDS_PaveBlock_swiginit(self, _BOPDS.new_BOPDS_PaveBlock(*args))
    ChangeExtPaves = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_ChangeExtPaves)
    ContainsParameter = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_ContainsParameter)
    Dump = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_Dump)
    Edge = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_Edge)
    ExtPaves = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_ExtPaves)
    HasEdge = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_HasEdge)
    HasSameBounds = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_HasSameBounds)
    HasShrunkData = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_HasShrunkData)
    Indices = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_Indices)
    IsSplitEdge = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_IsSplitEdge)
    IsSplittable = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_IsSplittable)
    IsToUpdate = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_IsToUpdate)
    OriginalEdge = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_OriginalEdge)
    Pave1 = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_Pave1)
    Pave2 = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_Pave2)
    Range = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_Range)
    RemoveExtPave = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_RemoveExtPave)
    SetEdge = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_SetEdge)
    SetOriginalEdge = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_SetOriginalEdge)
    SetPave1 = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_SetPave1)
    SetPave2 = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_SetPave2)
    SetShrunkData = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_SetShrunkData)
    ShrunkData = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_ShrunkData)
    Update = _swig_new_instance_method(_BOPDS.BOPDS_PaveBlock_Update)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_PaveBlock

# Register BOPDS_PaveBlock in _BOPDS:
_BOPDS.BOPDS_PaveBlock_swigregister(BOPDS_PaveBlock)

class BOPDS_PaveMapHasher(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    HashCode = _swig_new_static_method(_BOPDS.BOPDS_PaveMapHasher_HashCode)
    IsEqual = _swig_new_static_method(_BOPDS.BOPDS_PaveMapHasher_IsEqual)

    __repr__ = _dumps_object


    def __init__(self):
        _BOPDS.BOPDS_PaveMapHasher_swiginit(self, _BOPDS.new_BOPDS_PaveMapHasher())
    __swig_destroy__ = _BOPDS.delete_BOPDS_PaveMapHasher

# Register BOPDS_PaveMapHasher in _BOPDS:
_BOPDS.BOPDS_PaveMapHasher_swigregister(BOPDS_PaveMapHasher)
BOPDS_PaveMapHasher_HashCode = _BOPDS.BOPDS_PaveMapHasher_HashCode
BOPDS_PaveMapHasher_IsEqual = _BOPDS.BOPDS_PaveMapHasher_IsEqual

class BOPDS_Point(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"""
        * Empty contructor
        	:rtype: None
        """
        _BOPDS.BOPDS_Point_swiginit(self, _BOPDS.new_BOPDS_Point(*args))
    Index = _swig_new_instance_method(_BOPDS.BOPDS_Point_Index)
    Pnt = _swig_new_instance_method(_BOPDS.BOPDS_Point_Pnt)
    Pnt2D1 = _swig_new_instance_method(_BOPDS.BOPDS_Point_Pnt2D1)
    Pnt2D2 = _swig_new_instance_method(_BOPDS.BOPDS_Point_Pnt2D2)
    SetIndex = _swig_new_instance_method(_BOPDS.BOPDS_Point_SetIndex)
    SetPnt = _swig_new_instance_method(_BOPDS.BOPDS_Point_SetPnt)
    SetPnt2D1 = _swig_new_instance_method(_BOPDS.BOPDS_Point_SetPnt2D1)
    SetPnt2D2 = _swig_new_instance_method(_BOPDS.BOPDS_Point_SetPnt2D2)

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_Point

# Register BOPDS_Point in _BOPDS:
_BOPDS.BOPDS_Point_swigregister(BOPDS_Point)

class BOPDS_ShapeInfo(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"""
        * Empty contructor
        	:rtype: None* Contructor theAllocator - the allocator to manage the memory
        	:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _BOPDS.BOPDS_ShapeInfo_swiginit(self, _BOPDS.new_BOPDS_ShapeInfo(*args))
    Box = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_Box)
    ChangeBox = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_ChangeBox)
    ChangeSubShapes = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_ChangeSubShapes)
    Dump = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_Dump)
    Flag = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_Flag)
    HasBRep = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_HasBRep)
    HasFlag = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_HasFlag)
    HasReference = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_HasReference)
    HasSubShape = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_HasSubShape)
    IsInterfering = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_IsInterfering)
    Reference = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_Reference)
    SetBox = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_SetBox)
    SetFlag = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_SetFlag)
    SetReference = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_SetReference)
    SetShape = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_SetShape)
    SetShapeType = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_SetShapeType)
    Shape = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_Shape)
    ShapeType = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_ShapeType)
    SubShapes = _swig_new_instance_method(_BOPDS.BOPDS_ShapeInfo_SubShapes)

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_ShapeInfo

# Register BOPDS_ShapeInfo in _BOPDS:
_BOPDS.BOPDS_ShapeInfo_swigregister(BOPDS_ShapeInfo)

class BOPDS_SubIterator(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"""
        * Empty constructor
        	:rtype: None* Constructor theAllocator - the allocator to manage the memory
        	:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _BOPDS.BOPDS_SubIterator_swiginit(self, _BOPDS.new_BOPDS_SubIterator(*args))
    DS = _swig_new_instance_method(_BOPDS.BOPDS_SubIterator_DS)
    ExpectedLength = _swig_new_instance_method(_BOPDS.BOPDS_SubIterator_ExpectedLength)
    Initialize = _swig_new_instance_method(_BOPDS.BOPDS_SubIterator_Initialize)
    More = _swig_new_instance_method(_BOPDS.BOPDS_SubIterator_More)
    Next = _swig_new_instance_method(_BOPDS.BOPDS_SubIterator_Next)
    Prepare = _swig_new_instance_method(_BOPDS.BOPDS_SubIterator_Prepare)
    SetDS = _swig_new_instance_method(_BOPDS.BOPDS_SubIterator_SetDS)
    SetSubSet1 = _swig_new_instance_method(_BOPDS.BOPDS_SubIterator_SetSubSet1)
    SetSubSet2 = _swig_new_instance_method(_BOPDS.BOPDS_SubIterator_SetSubSet2)
    SubSet1 = _swig_new_instance_method(_BOPDS.BOPDS_SubIterator_SubSet1)
    SubSet2 = _swig_new_instance_method(_BOPDS.BOPDS_SubIterator_SubSet2)
    Value = _swig_new_instance_method(_BOPDS.BOPDS_SubIterator_Value)

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_SubIterator

# Register BOPDS_SubIterator in _BOPDS:
_BOPDS.BOPDS_SubIterator_swigregister(BOPDS_SubIterator)

class BOPDS_Tools(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    HasBRep = _swig_new_static_method(_BOPDS.BOPDS_Tools_HasBRep)
    IsInterfering = _swig_new_static_method(_BOPDS.BOPDS_Tools_IsInterfering)
    TypeToInteger = _swig_new_static_method(_BOPDS.BOPDS_Tools_TypeToInteger)

    __repr__ = _dumps_object


    def __init__(self):
        _BOPDS.BOPDS_Tools_swiginit(self, _BOPDS.new_BOPDS_Tools())
    __swig_destroy__ = _BOPDS.delete_BOPDS_Tools

# Register BOPDS_Tools in _BOPDS:
_BOPDS.BOPDS_Tools_swigregister(BOPDS_Tools)
BOPDS_Tools_HasBRep = _BOPDS.BOPDS_Tools_HasBRep
BOPDS_Tools_IsInterfering = _BOPDS.BOPDS_Tools_IsInterfering
BOPDS_Tools_TypeToInteger = _BOPDS.BOPDS_Tools_TypeToInteger

class BOPDS_InterfEE(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"""
        * /** * Constructor */
        	:rtype: None* /** * Constructor * @param theAllocator * allocator to manage the memory */
        	:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _BOPDS.BOPDS_InterfEE_swiginit(self, _BOPDS.new_BOPDS_InterfEE(*args))
    CommonPart = _swig_new_instance_method(_BOPDS.BOPDS_InterfEE_CommonPart)
    SetCommonPart = _swig_new_instance_method(_BOPDS.BOPDS_InterfEE_SetCommonPart)

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_InterfEE

# Register BOPDS_InterfEE in _BOPDS:
_BOPDS.BOPDS_InterfEE_swigregister(BOPDS_InterfEE)

class BOPDS_InterfEF(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"""
        * /** * Constructor */
        	:rtype: None* /** * Constructor * @param theAllocator * allocator to manage the memory *//** * Constructor * @param theAllocator * allocator to manage the memory */
        	:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _BOPDS.BOPDS_InterfEF_swiginit(self, _BOPDS.new_BOPDS_InterfEF(*args))
    CommonPart = _swig_new_instance_method(_BOPDS.BOPDS_InterfEF_CommonPart)
    SetCommonPart = _swig_new_instance_method(_BOPDS.BOPDS_InterfEF_SetCommonPart)

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_InterfEF

# Register BOPDS_InterfEF in _BOPDS:
_BOPDS.BOPDS_InterfEF_swigregister(BOPDS_InterfEF)

class BOPDS_InterfEZ(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"""
        * /** * Constructor */
        	:rtype: None* /** * Constructor * @param theAllocator * allocator to manage the memory */
        	:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _BOPDS.BOPDS_InterfEZ_swiginit(self, _BOPDS.new_BOPDS_InterfEZ(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_InterfEZ

# Register BOPDS_InterfEZ in _BOPDS:
_BOPDS.BOPDS_InterfEZ_swigregister(BOPDS_InterfEZ)

class BOPDS_InterfFF(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"""
        * /** * Constructor */
        	:rtype: None
        """
        _BOPDS.BOPDS_InterfFF_swiginit(self, _BOPDS.new_BOPDS_InterfFF(*args))
    ChangeCurves = _swig_new_instance_method(_BOPDS.BOPDS_InterfFF_ChangeCurves)
    ChangePoints = _swig_new_instance_method(_BOPDS.BOPDS_InterfFF_ChangePoints)
    Curves = _swig_new_instance_method(_BOPDS.BOPDS_InterfFF_Curves)
    Init = _swig_new_instance_method(_BOPDS.BOPDS_InterfFF_Init)
    Points = _swig_new_instance_method(_BOPDS.BOPDS_InterfFF_Points)
    SetTangentFaces = _swig_new_instance_method(_BOPDS.BOPDS_InterfFF_SetTangentFaces)
    TangentFaces = _swig_new_instance_method(_BOPDS.BOPDS_InterfFF_TangentFaces)

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_InterfFF

# Register BOPDS_InterfFF in _BOPDS:
_BOPDS.BOPDS_InterfFF_swigregister(BOPDS_InterfFF)

class BOPDS_InterfFZ(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"""
        * /** * Constructor */
        	:rtype: None* /** * Constructor * @param theAllocator * allocator to manage the memory */
        	:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _BOPDS.BOPDS_InterfFZ_swiginit(self, _BOPDS.new_BOPDS_InterfFZ(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_InterfFZ

# Register BOPDS_InterfFZ in _BOPDS:
_BOPDS.BOPDS_InterfFZ_swigregister(BOPDS_InterfFZ)

class BOPDS_InterfVE(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"""
        * /** * Constructor */
        	:rtype: None* /** * Constructor * @param theAllocator * allocator to manage the memory */
        	:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _BOPDS.BOPDS_InterfVE_swiginit(self, _BOPDS.new_BOPDS_InterfVE(*args))
    Parameter = _swig_new_instance_method(_BOPDS.BOPDS_InterfVE_Parameter)
    SetParameter = _swig_new_instance_method(_BOPDS.BOPDS_InterfVE_SetParameter)

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_InterfVE

# Register BOPDS_InterfVE in _BOPDS:
_BOPDS.BOPDS_InterfVE_swigregister(BOPDS_InterfVE)

class BOPDS_InterfVF(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"""
        * /** * Constructor */
        	:rtype: None* /** * Constructor * @param theAllocator * allocator to manage the memory */
        	:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _BOPDS.BOPDS_InterfVF_swiginit(self, _BOPDS.new_BOPDS_InterfVF(*args))
    SetUV = _swig_new_instance_method(_BOPDS.BOPDS_InterfVF_SetUV)
    UV = _swig_new_instance_method(_BOPDS.BOPDS_InterfVF_UV)

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_InterfVF

# Register BOPDS_InterfVF in _BOPDS:
_BOPDS.BOPDS_InterfVF_swigregister(BOPDS_InterfVF)

class BOPDS_InterfVV(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"""
        * /** * Constructor */
        	:rtype: None* /** * Constructor * @param theAllocator * allocator to manage the memory */
        	:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _BOPDS.BOPDS_InterfVV_swiginit(self, _BOPDS.new_BOPDS_InterfVV(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_InterfVV

# Register BOPDS_InterfVV in _BOPDS:
_BOPDS.BOPDS_InterfVV_swigregister(BOPDS_InterfVV)

class BOPDS_InterfVZ(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"""
        * /** * Constructor */
        	:rtype: None* /** * Constructor * @param theAllocator * allocator to manage the memory */
        	:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _BOPDS.BOPDS_InterfVZ_swiginit(self, _BOPDS.new_BOPDS_InterfVZ(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_InterfVZ

# Register BOPDS_InterfVZ in _BOPDS:
_BOPDS.BOPDS_InterfVZ_swigregister(BOPDS_InterfVZ)

class BOPDS_InterfZZ(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"""
        * /** * Constructor */
        	:rtype: None* /** * Constructor * @param theAllocator * allocator to manage the memory */
        	:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _BOPDS.BOPDS_InterfZZ_swiginit(self, _BOPDS.new_BOPDS_InterfZZ(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_InterfZZ

# Register BOPDS_InterfZZ in _BOPDS:
_BOPDS.BOPDS_InterfZZ_swigregister(BOPDS_InterfZZ)

class BOPDS_IteratorSI(BOPDS_Iterator):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        * Empty contructor
        	:rtype: None* Contructor theAllocator - the allocator to manage the memory
        	:param theAllocator:
        	:type theAllocator: NCollection_BaseAllocator
        	:rtype: None
        """
        _BOPDS.BOPDS_IteratorSI_swiginit(self, _BOPDS.new_BOPDS_IteratorSI(*args))
    UpdateByLevelOfCheck = _swig_new_instance_method(_BOPDS.BOPDS_IteratorSI_UpdateByLevelOfCheck)

    __repr__ = _dumps_object

    __swig_destroy__ = _BOPDS.delete_BOPDS_IteratorSI

# Register BOPDS_IteratorSI in _BOPDS:
_BOPDS.BOPDS_IteratorSI_swigregister(BOPDS_IteratorSI)



