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

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

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

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


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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    def __sub__(self, *args) -> "ptrdiff_t":
        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: "Standard_Failure", method_name: "std::string", class_name: "std::string") -> "void":
    return _Message.process_exception(error, method_name, class_name)

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

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.TCollection
import OCC.Core.OSD
import OCC.Core.TColStd

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

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_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_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_DONE = _Message.Message_DONE
Message_WARN = _Message.Message_WARN
Message_ALARM = _Message.Message_ALARM
Message_FAIL = _Message.Message_FAIL


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_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_MemPrivate = 5
	Message_MetricType_MemVirtual = 6
	Message_MetricType_MemWorkingSet = 7
	Message_MetricType_MemWorkingSetPeak = 8
	Message_MetricType_MemSwapUsage = 9
	Message_MetricType_MemSwapUsagePeak = 10
	Message_MetricType_MemHeapUsage = 11
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_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_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() -> "opencascade::handle< Message_Alert >":
    return _Message.Handle_Message_Alert_Create()

def Handle_Message_Alert_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Message_Alert >":
    return _Message.Handle_Message_Alert_DownCast(t)

def Handle_Message_Alert_IsNull(t: "opencascade::handle< Message_Alert > const &") -> "bool":
    return _Message.Handle_Message_Alert_IsNull(t)

def Handle_Message_Algorithm_Create() -> "opencascade::handle< Message_Algorithm >":
    return _Message.Handle_Message_Algorithm_Create()

def Handle_Message_Algorithm_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Message_Algorithm >":
    return _Message.Handle_Message_Algorithm_DownCast(t)

def Handle_Message_Algorithm_IsNull(t: "opencascade::handle< Message_Algorithm > const &") -> "bool":
    return _Message.Handle_Message_Algorithm_IsNull(t)

def Handle_Message_Attribute_Create() -> "opencascade::handle< Message_Attribute >":
    return _Message.Handle_Message_Attribute_Create()

def Handle_Message_Attribute_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Message_Attribute >":
    return _Message.Handle_Message_Attribute_DownCast(t)

def Handle_Message_Attribute_IsNull(t: "opencascade::handle< Message_Attribute > const &") -> "bool":
    return _Message.Handle_Message_Attribute_IsNull(t)

def Handle_Message_CompositeAlerts_Create() -> "opencascade::handle< Message_CompositeAlerts >":
    return _Message.Handle_Message_CompositeAlerts_Create()

def Handle_Message_CompositeAlerts_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Message_CompositeAlerts >":
    return _Message.Handle_Message_CompositeAlerts_DownCast(t)

def Handle_Message_CompositeAlerts_IsNull(t: "opencascade::handle< Message_CompositeAlerts > const &") -> "bool":
    return _Message.Handle_Message_CompositeAlerts_IsNull(t)

def Handle_Message_Messenger_Create() -> "opencascade::handle< Message_Messenger >":
    return _Message.Handle_Message_Messenger_Create()

def Handle_Message_Messenger_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Message_Messenger >":
    return _Message.Handle_Message_Messenger_DownCast(t)

def Handle_Message_Messenger_IsNull(t: "opencascade::handle< Message_Messenger > const &") -> "bool":
    return _Message.Handle_Message_Messenger_IsNull(t)

def Handle_Message_Printer_Create() -> "opencascade::handle< Message_Printer >":
    return _Message.Handle_Message_Printer_Create()

def Handle_Message_Printer_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Message_Printer >":
    return _Message.Handle_Message_Printer_DownCast(t)

def Handle_Message_Printer_IsNull(t: "opencascade::handle< Message_Printer > const &") -> "bool":
    return _Message.Handle_Message_Printer_IsNull(t)

def Handle_Message_ProgressIndicator_Create() -> "opencascade::handle< Message_ProgressIndicator >":
    return _Message.Handle_Message_ProgressIndicator_Create()

def Handle_Message_ProgressIndicator_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Message_ProgressIndicator >":
    return _Message.Handle_Message_ProgressIndicator_DownCast(t)

def Handle_Message_ProgressIndicator_IsNull(t: "opencascade::handle< Message_ProgressIndicator > const &") -> "bool":
    return _Message.Handle_Message_ProgressIndicator_IsNull(t)

def Handle_Message_Report_Create() -> "opencascade::handle< Message_Report >":
    return _Message.Handle_Message_Report_Create()

def Handle_Message_Report_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Message_Report >":
    return _Message.Handle_Message_Report_DownCast(t)

def Handle_Message_Report_IsNull(t: "opencascade::handle< Message_Report > const &") -> "bool":
    return _Message.Handle_Message_Report_IsNull(t)

def Handle_Message_AlertExtended_Create() -> "opencascade::handle< Message_AlertExtended >":
    return _Message.Handle_Message_AlertExtended_Create()

def Handle_Message_AlertExtended_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Message_AlertExtended >":
    return _Message.Handle_Message_AlertExtended_DownCast(t)

def Handle_Message_AlertExtended_IsNull(t: "opencascade::handle< Message_AlertExtended > const &") -> "bool":
    return _Message.Handle_Message_AlertExtended_IsNull(t)

def Handle_Message_AttributeMeter_Create() -> "opencascade::handle< Message_AttributeMeter >":
    return _Message.Handle_Message_AttributeMeter_Create()

def Handle_Message_AttributeMeter_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Message_AttributeMeter >":
    return _Message.Handle_Message_AttributeMeter_DownCast(t)

def Handle_Message_AttributeMeter_IsNull(t: "opencascade::handle< Message_AttributeMeter > const &") -> "bool":
    return _Message.Handle_Message_AttributeMeter_IsNull(t)

def Handle_Message_AttributeObject_Create() -> "opencascade::handle< Message_AttributeObject >":
    return _Message.Handle_Message_AttributeObject_Create()

def Handle_Message_AttributeObject_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Message_AttributeObject >":
    return _Message.Handle_Message_AttributeObject_DownCast(t)

def Handle_Message_AttributeObject_IsNull(t: "opencascade::handle< Message_AttributeObject > const &") -> "bool":
    return _Message.Handle_Message_AttributeObject_IsNull(t)

def Handle_Message_AttributeStream_Create() -> "opencascade::handle< Message_AttributeStream >":
    return _Message.Handle_Message_AttributeStream_Create()

def Handle_Message_AttributeStream_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Message_AttributeStream >":
    return _Message.Handle_Message_AttributeStream_DownCast(t)

def Handle_Message_AttributeStream_IsNull(t: "opencascade::handle< Message_AttributeStream > const &") -> "bool":
    return _Message.Handle_Message_AttributeStream_IsNull(t)

def Handle_Message_PrinterOStream_Create() -> "opencascade::handle< Message_PrinterOStream >":
    return _Message.Handle_Message_PrinterOStream_Create()

def Handle_Message_PrinterOStream_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Message_PrinterOStream >":
    return _Message.Handle_Message_PrinterOStream_DownCast(t)

