# 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.

"""
Message module, see official documentation at
https://dev.opencascade.org/doc/occt-7.9.0/refman/html/package_message.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 _Message
else:
    import _Message

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__ = _Message.delete_SwigPyIterator

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register SwigPyIterator in _Message:
_Message.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 _Message.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 = _Message.ios_base_erase_event
    imbue_event = _Message.ios_base_imbue_event
    copyfmt_event = _Message.ios_base_copyfmt_event

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register ios in _Message:
_Message.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):
        _Message.ostream_swiginit(self, _Message.new_ostream(__sb))
    __swig_destroy__ = _Message.delete_ostream

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

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

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

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

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

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

# Register ostream in _Message:
_Message.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):
        _Message.istream_swiginit(self, _Message.new_istream(__sb))
    __swig_destroy__ = _Message.delete_istream

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register istream in _Message:
_Message.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):
        _Message.iostream_swiginit(self, _Message.new_iostream(__sb))
    __swig_destroy__ = _Message.delete_iostream

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

endl_cb_ptr = _Message.endl_cb_ptr
endl = _Message.endl
ends_cb_ptr = _Message.ends_cb_ptr
ends = _Message.ends
flush_cb_ptr = _Message.flush_cb_ptr
flush = _Message.flush
import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.TCollection
import OCC.Core.OSD
import OCC.Core.TColStd

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

Message_ConsoleColor_Default = _Message.Message_ConsoleColor_Default
Message_ConsoleColor_Black = _Message.Message_ConsoleColor_Black
Message_ConsoleColor_White = _Message.Message_ConsoleColor_White
Message_ConsoleColor_Red = _Message.Message_ConsoleColor_Red
Message_ConsoleColor_Blue = _Message.Message_ConsoleColor_Blue
Message_ConsoleColor_Green = _Message.Message_ConsoleColor_Green
Message_ConsoleColor_Yellow = _Message.Message_ConsoleColor_Yellow
Message_ConsoleColor_Cyan = _Message.Message_ConsoleColor_Cyan
Message_ConsoleColor_Magenta = _Message.Message_ConsoleColor_Magenta
Message_Trace = _Message.Message_Trace
Message_Info = _Message.Message_Info
Message_Warning = _Message.Message_Warning
Message_Alarm = _Message.Message_Alarm
Message_Fail = _Message.Message_Fail
Message_MetricType_None = _Message.Message_MetricType_None
Message_MetricType_ThreadCPUUserTime = _Message.Message_MetricType_ThreadCPUUserTime
Message_MetricType_ThreadCPUSystemTime = _Message.Message_MetricType_ThreadCPUSystemTime
Message_MetricType_ProcessCPUUserTime = _Message.Message_MetricType_ProcessCPUUserTime
Message_MetricType_ProcessCPUSystemTime = _Message.Message_MetricType_ProcessCPUSystemTime
Message_MetricType_WallClock = _Message.Message_MetricType_WallClock
Message_MetricType_MemPrivate = _Message.Message_MetricType_MemPrivate
Message_MetricType_MemVirtual = _Message.Message_MetricType_MemVirtual
Message_MetricType_MemWorkingSet = _Message.Message_MetricType_MemWorkingSet
Message_MetricType_MemWorkingSetPeak = _Message.Message_MetricType_MemWorkingSetPeak
Message_MetricType_MemSwapUsage = _Message.Message_MetricType_MemSwapUsage
Message_MetricType_MemSwapUsagePeak = _Message.Message_MetricType_MemSwapUsagePeak
Message_MetricType_MemHeapUsage = _Message.Message_MetricType_MemHeapUsage
Message_None = _Message.Message_None
Message_Done1 = _Message.Message_Done1
Message_Done2 = _Message.Message_Done2
Message_Done3 = _Message.Message_Done3
Message_Done4 = _Message.Message_Done4
Message_Done5 = _Message.Message_Done5
Message_Done6 = _Message.Message_Done6
Message_Done7 = _Message.Message_Done7
Message_Done8 = _Message.Message_Done8
Message_Done9 = _Message.Message_Done9
Message_Done10 = _Message.Message_Done10
Message_Done11 = _Message.Message_Done11
Message_Done12 = _Message.Message_Done12
Message_Done13 = _Message.Message_Done13
Message_Done14 = _Message.Message_Done14
Message_Done15 = _Message.Message_Done15
Message_Done16 = _Message.Message_Done16
Message_Done17 = _Message.Message_Done17
Message_Done18 = _Message.Message_Done18
Message_Done19 = _Message.Message_Done19
Message_Done20 = _Message.Message_Done20
Message_Done21 = _Message.Message_Done21
Message_Done22 = _Message.Message_Done22
Message_Done23 = _Message.Message_Done23
Message_Done24 = _Message.Message_Done24
Message_Done25 = _Message.Message_Done25
Message_Done26 = _Message.Message_Done26
Message_Done27 = _Message.Message_Done27
Message_Done28 = _Message.Message_Done28
Message_Done29 = _Message.Message_Done29
Message_Done30 = _Message.Message_Done30
Message_Done31 = _Message.Message_Done31
Message_Done32 = _Message.Message_Done32
Message_Warn1 = _Message.Message_Warn1
Message_Warn2 = _Message.Message_Warn2
Message_Warn3 = _Message.Message_Warn3
Message_Warn4 = _Message.Message_Warn4
Message_Warn5 = _Message.Message_Warn5
Message_Warn6 = _Message.Message_Warn6
Message_Warn7 = _Message.Message_Warn7
Message_Warn8 = _Message.Message_Warn8
Message_Warn9 = _Message.Message_Warn9
Message_Warn10 = _Message.Message_Warn10
Message_Warn11 = _Message.Message_Warn11
Message_Warn12 = _Message.Message_Warn12
Message_Warn13 = _Message.Message_Warn13
Message_Warn14 = _Message.Message_Warn14
Message_Warn15 = _Message.Message_Warn15
Message_Warn16 = _Message.Message_Warn16
Message_Warn17 = _Message.Message_Warn17
Message_Warn18 = _Message.Message_Warn18
Message_Warn19 = _Message.Message_Warn19
Message_Warn20 = _Message.Message_Warn20
Message_Warn21 = _Message.Message_Warn21
Message_Warn22 = _Message.Message_Warn22
Message_Warn23 = _Message.Message_Warn23
Message_Warn24 = _Message.Message_Warn24
Message_Warn25 = _Message.Message_Warn25
Message_Warn26 = _Message.Message_Warn26
Message_Warn27 = _Message.Message_Warn27
Message_Warn28 = _Message.Message_Warn28
Message_Warn29 = _Message.Message_Warn29
Message_Warn30 = _Message.Message_Warn30
Message_Warn31 = _Message.Message_Warn31
Message_Warn32 = _Message.Message_Warn32
Message_Alarm1 = _Message.Message_Alarm1
Message_Alarm2 = _Message.Message_Alarm2
Message_Alarm3 = _Message.Message_Alarm3
Message_Alarm4 = _Message.Message_Alarm4
Message_Alarm5 = _Message.Message_Alarm5
Message_Alarm6 = _Message.Message_Alarm6
Message_Alarm7 = _Message.Message_Alarm7
Message_Alarm8 = _Message.Message_Alarm8
Message_Alarm9 = _Message.Message_Alarm9
Message_Alarm10 = _Message.Message_Alarm10
Message_Alarm11 = _Message.Message_Alarm11
Message_Alarm12 = _Message.Message_Alarm12
Message_Alarm13 = _Message.Message_Alarm13
Message_Alarm14 = _Message.Message_Alarm14
Message_Alarm15 = _Message.Message_Alarm15
Message_Alarm16 = _Message.Message_Alarm16
Message_Alarm17 = _Message.Message_Alarm17
Message_Alarm18 = _Message.Message_Alarm18
Message_Alarm19 = _Message.Message_Alarm19
Message_Alarm20 = _Message.Message_Alarm20
Message_Alarm21 = _Message.Message_Alarm21
Message_Alarm22 = _Message.Message_Alarm22
Message_Alarm23 = _Message.Message_Alarm23
Message_Alarm24 = _Message.Message_Alarm24
Message_Alarm25 = _Message.Message_Alarm25
Message_Alarm26 = _Message.Message_Alarm26
Message_Alarm27 = _Message.Message_Alarm27
Message_Alarm28 = _Message.Message_Alarm28
Message_Alarm29 = _Message.Message_Alarm29
Message_Alarm30 = _Message.Message_Alarm30
Message_Alarm31 = _Message.Message_Alarm31
Message_Alarm32 = _Message.Message_Alarm32
Message_Fail1 = _Message.Message_Fail1
Message_Fail2 = _Message.Message_Fail2
Message_Fail3 = _Message.Message_Fail3
Message_Fail4 = _Message.Message_Fail4
Message_Fail5 = _Message.Message_Fail5
Message_Fail6 = _Message.Message_Fail6
Message_Fail7 = _Message.Message_Fail7
Message_Fail8 = _Message.Message_Fail8
Message_Fail9 = _Message.Message_Fail9
Message_Fail10 = _Message.Message_Fail10
Message_Fail11 = _Message.Message_Fail11
Message_Fail12 = _Message.Message_Fail12
Message_Fail13 = _Message.Message_Fail13
Message_Fail14 = _Message.Message_Fail14
Message_Fail15 = _Message.Message_Fail15
Message_Fail16 = _Message.Message_Fail16
Message_Fail17 = _Message.Message_Fail17
Message_Fail18 = _Message.Message_Fail18
Message_Fail19 = _Message.Message_Fail19
Message_Fail20 = _Message.Message_Fail20
Message_Fail21 = _Message.Message_Fail21
Message_Fail22 = _Message.Message_Fail22
Message_Fail23 = _Message.Message_Fail23
Message_Fail24 = _Message.Message_Fail24
Message_Fail25 = _Message.Message_Fail25
Message_Fail26 = _Message.Message_Fail26
Message_Fail27 = _Message.Message_Fail27
Message_Fail28 = _Message.Message_Fail28
Message_Fail29 = _Message.Message_Fail29
Message_Fail30 = _Message.Message_Fail30
Message_Fail31 = _Message.Message_Fail31
Message_Fail32 = _Message.Message_Fail32
Message_DONE = _Message.Message_DONE
Message_WARN = _Message.Message_WARN
Message_ALARM = _Message.Message_ALARM
Message_FAIL = _Message.Message_FAIL


class Message_ConsoleColor(IntEnum):
	Message_ConsoleColor_Default = 0
	Message_ConsoleColor_Black = 1
	Message_ConsoleColor_White = 2
	Message_ConsoleColor_Red = 3
	Message_ConsoleColor_Blue = 4
	Message_ConsoleColor_Green = 5
	Message_ConsoleColor_Yellow = 6
	Message_ConsoleColor_Cyan = 7
	Message_ConsoleColor_Magenta = 8
Message_ConsoleColor_Default = Message_ConsoleColor.Message_ConsoleColor_Default
Message_ConsoleColor_Black = Message_ConsoleColor.Message_ConsoleColor_Black
Message_ConsoleColor_White = Message_ConsoleColor.Message_ConsoleColor_White
Message_ConsoleColor_Red = Message_ConsoleColor.Message_ConsoleColor_Red
Message_ConsoleColor_Blue = Message_ConsoleColor.Message_ConsoleColor_Blue
Message_ConsoleColor_Green = Message_ConsoleColor.Message_ConsoleColor_Green
Message_ConsoleColor_Yellow = Message_ConsoleColor.Message_ConsoleColor_Yellow
Message_ConsoleColor_Cyan = Message_ConsoleColor.Message_ConsoleColor_Cyan
Message_ConsoleColor_Magenta = Message_ConsoleColor.Message_ConsoleColor_Magenta

class Message_Gravity(IntEnum):
	Message_Trace = 0
	Message_Info = 1
	Message_Warning = 2
	Message_Alarm = 3
	Message_Fail = 4
Message_Trace = Message_Gravity.Message_Trace
Message_Info = Message_Gravity.Message_Info
Message_Warning = Message_Gravity.Message_Warning
Message_Alarm = Message_Gravity.Message_Alarm
Message_Fail = Message_Gravity.Message_Fail

class Message_MetricType(IntEnum):
	Message_MetricType_None = 0
	Message_MetricType_ThreadCPUUserTime = 1
	Message_MetricType_ThreadCPUSystemTime = 2
	Message_MetricType_ProcessCPUUserTime = 3
	Message_MetricType_ProcessCPUSystemTime = 4
	Message_MetricType_WallClock = 5
	Message_MetricType_MemPrivate = 6
	Message_MetricType_MemVirtual = 7
	Message_MetricType_MemWorkingSet = 8
	Message_MetricType_MemWorkingSetPeak = 9
	Message_MetricType_MemSwapUsage = 10
	Message_MetricType_MemSwapUsagePeak = 11
	Message_MetricType_MemHeapUsage = 12
Message_MetricType_None = Message_MetricType.Message_MetricType_None
Message_MetricType_ThreadCPUUserTime = Message_MetricType.Message_MetricType_ThreadCPUUserTime
Message_MetricType_ThreadCPUSystemTime = Message_MetricType.Message_MetricType_ThreadCPUSystemTime
Message_MetricType_ProcessCPUUserTime = Message_MetricType.Message_MetricType_ProcessCPUUserTime
Message_MetricType_ProcessCPUSystemTime = Message_MetricType.Message_MetricType_ProcessCPUSystemTime
Message_MetricType_WallClock = Message_MetricType.Message_MetricType_WallClock
Message_MetricType_MemPrivate = Message_MetricType.Message_MetricType_MemPrivate
Message_MetricType_MemVirtual = Message_MetricType.Message_MetricType_MemVirtual
Message_MetricType_MemWorkingSet = Message_MetricType.Message_MetricType_MemWorkingSet
Message_MetricType_MemWorkingSetPeak = Message_MetricType.Message_MetricType_MemWorkingSetPeak
Message_MetricType_MemSwapUsage = Message_MetricType.Message_MetricType_MemSwapUsage
Message_MetricType_MemSwapUsagePeak = Message_MetricType.Message_MetricType_MemSwapUsagePeak
Message_MetricType_MemHeapUsage = Message_MetricType.Message_MetricType_MemHeapUsage

class Message_Status(IntEnum):
	Message_None = 0
	Message_Done1 = Message_DONE
	Message_Done2 = 2
	Message_Done3 = 3
	Message_Done4 = 4
	Message_Done5 = 5
	Message_Done6 = 6
	Message_Done7 = 7
	Message_Done8 = 8
	Message_Done9 = 9
	Message_Done10 = 10
	Message_Done11 = 11
	Message_Done12 = 12
	Message_Done13 = 13
	Message_Done14 = 14
	Message_Done15 = 15
	Message_Done16 = 16
	Message_Done17 = 17
	Message_Done18 = 18
	Message_Done19 = 19
	Message_Done20 = 20
	Message_Done21 = 21
	Message_Done22 = 22
	Message_Done23 = 23
	Message_Done24 = 24
	Message_Done25 = 25
	Message_Done26 = 26
	Message_Done27 = 27
	Message_Done28 = 28
	Message_Done29 = 29
	Message_Done30 = 30
	Message_Done31 = 31
	Message_Done32 = 32
	Message_Warn1 = Message_WARN
	Message_Warn2 = 34
	Message_Warn3 = 35
	Message_Warn4 = 36
	Message_Warn5 = 37
	Message_Warn6 = 38
	Message_Warn7 = 39
	Message_Warn8 = 40
	Message_Warn9 = 41
	Message_Warn10 = 42
	Message_Warn11 = 43
	Message_Warn12 = 44
	Message_Warn13 = 45
	Message_Warn14 = 46
	Message_Warn15 = 47
	Message_Warn16 = 48
	Message_Warn17 = 49
	Message_Warn18 = 50
	Message_Warn19 = 51
	Message_Warn20 = 52
	Message_Warn21 = 53
	Message_Warn22 = 54
	Message_Warn23 = 55
	Message_Warn24 = 56
	Message_Warn25 = 57
	Message_Warn26 = 58
	Message_Warn27 = 59
	Message_Warn28 = 60
	Message_Warn29 = 61
	Message_Warn30 = 62
	Message_Warn31 = 63
	Message_Warn32 = 64
	Message_Alarm1 = Message_ALARM
	Message_Alarm2 = 66
	Message_Alarm3 = 67
	Message_Alarm4 = 68
	Message_Alarm5 = 69
	Message_Alarm6 = 70
	Message_Alarm7 = 71
	Message_Alarm8 = 72
	Message_Alarm9 = 73
	Message_Alarm10 = 74
	Message_Alarm11 = 75
	Message_Alarm12 = 76
	Message_Alarm13 = 77
	Message_Alarm14 = 78
	Message_Alarm15 = 79
	Message_Alarm16 = 80
	Message_Alarm17 = 81
	Message_Alarm18 = 82
	Message_Alarm19 = 83
	Message_Alarm20 = 84
	Message_Alarm21 = 85
	Message_Alarm22 = 86
	Message_Alarm23 = 87
	Message_Alarm24 = 88
	Message_Alarm25 = 89
	Message_Alarm26 = 90
	Message_Alarm27 = 91
	Message_Alarm28 = 92
	Message_Alarm29 = 93
	Message_Alarm30 = 94
	Message_Alarm31 = 95
	Message_Alarm32 = 96
	Message_Fail1 = Message_FAIL
	Message_Fail2 = 98
	Message_Fail3 = 99
	Message_Fail4 = 100
	Message_Fail5 = 101
	Message_Fail6 = 102
	Message_Fail7 = 103
	Message_Fail8 = 104
	Message_Fail9 = 105
	Message_Fail10 = 106
	Message_Fail11 = 107
	Message_Fail12 = 108
	Message_Fail13 = 109
	Message_Fail14 = 110
	Message_Fail15 = 111
	Message_Fail16 = 112
	Message_Fail17 = 113
	Message_Fail18 = 114
	Message_Fail19 = 115
	Message_Fail20 = 116
	Message_Fail21 = 117
	Message_Fail22 = 118
	Message_Fail23 = 119
	Message_Fail24 = 120
	Message_Fail25 = 121
	Message_Fail26 = 122
	Message_Fail27 = 123
	Message_Fail28 = 124
	Message_Fail29 = 125
	Message_Fail30 = 126
	Message_Fail31 = 127
	Message_Fail32 = 128
Message_None = Message_Status.Message_None
Message_Done1 = Message_Status.Message_Done1
Message_Done2 = Message_Status.Message_Done2
Message_Done3 = Message_Status.Message_Done3
Message_Done4 = Message_Status.Message_Done4
Message_Done5 = Message_Status.Message_Done5
Message_Done6 = Message_Status.Message_Done6
Message_Done7 = Message_Status.Message_Done7
Message_Done8 = Message_Status.Message_Done8
Message_Done9 = Message_Status.Message_Done9
Message_Done10 = Message_Status.Message_Done10
Message_Done11 = Message_Status.Message_Done11
Message_Done12 = Message_Status.Message_Done12
Message_Done13 = Message_Status.Message_Done13
Message_Done14 = Message_Status.Message_Done14
Message_Done15 = Message_Status.Message_Done15
Message_Done16 = Message_Status.Message_Done16
Message_Done17 = Message_Status.Message_Done17
Message_Done18 = Message_Status.Message_Done18
Message_Done19 = Message_Status.Message_Done19
Message_Done20 = Message_Status.Message_Done20
Message_Done21 = Message_Status.Message_Done21
Message_Done22 = Message_Status.Message_Done22
Message_Done23 = Message_Status.Message_Done23
Message_Done24 = Message_Status.Message_Done24
Message_Done25 = Message_Status.Message_Done25
Message_Done26 = Message_Status.Message_Done26
Message_Done27 = Message_Status.Message_Done27
Message_Done28 = Message_Status.Message_Done28
Message_Done29 = Message_Status.Message_Done29
Message_Done30 = Message_Status.Message_Done30
Message_Done31 = Message_Status.Message_Done31
Message_Done32 = Message_Status.Message_Done32
Message_Warn1 = Message_Status.Message_Warn1
Message_Warn2 = Message_Status.Message_Warn2
Message_Warn3 = Message_Status.Message_Warn3
Message_Warn4 = Message_Status.Message_Warn4
Message_Warn5 = Message_Status.Message_Warn5
Message_Warn6 = Message_Status.Message_Warn6
Message_Warn7 = Message_Status.Message_Warn7
Message_Warn8 = Message_Status.Message_Warn8
Message_Warn9 = Message_Status.Message_Warn9
Message_Warn10 = Message_Status.Message_Warn10
Message_Warn11 = Message_Status.Message_Warn11
Message_Warn12 = Message_Status.Message_Warn12
Message_Warn13 = Message_Status.Message_Warn13
Message_Warn14 = Message_Status.Message_Warn14
Message_Warn15 = Message_Status.Message_Warn15
Message_Warn16 = Message_Status.Message_Warn16
Message_Warn17 = Message_Status.Message_Warn17
Message_Warn18 = Message_Status.Message_Warn18
Message_Warn19 = Message_Status.Message_Warn19
Message_Warn20 = Message_Status.Message_Warn20
Message_Warn21 = Message_Status.Message_Warn21
Message_Warn22 = Message_Status.Message_Warn22
Message_Warn23 = Message_Status.Message_Warn23
Message_Warn24 = Message_Status.Message_Warn24
Message_Warn25 = Message_Status.Message_Warn25
Message_Warn26 = Message_Status.Message_Warn26
Message_Warn27 = Message_Status.Message_Warn27
Message_Warn28 = Message_Status.Message_Warn28
Message_Warn29 = Message_Status.Message_Warn29
Message_Warn30 = Message_Status.Message_Warn30
Message_Warn31 = Message_Status.Message_Warn31
Message_Warn32 = Message_Status.Message_Warn32
Message_Alarm1 = Message_Status.Message_Alarm1
Message_Alarm2 = Message_Status.Message_Alarm2
Message_Alarm3 = Message_Status.Message_Alarm3
Message_Alarm4 = Message_Status.Message_Alarm4
Message_Alarm5 = Message_Status.Message_Alarm5
Message_Alarm6 = Message_Status.Message_Alarm6
Message_Alarm7 = Message_Status.Message_Alarm7
Message_Alarm8 = Message_Status.Message_Alarm8
Message_Alarm9 = Message_Status.Message_Alarm9
Message_Alarm10 = Message_Status.Message_Alarm10
Message_Alarm11 = Message_Status.Message_Alarm11
Message_Alarm12 = Message_Status.Message_Alarm12
Message_Alarm13 = Message_Status.Message_Alarm13
Message_Alarm14 = Message_Status.Message_Alarm14
Message_Alarm15 = Message_Status.Message_Alarm15
Message_Alarm16 = Message_Status.Message_Alarm16
Message_Alarm17 = Message_Status.Message_Alarm17
Message_Alarm18 = Message_Status.Message_Alarm18
Message_Alarm19 = Message_Status.Message_Alarm19
Message_Alarm20 = Message_Status.Message_Alarm20
Message_Alarm21 = Message_Status.Message_Alarm21
Message_Alarm22 = Message_Status.Message_Alarm22
Message_Alarm23 = Message_Status.Message_Alarm23
Message_Alarm24 = Message_Status.Message_Alarm24
Message_Alarm25 = Message_Status.Message_Alarm25
Message_Alarm26 = Message_Status.Message_Alarm26
Message_Alarm27 = Message_Status.Message_Alarm27
Message_Alarm28 = Message_Status.Message_Alarm28
Message_Alarm29 = Message_Status.Message_Alarm29
Message_Alarm30 = Message_Status.Message_Alarm30
Message_Alarm31 = Message_Status.Message_Alarm31
Message_Alarm32 = Message_Status.Message_Alarm32
Message_Fail1 = Message_Status.Message_Fail1
Message_Fail2 = Message_Status.Message_Fail2
Message_Fail3 = Message_Status.Message_Fail3
Message_Fail4 = Message_Status.Message_Fail4
Message_Fail5 = Message_Status.Message_Fail5
Message_Fail6 = Message_Status.Message_Fail6
Message_Fail7 = Message_Status.Message_Fail7
Message_Fail8 = Message_Status.Message_Fail8
Message_Fail9 = Message_Status.Message_Fail9
Message_Fail10 = Message_Status.Message_Fail10
Message_Fail11 = Message_Status.Message_Fail11
Message_Fail12 = Message_Status.Message_Fail12
Message_Fail13 = Message_Status.Message_Fail13
Message_Fail14 = Message_Status.Message_Fail14
Message_Fail15 = Message_Status.Message_Fail15
Message_Fail16 = Message_Status.Message_Fail16
Message_Fail17 = Message_Status.Message_Fail17
Message_Fail18 = Message_Status.Message_Fail18
Message_Fail19 = Message_Status.Message_Fail19
Message_Fail20 = Message_Status.Message_Fail20
Message_Fail21 = Message_Status.Message_Fail21
Message_Fail22 = Message_Status.Message_Fail22
Message_Fail23 = Message_Status.Message_Fail23
Message_Fail24 = Message_Status.Message_Fail24
Message_Fail25 = Message_Status.Message_Fail25
Message_Fail26 = Message_Status.Message_Fail26
Message_Fail27 = Message_Status.Message_Fail27
Message_Fail28 = Message_Status.Message_Fail28
Message_Fail29 = Message_Status.Message_Fail29
Message_Fail30 = Message_Status.Message_Fail30
Message_Fail31 = Message_Status.Message_Fail31
Message_Fail32 = Message_Status.Message_Fail32

class Message_StatusType(IntEnum):
	Message_DONE = 256
	Message_WARN = 512
	Message_ALARM = 1024
	Message_FAIL = 2048
Message_DONE = Message_StatusType.Message_DONE
Message_WARN = Message_StatusType.Message_WARN
Message_ALARM = Message_StatusType.Message_ALARM
Message_FAIL = Message_StatusType.Message_FAIL


def Handle_Message_Alert_Create():
    return _Message.Handle_Message_Alert_Create()

def Handle_Message_Alert_DownCast(t):
    return _Message.Handle_Message_Alert_DownCast(t)

def Handle_Message_Alert_IsNull(t):
    return _Message.Handle_Message_Alert_IsNull(t)

def Handle_Message_Algorithm_Create():
    return _Message.Handle_Message_Algorithm_Create()

def Handle_Message_Algorithm_DownCast(t):
    return _Message.Handle_Message_Algorithm_DownCast(t)

def Handle_Message_Algorithm_IsNull(t):
    return _Message.Handle_Message_Algorithm_IsNull(t)

def Handle_Message_Attribute_Create():
    return _Message.Handle_Message_Attribute_Create()

def Handle_Message_Attribute_DownCast(t):
    return _Message.Handle_Message_Attribute_DownCast(t)

def Handle_Message_Attribute_IsNull(t):
    return _Message.Handle_Message_Attribute_IsNull(t)

def Handle_Message_CompositeAlerts_Create():
    return _Message.Handle_Message_CompositeAlerts_Create()

def Handle_Message_CompositeAlerts_DownCast(t):
    return _Message.Handle_Message_CompositeAlerts_DownCast(t)

def Handle_Message_CompositeAlerts_IsNull(t):
    return _Message.Handle_Message_CompositeAlerts_IsNull(t)

def Handle_Message_Messenger_Create():
    return _Message.Handle_Message_Messenger_Create()

def Handle_Message_Messenger_DownCast(t):
    return _Message.Handle_Message_Messenger_DownCast(t)

def Handle_Message_Messenger_IsNull(t):
    return _Message.Handle_Message_Messenger_IsNull(t)

def Handle_Message_Printer_Create():
    return _Message.Handle_Message_Printer_Create()

def Handle_Message_Printer_DownCast(t):
    return _Message.Handle_Message_Printer_DownCast(t)

def Handle_Message_Printer_IsNull(t):
    return _Message.Handle_Message_Printer_IsNull(t)

def Handle_Message_ProgressIndicator_Create():
    return _Message.Handle_Message_ProgressIndicator_Create()

def Handle_Message_ProgressIndicator_DownCast(t):
    return _Message.Handle_Message_ProgressIndicator_DownCast(t)

def Handle_Message_ProgressIndicator_IsNull(t):
    return _Message.Handle_Message_ProgressIndicator_IsNull(t)

def Handle_Message_Report_Create():
    return _Message.Handle_Message_Report_Create()

def Handle_Message_Report_DownCast(t):
    return _Message.Handle_Message_Report_DownCast(t)

def Handle_Message_Report_IsNull(t):
    return _Message.Handle_Message_Report_IsNull(t)

def Handle_Message_AlertExtended_Create():
    return _Message.Handle_Message_AlertExtended_Create()

def Handle_Message_AlertExtended_DownCast(t):
    return _Message.Handle_Message_AlertExtended_DownCast(t)

def Handle_Message_AlertExtended_IsNull(t):
    return _Message.Handle_Message_AlertExtended_IsNull(t)

def Handle_Message_AttributeMeter_Create():
    return _Message.Handle_Message_AttributeMeter_Create()

def Handle_Message_AttributeMeter_DownCast(t):
    return _Message.Handle_Message_AttributeMeter_DownCast(t)

def Handle_Message_AttributeMeter_IsNull(t):
    return _Message.Handle_Message_AttributeMeter_IsNull(t)

def Handle_Message_AttributeObject_Create():
    return _Message.Handle_Message_AttributeObject_Create()

def Handle_Message_AttributeObject_DownCast(t):
    return _Message.Handle_Message_AttributeObject_DownCast(t)

def Handle_Message_AttributeObject_IsNull(t):
    return _Message.Handle_Message_AttributeObject_IsNull(t)

def Handle_Message_AttributeStream_Create():
    return _Message.Handle_Message_AttributeStream_Create()

def Handle_Message_AttributeStream_DownCast(t):
    return _Message.Handle_Message_AttributeStream_DownCast(t)

def Handle_Message_AttributeStream_IsNull(t):
    return _Message.Handle_Message_AttributeStream_IsNull(t)

def Handle_Message_PrinterOStream_Create():
    return _Message.Handle_Message_PrinterOStream_Create()

def Handle_Message_PrinterOStream_DownCast(t):
    return _Message.Handle_Message_PrinterOStream_DownCast(t)

def Handle_Message_PrinterOStream_IsNull(t):
    return _Message.Handle_Message_PrinterOStream_IsNull(t)

def Handle_Message_PrinterSystemLog_Create():
    return _Message.Handle_Message_PrinterSystemLog_Create()

def Handle_Message_PrinterSystemLog_DownCast(t):
    return _Message.Handle_Message_PrinterSystemLog_DownCast(t)

def Handle_Message_PrinterSystemLog_IsNull(t):
    return _Message.Handle_Message_PrinterSystemLog_IsNull(t)

def Handle_Message_PrinterToReport_Create():
    return _Message.Handle_Message_PrinterToReport_Create()

def Handle_Message_PrinterToReport_DownCast(t):
    return _Message.Handle_Message_PrinterToReport_DownCast(t)

def Handle_Message_PrinterToReport_IsNull(t):
    return _Message.Handle_Message_PrinterToReport_IsNull(t)
class Message_ListIteratorOfListOfMsg(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):
        _Message.Message_ListIteratorOfListOfMsg_swiginit(self, _Message.new_Message_ListIteratorOfListOfMsg(*args))

    def More(self):
        return _Message.Message_ListIteratorOfListOfMsg_More(self)

    def Next(self):
        return _Message.Message_ListIteratorOfListOfMsg_Next(self)

    def Value(self):
        return _Message.Message_ListIteratorOfListOfMsg_Value(self)

    def ChangeValue(self):
        return _Message.Message_ListIteratorOfListOfMsg_ChangeValue(self)
    __swig_destroy__ = _Message.delete_Message_ListIteratorOfListOfMsg

# Register Message_ListIteratorOfListOfMsg in _Message:
_Message.Message_ListIteratorOfListOfMsg_swigregister(Message_ListIteratorOfListOfMsg)
class Message_ListOfAlert(OCC.Core.NCollection.NCollection_BaseList):
    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 _Message.Message_ListOfAlert_begin(self)

    def end(self):
        return _Message.Message_ListOfAlert_end(self)

    def cbegin(self):
        return _Message.Message_ListOfAlert_cbegin(self)

    def cend(self):
        return _Message.Message_ListOfAlert_cend(self)

    def __init__(self, *args):
        _Message.Message_ListOfAlert_swiginit(self, _Message.new_Message_ListOfAlert(*args))

    def Size(self):
        return _Message.Message_ListOfAlert_Size(self)

    def Assign(self, theOther):
        return _Message.Message_ListOfAlert_Assign(self, theOther)

    def Set(self, *args):
        return _Message.Message_ListOfAlert_Set(self, *args)

    def Clear(self, theAllocator=0):
        return _Message.Message_ListOfAlert_Clear(self, theAllocator)

    def First(self):
        return _Message.Message_ListOfAlert_First(self)

    def Last(self):
        return _Message.Message_ListOfAlert_Last(self)

    def Append(self, *args):
        return _Message.Message_ListOfAlert_Append(self, *args)

    def Prepend(self, *args):
        return _Message.Message_ListOfAlert_Prepend(self, *args)

    def RemoveFirst(self):
        return _Message.Message_ListOfAlert_RemoveFirst(self)

    def Remove(self, theIter):
        return _Message.Message_ListOfAlert_Remove(self, theIter)

    def InsertBefore(self, *args):
        return _Message.Message_ListOfAlert_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _Message.Message_ListOfAlert_InsertAfter(self, *args)

    def Reverse(self):
        return _Message.Message_ListOfAlert_Reverse(self)
    __swig_destroy__ = _Message.delete_Message_ListOfAlert

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


# Register Message_ListOfAlert in _Message:
_Message.Message_ListOfAlert_swigregister(Message_ListOfAlert)
class Message_ListOfMsg(OCC.Core.NCollection.NCollection_BaseList):
    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 _Message.Message_ListOfMsg_begin(self)

    def end(self):
        return _Message.Message_ListOfMsg_end(self)

    def cbegin(self):
        return _Message.Message_ListOfMsg_cbegin(self)

    def cend(self):
        return _Message.Message_ListOfMsg_cend(self)

    def __init__(self, *args):
        _Message.Message_ListOfMsg_swiginit(self, _Message.new_Message_ListOfMsg(*args))

    def Size(self):
        return _Message.Message_ListOfMsg_Size(self)

    def Assign(self, theOther):
        return _Message.Message_ListOfMsg_Assign(self, theOther)

    def Set(self, *args):
        return _Message.Message_ListOfMsg_Set(self, *args)

    def Clear(self, theAllocator=0):
        return _Message.Message_ListOfMsg_Clear(self, theAllocator)

    def First(self):
        return _Message.Message_ListOfMsg_First(self)

    def Last(self):
        return _Message.Message_ListOfMsg_Last(self)

    def Append(self, *args):
        return _Message.Message_ListOfMsg_Append(self, *args)

    def Prepend(self, *args):
        return _Message.Message_ListOfMsg_Prepend(self, *args)

    def RemoveFirst(self):
        return _Message.Message_ListOfMsg_RemoveFirst(self)

    def Remove(self, theIter):
        return _Message.Message_ListOfMsg_Remove(self, theIter)

    def InsertBefore(self, *args):
        return _Message.Message_ListOfMsg_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _Message.Message_ListOfMsg_InsertAfter(self, *args)

    def Reverse(self):
        return _Message.Message_ListOfMsg_Reverse(self)
    __swig_destroy__ = _Message.delete_Message_ListOfMsg

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


# Register Message_ListOfMsg in _Message:
_Message.Message_ListOfMsg_swigregister(Message_ListOfMsg)
class Message_SequenceOfPrinters(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 _Message.Message_SequenceOfPrinters_begin(self)

    def end(self):
        return _Message.Message_SequenceOfPrinters_end(self)

    def cbegin(self):
        return _Message.Message_SequenceOfPrinters_cbegin(self)

    def cend(self):
        return _Message.Message_SequenceOfPrinters_cend(self)

    def __init__(self, *args):
        _Message.Message_SequenceOfPrinters_swiginit(self, _Message.new_Message_SequenceOfPrinters(*args))

    def Size(self):
        return _Message.Message_SequenceOfPrinters_Size(self)

    def Length(self):
        return _Message.Message_SequenceOfPrinters_Length(self)

    def Lower(self):
        return _Message.Message_SequenceOfPrinters_Lower(self)

    def Upper(self):
        return _Message.Message_SequenceOfPrinters_Upper(self)

    def IsEmpty(self):
        return _Message.Message_SequenceOfPrinters_IsEmpty(self)

    def Reverse(self):
        return _Message.Message_SequenceOfPrinters_Reverse(self)

    def Exchange(self, I, J):
        return _Message.Message_SequenceOfPrinters_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _Message.Message_SequenceOfPrinters_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _Message.Message_SequenceOfPrinters_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _Message.Message_SequenceOfPrinters_Assign(self, theOther)

    def Set(self, *args):
        return _Message.Message_SequenceOfPrinters_Set(self, *args)

    def Remove(self, *args):
        return _Message.Message_SequenceOfPrinters_Remove(self, *args)

    def Append(self, *args):
        return _Message.Message_SequenceOfPrinters_Append(self, *args)

    def Prepend(self, *args):
        return _Message.Message_SequenceOfPrinters_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _Message.Message_SequenceOfPrinters_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _Message.Message_SequenceOfPrinters_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _Message.Message_SequenceOfPrinters_Split(self, theIndex, theSeq)

    def First(self):
        return _Message.Message_SequenceOfPrinters_First(self)

    def ChangeFirst(self):
        return _Message.Message_SequenceOfPrinters_ChangeFirst(self)

    def Last(self):
        return _Message.Message_SequenceOfPrinters_Last(self)

    def ChangeLast(self):
        return _Message.Message_SequenceOfPrinters_ChangeLast(self)

    def Value(self, theIndex):
        return _Message.Message_SequenceOfPrinters_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _Message.Message_SequenceOfPrinters_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _Message.Message_SequenceOfPrinters___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _Message.Message_SequenceOfPrinters_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _Message.delete_Message_SequenceOfPrinters

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


# Register Message_SequenceOfPrinters in _Message:
_Message.Message_SequenceOfPrinters_swigregister(Message_SequenceOfPrinters)
class message(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    @staticmethod
    def DefaultMessenger(*args):
        r"""
        Return
        -------
        opencascade::handle<Message_Messenger>

        Description
        -----------
        Defines default messenger for OCCT applications. This is global static instance of the messenger. By default, it contains single printer directed to std::cout. It can be customized according to the application needs. //! The following syntax can be used to print messages: @code Message::DefaultMessenger()->Send ('My Warning', Message_Warning); Message::SendWarning ('My Warning'); // short-cut for Message_Warning Message::SendWarning() << 'My Warning with ' << theCounter << ' arguments'; Message::SendFail ('My Failure'); // short-cut for Message_Fail @endcode.

        """
        return _Message.message_DefaultMessenger(*args)

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

        Parameters
        ----------
        theToCreate: bool (optional, default to Standard_False)

        Return
        -------
        opencascade::handle<Message_Report>

        Description
        -----------
        returns the only one instance of Report When theToCreate is true - automatically creates message report when not exist.

        """
        return _Message.message_DefaultReport(*args)

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

        Parameters
        ----------
        Hour: int
        Minute: int
        Second: float

        Return
        -------
        TCollection_AsciiString

        Description
        -----------
        Returns the string filled with values of hours, minutes and seconds. Example: 1. (5, 12, 26.3345) returns '05h:12m:26.33s', 2. (0, 6, 34.496 ) returns '06m:34.50s', 3. (0, 0, 4.5 ) returns '4.50s'.

        """
        return _Message.message_FillTime(*args)

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

        Parameters
        ----------
        theString: str

        Return
        -------
        theType: Message_MetricType

        Description
        -----------
        Determines the metric from the given string identifier. 
        Parameter theString string identifier 
        Parameter theType detected type of metric 
        Return: True if string identifier is known.

        Parameters
        ----------
        theString: str

        Return
        -------
        Message_MetricType

        Description
        -----------
        Returns the metric type from the given string identifier. 
        Parameter theString string identifier 
        Return: metric type or Message_MetricType_None if string identifier is invalid.

        """
        return _Message.message_MetricFromString(*args)

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

        Parameters
        ----------
        theType: Message_MetricType

        Return
        -------
        str

        Description
        -----------
        Returns the string name for a given metric type. 
        Parameter theType metric type 
        Return: string identifier from the list of Message_MetricType.

        """
        return _Message.message_MetricToString(*args)

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

        Parameters
        ----------
        theMemInfo: OSD_MemInfo::Counter

        Return
        -------
        theMetric: Message_MetricType

        Description
        -----------
        Converts OSD memory info type to message metric. 
        Parameter theMemInfo [int] memory info type @param[out] theMetric filled message metric 
        Return: true if converted.

        """
        return _Message.message_ToMessageMetric(*args)

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

        Parameters
        ----------
        theMetric: Message_MetricType
        theMemInfo: OSD_MemInfo::Counter

        Return
        -------
        bool

        Description
        -----------
        Converts message metric to OSD memory info type. 
        Input parameter: theMetric message metric @param[out] theMemInfo filled memory info type 
        Return: true if converted.

        """
        return _Message.message_ToOSDMetric(*args)

    __repr__ = _dumps_object

    @methodnotwrapped
    def Send(self):
    	pass

    @methodnotwrapped
    def SendAlarm(self):
    	pass

    @methodnotwrapped
    def SendInfo(self):
    	pass

    @methodnotwrapped
    def SendTrace(self):
    	pass

    @methodnotwrapped
    def SendWarning(self):
    	pass

    @methodnotwrapped
    def SendFail(self):
    	pass


    def __init__(self):
        _Message.message_swiginit(self, _Message.new_message())
    __swig_destroy__ = _Message.delete_message

# Register message in _Message:
_Message.message_swigregister(message)
class Message_Alert(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 DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _Message.Message_Alert_DumpJson(self, depth)

    def GetMessageKey(self, *args):
        r"""
        Return
        -------
        str

        Description
        -----------
        Return a C string to be used as a key for generating text user messages describing this alert. The messages are generated with help of Message_Msg class, in Message_Report::Dump(). Base implementation returns dynamic type name of the instance.

        """
        return _Message.Message_Alert_GetMessageKey(self, *args)

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

        Parameters
        ----------
        theTarget: Message_Alert

        Return
        -------
        bool

        Description
        -----------
        If possible, merge data contained in this alert to theTarget. 
        Return: True if merged. Base implementation always returns true.

        """
        return _Message.Message_Alert_Merge(self, *args)

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

        Description
        -----------
        Return true if this type of alert can be merged with other of the same type to avoid duplication. Basis implementation returns true.

        """
        return _Message.Message_Alert_SupportsMerge(self, *args)


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


    __repr__ = _dumps_object


    def __init__(self):
        _Message.Message_Alert_swiginit(self, _Message.new_Message_Alert())
    __swig_destroy__ = _Message.delete_Message_Alert

# Register Message_Alert in _Message:
_Message.Message_Alert_swigregister(Message_Alert)
class Message_Algorithm(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.

        """
        _Message.Message_Algorithm_swiginit(self, _Message.new_Message_Algorithm(*args))

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

        Parameters
        ----------
        theOther: Message_Algorithm

        Return
        -------
        None

        Description
        -----------
        Add statuses to this algorithm from other algorithm (including messages).

        Parameters
        ----------
        theStatus: Message_ExecStatus
        theOther: Message_Algorithm

        Return
        -------
        None

        Description
        -----------
        Add statuses to this algorithm from other algorithm, but only those items are moved that correspond to statuses set in theStatus.

        """
        return _Message.Message_Algorithm_AddStatus(self, *args)

    def ChangeStatus(self, *args):
        r"""
        Return
        -------
        Message_ExecStatus

        Description
        -----------
        Returns exec status of algorithm.

        """
        return _Message.Message_Algorithm_ChangeStatus(self, *args)

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

        Description
        -----------
        Clear exec status of algorithm.

        """
        return _Message.Message_Algorithm_ClearStatus(self, *args)

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

        Parameters
        ----------
        theStatus: Message_Status

        Return
        -------
        opencascade::handle<TColStd_HPackedMapOfInteger>

        Description
        -----------
        Return the numbers associated with the indicated status; Null handle if no such status or no numbers associated with it.

        """
        return _Message.Message_Algorithm_GetMessageNumbers(self, *args)

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

        Parameters
        ----------
        theStatus: Message_Status

        Return
        -------
        opencascade::handle<TColStd_HSequenceOfHExtendedString>

        Description
        -----------
        Return the strings associated with the indicated status; Null handle if no such status or no strings associated with it.

        """
        return _Message.Message_Algorithm_GetMessageStrings(self, *args)

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

        Description
        -----------
        Returns messenger of algorithm. The returned handle is always non-null and can be used for sending messages.

        """
        return _Message.Message_Algorithm_GetMessenger(self, *args)

    def GetStatus(self, *args):
        r"""
        Return
        -------
        Message_ExecStatus

        Description
        -----------
        Returns copy of exec status of algorithm.

        """
        return _Message.Message_Algorithm_GetStatus(self, *args)

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

        Parameters
        ----------
        theError: TColStd_HPackedMapOfInteger
        theMaxCount: int

        Return
        -------
        TCollection_ExtendedString

        Description
        -----------
        Prepares a string containing a list of integers contained in theError map, but not more than theMaxCount.

        Parameters
        ----------
        theReportSeq: TColStd_SequenceOfHExtendedString
        theMaxCount: int

        Return
        -------
        TCollection_ExtendedString

        Description
        -----------
        Prepares a string containing a list of names contained in theReportSeq sequence, but not more than theMaxCount.

        """
        return _Message.Message_Algorithm_PrepareReport(*args)

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

        Parameters
        ----------
        theTraceLevel: Message_Gravity (optional, default to Message_Warning)
        theMaxCount: int (optional, default to 20)

        Return
        -------
        None

        Description
        -----------
        Convenient variant of SendStatusMessages() with theFilter having defined all WARN, ALARM, and FAIL (but not DONE) status flags.

        """
        return _Message.Message_Algorithm_SendMessages(self, *args)

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

        Parameters
        ----------
        theFilter: Message_ExecStatus
        theTraceLevel: Message_Gravity (optional, default to Message_Warning)
        theMaxCount: int (optional, default to 20)

        Return
        -------
        None

        Description
        -----------
        Print messages for all status flags that have been set during algorithm execution, excluding statuses that are NOT set in theFilter. //! The messages are taken from resource file, names being constructed as {dynamic class type}.{status name}, for instance, 'Message_Algorithm.Fail5'. If message is not found in resources for this class and all its base types, surrogate text is printed. //! For the statuses having number or string parameters, theMaxCount defines maximal number of numbers or strings to be included in the message //! Note that this method is virtual; this allows descendant classes to customize message output (e.g. by adding messages from other sub-algorithms).

        """
        return _Message.Message_Algorithm_SendStatusMessages(self, *args)

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

        Parameters
        ----------
        theMsgr: Message_Messenger

        Return
        -------
        None

        Description
        -----------
        Sets messenger to algorithm.

        """
        return _Message.Message_Algorithm_SetMessenger(self, *args)

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

        Parameters
        ----------
        theStat: Message_Status

        Return
        -------
        None

        Description
        -----------
        Sets status with no parameter.

        Parameters
        ----------
        theStat: Message_Status
        theInt: int

        Return
        -------
        None

        Description
        -----------
        Sets status with integer parameter.

        Parameters
        ----------
        theStat: Message_Status
        theStr: str
        noRepetitions: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Sets status with string parameter. If noRepetitions is True, the parameter will be added only if it has not been yet recorded for the same status flag.

        Parameters
        ----------
        theStat: Message_Status
        theStr: str
        noRepetitions: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Sets status with string parameter If noRepetitions is True, the parameter will be added only if it has not been yet recorded for the same status flag.

        Parameters
        ----------
        theStat: Message_Status
        theStr: TCollection_HAsciiString
        noRepetitions: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Sets status with string parameter If noRepetitions is True, the parameter will be added only if it has not been yet recorded for the same status flag.

        Parameters
        ----------
        theStat: Message_Status
        theStr: str
        noRepetitions: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Sets status with string parameter If noRepetitions is True, the parameter will be added only if it has not been yet recorded for the same status flag.

        Parameters
        ----------
        theStat: Message_Status
        theStr: TCollection_HExtendedString
        noRepetitions: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Sets status with string parameter If noRepetitions is True, the parameter will be added only if it has not been yet recorded for the same status flag.

        Parameters
        ----------
        theStat: Message_Status
        theMsg: Message_Msg

        Return
        -------
        None

        Description
        -----------
        Sets status with preformatted message. This message will be used directly to report the status; automatic generation of status messages will be disabled for it.

        """
        return _Message.Message_Algorithm_SetStatus(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Message.delete_Message_Algorithm

# Register Message_Algorithm in _Message:
_Message.Message_Algorithm_swigregister(Message_Algorithm)
class Message_Attribute(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
        ----------
        theName: str (optional, default to TCollection_AsciiString())

        Return
        -------
        None

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

        """
        _Message.Message_Attribute_swiginit(self, _Message.new_Message_Attribute(*args))

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _Message.Message_Attribute_DumpJson(self, depth)

    def GetMessageKey(self, *args):
        r"""
        Return
        -------
        str

        Description
        -----------
        Return a C string to be used as a key for generating text user messages describing this alert. The messages are generated with help of Message_Msg class, in Message_Report::Dump(). Base implementation returns dynamic type name of the instance.

        """
        return _Message.Message_Attribute_GetMessageKey(self, *args)

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

        Description
        -----------
        Returns custom name of alert if it is set 
        Return: alert name.

        """
        return _Message.Message_Attribute_GetName(self, *args)

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

        Parameters
        ----------
        theName: str

        Return
        -------
        None

        Description
        -----------
        Sets the custom name of alert 
        Parameter theName a name for the alert.

        """
        return _Message.Message_Attribute_SetName(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Message.delete_Message_Attribute

# Register Message_Attribute in _Message:
_Message.Message_Attribute_swigregister(Message_Attribute)
class Message_CompositeAlerts(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.

        """
        _Message.Message_CompositeAlerts_swiginit(self, _Message.new_Message_CompositeAlerts(*args))

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

        Parameters
        ----------
        theGravity: Message_Gravity
        theAlert: Message_Alert

        Return
        -------
        bool

        Description
        -----------
        Add alert with specified gravity. If the alert supports merge it will be merged. 
        Parameter theGravity an alert gravity 
        Parameter theAlert an alert to be added as a child alert 
        Return: true if the alert is added or merged.

        """
        return _Message.Message_CompositeAlerts_AddAlert(self, *args)

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

        Parameters
        ----------
        theGravity: Message_Gravity

        Return
        -------
        Message_ListOfAlert

        Description
        -----------
        Returns list of collected alerts with specified gravity.

        """
        return _Message.Message_CompositeAlerts_Alerts(self, *args)

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

        Description
        -----------
        Clears all collected alerts.

        Parameters
        ----------
        theGravity: Message_Gravity

        Return
        -------
        None

        Description
        -----------
        Clears collected alerts with specified gravity 
        Parameter theGravity an alert gravity.

        Parameters
        ----------
        theType: Standard_Type

        Return
        -------
        None

        Description
        -----------
        Clears collected alerts with specified type 
        Parameter theType an alert type.

        """
        return _Message.Message_CompositeAlerts_Clear(self, *args)

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _Message.Message_CompositeAlerts_DumpJson(self, depth)

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

        Parameters
        ----------
        theAlert: Message_Alert

        Return
        -------
        bool

        Description
        -----------
        Returns true if the alert belong the list of the child alerts. 
        Parameter theAlert an alert to be checked as a child alert 
        Return: true if the alert is found in a container of children.

        Parameters
        ----------
        theType: Standard_Type
        theGravity: Message_Gravity

        Return
        -------
        bool

        Description
        -----------
        Returns true if specific type of alert is recorded with specified gravity 
        Parameter theType an alert type 
        Parameter theGravity an alert gravity 
        Return: true if the alert is found in a container of children.

        """
        return _Message.Message_CompositeAlerts_HasAlert(self, *args)

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

        Parameters
        ----------
        theGravity: Message_Gravity
        theAlert: Message_Alert

        Return
        -------
        bool

        Description
        -----------
        Removes alert with specified gravity. 
        Parameter theGravity an alert gravity 
        Parameter theAlert an alert to be removed from the children 
        Return: true if the alert is removed.

        """
        return _Message.Message_CompositeAlerts_RemoveAlert(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Message.delete_Message_CompositeAlerts

# Register Message_CompositeAlerts in _Message:
_Message.Message_CompositeAlerts_swigregister(Message_CompositeAlerts)
class Message_ExecStatus(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    FirstStatus = _Message.Message_ExecStatus_FirstStatus
    StatusesPerType = _Message.Message_ExecStatus_StatusesPerType
    NbStatuses = _Message.Message_ExecStatus_NbStatuses
    LastStatus = _Message.Message_ExecStatus_LastStatus


    class StatusRange(IntEnum):
    	FirstStatus = 1
    	StatusesPerType = 32
    	NbStatuses = 128
    	LastStatus = 129
    FirstStatus = StatusRange.FirstStatus
    StatusesPerType = StatusRange.StatusesPerType
    NbStatuses = StatusRange.NbStatuses
    LastStatus = StatusRange.LastStatus


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

        Description
        -----------
        Create empty execution status.

        Parameters
        ----------
        theStatus: Message_Status

        Return
        -------
        None

        Description
        -----------
        Initialise the execution status.

        """
        _Message.Message_ExecStatus_swiginit(self, _Message.new_Message_ExecStatus(*args))

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

        Parameters
        ----------
        theOther: Message_ExecStatus

        Return
        -------
        None

        Description
        -----------
        Add statuses to me from theOther execution status.

        """
        return _Message.Message_ExecStatus_Add(self, *args)

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

        Parameters
        ----------
        theOther: Message_ExecStatus

        Return
        -------
        None

        Description
        -----------
        Leave only the statuses common with theOther.

        """
        return _Message.Message_ExecStatus_And(self, *args)

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

        Parameters
        ----------
        theStatus: Message_Status

        Return
        -------
        None

        Description
        -----------
        Clear one status.
        Return
        -------
        None

        Description
        -----------
        Clear all statuses.

        """
        return _Message.Message_ExecStatus_Clear(self, *args)

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

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

        """
        return _Message.Message_ExecStatus_ClearAllAlarm(self, *args)

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

        Description
        -----------
        Clear all statuses of each type.

        """
        return _Message.Message_ExecStatus_ClearAllDone(self, *args)

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

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

        """
        return _Message.Message_ExecStatus_ClearAllFail(self, *args)

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

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

        """
        return _Message.Message_ExecStatus_ClearAllWarn(self, *args)

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

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

        """
        return _Message.Message_ExecStatus_IsAlarm(self, *args)

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

        Description
        -----------
        Check if at least one status of each type is set.

        """
        return _Message.Message_ExecStatus_IsDone(self, *args)

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

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

        """
        return _Message.Message_ExecStatus_IsFail(self, *args)

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

        Parameters
        ----------
        theStatus: Message_Status

        Return
        -------
        bool

        Description
        -----------
        Check status for being set.

        """
        return _Message.Message_ExecStatus_IsSet(self, *args)

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

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

        """
        return _Message.Message_ExecStatus_IsWarn(self, *args)

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

        Parameters
        ----------
        theStatus: Message_Status

        Return
        -------
        int

        Description
        -----------
        Returns index of status inside type of status (Done or Warn or, etc) in range [1, StatusesPerType].

        """
        return _Message.Message_ExecStatus_LocalStatusIndex(*args)

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

        Parameters
        ----------
        theStatus: Message_Status

        Return
        -------
        None

        Description
        -----------
        Sets a status flag.

        """
        return _Message.Message_ExecStatus_Set(self, *args)

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

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

        """
        return _Message.Message_ExecStatus_SetAllAlarm(self, *args)

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

        Description
        -----------
        Set all statuses of each type.

        """
        return _Message.Message_ExecStatus_SetAllDone(self, *args)

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

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

        """
        return _Message.Message_ExecStatus_SetAllFail(self, *args)

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

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

        """
        return _Message.Message_ExecStatus_SetAllWarn(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        Message_Status

        Description
        -----------
        Returns status with index theIndex in whole range [FirstStatus, LastStatus].

        """
        return _Message.Message_ExecStatus_StatusByIndex(*args)

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

        Parameters
        ----------
        theStatus: Message_Status

        Return
        -------
        int

        Description
        -----------
        Returns index of status in whole range [FirstStatus, LastStatus].

        """
        return _Message.Message_ExecStatus_StatusIndex(*args)

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

        Parameters
        ----------
        theStatus: Message_Status

        Return
        -------
        Message_StatusType

        Description
        -----------
        Returns status type (DONE, WARN, ALARM, or FAIL).

        """
        return _Message.Message_ExecStatus_TypeOfStatus(*args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Message.delete_Message_ExecStatus

# Register Message_ExecStatus in _Message:
_Message.Message_ExecStatus_swigregister(Message_ExecStatus)
class Message_Level(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theName: str (optional, default to TCollection_AsciiString())

        Return
        -------
        None

        Description
        -----------
        Constructor. One string key is used for all alert meters. The perf meter is not started automatically, it will be done in AddAlert() method.

        """
        _Message.Message_Level_swiginit(self, _Message.new_Message_Level(*args))

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

        Parameters
        ----------
        theGravity: Message_Gravity
        theAlert: Message_Alert

        Return
        -------
        bool

        Description
        -----------
        Adds new alert on the level. Stops the last alert metric, appends the alert and starts the alert metrics collecting. Sets root alert beforehand this method using, if the root is NULL, it does nothing. 
        Parameter theGravity an alert gravity 
        Parameter theAlert an alert 
        Return: true if alert is added.

        """
        return _Message.Message_Level_AddAlert(self, *args)

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

        Description
        -----------
        Returns root alert of the level 
        Return: alert instance or NULL.

        """
        return _Message.Message_Level_RootAlert(self, *args)

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

        Parameters
        ----------
        theAlert: Message_AlertExtended
        isRequiredToStart: bool

        Return
        -------
        None

        Description
        -----------
        Sets the root alert. Starts collects alert metrics if active. 
        Parameter theAlert an alert.

        """
        return _Message.Message_Level_SetRootAlert(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Message.delete_Message_Level

# Register Message_Level in _Message:
_Message.Message_Level_swigregister(Message_Level)
class Message_Messenger(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; initializes by single printer directed to std::cout. Note: the default messenger is not empty but directed to cout in order to protect against possibility to forget defining printers. If printing to cout is not needed, clear messenger by GetPrinters().Clear().

        Parameters
        ----------
        thePrinter: Message_Printer

        Return
        -------
        None

        Description
        -----------
        Create messenger with single printer.

        """
        _Message.Message_Messenger_swiginit(self, _Message.new_Message_Messenger(*args))

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

        Parameters
        ----------
        thePrinter: Message_Printer

        Return
        -------
        bool

        Description
        -----------
        Add a printer to the messenger. The printer will be added only if it is not yet in the list. Returns True if printer has been added.

        """
        return _Message.Message_Messenger_AddPrinter(self, *args)

    def ChangePrinters(self, *args):
        r"""
        Return
        -------
        Message_SequenceOfPrinters

        Description
        -----------
        Returns sequence of printers The sequence can be modified.

        """
        return _Message.Message_Messenger_ChangePrinters(self, *args)

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _Message.Message_Messenger_DumpJson(self, depth)

    def Printers(self, *args):
        r"""
        Return
        -------
        Message_SequenceOfPrinters

        Description
        -----------
        Returns current sequence of printers.

        """
        return _Message.Message_Messenger_Printers(self, *args)

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

        Parameters
        ----------
        thePrinter: Message_Printer

        Return
        -------
        bool

        Description
        -----------
        Removes specified printer from the messenger. Returns True if this printer has been found in the list and removed.

        """
        return _Message.Message_Messenger_RemovePrinter(self, *args)

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

        Parameters
        ----------
        theType: Standard_Type

        Return
        -------
        int

        Description
        -----------
        Removes printers of specified type (including derived classes) from the messenger. Returns number of removed printers.

        """
        return _Message.Message_Messenger_RemovePrinters(self, *args)


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


    __repr__ = _dumps_object

    @methodnotwrapped
    def Send(self):
    	pass

    @methodnotwrapped
    def SendAlarm(self):
    	pass

    @methodnotwrapped
    def SendInfo(self):
    	pass

    @methodnotwrapped
    def SendTrace(self):
    	pass

    @methodnotwrapped
    def SendWarning(self):
    	pass

    @methodnotwrapped
    def SendFail(self):
    	pass

    __swig_destroy__ = _Message.delete_Message_Messenger

# Register Message_Messenger in _Message:
_Message.Message_Messenger_swigregister(Message_Messenger)
class Message_Msg(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        Parameters
        ----------
        theMsg: Message_Msg

        Return
        -------
        None

        Description
        -----------
        Copy constructor.

        Parameters
        ----------
        theKey: str

        Return
        -------
        None

        Description
        -----------
        Create a message using a corresponding entry in Message_MsgFile.

        Parameters
        ----------
        theKey: str

        Return
        -------
        None

        Description
        -----------
        Create a message using a corresponding entry in Message_MsgFile.

        """
        _Message.Message_Msg_swiginit(self, _Message.new_Message_Msg(*args))

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

        Parameters
        ----------
        theString: str

        Return
        -------
        Message_Msg

        Description
        -----------
        Set a value for %..s conversion.

        Parameters
        ----------
        theString: str

        Return
        -------
        Message_Msg

        Description
        -----------
        Set a value for %..s conversion.

        Parameters
        ----------
        theString: TCollection_HAsciiString

        Return
        -------
        Message_Msg

        Description
        -----------
        Set a value for %..s conversion.

        Parameters
        ----------
        theString: str

        Return
        -------
        Message_Msg

        Description
        -----------
        Set a value for %..s conversion.

        Parameters
        ----------
        theString: TCollection_HExtendedString

        Return
        -------
        Message_Msg

        Description
        -----------
        Set a value for %..s conversion.

        Parameters
        ----------
        theInt: int

        Return
        -------
        Message_Msg

        Description
        -----------
        Set a value for %..d, %..i, %..o, %..u, %..x or %..X conversion.

        Parameters
        ----------
        theReal: float

        Return
        -------
        Message_Msg

        Description
        -----------
        Set a value for %..f, %..e, %..E, %..g or %..G conversion.

        """
        return _Message.Message_Msg_Arg(self, *args)

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

        Description
        -----------
        Return the resulting message string with all parameters filled. If some parameters were not yet filled by calls to methods Arg (or <<), these parameters are filled by the word UNKNOWN.

        """
        return _Message.Message_Msg_Get(self, *args)

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

        Description
        -----------
        Tells if Value differs from Original.

        """
        return _Message.Message_Msg_IsEdited(self, *args)

    def Original(self, *args):
        r"""
        Return
        -------
        TCollection_ExtendedString

        Description
        -----------
        Returns the original message text.

        """
        return _Message.Message_Msg_Original(self, *args)

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

        Parameters
        ----------
        theMsg: str

        Return
        -------
        None

        Description
        -----------
        Set a message body text -- can be used as alternative to using messages from resource file.

        Parameters
        ----------
        theMsg: str

        Return
        -------
        None

        Description
        -----------
        Set a message body text -- can be used as alternative to using messages from resource file.

        """
        return _Message.Message_Msg_Set(self, *args)

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

        Description
        -----------
        Returns current state of the message text with parameters to the moment.

        """
        return _Message.Message_Msg_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Message.delete_Message_Msg

# Register Message_Msg in _Message:
_Message.Message_Msg_swigregister(Message_Msg)
class Message_MsgFile(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        key: str
        text: str

        Return
        -------
        bool

        Description
        -----------
        Adds new message to the map. Parameter <key> gives the key of the message, <text> defines the message itself. If there already was defined the message identified by the same keyword, it is replaced with the new one.

        """
        return _Message.Message_MsgFile_AddMsg(*args)

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

        Parameters
        ----------
        key: str

        Return
        -------
        bool

        Description
        -----------
        Returns True if message with specified keyword is registered.

        """
        return _Message.Message_MsgFile_HasMsg(*args)

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

        Parameters
        ----------
        theDirName: str
        theFileName: str

        Return
        -------
        bool

        Description
        -----------
        Load message file <theFileName> from directory <theDirName> or its sub-directory.

        """
        return _Message.Message_MsgFile_Load(*args)

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

        Parameters
        ----------
        theFName: str

        Return
        -------
        bool

        Description
        -----------
        Load the messages from the given file, additive to any previously loaded messages. Messages with same keywords, if already present, are replaced with the new ones.

        """
        return _Message.Message_MsgFile_LoadFile(*args)

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

        Parameters
        ----------
        theEnvName: str
        theFileName: str
        theLangExt: str (optional, default to )

        Return
        -------
        bool

        Description
        -----------
        Loads the messages from the file with name (without extension) given by environment variable. Extension of the file name is given separately. If its not defined, it is taken: - by default from environment CSF_LANGUAGE, - if not defined either, as 'us'. @name theEnvName environment variable name @name theFileName file name without language suffix @name theLangExt language file name extension 
        Return: True on success.

        """
        return _Message.Message_MsgFile_LoadFromEnv(*args)

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

        Parameters
        ----------
        theContent: str
        theLength: int (optional, default to -1)

        Return
        -------
        bool

        Description
        -----------
        Loads the messages from the given text buffer. 
        Parameter theContent string containing the messages 
        Parameter theLength length of the buffer;  when -1 specified - theContent will be considered as NULL-terminated string.

        """
        return _Message.Message_MsgFile_LoadFromString(*args)

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

        Parameters
        ----------
        key: str

        Return
        -------
        TCollection_ExtendedString

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

        Parameters
        ----------
        key: str

        Return
        -------
        TCollection_ExtendedString

        Description
        -----------
        Gives the text for the message identified by the keyword <key>. If there are no messages with such keyword defined, the error message is returned. In that case reference to static string is returned, it can be changed with next call(s) to Msg(). Note: The error message is constructed like 'Unknown message: <key>', and can itself be customized by defining message with key Message_Msg_BadKeyword.

        """
        return _Message.Message_MsgFile_Msg(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _Message.Message_MsgFile_swiginit(self, _Message.new_Message_MsgFile())
    __swig_destroy__ = _Message.delete_Message_MsgFile

# Register Message_MsgFile in _Message:
_Message.Message_MsgFile_swigregister(Message_MsgFile)
class Message_Printer(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    def GetTraceLevel(self, *args):
        r"""
        Return
        -------
        Message_Gravity

        Description
        -----------
        Return trace level used for filtering messages; messages with lover gravity will be ignored.

        """
        return _Message.Message_Printer_GetTraceLevel(self, *args)

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

        Parameters
        ----------
        theString: str
        theGravity: Message_Gravity

        Return
        -------
        None

        Description
        -----------
        Send a string message with specified trace level. The last Boolean argument is deprecated and unused. Default implementation redirects to send().

        Parameters
        ----------
        theString: str
        theGravity: Message_Gravity

        Return
        -------
        None

        Description
        -----------
        Send a string message with specified trace level. The last Boolean argument is deprecated and unused. Default implementation redirects to send().

        Parameters
        ----------
        theString: str
        theGravity: Message_Gravity

        Return
        -------
        None

        Description
        -----------
        Send a string message with specified trace level. The last Boolean argument is deprecated and unused. Default implementation redirects to send().

        """
        return _Message.Message_Printer_Send(self, *args)

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

        Parameters
        ----------
        theObject: Standard_Transient
        theGravity: Message_Gravity

        Return
        -------
        None

        Description
        -----------
        Send a string message with specified trace level. The object is converted to string in format: <object kind>: <object pointer>. Default implementation calls first method Send().

        """
        return _Message.Message_Printer_SendObject(self, *args)

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

        Parameters
        ----------
        theStream: std::stringstream
        theGravity: Message_Gravity

        Return
        -------
        None

        Description
        -----------
        Send a string message with specified trace level. Stream is converted to string value. Default implementation calls first method Send().

        """
        return _Message.Message_Printer_SendStringStream(self, *args)

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

        Parameters
        ----------
        theTraceLevel: Message_Gravity

        Return
        -------
        None

        Description
        -----------
        Set trace level used for filtering messages. By default, trace level is Message_Info, so that all messages are output.

        """
        return _Message.Message_Printer_SetTraceLevel(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Message.delete_Message_Printer

# Register Message_Printer in _Message:
_Message.Message_Printer_swigregister(Message_Printer)
class Message_ProgressIndicator(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

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

        Description
        -----------
        Returns total progress position ranged from 0 to 1. Should not be called concurrently while the progress is advancing, except from implementation of method Show().

        """
        return _Message.Message_ProgressIndicator_GetPosition(self, *args)

    @staticmethod
    def Start(*args):
        r"""
        Return
        -------
        Message_ProgressRange

        Description
        -----------
        Resets the indicator to zero, calls Reset(), and returns the range. This range refers to the scope that has no name and is initialized with max value 1 and step 1. Use this method to get the top level range for progress indication.

        Parameters
        ----------
        theProgress: Message_ProgressIndicator

        Return
        -------
        Message_ProgressRange

        Description
        -----------
        If argument is non-null handle, returns theProgress->Start(). Otherwise, returns dummy range that can be safely used in the algorithms but not bound to progress indicator.

        """
        return _Message.Message_ProgressIndicator_Start(*args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Message.delete_Message_ProgressIndicator

# Register Message_ProgressIndicator in _Message:
_Message.Message_ProgressIndicator_swigregister(Message_ProgressIndicator)
class Message_ProgressRange(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor of the empty range.

        Parameters
        ----------
        theOther: Message_ProgressRange

        Return
        -------
        None

        Description
        -----------
        Copy constructor disarms the source.

        """
        _Message.Message_ProgressRange_swiginit(self, _Message.new_Message_ProgressRange(*args))

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

        Description
        -----------
        Closes the current range and advances indicator.

        """
        return _Message.Message_ProgressRange_Close(self, *args)

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

        Description
        -----------
        Returns true if this progress range is attached to some indicator.

        """
        return _Message.Message_ProgressRange_IsActive(self, *args)

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

        Description
        -----------
        Returns false if ProgressIndicator signals UserBreak.

        """
        return _Message.Message_ProgressRange_More(self, *args)

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

        Description
        -----------
        Returns true if ProgressIndicator signals UserBreak.

        """
        return _Message.Message_ProgressRange_UserBreak(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Message.delete_Message_ProgressRange

# Register Message_ProgressRange in _Message:
_Message.Message_ProgressRange_swigregister(Message_ProgressRange)
class Message_Report(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.

        """
        _Message.Message_Report_swiginit(self, _Message.new_Message_Report(*args))

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

        Parameters
        ----------
        toActivate: bool
        theMessenger: Message_Messenger (optional, default to NULL)

        Return
        -------
        None

        Description
        -----------
        Creates an instance of Message_PrinterToReport with the current report and register it in messenger 
        Parameter toActivate if true, activated else deactivated 
        Parameter theMessenger the messenger. If it's NULL, the default messenger is used.

        """
        return _Message.Message_Report_ActivateInMessenger(self, *args)

    def ActiveMetrics(self, *args):
        r"""
        Return
        -------
        NCollection_IndexedMap<Message_MetricType>

        Description
        -----------
        Returns computed metrics when alerts are performed.

        """
        return _Message.Message_Report_ActiveMetrics(self, *args)

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

        Parameters
        ----------
        theGravity: Message_Gravity
        theAlert: Message_Alert

        Return
        -------
        None

        Description
        -----------
        Add alert with specified gravity. This method is thread-safe, i.e. alerts can be added from parallel threads safely.

        """
        return _Message.Message_Report_AddAlert(self, *args)

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

        Parameters
        ----------
        theLevel: Message_Level *
        theName: str

        Return
        -------
        None

        Description
        -----------
        Add new level of alerts 
        Parameter theLevel a level.

        """
        return _Message.Message_Report_AddLevel(self, *args)

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

        Description
        -----------
        Clears all collected alerts.

        Parameters
        ----------
        theGravity: Message_Gravity

        Return
        -------
        None

        Description
        -----------
        Clears collected alerts with specified gravity.

        Parameters
        ----------
        theType: Standard_Type

        Return
        -------
        None

        Description
        -----------
        Clears collected alerts with specified type.

        """
        return _Message.Message_Report_Clear(self, *args)

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

        Description
        -----------
        Removes all activated metrics.

        """
        return _Message.Message_Report_ClearMetrics(self, *args)

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

        Parameters
        ----------

        Return
        -------
        theOS: Standard_OStream

        Description
        -----------
        Dumps all collected alerts to stream.

        Parameters
        ----------
        theGravity: Message_Gravity

        Return
        -------
        theOS: Standard_OStream

        Description
        -----------
        Dumps collected alerts with specified gravity to stream.

        """
        return _Message.Message_Report_Dump(self, *args)

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _Message.Message_Report_DumpJson(self, depth)

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

        Parameters
        ----------
        theGravity: Message_Gravity

        Return
        -------
        Message_ListOfAlert

        Description
        -----------
        Returns list of collected alerts with specified gravity.

        """
        return _Message.Message_Report_GetAlerts(self, *args)

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

        Parameters
        ----------
        theType: Standard_Type

        Return
        -------
        bool

        Description
        -----------
        Returns true if specific type of alert is recorded.

        Parameters
        ----------
        theType: Standard_Type
        theGravity: Message_Gravity

        Return
        -------
        bool

        Description
        -----------
        Returns true if specific type of alert is recorded with specified gravity.

        """
        return _Message.Message_Report_HasAlert(self, *args)

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

        Parameters
        ----------
        theMessenger: Message_Messenger (optional, default to NULL)

        Return
        -------
        bool

        Description
        -----------
        Returns true if a report printer for the current report is registered in the messenger 
        Parameter theMessenger the messenger. If it's NULL, the default messenger is used.

        """
        return _Message.Message_Report_IsActiveInMessenger(self, *args)

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

        Description
        -----------
        Returns maximum number of collecting alerts. If the limit is achieved, first alert is removed, the new alert is added in the container. 
        Return: the limit value.

        """
        return _Message.Message_Report_Limit(self, *args)

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

        Parameters
        ----------
        theOther: Message_Report

        Return
        -------
        None

        Description
        -----------
        Merges data from theOther report into this.

        Parameters
        ----------
        theOther: Message_Report
        theGravity: Message_Gravity

        Return
        -------
        None

        Description
        -----------
        Merges alerts with specified gravity from theOther report into this.

        """
        return _Message.Message_Report_Merge(self, *args)

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

        Parameters
        ----------
        theLevel: Message_Level *

        Return
        -------
        None

        Description
        -----------
        Remove level of alerts.

        """
        return _Message.Message_Report_RemoveLevel(self, *args)

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

        Parameters
        ----------
        theMessenger: Message_Messenger

        Return
        -------
        None

        Description
        -----------
        Sends all collected alerts to messenger.

        Parameters
        ----------
        theMessenger: Message_Messenger
        theGravity: Message_Gravity

        Return
        -------
        None

        Description
        -----------
        Dumps collected alerts with specified gravity to messenger. Default implementation creates Message_Msg object with a message key returned by alert, and sends it in the messenger.

        """
        return _Message.Message_Report_SendMessages(self, *args)

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

        Parameters
        ----------
        theMetricType: Message_MetricType
        theActivate: bool

        Return
        -------
        None

        Description
        -----------
        Sets metrics to compute when alerts are performed 
        Parameter theMetrics container of metrics.

        """
        return _Message.Message_Report_SetActiveMetric(self, *args)

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

        Parameters
        ----------
        theLimit: int

        Return
        -------
        None

        Description
        -----------
        Sets maximum number of collecting alerts. 
        Parameter theLimit limit value.

        """
        return _Message.Message_Report_SetLimit(self, *args)

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

        Parameters
        ----------
        theMessenger: Message_Messenger (optional, default to NULL)

        Return
        -------
        None

        Description
        -----------
        Updates internal flag IsActiveInMessenger. It becomes true if messenger contains at least one instance of Message_PrinterToReport. 
        Parameter theMessenger the messenger. If it's NULL, the default messenger is used.

        """
        return _Message.Message_Report_UpdateActiveInMessenger(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Message.delete_Message_Report

# Register Message_Report in _Message:
_Message.Message_Report_swigregister(Message_Report)
class Message_AlertExtended(Message_Alert):
    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.

        """
        _Message.Message_AlertExtended_swiginit(self, _Message.new_Message_AlertExtended(*args))

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

        Parameters
        ----------
        theReport: Message_Report
        theAttribute: Message_Attribute
        theGravity: Message_Gravity

        Return
        -------
        opencascade::handle<Message_Alert>

        Description
        -----------
        Creates new instance of the alert and put it into report with Message_Info gravity. It does nothing if such kind of gravity is not active in the report 
        Parameter theReport the message report where new alert is placed 
        Parameter theAttribute container of additional values of the alert 
        Return: created alert or NULL if Message_Info is not active in report.

        """
        return _Message.Message_AlertExtended_AddAlert(*args)

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

        Description
        -----------
        Returns container of the alert attributes.

        """
        return _Message.Message_AlertExtended_Attribute(self, *args)

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

        Parameters
        ----------
        theToCreate: bool (optional, default to Standard_False)

        Return
        -------
        opencascade::handle<Message_CompositeAlerts>

        Description
        -----------
        Returns class provided hierarchy of alerts if created or create if the parameter is true 
        Parameter theToCreate if composite alert has not been created for this alert, it should be created 
        Return: instance or NULL.

        """
        return _Message.Message_AlertExtended_CompositeAlerts(self, *args)

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _Message.Message_AlertExtended_DumpJson(self, depth)

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

        Parameters
        ----------
        theAttribute: Message_Attribute

        Return
        -------
        None

        Description
        -----------
        Sets container of the alert attributes 
        Parameter theAttributes an attribute values.

        """
        return _Message.Message_AlertExtended_SetAttribute(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Message.delete_Message_AlertExtended

# Register Message_AlertExtended in _Message:
_Message.Message_AlertExtended_swigregister(Message_AlertExtended)
class Message_AttributeMeter(Message_Attribute):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theName: str (optional, default to TCollection_AsciiString())

        Return
        -------
        None

        Description
        -----------
        Constructor with string argument.

        """
        _Message.Message_AttributeMeter_swiginit(self, _Message.new_Message_AttributeMeter(*args))

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _Message.Message_AttributeMeter_DumpJson(self, depth)

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

        Parameters
        ----------
        theMetric: Message_MetricType

        Return
        -------
        bool

        Description
        -----------
        Checks whether the attribute has values for the metric 
        Input parameter: theMetric metric type 
        Return: true if the metric values exist in the attribute.

        """
        return _Message.Message_AttributeMeter_HasMetric(self, *args)

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

        Parameters
        ----------
        theMetric: Message_MetricType

        Return
        -------
        bool

        Description
        -----------
        Returns true when both values of the metric are set. 
        Input parameter: theMetric metric type 
        Return: true if metric values are valid.

        """
        return _Message.Message_AttributeMeter_IsMetricValid(self, *args)

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

        Parameters
        ----------
        theAlert: Message_AlertExtended
        theStartValue: bool

        Return
        -------
        None

        Description
        -----------
        Sets current values of default report metrics into the alert. Processed only alert with Message_AttributeMeter attribute 
        Parameter theAlert an alert 
        Parameter theStartValue flag, if true, the start value is collected otherwise stop.

        """
        return _Message.Message_AttributeMeter_SetAlertMetrics(*args)

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

        Parameters
        ----------
        theMetric: Message_MetricType
        theValue: float

        Return
        -------
        None

        Description
        -----------
        Sets start values for the metric 
        Input parameter: theMetric metric type.

        """
        return _Message.Message_AttributeMeter_SetStartValue(self, *args)

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

        Parameters
        ----------
        theMetric: Message_MetricType
        theValue: float

        Return
        -------
        None

        Description
        -----------
        Sets stop values for the metric 
        Input parameter: theMetric metric type.

        """
        return _Message.Message_AttributeMeter_SetStopValue(self, *args)

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

        Parameters
        ----------
        theAlert: Message_AlertExtended

        Return
        -------
        None

        Description
        -----------
        Sets start values of default report metrics into the alert 
        Parameter theAlert an alert.

        """
        return _Message.Message_AttributeMeter_StartAlert(*args)

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

        Parameters
        ----------
        theMetric: Message_MetricType

        Return
        -------
        float

        Description
        -----------
        Returns start value for the metric 
        Input parameter: theMetric metric type 
        Return: real value.

        """
        return _Message.Message_AttributeMeter_StartValue(self, *args)

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

        Parameters
        ----------
        theAlert: Message_AlertExtended

        Return
        -------
        None

        Description
        -----------
        Sets stop values of default report metrics into the alert 
        Parameter theAlert an alert.

        """
        return _Message.Message_AttributeMeter_StopAlert(*args)

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

        Parameters
        ----------
        theMetric: Message_MetricType

        Return
        -------
        float

        Description
        -----------
        Returns stop value for the metric 
        Input parameter: theMetric metric type 
        Return: real value.

        """
        return _Message.Message_AttributeMeter_StopValue(self, *args)

    @staticmethod
    def UndefinedMetricValue(*args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Returns default value of the metric when it is not defined 
        Return: undefined value.

        """
        return _Message.Message_AttributeMeter_UndefinedMetricValue(*args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Message.delete_Message_AttributeMeter

# Register Message_AttributeMeter in _Message:
_Message.Message_AttributeMeter_swigregister(Message_AttributeMeter)
class Message_AttributeObject(Message_Attribute):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theObject: Standard_Transient
        theName: str (optional, default to TCollection_AsciiString())

        Return
        -------
        None

        Description
        -----------
        Constructor with string argument.

        """
        _Message.Message_AttributeObject_swiginit(self, _Message.new_Message_AttributeObject(*args))

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _Message.Message_AttributeObject_DumpJson(self, depth)

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

        Description
        -----------
        Returns object 
        Return: the object instance.

        """
        return _Message.Message_AttributeObject_Object(self, *args)

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

        Parameters
        ----------
        theObject: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Sets the object 
        Parameter theObject an instance.

        """
        return _Message.Message_AttributeObject_SetObject(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Message.delete_Message_AttributeObject

# Register Message_AttributeObject in _Message:
_Message.Message_AttributeObject_swigregister(Message_AttributeObject)
class Message_AttributeStream(Message_Attribute):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theStream: std::stringstream
        theName: str (optional, default to TCollection_AsciiString())

        Return
        -------
        None

        Description
        -----------
        Constructor with string argument.

        """
        _Message.Message_AttributeStream_swiginit(self, _Message.new_Message_AttributeStream(*args))

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _Message.Message_AttributeStream_DumpJson(self, depth)

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

        Parameters
        ----------
        theStream: std::stringstream

        Return
        -------
        None

        Description
        -----------
        Sets stream value.

        """
        return _Message.Message_AttributeStream_SetStream(self, *args)

    def Stream(self, *args):
        r"""
        Return
        -------
        Standard_SStream

        Description
        -----------
        Returns stream value.

        """
        return _Message.Message_AttributeStream_Stream(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Message.delete_Message_AttributeStream

# Register Message_AttributeStream in _Message:
_Message.Message_AttributeStream_swigregister(Message_AttributeStream)
class Message_PrinterOStream(Message_Printer):
    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
        ----------
        theTraceLevel: Message_Gravity (optional, default to Message_Info)

        Return
        -------
        None

        Description
        -----------
        Empty constructor, defaulting to cout.

        Parameters
        ----------
        theFileName: str
        theDoAppend: bool
        theTraceLevel: Message_Gravity (optional, default to Message_Info)

        Return
        -------
        None

        Description
        -----------
        Create printer for output to a specified file. The option theDoAppend specifies whether file should be appended or rewritten. For specific file names (cout, cerr) standard streams are used.

        """
        _Message.Message_PrinterOStream_swiginit(self, _Message.new_Message_PrinterOStream(*args))

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

        Description
        -----------
        Flushes the output stream and destroys it if it has been specified externally with option doFree (or if it is internal file stream).

        """
        return _Message.Message_PrinterOStream_Close(self, *args)

    def GetStream(self, *args):
        r"""
        Return
        -------
        Standard_OStream

        Description
        -----------
        Returns reference to the output stream.

        """
        return _Message.Message_PrinterOStream_GetStream(self, *args)

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

        Parameters
        ----------
        theOStream: Standard_OStream *
        theTextColor: Message_ConsoleColor
        theIsIntenseText: bool (optional, default to false)

        Return
        -------
        None

        Description
        -----------
        Setup console text color. //! On Windows, this would affect active terminal color output. On other systems, this would put special terminal codes; the terminal should support these codes or them will appear in text otherwise. The same will happen when stream is redirected into text file. //! Beware that within multi-threaded environment inducing console colors might lead to colored text mixture due to concurrency.

        """
        return _Message.Message_PrinterOStream_SetConsoleTextColor(*args)

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

        Parameters
        ----------
        theToColorize: bool

        Return
        -------
        None

        Description
        -----------
        Set if text output into console should be colorized depending on message gravity.

        """
        return _Message.Message_PrinterOStream_SetToColorize(self, *args)

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

        Description
        -----------
        Returns True if text output into console should be colorized depending on message gravity; True by default.

        """
        return _Message.Message_PrinterOStream_ToColorize(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Message.delete_Message_PrinterOStream

# Register Message_PrinterOStream in _Message:
_Message.Message_PrinterOStream_swigregister(Message_PrinterOStream)
class Message_PrinterSystemLog(Message_Printer):
    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
        ----------
        theEventSourceName: str
        theTraceLevel: Message_Gravity (optional, default to Message_Info)

        Return
        -------
        None

        Description
        -----------
        Main constructor.

        """
        _Message.Message_PrinterSystemLog_swiginit(self, _Message.new_Message_PrinterSystemLog(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Message.delete_Message_PrinterSystemLog

# Register Message_PrinterSystemLog in _Message:
_Message.Message_PrinterSystemLog_swigregister(Message_PrinterSystemLog)
class Message_PrinterToReport(Message_Printer):
    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
        -----------
        Create printer for redirecting messages into report.

        """
        _Message.Message_PrinterToReport_swiginit(self, _Message.new_Message_PrinterToReport(*args))

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

        Description
        -----------
        Returns the current or default report.

        """
        return _Message.Message_PrinterToReport_Report(self, *args)

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

        Parameters
        ----------
        theReport: Message_Report

        Return
        -------
        None

        Description
        -----------
        Sets the printer report 
        Parameter theReport report for messages processing, if NULL, the default report is used.

        """
        return _Message.Message_PrinterToReport_SetReport(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Message.delete_Message_PrinterToReport

# Register Message_PrinterToReport in _Message:
_Message.Message_PrinterToReport_swigregister(Message_PrinterToReport)
class Message_ProgressSentry(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theRange: Message_ProgressRange
        theName: str
        theMin: float
        theMax: float
        theStep: float
        theIsInf: bool (optional, default to Standard_False)
        theNewScopeSpan: float (optional, default to 0.0)

        Return
        -------
        None

        Description
        -----------
        Deprecated constructor, Message_ProgressScope should be created instead.

        """
        _Message.Message_ProgressSentry_swiginit(self, _Message.new_Message_ProgressSentry(*args))

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

        Description
        -----------
        Method Relieve() was replaced by Close() in Message_ProgressScope.

        """
        return _Message.Message_ProgressSentry_Relieve(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Message.delete_Message_ProgressSentry

# Register Message_ProgressSentry in _Message:
_Message.Message_ProgressSentry_swigregister(Message_ProgressSentry)

@classnotwrapped
class Message_ProgressScope:
	pass

@classnotwrapped
class Message_LazyProgressScope:
	pass





@deprecated
def message_DefaultMessenger(*args):
	return message.DefaultMessenger(*args)

@deprecated
def message_DefaultReport(*args):
	return message.DefaultReport(*args)

@deprecated
def message_FillTime(*args):
	return message.FillTime(*args)

@deprecated
def message_MetricFromString(*args):
	return message.MetricFromString(*args)

@deprecated
def message_MetricFromString(*args):
	return message.MetricFromString(*args)

@deprecated
def message_MetricToString(*args):
	return message.MetricToString(*args)

@deprecated
def message_ToMessageMetric(*args):
	return message.ToMessageMetric(*args)

@deprecated
def message_ToOSDMetric(*args):
	return message.ToOSDMetric(*args)

@deprecated
def Message_Algorithm_PrepareReport(*args):
	return Message_Algorithm.PrepareReport(*args)

@deprecated
def Message_Algorithm_PrepareReport(*args):
	return Message_Algorithm.PrepareReport(*args)

@deprecated
def Message_ExecStatus_LocalStatusIndex(*args):
	return Message_ExecStatus.LocalStatusIndex(*args)

@deprecated
def Message_ExecStatus_StatusByIndex(*args):
	return Message_ExecStatus.StatusByIndex(*args)

@deprecated
def Message_ExecStatus_StatusIndex(*args):
	return Message_ExecStatus.StatusIndex(*args)

@deprecated
def Message_ExecStatus_TypeOfStatus(*args):
	return Message_ExecStatus.TypeOfStatus(*args)

@deprecated
def Message_MsgFile_AddMsg(*args):
	return Message_MsgFile.AddMsg(*args)

@deprecated
def Message_MsgFile_HasMsg(*args):
	return Message_MsgFile.HasMsg(*args)

@deprecated
def Message_MsgFile_Load(*args):
	return Message_MsgFile.Load(*args)

@deprecated
def Message_MsgFile_LoadFile(*args):
	return Message_MsgFile.LoadFile(*args)

@deprecated
def Message_MsgFile_LoadFromEnv(*args):
	return Message_MsgFile.LoadFromEnv(*args)

@deprecated
def Message_MsgFile_LoadFromString(*args):
	return Message_MsgFile.LoadFromString(*args)

@deprecated
def Message_MsgFile_Msg(*args):
	return Message_MsgFile.Msg(*args)

@deprecated
def Message_MsgFile_Msg(*args):
	return Message_MsgFile.Msg(*args)

@deprecated
def Message_ProgressIndicator_Start(*args):
	return Message_ProgressIndicator.Start(*args)

@deprecated
def Message_AlertExtended_AddAlert(*args):
	return Message_AlertExtended.AddAlert(*args)

@deprecated
def Message_AttributeMeter_SetAlertMetrics(*args):
	return Message_AttributeMeter.SetAlertMetrics(*args)

@deprecated
def Message_AttributeMeter_StartAlert(*args):
	return Message_AttributeMeter.StartAlert(*args)

@deprecated
def Message_AttributeMeter_StopAlert(*args):
	return Message_AttributeMeter.StopAlert(*args)

@deprecated
def Message_AttributeMeter_UndefinedMetricValue(*args):
	return Message_AttributeMeter.UndefinedMetricValue(*args)

@deprecated
def Message_PrinterOStream_SetConsoleTextColor(*args):
	return Message_PrinterOStream.SetConsoleTextColor(*args)



