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

"""
MAT module, see official documentation at
https://dev.opencascade.org/doc/occt-7.9.0/refman/html/package_mat.html
"""

from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if getattr(globals().get("__spec__"), "parent", None) or __package__ or "." in __name__:
    from . import _MAT
else:
    import _MAT

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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


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


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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr
    erase_event = _MAT.ios_base_erase_event
    imbue_event = _MAT.ios_base_imbue_event
    copyfmt_event = _MAT.ios_base_copyfmt_event

    def register_callback(self, __fn, __index):
        return _MAT.ios_base_register_callback(self, __fn, __index)

    def flags(self, *args):
        return _MAT.ios_base_flags(self, *args)

    def setf(self, *args):
        return _MAT.ios_base_setf(self, *args)

    def unsetf(self, __mask):
        return _MAT.ios_base_unsetf(self, __mask)

    def precision(self, *args):
        return _MAT.ios_base_precision(self, *args)

    def width(self, *args):
        return _MAT.ios_base_width(self, *args)

    @staticmethod
    def sync_with_stdio(__sync=True):
        return _MAT.ios_base_sync_with_stdio(__sync)

    def imbue(self, __loc):
        return _MAT.ios_base_imbue(self, __loc)

    def getloc(self):
        return _MAT.ios_base_getloc(self)

    @staticmethod
    def xalloc():
        return _MAT.ios_base_xalloc()

    def iword(self, __ix):
        return _MAT.ios_base_iword(self, __ix)

    def pword(self, __ix):
        return _MAT.ios_base_pword(self, __ix)
    __swig_destroy__ = _MAT.delete_ios_base

# Register ios_base in _MAT:
_MAT.ios_base_swigregister(ios_base)
cvar = _MAT.cvar
ios_base.boolalpha = _MAT.cvar.ios_base_boolalpha
ios_base.dec = _MAT.cvar.ios_base_dec
ios_base.fixed = _MAT.cvar.ios_base_fixed
ios_base.hex = _MAT.cvar.ios_base_hex
ios_base.internal = _MAT.cvar.ios_base_internal
ios_base.left = _MAT.cvar.ios_base_left
ios_base.oct = _MAT.cvar.ios_base_oct
ios_base.right = _MAT.cvar.ios_base_right
ios_base.scientific = _MAT.cvar.ios_base_scientific
ios_base.showbase = _MAT.cvar.ios_base_showbase
ios_base.showpoint = _MAT.cvar.ios_base_showpoint
ios_base.showpos = _MAT.cvar.ios_base_showpos
ios_base.skipws = _MAT.cvar.ios_base_skipws
ios_base.unitbuf = _MAT.cvar.ios_base_unitbuf
ios_base.uppercase = _MAT.cvar.ios_base_uppercase
ios_base.adjustfield = _MAT.cvar.ios_base_adjustfield
ios_base.basefield = _MAT.cvar.ios_base_basefield
ios_base.floatfield = _MAT.cvar.ios_base_floatfield
ios_base.badbit = _MAT.cvar.ios_base_badbit
ios_base.eofbit = _MAT.cvar.ios_base_eofbit
ios_base.failbit = _MAT.cvar.ios_base_failbit
ios_base.goodbit = _MAT.cvar.ios_base_goodbit
ios_base.app = _MAT.cvar.ios_base_app
ios_base.ate = _MAT.cvar.ios_base_ate
ios_base.binary = _MAT.cvar.ios_base_binary
ios_base.ios_base_in = _MAT.cvar.ios_base_ios_base_in
ios_base.out = _MAT.cvar.ios_base_out
ios_base.trunc = _MAT.cvar.ios_base_trunc
ios_base.beg = _MAT.cvar.ios_base_beg
ios_base.cur = _MAT.cvar.ios_base_cur
ios_base.end = _MAT.cvar.ios_base_end

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

    def rdstate(self):
        return _MAT.ios_rdstate(self)

    def clear(self, *args):
        return _MAT.ios_clear(self, *args)

    def setstate(self, __state):
        return _MAT.ios_setstate(self, __state)

    def good(self):
        return _MAT.ios_good(self)

    def eof(self):
        return _MAT.ios_eof(self)

    def fail(self):
        return _MAT.ios_fail(self)

    def bad(self):
        return _MAT.ios_bad(self)

    def exceptions(self, *args):
        return _MAT.ios_exceptions(self, *args)

    def __init__(self, __sb):
        _MAT.ios_swiginit(self, _MAT.new_ios(__sb))
    __swig_destroy__ = _MAT.delete_ios

    def tie(self, *args):
        return _MAT.ios_tie(self, *args)

    def rdbuf(self, *args):
        return _MAT.ios_rdbuf(self, *args)

    def copyfmt(self, __rhs):
        return _MAT.ios_copyfmt(self, __rhs)

    def fill(self, *args):
        return _MAT.ios_fill(self, *args)

    def imbue(self, __loc):
        return _MAT.ios_imbue(self, __loc)

    def narrow(self, __c, __dfault):
        return _MAT.ios_narrow(self, __c, __dfault)

    def widen(self, __c):
        return _MAT.ios_widen(self, __c)

# Register ios in _MAT:
_MAT.ios_swigregister(ios)
class ostream(ios):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _MAT.ostream_swiginit(self, _MAT.new_ostream(__sb))
    __swig_destroy__ = _MAT.delete_ostream

    def __lshift__(self, *args):
        return _MAT.ostream___lshift__(self, *args)

    def put(self, __c):
        return _MAT.ostream_put(self, __c)

    def write(self, __s, __n):
        return _MAT.ostream_write(self, __s, __n)

    def flush(self):
        return _MAT.ostream_flush(self)

    def tellp(self):
        return _MAT.ostream_tellp(self)

    def seekp(self, *args):
        return _MAT.ostream_seekp(self, *args)

# Register ostream in _MAT:
_MAT.ostream_swigregister(ostream)
class istream(ios):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _MAT.istream_swiginit(self, _MAT.new_istream(__sb))
    __swig_destroy__ = _MAT.delete_istream

    def __rshift__(self, *args):
        return _MAT.istream___rshift__(self, *args)

    def gcount(self):
        return _MAT.istream_gcount(self)

    def get(self, *args):
        return _MAT.istream_get(self, *args)

    def getline(self, *args):
        return _MAT.istream_getline(self, *args)

    def ignore(self, *args):
        return _MAT.istream_ignore(self, *args)

    def peek(self):
        return _MAT.istream_peek(self)

    def read(self, __s, __n):
        return _MAT.istream_read(self, __s, __n)

    def readsome(self, __s, __n):
        return _MAT.istream_readsome(self, __s, __n)

    def putback(self, __c):
        return _MAT.istream_putback(self, __c)

    def unget(self):
        return _MAT.istream_unget(self)

    def sync(self):
        return _MAT.istream_sync(self)

    def tellg(self):
        return _MAT.istream_tellg(self)

    def seekg(self, *args):
        return _MAT.istream_seekg(self, *args)