def Handle_Message_PrinterOStream_IsNull(t: "opencascade::handle< Message_PrinterOStream > const &") -> "bool":
    return _Message.Handle_Message_PrinterOStream_IsNull(t)

def Handle_Message_PrinterSystemLog_Create() -> "opencascade::handle< Message_PrinterSystemLog >":
    return _Message.Handle_Message_PrinterSystemLog_Create()

def Handle_Message_PrinterSystemLog_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Message_PrinterSystemLog >":
    return _Message.Handle_Message_PrinterSystemLog_DownCast(t)

def Handle_Message_PrinterSystemLog_IsNull(t: "opencascade::handle< Message_PrinterSystemLog > const &") -> "bool":
    return _Message.Handle_Message_PrinterSystemLog_IsNull(t)

def Handle_Message_PrinterToReport_Create() -> "opencascade::handle< Message_PrinterToReport >":
    return _Message.Handle_Message_PrinterToReport_Create()

def Handle_Message_PrinterToReport_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Message_PrinterToReport >":
    return _Message.Handle_Message_PrinterToReport_DownCast(t)

def Handle_Message_PrinterToReport_IsNull(t: "opencascade::handle< Message_PrinterToReport > const &") -> "bool":
    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) -> "Standard_Boolean":
        return _Message.Message_ListIteratorOfListOfMsg_More(self)

    def Next(self) -> "void":
        return _Message.Message_ListIteratorOfListOfMsg_Next(self)

    def Value(self) -> "Message_Msg const &":
        return _Message.Message_ListIteratorOfListOfMsg_Value(self)

    def ChangeValue(self) -> "Message_Msg &":
        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(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self) -> "NCollection_List< opencascade::handle< Message_Alert > >::iterator":
        return _Message.Message_ListOfAlert_begin(self)

    def end(self) -> "NCollection_List< opencascade::handle< Message_Alert > >::iterator":
        return _Message.Message_ListOfAlert_end(self)

    def cbegin(self) -> "NCollection_List< opencascade::handle< Message_Alert > >::const_iterator":
        return _Message.Message_ListOfAlert_cbegin(self)

    def cend(self) -> "NCollection_List< opencascade::handle< Message_Alert > >::const_iterator":
        return _Message.Message_ListOfAlert_cend(self)

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

    def Size(self) -> "Standard_Integer":
        return _Message.Message_ListOfAlert_Size(self)

    def Assign(self, theOther: "Message_ListOfAlert") -> "NCollection_List< opencascade::handle< Message_Alert > > &":
        return _Message.Message_ListOfAlert_Assign(self, theOther)

    def Set(self, theOther: "Message_ListOfAlert") -> "NCollection_List< opencascade::handle< Message_Alert > > &":
        return _Message.Message_ListOfAlert_Set(self, theOther)

    def Clear(self, theAllocator: "opencascade::handle< NCollection_BaseAllocator > const &"=0) -> "void":
        return _Message.Message_ListOfAlert_Clear(self, theAllocator)

    def First(self) -> "opencascade::handle< Message_Alert > const &":
        return _Message.Message_ListOfAlert_First(self)

    def Last(self) -> "opencascade::handle< Message_Alert > const &":
        return _Message.Message_ListOfAlert_Last(self)

    def Append(self, *args) -> "void":
        return _Message.Message_ListOfAlert_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _Message.Message_ListOfAlert_Prepend(self, *args)

    def RemoveFirst(self) -> "void":
        return _Message.Message_ListOfAlert_RemoveFirst(self)

    def Remove(self, theIter: "NCollection_List< opencascade::handle< Message_Alert > >::Iterator &") -> "void":
        return _Message.Message_ListOfAlert_Remove(self, theIter)

    def InsertBefore(self, *args) -> "void":
        return _Message.Message_ListOfAlert_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _Message.Message_ListOfAlert_InsertAfter(self, *args)

    def Reverse(self) -> "void":
        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(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self) -> "NCollection_List< Message_Msg >::iterator":
        return _Message.Message_ListOfMsg_begin(self)

    def end(self) -> "NCollection_List< Message_Msg >::iterator":
        return _Message.Message_ListOfMsg_end(self)

    def cbegin(self) -> "NCollection_List< Message_Msg >::const_iterator":
        return _Message.Message_ListOfMsg_cbegin(self)

    def cend(self) -> "NCollection_List< Message_Msg >::const_iterator":
        return _Message.Message_ListOfMsg_cend(self)

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

    def Size(self) -> "Standard_Integer":
        return _Message.Message_ListOfMsg_Size(self)

    def Assign(self, theOther: "Message_ListOfMsg") -> "NCollection_List< Message_Msg > &":
        return _Message.Message_ListOfMsg_Assign(self, theOther)

    def Set(self, theOther: "Message_ListOfMsg") -> "NCollection_List< Message_Msg > &":
        return _Message.Message_ListOfMsg_Set(self, theOther)

    def Clear(self, theAllocator: "opencascade::handle< NCollection_BaseAllocator > const &"=0) -> "void":
        return _Message.Message_ListOfMsg_Clear(self, theAllocator)

    def First(self) -> "Message_Msg const &":
        return _Message.Message_ListOfMsg_First(self)

    def Last(self) -> "Message_Msg const &":
        return _Message.Message_ListOfMsg_Last(self)

    def Append(self, *args) -> "void":
        return _Message.Message_ListOfMsg_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _Message.Message_ListOfMsg_Prepend(self, *args)

    def RemoveFirst(self) -> "void":
        return _Message.Message_ListOfMsg_RemoveFirst(self)

    def Remove(self, theIter: "Message_ListIteratorOfListOfMsg") -> "void":
        return _Message.Message_ListOfMsg_Remove(self, theIter)

    def InsertBefore(self, *args) -> "void":
        return _Message.Message_ListOfMsg_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _Message.Message_ListOfMsg_InsertAfter(self, *args)

    def Reverse(self) -> "void":
        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) -> "NCollection_Sequence< opencascade::handle< Message_Printer > >::iterator":
        return _Message.Message_SequenceOfPrinters_begin(self)

    def end(self) -> "NCollection_Sequence< opencascade::handle< Message_Printer > >::iterator":
        return _Message.Message_SequenceOfPrinters_end(self)

    def cbegin(self) -> "NCollection_Sequence< opencascade::handle< Message_Printer > >::const_iterator":
        return _Message.Message_SequenceOfPrinters_cbegin(self)

    def cend(self) -> "NCollection_Sequence< opencascade::handle< Message_Printer > >::const_iterator":
        return _Message.Message_SequenceOfPrinters_cend(self)

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

    def Size(self) -> "Standard_Integer":
        return _Message.Message_SequenceOfPrinters_Size(self)

    def Length(self) -> "Standard_Integer":
        return _Message.Message_SequenceOfPrinters_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _Message.Message_SequenceOfPrinters_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _Message.Message_SequenceOfPrinters_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _Message.Message_SequenceOfPrinters_IsEmpty(self)

    def Reverse(self) -> "void":
        return _Message.Message_SequenceOfPrinters_Reverse(self)

    def Exchange(self, I: "Standard_Integer const", J: "Standard_Integer const") -> "void":
        return _Message.Message_SequenceOfPrinters_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
        return _Message.Message_SequenceOfPrinters_delNode(theNode, theAl)

    def Clear(self, theAllocator: "opencascade::handle< NCollection_BaseAllocator > const &"=0) -> "void":
        return _Message.Message_SequenceOfPrinters_Clear(self, theAllocator)

    def Assign(self, theOther: "Message_SequenceOfPrinters") -> "NCollection_Sequence< opencascade::handle< Message_Printer > > &":
        return _Message.Message_SequenceOfPrinters_Assign(self, theOther)

    def Set(self, theOther: "Message_SequenceOfPrinters") -> "NCollection_Sequence< opencascade::handle< Message_Printer > > &":
        return _Message.Message_SequenceOfPrinters_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _Message.Message_SequenceOfPrinters_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _Message.Message_SequenceOfPrinters_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _Message.Message_SequenceOfPrinters_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _Message.Message_SequenceOfPrinters_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _Message.Message_SequenceOfPrinters_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "Message_SequenceOfPrinters") -> "void":
        return _Message.Message_SequenceOfPrinters_Split(self, theIndex, theSeq)

    def First(self) -> "opencascade::handle< Message_Printer > const &":
        return _Message.Message_SequenceOfPrinters_First(self)

    def ChangeFirst(self) -> "opencascade::handle< Message_Printer > &":
        return _Message.Message_SequenceOfPrinters_ChangeFirst(self)

    def Last(self) -> "opencascade::handle< Message_Printer > const &":
        return _Message.Message_SequenceOfPrinters_Last(self)

    def ChangeLast(self) -> "opencascade::handle< Message_Printer > &":
        return _Message.Message_SequenceOfPrinters_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "opencascade::handle< Message_Printer > const &":
        return _Message.Message_SequenceOfPrinters_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "opencascade::handle< Message_Printer > &":
        return _Message.Message_SequenceOfPrinters_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "opencascade::handle< Message_Printer > &":
        return _Message.Message_SequenceOfPrinters___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "opencascade::handle< Message_Printer > const &") -> "void":
        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)

def Message_SequenceOfPrinters_delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
    return _Message.Message_SequenceOfPrinters_delNode(theNode, theAl)

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) -> "opencascade::handle< Message_Messenger > const &":
        r"""
        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: @begincode 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.

        Returns
        -------
        opencascade::handle<Message_Messenger>

        """
        return _Message.message_DefaultMessenger(*args)

    @staticmethod
    def DefaultReport(*args) -> "opencascade::handle< Message_Report > const &":
        r"""
        Returns the only one instance of report when thetocreate is true - automatically creates message report when not exist.

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

        Returns
        -------
        opencascade::handle<Message_Report>

        """
        return _Message.message_DefaultReport(*args)

    @staticmethod
    def FillTime(*args) -> "TCollection_AsciiString":
        r"""
        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'.

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

        Returns
        -------
        TCollection_AsciiString

        """
        return _Message.message_FillTime(*args)

    @staticmethod
    def MetricFromString(*args) -> "Message_MetricType":
        r"""
        Determines the metric from the given string identifier. @param thestring string identifier @param thetype detected type of metric returns true if string identifier is known.

        Parameters
        ----------
        theString: char *
        theType: Message_MetricType

        Returns
        -------
        bool
        Returns the metric type from the given string identifier. @param thestring string identifier returns metric type or message_metrictype_none if string identifier is invalid.

        Parameters
        ----------
        theString: char *

        Returns
        -------
        Message_MetricType

        """
        return _Message.message_MetricFromString(*args)

    @staticmethod
    def MetricToString(*args) -> "char const *":
        r"""
        Returns the string name for a given metric type. @param thetype metric type returns string identifier from the list of message_metrictype.

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

        Returns
        -------
        char *

        """
        return _Message.message_MetricToString(*args)

    @staticmethod
    def ToMessageMetric(*args) -> "Standard_Boolean":
        r"""
        Converts osd memory info type to message metric. @param thememinfo [int] memory info type @param themetric [out] filled message metric returns true if converted.

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

        Returns
        -------
        bool

        """
        return _Message.message_ToMessageMetric(*args)

    @staticmethod
    def ToOSDMetric(*args) -> "Standard_Boolean":
        r"""
        Converts message metric to osd memory info type. @param themetric [in] message metric @param thememinfo [out] filled memory info type returns true if converted.

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

        Returns
        -------
        bool

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

def message_DefaultMessenger(*args) -> "opencascade::handle< Message_Messenger > const &":
    r"""
    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: @begincode 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.

    Returns
    -------
    opencascade::handle<Message_Messenger>

    """
    return _Message.message_DefaultMessenger(*args)

def message_DefaultReport(*args) -> "opencascade::handle< Message_Report > const &":
    r"""
    Returns the only one instance of report when thetocreate is true - automatically creates message report when not exist.

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

    Returns
    -------
    opencascade::handle<Message_Report>

    """
    return _Message.message_DefaultReport(*args)

def message_FillTime(*args) -> "TCollection_AsciiString":
    r"""
    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'.

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

    Returns
    -------
    TCollection_AsciiString

    """
    return _Message.message_FillTime(*args)

def message_MetricFromString(*args) -> "Message_MetricType":
    r"""
    Determines the metric from the given string identifier. @param thestring string identifier @param thetype detected type of metric returns true if string identifier is known.

    Parameters
    ----------
    theString: char *
    theType: Message_MetricType

    Returns
    -------
    bool
    Returns the metric type from the given string identifier. @param thestring string identifier returns metric type or message_metrictype_none if string identifier is invalid.

    Parameters
    ----------
    theString: char *

    Returns
    -------
    Message_MetricType

    """
    return _Message.message_MetricFromString(*args)

def message_MetricToString(*args) -> "char const *":
    r"""
    Returns the string name for a given metric type. @param thetype metric type returns string identifier from the list of message_metrictype.

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

    Returns
    -------
    char *

    """
    return _Message.message_MetricToString(*args)

def message_ToMessageMetric(*args) -> "Standard_Boolean":
    r"""
    Converts osd memory info type to message metric. @param thememinfo [int] memory info type @param themetric [out] filled message metric returns true if converted.

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

    Returns
    -------
    bool

    """
    return _Message.message_ToMessageMetric(*args)

def message_ToOSDMetric(*args) -> "Standard_Boolean":
    r"""
    Converts message metric to osd memory info type. @param themetric [in] message metric @param thememinfo [out] filled memory info type returns true if converted.

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

    Returns
    -------
    bool

    """
    return _Message.message_ToOSDMetric(*args)

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 DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Message_Alert self, int depth=-1) -> std::string"""
        return _Message.Message_Alert_DumpJsonToString(self, depth)

    def GetMessageKey(self, *args) -> "char const *":
        r"""
        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.

        Returns
        -------
        char *

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

    def Merge(self, *args) -> "Standard_Boolean":
        r"""
        If possible, merge data contained in this alert to thetarget. returns true if merged. base implementation always returns true.

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

        Returns
        -------
        bool

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

    def SupportsMerge(self, *args) -> "Standard_Boolean":
        r"""
        Return true if this type of alert can be merged with other of the same type to avoid duplication. basis implementation returns true.

        Returns
        -------
        bool

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


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


    __repr__ = _dumps_object


    def __init__(self):
        r"""__init__(Message_Alert self) -> Message_Alert"""
        _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"""
        Empty constructor.

        Returns
        -------
        None

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

    def AddStatus(self, *args) -> "void":
        r"""
        Add statuses to this algorithm from other algorithm (including messages).

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

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

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

        Returns
        -------
        None

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

    def ChangeStatus(self, *args) -> "Message_ExecStatus &":
        r"""
        Returns exec status of algorithm.

        Returns
        -------
        Message_ExecStatus

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

    def ClearStatus(self, *args) -> "void":
        r"""
        Clear exec status of algorithm.

        Returns
        -------
        None

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

    def GetMessageNumbers(self, *args) -> "opencascade::handle< TColStd_HPackedMapOfInteger >":
        r"""
        Return the numbers associated with the indicated status; null handle if no such status or no numbers associated with it.

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

        Returns
        -------
        opencascade::handle<TColStd_HPackedMapOfInteger>

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

    def GetMessageStrings(self, *args) -> "opencascade::handle< TColStd_HSequenceOfHExtendedString >":
        r"""
        Return the strings associated with the indicated status; null handle if no such status or no strings associated with it.

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

        Returns
        -------
        opencascade::handle<TColStd_HSequenceOfHExtendedString>

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

    def GetMessenger(self, *args) -> "opencascade::handle< Message_Messenger >":
        r"""
        Returns messenger of algorithm. the returned handle is always non-null and can be used for sending messages.

        Returns
        -------
        opencascade::handle<Message_Messenger>

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

    def GetStatus(self, *args) -> "Message_ExecStatus const &":
        r"""
        Returns copy of exec status of algorithm.

        Returns
        -------
        Message_ExecStatus

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

    @staticmethod
    def PrepareReport(*args) -> "TCollection_ExtendedString":
        r"""
        Prepares a string containing a list of integers contained in theerror map, but not more than themaxcount.

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

        Returns
        -------
        TCollection_ExtendedString
        Prepares a string containing a list of names contained in thereportseq sequence, but not more than themaxcount.

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

        Returns
        -------
        TCollection_ExtendedString

        """
        return _Message.Message_Algorithm_PrepareReport(*args)

    def SendMessages(self, *args) -> "void":
        r"""
        Convenient variant of sendstatusmessages() with thefilter having defined all warn, alarm, and fail (but not done) status flags.

        Parameters
        ----------
        theTraceLevel: Message_Gravity,optional
        	default value is Message_Warning
        theMaxCount: int,optional
        	default value is 20

        Returns
        -------
        None

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

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

        Parameters
        ----------
        theFilter: Message_ExecStatus
        theTraceLevel: Message_Gravity,optional
        	default value is Message_Warning
        theMaxCount: int,optional
        	default value is 20

        Returns
        -------
        None

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

    def SetMessenger(self, *args) -> "void":
        r"""
        Sets messenger to algorithm.

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

        Returns
        -------
        None

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

    def SetStatus(self, *args) -> "void":
        r"""
        Sets status with no parameter.

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

        Returns
        -------
        None
        Sets status with integer parameter.

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

        Returns
        -------
        None
        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: char *
        noRepetitions: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        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_AsciiString
        noRepetitions: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        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 value is Standard_True

        Returns
        -------
        None
        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_ExtendedString
        noRepetitions: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        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 value is Standard_True

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

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

        Returns
        -------
        None

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