# Register istream in _MAT:
_MAT.istream_swigregister(istream)
class iostream(istream, ostream):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _MAT.iostream_swiginit(self, _MAT.new_iostream(__sb))
    __swig_destroy__ = _MAT.delete_iostream

# Register iostream in _MAT:
_MAT.iostream_swigregister(iostream)
cin = cvar.cin
cout = cvar.cout
cerr = cvar.cerr
clog = cvar.clog

endl_cb_ptr = _MAT.endl_cb_ptr
endl = _MAT.endl
ends_cb_ptr = _MAT.ends_cb_ptr
ends = _MAT.ends
flush_cb_ptr = _MAT.flush_cb_ptr
flush = _MAT.flush
import OCC.Core.Standard
import OCC.Core.NCollection

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

MAT_Left = _MAT.MAT_Left
MAT_Right = _MAT.MAT_Right


class MAT_Side(IntEnum):
	MAT_Left = 0
	MAT_Right = 1
MAT_Left = MAT_Side.MAT_Left
MAT_Right = MAT_Side.MAT_Right


def Handle_MAT_Arc_Create():
    return _MAT.Handle_MAT_Arc_Create()

def Handle_MAT_Arc_DownCast(t):
    return _MAT.Handle_MAT_Arc_DownCast(t)

def Handle_MAT_Arc_IsNull(t):
    return _MAT.Handle_MAT_Arc_IsNull(t)

def Handle_MAT_BasicElt_Create():
    return _MAT.Handle_MAT_BasicElt_Create()

def Handle_MAT_BasicElt_DownCast(t):
    return _MAT.Handle_MAT_BasicElt_DownCast(t)

def Handle_MAT_BasicElt_IsNull(t):
    return _MAT.Handle_MAT_BasicElt_IsNull(t)

def Handle_MAT_Bisector_Create():
    return _MAT.Handle_MAT_Bisector_Create()

def Handle_MAT_Bisector_DownCast(t):
    return _MAT.Handle_MAT_Bisector_DownCast(t)

def Handle_MAT_Bisector_IsNull(t):
    return _MAT.Handle_MAT_Bisector_IsNull(t)

def Handle_MAT_Edge_Create():
    return _MAT.Handle_MAT_Edge_Create()

def Handle_MAT_Edge_DownCast(t):
    return _MAT.Handle_MAT_Edge_DownCast(t)

def Handle_MAT_Edge_IsNull(t):
    return _MAT.Handle_MAT_Edge_IsNull(t)

def Handle_MAT_Graph_Create():
    return _MAT.Handle_MAT_Graph_Create()

def Handle_MAT_Graph_DownCast(t):
    return _MAT.Handle_MAT_Graph_DownCast(t)

def Handle_MAT_Graph_IsNull(t):
    return _MAT.Handle_MAT_Graph_IsNull(t)

def Handle_MAT_ListOfBisector_Create():
    return _MAT.Handle_MAT_ListOfBisector_Create()

def Handle_MAT_ListOfBisector_DownCast(t):
    return _MAT.Handle_MAT_ListOfBisector_DownCast(t)

def Handle_MAT_ListOfBisector_IsNull(t):
    return _MAT.Handle_MAT_ListOfBisector_IsNull(t)

def Handle_MAT_ListOfEdge_Create():
    return _MAT.Handle_MAT_ListOfEdge_Create()

def Handle_MAT_ListOfEdge_DownCast(t):
    return _MAT.Handle_MAT_ListOfEdge_DownCast(t)

def Handle_MAT_ListOfEdge_IsNull(t):
    return _MAT.Handle_MAT_ListOfEdge_IsNull(t)

def Handle_MAT_Node_Create():
    return _MAT.Handle_MAT_Node_Create()

def Handle_MAT_Node_DownCast(t):
    return _MAT.Handle_MAT_Node_DownCast(t)

def Handle_MAT_Node_IsNull(t):
    return _MAT.Handle_MAT_Node_IsNull(t)

def Handle_MAT_TListNodeOfListOfBisector_Create():
    return _MAT.Handle_MAT_TListNodeOfListOfBisector_Create()

def Handle_MAT_TListNodeOfListOfBisector_DownCast(t):
    return _MAT.Handle_MAT_TListNodeOfListOfBisector_DownCast(t)

def Handle_MAT_TListNodeOfListOfBisector_IsNull(t):
    return _MAT.Handle_MAT_TListNodeOfListOfBisector_IsNull(t)

def Handle_MAT_TListNodeOfListOfEdge_Create():
    return _MAT.Handle_MAT_TListNodeOfListOfEdge_Create()

def Handle_MAT_TListNodeOfListOfEdge_DownCast(t):
    return _MAT.Handle_MAT_TListNodeOfListOfEdge_DownCast(t)

def Handle_MAT_TListNodeOfListOfEdge_IsNull(t):
    return _MAT.Handle_MAT_TListNodeOfListOfEdge_IsNull(t)

def Handle_MAT_Zone_Create():
    return _MAT.Handle_MAT_Zone_Create()

def Handle_MAT_Zone_DownCast(t):
    return _MAT.Handle_MAT_Zone_DownCast(t)

def Handle_MAT_Zone_IsNull(t):
    return _MAT.Handle_MAT_Zone_IsNull(t)
class MAT_DataMapOfIntegerArc(OCC.Core.NCollection.NCollection_BaseMap):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _MAT.MAT_DataMapOfIntegerArc_begin(self)

    def end(self):
        return _MAT.MAT_DataMapOfIntegerArc_end(self)

    def cbegin(self):
        return _MAT.MAT_DataMapOfIntegerArc_cbegin(self)

    def cend(self):
        return _MAT.MAT_DataMapOfIntegerArc_cend(self)

    def __init__(self, *args):
        _MAT.MAT_DataMapOfIntegerArc_swiginit(self, _MAT.new_MAT_DataMapOfIntegerArc(*args))

    def Exchange(self, theOther):
        return _MAT.MAT_DataMapOfIntegerArc_Exchange(self, theOther)

    def Assign(self, theOther):
        return _MAT.MAT_DataMapOfIntegerArc_Assign(self, theOther)

    def Set(self, *args):
        return _MAT.MAT_DataMapOfIntegerArc_Set(self, *args)

    def ReSize(self, N):
        return _MAT.MAT_DataMapOfIntegerArc_ReSize(self, N)

    def Bind(self, *args):
        return _MAT.MAT_DataMapOfIntegerArc_Bind(self, *args)

    def Bound(self, *args):
        return _MAT.MAT_DataMapOfIntegerArc_Bound(self, *args)

    def IsBound(self, theKey):
        return _MAT.MAT_DataMapOfIntegerArc_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _MAT.MAT_DataMapOfIntegerArc_UnBind(self, theKey)

    def Seek(self, theKey):
        return _MAT.MAT_DataMapOfIntegerArc_Seek(self, theKey)

    def Find(self, *args):
        return _MAT.MAT_DataMapOfIntegerArc_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _MAT.MAT_DataMapOfIntegerArc_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _MAT.MAT_DataMapOfIntegerArc_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _MAT.MAT_DataMapOfIntegerArc___call__(self, *args)

    def Clear(self, *args):
        return _MAT.MAT_DataMapOfIntegerArc_Clear(self, *args)
    __swig_destroy__ = _MAT.delete_MAT_DataMapOfIntegerArc

    def Size(self):
        return _MAT.MAT_DataMapOfIntegerArc_Size(self)

    def Keys(self):
        return _MAT.MAT_DataMapOfIntegerArc_Keys(self)