def Message_Algorithm_PrepareReport(*args) -> "TCollection_ExtendedString":
    r"""
    Prepares a string containing a list of integers contained in theerror map, but not more than themaxcount.

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

    Returns
    -------
    TCollection_ExtendedString
    Prepares a string containing a list of names contained in thereportseq sequence, but not more than themaxcount.

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

    Returns
    -------
    TCollection_ExtendedString

    """
    return _Message.Message_Algorithm_PrepareReport(*args)

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"""
        Empty constructor.

        Parameters
        ----------
        theName: TCollection_AsciiString,optional
        	default value is TCollection_AsciiString()

        Returns
        -------
        None

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Message_Attribute self, int depth=-1) -> std::string"""
        return _Message.Message_Attribute_DumpJsonToString(self, depth)

    def GetMessageKey(self, *args) -> "char const *":
        r"""
        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.

        Returns
        -------
        char *

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

    def GetName(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Returns custom name of alert if it is set returns alert name.

        Returns
        -------
        TCollection_AsciiString

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

    def SetName(self, *args) -> "void":
        r"""
        Sets the custom name of alert @param thename a name for the alert.

        Parameters
        ----------
        theName: TCollection_AsciiString

        Returns
        -------
        None

        """
        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"""
        Empty constructor.

        Returns
        -------
        None

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

    def AddAlert(self, *args) -> "Standard_Boolean":
        r"""
        Add alert with specified gravity. if the alert supports merge it will be merged. @param thegravity an alert gravity @param thealert an alert to be added as a child alert returns true if the alert is added or merged.

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

        Returns
        -------
        bool

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

    def Alerts(self, *args) -> "Message_ListOfAlert const &":
        r"""
        Returns list of collected alerts with specified gravity.

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

        Returns
        -------
        Message_ListOfAlert

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

    def Clear(self, *args) -> "void":
        r"""
        Clears all collected alerts.

        Returns
        -------
        None
        Clears collected alerts with specified gravity @param thegravity an alert gravity.

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

        Returns
        -------
        None
        Clears collected alerts with specified type @param thetype an alert type.

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

        Returns
        -------
        None

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Message_CompositeAlerts self, int depth=-1) -> std::string"""
        return _Message.Message_CompositeAlerts_DumpJsonToString(self, depth)

    def HasAlert(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the alert belong the list of the child alerts. @param thealert an alert to be checked as a child alert returns true if the alert is found in a container of children.

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

        Returns
        -------
        bool
        Returns true if specific type of alert is recorded with specified gravity @param thetype an alert type @param thegravity an alert gravity returns true if the alert is found in a container of children.

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

        Returns
        -------
        bool

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

    def RemoveAlert(self, *args) -> "Standard_Boolean":
        r"""
        Removes alert with specified gravity. @param thegravity an alert gravity @param thealert an alert to be removed from the children returns true if the alert is removed.

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

        Returns
        -------
        bool

        """
        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"""
        Create empty execution status.

        Returns
        -------
        None
        Initialise the execution status.

        Parameters
        ----------
        status: Message_Status

        Returns
        -------
        None

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

    def Add(self, *args) -> "void":
        r"""
        Add statuses to me from theother execution status.

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

        Returns
        -------
        None

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

    def And(self, *args) -> "void":
        r"""
        Leave only the statuses common with theother.

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

        Returns
        -------
        None

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

    def Clear(self, *args) -> "void":
        r"""
        Clear one status.

        Parameters
        ----------
        status: Message_Status

        Returns
        -------
        None
        Clear all statuses.

        Returns
        -------
        None

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

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

        Returns
        -------
        None

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

    def ClearAllDone(self, *args) -> "void":
        r"""
        Clear all statuses of each type .

        Returns
        -------
        None

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

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

        Returns
        -------
        None

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

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

        Returns
        -------
        None

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

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

        Returns
        -------
        bool

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

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        Check if at least one status of each type is set.

        Returns
        -------
        bool

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

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

        Returns
        -------
        bool

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

    def IsSet(self, *args) -> "Standard_Boolean":
        r"""
        Check status for being set.

        Parameters
        ----------
        status: Message_Status

        Returns
        -------
        bool

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

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

        Returns
        -------
        bool

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

    @staticmethod
    def LocalStatusIndex(*args) -> "Standard_Integer":
        r"""
        Returns index of status inside type of status (done or warn or, etc) in range [1, statusespertype].

        Parameters
        ----------
        status: Message_Status

        Returns
        -------
        int

        """
        return _Message.Message_ExecStatus_LocalStatusIndex(*args)

    def Set(self, *args) -> "void":
        r"""
        Sets a status flag.

        Parameters
        ----------
        status: Message_Status

        Returns
        -------
        None

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

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

        Returns
        -------
        None

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

    def SetAllDone(self, *args) -> "void":
        r"""
        Set all statuses of each type.

        Returns
        -------
        None

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

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

        Returns
        -------
        None

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

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

        Returns
        -------
        None

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

    @staticmethod
    def StatusByIndex(*args) -> "Message_Status":
        r"""
        Returns status with index theindex in whole range [firststatus, laststatus].

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

        Returns
        -------
        Message_Status

        """
        return _Message.Message_ExecStatus_StatusByIndex(*args)

    @staticmethod
    def StatusIndex(*args) -> "Standard_Integer":
        r"""
        Returns index of status in whole range [firststatus, laststatus].

        Parameters
        ----------
        status: Message_Status

        Returns
        -------
        int

        """
        return _Message.Message_ExecStatus_StatusIndex(*args)

    @staticmethod
    def TypeOfStatus(*args) -> "Message_StatusType":
        r"""
        Returns status type (done, warn, alarm, or fail) .

        Parameters
        ----------
        status: Message_Status

        Returns
        -------
        Message_StatusType

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

def Message_ExecStatus_LocalStatusIndex(*args) -> "Standard_Integer":
    r"""
    Returns index of status inside type of status (done or warn or, etc) in range [1, statusespertype].

    Parameters
    ----------
    status: Message_Status

    Returns
    -------
    int

    """
    return _Message.Message_ExecStatus_LocalStatusIndex(*args)

def Message_ExecStatus_StatusByIndex(*args) -> "Message_Status":
    r"""
    Returns status with index theindex in whole range [firststatus, laststatus].

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

    Returns
    -------
    Message_Status

    """
    return _Message.Message_ExecStatus_StatusByIndex(*args)

def Message_ExecStatus_StatusIndex(*args) -> "Standard_Integer":
    r"""
    Returns index of status in whole range [firststatus, laststatus].

    Parameters
    ----------
    status: Message_Status

    Returns
    -------
    int

    """
    return _Message.Message_ExecStatus_StatusIndex(*args)

def Message_ExecStatus_TypeOfStatus(*args) -> "Message_StatusType":
    r"""
    Returns status type (done, warn, alarm, or fail) .

    Parameters
    ----------
    status: Message_Status

    Returns
    -------
    Message_StatusType

    """
    return _Message.Message_ExecStatus_TypeOfStatus(*args)

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"""
        Constructor. one string key is used for all alert meters. the perf meter is not started automatically, it will be done in addalert() method.

        Parameters
        ----------
        theName: TCollection_AsciiString,optional
        	default value is TCollection_AsciiString()

        Returns
        -------
        None

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

    def AddAlert(self, *args) -> "Standard_Boolean":
        r"""
        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. @param thegravity an alert gravity @param thealert an alert returns true if alert is added.

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

        Returns
        -------
        bool

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

    def RootAlert(self, *args) -> "opencascade::handle< Message_AlertExtended > const &":
        r"""
        Returns root alert of the level returns alert instance or null.

        Returns
        -------
        opencascade::handle<Message_AlertExtended>

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

    def SetRootAlert(self, *args) -> "void":
        r"""
        Sets the root alert. starts collects alert metrics if active. @param thealert an alert .

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

        Returns
        -------
        None

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

        Returns
        -------
        None
        Create messenger with single printer.

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        bool

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

    def ChangePrinters(self, *args) -> "Message_SequenceOfPrinters &":
        r"""
        Returns sequence of printers the sequence can be modified.

        Returns
        -------
        Message_SequenceOfPrinters

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Message_Messenger self, int depth=-1) -> std::string"""
        return _Message.Message_Messenger_DumpJsonToString(self, depth)

    def Printers(self, *args) -> "Message_SequenceOfPrinters const &":
        r"""
        Returns current sequence of printers.

        Returns
        -------
        Message_SequenceOfPrinters

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

    def RemovePrinter(self, *args) -> "Standard_Boolean":
        r"""
        Removes specified printer from the messenger. returns true if this printer has been found in the list and removed.

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

        Returns
        -------
        bool

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

    def RemovePrinters(self, *args) -> "Standard_Integer":
        r"""
        Removes printers of specified type (including derived classes) from the messenger. returns number of removed printers.

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

        Returns
        -------
        int

        """
        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"""
        Empty constructor.

        Returns
        -------
        None
        Copy constructor.

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

        Returns
        -------
        None
        Create a message using a corresponding entry in message_msgfile.

        Parameters
        ----------
        theKey: char *

        Returns
        -------
        None
        Create a message using a corresponding entry in message_msgfile.

        Parameters
        ----------
        theKey: TCollection_ExtendedString

        Returns
        -------
        None

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

    def Arg(self, *args) -> "Message_Msg &":
        r"""
        Set a value for %..s conversion.

        Parameters
        ----------
        theString: char *

        Returns
        -------
        Message_Msg
        Set a value for %..s conversion.

        Parameters
        ----------
        theString: TCollection_AsciiString

        Returns
        -------
        Message_Msg
        Set a value for %..s conversion.

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

        Returns
        -------
        Message_Msg
        Set a value for %..s conversion.

        Parameters
        ----------
        theString: TCollection_ExtendedString

        Returns
        -------
        Message_Msg
        Set a value for %..s conversion.

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

        Returns
        -------
        Message_Msg
        Set a value for %..d, %..i, %..o, %..u, %..x or %..x conversion.

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

        Returns
        -------
        Message_Msg
        Set a value for %..f, %..e, %..e, %..g or %..g conversion.

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

        Returns
        -------
        Message_Msg

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

    def Get(self, *args) -> "TCollection_ExtendedString const &":
        r"""
        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.

        Returns
        -------
        TCollection_ExtendedString

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

    def IsEdited(self, *args) -> "Standard_Boolean":
        r"""
        Tells if value differs from original.

        Returns
        -------
        bool

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

    def Original(self, *args) -> "TCollection_ExtendedString const &":
        r"""
        Returns the original message text.

        Returns
        -------
        TCollection_ExtendedString

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

    def Set(self, *args) -> "void":
        r"""
        Set a message body text -- can be used as alternative to using messages from resource file.

        Parameters
        ----------
        theMsg: char *

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

        Parameters
        ----------
        theMsg: TCollection_ExtendedString

        Returns
        -------
        None

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

    def Value(self, *args) -> "TCollection_ExtendedString const &":
        r"""
        Returns current state of the message text with parameters to the moment.

        Returns
        -------
        TCollection_ExtendedString

        """
        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) -> "Standard_Boolean":
        r"""
        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.

        Parameters
        ----------
        key: TCollection_AsciiString
        text: TCollection_ExtendedString

        Returns
        -------
        bool

        """
        return _Message.Message_MsgFile_AddMsg(*args)

    @staticmethod
    def HasMsg(*args) -> "Standard_Boolean":
        r"""
        Returns true if message with specified keyword is registered.

        Parameters
        ----------
        key: TCollection_AsciiString

        Returns
        -------
        bool

        """
        return _Message.Message_MsgFile_HasMsg(*args)

    @staticmethod
    def Load(*args) -> "Standard_Boolean":
        r"""
        Load message file <thefilename> from directory <thedirname> or its sub-directory.

        Parameters
        ----------
        theDirName: char *
        theFileName: char *

        Returns
        -------
        bool

        """
        return _Message.Message_MsgFile_Load(*args)

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

        Parameters
        ----------
        theFName: char *

        Returns
        -------
        bool

        """
        return _Message.Message_MsgFile_LoadFile(*args)

    @staticmethod
    def LoadFromEnv(*args) -> "Standard_Boolean":
        r"""
        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 returns true on success.

        Parameters
        ----------
        theEnvName: char *
        theFileName: char *
        theLangExt: char *,optional
        	default value is 

        Returns
        -------
        bool

        """
        return _Message.Message_MsgFile_LoadFromEnv(*args)

    @staticmethod
    def LoadFromString(*args) -> "Standard_Boolean":
        r"""
        Loads the messages from the given text buffer. @param thecontent string containing the messages @param thelength length of the buffer;  when -1 specified - thecontent will be considered as null-terminated string.

        Parameters
        ----------
        theContent: char *
        theLength: int,optional
        	default value is -1

        Returns
        -------
        bool

        """
        return _Message.Message_MsgFile_LoadFromString(*args)

    @staticmethod
    def Msg(*args) -> "TCollection_ExtendedString const &":
        r"""
        No available documentation.

        Parameters
        ----------
        key: char *

        Returns
        -------
        TCollection_ExtendedString
        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 chenged 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.

        Parameters
        ----------
        key: TCollection_AsciiString

        Returns
        -------
        TCollection_ExtendedString

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

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

    Parameters
    ----------
    key: TCollection_AsciiString
    text: TCollection_ExtendedString

    Returns
    -------
    bool

    """
    return _Message.Message_MsgFile_AddMsg(*args)

def Message_MsgFile_HasMsg(*args) -> "Standard_Boolean":
    r"""
    Returns true if message with specified keyword is registered.

    Parameters
    ----------
    key: TCollection_AsciiString

    Returns
    -------
    bool

    """
    return _Message.Message_MsgFile_HasMsg(*args)

def Message_MsgFile_Load(*args) -> "Standard_Boolean":
    r"""
    Load message file <thefilename> from directory <thedirname> or its sub-directory.

    Parameters
    ----------
    theDirName: char *
    theFileName: char *

    Returns
    -------
    bool

    """
    return _Message.Message_MsgFile_Load(*args)

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

    Parameters
    ----------
    theFName: char *

    Returns
    -------
    bool

    """
    return _Message.Message_MsgFile_LoadFile(*args)

def Message_MsgFile_LoadFromEnv(*args) -> "Standard_Boolean":
    r"""
    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 returns true on success.

    Parameters
    ----------
    theEnvName: char *
    theFileName: char *
    theLangExt: char *,optional
    	default value is 

    Returns
    -------
    bool

    """
    return _Message.Message_MsgFile_LoadFromEnv(*args)

def Message_MsgFile_LoadFromString(*args) -> "Standard_Boolean":
    r"""
    Loads the messages from the given text buffer. @param thecontent string containing the messages @param thelength length of the buffer;  when -1 specified - thecontent will be considered as null-terminated string.

    Parameters
    ----------
    theContent: char *
    theLength: int,optional
    	default value is -1

    Returns
    -------
    bool

    """
    return _Message.Message_MsgFile_LoadFromString(*args)

def Message_MsgFile_Msg(*args) -> "TCollection_ExtendedString const &":
    r"""
    No available documentation.

    Parameters
    ----------
    key: char *

    Returns
    -------
    TCollection_ExtendedString
    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 chenged 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.

    Parameters
    ----------
    key: TCollection_AsciiString

    Returns
    -------
    TCollection_ExtendedString

    """
    return _Message.Message_MsgFile_Msg(*args)

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) -> "Message_Gravity":
        r"""
        Return trace level used for filtering messages; messages with lover gravity will be ignored.

        Returns
        -------
        Message_Gravity

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

    def Send(self, *args) -> "void":
        r"""
        Send a string message with specified trace level. the last boolean argument is deprecated and unused. default implementation redirects to send().

        Parameters
        ----------
        theString: TCollection_ExtendedString
        theGravity: Message_Gravity

        Returns
        -------
        None
        Send a string message with specified trace level. the last boolean argument is deprecated and unused. default implementation redirects to send().

        Parameters
        ----------
        theString: char *
        theGravity: Message_Gravity

        Returns
        -------
        None
        Send a string message with specified trace level. the last boolean argument is deprecated and unused. default implementation redirects to send().

        Parameters
        ----------
        theString: TCollection_AsciiString
        theGravity: Message_Gravity

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

    def SendStringStream(self, *args) -> "void":
        r"""
        Send a string message with specified trace level. stream is converted to string value. default implementation calls first method send().

        Parameters
        ----------
        theStream: Standard_SStream
        theGravity: Message_Gravity

        Returns
        -------
        None

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

    def SetTraceLevel(self, *args) -> "void":
        r"""
        Set trace level used for filtering messages. by default, trace level is message_info, so that all messages are output.

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

        Returns
        -------
        None

        """
        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) -> "Standard_Real":
        r"""
        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().

        Returns
        -------
        float

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

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

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

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

        Returns
        -------
        Message_ProgressRange

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

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

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

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

    Returns
    -------
    Message_ProgressRange

    """
    return _Message.Message_ProgressIndicator_Start(*args)

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"""
        Constructor of the empty range.

        Returns
        -------
        None
        Copy constructor disarms the source.

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

        Returns
        -------
        None

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

    def Close(self, *args) -> "void":
        r"""
        Closes the current range and advances indicator.

        Returns
        -------
        None

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

    def IsActive(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if this progress range is attached to some indicator.

        Returns
        -------
        bool

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

    def More(self, *args) -> "Standard_Boolean":
        r"""
        Returns false if progressindicator signals userbreak.

        Returns
        -------
        bool

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

    def UserBreak(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if progressindicator signals userbreak.

        Returns
        -------
        bool

        """
        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"""
        Empty constructor.

        Returns
        -------
        None

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

    def ActivateInMessenger(self, *args) -> "void":
        r"""
        Creates an instance of message_printertoreport with the current report and register it in messenger @param toactivate if true, activated else deactivated @param themessenger the messenger. if it's null, the default messenger is used.

        Parameters
        ----------
        toActivate: bool
        theMessenger: Message_Messenger,optional
        	default value is NULL

        Returns
        -------
        None

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

    def ActiveMetrics(self, *args) -> "NCollection_IndexedMap< Message_MetricType > const &":
        r"""
        Returns computed metrics when alerts are performed.

        Returns
        -------
        NCollection_IndexedMap<Message_MetricType>

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

    def AddAlert(self, *args) -> "void":
        r"""
        Add alert with specified gravity. this method is thread-safe, i.e. alerts can be added from parallel threads safely.

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

        Returns
        -------
        None

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

    def AddLevel(self, *args) -> "void":
        r"""
        Add new level of alerts @param thelevel a level .

        Parameters
        ----------
        theLevel: Message_Level *
        theName: TCollection_AsciiString

        Returns
        -------
        None

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

    def Clear(self, *args) -> "void":
        r"""
        Clears all collected alerts.

        Returns
        -------
        None
        Clears collected alerts with specified gravity.

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

        Returns
        -------
        None
        Clears collected alerts with specified type.

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

        Returns
        -------
        None

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

    def ClearMetrics(self, *args) -> "void":
        r"""
        Removes all activated metrics.

        Returns
        -------
        None

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

    def DumpToString(self) -> "std::string":
        r"""DumpToString(Message_Report self) -> std::string"""
        return _Message.Message_Report_DumpToString(self)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Message_Report self, int depth=-1) -> std::string"""
        return _Message.Message_Report_DumpJsonToString(self, depth)

    def GetAlerts(self, *args) -> "Message_ListOfAlert const &":
        r"""
        Returns list of collected alerts with specified gravity.

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

        Returns
        -------
        Message_ListOfAlert

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

    def HasAlert(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if specific type of alert is recorded.

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

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

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

        Returns
        -------
        bool

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

    def IsActiveInMessenger(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if a report printer for the current report is registered in the messenger @param themessenger the messenger. if it's null, the default messenger is used.

        Parameters
        ----------
        theMessenger: Message_Messenger,optional
        	default value is NULL

        Returns
        -------
        bool

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

    def Limit(self, *args) -> "Standard_Integer":
        r"""
        Returns maximum number of collecting alerts. if the limit is achieved, first alert is removed, the new alert is added in the container. returns the limit value.

        Returns
        -------
        int

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

    def Merge(self, *args) -> "void":
        r"""
        Merges data from theother report into this.

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

        Returns
        -------
        None
        Merges alerts with specified gravity from theother report into this.

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

        Returns
        -------
        None

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

    def RemoveLevel(self, *args) -> "void":
        r"""
        Remove level of alerts.

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

        Returns
        -------
        None

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

    def SendMessages(self, *args) -> "void":
        r"""
        Sends all collected alerts to messenger.

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

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

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

        Returns
        -------
        None

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

    def SetActiveMetric(self, *args) -> "void":
        r"""
        Sets metrics to compute when alerts are performed @param themetrics container of metrics.

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

        Returns
        -------
        None

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

    def SetLimit(self, *args) -> "void":
        r"""
        Sets maximum number of collecting alerts. @param thelimit limit value.

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

        Returns
        -------
        None

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

    def UpdateActiveInMessenger(self, *args) -> "void":
        r"""
        Updates internal flag isactiveinmessenger. it becomes true if messenger contains at least one instance of message_printertoreport. @param themessenger the messenger. if it's null, the default messenger is used.

        Parameters
        ----------
        theMessenger: Message_Messenger,optional
        	default value is NULL

        Returns
        -------
        None

        """
        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"""
        Empty constructor.

        Returns
        -------
        None

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

    @staticmethod
    def AddAlert(*args) -> "opencascade::handle< Message_Alert >":
        r"""
        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 @param thereport the message report where new alert is placed @param theattribute container of additional values of the alert returns created alert or null if message_info is not active in report.

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

        Returns
        -------
        opencascade::handle<Message_Alert>

        """
        return _Message.Message_AlertExtended_AddAlert(*args)

    def Attribute(self, *args) -> "opencascade::handle< Message_Attribute > const &":
        r"""
        Returns container of the alert attributes.

        Returns
        -------
        opencascade::handle<Message_Attribute>

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

    def CompositeAlerts(self, *args) -> "opencascade::handle< Message_CompositeAlerts >":
        r"""
        Returns class provided hierarchy of alerts if created or create if the parameter is true @param thetocreate if composite alert has not been created for this alert, it should be created returns instance or null.

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

        Returns
        -------
        opencascade::handle<Message_CompositeAlerts>

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Message_AlertExtended self, int depth=-1) -> std::string"""
        return _Message.Message_AlertExtended_DumpJsonToString(self, depth)

    def SetAttribute(self, *args) -> "void":
        r"""
        Sets container of the alert attributes @param theattributes an attribute values.

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

        Returns
        -------
        None

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