# Register MAT_DataMapOfIntegerArc in _MAT:
_MAT.MAT_DataMapOfIntegerArc_swigregister(MAT_DataMapOfIntegerArc)
class MAT_DataMapOfIntegerBasicElt(OCC.Core.NCollection.NCollection_BaseMap):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _MAT.MAT_DataMapOfIntegerBasicElt_begin(self)

    def end(self):
        return _MAT.MAT_DataMapOfIntegerBasicElt_end(self)

    def cbegin(self):
        return _MAT.MAT_DataMapOfIntegerBasicElt_cbegin(self)

    def cend(self):
        return _MAT.MAT_DataMapOfIntegerBasicElt_cend(self)

    def __init__(self, *args):
        _MAT.MAT_DataMapOfIntegerBasicElt_swiginit(self, _MAT.new_MAT_DataMapOfIntegerBasicElt(*args))

    def Exchange(self, theOther):
        return _MAT.MAT_DataMapOfIntegerBasicElt_Exchange(self, theOther)

    def Assign(self, theOther):
        return _MAT.MAT_DataMapOfIntegerBasicElt_Assign(self, theOther)

    def Set(self, *args):
        return _MAT.MAT_DataMapOfIntegerBasicElt_Set(self, *args)

    def ReSize(self, N):
        return _MAT.MAT_DataMapOfIntegerBasicElt_ReSize(self, N)

    def Bind(self, *args):
        return _MAT.MAT_DataMapOfIntegerBasicElt_Bind(self, *args)

    def Bound(self, *args):
        return _MAT.MAT_DataMapOfIntegerBasicElt_Bound(self, *args)

    def IsBound(self, theKey):
        return _MAT.MAT_DataMapOfIntegerBasicElt_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _MAT.MAT_DataMapOfIntegerBasicElt_UnBind(self, theKey)

    def Seek(self, theKey):
        return _MAT.MAT_DataMapOfIntegerBasicElt_Seek(self, theKey)

    def Find(self, *args):
        return _MAT.MAT_DataMapOfIntegerBasicElt_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _MAT.MAT_DataMapOfIntegerBasicElt_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _MAT.MAT_DataMapOfIntegerBasicElt_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _MAT.MAT_DataMapOfIntegerBasicElt___call__(self, *args)

    def Clear(self, *args):
        return _MAT.MAT_DataMapOfIntegerBasicElt_Clear(self, *args)
    __swig_destroy__ = _MAT.delete_MAT_DataMapOfIntegerBasicElt

    def Size(self):
        return _MAT.MAT_DataMapOfIntegerBasicElt_Size(self)

    def Keys(self):
        return _MAT.MAT_DataMapOfIntegerBasicElt_Keys(self)

# Register MAT_DataMapOfIntegerBasicElt in _MAT:
_MAT.MAT_DataMapOfIntegerBasicElt_swigregister(MAT_DataMapOfIntegerBasicElt)
class MAT_DataMapOfIntegerBisector(OCC.Core.NCollection.NCollection_BaseMap):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _MAT.MAT_DataMapOfIntegerBisector_begin(self)

    def end(self):
        return _MAT.MAT_DataMapOfIntegerBisector_end(self)

    def cbegin(self):
        return _MAT.MAT_DataMapOfIntegerBisector_cbegin(self)

    def cend(self):
        return _MAT.MAT_DataMapOfIntegerBisector_cend(self)

    def __init__(self, *args):
        _MAT.MAT_DataMapOfIntegerBisector_swiginit(self, _MAT.new_MAT_DataMapOfIntegerBisector(*args))

    def Exchange(self, theOther):
        return _MAT.MAT_DataMapOfIntegerBisector_Exchange(self, theOther)

    def Assign(self, theOther):
        return _MAT.MAT_DataMapOfIntegerBisector_Assign(self, theOther)

    def Set(self, *args):
        return _MAT.MAT_DataMapOfIntegerBisector_Set(self, *args)

    def ReSize(self, N):
        return _MAT.MAT_DataMapOfIntegerBisector_ReSize(self, N)

    def Bind(self, *args):
        return _MAT.MAT_DataMapOfIntegerBisector_Bind(self, *args)

    def Bound(self, *args):
        return _MAT.MAT_DataMapOfIntegerBisector_Bound(self, *args)

    def IsBound(self, theKey):
        return _MAT.MAT_DataMapOfIntegerBisector_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _MAT.MAT_DataMapOfIntegerBisector_UnBind(self, theKey)

    def Seek(self, theKey):
        return _MAT.MAT_DataMapOfIntegerBisector_Seek(self, theKey)

    def Find(self, *args):
        return _MAT.MAT_DataMapOfIntegerBisector_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _MAT.MAT_DataMapOfIntegerBisector_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _MAT.MAT_DataMapOfIntegerBisector_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _MAT.MAT_DataMapOfIntegerBisector___call__(self, *args)

    def Clear(self, *args):
        return _MAT.MAT_DataMapOfIntegerBisector_Clear(self, *args)
    __swig_destroy__ = _MAT.delete_MAT_DataMapOfIntegerBisector

    def Size(self):
        return _MAT.MAT_DataMapOfIntegerBisector_Size(self)

    def Keys(self):
        return _MAT.MAT_DataMapOfIntegerBisector_Keys(self)

# Register MAT_DataMapOfIntegerBisector in _MAT:
_MAT.MAT_DataMapOfIntegerBisector_swigregister(MAT_DataMapOfIntegerBisector)
class MAT_DataMapOfIntegerNode(OCC.Core.NCollection.NCollection_BaseMap):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _MAT.MAT_DataMapOfIntegerNode_begin(self)

    def end(self):
        return _MAT.MAT_DataMapOfIntegerNode_end(self)

    def cbegin(self):
        return _MAT.MAT_DataMapOfIntegerNode_cbegin(self)

    def cend(self):
        return _MAT.MAT_DataMapOfIntegerNode_cend(self)

    def __init__(self, *args):
        _MAT.MAT_DataMapOfIntegerNode_swiginit(self, _MAT.new_MAT_DataMapOfIntegerNode(*args))

    def Exchange(self, theOther):
        return _MAT.MAT_DataMapOfIntegerNode_Exchange(self, theOther)

    def Assign(self, theOther):
        return _MAT.MAT_DataMapOfIntegerNode_Assign(self, theOther)

    def Set(self, *args):
        return _MAT.MAT_DataMapOfIntegerNode_Set(self, *args)

    def ReSize(self, N):
        return _MAT.MAT_DataMapOfIntegerNode_ReSize(self, N)

    def Bind(self, *args):
        return _MAT.MAT_DataMapOfIntegerNode_Bind(self, *args)

    def Bound(self, *args):
        return _MAT.MAT_DataMapOfIntegerNode_Bound(self, *args)

    def IsBound(self, theKey):
        return _MAT.MAT_DataMapOfIntegerNode_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _MAT.MAT_DataMapOfIntegerNode_UnBind(self, theKey)

    def Seek(self, theKey):
        return _MAT.MAT_DataMapOfIntegerNode_Seek(self, theKey)

    def Find(self, *args):
        return _MAT.MAT_DataMapOfIntegerNode_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _MAT.MAT_DataMapOfIntegerNode_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _MAT.MAT_DataMapOfIntegerNode_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _MAT.MAT_DataMapOfIntegerNode___call__(self, *args)

    def Clear(self, *args):
        return _MAT.MAT_DataMapOfIntegerNode_Clear(self, *args)
    __swig_destroy__ = _MAT.delete_MAT_DataMapOfIntegerNode

    def Size(self):
        return _MAT.MAT_DataMapOfIntegerNode_Size(self)

    def Keys(self):
        return _MAT.MAT_DataMapOfIntegerNode_Keys(self)