def Message_AlertExtended_AddAlert(*args) -> "opencascade::handle< Message_Alert >":
    r"""
    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 @param thereport the message report where new alert is placed @param theattribute container of additional values of the alert returns created alert or null if message_info is not active in report.

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

    Returns
    -------
    opencascade::handle<Message_Alert>

    """
    return _Message.Message_AlertExtended_AddAlert(*args)

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"""
        Constructor with string argument.

        Parameters
        ----------
        theName: TCollection_AsciiString,optional
        	default value is TCollection_AsciiString()

        Returns
        -------
        None

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Message_AttributeMeter self, int depth=-1) -> std::string"""
        return _Message.Message_AttributeMeter_DumpJsonToString(self, depth)

    def HasMetric(self, *args) -> "Standard_Boolean":
        r"""
        Checks whether the attribute has values for the metric @param themetric [in] metric type returns true if the metric values exist in the attribute.

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

        Returns
        -------
        bool

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

    def IsMetricValid(self, *args) -> "Standard_Boolean":
        r"""
        Returns true when both values of the metric are set. @param themetric [in] metric type returns true if metric values are valid.

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

        Returns
        -------
        bool

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

    @staticmethod
    def SetAlertMetrics(*args) -> "void":
        r"""
        Sets current values of default report metrics into the alert. processed oly alert with message_attributemeter attribute @param thealert an alert @param thestartvalue flag, if true, the start value is collected otherwise stop.

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

        Returns
        -------
        None

        """
        return _Message.Message_AttributeMeter_SetAlertMetrics(*args)

    def SetStartValue(self, *args) -> "void":
        r"""
        Sets start values for the metric @param themetric [in] metric type.

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

        Returns
        -------
        None

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

    def SetStopValue(self, *args) -> "void":
        r"""
        Sets stop values for the metric @param themetric [in] metric type.

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

        Returns
        -------
        None

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

    @staticmethod
    def StartAlert(*args) -> "void":
        r"""
        Sets start values of default report metrics into the alert @param thealert an alert .

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

        Returns
        -------
        None

        """
        return _Message.Message_AttributeMeter_StartAlert(*args)

    def StartValue(self, *args) -> "Standard_Real":
        r"""
        Returns start value for the metric @param themetric [in] metric type returns real value.

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

        Returns
        -------
        float

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

    @staticmethod
    def StopAlert(*args) -> "void":
        r"""
        Sets stop values of default report metrics into the alert @param thealert an alert .

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

        Returns
        -------
        None

        """
        return _Message.Message_AttributeMeter_StopAlert(*args)

    def StopValue(self, *args) -> "Standard_Real":
        r"""
        Returns stop value for the metric @param themetric [in] metric type returns real value.

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

        Returns
        -------
        float

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

    @staticmethod
    def UndefinedMetricValue(*args) -> "Standard_Real":
        r"""
        Returns default value of the metric when it is not defined returns undefined value.

        Returns
        -------
        float

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

def Message_AttributeMeter_SetAlertMetrics(*args) -> "void":
    r"""
    Sets current values of default report metrics into the alert. processed oly alert with message_attributemeter attribute @param thealert an alert @param thestartvalue flag, if true, the start value is collected otherwise stop.

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

    Returns
    -------
    None

    """
    return _Message.Message_AttributeMeter_SetAlertMetrics(*args)

def Message_AttributeMeter_StartAlert(*args) -> "void":
    r"""
    Sets start values of default report metrics into the alert @param thealert an alert .

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

    Returns
    -------
    None

    """
    return _Message.Message_AttributeMeter_StartAlert(*args)

def Message_AttributeMeter_StopAlert(*args) -> "void":
    r"""
    Sets stop values of default report metrics into the alert @param thealert an alert .

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

    Returns
    -------
    None

    """
    return _Message.Message_AttributeMeter_StopAlert(*args)

def Message_AttributeMeter_UndefinedMetricValue(*args) -> "Standard_Real":
    r"""
    Returns default value of the metric when it is not defined returns undefined value.

    Returns
    -------
    float

    """
    return _Message.Message_AttributeMeter_UndefinedMetricValue(*args)

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"""
        Constructor with string argument.

        Parameters
        ----------
        theObject: Standard_Transient
        theName: TCollection_AsciiString,optional
        	default value is TCollection_AsciiString()

        Returns
        -------
        None

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Message_AttributeObject self, int depth=-1) -> std::string"""
        return _Message.Message_AttributeObject_DumpJsonToString(self, depth)

    def Object(self, *args) -> "opencascade::handle< Standard_Transient > const &":
        r"""
        Returns object returns the object instance.

        Returns
        -------
        opencascade::handle<Standard_Transient>

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

    def SetObject(self, *args) -> "void":
        r"""
        Sets the object @param theobject an instance.

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

        Returns
        -------
        None

        """
        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"""
        Constructor with string argument.

        Parameters
        ----------
        theStream: Standard_SStream
        theName: TCollection_AsciiString,optional
        	default value is TCollection_AsciiString()

        Returns
        -------
        None

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Message_AttributeStream self, int depth=-1) -> std::string"""
        return _Message.Message_AttributeStream_DumpJsonToString(self, depth)

    def SetStream(self, *args) -> "void":
        r"""
        Sets stream value.

        Parameters
        ----------
        theStream: Standard_SStream

        Returns
        -------
        None

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

    def Stream(self, *args) -> "Standard_SStream const &":
        r"""
        Returns stream value.

        Returns
        -------
        Standard_SStream

        """
        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"""
        Empty constructor, defaulting to cout.

        Parameters
        ----------
        theTraceLevel: Message_Gravity,optional
        	default value is Message_Info

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

        Parameters
        ----------
        theFileName: char *
        theDoAppend: bool
        theTraceLevel: Message_Gravity,optional
        	default value is Message_Info

        Returns
        -------
        None

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

    def Close(self, *args) -> "void":
        r"""
        Flushes the output stream and destroys it if it has been specified externally with option dofree (or if it is internal file stream).

        Returns
        -------
        None

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

    def GetStream(self, *args) -> "Standard_OStream &":
        r"""
        Returns reference to the output stream.

        Returns
        -------
        Standard_OStream

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

    def SetToColorize(self, *args) -> "void":
        r"""
        Set if text output into console should be colorized depending on message gravity.

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

        Returns
        -------
        None

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

    def ToColorize(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if text output into console should be colorized depending on message gravity; true by default.

        Returns
        -------
        bool

        """
        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"""
        Main constructor.

        Parameters
        ----------
        theEventSourceName: TCollection_AsciiString
        theTraceLevel: Message_Gravity,optional
        	default value is Message_Info

        Returns
        -------
        None

        """
        _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"""
        Create printer for redirecting messages into report.

        Returns
        -------
        None

        """
        _Message.Message_PrinterToReport_swiginit(self, _Message.new_Message_PrinterToReport(*args))

    def Report(self, *args) -> "opencascade::handle< Message_Report > const &":
        r"""
        Returns the current or default report.

        Returns
        -------
        opencascade::handle<Message_Report>

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

    def SetReport(self, *args) -> "void":
        r"""
        Sets the printer report @param thereport report for messages processing, if null, the default report is used.

        Parameters
        ----------
        theReport: Message_Report

        Returns
        -------
        None

        """
        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"""
        Deprecated constructor, message_progressscope should be created instead.

        Parameters
        ----------
        theRange: Message_ProgressRange
        theName: char *
        theMin: float
        theMax: float
        theStep: float
        theIsInf: bool,optional
        	default value is Standard_False
        theNewScopeSpan: float,optional
        	default value is 0.0

        Returns
        -------
        None

        """
        _Message.Message_ProgressSentry_swiginit(self, _Message.new_Message_ProgressSentry(*args))

    def Relieve(self, *args) -> "void":
        r"""
        Method relieve() was replaced by close() in message_progressscope.

        Returns
        -------
        None

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