# Register MAT_DataMapOfIntegerNode in _MAT:
_MAT.MAT_DataMapOfIntegerNode_swigregister(MAT_DataMapOfIntegerNode)
class MAT_SequenceOfArc(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _MAT.MAT_SequenceOfArc_begin(self)

    def end(self):
        return _MAT.MAT_SequenceOfArc_end(self)

    def cbegin(self):
        return _MAT.MAT_SequenceOfArc_cbegin(self)

    def cend(self):
        return _MAT.MAT_SequenceOfArc_cend(self)

    def __init__(self, *args):
        _MAT.MAT_SequenceOfArc_swiginit(self, _MAT.new_MAT_SequenceOfArc(*args))

    def Size(self):
        return _MAT.MAT_SequenceOfArc_Size(self)

    def Length(self):
        return _MAT.MAT_SequenceOfArc_Length(self)

    def Lower(self):
        return _MAT.MAT_SequenceOfArc_Lower(self)

    def Upper(self):
        return _MAT.MAT_SequenceOfArc_Upper(self)

    def IsEmpty(self):
        return _MAT.MAT_SequenceOfArc_IsEmpty(self)

    def Reverse(self):
        return _MAT.MAT_SequenceOfArc_Reverse(self)

    def Exchange(self, I, J):
        return _MAT.MAT_SequenceOfArc_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _MAT.MAT_SequenceOfArc_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _MAT.MAT_SequenceOfArc_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _MAT.MAT_SequenceOfArc_Assign(self, theOther)

    def Set(self, *args):
        return _MAT.MAT_SequenceOfArc_Set(self, *args)

    def Remove(self, *args):
        return _MAT.MAT_SequenceOfArc_Remove(self, *args)

    def Append(self, *args):
        return _MAT.MAT_SequenceOfArc_Append(self, *args)

    def Prepend(self, *args):
        return _MAT.MAT_SequenceOfArc_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _MAT.MAT_SequenceOfArc_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _MAT.MAT_SequenceOfArc_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _MAT.MAT_SequenceOfArc_Split(self, theIndex, theSeq)

    def First(self):
        return _MAT.MAT_SequenceOfArc_First(self)

    def ChangeFirst(self):
        return _MAT.MAT_SequenceOfArc_ChangeFirst(self)

    def Last(self):
        return _MAT.MAT_SequenceOfArc_Last(self)

    def ChangeLast(self):
        return _MAT.MAT_SequenceOfArc_ChangeLast(self)

    def Value(self, theIndex):
        return _MAT.MAT_SequenceOfArc_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _MAT.MAT_SequenceOfArc_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _MAT.MAT_SequenceOfArc___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _MAT.MAT_SequenceOfArc_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _MAT.delete_MAT_SequenceOfArc

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


# Register MAT_SequenceOfArc in _MAT:
_MAT.MAT_SequenceOfArc_swigregister(MAT_SequenceOfArc)
class MAT_SequenceOfBasicElt(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _MAT.MAT_SequenceOfBasicElt_begin(self)

    def end(self):
        return _MAT.MAT_SequenceOfBasicElt_end(self)

    def cbegin(self):
        return _MAT.MAT_SequenceOfBasicElt_cbegin(self)

    def cend(self):
        return _MAT.MAT_SequenceOfBasicElt_cend(self)

    def __init__(self, *args):
        _MAT.MAT_SequenceOfBasicElt_swiginit(self, _MAT.new_MAT_SequenceOfBasicElt(*args))

    def Size(self):
        return _MAT.MAT_SequenceOfBasicElt_Size(self)

    def Length(self):
        return _MAT.MAT_SequenceOfBasicElt_Length(self)

    def Lower(self):
        return _MAT.MAT_SequenceOfBasicElt_Lower(self)

    def Upper(self):
        return _MAT.MAT_SequenceOfBasicElt_Upper(self)

    def IsEmpty(self):
        return _MAT.MAT_SequenceOfBasicElt_IsEmpty(self)

    def Reverse(self):
        return _MAT.MAT_SequenceOfBasicElt_Reverse(self)

    def Exchange(self, I, J):
        return _MAT.MAT_SequenceOfBasicElt_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _MAT.MAT_SequenceOfBasicElt_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _MAT.MAT_SequenceOfBasicElt_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _MAT.MAT_SequenceOfBasicElt_Assign(self, theOther)

    def Set(self, *args):
        return _MAT.MAT_SequenceOfBasicElt_Set(self, *args)

    def Remove(self, *args):
        return _MAT.MAT_SequenceOfBasicElt_Remove(self, *args)

    def Append(self, *args):
        return _MAT.MAT_SequenceOfBasicElt_Append(self, *args)

    def Prepend(self, *args):
        return _MAT.MAT_SequenceOfBasicElt_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _MAT.MAT_SequenceOfBasicElt_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _MAT.MAT_SequenceOfBasicElt_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _MAT.MAT_SequenceOfBasicElt_Split(self, theIndex, theSeq)

    def First(self):
        return _MAT.MAT_SequenceOfBasicElt_First(self)

    def ChangeFirst(self):
        return _MAT.MAT_SequenceOfBasicElt_ChangeFirst(self)

    def Last(self):
        return _MAT.MAT_SequenceOfBasicElt_Last(self)

    def ChangeLast(self):
        return _MAT.MAT_SequenceOfBasicElt_ChangeLast(self)

    def Value(self, theIndex):
        return _MAT.MAT_SequenceOfBasicElt_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _MAT.MAT_SequenceOfBasicElt_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _MAT.MAT_SequenceOfBasicElt___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _MAT.MAT_SequenceOfBasicElt_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _MAT.delete_MAT_SequenceOfBasicElt

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


# Register MAT_SequenceOfBasicElt in _MAT:
_MAT.MAT_SequenceOfBasicElt_swigregister(MAT_SequenceOfBasicElt)
class MAT_Arc(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        ArcIndex: int
        GeomIndex: int
        FirstElement: MAT_BasicElt
        SecondElement: MAT_BasicElt

        Return
        -------
        None

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

        """
        _MAT.MAT_Arc_swiginit(self, _MAT.new_MAT_Arc(*args))

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

        Description
        -----------
        Returns one of the BasicElt equidistant from <self>.

        """
        return _MAT.MAT_Arc_FirstElement(self, *args)

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

        Description
        -----------
        Returns one Node extremity of <self>.

        """
        return _MAT.MAT_Arc_FirstNode(self, *args)

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

        Description
        -----------
        Returns the index associated of the geometric representation of <self>.

        """
        return _MAT.MAT_Arc_GeomIndex(self, *args)

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

        Parameters
        ----------
        aNode: MAT_Node
        aSide: MAT_Side

        Return
        -------
        bool

        Description
        -----------
        Returns True if there is an arc linked to the Node <aNode> located on the side <aSide> of <self>; if <aNode> is not on <self>.

        """
        return _MAT.MAT_Arc_HasNeighbour(self, *args)

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

        Description
        -----------
        Returns the index of <self> in Graph.theArcs.

        """
        return _MAT.MAT_Arc_Index(self, *args)

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

        Parameters
        ----------
        aNode: MAT_Node
        aSide: MAT_Side

        Return
        -------
        opencascade::handle<MAT_Arc>

        Description
        -----------
        Returns the first arc linked to the Node <aNode> located on the side <aSide> of <self>; if HasNeighbour() returns False.

        """
        return _MAT.MAT_Arc_Neighbour(self, *args)

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

        Description
        -----------
        Returns the other BasicElt equidistant from <self>.

        """
        return _MAT.MAT_Arc_SecondElement(self, *args)

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

        Description
        -----------
        Returns the other Node extremity of <self>.

        """
        return _MAT.MAT_Arc_SecondNode(self, *args)

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

        Parameters
        ----------
        aSide: MAT_Side
        anArc: MAT_Arc

        Return
        -------
        None

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

        """
        return _MAT.MAT_Arc_SetFirstArc(self, *args)

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

        Parameters
        ----------
        aBasicElt: MAT_BasicElt

        Return
        -------
        None

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

        """
        return _MAT.MAT_Arc_SetFirstElement(self, *args)

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

        Parameters
        ----------
        aNode: MAT_Node

        Return
        -------
        None

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

        """
        return _MAT.MAT_Arc_SetFirstNode(self, *args)

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

        Parameters
        ----------
        anInteger: int

        Return
        -------
        None

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

        """
        return _MAT.MAT_Arc_SetGeomIndex(self, *args)

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

        Parameters
        ----------
        anInteger: int

        Return
        -------
        None

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

        """
        return _MAT.MAT_Arc_SetIndex(self, *args)

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

        Parameters
        ----------
        aSide: MAT_Side
        aNode: MAT_Node
        anArc: MAT_Arc

        Return
        -------
        None

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

        """
        return _MAT.MAT_Arc_SetNeighbour(self, *args)

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

        Parameters
        ----------
        aSide: MAT_Side
        anArc: MAT_Arc

        Return
        -------
        None

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

        """
        return _MAT.MAT_Arc_SetSecondArc(self, *args)

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

        Parameters
        ----------
        aBasicElt: MAT_BasicElt

        Return
        -------
        None

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

        """
        return _MAT.MAT_Arc_SetSecondElement(self, *args)

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

        Parameters
        ----------
        aNode: MAT_Node

        Return
        -------
        None

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

        """
        return _MAT.MAT_Arc_SetSecondNode(self, *args)

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

        Parameters
        ----------
        aNode: MAT_Node

        Return
        -------
        opencascade::handle<MAT_Node>

        Description
        -----------
        An Arc has two Node, if <aNode> equals one Returns the other. //! if <aNode> is not oh <self>.

        """
        return _MAT.MAT_Arc_TheOtherNode(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _MAT.delete_MAT_Arc

# Register MAT_Arc in _MAT:
_MAT.MAT_Arc_swigregister(MAT_Arc)
class MAT_BasicElt(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        anInteger: int

        Return
        -------
        None

        Description
        -----------
        Constructor, <anInteger> is the <index> of <self>.

        """
        _MAT.MAT_BasicElt_swiginit(self, _MAT.new_MAT_BasicElt(*args))

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

        Description
        -----------
        Return <endArcLeft> or <endArcRight> corresponding to <aSide>.

        """
        return _MAT.MAT_BasicElt_EndArc(self, *args)

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

        Description
        -----------
        Return the <GeomIndex> of <self>.

        """
        return _MAT.MAT_BasicElt_GeomIndex(self, *args)

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

        Description
        -----------
        Return the <index> of <self> in Graph.TheBasicElts.

        """
        return _MAT.MAT_BasicElt_Index(self, *args)

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

        Parameters
        ----------
        anArc: MAT_Arc

        Return
        -------
        None

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

        """
        return _MAT.MAT_BasicElt_SetEndArc(self, *args)

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

        Parameters
        ----------
        anInteger: int

        Return
        -------
        None

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

        """
        return _MAT.MAT_BasicElt_SetGeomIndex(self, *args)

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

        Parameters
        ----------
        anInteger: int

        Return
        -------
        None

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

        """
        return _MAT.MAT_BasicElt_SetIndex(self, *args)

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

        Parameters
        ----------
        anArc: MAT_Arc

        Return
        -------
        None

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

        """
        return _MAT.MAT_BasicElt_SetStartArc(self, *args)

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

        Description
        -----------
        Return <startArcLeft> or <startArcRight> corresponding to <aSide>.

        """
        return _MAT.MAT_BasicElt_StartArc(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _MAT.delete_MAT_BasicElt

# Register MAT_BasicElt in _MAT:
_MAT.MAT_BasicElt_swigregister(MAT_BasicElt)
class MAT_Bisector(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _MAT.MAT_Bisector_swiginit(self, _MAT.new_MAT_Bisector(*args))

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

        Parameters
        ----------
        abisector: MAT_Bisector

        Return
        -------
        None

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

        """
        return _MAT.MAT_Bisector_AddBisector(self, *args)

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

        Parameters
        ----------
        anumber: int

        Return
        -------
        None

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

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

        """
        return _MAT.MAT_Bisector_BisectorNumber(self, *args)

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

        Parameters
        ----------
        areal: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.
        Return
        -------
        float

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

        """
        return _MAT.MAT_Bisector_DistIssuePoint(self, *args)

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

        Parameters
        ----------
        ashift: int
        alevel: int

        Return
        -------
        None

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

        """
        return _MAT.MAT_Bisector_Dump(self, *args)

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

        Parameters
        ----------
        apoint: int

        Return
        -------
        None

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

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

        """
        return _MAT.MAT_Bisector_EndPoint(self, *args)

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

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

        """
        return _MAT.MAT_Bisector_FirstBisector(self, *args)

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

        Parameters
        ----------
        anedge: MAT_Edge

        Return
        -------
        None

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

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

        """
        return _MAT.MAT_Bisector_FirstEdge(self, *args)

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

        Parameters
        ----------
        aparameter: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.
        Return
        -------
        float

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

        """
        return _MAT.MAT_Bisector_FirstParameter(self, *args)

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

        Parameters
        ----------
        avector: int

        Return
        -------
        None

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

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

        """
        return _MAT.MAT_Bisector_FirstVector(self, *args)

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

        Parameters
        ----------
        anumber: int

        Return
        -------
        None

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

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

        """
        return _MAT.MAT_Bisector_IndexNumber(self, *args)

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

        Parameters
        ----------
        apoint: int

        Return
        -------
        None

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

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

        """
        return _MAT.MAT_Bisector_IssuePoint(self, *args)

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

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

        """
        return _MAT.MAT_Bisector_LastBisector(self, *args)

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

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

        """
        return _MAT.MAT_Bisector_List(self, *args)

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

        Parameters
        ----------
        anedge: MAT_Edge

        Return
        -------
        None

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

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

        """
        return _MAT.MAT_Bisector_SecondEdge(self, *args)

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

        Parameters
        ----------
        aparameter: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.
        Return
        -------
        float

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

        """
        return _MAT.MAT_Bisector_SecondParameter(self, *args)

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

        Parameters
        ----------
        avector: int

        Return
        -------
        None

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

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

        """
        return _MAT.MAT_Bisector_SecondVector(self, *args)

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

        Parameters
        ----------
        asense: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.
        Return
        -------
        float

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

        """
        return _MAT.MAT_Bisector_Sense(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _MAT.delete_MAT_Bisector

# Register MAT_Bisector in _MAT:
_MAT.MAT_Bisector_swigregister(MAT_Bisector)
class MAT_Edge(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _MAT.MAT_Edge_swiginit(self, _MAT.new_MAT_Edge(*args))

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

        Parameters
        ----------
        adistance: float

        Return
        -------
        None

        Description
        -----------
        No available documentation.
        Return
        -------
        float

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

        """
        return _MAT.MAT_Edge_Distance(self, *args)

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

        Parameters
        ----------
        ashift: int
        alevel: int

        Return
        -------
        None

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

        """
        return _MAT.MAT_Edge_Dump(self, *args)

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

        Parameters
        ----------
        anumber: int

        Return
        -------
        None

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

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

        """
        return _MAT.MAT_Edge_EdgeNumber(self, *args)

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

        Parameters
        ----------
        abisector: MAT_Bisector

        Return
        -------
        None

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

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

        """
        return _MAT.MAT_Edge_FirstBisector(self, *args)

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

        Parameters
        ----------
        apoint: int

        Return
        -------
        None

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

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

        """
        return _MAT.MAT_Edge_IntersectionPoint(self, *args)

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

        Parameters
        ----------
        abisector: MAT_Bisector

        Return
        -------
        None

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

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

        """
        return _MAT.MAT_Edge_SecondBisector(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _MAT.delete_MAT_Edge

# Register MAT_Edge in _MAT:
_MAT.MAT_Edge_swigregister(MAT_Edge)
class MAT_Graph(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Empty constructor.

        """
        _MAT.MAT_Graph_swiginit(self, _MAT.new_MAT_Graph(*args))

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

        Parameters
        ----------
        Index: int

        Return
        -------
        opencascade::handle<MAT_Arc>

        Description
        -----------
        Return the Arc of index <Index> in <theArcs>.

        """
        return _MAT.MAT_Graph_Arc(self, *args)

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

        Parameters
        ----------
        Index: int

        Return
        -------
        opencascade::handle<MAT_BasicElt>

        Description
        -----------
        Return the BasicElt of index <Index> in <theBasicElts>.

        """
        return _MAT.MAT_Graph_BasicElt(self, *args)

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

        Parameters
        ----------
        Index: int

        Return
        -------
        opencascade::handle<MAT_BasicElt>

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

        """
        return _MAT.MAT_Graph_ChangeBasicElt(self, *args)

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

        Parameters
        ----------
        NewMap: MAT_DataMapOfIntegerBasicElt

        Return
        -------
        None

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

        """
        return _MAT.MAT_Graph_ChangeBasicElts(self, *args)

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

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

        """
        return _MAT.MAT_Graph_CompactArcs(self, *args)

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

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

        """
        return _MAT.MAT_Graph_CompactNodes(self, *args)

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

        Parameters
        ----------
        IndexElt1: int
        IndexElt2: int

        Return
        -------
        MergeArc1: bool
        GeomIndexArc1: int
        GeomIndexArc2: int
        MergeArc2: bool
        GeomIndexArc3: int
        GeomIndexArc4: int

        Description
        -----------
        Merge two BasicElts. The End of the BasicElt Elt1 of IndexElt1 becomes The End of the BasicElt Elt2 of IndexElt2. Elt2 is replaced in the arcs by Elt1, Elt2 is eliminated. //! <MergeArc1> is True if the fusion of the BasicElts => a fusion of two Arcs which separated the same elements. In this case <GeomIndexArc1> and <GeomIndexArc2> are the Geometric Index of this arcs. //! If the BasicElt corresponds to a close line , the StartArc and the EndArc of Elt1 can separate the same elements . In this case there is a fusion of this arcs, <MergeArc2> is true and <GeomIndexArc3> and <GeomIndexArc4> are the Geometric Index of this arcs.

        """
        return _MAT.MAT_Graph_FusionOfBasicElts(self, *args)

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

        Parameters
        ----------
        Index: int

        Return
        -------
        opencascade::handle<MAT_Node>

        Description
        -----------
        Return the Node of index <Index> in <theNodes>.

        """
        return _MAT.MAT_Graph_Node(self, *args)

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

        Description
        -----------
        Return the number of arcs of <self>.

        """
        return _MAT.MAT_Graph_NumberOfArcs(self, *args)

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

        Description
        -----------
        Return the number of basic elements of <self>.

        """
        return _MAT.MAT_Graph_NumberOfBasicElts(self, *args)

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

        Description
        -----------
        Return the number of infinites nodes of <self>.

        """
        return _MAT.MAT_Graph_NumberOfInfiniteNodes(self, *args)

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

        Description
        -----------
        Return the number of nodes of <self>.

        """
        return _MAT.MAT_Graph_NumberOfNodes(self, *args)

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

        Parameters
        ----------
        SemiInfinite: bool
        TheRoots: MAT_ListOfBisector
        NbBasicElts: int
        NbArcs: int

        Return
        -------
        None

        Description
        -----------
        Construct <self> from the result of the method <CreateMat> of the class <MAT> from <MAT>. //! <SemiInfinite>: if some bisector are infinites. <TheRoots>: Set of the bisectors. <NbBasicElts>: Number of Basic Elements. <NbArcs>: Number of Arcs = Number of Bisectors.

        """
        return _MAT.MAT_Graph_Perform(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _MAT.delete_MAT_Graph

# Register MAT_Graph in _MAT:
_MAT.MAT_Graph_swigregister(MAT_Graph)
class MAT_ListOfBisector(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _MAT.MAT_ListOfBisector_swiginit(self, _MAT.new_MAT_ListOfBisector(*args))

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

        Parameters
        ----------
        anitem: MAT_Bisector

        Return
        -------
        None

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

        """
        return _MAT.MAT_ListOfBisector_BackAdd(self, *args)

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

        Parameters
        ----------
        anindex: int

        Return
        -------
        opencascade::handle<MAT_Bisector>

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

        """
        return _MAT.MAT_ListOfBisector_Brackets(self, *args)

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

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

        Parameters
        ----------
        anitem: MAT_Bisector

        Return
        -------
        None

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

        """
        return _MAT.MAT_ListOfBisector_Current(self, *args)

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

        Parameters
        ----------
        ashift: int
        alevel: int

        Return
        -------
        None

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

        """
        return _MAT.MAT_ListOfBisector_Dump(self, *args)

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

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

        """
        return _MAT.MAT_ListOfBisector_First(self, *args)

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

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

        """
        return _MAT.MAT_ListOfBisector_FirstItem(self, *args)

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

        Parameters
        ----------
        anitem: MAT_Bisector

        Return
        -------
        None

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

        """
        return _MAT.MAT_ListOfBisector_FrontAdd(self, *args)

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

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

        """
        return _MAT.MAT_ListOfBisector_Index(self, *args)

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

        Parameters
        ----------
        aniten: MAT_Bisector

        Return
        -------
        None

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

        """
        return _MAT.MAT_ListOfBisector_Init(self, *args)

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

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

        """
        return _MAT.MAT_ListOfBisector_IsEmpty(self, *args)

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

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

        """
        return _MAT.MAT_ListOfBisector_Last(self, *args)

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

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

        """
        return _MAT.MAT_ListOfBisector_LastItem(self, *args)

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

        Parameters
        ----------
        anitem: MAT_Bisector

        Return
        -------
        None

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

        """
        return _MAT.MAT_ListOfBisector_LinkAfter(self, *args)

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

        Parameters
        ----------
        anitem: MAT_Bisector

        Return
        -------
        None

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

        """
        return _MAT.MAT_ListOfBisector_LinkBefore(self, *args)

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

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

        """
        return _MAT.MAT_ListOfBisector_Loop(self, *args)

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

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

        """
        return _MAT.MAT_ListOfBisector_More(self, *args)

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

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

        """
        return _MAT.MAT_ListOfBisector_Next(self, *args)

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

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

        """
        return _MAT.MAT_ListOfBisector_NextItem(self, *args)

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

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

        """
        return _MAT.MAT_ListOfBisector_Number(self, *args)

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

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

        """
        return _MAT.MAT_ListOfBisector_Permute(self, *args)

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

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

        """
        return _MAT.MAT_ListOfBisector_Previous(self, *args)

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

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

        """
        return _MAT.MAT_ListOfBisector_PreviousItem(self, *args)

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

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

        """
        return _MAT.MAT_ListOfBisector_Unlink(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _MAT.delete_MAT_ListOfBisector

# Register MAT_ListOfBisector in _MAT:
_MAT.MAT_ListOfBisector_swigregister(MAT_ListOfBisector)
class MAT_ListOfEdge(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _MAT.MAT_ListOfEdge_swiginit(self, _MAT.new_MAT_ListOfEdge(*args))

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

        Parameters
        ----------
        anitem: MAT_Edge

        Return
        -------
        None

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

        """
        return _MAT.MAT_ListOfEdge_BackAdd(self, *args)

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

        Parameters
        ----------
        anindex: int

        Return
        -------
        opencascade::handle<MAT_Edge>

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

        """
        return _MAT.MAT_ListOfEdge_Brackets(self, *args)

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

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

        Parameters
        ----------
        anitem: MAT_Edge

        Return
        -------
        None

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

        """
        return _MAT.MAT_ListOfEdge_Current(self, *args)

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

        Parameters
        ----------
        ashift: int
        alevel: int

        Return
        -------
        None

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

        """
        return _MAT.MAT_ListOfEdge_Dump(self, *args)

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

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

        """
        return _MAT.MAT_ListOfEdge_First(self, *args)

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

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

        """
        return _MAT.MAT_ListOfEdge_FirstItem(self, *args)

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

        Parameters
        ----------
        anitem: MAT_Edge

        Return
        -------
        None

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

        """
        return _MAT.MAT_ListOfEdge_FrontAdd(self, *args)

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

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

        """
        return _MAT.MAT_ListOfEdge_Index(self, *args)

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

        Parameters
        ----------
        aniten: MAT_Edge

        Return
        -------
        None

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

        """
        return _MAT.MAT_ListOfEdge_Init(self, *args)

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

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

        """
        return _MAT.MAT_ListOfEdge_IsEmpty(self, *args)

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

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

        """
        return _MAT.MAT_ListOfEdge_Last(self, *args)

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

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

        """
        return _MAT.MAT_ListOfEdge_LastItem(self, *args)

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

        Parameters
        ----------
        anitem: MAT_Edge

        Return
        -------
        None

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

        """
        return _MAT.MAT_ListOfEdge_LinkAfter(self, *args)

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

        Parameters
        ----------
        anitem: MAT_Edge

        Return
        -------
        None

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

        """
        return _MAT.MAT_ListOfEdge_LinkBefore(self, *args)

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

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

        """
        return _MAT.MAT_ListOfEdge_Loop(self, *args)

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

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

        """
        return _MAT.MAT_ListOfEdge_More(self, *args)

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

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

        """
        return _MAT.MAT_ListOfEdge_Next(self, *args)

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

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

        """
        return _MAT.MAT_ListOfEdge_NextItem(self, *args)

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

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

        """
        return _MAT.MAT_ListOfEdge_Number(self, *args)

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

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

        """
        return _MAT.MAT_ListOfEdge_Permute(self, *args)

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

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

        """
        return _MAT.MAT_ListOfEdge_Previous(self, *args)

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

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

        """
        return _MAT.MAT_ListOfEdge_PreviousItem(self, *args)

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

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

        """
        return _MAT.MAT_ListOfEdge_Unlink(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _MAT.delete_MAT_ListOfEdge

# Register MAT_ListOfEdge in _MAT:
_MAT.MAT_ListOfEdge_swigregister(MAT_ListOfEdge)
class MAT_Node(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        GeomIndex: int
        LinkedArc: MAT_Arc
        Distance: float

        Return
        -------
        None

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

        """
        _MAT.MAT_Node_swiginit(self, _MAT.new_MAT_Node(*args))

    def Distance(self, *args):
        r"""
        Return
        -------
        float

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

        """
        return _MAT.MAT_Node_Distance(self, *args)

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

        Description
        -----------
        Returns the index associated of the geometric representation of <self>.

        """
        return _MAT.MAT_Node_GeomIndex(self, *args)

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

        Description
        -----------
        Returns the index associated of the node.

        """
        return _MAT.MAT_Node_Index(self, *args)

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

        Description
        -----------
        Returns True if the distance of <self> is Infinite.

        """
        return _MAT.MAT_Node_Infinite(self, *args)

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

        Parameters
        ----------
        S: MAT_SequenceOfArc

        Return
        -------
        None

        Description
        -----------
        Returns in <S> the Arcs linked to <self>.

        """
        return _MAT.MAT_Node_LinkedArcs(self, *args)

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

        Parameters
        ----------
        S: MAT_SequenceOfBasicElt

        Return
        -------
        None

        Description
        -----------
        Returns in <S> the BasicElts equidistant to <self>.

        """
        return _MAT.MAT_Node_NearElts(self, *args)

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

        Description
        -----------
        Returns True if <self> belongs to the figure.

        """
        return _MAT.MAT_Node_OnBasicElt(self, *args)

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

        Description
        -----------
        Returns True if <self> is a pending Node. (ie: the number of Arc Linked = 1).

        """
        return _MAT.MAT_Node_PendingNode(self, *args)

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

        Parameters
        ----------
        anIndex: int

        Return
        -------
        None

        Description
        -----------
        Set the index associated of the node.

        """
        return _MAT.MAT_Node_SetIndex(self, *args)

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

        Parameters
        ----------
        anArc: MAT_Arc

        Return
        -------
        None

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

        """
        return _MAT.MAT_Node_SetLinkedArc(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _MAT.delete_MAT_Node

# Register MAT_Node in _MAT:
_MAT.MAT_Node_swigregister(MAT_Node)
class MAT_TListNodeOfListOfBisector(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        Parameters
        ----------
        anitem: MAT_Bisector

        Return
        -------
        None

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

        """
        _MAT.MAT_TListNodeOfListOfBisector_swiginit(self, _MAT.new_MAT_TListNodeOfListOfBisector(*args))

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

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

        """
        return _MAT.MAT_TListNodeOfListOfBisector_Dummy(self, *args)

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

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

        """
        return _MAT.MAT_TListNodeOfListOfBisector_GetItem(self, *args)

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

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

        Parameters
        ----------
        atlistnode: MAT_TListNodeOfListOfBisector

        Return
        -------
        None

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

        """
        return _MAT.MAT_TListNodeOfListOfBisector_Next(self, *args)

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

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

        Parameters
        ----------
        atlistnode: MAT_TListNodeOfListOfBisector

        Return
        -------
        None

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

        """
        return _MAT.MAT_TListNodeOfListOfBisector_Previous(self, *args)

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

        Parameters
        ----------
        anitem: MAT_Bisector

        Return
        -------
        None

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

        """
        return _MAT.MAT_TListNodeOfListOfBisector_SetItem(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _MAT.delete_MAT_TListNodeOfListOfBisector

# Register MAT_TListNodeOfListOfBisector in _MAT:
_MAT.MAT_TListNodeOfListOfBisector_swigregister(MAT_TListNodeOfListOfBisector)
class MAT_TListNodeOfListOfEdge(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        Parameters
        ----------
        anitem: MAT_Edge

        Return
        -------
        None

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

        """
        _MAT.MAT_TListNodeOfListOfEdge_swiginit(self, _MAT.new_MAT_TListNodeOfListOfEdge(*args))

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

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

        """
        return _MAT.MAT_TListNodeOfListOfEdge_Dummy(self, *args)

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

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

        """
        return _MAT.MAT_TListNodeOfListOfEdge_GetItem(self, *args)

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

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

        Parameters
        ----------
        atlistnode: MAT_TListNodeOfListOfEdge

        Return
        -------
        None

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

        """
        return _MAT.MAT_TListNodeOfListOfEdge_Next(self, *args)

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

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

        Parameters
        ----------
        atlistnode: MAT_TListNodeOfListOfEdge

        Return
        -------
        None

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

        """
        return _MAT.MAT_TListNodeOfListOfEdge_Previous(self, *args)

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

        Parameters
        ----------
        anitem: MAT_Edge

        Return
        -------
        None

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

        """
        return _MAT.MAT_TListNodeOfListOfEdge_SetItem(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _MAT.delete_MAT_TListNodeOfListOfEdge

# Register MAT_TListNodeOfListOfEdge in _MAT:
_MAT.MAT_TListNodeOfListOfEdge_swigregister(MAT_TListNodeOfListOfEdge)
class MAT_Zone(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        Parameters
        ----------
        aBasicElt: MAT_BasicElt

        Return
        -------
        None

        Description
        -----------
        Compute the frontier of the Zone of proximity.

        """
        _MAT.MAT_Zone_swiginit(self, _MAT.new_MAT_Zone(*args))

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

        Parameters
        ----------
        Index: int

        Return
        -------
        opencascade::handle<MAT_Arc>

        Description
        -----------
        Return the Arc number <Index> on the frontier. of <self>.

        """
        return _MAT.MAT_Zone_ArcOnFrontier(self, *args)

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

        Description
        -----------
        Return True if <self> is Limited.

        """
        return _MAT.MAT_Zone_Limited(self, *args)

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

        Description
        -----------
        Return True if <self> is not empty .

        """
        return _MAT.MAT_Zone_NoEmptyZone(self, *args)

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

        Description
        -----------
        Return the number Of Arcs On the frontier of <self>.

        """
        return _MAT.MAT_Zone_NumberOfArcs(self, *args)

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

        Parameters
        ----------
        aBasicElt: MAT_BasicElt

        Return
        -------
        None

        Description
        -----------
        Compute the frontier of the Zone of proximity.

        """
        return _MAT.MAT_Zone_Perform(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _MAT.delete_MAT_Zone

# Register MAT_Zone in _MAT:
_MAT.MAT_Zone_swigregister(MAT_Zone)



