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

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

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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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


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


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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

Interface_CheckOK = _Interface.Interface_CheckOK
Interface_CheckWarning = _Interface.Interface_CheckWarning
Interface_CheckFail = _Interface.Interface_CheckFail
Interface_CheckAny = _Interface.Interface_CheckAny
Interface_CheckMessage = _Interface.Interface_CheckMessage
Interface_CheckNoFail = _Interface.Interface_CheckNoFail
Interface_StateOK = _Interface.Interface_StateOK
Interface_LoadWarning = _Interface.Interface_LoadWarning
Interface_LoadFail = _Interface.Interface_LoadFail
Interface_DataWarning = _Interface.Interface_DataWarning
Interface_DataFail = _Interface.Interface_DataFail
Interface_StateUnloaded = _Interface.Interface_StateUnloaded
Interface_StateUnknown = _Interface.Interface_StateUnknown
Interface_ParamMisc = _Interface.Interface_ParamMisc
Interface_ParamInteger = _Interface.Interface_ParamInteger
Interface_ParamReal = _Interface.Interface_ParamReal
Interface_ParamIdent = _Interface.Interface_ParamIdent
Interface_ParamVoid = _Interface.Interface_ParamVoid
Interface_ParamText = _Interface.Interface_ParamText
Interface_ParamEnum = _Interface.Interface_ParamEnum
Interface_ParamLogical = _Interface.Interface_ParamLogical
Interface_ParamSub = _Interface.Interface_ParamSub
Interface_ParamHexa = _Interface.Interface_ParamHexa
Interface_ParamBinary = _Interface.Interface_ParamBinary


class Interface_CheckStatus(IntEnum):
	Interface_CheckOK = 0
	Interface_CheckWarning = 1
	Interface_CheckFail = 2
	Interface_CheckAny = 3
	Interface_CheckMessage = 4
	Interface_CheckNoFail = 5
Interface_CheckOK = Interface_CheckStatus.Interface_CheckOK
Interface_CheckWarning = Interface_CheckStatus.Interface_CheckWarning
Interface_CheckFail = Interface_CheckStatus.Interface_CheckFail
Interface_CheckAny = Interface_CheckStatus.Interface_CheckAny
Interface_CheckMessage = Interface_CheckStatus.Interface_CheckMessage
Interface_CheckNoFail = Interface_CheckStatus.Interface_CheckNoFail

class Interface_DataState(IntEnum):
	Interface_StateOK = 0
	Interface_LoadWarning = 1
	Interface_LoadFail = 2
	Interface_DataWarning = 3
	Interface_DataFail = 4
	Interface_StateUnloaded = 5
	Interface_StateUnknown = 6
Interface_StateOK = Interface_DataState.Interface_StateOK
Interface_LoadWarning = Interface_DataState.Interface_LoadWarning
Interface_LoadFail = Interface_DataState.Interface_LoadFail
Interface_DataWarning = Interface_DataState.Interface_DataWarning
Interface_DataFail = Interface_DataState.Interface_DataFail
Interface_StateUnloaded = Interface_DataState.Interface_StateUnloaded
Interface_StateUnknown = Interface_DataState.Interface_StateUnknown

class Interface_ParamType(IntEnum):
	Interface_ParamMisc = 0
	Interface_ParamInteger = 1
	Interface_ParamReal = 2
	Interface_ParamIdent = 3
	Interface_ParamVoid = 4
	Interface_ParamText = 5
	Interface_ParamEnum = 6
	Interface_ParamLogical = 7
	Interface_ParamSub = 8
	Interface_ParamHexa = 9
	Interface_ParamBinary = 10
Interface_ParamMisc = Interface_ParamType.Interface_ParamMisc
Interface_ParamInteger = Interface_ParamType.Interface_ParamInteger
Interface_ParamReal = Interface_ParamType.Interface_ParamReal
Interface_ParamIdent = Interface_ParamType.Interface_ParamIdent
Interface_ParamVoid = Interface_ParamType.Interface_ParamVoid
Interface_ParamText = Interface_ParamType.Interface_ParamText
Interface_ParamEnum = Interface_ParamType.Interface_ParamEnum
Interface_ParamLogical = Interface_ParamType.Interface_ParamLogical
Interface_ParamSub = Interface_ParamType.Interface_ParamSub
Interface_ParamHexa = Interface_ParamType.Interface_ParamHexa
Interface_ParamBinary = Interface_ParamType.Interface_ParamBinary


def Handle_Interface_Check_Create():
    return _Interface.Handle_Interface_Check_Create()

def Handle_Interface_Check_DownCast(t):
    return _Interface.Handle_Interface_Check_DownCast(t)

def Handle_Interface_Check_IsNull(t):
    return _Interface.Handle_Interface_Check_IsNull(t)

def Handle_Interface_CopyControl_Create():
    return _Interface.Handle_Interface_CopyControl_Create()

def Handle_Interface_CopyControl_DownCast(t):
    return _Interface.Handle_Interface_CopyControl_DownCast(t)

def Handle_Interface_CopyControl_IsNull(t):
    return _Interface.Handle_Interface_CopyControl_IsNull(t)

def Handle_Interface_EntityCluster_Create():
    return _Interface.Handle_Interface_EntityCluster_Create()

def Handle_Interface_EntityCluster_DownCast(t):
    return _Interface.Handle_Interface_EntityCluster_DownCast(t)

def Handle_Interface_EntityCluster_IsNull(t):
    return _Interface.Handle_Interface_EntityCluster_IsNull(t)

def Handle_Interface_FileReaderData_Create():
    return _Interface.Handle_Interface_FileReaderData_Create()

def Handle_Interface_FileReaderData_DownCast(t):
    return _Interface.Handle_Interface_FileReaderData_DownCast(t)

def Handle_Interface_FileReaderData_IsNull(t):
    return _Interface.Handle_Interface_FileReaderData_IsNull(t)

def Handle_Interface_GTool_Create():
    return _Interface.Handle_Interface_GTool_Create()

def Handle_Interface_GTool_DownCast(t):
    return _Interface.Handle_Interface_GTool_DownCast(t)

def Handle_Interface_GTool_IsNull(t):
    return _Interface.Handle_Interface_GTool_IsNull(t)

def Handle_Interface_GeneralModule_Create():
    return _Interface.Handle_Interface_GeneralModule_Create()

def Handle_Interface_GeneralModule_DownCast(t):
    return _Interface.Handle_Interface_GeneralModule_DownCast(t)

def Handle_Interface_GeneralModule_IsNull(t):
    return _Interface.Handle_Interface_GeneralModule_IsNull(t)

def Handle_Interface_GlobalNodeOfGeneralLib_Create():
    return _Interface.Handle_Interface_GlobalNodeOfGeneralLib_Create()

def Handle_Interface_GlobalNodeOfGeneralLib_DownCast(t):
    return _Interface.Handle_Interface_GlobalNodeOfGeneralLib_DownCast(t)

def Handle_Interface_GlobalNodeOfGeneralLib_IsNull(t):
    return _Interface.Handle_Interface_GlobalNodeOfGeneralLib_IsNull(t)

def Handle_Interface_GlobalNodeOfReaderLib_Create():
    return _Interface.Handle_Interface_GlobalNodeOfReaderLib_Create()

def Handle_Interface_GlobalNodeOfReaderLib_DownCast(t):
    return _Interface.Handle_Interface_GlobalNodeOfReaderLib_DownCast(t)

def Handle_Interface_GlobalNodeOfReaderLib_IsNull(t):
    return _Interface.Handle_Interface_GlobalNodeOfReaderLib_IsNull(t)

def Handle_Interface_HGraph_Create():
    return _Interface.Handle_Interface_HGraph_Create()

def Handle_Interface_HGraph_DownCast(t):
    return _Interface.Handle_Interface_HGraph_DownCast(t)

def Handle_Interface_HGraph_IsNull(t):
    return _Interface.Handle_Interface_HGraph_IsNull(t)

def Handle_Interface_IntVal_Create():
    return _Interface.Handle_Interface_IntVal_Create()

def Handle_Interface_IntVal_DownCast(t):
    return _Interface.Handle_Interface_IntVal_DownCast(t)

def Handle_Interface_IntVal_IsNull(t):
    return _Interface.Handle_Interface_IntVal_IsNull(t)

def Handle_Interface_InterfaceModel_Create():
    return _Interface.Handle_Interface_InterfaceModel_Create()

def Handle_Interface_InterfaceModel_DownCast(t):
    return _Interface.Handle_Interface_InterfaceModel_DownCast(t)

def Handle_Interface_InterfaceModel_IsNull(t):
    return _Interface.Handle_Interface_InterfaceModel_IsNull(t)

def Handle_Interface_NodeOfGeneralLib_Create():
    return _Interface.Handle_Interface_NodeOfGeneralLib_Create()

def Handle_Interface_NodeOfGeneralLib_DownCast(t):
    return _Interface.Handle_Interface_NodeOfGeneralLib_DownCast(t)

def Handle_Interface_NodeOfGeneralLib_IsNull(t):
    return _Interface.Handle_Interface_NodeOfGeneralLib_IsNull(t)

def Handle_Interface_NodeOfReaderLib_Create():
    return _Interface.Handle_Interface_NodeOfReaderLib_Create()

def Handle_Interface_NodeOfReaderLib_DownCast(t):
    return _Interface.Handle_Interface_NodeOfReaderLib_DownCast(t)

def Handle_Interface_NodeOfReaderLib_IsNull(t):
    return _Interface.Handle_Interface_NodeOfReaderLib_IsNull(t)

def Handle_Interface_ParamList_Create():
    return _Interface.Handle_Interface_ParamList_Create()

def Handle_Interface_ParamList_DownCast(t):
    return _Interface.Handle_Interface_ParamList_DownCast(t)

def Handle_Interface_ParamList_IsNull(t):
    return _Interface.Handle_Interface_ParamList_IsNull(t)

def Handle_Interface_ParamSet_Create():
    return _Interface.Handle_Interface_ParamSet_Create()

def Handle_Interface_ParamSet_DownCast(t):
    return _Interface.Handle_Interface_ParamSet_DownCast(t)

def Handle_Interface_ParamSet_IsNull(t):
    return _Interface.Handle_Interface_ParamSet_IsNull(t)

def Handle_Interface_Protocol_Create():
    return _Interface.Handle_Interface_Protocol_Create()

def Handle_Interface_Protocol_DownCast(t):
    return _Interface.Handle_Interface_Protocol_DownCast(t)

def Handle_Interface_Protocol_IsNull(t):
    return _Interface.Handle_Interface_Protocol_IsNull(t)

def Handle_Interface_ReaderModule_Create():
    return _Interface.Handle_Interface_ReaderModule_Create()

def Handle_Interface_ReaderModule_DownCast(t):
    return _Interface.Handle_Interface_ReaderModule_DownCast(t)

def Handle_Interface_ReaderModule_IsNull(t):
    return _Interface.Handle_Interface_ReaderModule_IsNull(t)

def Handle_Interface_ReportEntity_Create():
    return _Interface.Handle_Interface_ReportEntity_Create()

def Handle_Interface_ReportEntity_DownCast(t):
    return _Interface.Handle_Interface_ReportEntity_DownCast(t)

def Handle_Interface_ReportEntity_IsNull(t):
    return _Interface.Handle_Interface_ReportEntity_IsNull(t)

def Handle_Interface_SignLabel_Create():
    return _Interface.Handle_Interface_SignLabel_Create()

def Handle_Interface_SignLabel_DownCast(t):
    return _Interface.Handle_Interface_SignLabel_DownCast(t)

def Handle_Interface_SignLabel_IsNull(t):
    return _Interface.Handle_Interface_SignLabel_IsNull(t)

def Handle_Interface_SignType_Create():
    return _Interface.Handle_Interface_SignType_Create()

def Handle_Interface_SignType_DownCast(t):
    return _Interface.Handle_Interface_SignType_DownCast(t)

def Handle_Interface_SignType_IsNull(t):
    return _Interface.Handle_Interface_SignType_IsNull(t)

def Handle_Interface_TypedValue_Create():
    return _Interface.Handle_Interface_TypedValue_Create()

def Handle_Interface_TypedValue_DownCast(t):
    return _Interface.Handle_Interface_TypedValue_DownCast(t)

def Handle_Interface_TypedValue_IsNull(t):
    return _Interface.Handle_Interface_TypedValue_IsNull(t)

def Handle_Interface_UndefinedContent_Create():
    return _Interface.Handle_Interface_UndefinedContent_Create()

def Handle_Interface_UndefinedContent_DownCast(t):
    return _Interface.Handle_Interface_UndefinedContent_DownCast(t)

def Handle_Interface_UndefinedContent_IsNull(t):
    return _Interface.Handle_Interface_UndefinedContent_IsNull(t)

def Handle_Interface_CopyMap_Create():
    return _Interface.Handle_Interface_CopyMap_Create()

def Handle_Interface_CopyMap_DownCast(t):
    return _Interface.Handle_Interface_CopyMap_DownCast(t)

def Handle_Interface_CopyMap_IsNull(t):
    return _Interface.Handle_Interface_CopyMap_IsNull(t)

def Handle_Interface_Static_Create():
    return _Interface.Handle_Interface_Static_Create()

def Handle_Interface_Static_DownCast(t):
    return _Interface.Handle_Interface_Static_DownCast(t)

def Handle_Interface_Static_IsNull(t):
    return _Interface.Handle_Interface_Static_IsNull(t)

def Handle_Interface_HArray1OfHAsciiString_Create():
    return _Interface.Handle_Interface_HArray1OfHAsciiString_Create()

def Handle_Interface_HArray1OfHAsciiString_DownCast(t):
    return _Interface.Handle_Interface_HArray1OfHAsciiString_DownCast(t)

def Handle_Interface_HArray1OfHAsciiString_IsNull(t):
    return _Interface.Handle_Interface_HArray1OfHAsciiString_IsNull(t)

def Handle_Interface_HSequenceOfCheck_Create():
    return _Interface.Handle_Interface_HSequenceOfCheck_Create()

def Handle_Interface_HSequenceOfCheck_DownCast(t):
    return _Interface.Handle_Interface_HSequenceOfCheck_DownCast(t)

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

    def begin(self):
        return _Interface.Interface_Array1OfFileParameter_begin(self)

    def end(self):
        return _Interface.Interface_Array1OfFileParameter_end(self)

    def cbegin(self):
        return _Interface.Interface_Array1OfFileParameter_cbegin(self)

    def cend(self):
        return _Interface.Interface_Array1OfFileParameter_cend(self)

    def __init__(self, *args):
        _Interface.Interface_Array1OfFileParameter_swiginit(self, _Interface.new_Interface_Array1OfFileParameter(*args))

    def Init(self, theValue):
        return _Interface.Interface_Array1OfFileParameter_Init(self, theValue)

    def Size(self):
        return _Interface.Interface_Array1OfFileParameter_Size(self)

    def Length(self):
        return _Interface.Interface_Array1OfFileParameter_Length(self)

    def IsEmpty(self):
        return _Interface.Interface_Array1OfFileParameter_IsEmpty(self)

    def Lower(self):
        return _Interface.Interface_Array1OfFileParameter_Lower(self)

    def Upper(self):
        return _Interface.Interface_Array1OfFileParameter_Upper(self)

    def IsDeletable(self):
        return _Interface.Interface_Array1OfFileParameter_IsDeletable(self)

    def IsAllocated(self):
        return _Interface.Interface_Array1OfFileParameter_IsAllocated(self)

    def Assign(self, theOther):
        return _Interface.Interface_Array1OfFileParameter_Assign(self, theOther)

    def Move(self, theOther):
        return _Interface.Interface_Array1OfFileParameter_Move(self, theOther)

    def Set(self, *args):
        return _Interface.Interface_Array1OfFileParameter_Set(self, *args)

    def First(self):
        return _Interface.Interface_Array1OfFileParameter_First(self)

    def ChangeFirst(self):
        return _Interface.Interface_Array1OfFileParameter_ChangeFirst(self)

    def Last(self):
        return _Interface.Interface_Array1OfFileParameter_Last(self)

    def ChangeLast(self):
        return _Interface.Interface_Array1OfFileParameter_ChangeLast(self)

    def Value(self, theIndex):
        return _Interface.Interface_Array1OfFileParameter_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _Interface.Interface_Array1OfFileParameter_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _Interface.Interface_Array1OfFileParameter___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _Interface.Interface_Array1OfFileParameter_SetValue(self, theIndex, theItem)

    def Resize(self, theLower, theUpper, theToCopyData):
        return _Interface.Interface_Array1OfFileParameter_Resize(self, theLower, theUpper, theToCopyData)
    __swig_destroy__ = _Interface.delete_Interface_Array1OfFileParameter

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

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

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

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

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

    __next__ = next


# Register Interface_Array1OfFileParameter in _Interface:
_Interface.Interface_Array1OfFileParameter_swigregister(Interface_Array1OfFileParameter)
class Interface_Array1OfHAsciiString(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _Interface.Interface_Array1OfHAsciiString_begin(self)

    def end(self):
        return _Interface.Interface_Array1OfHAsciiString_end(self)

    def cbegin(self):
        return _Interface.Interface_Array1OfHAsciiString_cbegin(self)

    def cend(self):
        return _Interface.Interface_Array1OfHAsciiString_cend(self)

    def __init__(self, *args):
        _Interface.Interface_Array1OfHAsciiString_swiginit(self, _Interface.new_Interface_Array1OfHAsciiString(*args))

    def Init(self, theValue):
        return _Interface.Interface_Array1OfHAsciiString_Init(self, theValue)

    def Size(self):
        return _Interface.Interface_Array1OfHAsciiString_Size(self)

    def Length(self):
        return _Interface.Interface_Array1OfHAsciiString_Length(self)

    def IsEmpty(self):
        return _Interface.Interface_Array1OfHAsciiString_IsEmpty(self)

    def Lower(self):
        return _Interface.Interface_Array1OfHAsciiString_Lower(self)

    def Upper(self):
        return _Interface.Interface_Array1OfHAsciiString_Upper(self)

    def IsDeletable(self):
        return _Interface.Interface_Array1OfHAsciiString_IsDeletable(self)

    def IsAllocated(self):
        return _Interface.Interface_Array1OfHAsciiString_IsAllocated(self)

    def Assign(self, theOther):
        return _Interface.Interface_Array1OfHAsciiString_Assign(self, theOther)

    def Move(self, theOther):
        return _Interface.Interface_Array1OfHAsciiString_Move(self, theOther)

    def Set(self, *args):
        return _Interface.Interface_Array1OfHAsciiString_Set(self, *args)

    def First(self):
        return _Interface.Interface_Array1OfHAsciiString_First(self)

    def ChangeFirst(self):
        return _Interface.Interface_Array1OfHAsciiString_ChangeFirst(self)

    def Last(self):
        return _Interface.Interface_Array1OfHAsciiString_Last(self)

    def ChangeLast(self):
        return _Interface.Interface_Array1OfHAsciiString_ChangeLast(self)

    def Value(self, theIndex):
        return _Interface.Interface_Array1OfHAsciiString_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _Interface.Interface_Array1OfHAsciiString_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _Interface.Interface_Array1OfHAsciiString___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _Interface.Interface_Array1OfHAsciiString_SetValue(self, theIndex, theItem)

    def Resize(self, theLower, theUpper, theToCopyData):
        return _Interface.Interface_Array1OfHAsciiString_Resize(self, theLower, theUpper, theToCopyData)
    __swig_destroy__ = _Interface.delete_Interface_Array1OfHAsciiString

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

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

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

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

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

    __next__ = next


# Register Interface_Array1OfHAsciiString in _Interface:
_Interface.Interface_Array1OfHAsciiString_swigregister(Interface_Array1OfHAsciiString)
class Interface_DataMapOfTransientInteger(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _Interface.Interface_DataMapOfTransientInteger_begin(self)

    def end(self):
        return _Interface.Interface_DataMapOfTransientInteger_end(self)

    def cbegin(self):
        return _Interface.Interface_DataMapOfTransientInteger_cbegin(self)

    def cend(self):
        return _Interface.Interface_DataMapOfTransientInteger_cend(self)

    def __init__(self, *args):
        _Interface.Interface_DataMapOfTransientInteger_swiginit(self, _Interface.new_Interface_DataMapOfTransientInteger(*args))

    def Exchange(self, theOther):
        return _Interface.Interface_DataMapOfTransientInteger_Exchange(self, theOther)

    def Assign(self, theOther):
        return _Interface.Interface_DataMapOfTransientInteger_Assign(self, theOther)

    def Set(self, theOther):
        return _Interface.Interface_DataMapOfTransientInteger_Set(self, theOther)

    def ReSize(self, N):
        return _Interface.Interface_DataMapOfTransientInteger_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _Interface.Interface_DataMapOfTransientInteger_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _Interface.Interface_DataMapOfTransientInteger_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _Interface.Interface_DataMapOfTransientInteger_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _Interface.Interface_DataMapOfTransientInteger_UnBind(self, theKey)

    def Seek(self, theKey):
        return _Interface.Interface_DataMapOfTransientInteger_Seek(self, theKey)

    def Find(self, *args):
        return _Interface.Interface_DataMapOfTransientInteger_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _Interface.Interface_DataMapOfTransientInteger_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _Interface.Interface_DataMapOfTransientInteger_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _Interface.Interface_DataMapOfTransientInteger___call__(self, *args)

    def Clear(self, *args):
        return _Interface.Interface_DataMapOfTransientInteger_Clear(self, *args)
    __swig_destroy__ = _Interface.delete_Interface_DataMapOfTransientInteger

    def Size(self):
        return _Interface.Interface_DataMapOfTransientInteger_Size(self)

# Register Interface_DataMapOfTransientInteger in _Interface:
_Interface.Interface_DataMapOfTransientInteger_swigregister(Interface_DataMapOfTransientInteger)
class Interface_IndexedMapOfAsciiString(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def cbegin(self):
        return _Interface.Interface_IndexedMapOfAsciiString_cbegin(self)

    def cend(self):
        return _Interface.Interface_IndexedMapOfAsciiString_cend(self)

    def __init__(self, *args):
        _Interface.Interface_IndexedMapOfAsciiString_swiginit(self, _Interface.new_Interface_IndexedMapOfAsciiString(*args))

    def Exchange(self, theOther):
        return _Interface.Interface_IndexedMapOfAsciiString_Exchange(self, theOther)

    def Assign(self, theOther):
        return _Interface.Interface_IndexedMapOfAsciiString_Assign(self, theOther)

    def Set(self, theOther):
        return _Interface.Interface_IndexedMapOfAsciiString_Set(self, theOther)

    def ReSize(self, theExtent):
        return _Interface.Interface_IndexedMapOfAsciiString_ReSize(self, theExtent)

    def Add(self, theKey1):
        return _Interface.Interface_IndexedMapOfAsciiString_Add(self, theKey1)

    def Contains(self, theKey1):
        return _Interface.Interface_IndexedMapOfAsciiString_Contains(self, theKey1)

    def Substitute(self, theIndex, theKey1):
        return _Interface.Interface_IndexedMapOfAsciiString_Substitute(self, theIndex, theKey1)

    def Swap(self, theIndex1, theIndex2):
        return _Interface.Interface_IndexedMapOfAsciiString_Swap(self, theIndex1, theIndex2)

    def RemoveLast(self):
        return _Interface.Interface_IndexedMapOfAsciiString_RemoveLast(self)

    def RemoveFromIndex(self, theIndex):
        return _Interface.Interface_IndexedMapOfAsciiString_RemoveFromIndex(self, theIndex)

    def RemoveKey(self, theKey1):
        return _Interface.Interface_IndexedMapOfAsciiString_RemoveKey(self, theKey1)

    def FindKey(self, theIndex):
        return _Interface.Interface_IndexedMapOfAsciiString_FindKey(self, theIndex)

    def __call__(self, theIndex):
        return _Interface.Interface_IndexedMapOfAsciiString___call__(self, theIndex)

    def FindIndex(self, theKey1):
        return _Interface.Interface_IndexedMapOfAsciiString_FindIndex(self, theKey1)

    def Clear(self, *args):
        return _Interface.Interface_IndexedMapOfAsciiString_Clear(self, *args)
    __swig_destroy__ = _Interface.delete_Interface_IndexedMapOfAsciiString

    def Size(self):
        return _Interface.Interface_IndexedMapOfAsciiString_Size(self)

# Register Interface_IndexedMapOfAsciiString in _Interface:
_Interface.Interface_IndexedMapOfAsciiString_swigregister(Interface_IndexedMapOfAsciiString)
class Interface_SequenceOfCheck(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _Interface.Interface_SequenceOfCheck_begin(self)

    def end(self):
        return _Interface.Interface_SequenceOfCheck_end(self)

    def cbegin(self):
        return _Interface.Interface_SequenceOfCheck_cbegin(self)

    def cend(self):
        return _Interface.Interface_SequenceOfCheck_cend(self)

    def __init__(self, *args):
        _Interface.Interface_SequenceOfCheck_swiginit(self, _Interface.new_Interface_SequenceOfCheck(*args))

    def Size(self):
        return _Interface.Interface_SequenceOfCheck_Size(self)

    def Length(self):
        return _Interface.Interface_SequenceOfCheck_Length(self)

    def Lower(self):
        return _Interface.Interface_SequenceOfCheck_Lower(self)

    def Upper(self):
        return _Interface.Interface_SequenceOfCheck_Upper(self)

    def IsEmpty(self):
        return _Interface.Interface_SequenceOfCheck_IsEmpty(self)

    def Reverse(self):
        return _Interface.Interface_SequenceOfCheck_Reverse(self)

    def Exchange(self, I, J):
        return _Interface.Interface_SequenceOfCheck_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _Interface.Interface_SequenceOfCheck_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _Interface.Interface_SequenceOfCheck_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _Interface.Interface_SequenceOfCheck_Assign(self, theOther)

    def Set(self, theOther):
        return _Interface.Interface_SequenceOfCheck_Set(self, theOther)

    def Remove(self, *args):
        return _Interface.Interface_SequenceOfCheck_Remove(self, *args)

    def Append(self, *args):
        return _Interface.Interface_SequenceOfCheck_Append(self, *args)

    def Prepend(self, *args):
        return _Interface.Interface_SequenceOfCheck_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _Interface.Interface_SequenceOfCheck_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _Interface.Interface_SequenceOfCheck_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _Interface.Interface_SequenceOfCheck_Split(self, theIndex, theSeq)

    def First(self):
        return _Interface.Interface_SequenceOfCheck_First(self)

    def ChangeFirst(self):
        return _Interface.Interface_SequenceOfCheck_ChangeFirst(self)

    def Last(self):
        return _Interface.Interface_SequenceOfCheck_Last(self)

    def ChangeLast(self):
        return _Interface.Interface_SequenceOfCheck_ChangeLast(self)

    def Value(self, theIndex):
        return _Interface.Interface_SequenceOfCheck_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _Interface.Interface_SequenceOfCheck_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _Interface.Interface_SequenceOfCheck___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _Interface.Interface_SequenceOfCheck_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _Interface.delete_Interface_SequenceOfCheck

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


# Register Interface_SequenceOfCheck in _Interface:
_Interface.Interface_SequenceOfCheck_swigregister(Interface_SequenceOfCheck)
class Interface_VectorOfFileParameter(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _Interface.Interface_VectorOfFileParameter_begin(self)

    def end(self):
        return _Interface.Interface_VectorOfFileParameter_end(self)

    def cbegin(self):
        return _Interface.Interface_VectorOfFileParameter_cbegin(self)

    def cend(self):
        return _Interface.Interface_VectorOfFileParameter_cend(self)

    def __init__(self, *args):
        _Interface.Interface_VectorOfFileParameter_swiginit(self, _Interface.new_Interface_VectorOfFileParameter(*args))
    __swig_destroy__ = _Interface.delete_Interface_VectorOfFileParameter

    def Length(self):
        return _Interface.Interface_VectorOfFileParameter_Length(self)

    def Size(self):
        return _Interface.Interface_VectorOfFileParameter_Size(self)

    def Lower(self):
        return _Interface.Interface_VectorOfFileParameter_Lower(self)

    def Upper(self):
        return _Interface.Interface_VectorOfFileParameter_Upper(self)

    def IsEmpty(self):
        return _Interface.Interface_VectorOfFileParameter_IsEmpty(self)

    def Assign(self, *args):
        return _Interface.Interface_VectorOfFileParameter_Assign(self, *args)

    def Set(self, theOther):
        return _Interface.Interface_VectorOfFileParameter_Set(self, theOther)

    def Append(self, theValue):
        return _Interface.Interface_VectorOfFileParameter_Append(self, theValue)

    def Appended(self):
        return _Interface.Interface_VectorOfFileParameter_Appended(self)

    def Value(self, theIndex):
        return _Interface.Interface_VectorOfFileParameter_Value(self, theIndex)

    def First(self):
        return _Interface.Interface_VectorOfFileParameter_First(self)

    def ChangeFirst(self):
        return _Interface.Interface_VectorOfFileParameter_ChangeFirst(self)

    def Last(self):
        return _Interface.Interface_VectorOfFileParameter_Last(self)

    def ChangeLast(self):
        return _Interface.Interface_VectorOfFileParameter_ChangeLast(self)

    def __call__(self, *args):
        return _Interface.Interface_VectorOfFileParameter___call__(self, *args)

    def ChangeValue(self, theIndex):
        return _Interface.Interface_VectorOfFileParameter_ChangeValue(self, theIndex)

    def SetValue(self, theIndex, theValue):
        return _Interface.Interface_VectorOfFileParameter_SetValue(self, theIndex, theValue)

# Register Interface_VectorOfFileParameter in _Interface:
_Interface.Interface_VectorOfFileParameter_swigregister(Interface_VectorOfFileParameter)
class Interface_BitMap(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates a empty bitmap.

        Parameters
        ----------
        nbitems: int
        resflags: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Creates a bitmap for <nbitems> items one flag is defined, n0 0 <resflags> prepares allocation for <resflags> more flags flags values start at false.

        Parameters
        ----------
        other: Interface_BitMap
        copied: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Creates a bitmap from another one if <copied> is true, copies data else, data are not copied, only the header object is.

        """
        _Interface.Interface_BitMap_swiginit(self, _Interface.new_Interface_BitMap(*args))

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

        Parameters
        ----------
        name: str (optional, default to )

        Return
        -------
        int

        Description
        -----------
        Adds a flag, a name can be attached to it returns its flag number makes required reservation.

        """
        return _Interface.Interface_BitMap_AddFlag(self, *args)

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

        Parameters
        ----------
        more: int

        Return
        -------
        int

        Description
        -----------
        Adds several flags (<more>) with no name returns the number of last added flag.

        """
        return _Interface.Interface_BitMap_AddSomeFlags(self, *args)

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

        Parameters
        ----------
        item: int
        flag: int (optional, default to 0)

        Return
        -------
        bool

        Description
        -----------
        Returns the former value for a flag and sets it to false (before: value returned; after: false).

        """
        return _Interface.Interface_BitMap_CFalse(self, *args)

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

        Parameters
        ----------
        item: int
        flag: int (optional, default to 0)

        Return
        -------
        bool

        Description
        -----------
        Returns the former value for a flag and sets it to true (before: value returned; after: true).

        """
        return _Interface.Interface_BitMap_CTrue(self, *args)

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

        Description
        -----------
        Clear all field of bit map.

        """
        return _Interface.Interface_BitMap_Clear(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        str

        Description
        -----------
        Returns the name recorded for a flag, or an empty string.

        """
        return _Interface.Interface_BitMap_FlagName(self, *args)

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

        Parameters
        ----------
        name: str

        Return
        -------
        int

        Description
        -----------
        Returns the number or a flag given its name, or zero.

        """
        return _Interface.Interface_BitMap_FlagNumber(self, *args)

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

        Parameters
        ----------
        val: bool
        flag: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Initialises all the values of flag number <flag> to a given value <val>.

        """
        return _Interface.Interface_BitMap_Init(self, *args)

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

        Parameters
        ----------
        nbitems: int
        resflags: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Initialize empty bit by <nbitems> items one flag is defined, n0 0 <resflags> prepares allocation for <resflags> more flags flags values start at false.

        Parameters
        ----------
        other: Interface_BitMap
        copied: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Initialize a bitmap from another one.

        """
        return _Interface.Interface_BitMap_Initialize(self, *args)

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

        Description
        -----------
        Returns the count of items (i.e. the length of the bitmap).

        """
        return _Interface.Interface_BitMap_Length(self, *args)

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

        Description
        -----------
        Returns the count of flags (flag 0 not included).

        """
        return _Interface.Interface_BitMap_NbFlags(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        bool

        Description
        -----------
        Removes a flag given its number. returns true if done, false if num is out of range.

        """
        return _Interface.Interface_BitMap_RemoveFlag(self, *args)

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

        Parameters
        ----------
        moreflags: int

        Return
        -------
        None

        Description
        -----------
        Reservates for a count of more flags.

        """
        return _Interface.Interface_BitMap_Reservate(self, *args)

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

        Parameters
        ----------
        item: int
        flag: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Sets a flag to false.

        """
        return _Interface.Interface_BitMap_SetFalse(self, *args)

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

        Parameters
        ----------
        num: int
        name: str

        Return
        -------
        bool

        Description
        -----------
        Sets a name for a flag, given its number name can be empty (to erase the name of a flag) returns true if done, false if: num is out of range, or name non-empty already set to another flag.

        """
        return _Interface.Interface_BitMap_SetFlagName(self, *args)

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

        Parameters
        ----------
        nbitems: int

        Return
        -------
        None

        Description
        -----------
        Sets for a new count of items, which can be either less or greater than the former one for new items, their flags start at false.

        """
        return _Interface.Interface_BitMap_SetLength(self, *args)

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

        Parameters
        ----------
        item: int
        flag: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Sets a flag to true.

        """
        return _Interface.Interface_BitMap_SetTrue(self, *args)

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

        Parameters
        ----------
        item: int
        val: bool
        flag: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Sets a new value for a flag.

        """
        return _Interface.Interface_BitMap_SetValue(self, *args)

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

        Parameters
        ----------
        item: int
        flag: int (optional, default to 0)

        Return
        -------
        bool

        Description
        -----------
        Returns the value (true/false) of a flag, from: - the number of the item - the flag number, by default 0.

        """
        return _Interface.Interface_BitMap_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_BitMap

# Register Interface_BitMap in _Interface:
_Interface.Interface_BitMap_swigregister(Interface_BitMap)
class Interface_Category(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates a category, with no protocol yet.

        Parameters
        ----------
        theProtocol: Interface_Protocol

        Return
        -------
        None

        Description
        -----------
        Creates a category with a given protocol.

        Parameters
        ----------
        theGTool: Interface_GTool

        Return
        -------
        None

        Description
        -----------
        Creates a category with a given gtool.

        """
        _Interface.Interface_Category_swiginit(self, _Interface.new_Interface_Category(*args))

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

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

        Return
        -------
        int

        Description
        -----------
        Records a new category defined by its names, produces a number new if not yet recorded.

        """
        return _Interface.Interface_Category_AddCategory(*args)

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

        Parameters
        ----------
        theEnt: Standard_Transient
        theShares: Interface_ShareTool

        Return
        -------
        int

        Description
        -----------
        Determines the category number for an entity in its context, by using general service categorynumber.

        """
        return _Interface.Interface_Category_CatNum(self, *args)

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

        Description
        -----------
        Clears the recorded list of category numbers for a model.

        """
        return _Interface.Interface_Category_ClearNums(self, *args)

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

        Parameters
        ----------
        theModel: Interface_InterfaceModel
        theShares: Interface_ShareTool

        Return
        -------
        None

        Description
        -----------
        Computes the category number for each entity and records it, in an array (ent.number -> category number) hence, it can be queried by the method num. the model itself is not recorded, this method is intended to be used in a wider context (which detains also a graph, etc).

        """
        return _Interface.Interface_Category_Compute(self, *args)

    @staticmethod
    def Init(*args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Default initialisation (protected against several calls: passes only once).

        """
        return _Interface.Interface_Category_Init(*args)

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

        Parameters
        ----------
        theNum: int

        Return
        -------
        str

        Description
        -----------
        Returns the name of a category, according to its number.

        """
        return _Interface.Interface_Category_Name(*args)

    @staticmethod
    def NbCategories(*args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Returns the count of recorded categories.

        """
        return _Interface.Interface_Category_NbCategories(*args)

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

        Parameters
        ----------
        theNumEnt: int

        Return
        -------
        int

        Description
        -----------
        Returns the category number recorded for an entity number returns 0 if out of range.

        """
        return _Interface.Interface_Category_Num(self, *args)

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

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

        Return
        -------
        int

        Description
        -----------
        Returns the number of a category, according to its name.

        """
        return _Interface.Interface_Category_Number(*args)

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

        Parameters
        ----------
        theProtocol: Interface_Protocol

        Return
        -------
        None

        Description
        -----------
        Sets/changes protocol.

        """
        return _Interface.Interface_Category_SetProtocol(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_Category

# Register Interface_Category in _Interface:
_Interface.Interface_Category_swigregister(Interface_Category)
class Interface_Check(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Allows definition of a sequence. used also for global check of an interfacemodel (which stores global messages for file).

        Parameters
        ----------
        anentity: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Defines a check on an entity.

        """
        _Interface.Interface_Check_swiginit(self, _Interface.new_Interface_Check(*args))

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

        Parameters
        ----------
        amess: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Records a new fail message.

        Parameters
        ----------
        amess: TCollection_HAsciiString
        orig: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Records a new fail message under two forms: final,original.

        Parameters
        ----------
        amess: str
        orig: str (optional, default to )

        Return
        -------
        None

        Description
        -----------
        Records a new fail message given as 'error text' directly if <orig> is given, a distinct original form is recorded else (d), the original form equates <amess>.

        Parameters
        ----------
        amsg: Message_Msg

        Return
        -------
        None

        Description
        -----------
        Records a new fail from the definition of a msg (original+value).

        """
        return _Interface.Interface_Check_AddFail(self, *args)

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

        Parameters
        ----------
        amess: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Records a new warning message.

        Parameters
        ----------
        amess: TCollection_HAsciiString
        orig: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Records a new warning message under two forms: final,original.

        Parameters
        ----------
        amess: str
        orig: str (optional, default to )

        Return
        -------
        None

        Description
        -----------
        Records a warning message given as 'warning message' directly if <orig> is given, a distinct original form is recorded else (d), the original form equates <amess>.

        Parameters
        ----------
        amsg: Message_Msg

        Return
        -------
        None

        Description
        -----------
        Records a new warning from the definition of a msg (original+value).

        """
        return _Interface.Interface_Check_AddWarning(self, *args)

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

        Parameters
        ----------
        num: int
        final: bool (optional, default to Standard_True)

        Return
        -------
        str

        Description
        -----------
        Same as above, but returns a cstring (to be printed ...) final form by default, original form if <final> is false.

        """
        return _Interface.Interface_Check_CFail(self, *args)

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

        Parameters
        ----------
        num: int
        final: bool (optional, default to Standard_True)

        Return
        -------
        str

        Description
        -----------
        Same as above, but returns a cstring (to be printed ...) final form by default, original form if <final> is false.

        """
        return _Interface.Interface_Check_CInfoMsg(self, *args)

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

        Parameters
        ----------
        num: int
        final: bool (optional, default to Standard_True)

        Return
        -------
        str

        Description
        -----------
        Same as above, but returns a cstring (to be printed ...) final form by default, original form if <final> is false.

        """
        return _Interface.Interface_Check_CWarning(self, *args)

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

        Description
        -----------
        Clears a check, in order to receive information from transfer (messages and entity).

        """
        return _Interface.Interface_Check_Clear(self, *args)

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

        Description
        -----------
        Clears the fail messages (for instance to keep only warnings).

        """
        return _Interface.Interface_Check_ClearFails(self, *args)

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

        Description
        -----------
        Clears the info messages.

        """
        return _Interface.Interface_Check_ClearInfoMsgs(self, *args)

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

        Description
        -----------
        Clears the warning messages (for instance to keep only fails).

        """
        return _Interface.Interface_Check_ClearWarnings(self, *args)

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

        Parameters
        ----------
        status: Interface_CheckStatus

        Return
        -------
        bool

        Description
        -----------
        Tells if check status complies with a given one (i.e. also status for query).

        Parameters
        ----------
        mess: TCollection_HAsciiString
        incl: int
        status: Interface_CheckStatus

        Return
        -------
        bool

        Description
        -----------
        Tells if a message is brought by a check, as follows: <incl> = 0: <mess> exactly matches one of the messages <incl> < 0: <mess> is contained by one of the messages <incl> > 0: <mess> contains one of the messages for <status>: for checkwarning and checkfail, considers only resp. warning or check messages. for checkany, considers all other values are ignored (answer will be false).

        """
        return _Interface.Interface_Check_Complies(self, *args)

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

        Description
        -----------
        Returns the entity on which the check has been defined.

        """
        return _Interface.Interface_Check_Entity(self, *args)

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

        Parameters
        ----------
        num: int
        final: bool (optional, default to Standard_True)

        Return
        -------
        opencascade::handle<TCollection_HAsciiString>

        Description
        -----------
        Returns fail message as a string final form by default, original form if <final> is false.

        """
        return _Interface.Interface_Check_Fail(self, *args)

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

        Parameters
        ----------
        final: bool (optional, default to Standard_True)

        Return
        -------
        opencascade::handle<TColStd_HSequenceOfHAsciiString>

        Description
        -----------
        Returns the list of fails, for a frontal-engine logic final forms by default, original forms if <final> is false can be empty.

        """
        return _Interface.Interface_Check_Fails(self, *args)

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

        Parameters
        ----------
        other: Interface_Check
        failsonly: bool

        Return
        -------
        None

        Description
        -----------
        Copies messages converted into warning messages if failsonly is true, only fails are taken, and converted else, warnings are taken too. does not regard entity used to keep fail messages as warning, after a recovery.

        """
        return _Interface.Interface_Check_GetAsWarning(self, *args)

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

        Parameters
        ----------
        anentity: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Same as setentity (old form kept for compatibility) warning: does nothing if entity field is not yet clear.

        """
        return _Interface.Interface_Check_GetEntity(self, *args)

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

        Parameters
        ----------
        other: Interface_Check

        Return
        -------
        None

        Description
        -----------
        Copies messages stored in another check, cumulating does not regard other's entity. used to cumulate messages.

        """
        return _Interface.Interface_Check_GetMessages(self, *args)

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

        Description
        -----------
        Returns true if a check is devoted to an entity; else, it is global (for interfacemodel's storing of global error messages).

        """
        return _Interface.Interface_Check_HasEntity(self, *args)

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

        Description
        -----------
        Returns true if check brings at least one fail message.

        """
        return _Interface.Interface_Check_HasFailed(self, *args)

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

        Description
        -----------
        Returns true if check brings at least one warning message.

        """
        return _Interface.Interface_Check_HasWarnings(self, *args)

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

        Parameters
        ----------
        num: int
        final: bool (optional, default to Standard_True)

        Return
        -------
        opencascade::handle<TCollection_HAsciiString>

        Description
        -----------
        Returns information message as a string.

        """
        return _Interface.Interface_Check_InfoMsg(self, *args)

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

        Parameters
        ----------
        final: bool (optional, default to Standard_True)

        Return
        -------
        opencascade::handle<TColStd_HSequenceOfHAsciiString>

        Description
        -----------
        Returns the list of info msg, for a frontal-engine logic final forms by default, original forms if <final> is false can be empty.

        """
        return _Interface.Interface_Check_InfoMsgs(self, *args)

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

        Parameters
        ----------
        pref: str
        num: int (optional, default to 0)

        Return
        -------
        bool

        Description
        -----------
        Mends messages, according <pref> and <num> according to <num>, works on the whole list of fails if = 0(d) or only one fail message, given its rank if <pref> is empty, converts fail(s) to warning(s) else, does the conversion but prefixes the new warning(s) but <pref> followed by a semi-column some reserved values of <pref> are: 'fm': standard prefix 'mended' (can be translated) 'cf': clears fail(s) 'cw': clears warning(s): here, <num> refers to warning list 'ca': clears all messages: here, <num> is ignored.

        """
        return _Interface.Interface_Check_Mend(self, *args)

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

        Description
        -----------
        Returns count of recorded fails.

        """
        return _Interface.Interface_Check_NbFails(self, *args)

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

        Description
        -----------
        Returns the count of recorded information messages.

        """
        return _Interface.Interface_Check_NbInfoMsgs(self, *args)

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

        Description
        -----------
        Returns count of recorded warning messages.

        """
        return _Interface.Interface_Check_NbWarnings(self, *args)

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

        Parameters
        ----------
        mess: TCollection_HAsciiString
        incl: int
        status: Interface_CheckStatus

        Return
        -------
        bool

        Description
        -----------
        Removes the messages which comply with <mess>, as follows: <incl> = 0: <mess> exactly matches one of the messages <incl> < 0: <mess> is contained by one of the messages <incl> > 0: <mess> contains one of the messages for <status>: for checkwarning and checkfail, considers only resp. warning or check messages. for checkany, considers all other values are ignored (nothing is done) returns true if at least one message has been removed, false else.

        """
        return _Interface.Interface_Check_Remove(self, *args)

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

        Parameters
        ----------
        amsg: Message_Msg

        Return
        -------
        None

        Description
        -----------
        New name for addfail (msg).

        """
        return _Interface.Interface_Check_SendFail(self, *args)

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

        Parameters
        ----------
        amsg: Message_Msg

        Return
        -------
        None

        Description
        -----------
        Records an information message this does not change the status of the check.

        """
        return _Interface.Interface_Check_SendMsg(self, *args)

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

        Parameters
        ----------
        amsg: Message_Msg

        Return
        -------
        None

        Description
        -----------
        New name for addwarning.

        """
        return _Interface.Interface_Check_SendWarning(self, *args)

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

        Parameters
        ----------
        anentity: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Receives an entity result of a transfer.

        """
        return _Interface.Interface_Check_SetEntity(self, *args)

    def Status(self, *args):
        r"""
        Return
        -------
        Interface_CheckStatus

        Description
        -----------
        Returns the check status: ok, warning or fail.

        """
        return _Interface.Interface_Check_Status(self, *args)

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

        Parameters
        ----------
        level: int (optional, default to -1)
        final: int (optional, default to 1)

        Return
        -------
        None

        Description
        -----------
        Prints the messages of the check to the default trace file by default, according to the default standard level else, according level (see method print).

        """
        return _Interface.Interface_Check_Trace(self, *args)

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

        Parameters
        ----------
        num: int
        final: bool (optional, default to Standard_True)

        Return
        -------
        opencascade::handle<TCollection_HAsciiString>

        Description
        -----------
        Returns warning message as a string final form by default, original form if <final> is false.

        """
        return _Interface.Interface_Check_Warning(self, *args)

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

        Parameters
        ----------
        final: bool (optional, default to Standard_True)

        Return
        -------
        opencascade::handle<TColStd_HSequenceOfHAsciiString>

        Description
        -----------
        Returns the list of warnings, for a frontal-engine logic final forms by default, original forms if <final> is false can be empty.

        """
        return _Interface.Interface_Check_Warnings(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_Check

# Register Interface_Check in _Interface:
_Interface.Interface_Check_swigregister(Interface_Check)
class Interface_CheckIterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates an empty checkiterator.

        Parameters
        ----------
        name: str

        Return
        -------
        None

        Description
        -----------
        Creates a checkiterator with a name (displayed by print as a title).

        """
        _Interface.Interface_CheckIterator_swiginit(self, _Interface.new_Interface_CheckIterator(*args))

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

        Parameters
        ----------
        ach: Interface_Check
        num: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Adds a check to the list to be iterated this check is accompanied by entity number in the model (0 for global check or entity unknown in the model), if 0 and model is recorded in <self>, it is computed.

        """
        return _Interface.Interface_CheckIterator_Add(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        opencascade::handle<Interface_Check>

        Description
        -----------
        Returns the check bound to an entity number (0: global) in order to be consulted or completed on the spot i.e. returns the check if is already exists, or adds it then returns the new empty check.

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        opencascade::handle<Interface_Check>

        Description
        -----------
        Returns the check bound to an entity, in order to be consulted or completed on the spot i.e. returns the check if is already exists, or adds it then returns the new empty check.

        """
        return _Interface.Interface_CheckIterator_CCheck(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        opencascade::handle<Interface_Check>

        Description
        -----------
        Returns the check which was attached to an entity given its number in the model. <num>=0 is for the global check. if no check was recorded for this number, returns an empty check. remark: works apart from the iteration methods (no interference).

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        opencascade::handle<Interface_Check>

        Description
        -----------
        Returns the check attached to an entity if no check was recorded for this entity, returns an empty check. remark: works apart from the iteration methods (no interference).

        """
        return _Interface.Interface_CheckIterator_Check(self, *args)

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

        Parameters
        ----------
        failsonly: bool
        global: bool

        Return
        -------
        opencascade::handle<TColStd_HSequenceOfTransient>

        Description
        -----------
        Returns the list of entities concerned by a check only fails if <failsonly> is true, else all non-empty checks if <global> is true, adds the model for a global check else, global check is ignored.

        """
        return _Interface.Interface_CheckIterator_Checkeds(self, *args)

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

        Description
        -----------
        Clears the list of checks.

        """
        return _Interface.Interface_CheckIterator_Clear(self, *args)

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

        Parameters
        ----------
        status: Interface_CheckStatus

        Return
        -------
        bool

        Description
        -----------
        Tells if this check list complies with a given status: ok (i.e. empty), warning (at least one warning, but no fail), fail (at least one), message (not ok), nofail, any.

        """
        return _Interface.Interface_CheckIterator_Complies(self, *args)

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

        Description
        -----------
        Clears data of iteration.

        """
        return _Interface.Interface_CheckIterator_Destroy(self, *args)

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

        Parameters
        ----------
        status: Interface_CheckStatus

        Return
        -------
        Interface_CheckIterator

        Description
        -----------
        Returns a checkiterator which contains the checks which comply with a given status each check is added completely (no split warning/fail).

        Parameters
        ----------
        mess: str
        incl: int
        status: Interface_CheckStatus

        Return
        -------
        Interface_CheckIterator

        Description
        -----------
        Returns a checkiterator which contains the check which comply with a message, plus some conditions as follows: <incl> = 0: <mess> exactly matches one of the messages <incl> < 0: <mess> is contained by one of the messages <incl> > 0: <mess> contains one of the messages for <status>: for checkwarning and checkfail, considers only resp. warning or check messages. for checkany, considers all other values are ignored (answer will be false) each check which complies is entirely taken.

        """
        return _Interface.Interface_CheckIterator_Extract(self, *args)

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

        Parameters
        ----------
        failsonly: bool

        Return
        -------
        bool

        Description
        -----------
        Returns true if: no fail has been recorded if <failsonly> is true, no check at all if <failsonly> is false.

        """
        return _Interface.Interface_CheckIterator_IsEmpty(self, *args)

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

        Parameters
        ----------
        other: Interface_CheckIterator

        Return
        -------
        None

        Description
        -----------
        Merges another checkiterator into <self>, i.e. adds each of its checks. content of <other> remains unchanged. takes also the model but not the name.

        """
        return _Interface.Interface_CheckIterator_Merge(self, *args)

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

        Description
        -----------
        Returns the stored model (can be a null handle).

        """
        return _Interface.Interface_CheckIterator_Model(self, *args)

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

        Description
        -----------
        Returns true if there are more checks to get.

        """
        return _Interface.Interface_CheckIterator_More(self, *args)

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

        Description
        -----------
        Returns the recorded name (can be empty).

        """
        return _Interface.Interface_CheckIterator_Name(self, *args)

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

        Description
        -----------
        Sets iteration to next item.

        """
        return _Interface.Interface_CheckIterator_Next(self, *args)

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

        Description
        -----------
        Returns number of entity for the check currently iterated or 0 for globalcheck.

        """
        return _Interface.Interface_CheckIterator_Number(self, *args)

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

        Parameters
        ----------
        mess: str
        incl: int
        status: Interface_CheckStatus

        Return
        -------
        bool

        Description
        -----------
        Removes the messages of all checks, under these conditions: <incl> = 0: <mess> exactly matches one of the messages <incl> < 0: <mess> is contained by one of the messages <incl> > 0: <mess> contains one of the messages for <status>: for checkwarning and checkfail, considers only resp. warning or check messages. for checkany, considers all other values are ignored (nothing is done) returns true if at least one message has been removed, false else.

        """
        return _Interface.Interface_CheckIterator_Remove(self, *args)

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

        Parameters
        ----------
        model: Interface_InterfaceModel

        Return
        -------
        None

        Description
        -----------
        Defines a model, used to locate entities (not required, if it is absent, entities are simply less documented).

        """
        return _Interface.Interface_CheckIterator_SetModel(self, *args)

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

        Parameters
        ----------
        name: str

        Return
        -------
        None

        Description
        -----------
        Sets / changes the name.

        """
        return _Interface.Interface_CheckIterator_SetName(self, *args)

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

        Description
        -----------
        Starts iteration. thus, it is possible to restart it remark: an iteration may be done with a const iterator while its content is modified (through a pointer), this allows to give it as a const argument to a function.

        """
        return _Interface.Interface_CheckIterator_Start(self, *args)

    def Status(self, *args):
        r"""
        Return
        -------
        Interface_CheckStatus

        Description
        -----------
        Returns worst status among: ok, warning, fail.

        """
        return _Interface.Interface_CheckIterator_Status(self, *args)

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

        Description
        -----------
        Returns check currently iterated it brings all other information (status, messages, ...) the number of the entity in the model is given by number below.

        """
        return _Interface.Interface_CheckIterator_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_CheckIterator

# Register Interface_CheckIterator in _Interface:
_Interface.Interface_CheckIterator_swigregister(Interface_CheckIterator)
class Interface_CheckTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        model: Interface_InterfaceModel
        protocol: Interface_Protocol

        Return
        -------
        None

        Description
        -----------
        Creates a checktool, by calling the general service library and modules, selected through a protocol, to work on a model moreover, protocol recognizes unknown entities.

        Parameters
        ----------
        model: Interface_InterfaceModel

        Return
        -------
        None

        Description
        -----------
        Creates a checktool, by calling the general service library and modules, selected through a protocol, to work on a model protocol and so on are taken from the model (its gtool).

        Parameters
        ----------
        graph: Interface_Graph

        Return
        -------
        None

        Description
        -----------
        Creates a checktool from a graph. the graph contains a model which designates a protocol: they are used to create sharetool.

        Parameters
        ----------
        hgraph: Interface_HGraph

        Return
        -------
        None

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

        """
        _Interface.Interface_CheckTool_swiginit(self, _Interface.new_Interface_CheckTool(*args))

    def AnalyseCheckList(self, *args):
        r"""
        Return
        -------
        Interface_CheckIterator

        Description
        -----------
        Returns list of errors detected at analyse time (syntactic) (note that globalcheck is not in this list).

        """
        return _Interface.Interface_CheckTool_AnalyseCheckList(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        opencascade::handle<Interface_Check>

        Description
        -----------
        Returns the check associated to an entity identified by its number in a model.

        """
        return _Interface.Interface_CheckTool_Check(self, *args)

    def CheckList(self, *args):
        r"""
        Return
        -------
        Interface_CheckIterator

        Description
        -----------
        Returns list of all errors detected note that presence of unknown entities is not an error cumulates: globalcheck if error + analysechecklist + verifychecklist.

        """
        return _Interface.Interface_CheckTool_CheckList(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Checks if any error has been detected (checklist not empty) returns normally if none, raises exception if some exists. it reuses the last computations from other checking methods, unless the argument <reset> is given true.

        """
        return _Interface.Interface_CheckTool_CheckSuccess(self, *args)

    def CompleteCheckList(self, *args):
        r"""
        Return
        -------
        Interface_CheckIterator

        Description
        -----------
        Returns list of all 'remarkable' information, which include: - globalcheck, if not empty - error checks, for all errors (verify + analyse) - also corrected entities - and unknown entities: for those, each unknown entity is associated to an empty check (it is neither an error nor a correction, but a remarkable information).

        """
        return _Interface.Interface_CheckTool_CompleteCheckList(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient
        sh: Interface_ShareTool
        ach: Interface_Check

        Return
        -------
        None

        Description
        -----------
        Fills as required a check with the error and warning messages produced by checking a given entity. for an erroneous or corrected entity: check build at analyse time; else, check computed for entity (verify integrity), can use a graph as required to control context.

        """
        return _Interface.Interface_CheckTool_FillCheck(self, *args)

    def UnknownEntities(self, *args):
        r"""
        Return
        -------
        Interface_EntityIterator

        Description
        -----------
        Returns list of unknown entities note that error and erroneous entities are not considered as unknown.

        """
        return _Interface.Interface_CheckTool_UnknownEntities(self, *args)

    def VerifyCheckList(self, *args):
        r"""
        Return
        -------
        Interface_CheckIterator

        Description
        -----------
        Returns list of integrity constraints errors (semantic) (note that globalcheck is not in this list).

        """
        return _Interface.Interface_CheckTool_VerifyCheckList(self, *args)

    def WarningCheckList(self, *args):
        r"""
        Return
        -------
        Interface_CheckIterator

        Description
        -----------
        Returns list of corrections (includes globalcheck if corrected).

        """
        return _Interface.Interface_CheckTool_WarningCheckList(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_CheckTool

# Register Interface_CheckTool in _Interface:
_Interface.Interface_CheckTool_swigregister(Interface_CheckTool)
class Interface_CopyControl(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 Bind(self, *args):
        r"""

        Parameters
        ----------
        ent: Standard_Transient
        res: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Bind a result to a starting entity identified by its number.

        """
        return _Interface.Interface_CopyControl_Bind(self, *args)

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

        Description
        -----------
        Clears list of copy results. gets ready to begin another copy process.

        """
        return _Interface.Interface_CopyControl_Clear(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient
        res: Standard_Transient

        Return
        -------
        bool

        Description
        -----------
        Searches for the result bound to a startingf entity identified by its number. if found, returns true and fills <res> else, returns false and nullifies <res>.

        """
        return _Interface.Interface_CopyControl_Search(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_CopyControl

# Register Interface_CopyControl in _Interface:
_Interface.Interface_CopyControl_swigregister(Interface_CopyControl)
class Interface_CopyTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        amodel: Interface_InterfaceModel
        lib: Interface_GeneralLib

        Return
        -------
        None

        Description
        -----------
        Creates a copytool adapted to work from a model. works with a general service library, given as an argument.

        Parameters
        ----------
        amodel: Interface_InterfaceModel
        protocol: Interface_Protocol

        Return
        -------
        None

        Description
        -----------
        Same as above, but library is defined through a protocol.

        Parameters
        ----------
        amodel: Interface_InterfaceModel

        Return
        -------
        None

        Description
        -----------
        Same as above, but works with the active protocol.

        """
        _Interface.Interface_CopyTool_swiginit(self, _Interface.new_Interface_CopyTool(*args))

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

        Parameters
        ----------
        ent: Standard_Transient
        res: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Defines a result for the transfer of a starting object. used by method transferred (which performs a normal copy), but can also be called to enforce a result: in the latter case, the enforced result must be compatible with the other transfers which are performed.

        """
        return _Interface.Interface_CopyTool_Bind(self, *args)

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

        Description
        -----------
        Clears transfer list. gets ready to begin another transfer.

        """
        return _Interface.Interface_CopyTool_Clear(self, *args)

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

        Description
        -----------
        Clears lastflags only. this allows to know what entities are copied after its call (see method lastcopiedafter). it can be used when copies are done by increments, which must be distinghished. clearlastflags is also called by clear.

        """
        return _Interface.Interface_CopyTool_ClearLastFlags(self, *args)

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

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

        Return
        -------
        Interface_EntityIterator

        Description
        -----------
        Returns the complete list of copied entities if <withreports> is given true, the entities which were reported in the starting model are replaced in the list by the copied reportentities.

        """
        return _Interface.Interface_CopyTool_CompleteResult(self, *args)

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

        Description
        -----------
        Returns the object used for control.

        """
        return _Interface.Interface_CopyTool_Control(self, *args)

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

        Parameters
        ----------
        entfrom: Standard_Transient
        entto: Standard_Transient
        mapped: bool
        errstat: bool

        Return
        -------
        bool

        Description
        -----------
        Creates the counterpart of an entity (by shallowcopy), binds it, then copies the content of the former entity to the other one (same type), by call to the general service library it may command the copy of referenced entities then, its returns true. //! if <mapped> is true, the map is used to store the result else, the result is simply produced: it can be used to copy internal sub-parts of entities, which are not intended to be shared (strings, arrays, etc...) if <errstat> is true, this means that the entity is recorded in the model as erroneous: in this case, the general service for deep copy is not called (this could be dangerous): hence the counter-part is produced but empty, it can be referenced. //! this method does nothing and returns false if the protocol does not recognize <ent>. it basically makes a deep copy without changing the types. it can be redefined for special uses.

        """
        return _Interface.Interface_CopyTool_Copy(self, *args)

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

        Parameters
        ----------
        bmodel: Interface_InterfaceModel

        Return
        -------
        None

        Description
        -----------
        Fills a model with the result of the transfer (transferlist) commands copy of header too, and calls renewimpliedrefs.

        """
        return _Interface.Interface_CopyTool_FillModel(self, *args)

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

        Parameters
        ----------
        numfrom: int
        ent: Standard_Transient
        res: Standard_Transient

        Return
        -------
        int

        Description
        -----------
        Returns an copied entity and its result which were operated after last call to clearlastflags. it returns the first 'last copied entity' which number follows <numfrom>, zero if none. it is used in a loop as follow: integer num = 0; while ( (num = copytool.lastcopiedafter(num,ent,res)) ) { .. process starting <ent> and its result <res> }.

        """
        return _Interface.Interface_CopyTool_LastCopiedAfter(self, *args)

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

        Description
        -----------
        Returns the model on which the copytool works.

        """
        return _Interface.Interface_CopyTool_Model(self, *args)

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

        Description
        -----------
        Renews the implied references. these references do not involve copying of referenced entities. for such a reference, if the entity which defines it and the referenced entity are both copied, then this reference is renewed. else it is deleted in the copied entities. remark: this concerns only some specific references, such as 'back pointers'.

        """
        return _Interface.Interface_CopyTool_RenewImpliedRefs(self, *args)

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

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

        Return
        -------
        Interface_EntityIterator

        Description
        -----------
        Returns the list of root copied entities (those which were asked for copy by the user of copytool, not by copying another entity).

        """
        return _Interface.Interface_CopyTool_RootResult(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient
        res: Standard_Transient

        Return
        -------
        bool

        Description
        -----------
        Search for the result of a starting object (i.e. an entity) returns true if a result is bound (and fills 'result') returns false if no result is bound.

        """
        return _Interface.Interface_CopyTool_Search(self, *args)

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

        Parameters
        ----------
        othermap: Interface_CopyControl

        Return
        -------
        None

        Description
        -----------
        Changes the map of result for another one. this allows to work with a more sophisticated mapping control than the standard one which is copymap (e.g. transferprocess from transfer).

        """
        return _Interface.Interface_CopyTool_SetControl(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Transfers one entity and records result into the transfer list calls method transferred.

        """
        return _Interface.Interface_CopyTool_TransferEntity(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        opencascade::handle<Standard_Transient>

        Description
        -----------
        Transfers one entity, if not yet bound to a result remark: for an entity which is reported in the starting model, the reportentity will also be copied with its content if it has one (at least shallowcopy; complete copy if the protocol recognizes the content: see method copy).

        """
        return _Interface.Interface_CopyTool_Transferred(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_CopyTool

# Register Interface_CopyTool in _Interface:
_Interface.Interface_CopyTool_swigregister(Interface_CopyTool)
class Interface_EntityCluster(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates an empty, non-chained, entitycluster.

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Creates a non-chained entitycluster, filled with one entity.

        Parameters
        ----------
        ec: Interface_EntityCluster

        Return
        -------
        None

        Description
        -----------
        Creates an empty entitycluster, chained with another one (that is, put before this other one in the list).

        Parameters
        ----------
        ant: Standard_Transient
        ec: Interface_EntityCluster

        Return
        -------
        None

        Description
        -----------
        Creates an entitycluster, filled with a first entity, and chained to another entitycluster (before it, as above).

        """
        _Interface.Interface_EntityCluster_swiginit(self, _Interface.new_Interface_EntityCluster(*args))

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Appends an entity to the cluster. if it is not full, adds the entity directly inside itself. else, transmits to its next and creates it if it does not yet exist.

        """
        return _Interface.Interface_EntityCluster_Append(self, *args)

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

        Parameters
        ----------
        iter: Interface_EntityIterator

        Return
        -------
        None

        Description
        -----------
        Fills an iterator with designated entities (includes next).

        """
        return _Interface.Interface_EntityCluster_FillIterator(self, *args)

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

        Description
        -----------
        Returns total count of entities (including next).

        """
        return _Interface.Interface_EntityCluster_NbEntities(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        bool

        Description
        -----------
        Removes an entity from the cluster. if it is not found, calls its next one to do so. returns true if it becomes itself empty, false else (thus, a cluster which becomes empty is deleted from the list).

        Parameters
        ----------
        num: int

        Return
        -------
        bool

        Description
        -----------
        Removes an entity from the cluster, given its rank. if <num> is greater than nblocal, calls its next with (num - nblocal), returns true if it becomes itself empty, false else.

        """
        return _Interface.Interface_EntityCluster_Remove(self, *args)

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

        Parameters
        ----------
        num: int
        ent: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Changes an entity given its rank.

        """
        return _Interface.Interface_EntityCluster_SetValue(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        opencascade::handle<Standard_Transient>

        Description
        -----------
        Returns the entity identified by its rank in the list (including next).

        """
        return _Interface.Interface_EntityCluster_Value(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_EntityCluster

# Register Interface_EntityCluster in _Interface:
_Interface.Interface_EntityCluster_swigregister(Interface_EntityCluster)
class Interface_EntityIterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Defines an empty iterator (see addlist & additem).

        Parameters
        ----------
        list: TColStd_HSequenceOfTransient

        Return
        -------
        None

        Description
        -----------
        Defines an iterator on a list, directly i.e. without copying it.

        """
        _Interface.Interface_EntityIterator_swiginit(self, _Interface.new_Interface_EntityIterator(*args))

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

        Parameters
        ----------
        anentity: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Adds to the iteration list a defined entity.

        """
        return _Interface.Interface_EntityIterator_AddItem(self, *args)

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

        Parameters
        ----------
        list: TColStd_HSequenceOfTransient

        Return
        -------
        None

        Description
        -----------
        Gets a list of entities and adds its to the iteration list.

        """
        return _Interface.Interface_EntityIterator_AddList(self, *args)

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

        Description
        -----------
        Returns the content of the iterator, accessed through a handle to be used by a frontal-engine logic returns an empty sequence if the iterator is empty calls start if not yet done.

        """
        return _Interface.Interface_EntityIterator_Content(self, *args)

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

        Description
        -----------
        Clears data of iteration.

        """
        return _Interface.Interface_EntityIterator_Destroy(self, *args)

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

        Parameters
        ----------
        anentity: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Same as additem (kept for compatibility).

        """
        return _Interface.Interface_EntityIterator_GetOneItem(self, *args)

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

        Description
        -----------
        Says if there are other entities (vertices) to iterate the first time, calls start.

        """
        return _Interface.Interface_EntityIterator_More(self, *args)

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

        Description
        -----------
        Returns count of entities which will be iterated on calls start if not yet done.

        """
        return _Interface.Interface_EntityIterator_NbEntities(self, *args)

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

        Parameters
        ----------
        type: Standard_Type

        Return
        -------
        int

        Description
        -----------
        Returns count of entities of a given type (kind of).

        """
        return _Interface.Interface_EntityIterator_NbTyped(self, *args)

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

        Description
        -----------
        Sets iteration to the next entity (vertex) to give.

        """
        return _Interface.Interface_EntityIterator_Next(self, *args)

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

        Parameters
        ----------
        atype: Standard_Type
        keep: bool

        Return
        -------
        None

        Description
        -----------
        Selects entities with are kind of a given type, keep only them (is keep is true) or reject only them (if keep is false).

        """
        return _Interface.Interface_EntityIterator_SelectType(self, *args)

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

        Description
        -----------
        Allows re-iteration (useless for the first iteration).

        """
        return _Interface.Interface_EntityIterator_Start(self, *args)

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

        Parameters
        ----------
        type: Standard_Type

        Return
        -------
        Interface_EntityIterator

        Description
        -----------
        Returns the list of entities of a given type (kind of).

        """
        return _Interface.Interface_EntityIterator_Typed(self, *args)

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

        Description
        -----------
        Returns the current entity iterated, to be used by interface tools.

        """
        return _Interface.Interface_EntityIterator_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_EntityIterator

# Register Interface_EntityIterator in _Interface:
_Interface.Interface_EntityIterator_swigregister(Interface_EntityIterator)
class Interface_EntityList(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates a list as being empty.

        """
        _Interface.Interface_EntityList_swiginit(self, _Interface.new_Interface_EntityList(*args))

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Adds an entity to the list, that is, with no regard about the order (faster than append if count becomes greater than 10).

        """
        return _Interface.Interface_EntityList_Add(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Appends an entity, that is to the end of the list (keeps order, but works slowerly than add, see below).

        """
        return _Interface.Interface_EntityList_Append(self, *args)

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

        Description
        -----------
        Clears the list.

        """
        return _Interface.Interface_EntityList_Clear(self, *args)

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

        Parameters
        ----------
        iter: Interface_EntityIterator

        Return
        -------
        None

        Description
        -----------
        Fills an iterator with the content of the list (normal way to consult a list which has been filled with add).

        """
        return _Interface.Interface_EntityList_FillIterator(self, *args)

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

        Description
        -----------
        Returns true if the list is empty.

        """
        return _Interface.Interface_EntityList_IsEmpty(self, *args)

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

        Description
        -----------
        Returns count of recorded entities.

        """
        return _Interface.Interface_EntityList_NbEntities(self, *args)

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

        Parameters
        ----------
        atype: Standard_Type

        Return
        -------
        int

        Description
        -----------
        Returns count of entities of a given type (0: none).

        """
        return _Interface.Interface_EntityList_NbTypedEntities(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Removes an entity from the list, if it is there.

        Parameters
        ----------
        num: int

        Return
        -------
        None

        Description
        -----------
        Removes an entity from the list, given its rank.

        """
        return _Interface.Interface_EntityList_Remove(self, *args)

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

        Parameters
        ----------
        num: int
        ent: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Returns an item given its number. beware about the way the list was filled (see above, add and append).

        """
        return _Interface.Interface_EntityList_SetValue(self, *args)

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

        Parameters
        ----------
        atype: Standard_Type
        num: int (optional, default to 0)

        Return
        -------
        opencascade::handle<Standard_Transient>

        Description
        -----------
        Returns the entity which is of a given type. if num = 0 (d), there must be one and only one if num > 0, returns the num-th entity of this type.

        """
        return _Interface.Interface_EntityList_TypedEntity(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        opencascade::handle<Standard_Transient>

        Description
        -----------
        Returns an item given its number. beware about the way the list was filled (see above, add and append).

        """
        return _Interface.Interface_EntityList_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_EntityList

# Register Interface_EntityList in _Interface:
_Interface.Interface_EntityList_swigregister(Interface_EntityList)
class Interface_FileParameter(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _Interface.Interface_FileParameter_swiginit(self, _Interface.new_Interface_FileParameter(*args))

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

        Description
        -----------
        Same as above, but as a cstring (for immediate exploitation) was c++: return const.

        """
        return _Interface.Interface_FileParameter_CValue(self, *args)

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

        Description
        -----------
        Clears stored data: frees memory taken for the string value.

        """
        return _Interface.Interface_FileParameter_Clear(self, *args)

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

        Description
        -----------
        Destructor. does nothing because memory is managed by paramset.

        """
        return _Interface.Interface_FileParameter_Destroy(self, *args)

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

        Description
        -----------
        Returns value set by setentitynumber.

        """
        return _Interface.Interface_FileParameter_EntityNumber(self, *args)

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

        Parameters
        ----------
        val: str
        typ: Interface_ParamType

        Return
        -------
        None

        Description
        -----------
        Fills fields (with entity number set to zero).

        Parameters
        ----------
        val: str
        typ: Interface_ParamType

        Return
        -------
        None

        Description
        -----------
        Same as above, but builds the value from a cstring.

        """
        return _Interface.Interface_FileParameter_Init(self, *args)

    def ParamType(self, *args):
        r"""
        Return
        -------
        Interface_ParamType

        Description
        -----------
        Returns the type of the parameter.

        """
        return _Interface.Interface_FileParameter_ParamType(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        None

        Description
        -----------
        Allows to set a reference to an entity in a numbered list.

        """
        return _Interface.Interface_FileParameter_SetEntityNumber(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_FileParameter

# Register Interface_FileParameter in _Interface:
_Interface.Interface_FileParameter_swigregister(Interface_FileParameter)
class Interface_FileReaderData(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 AddParam(self, *args):
        r"""

        Parameters
        ----------
        num: int
        aval: str
        atype: Interface_ParamType
        nument: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Adds a parameter to record no 'num' and fills its fields (entitynumber is optional) warning: <aval> is assumed to be memory-managed elsewhere: it is not copied. this gives a best speed: strings remain stored in pages of characters.

        Parameters
        ----------
        num: int
        aval: str
        atype: Interface_ParamType
        nument: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Same as above, but gets a asciistring from tcollection remark that the content of the asciistring is locally copied (because its content is most often lost after using).

        Parameters
        ----------
        num: int
        FP: Interface_FileParameter

        Return
        -------
        None

        Description
        -----------
        Same as above, but gets a complete fileparameter warning: content of <fp> is not copied: its original address and space in memory are assumed to be managed elsewhere (see paramset).

        """
        return _Interface.Interface_FileReaderData_AddParam(self, *args)

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

        Parameters
        ----------
        num: int
        ent: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Binds an entity to a record.

        """
        return _Interface.Interface_FileReaderData_BindEntity(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        opencascade::handle<Standard_Transient>

        Description
        -----------
        Returns the entity bound to a record, set by setentities.

        """
        return _Interface.Interface_FileReaderData_BoundEntity(self, *args)

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

        Parameters
        ----------
        num: int
        nump: int

        Return
        -------
        Interface_FileParameter

        Description
        -----------
        Same as above, but in order to be modified on place.

        """
        return _Interface.Interface_FileReaderData_ChangeParam(self, *args)

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

        Description
        -----------
        Destructor (waiting for memory management).

        """
        return _Interface.Interface_FileReaderData_Destroy(self, *args)

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

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

        Return
        -------
        float

        Description
        -----------
        Same spec.s as standard <atof> but 5 times faster.

        """
        return _Interface.Interface_FileReaderData_Fastof(*args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        int

        Description
        -----------
        Determines the record number defining an entity following a given record number. specific to each sub-class of filereaderdata. returning zero means no record found.

        """
        return _Interface.Interface_FileReaderData_FindNextRecord(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        None

        Description
        -----------
        Attaches an empty paramlist to a record.

        """
        return _Interface.Interface_FileReaderData_InitParams(self, *args)

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

        Description
        -----------
        Returns true if the status 'error load' has been set (to true or false).

        """
        return _Interface.Interface_FileReaderData_IsErrorLoad(self, *args)

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

        Parameters
        ----------
        num: int
        nump: int

        Return
        -------
        bool

        Description
        -----------
        Returns true if parameter 'nump' of record 'num' is defined (it is not if its type is paramvoid).

        """
        return _Interface.Interface_FileReaderData_IsParamDefined(self, *args)

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

        Description
        -----------
        Returns the count of entities. depending of each norm, records can be entities or subparts (sublist in step, subgroup in set ...). nbentities counts only entities, not subs used for memory reservation in interfacemodel default implementation uses findnextrecord can be redefined into a more performant way.

        """
        return _Interface.Interface_FileReaderData_NbEntities(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        int

        Description
        -----------
        Returns count of parameters attached to record 'num' if <num> = 0, returns the total recorded count of parameters.

        """
        return _Interface.Interface_FileReaderData_NbParams(self, *args)

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

        Description
        -----------
        Returns the count of registered records that is, value given for initialization (can be redefined).

        """
        return _Interface.Interface_FileReaderData_NbRecords(self, *args)

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

        Parameters
        ----------
        num: int
        nump: int

        Return
        -------
        Interface_FileParameter

        Description
        -----------
        Returns parameter 'nump' of record 'num', as a complete fileparameter.

        """
        return _Interface.Interface_FileReaderData_Param(self, *args)

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

        Parameters
        ----------
        num: int
        nump: int

        Return
        -------
        str

        Description
        -----------
        Same as above, but as a cstring was c++: return const.

        """
        return _Interface.Interface_FileReaderData_ParamCValue(self, *args)

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

        Parameters
        ----------
        num: int
        nump: int

        Return
        -------
        opencascade::handle<Standard_Transient>

        Description
        -----------
        Returns the stepentity referenced by a parameter error if none.

        """
        return _Interface.Interface_FileReaderData_ParamEntity(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        int

        Description
        -----------
        Returns the absolute rank of the beginning of a record (its list is from paramfirstrank+1 to paramfirstrank+nbparams).

        """
        return _Interface.Interface_FileReaderData_ParamFirstRank(self, *args)

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

        Parameters
        ----------
        num: int
        nump: int

        Return
        -------
        int

        Description
        -----------
        Returns record number of an entity referenced by a parameter of type ident; 0 if no entitynumber has been determined note that it is used to reference entities but also sublists (sublists are not objects, but internal descriptions).

        """
        return _Interface.Interface_FileReaderData_ParamNumber(self, *args)

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

        Parameters
        ----------
        num: int
        nump: int

        Return
        -------
        Interface_ParamType

        Description
        -----------
        Returns type of parameter 'nump' of record 'num' returns literal value of parameter 'nump' of record 'num' was c++: return const &.

        """
        return _Interface.Interface_FileReaderData_ParamType(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        opencascade::handle<Interface_ParamList>

        Description
        -----------
        Returns the complete paramlist of a record (read only) num = 0 to return the whole param list for the file.

        """
        return _Interface.Interface_FileReaderData_Params(self, *args)

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

        Description
        -----------
        Returns the former value of status 'error load' then resets it used to read the status then ensure it is reset.

        """
        return _Interface.Interface_FileReaderData_ResetErrorLoad(self, *args)

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

        Parameters
        ----------
        val: bool

        Return
        -------
        None

        Description
        -----------
        Sets the status 'error load' on, to overside check fails <val> true: declares unloaded <val> false: declares loaded if not called before loading (see filereadertool), check fails give the status iserrorload says if seterrorload has been called by user reseterrorload resets it (called by filereadertool) this allows to specify that the currently loaded entity remains unloaded (because of syntactic fail).

        """
        return _Interface.Interface_FileReaderData_SetErrorLoad(self, *args)

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

        Parameters
        ----------
        num: int
        nump: int
        FP: Interface_FileParameter

        Return
        -------
        None

        Description
        -----------
        Sets a new value for a parameter of a record, given by: num: record number; nump: parameter number in the record.

        """
        return _Interface.Interface_FileReaderData_SetParam(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_FileReaderData

# Register Interface_FileReaderData in _Interface:
_Interface.Interface_FileReaderData_swigregister(Interface_FileReaderData)
class Interface_FileReaderTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

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

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

        Parameters
        ----------
        num: int
        anent: Standard_Transient
        acheck: Interface_Check

        Return
        -------
        bool

        Description
        -----------
        Fills an entity, given record no; specific to each interface, called by analysefile from interfacemodel (which manages its calling arguments) to work, each interface can define a method in its proper transient class, like this (given as an example): analyserecord (me: mutable; fr: in out filereadertool; num: integer; acheck: in out check) returns boolean; and call it from analyserecord //! returned value: true if the entity could be loaded, false else (in case of syntactic fail).

        """
        return _Interface.Interface_FileReaderTool_AnalyseRecord(self, *args)

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

        Parameters
        ----------
        amodel: Interface_InterfaceModel

        Return
        -------
        None

        Description
        -----------
        Fills model's header; each interface defines for its model its own file header; this method fills it from filereadertool.+ it is called by analysefile from interfacemodel.

        """
        return _Interface.Interface_FileReaderTool_BeginRead(self, *args)

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

        Description
        -----------
        Clear fields.

        """
        return _Interface.Interface_FileReaderTool_Clear(self, *args)

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

        Description
        -----------
        Returns the filereaderdata which is used to work.

        """
        return _Interface.Interface_FileReaderTool_Data(self, *args)

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

        Parameters
        ----------
        amodel: Interface_InterfaceModel

        Return
        -------
        None

        Description
        -----------
        Ends file reading after reading all the entities default is doing nothing; redefinable as necessary.

        """
        return _Interface.Interface_FileReaderTool_EndRead(self, *args)

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

        Description
        -----------
        Returns errorhandle flag.

        """
        return _Interface.Interface_FileReaderTool_ErrorHandle(self, *args)

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

        Parameters
        ----------
        amodel: Interface_InterfaceModel

        Return
        -------
        None

        Description
        -----------
        Reads and fills entities from the filereaderdata set by setdata to an interfacemodel. it enchains required operations, the specific ones correspond to deferred methods (below) to be defined for each norm. it manages also error recovery and trace. remark: it calls setmodel. it can raise any error which can occur during a load operation, unless error handling is set. this method can also be redefined if judged necessary.

        """
        return _Interface.Interface_FileReaderTool_LoadModel(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        opencascade::handle<Standard_Transient>

        Description
        -----------
        Reads, fills and returns one entity read from a record of the filereaderdata. this method manages also case of fail or warning, by producing a reportentyty plus , for a fail, a literal content (as an unknownentity). performs also trace.

        """
        return _Interface.Interface_FileReaderTool_LoadedEntity(self, *args)

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

        Description
        -----------
        Returns messenger used for outputting messages. the returned object is guaranteed to be non-null; default is message::messenger().

        """
        return _Interface.Interface_FileReaderTool_Messenger(self, *args)

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

        Description
        -----------
        Returns the stored model.

        """
        return _Interface.Interface_FileReaderTool_Model(self, *args)

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

        Description
        -----------
        Creates an empty model of the norm. uses protocol to do it.

        """
        return _Interface.Interface_FileReaderTool_NewModel(self, *args)

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

        Description
        -----------
        Returns the protocol given at creation time.

        """
        return _Interface.Interface_FileReaderTool_Protocol(self, *args)

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

        Parameters
        ----------
        num: int
        ach: Interface_Check
        ent: Standard_Transient

        Return
        -------
        bool

        Description
        -----------
        Recognizes a record, given its number. specific to each interface; called by setentities. it can call the basic method recognizebylib. returns false if recognition has failed, true else. <ach> has not to be filled if simply recognition has failed: it must record true error messages: recognizebylib can generate error messages if newread is called //! note that it works thru a recognizer (method evaluate) which has to be memorized before starting.

        """
        return _Interface.Interface_FileReaderTool_Recognize(self, *args)

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

        Parameters
        ----------
        num: int
        glib: Interface_GeneralLib
        rlib: Interface_ReaderLib
        ach: Interface_Check
        ent: Standard_Transient

        Return
        -------
        bool

        Description
        -----------
        Recognizes a record with the help of libraries. can be used to implement the method recognize. <rlib> is used to find protocol and casenumber to apply <glib> performs the creation (by service newvoid, or newread if newvoid gave no result) <ach> is a check, which is transmitted to newread if it is called, gives a result but which is false <ent> is the result returns false if recognition has failed, true else.

        """
        return _Interface.Interface_FileReaderTool_RecognizeByLib(self, *args)

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

        Parameters
        ----------
        reader: Interface_FileReaderData
        protocol: Interface_Protocol

        Return
        -------
        None

        Description
        -----------
        Sets data to a filereaderdata. works with a protocol.

        """
        return _Interface.Interface_FileReaderTool_SetData(self, *args)

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

        Description
        -----------
        Fills records with empty entities; once done, each entity can ask the filereadertool for any entity referenced through an identifier. calls recognize which is specific to each specific type of filereadertool.

        """
        return _Interface.Interface_FileReaderTool_SetEntities(self, *args)

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

        Parameters
        ----------
        err: bool

        Return
        -------
        None

        Description
        -----------
        Allows controlling whether exception raisings are handled if err is false, they are not (hence, dbx can take control) if err is true, they are, and they are traced (by putting on messenger entity's number and file record num) default given at model's creation time is true.

        """
        return _Interface.Interface_FileReaderTool_SetErrorHandle(self, *args)

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

        Parameters
        ----------
        messenger: Message_Messenger

        Return
        -------
        None

        Description
        -----------
        Sets messenger used for outputting messages.

        """
        return _Interface.Interface_FileReaderTool_SetMessenger(self, *args)

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

        Parameters
        ----------
        amodel: Interface_InterfaceModel

        Return
        -------
        None

        Description
        -----------
        Stores a model. used when the model has been loaded.

        """
        return _Interface.Interface_FileReaderTool_SetModel(self, *args)

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

        Parameters
        ----------
        tracelev: int

        Return
        -------
        None

        Description
        -----------
        Sets trace level used for outputting messages - 0: no trace at all - 1: errors - 2: errors and warnings - 3: all messages default is 1: errors traced.

        """
        return _Interface.Interface_FileReaderTool_SetTraceLevel(self, *args)

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

        Description
        -----------
        Returns trace level used for outputting messages.

        """
        return _Interface.Interface_FileReaderTool_TraceLevel(self, *args)

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

        Description
        -----------
        Provides an unknown entity, specific to the interface called by setentities when recognize has failed (unknown alone) or by loadmodel when an entity has caused a fail on reading (to keep at least its literal description) uses protocol to do it.

        """
        return _Interface.Interface_FileReaderTool_UnknownEntity(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_FileReaderTool

# Register Interface_FileReaderTool in _Interface:
_Interface.Interface_FileReaderTool_swigregister(Interface_FileReaderTool)
class Interface_FloatWriter(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        chars: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Creates a floatwriter ready to work, with default options - - zero suppress option is set - main format is set to '%e' - secondary format is set to '%f' for values between 0.1 and 1000. in absolute values if <chars> is given (and positive), it will produce options to produce this count of characters: '%<chars>f','%<chars>%e'.

        """
        _Interface.Interface_FloatWriter_swiginit(self, _Interface.new_Interface_FloatWriter(*args))

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

        Parameters
        ----------
        val: float
        text: str
        zerosup: bool
        Range1: float
        Range2: float
        mainform: str
        rangeform: str

        Return
        -------
        int

        Description
        -----------
        This class method converts a real value to a string, given options given as arguments. it can be called independently. warning: even if declared in, content of <text> will be modified.

        """
        return _Interface.Interface_FloatWriter_Convert(*args)

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

        Description
        -----------
        Returns the format for range, if set meaningful only if <range> from options is true was c++: return const.

        """
        return _Interface.Interface_FloatWriter_FormatForRange(self, *args)

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

        Description
        -----------
        Returns the main format was c++: return const.

        """
        return _Interface.Interface_FloatWriter_MainFormat(self, *args)

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

        Parameters
        ----------

        Return
        -------
        zerosup: bool
        range: bool
        R1: float
        R2: float

        Description
        -----------
        Returns active options: <zerosup> is the option zerosuppress, <range> is true if a range is set, false else r1,r2 give the range (if it is set).

        """
        return _Interface.Interface_FloatWriter_Options(self, *args)

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

        Parameters
        ----------
        chars: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Sets again options to the defaults given by create.

        """
        return _Interface.Interface_FloatWriter_SetDefaults(self, *args)

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

        Parameters
        ----------
        form: str
        reset: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Sets a specific format for sending reals (main format) (default from creation is '%e') if <reset> is given true (default), this call clears effects of former calls to setformatforrange and setzerosuppress.

        """
        return _Interface.Interface_FloatWriter_SetFormat(self, *args)

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

        Parameters
        ----------
        form: str
        R1: float
        R2: float

        Return
        -------
        None

        Description
        -----------
        Sets a secondary format for real, to be applied between r1 and r2 (in absolute values). a call to setrealform cancels this secondary form if <reset> is true. (default from creation is '%f' between 0.1 and 1000.) warning: if the condition (0. <= r1 < r2) is not fulfilled, this secondary form is canceled.

        """
        return _Interface.Interface_FloatWriter_SetFormatForRange(self, *args)

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

        Parameters
        ----------
        mode: bool

        Return
        -------
        None

        Description
        -----------
        Sets sending real parameters to suppress trailing zeros and null exponent ('e+00'), if <mode> is given true, resets this mode if <mode> is false (in addition to real forms) a call to setrealfrom resets this mode to false ig <reset> is given true (default from creation is true).

        """
        return _Interface.Interface_FloatWriter_SetZeroSuppress(self, *args)

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

        Parameters
        ----------
        val: float
        text: str

        Return
        -------
        int

        Description
        -----------
        Writes a real value <val> to a string <text> by using the options. returns the useful length of produced string. it calls the class method convert. warning: <text> is assumed to be wide enough (20-30 is correct) and, even if declared in, its content will be modified.

        """
        return _Interface.Interface_FloatWriter_Write(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_FloatWriter

# Register Interface_FloatWriter in _Interface:
_Interface.Interface_FloatWriter_swigregister(Interface_FloatWriter)
class Interface_GTool(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates an empty, not set, gtool.

        Parameters
        ----------
        proto: Interface_Protocol
        nbent: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Creates a gtool from a protocol optional starting count of entities.

        """
        _Interface.Interface_GTool_swiginit(self, _Interface.new_Interface_GTool(*args))

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

        Description
        -----------
        Clears the maps which record, for each already recorded entity its module and case number.

        """
        return _Interface.Interface_GTool_ClearEntities(self, *args)

    def Lib(self, *args):
        r"""
        Return
        -------
        Interface_GeneralLib

        Description
        -----------
        Returns the generallib itself.

        """
        return _Interface.Interface_GTool_Lib(self, *args)

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

        Description
        -----------
        Returns the protocol. warning: it can be null.

        """
        return _Interface.Interface_GTool_Protocol(self, *args)

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

        Parameters
        ----------
        nb: int
        enforce: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Reservates maps for a count of entities <enforce> false: minimum count <enforce> true: clears former reservations does not clear the maps.

        """
        return _Interface.Interface_GTool_Reservate(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient
        gmod: Interface_GeneralModule
        enforce: bool (optional, default to Standard_False)

        Return
        -------
        CN: int

        Description
        -----------
        Selects for an entity, its module and case number it is optimised: once done for each entity, the result is mapped and the generallib is not longer queried <enforce> true overpasses this optimisation.

        """
        return _Interface.Interface_GTool_Select(self, *args)

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

        Parameters
        ----------
        proto: Interface_Protocol
        enforce: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Sets a new protocol if <enforce> is false and the new protocol equates the old one then nothing is done.

        """
        return _Interface.Interface_GTool_SetProtocol(self, *args)

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

        Parameters
        ----------
        sign: Interface_SignType

        Return
        -------
        None

        Description
        -----------
        Sets a new signtype.

        """
        return _Interface.Interface_GTool_SetSignType(self, *args)

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

        Description
        -----------
        Returns the name of the signtype, or 'class name'.

        """
        return _Interface.Interface_GTool_SignName(self, *args)

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

        Description
        -----------
        Returns the signtype. can be null.

        """
        return _Interface.Interface_GTool_SignType(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient
        model: Interface_InterfaceModel

        Return
        -------
        str

        Description
        -----------
        Returns the signature for a transient object in a model it calls signtype to do that if signtype is not defined, return classname of <ent>.

        """
        return _Interface.Interface_GTool_SignValue(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_GTool

# Register Interface_GTool in _Interface:
_Interface.Interface_GTool_swigregister(Interface_GTool)
class Interface_GeneralLib(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        aprotocol: Interface_Protocol

        Return
        -------
        None

        Description
        -----------
        Creates a library which complies with a protocol, that is: same class (criterium isinstance) this creation gets the modules from the global set, those which are bound to the given protocol and its resources.
        Return
        -------
        None

        Description
        -----------
        Creates an empty library: it will later by filled by method addprotocol.

        """
        _Interface.Interface_GeneralLib_swiginit(self, _Interface.new_Interface_GeneralLib(*args))

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

        Parameters
        ----------
        aprotocol: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Adds a couple (module-protocol) to the library, given the class of a protocol. takes resources into account. (if <aprotocol> is not of type theprotocol, it is not added).

        """
        return _Interface.Interface_GeneralLib_AddProtocol(self, *args)

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

        Description
        -----------
        Clears the list of modules of a library (can be used to redefine the order of modules before action: clear then refill the library by calls to addprotocol).

        """
        return _Interface.Interface_GeneralLib_Clear(self, *args)

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

        Description
        -----------
        Returns the current module in the iteration.

        """
        return _Interface.Interface_GeneralLib_Module(self, *args)

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

        Description
        -----------
        Returns true if there are more modules to iterate on.

        """
        return _Interface.Interface_GeneralLib_More(self, *args)

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

        Description
        -----------
        Iterates by getting the next module in the list if there is none, the exception will be raised by value.

        """
        return _Interface.Interface_GeneralLib_Next(self, *args)

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

        Description
        -----------
        Returns the current protocol in the iteration.

        """
        return _Interface.Interface_GeneralLib_Protocol(self, *args)

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

        Parameters
        ----------
        obj: Standard_Transient
        module: Interface_GeneralModule

        Return
        -------
        CN: int

        Description
        -----------
        Selects a module from the library, given an object. returns true if select has succeeded, false else. also returns (as arguments) the selected module and the case number determined by the associated protocol. if select has failed, <module> is null handle and cn is zero. (select can work on any criterium, such as object dynamictype).

        """
        return _Interface.Interface_GeneralLib_Select(self, *args)

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

        Description
        -----------
        Sets a library to be defined with the complete global list (all the couples protocol/modules recorded in it).

        """
        return _Interface.Interface_GeneralLib_SetComplete(self, *args)

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

        Parameters
        ----------
        amodule: Interface_GeneralModule
        aprotocol: Interface_Protocol

        Return
        -------
        None

        Description
        -----------
        Adds a couple (module-protocol) into the global definition set for this class of library.

        """
        return _Interface.Interface_GeneralLib_SetGlobal(*args)

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

        Description
        -----------
        Starts iteration on the modules (sets it on the first one).

        """
        return _Interface.Interface_GeneralLib_Start(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_GeneralLib

# Register Interface_GeneralLib in _Interface:
_Interface.Interface_GeneralLib_swigregister(Interface_GeneralLib)
class Interface_GeneralModule(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 CanCopy(self, *args):
        r"""

        Parameters
        ----------
        CN: int
        ent: Standard_Transient

        Return
        -------
        bool

        Description
        -----------
        Specific answer to the question 'is copy properly implemented' remark that it should be in phase with the implementation of newvoid+copycase/newcopycase default returns always false, can be redefined.

        """
        return _Interface.Interface_GeneralModule_CanCopy(self, *args)

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

        Parameters
        ----------
        CN: int
        ent: Standard_Transient
        shares: Interface_ShareTool

        Return
        -------
        int

        Description
        -----------
        Returns a category number which characterizes an entity category numbers are managed by the class category <shares> can be used to evaluate this number in the context default returns 0 which means 'unspecified'.

        """
        return _Interface.Interface_GeneralModule_CategoryNumber(self, *args)

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

        Parameters
        ----------
        CN: int
        ent: Standard_Transient
        shares: Interface_ShareTool
        ach: Interface_Check

        Return
        -------
        None

        Description
        -----------
        Specific checking of an entity <ent> can check context queried through a sharetool, as required.

        """
        return _Interface.Interface_GeneralModule_CheckCase(self, *args)

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

        Parameters
        ----------
        CN: int
        entfrom: Standard_Transient
        entto: Standard_Transient
        TC: Interface_CopyTool

        Return
        -------
        None

        Description
        -----------
        Specific copy ('deep') from <entfrom> to <entto> (same type) by using a copytool which provides its working map. use method transferred from copytool to work.

        """
        return _Interface.Interface_GeneralModule_CopyCase(self, *args)

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

        Parameters
        ----------
        CN: int
        entfrom: Standard_Transient
        entto: Standard_Transient
        TC: Interface_CopyTool

        Return
        -------
        bool

        Description
        -----------
        Dispatches an entity returns true if it works by copy, false if it just duplicates the starting handle //! dispatching means producing a new entity, image of the starting one, in order to be put into a new model, this model being itself the result of a dispatch from an original model //! according to the cases, dispatch can either * just return <entto> as equating <entfrom> -> the new model designates the starting entity: it is lighter, but the dispatched entity being shared might not be modified for dispatch * copy <entfrom> to <entto> by calling newvoid+copycase (two steps) or newcopiedcase (1) -> the dispatched entity is a copy, hence it can be modified //! the provided default just duplicates the handle without copying, then returns false. can be redefined.

        """
        return _Interface.Interface_GeneralModule_Dispatch(self, *args)

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

        Parameters
        ----------
        model: Interface_InterfaceModel
        CN: int
        ent: Standard_Transient
        iter: Interface_EntityIterator

        Return
        -------
        None

        Description
        -----------
        Specific filling of the list of entities shared by an entity <ent>, according a case number <cn> (formerly computed by casenum), considered in the context of a model <model> default calls fillsharedcase (i.e., ignores the model) can be redefined to use the model for working.

        """
        return _Interface.Interface_GeneralModule_FillShared(self, *args)

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

        Parameters
        ----------
        CN: int
        ent: Standard_Transient
        iter: Interface_EntityIterator

        Return
        -------
        None

        Description
        -----------
        Specific filling of the list of entities shared by an entity <ent>, according a case number <cn> (formerly computed by casenum). can use the internal utility method share, below.

        """
        return _Interface.Interface_GeneralModule_FillSharedCase(self, *args)

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

        Parameters
        ----------
        model: Interface_InterfaceModel
        CN: int
        ent: Standard_Transient
        iter: Interface_EntityIterator

        Return
        -------
        None

        Description
        -----------
        List the implied references of <ent> considered in the context of a model <model>: i.e. the entities which are referenced while not considered as shared (not copied if <ent> is, references not renewed by copycase but by impliedcase, only if referenced entities have been copied too) fillshared + listimplied give the complete list of references default calls listimpliedcase (i.e. ignores the model) can be redefined to use the model for working.

        """
        return _Interface.Interface_GeneralModule_ListImplied(self, *args)

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

        Parameters
        ----------
        CN: int
        ent: Standard_Transient
        iter: Interface_EntityIterator

        Return
        -------
        None

        Description
        -----------
        List the implied references of <ent> (see above) are referenced while not considered as shared (not copied if <ent> is, references not renewed by copycase but by impliedcase, only if referenced entities have been copied too) fillsharedcase + listimpliedcase give the complete list of referenced entities the provided default method does nothing (implied references are specific of a little amount of entity classes).

        """
        return _Interface.Interface_GeneralModule_ListImpliedCase(self, *args)

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

        Parameters
        ----------
        CN: int
        ent: Standard_Transient
        shares: Interface_ShareTool

        Return
        -------
        opencascade::handle<TCollection_HAsciiString>

        Description
        -----------
        Determines if an entity brings a name (or widerly, if a name can be attached to it, through the sharetool by default, returns a null handle (no name can be produced) can be redefined //! warning: while this string may be edited on the spot, if it is a read field, the returned value must be copied before.

        """
        return _Interface.Interface_GeneralModule_Name(self, *args)

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

        Parameters
        ----------
        CN: int
        entfrom: Standard_Transient
        entto: Standard_Transient
        TC: Interface_CopyTool

        Return
        -------
        bool

        Description
        -----------
        Specific operator (create+copy) defaulted to do nothing. it can be redefined: when it is not possible to work in two steps (newvoid then copycase). this can occur when there is no default constructor: hence the result <entto> must be created with an effective definition. remark: if newcopiedcase is defined, copycase has nothing to do returns true if it has produced something, false else.

        """
        return _Interface.Interface_GeneralModule_NewCopiedCase(self, *args)

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

        Parameters
        ----------
        CN: int
        entto: Standard_Transient

        Return
        -------
        bool

        Description
        -----------
        Creates a new void entity <entto> according to a case number this entity remains to be filled, by reading from a file or by copying from another entity of same type (see copycase).

        """
        return _Interface.Interface_GeneralModule_NewVoid(self, *args)

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

        Parameters
        ----------
        CN: int
        entfrom: Standard_Transient
        entto: Standard_Transient
        TC: Interface_CopyTool

        Return
        -------
        None

        Description
        -----------
        Specific copying of implied references a default is provided which does nothing (must current case !) already copied references (by copyfrom) must remain unchanged use method search from copytool to work.

        """
        return _Interface.Interface_GeneralModule_RenewImpliedCase(self, *args)

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

        Parameters
        ----------
        iter: Interface_EntityIterator
        shared: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Adds an entity to a shared list (uses getoneitem on <iter>).

        """
        return _Interface.Interface_GeneralModule_Share(self, *args)

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

        Parameters
        ----------
        CN: int
        ent: Standard_Transient
        dispatched: bool

        Return
        -------
        None

        Description
        -----------
        Prepares an entity to be deleted. what does it mean: basically, any class of entity may define its own destructor by default, it does nothing but calling destructors on fields with the memory manager, it is useless to call destructor, it is done automatically when the handle is nullified(cleared) but this is ineffective in looping structures (whatever these are 'implied' references or not). //! thus: if no loop may appear in definitions, a class which inherits from tshared is correctly managed by automatic way but if there can be loops (or simply back pointers), they must be broken, for instance by clearing fields of one of the nodes the default does nothing, to be redefined if a loop can occur (implied generally requires whendelete, but other cases can occur) //! warning: <dispatched> tells if the entity to be deleted has been produced by dispatch or not. hence whendelete must be in coherence with dispatch dispatch can either copy or not. if it copies the entity, this one should be deleted if it doesn't (i.e. duplicates the handle) nothing to do //! if <dispatch> is false, normal deletion is to be performed.

        """
        return _Interface.Interface_GeneralModule_WhenDeleteCase(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_GeneralModule

# Register Interface_GeneralModule in _Interface:
_Interface.Interface_GeneralModule_swigregister(Interface_GeneralModule)
class Interface_GlobalNodeOfGeneralLib(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates an empty globalnode, with no next.

        """
        _Interface.Interface_GlobalNodeOfGeneralLib_swiginit(self, _Interface.new_Interface_GlobalNodeOfGeneralLib(*args))

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

        Parameters
        ----------
        amodule: Interface_GeneralModule
        aprotocol: Interface_Protocol

        Return
        -------
        None

        Description
        -----------
        Adds a module bound with a protocol to the list: does nothing if already in the list, that is, same type (exact match) and same state (that is, isequal is not required) once added, stores its attached protocol in correspondence.

        """
        return _Interface.Interface_GlobalNodeOfGeneralLib_Add(self, *args)

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

        Description
        -----------
        Returns the module stored in a given globalnode.

        """
        return _Interface.Interface_GlobalNodeOfGeneralLib_Module(self, *args)

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

        Description
        -----------
        Returns the next globalnode. if none is defined, returned value is a null handle.

        """
        return _Interface.Interface_GlobalNodeOfGeneralLib_Next(self, *args)

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

        Description
        -----------
        Returns the attached protocol stored in a given globalnode.

        """
        return _Interface.Interface_GlobalNodeOfGeneralLib_Protocol(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_GlobalNodeOfGeneralLib

# Register Interface_GlobalNodeOfGeneralLib in _Interface:
_Interface.Interface_GlobalNodeOfGeneralLib_swigregister(Interface_GlobalNodeOfGeneralLib)
class Interface_GlobalNodeOfReaderLib(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates an empty globalnode, with no next.

        """
        _Interface.Interface_GlobalNodeOfReaderLib_swiginit(self, _Interface.new_Interface_GlobalNodeOfReaderLib(*args))

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

        Parameters
        ----------
        amodule: Interface_ReaderModule
        aprotocol: Interface_Protocol

        Return
        -------
        None

        Description
        -----------
        Adds a module bound with a protocol to the list: does nothing if already in the list, that is, same type (exact match) and same state (that is, isequal is not required) once added, stores its attached protocol in correspondence.

        """
        return _Interface.Interface_GlobalNodeOfReaderLib_Add(self, *args)

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

        Description
        -----------
        Returns the module stored in a given globalnode.

        """
        return _Interface.Interface_GlobalNodeOfReaderLib_Module(self, *args)

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

        Description
        -----------
        Returns the next globalnode. if none is defined, returned value is a null handle.

        """
        return _Interface.Interface_GlobalNodeOfReaderLib_Next(self, *args)

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

        Description
        -----------
        Returns the attached protocol stored in a given globalnode.

        """
        return _Interface.Interface_GlobalNodeOfReaderLib_Protocol(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_GlobalNodeOfReaderLib

# Register Interface_GlobalNodeOfReaderLib in _Interface:
_Interface.Interface_GlobalNodeOfReaderLib_swigregister(Interface_GlobalNodeOfReaderLib)
class Interface_Graph(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        amodel: Interface_InterfaceModel
        lib: Interface_GeneralLib
        theModeStats: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Creates an empty graph, ready to receive entities from amodel note that this way of creation allows <self> to verify that entities to work with are contained in <amodel> basic shared and sharing lists are obtained from a general services library, given directly as an argument.

        Parameters
        ----------
        amodel: Interface_InterfaceModel
        protocol: Interface_Protocol
        theModeStats: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Same as above, but the library is defined through a protocol.

        Parameters
        ----------
        amodel: Interface_InterfaceModel
        gtool: Interface_GTool
        theModeStats: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Same as above, but the library is defined through a protocol.

        Parameters
        ----------
        amodel: Interface_InterfaceModel
        theModeStats: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Same a above but works with the protocol recorded in the model.

        Parameters
        ----------
        agraph: Interface_Graph
        copied: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Creates a graph from another one, getting all its data remark that status are copied from <agraph>, but the other lists (sharing/shared) are copied only if <copied> = true.

        """
        _Interface.Interface_Graph_swiginit(self, _Interface.new_Interface_Graph(*args))

    def BitMap(self, *args):
        r"""
        Return
        -------
        Interface_BitMap

        Description
        -----------
        Returns the bit map in order to read or edit flag values.

        """
        return _Interface.Interface_Graph_BitMap(self, *args)

    def CBitMap(self, *args):
        r"""
        Return
        -------
        Interface_BitMap

        Description
        -----------
        Returns the bit map in order to edit it (add new flags).

        """
        return _Interface.Interface_Graph_CBitMap(self, *args)

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

        Parameters
        ----------
        oldstat: int
        newstat: int

        Return
        -------
        None

        Description
        -----------
        Changes all status which value is oldstat to new value newstat.

        """
        return _Interface.Interface_Graph_ChangeStatus(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        opencascade::handle<Standard_Transient>

        Description
        -----------
        Returns mapped entity given its no (if it is present).

        """
        return _Interface.Interface_Graph_Entity(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        int

        Description
        -----------
        Returns the number of the entity in the map, computed at creation time (entities loaded from the model) returns 0 if <ent> not contained by model used to create <self> (that is, <ent> is unknown from <self>).

        """
        return _Interface.Interface_Graph_EntityNumber(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient
        shared: bool
        newstat: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Gets an entity, plus its shared ones (at every level) if 'shared' is true. new items are set to status 'newstat' items already present in graph remain unchanged of course, redefinitions of shared lists are taken into account if there are some.

        Parameters
        ----------
        ent: Standard_Transient
        shared: bool
        newstat: int
        overlapstat: int
        cumul: bool

        Return
        -------
        None

        Description
        -----------
        Gets an entity, plus its shared ones (at every level) if 'shared' is true. new items are set to status 'newstat'. items already present in graph are processed as follows: - if they already have status 'newstat', they remain unchanged - if they have another status, this one is modified: if cumul is true, to former status + overlapstat (cumul) if cumul is false, to overlapstat (enforce).

        """
        return _Interface.Interface_Graph_GetFromEntity(self, *args)

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

        Parameters
        ----------
        agraph: Interface_Graph

        Return
        -------
        None

        Description
        -----------
        Gets all present items from another graph.

        Parameters
        ----------
        agraph: Interface_Graph
        stat: int

        Return
        -------
        None

        Description
        -----------
        Gets items from another graph which have a specific status.

        """
        return _Interface.Interface_Graph_GetFromGraph(self, *args)

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

        Parameters
        ----------
        iter: Interface_EntityIterator
        newstat: int

        Return
        -------
        None

        Description
        -----------
        Gets entities given by an entityiterator. entities which were not yet present in the graph are mapped with status 'newstat' entities already present remain unchanged.

        Parameters
        ----------
        iter: Interface_EntityIterator
        newstat: int
        overlapstat: int
        cumul: bool

        Return
        -------
        None

        Description
        -----------
        Gets entities given by an entityiterator and distinguishes those already present in the graph: - new entities added to the graph with status 'newstst' - entities already present with status = 'newstat' remain unchanged - entities already present with status different form 'newstat' have their status modified: if cumul is true, to former status + overlapstat (cumul) if cumul is false, to overlapstat (enforce) (note: works as getentity, shared = false, for each entity).

        """
        return _Interface.Interface_Graph_GetFromIter(self, *args)

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

        Description
        -----------
        Loads graph with all entities contained in the model.

        """
        return _Interface.Interface_Graph_GetFromModel(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        opencascade::handle<TColStd_HSequenceOfTransient>

        Description
        -----------
        Returns the sequence of entities shared by an entity.

        """
        return _Interface.Interface_Graph_GetShareds(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        opencascade::handle<TColStd_HSequenceOfTransient>

        Description
        -----------
        Returns the sequence of entities sharings by an entity.

        """
        return _Interface.Interface_Graph_GetSharings(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        bool

        Description
        -----------
        Returns true if <ent> or the list of entities shared by <ent> (not redefined) contains items unknown from this graph remark: apart from the status hasshareerror, these items are ignored.

        """
        return _Interface.Interface_Graph_HasShareErrors(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        bool

        Description
        -----------
        Returns true if an entity is noted as present in the graph (see methods get... which determine this status) returns false if <num> is out of range too.

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        bool

        Description
        -----------
        Same as above but directly on an entity <ent>: if it is not contained in the model, returns false. else calls ispresent(num) with <num> given by entitynumber.

        """
        return _Interface.Interface_Graph_IsPresent(self, *args)

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

        Description
        -----------
        Returns mode responsible for computation of statuses;.

        """
        return _Interface.Interface_Graph_ModeStat(self, *args)

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

        Description
        -----------
        Returns the model with which this graph was created.

        """
        return _Interface.Interface_Graph_Model(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        opencascade::handle<TCollection_HAsciiString>

        Description
        -----------
        Determines the name attached to an entity, by using the general service name in generalmodule returns a null handle if no name could be computed or if the entity is not in the model.

        """
        return _Interface.Interface_Graph_Name(self, *args)

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

        Description
        -----------
        Returns size of array of statuses.

        """
        return _Interface.Interface_Graph_NbStatuses(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        None

        Description
        -----------
        Clears entity and sets status to 0, for a numero.

        """
        return _Interface.Interface_Graph_RemoveItem(self, *args)

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

        Parameters
        ----------
        stat: int

        Return
        -------
        None

        Description
        -----------
        Removes all items of which status has a given value stat.

        """
        return _Interface.Interface_Graph_RemoveStatus(self, *args)

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

        Description
        -----------
        Erases data, making graph ready to rebegin from void (also resets shared lists redefinitions).

        """
        return _Interface.Interface_Graph_Reset(self, *args)

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

        Description
        -----------
        Erases status (values and flags of presence), making graph ready to rebegin from void. does not concerns shared lists.

        """
        return _Interface.Interface_Graph_ResetStatus(self, *args)

    def RootEntities(self, *args):
        r"""
        Return
        -------
        Interface_EntityIterator

        Description
        -----------
        Returns the entities which are not shared (their sharing list is empty) in the model.

        """
        return _Interface.Interface_Graph_RootEntities(self, *args)

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

        Parameters
        ----------
        num: int
        stat: int

        Return
        -------
        None

        Description
        -----------
        Modifies status associated to a numero.

        """
        return _Interface.Interface_Graph_SetStatus(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        Interface_EntityIterator

        Description
        -----------
        Returns the list of entities shared by an entity, as recorded by the graph. that is, by default basic shared list, else it can be redefined by methods setshare, setnoshare ... see below.

        """
        return _Interface.Interface_Graph_Shareds(self, *args)

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

        Description
        -----------
        Returns the table of sharing lists. used to create another graph from <self>.

        """
        return _Interface.Interface_Graph_SharingTable(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        Interface_EntityIterator

        Description
        -----------
        Returns the list of entities which share an entity, computed from the basic or redefined shared lists.

        """
        return _Interface.Interface_Graph_Sharings(self, *args)

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

        Description
        -----------
        Returns size (max nb of entities, i.e. model's nb of entities).

        """
        return _Interface.Interface_Graph_Size(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        int

        Description
        -----------
        Returns status associated to a numero (only to read it).

        """
        return _Interface.Interface_Graph_Status(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient
        type: Standard_Type

        Return
        -------
        Interface_EntityIterator

        Description
        -----------
        Returns the list of sharings entities, at any level, which are kind of a given type. a sharing entity kind of this type ends the exploration of its branch.

        """
        return _Interface.Interface_Graph_TypedSharings(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_Graph

# Register Interface_Graph in _Interface:
_Interface.Interface_Graph_swigregister(Interface_Graph)
class Interface_HGraph(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        agraph: Interface_Graph

        Return
        -------
        None

        Description
        -----------
        Creates an hgraph directly from a graph. remark that the starting graph is duplicated.

        Parameters
        ----------
        amodel: Interface_InterfaceModel
        lib: Interface_GeneralLib
        theModeStats: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Creates an hgraph with a graph created from <amodel> and <lib>.

        Parameters
        ----------
        amodel: Interface_InterfaceModel
        protocol: Interface_Protocol
        theModeStats: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Creates an hgraph with a graph itself created from <amodel> and <protocol>.

        Parameters
        ----------
        amodel: Interface_InterfaceModel
        gtool: Interface_GTool
        theModeStats: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Creates an hgraph with a graph itself created from <amodel> and <protocol>.

        Parameters
        ----------
        amodel: Interface_InterfaceModel
        theModeStats: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Same a above, but works with the gtool in the model.

        """
        _Interface.Interface_HGraph_swiginit(self, _Interface.new_Interface_HGraph(*args))

    def CGraph(self, *args):
        r"""
        Return
        -------
        Interface_Graph

        Description
        -----------
        Same as above, but for read-write operations then, the graph will be modified in the hgraph itself.

        """
        return _Interface.Interface_HGraph_CGraph(self, *args)

    def Graph(self, *args):
        r"""
        Return
        -------
        Interface_Graph

        Description
        -----------
        Returns the graph contained in <self>, for read only operations remark that it is returns as 'const &' getting it in a new variable instead of a reference would be a pity, because all the graph's content would be duplicated.

        """
        return _Interface.Interface_HGraph_Graph(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_HGraph

# Register Interface_HGraph in _Interface:
_Interface.Interface_HGraph_swigregister(Interface_HGraph)
class Interface_IntList(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates empty intlist.

        Parameters
        ----------
        nbe: int

        Return
        -------
        None

        Description
        -----------
        Creates an intlist for <nbe> entities.

        Parameters
        ----------
        other: Interface_IntList
        copied: bool

        Return
        -------
        None

        Description
        -----------
        Creates an intlist from another one. if <copied> is true, copies data else, data are not copied, only the header object is.

        """
        _Interface.Interface_IntList_swiginit(self, _Interface.new_Interface_IntList(*args))

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

        Parameters
        ----------
        ref: int

        Return
        -------
        None

        Description
        -----------
        Adds a reference (as an integer value, an entity number) to the current entity number. zero is ignored.

        """
        return _Interface.Interface_IntList_Add(self, *args)

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

        Parameters
        ----------
        margin: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Resizes lists to exact sizes. for list of refs, a positive margin can be added.

        """
        return _Interface.Interface_IntList_AdjustSize(self, *args)

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

        Description
        -----------
        Clears all data, hence each entity number has an empty list.

        """
        return _Interface.Interface_IntList_Clear(self, *args)

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

        Parameters
        ----------
        nbe: int

        Return
        -------
        None

        Description
        -----------
        Initialize intlist by number of entities.

        """
        return _Interface.Interface_IntList_Initialize(self, *args)

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

        Parameters
        ----------
        ents: TColStd_HArray1OfInteger
        refs: TColStd_HArray1OfInteger

        Return
        -------
        nbrefs: int

        Description
        -----------
        Returns internal values, used for copying.

        """
        return _Interface.Interface_IntList_Internals(self, *args)

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

        Parameters
        ----------
        num: int (optional, default to 0)

        Return
        -------
        bool

        Description
        -----------
        Returns true if the list for a number (default is taken as current) is 'redefined' (useful for empty list).

        """
        return _Interface.Interface_IntList_IsRedefined(self, *args)

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

        Description
        -----------
        Returns the count of refs attached to current entity number.

        """
        return _Interface.Interface_IntList_Length(self, *args)

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

        Parameters
        ----------
        number: int
        copied: bool (optional, default to Standard_False)

        Return
        -------
        Interface_IntList

        Description
        -----------
        Returns an intlist, identical to <self> but set to a specified entity number by default, not copied (in order to be read) specified <copied> to produce another list and edit it.

        """
        return _Interface.Interface_IntList_List(self, *args)

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

        Description
        -----------
        Returns count of entities to be aknowledged.

        """
        return _Interface.Interface_IntList_NbEntities(self, *args)

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

        Description
        -----------
        Returns the current entity number.

        """
        return _Interface.Interface_IntList_Number(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        bool

        Description
        -----------
        Removes an item in the list for current number, given its rank returns true if done, false else.

        """
        return _Interface.Interface_IntList_Remove(self, *args)

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

        Parameters
        ----------
        count: int

        Return
        -------
        None

        Description
        -----------
        Makes a reservation for <count> references to be later attached to the current entity. if required, it increases the size of array used to store refs. remark that if count is less than two, it does nothing (because immediate storing).

        """
        return _Interface.Interface_IntList_Reservate(self, *args)

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

        Parameters
        ----------
        nbe: int

        Return
        -------
        None

        Description
        -----------
        Changes the count of entities (ignored if decreased).

        """
        return _Interface.Interface_IntList_SetNbEntities(self, *args)

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

        Parameters
        ----------
        number: int

        Return
        -------
        None

        Description
        -----------
        Sets an entity number as current (for read and fill).

        """
        return _Interface.Interface_IntList_SetNumber(self, *args)

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

        Parameters
        ----------
        mode: bool

        Return
        -------
        None

        Description
        -----------
        Sets current entity list to be redefined or not this is used in a graph for redefinition list: it can be disable (no redefinition, i.e. list is cleared), or enabled (starts as empty). the original list has not to be 'redefined'.

        """
        return _Interface.Interface_IntList_SetRedefined(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        int

        Description
        -----------
        Returns a reference number in the list for current number, according to its rank.

        """
        return _Interface.Interface_IntList_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_IntList

# Register Interface_IntList in _Interface:
_Interface.Interface_IntList_swigregister(Interface_IntList)
class Interface_IntVal(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _Interface.Interface_IntVal_swiginit(self, _Interface.new_Interface_IntVal(*args))

    def GetCValue(self):
        r"""GetCValue(Interface_IntVal self) -> Standard_Integer"""
        return _Interface.Interface_IntVal_GetCValue(self)

    def SetCValue(self, value):
        r"""SetCValue(Interface_IntVal self, Standard_Integer value)"""
        return _Interface.Interface_IntVal_SetCValue(self, value)

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

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

        """
        return _Interface.Interface_IntVal_Value(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_IntVal

# Register Interface_IntVal in _Interface:
_Interface.Interface_IntVal_swigregister(Interface_IntVal)
class Interface_InterfaceModel(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 AddEntity(self, *args):
        r"""

        Parameters
        ----------
        anentity: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Internal method for adding an entity. used by file reading (defined by each interface) and transfer tools. it adds the entity required to be added, not its refs: see addwithrefs. if <anentity> is a reportentity, it is added to the list of reports, its concerned entity (erroneous or corrected, else unknown) is added to the list of entities. that is, the reportentity must be created before adding.

        """
        return _Interface.Interface_InterfaceModel_AddEntity(self, *args)

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

        Parameters
        ----------
        rep: Interface_ReportEntity
        semantic: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Adds a reportentity as such. returns false if the concerned entity is not recorded in the model else, adds it into, either the main report list or the list for semantic checks, then returns true.

        """
        return _Interface.Interface_InterfaceModel_AddReportEntity(self, *args)

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

        Parameters
        ----------
        anent: Standard_Transient
        proto: Interface_Protocol
        level: int (optional, default to 0)
        listall: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Adds to the model, an entity with all its references, as they are defined by general services fillshared and listimplied. process is recursive (any sub-levels) if <level> = 0 (default) else, adds sub-entities until the required sub-level. especially, if <level> = 1, adds immediate subs and that's all //! if <listall> is false (default), an entity (<anentity> itself or one of its subs at any level) which is already recorded in the model is not analysed, only the newly added ones are. if <listall> is true, all items are analysed (this allows to ensure the consistency of an adding made by steps).

        Parameters
        ----------
        anent: Standard_Transient
        level: int (optional, default to 0)
        listall: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Same as above, but works with the protocol of the model.

        Parameters
        ----------
        anent: Standard_Transient
        lib: Interface_GeneralLib
        level: int (optional, default to 0)
        listall: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Same as above, but works with an already created generallib.

        """
        return _Interface.Interface_InterfaceModel_AddWithRefs(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        int

        Description
        -----------
        Returns the recorded category number for a given entity number 0 if none was defined for this entity.

        """
        return _Interface.Interface_InterfaceModel_CategoryNumber(self, *args)

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

        Parameters
        ----------
        oldnum: int
        newnum: int
        count: int (optional, default to 1)

        Return
        -------
        None

        Description
        -----------
        Changes the numbers of some entities: <oldnum> is moved to <newnum>, same for <count> entities. thus: 1,2 ... newnum-1 newnum ... oldnum .. oldnum+count oldnum+count+1 .. gives 1,2 ... newnum-1 oldnum .. oldnum+count newnum ... oldnum+count+1 (can be seen as a circular permutation).

        """
        return _Interface.Interface_InterfaceModel_ChangeOrder(self, *args)

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

        Parameters
        ----------
        num: int
        syntactic: bool

        Return
        -------
        opencascade::handle<Interface_Check>

        Description
        -----------
        Returns the check attached to an entity, designated by its number. 0 for global check <semantic> true: recorded semantic check <semantic> false: recorded syntactic check (see reportentity) if no check is recorded for <num>, returns an empty check.

        """
        return _Interface.Interface_InterfaceModel_Check(self, *args)

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

        Parameters
        ----------
        typnam: str

        Return
        -------
        str

        Description
        -----------
        From a cdl type name, returns the class part (package dropped) warning: buffered, to be immediately copied or printed.

        """
        return _Interface.Interface_InterfaceModel_ClassName(*args)

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

        Description
        -----------
        Erases contained data; used when a model is copied to others: the new copied ones begin from clear clear calls specific method clearheader (see below).

        """
        return _Interface.Interface_InterfaceModel_Clear(self, *args)

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

        Description
        -----------
        Clears the entities; uses the general service whendelete, in addition to the standard memory manager; can be redefined.

        """
        return _Interface.Interface_InterfaceModel_ClearEntities(self, *args)

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

        Description
        -----------
        Clears model's header: specific to each norm.

        """
        return _Interface.Interface_InterfaceModel_ClearHeader(self, *args)

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

        Description
        -----------
        Erases information about labels, if any: specific to each norm.

        """
        return _Interface.Interface_InterfaceModel_ClearLabels(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        bool

        Description
        -----------
        Removes the reportentity attached to entity <num>. returns true if done, false if no reportentity was attached to <num>. warning: the caller must assume that this clearing is meaningful.

        """
        return _Interface.Interface_InterfaceModel_ClearReportEntity(self, *args)

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

        Parameters
        ----------
        anentity: Standard_Transient

        Return
        -------
        bool

        Description
        -----------
        Returns true if a model contains an entity (for a reportentity, looks for the reportentity itself and its concerned entity).

        """
        return _Interface.Interface_InterfaceModel_Contains(self, *args)

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

        Description
        -----------
        Clears the list of entities (service whendelete).

        """
        return _Interface.Interface_InterfaceModel_Destroy(self, *args)

    def GetDispatchStatus(self):
        r"""GetDispatchStatus(Interface_InterfaceModel self) -> Standard_Boolean"""
        return _Interface.Interface_InterfaceModel_GetDispatchStatus(self)

    def SetDispatchStatus(self, value):
        r"""SetDispatchStatus(Interface_InterfaceModel self, Standard_Boolean value)"""
        return _Interface.Interface_InterfaceModel_SetDispatchStatus(self, value)

    def Entities(self, *args):
        r"""
        Return
        -------
        Interface_EntityIterator

        Description
        -----------
        Returns the list of all entities, as an iterator on entities (the entities themselves, not the reports).

        """
        return _Interface.Interface_InterfaceModel_Entities(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        Interface_DataState

        Description
        -----------
        Returns the state of an entity, given its number.

        """
        return _Interface.Interface_InterfaceModel_EntityState(self, *args)

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

        Parameters
        ----------
        iter: Interface_EntityIterator

        Return
        -------
        None

        Description
        -----------
        Allows an entityiterator to get a list of entities.

        """
        return _Interface.Interface_InterfaceModel_FillIterator(self, *args)

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

        Parameters
        ----------
        checks: Interface_CheckIterator
        clear: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Fills the list of semantic checks. this list is computed (by checktool). hence, it can be stored in the model for later queries <clear> true (d): new list replaces <clear> false: new list is cumulated.

        """
        return _Interface.Interface_InterfaceModel_FillSemanticChecks(self, *args)

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

        Description
        -----------
        Returns the gtool, set by setprotocol or by setgtool.

        """
        return _Interface.Interface_InterfaceModel_GTool(self, *args)

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

        Parameters
        ----------
        other: Interface_InterfaceModel

        Return
        -------
        None

        Description
        -----------
        Gets header (data specific of a defined interface) from another interfacemodel; called from transfercopy.

        """
        return _Interface.Interface_InterfaceModel_GetFromAnother(self, *args)

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

        Parameters
        ----------
        aniter: Interface_EntityIterator

        Return
        -------
        None

        Description
        -----------
        Gets contents from an entityiterator, prepared by a transfer tool (e.g transfercopy). starts from clear.

        """
        return _Interface.Interface_InterfaceModel_GetFromTransfer(self, *args)

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

        Parameters
        ----------
        syntactic: bool (optional, default to Standard_True)

        Return
        -------
        opencascade::handle<Interface_Check>

        Description
        -----------
        Returns the globalcheck, which memorizes messages global to the file (not specific to an entity), especially header.

        """
        return _Interface.Interface_InterfaceModel_GlobalCheck(self, *args)

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

        Description
        -----------
        Returns true if semantic checks have been filled.

        """
        return _Interface.Interface_InterfaceModel_HasSemanticChecks(self, *args)

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

        Parameters
        ----------
        name: str

        Return
        -------
        bool

        Description
        -----------
        Returns true if a template is attached to a given name.

        """
        return _Interface.Interface_InterfaceModel_HasTemplate(*args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        bool

        Description
        -----------
        Returns true if <num> identifies an error entity: in this case, a reportentity brings fail messages and possibly an 'undefined' content, see isredefinedentity.

        """
        return _Interface.Interface_InterfaceModel_IsErrorEntity(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        bool

        Description
        -----------
        Returns true if <num> identifies an entity which content is redefined through a reportentity (i.e. with literal data only) this happens when an entity is syntactically erroneous in the way that its basic content remains empty. for more details (such as content itself), see reportentity.

        """
        return _Interface.Interface_InterfaceModel_IsRedefinedContent(self, *args)

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

        Parameters
        ----------
        num: int
        semantic: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Returns true if <num> identifies a reportentity in the model hence, reportentity can be called. //! by default, queries main report, if <semantic> is true, it queries report for semantic check //! remember that a report entity can be defined for an unknown entity, or a corrected or erroneous (at read time) entity. the reportentity is defined before call to method addentity.

        """
        return _Interface.Interface_InterfaceModel_IsReportEntity(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        bool

        Description
        -----------
        Returns true if <num> identifies an unknown entity: in this case, a reportentity with no check messages designates it.

        """
        return _Interface.Interface_InterfaceModel_IsUnknownEntity(self, *args)

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

        Description
        -----------
        Returns the complete list of names attached to template models.

        """
        return _Interface.Interface_InterfaceModel_ListTemplates(*args)

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

        Description
        -----------
        Returns count of contained entities.

        """
        return _Interface.Interface_InterfaceModel_NbEntities(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        int

        Description
        -----------
        Returns the count of distinct types under which an entity may be processed. defined by the protocol, which gives default as 1 (dynamic type).

        """
        return _Interface.Interface_InterfaceModel_NbTypes(self, *args)

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

        Description
        -----------
        Returns a new empty model, same type as <self> (whatever its type); called to copy parts a model into other ones, then followed by a call to getfromanother (header) then filling with specified entities, themselves copied.

        """
        return _Interface.Interface_InterfaceModel_NewEmptyModel(self, *args)

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

        Parameters
        ----------
        label: str
        lastnum: int (optional, default to 0)
        exact: bool (optional, default to Standard_True)

        Return
        -------
        int

        Description
        -----------
        Searches a label which matches with one entity. begins from <lastnum>+1 (default:1) and scans the entities until <nbentities>. for the first which matches <label>, this method returns its number. returns 0 if nothing found can be called recursively (labels are not specified as unique) <exact>: if true (default), exact match is required else, checks the end of entity label //! this method is virtual, hence it can be redefined for a more efficient search (if exact is true).

        """
        return _Interface.Interface_InterfaceModel_NextNumberForLabel(self, *args)

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

        Parameters
        ----------
        anentity: Standard_Transient

        Return
        -------
        int

        Description
        -----------
        Returns the number of an entity in the model if it contains it. else returns 0. for a reportentity, looks at concerned entity. returns the directory entry number of an entity in the model if it contains it. else returns 0. for a reportentity, looks at concerned entity.

        """
        return _Interface.Interface_InterfaceModel_Number(self, *args)

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

        Description
        -----------
        Returns the protocol which has been set by setprotocol, or addwithrefs with protocol.

        """
        return _Interface.Interface_InterfaceModel_Protocol(self, *args)

    def Redefineds(self, *args):
        r"""
        Return
        -------
        Interface_EntityIterator

        Description
        -----------
        Returns the list of reportentities which redefine data (generally, if concerned entity is 'error', a literal content is added to it: this is a 'redefined entity'.

        """
        return _Interface.Interface_InterfaceModel_Redefineds(self, *args)

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

        Parameters
        ----------
        nument: int
        anent: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Replace entity with number=nument on other entity - 'anent'.

        """
        return _Interface.Interface_InterfaceModel_ReplaceEntity(self, *args)

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

        Parameters
        ----------
        num: int
        semantic: bool (optional, default to Standard_False)

        Return
        -------
        opencascade::handle<Interface_ReportEntity>

        Description
        -----------
        Returns a reportentity identified by its number in the model, or a null handle if <num> does not identify a reportentity. //! by default, queries main report, if <semantic> is true, it queries report for semantic check.

        """
        return _Interface.Interface_InterfaceModel_ReportEntity(self, *args)

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

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

        Return
        -------
        Interface_EntityIterator

        Description
        -----------
        Returns the list of all reportentities, i.e. data about entities read with error or warning information (each item has to be casted to report entity then it can be queried for concerned entity, content, check ...) by default, returns the main reports, is <semantic> is true it returns the list for semantic checks.

        """
        return _Interface.Interface_InterfaceModel_Reports(self, *args)

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

        Parameters
        ----------
        nbent: int

        Return
        -------
        None

        Description
        -----------
        Does a reservation for the list of entities (for optimized storage management). if it is not called, storage management can be less efficient. <nbent> is the expected count of entities to store.

        """
        return _Interface.Interface_InterfaceModel_Reservate(self, *args)

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

        Parameters
        ----------
        after: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Reverses the numbers of the entities, between <after> and the total count of entities. thus, the entities: 1,2 ... after, after+1 ... nb-1, nb become numbered as: 1,2 ... after, nb, nb-1 ... after+1 by default (after = 0) the whole list of entities is reversed.

        """
        return _Interface.Interface_InterfaceModel_ReverseOrders(self, *args)

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

        Parameters
        ----------
        num: int
        val: int

        Return
        -------
        bool

        Description
        -----------
        Records a category number for an entity number returns true when done, false if <num> is out of range.

        """
        return _Interface.Interface_InterfaceModel_SetCategoryNumber(self, *args)

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

        Parameters
        ----------
        gtool: Interface_GTool

        Return
        -------
        None

        Description
        -----------
        Sets a gtool for this model, which already defines a protocol.

        """
        return _Interface.Interface_InterfaceModel_SetGTool(self, *args)

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

        Parameters
        ----------
        ach: Interface_Check

        Return
        -------
        None

        Description
        -----------
        Allows to modify globalcheck, after getting then completing it remark: it is syntactic check. semantics, see fillchecks.

        """
        return _Interface.Interface_InterfaceModel_SetGlobalCheck(self, *args)

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

        Parameters
        ----------
        proto: Interface_Protocol

        Return
        -------
        None

        Description
        -----------
        Sets a protocol for this model it is also set by a call to addwithrefs with protocol it is used for: dumpheader (as required), clearentities ...

        """
        return _Interface.Interface_InterfaceModel_SetProtocol(self, *args)

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

        Parameters
        ----------
        num: int
        rep: Interface_ReportEntity

        Return
        -------
        bool

        Description
        -----------
        Sets or replaces a reportentity for the entity <num>. returns true if report is replaced, false if it has been replaced warning: the caller must assume that this setting is meaningful.

        """
        return _Interface.Interface_InterfaceModel_SetReportEntity(self, *args)

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

        Parameters
        ----------
        name: str
        model: Interface_InterfaceModel

        Return
        -------
        bool

        Description
        -----------
        Records a new template model with a name. if the name was already recorded, the corresponding template is replaced by the new one. then, warning: test hastemplate to avoid surprises.

        """
        return _Interface.Interface_InterfaceModel_SetTemplate(*args)

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        opencascade::handle<TCollection_HAsciiString>

        Description
        -----------
        Returns a string with the label attached to a given entity. warning: while this string may be edited on the spot, if it is a read field, the returned value must be copied before.

        """
        return _Interface.Interface_InterfaceModel_StringLabel(self, *args)

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

        Parameters
        ----------
        name: str

        Return
        -------
        opencascade::handle<Interface_InterfaceModel>

        Description
        -----------
        Returns the template model attached to a name, or a null handle.

        """
        return _Interface.Interface_InterfaceModel_Template(*args)

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

        Parameters
        ----------
        ent: Standard_Transient
        num: int (optional, default to 1)

        Return
        -------
        opencascade::handle<Standard_Type>

        Description
        -----------
        Returns a type, given its rank: defined by the protocol (by default, the first one).

        """
        return _Interface.Interface_InterfaceModel_Type(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient
        complete: bool (optional, default to Standard_True)

        Return
        -------
        str

        Description
        -----------
        Returns the type name of an entity, from the list of types (one or more ...) <complete> true (d) gives the complete type, else packages are removed warning: buffered, to be immediately copied or printed.

        """
        return _Interface.Interface_InterfaceModel_TypeName(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        opencascade::handle<Standard_Transient>

        Description
        -----------
        Returns an entity identified by its number in the model each sub-class of interfacemodel can define its own method entity to return its specific class of entity (e.g. for vda, vdamodel returns a vdaentity), working by calling value remark: for a reported entity, (erroneous, corrected, unknown), this method returns this reported entity. see reportentity for other questions.

        """
        return _Interface.Interface_InterfaceModel_Value(self, *args)

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

        Parameters
        ----------
        ach: Interface_Check

        Return
        -------
        None

        Description
        -----------
        Minimum semantic global check on data in model (header) can only check basic data. see also globalcheck from protocol for a check which takes the graph into account default does nothing, can be redefined.

        """
        return _Interface.Interface_InterfaceModel_VerifyCheck(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_InterfaceModel

# Register Interface_InterfaceModel in _Interface:
_Interface.Interface_InterfaceModel_swigregister(Interface_InterfaceModel)
class Interface_LineBuffer(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        size: int (optional, default to 10)

        Return
        -------
        None

        Description
        -----------
        Creates a linebuffer with an absolute maximum size (default value is only to satisfy compiler requirement).

        """
        _Interface.Interface_LineBuffer_swiginit(self, _Interface.new_Interface_LineBuffer(*args))

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

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

        Return
        -------
        None

        Description
        -----------
        Adds a text as a cstring. its length is evaluated from the text (by c function strlen).

        Parameters
        ----------
        text: str
        lntext: int

        Return
        -------
        None

        Description
        -----------
        Adds a text as a cstring. its length is given as <lntext>.

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

        Return
        -------
        None

        Description
        -----------
        Adds a text as a asciistring from tcollection.

        Parameters
        ----------
        text: Standard_Character

        Return
        -------
        None

        Description
        -----------
        Adds a text made of only one character.

        """
        return _Interface.Interface_LineBuffer_Add(self, *args)

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

        Parameters
        ----------
        more: int

        Return
        -------
        bool

        Description
        -----------
        Returns true if there is room enough to add <more> characters else, it is required to dump the buffer before refilling it <more> is recorded to manage setkeep status.

        """
        return _Interface.Interface_LineBuffer_CanGet(self, *args)

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

        Description
        -----------
        Clears completely the linebuffer.

        """
        return _Interface.Interface_LineBuffer_Clear(self, *args)

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

        Description
        -----------
        Returns the content of the linebuffer.

        """
        return _Interface.Interface_LineBuffer_Content(self, *args)

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

        Description
        -----------
        Inhibits effect of setinitial until the next move (i.e. keep) then prepare will not insert initial blanks, but further ones will. this allows to cancel initial blanks on an internal split a call to setinitial has no effect on this until move.

        """
        return _Interface.Interface_LineBuffer_FreezeInitial(self, *args)

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

        Description
        -----------
        Returns the length of the linebuffer.

        """
        return _Interface.Interface_LineBuffer_Length(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Fills a asciistring <str> with the content of the line buffer, then clears the linebuffer.

        Parameters
        ----------
        str: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Same as above, but <str> is known through a handle.

        """
        return _Interface.Interface_LineBuffer_Move(self, *args)

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

        Description
        -----------
        Same as above, but generates the hasciistring.

        """
        return _Interface.Interface_LineBuffer_Moved(self, *args)

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

        Parameters
        ----------
        initial: int

        Return
        -------
        None

        Description
        -----------
        Sets an initial reservation for blank characters (this reservation is counted in the size of the current line).

        """
        return _Interface.Interface_LineBuffer_SetInitial(self, *args)

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

        Description
        -----------
        Sets a keep status at current length. it means that at next move, the new line will begin by characters between keep + 1 and current length.

        """
        return _Interface.Interface_LineBuffer_SetKeep(self, *args)

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

        Parameters
        ----------
        max: int

        Return
        -------
        None

        Description
        -----------
        Changes maximum allowed size of buffer. if <max> is zero, maximum size is set to the initial size.

        """
        return _Interface.Interface_LineBuffer_SetMax(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_LineBuffer

# Register Interface_LineBuffer in _Interface:
_Interface.Interface_LineBuffer_swigregister(Interface_LineBuffer)
class Interface_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"""

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

        Return
        -------
        None

        Description
        -----------
        A msg is created to write a 'functional code' in conjunction with operator () attached to value then, to have a translated message, write in c++: //! interface_msg('...mykey...') which returns a cstring see also some help which follow.

        Parameters
        ----------
        key: str
        i1: int

        Return
        -------
        None

        Description
        -----------
        Translates a message which contains one integer variable it is just a help which avoid the following: char mess[100]; sprintf(mess,interface_msg('code'),ival); then addfail(mess); replaced by addfail (interface_msg('code',ival)); //! the basic message is intended to be in c-sprintf format, with one %d form in it.

        Parameters
        ----------
        key: str
        i1: int
        i2: int

        Return
        -------
        None

        Description
        -----------
        Translates a message which contains two integer variables as for one integer, it is just a writing help //! the basic message is intended to be in c-sprintf format with two %d forms in it.

        Parameters
        ----------
        key: str
        r1: float
        intervals: int (optional, default to -1)

        Return
        -------
        None

        Description
        -----------
        Translates a message which contains one real variable <intervals> if set, commands the variable to be rounded to an interval (see below, method intervals) as for one integer, it is just a writing help //! the basic message is intended to be in c-sprintf format with one %f form (or equivalent: %e etc) in it.

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

        Return
        -------
        None

        Description
        -----------
        Translates a message which contains one string variable as for one integer, it is just a writing help //! the basic message is intended to be in c-sprintf format with one %s form in it.

        Parameters
        ----------
        key: str
        ival: int
        str: str

        Return
        -------
        None

        Description
        -----------
        Translates a message which contains one integer and one string variables as for one integer, it is just a writing help used for instance to say 'param n0.<ival> i.e. <str> is not..' //! the basic message is intended to be in c-sprintf format with one %d then one %s forms in it.

        """
        _Interface.Interface_MSG_swiginit(self, _Interface.new_Interface_MSG(*args))

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

        Parameters
        ----------
        val: int
        max: int

        Return
        -------
        str

        Description
        -----------
        Returns a blank string, of length between 0 and <max>, to fill the printing of a numeric value <val>, i.e.: if val < 10 , max-1 blanks if val between 10 and 99, max-2 blanks ... etc...

        Parameters
        ----------
        val: str
        max: int

        Return
        -------
        str

        Description
        -----------
        Returns a blank string, to complete a given string <val> up to <max> characters: if strlen(val) is 0, max blanks if strlen(val) is 5, max-5 blanks etc...

        Parameters
        ----------
        count: int

        Return
        -------
        str

        Description
        -----------
        Returns a blank string of <count> blanks (mini 0, maxi 76).

        """
        return _Interface.Interface_MSG_Blanks(*args)

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

        Parameters
        ----------
        text1: str
        text2: str

        Return
        -------
        int

        Description
        -----------
        Returns a value about comparison of two dates 0: equal. <0 text1 anterior. >0 text1 posterior.

        """
        return _Interface.Interface_MSG_CDate(*args)

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

        Description
        -----------
        Optimised destructor (applies for additional forms of create).

        """
        return _Interface.Interface_MSG_Destroy(self, *args)

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

        Parameters
        ----------
        val: float
        order: int (optional, default to 3)
        upper: bool (optional, default to Standard_False)

        Return
        -------
        float

        Description
        -----------
        Returns an 'intervalled' value from a starting real <val>: i.e. a value which is rounded on an interval limit interval limits are defined to be in a coarsely 'geometric' progression (two successive intervals are inside a limit ratio) //! <order> gives the count of desired intervals in a range <1-10> <upper> false, returns the first lower interval (d) <upper> true, returns the first upper interval values of intervals according <order>: 0,1: 1 10 100 ... 2: 1 3 10 30 100 ... 3(d): 1 2 5 10 20 50 100 ... 4: 1 2 3 6 10 20 30 60 100 ... 6: 1 1.5 2 3 5 7 10 15 20 ... 10: 1 1.2 1.5 2 2.5 3 4 5 6 8 10 12 15 20 25 ...

        """
        return _Interface.Interface_MSG_Intervalled(*args)

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

        Parameters
        ----------
        mess: str

        Return
        -------
        bool

        Description
        -----------
        Returns true if a given message is surely a key (according to the form adopted for keys) (before activating messages, answer is false).

        """
        return _Interface.Interface_MSG_IsKey(*args)

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

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

        Return
        -------
        yy: int
        mm: int
        dd: int
        hh: int
        mn: int
        ss: int

        Description
        -----------
        Decodes a date to numeric integer values returns true if ok, false if text does not fit with required format. incomplete forms are allowed (for instance, for only yyyy-mm-dd, hour is zero).

        """
        return _Interface.Interface_MSG_NDate(*args)

    def PrintTraceToString(self):
        r"""PrintTraceToString(Interface_MSG self) -> std::string"""
        return _Interface.Interface_MSG_PrintTraceToString(self)

    def ReadFromString(self, src):
        r"""ReadFromString(Interface_MSG self, std::string src)"""
        return _Interface.Interface_MSG_ReadFromString(self, src)

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

        Parameters
        ----------
        file: str

        Return
        -------
        int

        Description
        -----------
        Reads a list of messages from a file defined by its name.

        """
        return _Interface.Interface_MSG_Read(*args)

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

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

        Return
        -------
        None

        Description
        -----------
        Fills the dictionary with a couple (key-item) if a key is already recorded, it is possible to: - keep the last definition, and activate the trace system.

        """
        return _Interface.Interface_MSG_Record(*args)

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

        Parameters
        ----------
        running: bool
        raising: bool

        Return
        -------
        None

        Description
        -----------
        Sets the main modes for msg: - if <running> is true, translation works normally - if <running> is false, translated item equate keys - if <raising> is true, errors (from record or translate) cause msg to raise an exception - if <raising> is false, msg runs without exception, then see also trace modes above.

        """
        return _Interface.Interface_MSG_SetMode(*args)

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

        Parameters
        ----------
        toprint: bool
        torecord: bool

        Return
        -------
        None

        Description
        -----------
        Sets the trace system to work when activated, as follow: - if <toprint> is true, print immediately on standard output - if <torecord> is true, record it for further print.

        """
        return _Interface.Interface_MSG_SetTrace(*args)

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

        Parameters
        ----------
        text: str
        yy: int
        mm: int
        dd: int
        hh: int
        mn: int
        ss: int
        format: str (optional, default to )

        Return
        -------
        None

        Description
        -----------
        Codes a date as a text, from its numeric value (-> seconds): yyyy-mm-dd:hh-mn-ss fixed format, completed by leading zeros another format can be provided, as follows: c:%d ... c like format, preceded by c: s:... format to call system (not yet implemented).

        """
        return _Interface.Interface_MSG_TDate(*args)

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

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

        Return
        -------
        str

        Description
        -----------
        Returns the item recorded for a key. returns the key itself if: - it is not recorded (then, the trace system is activated) - msg has been required to be hung on.

        """
        return _Interface.Interface_MSG_Translated(*args)

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

        Description
        -----------
        Returns the translated message, in a functional form with operator () was c++: return const.

        """
        return _Interface.Interface_MSG_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_MSG

# Register Interface_MSG in _Interface:
_Interface.Interface_MSG_swigregister(Interface_MSG)
class Interface_MapAsciiStringHasher(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theAsciiString: str
        theUpperBound: int

        Return
        -------
        int

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

        """
        return _Interface.Interface_MapAsciiStringHasher_HashCode(*args)

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

        Parameters
        ----------
        K1: str
        K2: str

        Return
        -------
        bool

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

        """
        return _Interface.Interface_MapAsciiStringHasher_IsEqual(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _Interface.Interface_MapAsciiStringHasher_swiginit(self, _Interface.new_Interface_MapAsciiStringHasher())
    __swig_destroy__ = _Interface.delete_Interface_MapAsciiStringHasher

# Register Interface_MapAsciiStringHasher in _Interface:
_Interface.Interface_MapAsciiStringHasher_swigregister(Interface_MapAsciiStringHasher)
class Interface_NodeOfGeneralLib(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates an empty node, with no next.

        """
        _Interface.Interface_NodeOfGeneralLib_swiginit(self, _Interface.new_Interface_NodeOfGeneralLib(*args))

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

        Parameters
        ----------
        anode: Interface_GlobalNodeOfGeneralLib

        Return
        -------
        None

        Description
        -----------
        Adds a couple (module,protocol), that is, stores it into itself if not yet done, else creates a next node to do it.

        """
        return _Interface.Interface_NodeOfGeneralLib_AddNode(self, *args)

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

        Description
        -----------
        Returns the module designated by a precise node.

        """
        return _Interface.Interface_NodeOfGeneralLib_Module(self, *args)

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

        Description
        -----------
        Returns the next node. if none was defined, returned value is a null handle.

        """
        return _Interface.Interface_NodeOfGeneralLib_Next(self, *args)

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

        Description
        -----------
        Returns the protocol designated by a precise node.

        """
        return _Interface.Interface_NodeOfGeneralLib_Protocol(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_NodeOfGeneralLib

# Register Interface_NodeOfGeneralLib in _Interface:
_Interface.Interface_NodeOfGeneralLib_swigregister(Interface_NodeOfGeneralLib)
class Interface_NodeOfReaderLib(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates an empty node, with no next.

        """
        _Interface.Interface_NodeOfReaderLib_swiginit(self, _Interface.new_Interface_NodeOfReaderLib(*args))

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

        Parameters
        ----------
        anode: Interface_GlobalNodeOfReaderLib

        Return
        -------
        None

        Description
        -----------
        Adds a couple (module,protocol), that is, stores it into itself if not yet done, else creates a next node to do it.

        """
        return _Interface.Interface_NodeOfReaderLib_AddNode(self, *args)

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

        Description
        -----------
        Returns the module designated by a precise node.

        """
        return _Interface.Interface_NodeOfReaderLib_Module(self, *args)

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

        Description
        -----------
        Returns the next node. if none was defined, returned value is a null handle.

        """
        return _Interface.Interface_NodeOfReaderLib_Next(self, *args)

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

        Description
        -----------
        Returns the protocol designated by a precise node.

        """
        return _Interface.Interface_NodeOfReaderLib_Protocol(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_NodeOfReaderLib

# Register Interface_NodeOfReaderLib in _Interface:
_Interface.Interface_NodeOfReaderLib_swigregister(Interface_NodeOfReaderLib)
class Interface_ParamList(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theIncrement: int (optional, default to 256)

        Return
        -------
        None

        Description
        -----------
        Creates an vector with size of memory block equal to theincrement.

        """
        _Interface.Interface_ParamList_swiginit(self, _Interface.new_Interface_ParamList(*args))

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

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

        Return
        -------
        Interface_FileParameter

        Description
        -----------
        Return the value of the <index>th element of the array.

        """
        return _Interface.Interface_ParamList_ChangeValue(self, *args)

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

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

        """
        return _Interface.Interface_ParamList_Clear(self, *args)

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

        Description
        -----------
        Returns the number of elements of <self>.

        """
        return _Interface.Interface_ParamList_Length(self, *args)

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

        Description
        -----------
        Returns the lower bound. warning.

        """
        return _Interface.Interface_ParamList_Lower(self, *args)

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

        Parameters
        ----------
        Index: int
        Value: Interface_FileParameter

        Return
        -------
        None

        Description
        -----------
        Assigns the value <value> to the <index>-th item of this array.

        """
        return _Interface.Interface_ParamList_SetValue(self, *args)

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

        Description
        -----------
        Returns the upper bound. warning.

        """
        return _Interface.Interface_ParamList_Upper(self, *args)

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

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

        Return
        -------
        Interface_FileParameter

        Description
        -----------
        Return the value of the <index>th element of the array.

        """
        return _Interface.Interface_ParamList_Value(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_ParamList

# Register Interface_ParamList in _Interface:
_Interface.Interface_ParamList_swigregister(Interface_ParamList)
class Interface_ParamSet(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        nres: int
        nst: int (optional, default to 1)

        Return
        -------
        None

        Description
        -----------
        Creates an empty paramset, beginning at number 'nst' and of initial reservation 'nres': the 'nres' first parameters which follow 'ndeb' (included) will be put in an array (a paramlist). the remainders are set in next(s) paramset(s).

        """
        _Interface.Interface_ParamSet_swiginit(self, _Interface.new_Interface_ParamSet(*args))

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

        Parameters
        ----------
        val: str
        lnval: int
        typ: Interface_ParamType
        nument: int

        Return
        -------
        int

        Description
        -----------
        Adds a parameter defined as its value (cstring and length) and type. optional entitynumber (for filereaderdata) can be given allows a better memory management than appending a complete fileparameter if <lnval> < 0, <val> is assumed to be managed elsewhere: its address is stored as such. else, <val> is copied in a locally (quickly) managed page of characters returns new count of recorded parameters.

        Parameters
        ----------
        FP: Interface_FileParameter

        Return
        -------
        int

        Description
        -----------
        Adds a parameter at the end of the paramset (transparent about reservation and 'next') returns new count of recorded parameters.

        """
        return _Interface.Interface_ParamSet_Append(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        Interface_FileParameter

        Description
        -----------
        Same as above, but in order to be modified on place.

        """
        return _Interface.Interface_ParamSet_ChangeParam(self, *args)

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

        Description
        -----------
        Destructor (waiting for transparent memory management).

        """
        return _Interface.Interface_ParamSet_Destroy(self, *args)

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

        Description
        -----------
        Returns the total count of parameters (including nexts).

        """
        return _Interface.Interface_ParamSet_NbParams(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        Interface_FileParameter

        Description
        -----------
        Returns a parameter identified by its number.

        """
        return _Interface.Interface_ParamSet_Param(self, *args)

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

        Parameters
        ----------
        num: int
        nb: int

        Return
        -------
        opencascade::handle<Interface_ParamList>

        Description
        -----------
        Builds and returns the sub-list corresponding to parameters, from 'num' included, with count 'nb' if <num> and <nb> are zero, returns the whole list.

        """
        return _Interface.Interface_ParamSet_Params(self, *args)

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

        Parameters
        ----------
        num: int
        FP: Interface_FileParameter

        Return
        -------
        None

        Description
        -----------
        Changes a parameter identified by its number.

        """
        return _Interface.Interface_ParamSet_SetParam(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_ParamSet

# Register Interface_ParamSet in _Interface:
_Interface.Interface_ParamSet_swigregister(Interface_ParamSet)
class Interface_Protocol(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

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

        Description
        -----------
        Returns the active protocol, if defined (else, returns a null handle, which means 'no defined active protocol').

        """
        return _Interface.Interface_Protocol_Active(*args)

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

        Parameters
        ----------
        obj: Standard_Transient

        Return
        -------
        int

        Description
        -----------
        Returns a unique positive casenumber for each recognized object. by default, recognition is based on type(1) by default, calls the following one which is deferred.

        """
        return _Interface.Interface_Protocol_CaseNumber(self, *args)

    @staticmethod
    def ClearActive(*args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Erases the active protocol (hence it becomes undefined).

        """
        return _Interface.Interface_Protocol_ClearActive(*args)

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

        Parameters
        ----------
        G: Interface_Graph
        ach: Interface_Check

        Return
        -------
        bool

        Description
        -----------
        Evaluates a global check for a model (with its graph) returns true when done, false if data in model do not apply //! very specific of each norm, i.e. of each protocol: the uppest level protocol assumes it, it can call globalcheck of its resources only if it is necessary //! default does nothing, can be redefined.

        """
        return _Interface.Interface_Protocol_GlobalCheck(self, *args)

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

        Parameters
        ----------
        obj: Standard_Transient

        Return
        -------
        bool

        Description
        -----------
        Returns true if type of <obj> is that defined from cdl this is the default but it may change according implementation.

        """
        return _Interface.Interface_Protocol_IsDynamicType(self, *args)

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

        Parameters
        ----------
        model: Interface_InterfaceModel

        Return
        -------
        bool

        Description
        -----------
        Returns true if <model> is a model of the considered norm.

        """
        return _Interface.Interface_Protocol_IsSuitableModel(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        bool

        Description
        -----------
        Returns true if <ent> is an unknown entity for the norm, i.e. same type as them created by method unknownentity (for an entity out of the norm, answer can be unpredicable).

        """
        return _Interface.Interface_Protocol_IsUnknownEntity(self, *args)

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

        Description
        -----------
        Returns count of protocol used as resources (level one).

        """
        return _Interface.Interface_Protocol_NbResources(self, *args)

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

        Parameters
        ----------
        obj: Standard_Transient

        Return
        -------
        int

        Description
        -----------
        Returns the count of distinct types under which an entity may be processed. each one is candidate to be recognized by typenumber, <obj> is then processed according it by default, returns 1 (the dynamictype).

        """
        return _Interface.Interface_Protocol_NbTypes(self, *args)

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

        Description
        -----------
        Creates an empty model of the considered norm.

        """
        return _Interface.Interface_Protocol_NewModel(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        opencascade::handle<Interface_Protocol>

        Description
        -----------
        Returns a resource, given its rank (between 1 and nbresources).

        """
        return _Interface.Interface_Protocol_Resource(self, *args)

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

        Parameters
        ----------
        aprotocol: Interface_Protocol

        Return
        -------
        None

        Description
        -----------
        Sets a given protocol to be the active one (for the users of active, see just above). applies to every sub-type of protocol.

        """
        return _Interface.Interface_Protocol_SetActive(*args)

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

        Parameters
        ----------
        obj: Standard_Transient
        nt: int (optional, default to 1)

        Return
        -------
        opencascade::handle<Standard_Type>

        Description
        -----------
        Returns a type under which <obj> can be recognized and processed, according its rank in its definition list (see nbtypes). by default, returns dynamictype.

        """
        return _Interface.Interface_Protocol_Type(self, *args)

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

        Parameters
        ----------
        atype: Standard_Type

        Return
        -------
        int

        Description
        -----------
        Returns a unique positive casenumber for each recognized type, returns zero for '<type> not recognized'.

        """
        return _Interface.Interface_Protocol_TypeNumber(self, *args)

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

        Description
        -----------
        Creates a new unknown entity for the considered norm.

        """
        return _Interface.Interface_Protocol_UnknownEntity(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_Protocol

# Register Interface_Protocol in _Interface:
_Interface.Interface_Protocol_swigregister(Interface_Protocol)
class Interface_ReaderLib(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        aprotocol: Interface_Protocol

        Return
        -------
        None

        Description
        -----------
        Creates a library which complies with a protocol, that is: same class (criterium isinstance) this creation gets the modules from the global set, those which are bound to the given protocol and its resources.
        Return
        -------
        None

        Description
        -----------
        Creates an empty library: it will later by filled by method addprotocol.

        """
        _Interface.Interface_ReaderLib_swiginit(self, _Interface.new_Interface_ReaderLib(*args))

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

        Parameters
        ----------
        aprotocol: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Adds a couple (module-protocol) to the library, given the class of a protocol. takes resources into account. (if <aprotocol> is not of type theprotocol, it is not added).

        """
        return _Interface.Interface_ReaderLib_AddProtocol(self, *args)

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

        Description
        -----------
        Clears the list of modules of a library (can be used to redefine the order of modules before action: clear then refill the library by calls to addprotocol).

        """
        return _Interface.Interface_ReaderLib_Clear(self, *args)

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

        Description
        -----------
        Returns the current module in the iteration.

        """
        return _Interface.Interface_ReaderLib_Module(self, *args)

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

        Description
        -----------
        Returns true if there are more modules to iterate on.

        """
        return _Interface.Interface_ReaderLib_More(self, *args)

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

        Description
        -----------
        Iterates by getting the next module in the list if there is none, the exception will be raised by value.

        """
        return _Interface.Interface_ReaderLib_Next(self, *args)

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

        Description
        -----------
        Returns the current protocol in the iteration.

        """
        return _Interface.Interface_ReaderLib_Protocol(self, *args)

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

        Parameters
        ----------
        obj: Standard_Transient
        module: Interface_ReaderModule

        Return
        -------
        CN: int

        Description
        -----------
        Selects a module from the library, given an object. returns true if select has succeeded, false else. also returns (as arguments) the selected module and the case number determined by the associated protocol. if select has failed, <module> is null handle and cn is zero. (select can work on any criterium, such as object dynamictype).

        """
        return _Interface.Interface_ReaderLib_Select(self, *args)

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

        Description
        -----------
        Sets a library to be defined with the complete global list (all the couples protocol/modules recorded in it).

        """
        return _Interface.Interface_ReaderLib_SetComplete(self, *args)

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

        Parameters
        ----------
        amodule: Interface_ReaderModule
        aprotocol: Interface_Protocol

        Return
        -------
        None

        Description
        -----------
        Adds a couple (module-protocol) into the global definition set for this class of library.

        """
        return _Interface.Interface_ReaderLib_SetGlobal(*args)

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

        Description
        -----------
        Starts iteration on the modules (sets it on the first one).

        """
        return _Interface.Interface_ReaderLib_Start(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_ReaderLib

# Register Interface_ReaderLib in _Interface:
_Interface.Interface_ReaderLib_swigregister(Interface_ReaderLib)
class Interface_ReaderModule(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 CaseNum(self, *args):
        r"""

        Parameters
        ----------
        data: Interface_FileReaderData
        num: int

        Return
        -------
        int

        Description
        -----------
        Translates the type of record <num> in <data> to a positive case number. if recognition fails, must return 0.

        """
        return _Interface.Interface_ReaderModule_CaseNum(self, *args)

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

        Parameters
        ----------
        casenum: int
        data: Interface_FileReaderData
        num: int
        ach: Interface_Check
        ent: Standard_Transient

        Return
        -------
        bool

        Description
        -----------
        Specific operator (create+read) defaulted to do nothing. it can be redefined when it is not possible to work in two steps (newvoid then read). this occurs when no default constructor is defined: hence the result <ent> must be created with an effective definition from the reader. remark: if newread is defined, copy has nothing to do. //! returns true if it has produced something, false else. if nothing was produced, <ach> should be filled: it will be treated as 'unrecognized case' by reader tool.

        """
        return _Interface.Interface_ReaderModule_NewRead(self, *args)

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

        Parameters
        ----------
        casenum: int
        data: Interface_FileReaderData
        num: int
        ach: Interface_Check
        ent: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Performs the effective loading from <data>, record <num>, to the entity <ent> formerly created in case of error or warning, fills <ach> with messages remark that the case number comes from translating a record.

        """
        return _Interface.Interface_ReaderModule_Read(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_ReaderModule

# Register Interface_ReaderModule in _Interface:
_Interface.Interface_ReaderModule_swigregister(Interface_ReaderModule)
class Interface_ReportEntity(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        unknown: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Creates a reportentity for an unknown entity: check is empty, and concerned equates content (i.e. the unknown entity).

        Parameters
        ----------
        acheck: Interface_Check
        concerned: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Creates a reportentity with its features: - <acheck> is the check to be memorised - <concerned> is the entity to which the check is bound later, a content can be set: it is required for an error.

        """
        _Interface.Interface_ReportEntity_swiginit(self, _Interface.new_Interface_ReportEntity(*args))

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

        Description
        -----------
        Returns the stored check in order to change it.

        """
        return _Interface.Interface_ReportEntity_CCheck(self, *args)

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

        Description
        -----------
        Returns the stored check.

        """
        return _Interface.Interface_ReportEntity_Check(self, *args)

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

        Description
        -----------
        Returns the stored concerned entity. it equates the content in the case of an unknown entity.

        """
        return _Interface.Interface_ReportEntity_Concerned(self, *args)

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

        Description
        -----------
        Returns the stored content, or a null handle remark that it must be an 'unknown entity' suitable for the norm of the containing model.

        """
        return _Interface.Interface_ReportEntity_Content(self, *args)

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

        Description
        -----------
        Returns true if a content is stored (it can equate concerned).

        """
        return _Interface.Interface_ReportEntity_HasContent(self, *args)

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

        Description
        -----------
        Returns true if a content is stored and differs from concerned (i.e. redefines content): used when concerned could not be loaded.

        """
        return _Interface.Interface_ReportEntity_HasNewContent(self, *args)

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

        Description
        -----------
        Returns true for an error entity, i.e. if the check brings at least one fail message.

        """
        return _Interface.Interface_ReportEntity_IsError(self, *args)

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

        Description
        -----------
        Returns true for an unknown entity, i,e. if the check is empty and concerned equates content.

        """
        return _Interface.Interface_ReportEntity_IsUnknown(self, *args)

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

        Parameters
        ----------
        content: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Sets a content: it brings non interpreted data which belong to the concerned entity. it can be empty then loaded later. remark that for an unknown entity, content is set by create.

        """
        return _Interface.Interface_ReportEntity_SetContent(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_ReportEntity

# Register Interface_ReportEntity in _Interface:
_Interface.Interface_ReportEntity_swigregister(Interface_ReportEntity)
class Interface_STAT(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        title: str (optional, default to )

        Return
        -------
        None

        Description
        -----------
        Creates a stat form. at start, one default phase is defined, with one default step. then, it suffises to start with a count of items (and cycles if several) then record items, to have a queryable report.

        Parameters
        ----------
        other: Interface_STAT

        Return
        -------
        None

        Description
        -----------
        Used when starting.

        """
        _Interface.Interface_STAT_swiginit(self, _Interface.new_Interface_STAT(*args))

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

        Parameters
        ----------
        weight: float
        name: str (optional, default to )

        Return
        -------
        None

        Description
        -----------
        Adds a new phase to the description. the first one after create replaces the default unique one.

        """
        return _Interface.Interface_STAT_AddPhase(self, *args)

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

        Parameters
        ----------
        weight: float (optional, default to 1)

        Return
        -------
        None

        Description
        -----------
        Adds a new step for the last added phase, the default unique one if no addphase has already been added warning: addstep before the first addphase are cancelled.

        """
        return _Interface.Interface_STAT_AddStep(self, *args)

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

        Parameters
        ----------
        title: str

        Return
        -------
        nbphases: int
        total: float

        Description
        -----------
        Returns global description (cumulated weights of all phases, count of phases,1 for default, and title).

        """
        return _Interface.Interface_STAT_Description(self, *args)

    @staticmethod
    def End(*args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Commands to declare the process ended (hence, advancement is forced to 100 %).

        """
        return _Interface.Interface_STAT_End(*args)

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

        Parameters
        ----------
        phn: TColStd_HSequenceOfAsciiString
        phw: TColStd_HSequenceOfReal
        phdeb: TColStd_HSequenceOfInteger
        phfin: TColStd_HSequenceOfInteger
        stw: TColStd_HSequenceOfReal

        Return
        -------
        tit: TCollection_HAsciiString
        total: float

        Description
        -----------
        Returns fields in once, without copying them, used for copy when starting.

        """
        return _Interface.Interface_STAT_Internals(self, *args)

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

        Parameters
        ----------
        items: int

        Return
        -------
        None

        Description
        -----------
        Commands to resume the preceding cycle and start a new one, with a count of items ignored if count of cycles is already passed then, first step is started (or default one) nextitem can be called for the first step, or nextstep to pass to the next one.

        """
        return _Interface.Interface_STAT_NextCycle(*args)

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

        Parameters
        ----------
        nbitems: int (optional, default to 1)

        Return
        -------
        None

        Description
        -----------
        Commands to add an item in the current step of the current cycle of the current phase by default, one item per call, can be overpassed ignored if count of items of this cycle is already passed.

        """
        return _Interface.Interface_STAT_NextItem(*args)

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

        Parameters
        ----------
        items: int
        cycles: int (optional, default to 1)

        Return
        -------
        None

        Description
        -----------
        Commands to resume the preceding phase and start a new one <items> and <cycles> as for start, but for this new phase ignored if count of phases is already passed if <cycles> is more than one, the first cycle must then be started by nextcycle (nextstep/nextitem are ignored). if it is one, nextitem/nextstep can then be called.

        """
        return _Interface.Interface_STAT_NextPhase(*args)

    @staticmethod
    def NextStep(*args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Commands to resume the preceding step of the cycle ignored if count of steps is already passed nextitem can be called for this step, nextstep passes to next.

        """
        return _Interface.Interface_STAT_NextStep(*args)

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

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

        Return
        -------
        int

        Description
        -----------
        Returns the advancement as a percentage: <phase> true: inside the current phase <phase> false (d): relative to the whole process.

        """
        return _Interface.Interface_STAT_Percent(*args)

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

        Parameters
        ----------
        num: int
        name: str

        Return
        -------
        n0step: int
        nbstep: int
        weight: float

        Description
        -----------
        Returns description of a phase, given its rank (n0 for first step, count of steps, default gives one; weight, name).

        """
        return _Interface.Interface_STAT_Phase(self, *args)

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

        Parameters
        ----------
        items: int
        cycles: int (optional, default to 1)

        Return
        -------
        None

        Description
        -----------
        Changes the parameters of the phase to start to be used before first counting (i.e. just after nextphase) can be used by an operator which has to reajust counts on run.

        """
        return _Interface.Interface_STAT_SetPhase(*args)

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

        Parameters
        ----------
        items: int
        cycles: int (optional, default to 1)

        Return
        -------
        None

        Description
        -----------
        Starts a stat on its first phase (or its default one) <items> gives the total count of items, <cycles> the count of cycles if <cycles> is more than one, the first cycle must then be started by nextcycle (nextstep/nextitem are ignored). if it is one, nextitem/nextstep can then be called.

        """
        return _Interface.Interface_STAT_Start(self, *args)

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

        Parameters
        ----------
        items: int
        title: str (optional, default to )

        Return
        -------
        None

        Description
        -----------
        Starts a default stat, with no phase, no step, ready to just count items. <items> gives the total count of items hence, nextitem is available to directly count.

        """
        return _Interface.Interface_STAT_StartCount(*args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        float

        Description
        -----------
        Returns weight of a step, related to the cumul given for the phase. <num> is given by <n0step> + i, i between 1 and <nbsteps> (default gives n0step < 0 then weight is one).

        """
        return _Interface.Interface_STAT_Step(self, *args)

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

        Parameters
        ----------
        phase: bool (optional, default to Standard_True)

        Return
        -------
        str

        Description
        -----------
        Returns an identification of the stat: <phase> true (d): the name of the current phase <phase> false: the title of the current stat.

        """
        return _Interface.Interface_STAT_Where(*args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_STAT

# Register Interface_STAT in _Interface:
_Interface.Interface_STAT_swigregister(Interface_STAT)
class Interface_ShareFlags(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        amodel: Interface_InterfaceModel
        lib: Interface_GeneralLib

        Return
        -------
        None

        Description
        -----------
        Creates a shareflags from a model and builds required data (flags) by calling the general service library given as argument <lib>.

        Parameters
        ----------
        amodel: Interface_InterfaceModel
        gtool: Interface_GTool

        Return
        -------
        None

        Description
        -----------
        Same as above, but generallib is detained by a gtool.

        Parameters
        ----------
        amodel: Interface_InterfaceModel
        protocol: Interface_Protocol

        Return
        -------
        None

        Description
        -----------
        Same as above, but generallib is defined through a protocol.

        Parameters
        ----------
        amodel: Interface_InterfaceModel

        Return
        -------
        None

        Description
        -----------
        Same as above, but works with the gtool of the model.

        Parameters
        ----------
        agraph: Interface_Graph

        Return
        -------
        None

        Description
        -----------
        Creates a shareflags by querying information from a graph (remark that graph also has a method isshared).

        """
        _Interface.Interface_ShareFlags_swiginit(self, _Interface.new_Interface_ShareFlags(*args))

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        bool

        Description
        -----------
        Returns true if <ent> is shared by one or more other entity(ies) of the model.

        """
        return _Interface.Interface_ShareFlags_IsShared(self, *args)

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

        Description
        -----------
        Returns the model used for the evaluation.

        """
        return _Interface.Interface_ShareFlags_Model(self, *args)

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

        Description
        -----------
        Returns the count of root entities.

        """
        return _Interface.Interface_ShareFlags_NbRoots(self, *args)

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

        Parameters
        ----------
        num: int (optional, default to 1)

        Return
        -------
        opencascade::handle<Standard_Transient>

        Description
        -----------
        Returns a root entity according its rank in the list of roots by default, it returns the first one.

        """
        return _Interface.Interface_ShareFlags_Root(self, *args)

    def RootEntities(self, *args):
        r"""
        Return
        -------
        Interface_EntityIterator

        Description
        -----------
        Returns the entities which are not shared (see their flags).

        """
        return _Interface.Interface_ShareFlags_RootEntities(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_ShareFlags

# Register Interface_ShareFlags in _Interface:
_Interface.Interface_ShareFlags_swigregister(Interface_ShareFlags)
class Interface_ShareTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        amodel: Interface_InterfaceModel
        lib: Interface_GeneralLib

        Return
        -------
        None

        Description
        -----------
        Creates a sharetool from a model and builds all required data, by calling the general service library and modules (generallib given as an argument).

        Parameters
        ----------
        amodel: Interface_InterfaceModel
        gtool: Interface_GTool

        Return
        -------
        None

        Description
        -----------
        Same a above, but generallib is detained by a gtool.

        Parameters
        ----------
        amodel: Interface_InterfaceModel
        protocol: Interface_Protocol

        Return
        -------
        None

        Description
        -----------
        Same a above, but generallib is defined through a protocol protocol is used to build the working library.

        Parameters
        ----------
        amodel: Interface_InterfaceModel

        Return
        -------
        None

        Description
        -----------
        Same as above, but works with the gtool of the model.

        Parameters
        ----------
        agraph: Interface_Graph

        Return
        -------
        None

        Description
        -----------
        Creates a sharetool from an already defined graph remark that the data of the graph are copied.

        Parameters
        ----------
        ahgraph: Interface_HGraph

        Return
        -------
        None

        Description
        -----------
        Completes the graph by adding implied references. hence, they are considered as sharing references in all the other queries.

        """
        _Interface.Interface_ShareTool_swiginit(self, _Interface.new_Interface_ShareTool(*args))

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

        Parameters
        ----------
        ent: Standard_Transient
        rootlast: bool (optional, default to Standard_True)

        Return
        -------
        Interface_EntityIterator

        Description
        -----------
        Returns the complete list of entities shared by <ent> at any level, including <ent> itself if <ent> is the model, considers the concatenation of allshared for each root if <rootlast> is true (d), the list starts with lower level entities and ends by the root. else, the root is first and the lower level entities are at end.

        """
        return _Interface.Interface_ShareTool_All(self, *args)

    def Graph(self, *args):
        r"""
        Return
        -------
        Interface_Graph

        Description
        -----------
        Returns the data used by the sharetool to work can then be used directly (read only).

        """
        return _Interface.Interface_ShareTool_Graph(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        bool

        Description
        -----------
        Returns true if <ent> is shared by other entities in the model.

        """
        return _Interface.Interface_ShareTool_IsShared(self, *args)

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

        Description
        -----------
        Returns the model used for creation (directly or for graph).

        """
        return _Interface.Interface_ShareTool_Model(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient
        atype: Standard_Type

        Return
        -------
        int

        Description
        -----------
        Returns the count of sharing entities of an entity, which are kind of a given type.

        """
        return _Interface.Interface_ShareTool_NbTypedSharings(self, *args)

    def RootEntities(self, *args):
        r"""
        Return
        -------
        Interface_EntityIterator

        Description
        -----------
        Returns the entities which are not shared (their sharing list is empty) in the model.

        """
        return _Interface.Interface_ShareTool_RootEntities(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        Interface_EntityIterator

        Description
        -----------
        Returns the list of entities shared by a given entity <ent>.

        """
        return _Interface.Interface_ShareTool_Shareds(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient

        Return
        -------
        Interface_EntityIterator

        Description
        -----------
        Returns the list of entities sharing a given entity <ent>.

        """
        return _Interface.Interface_ShareTool_Sharings(self, *args)

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

        Parameters
        ----------
        ent: Standard_Transient
        atype: Standard_Type

        Return
        -------
        opencascade::handle<Standard_Transient>

        Description
        -----------
        Returns the sharing entity of an entity, which is kind of a given type. allows to access a sharing entity of a given type when there is one and only one (current case).

        """
        return _Interface.Interface_ShareTool_TypedSharing(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_ShareTool

# Register Interface_ShareTool in _Interface:
_Interface.Interface_ShareTool_swigregister(Interface_ShareTool)
class Interface_SignLabel(OCC.Core.MoniTool.MoniTool_SignText):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _Interface.Interface_SignLabel_swiginit(self, _Interface.new_Interface_SignLabel(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_SignLabel

# Register Interface_SignLabel in _Interface:
_Interface.Interface_SignLabel_swigregister(Interface_SignLabel)
class Interface_SignType(OCC.Core.MoniTool.MoniTool_SignText):
    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

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

        Parameters
        ----------
        typnam: str

        Return
        -------
        str

        Description
        -----------
        From a cdl type name, returns the class part (package dropped) warning: buffered, to be immediately copied or printed.

        """
        return _Interface.Interface_SignType_ClassName(*args)

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

        Parameters
        ----------
        ent: Standard_Transient
        model: Interface_InterfaceModel

        Return
        -------
        str

        Description
        -----------
        Returns the signature for a transient object. it is specific of each sub-class of signature. for a null handle, it should provide '' it can work with the model which contains the entity.

        """
        return _Interface.Interface_SignType_Value(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_SignType

# Register Interface_SignType in _Interface:
_Interface.Interface_SignType_swigregister(Interface_SignType)
class Interface_TypedValue(OCC.Core.MoniTool.MoniTool_TypedValue):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        name: str
        type: Interface_ParamType (optional, default to Interface_ParamText)
        init: str (optional, default to )

        Return
        -------
        None

        Description
        -----------
        Creates a typedvalue, with a name //! type gives the type of the parameter, default is free text also available: integer, real, enum, entity (i.e. object) more precise specifications, titles, can be given to the typedvalue once created //! init gives an initial value. if it is not given, the typedvalue begins as 'not set', its value is empty.

        """
        _Interface.Interface_TypedValue_swiginit(self, _Interface.new_Interface_TypedValue(*args))

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

        Parameters
        ----------
        typ: Interface_ParamType

        Return
        -------
        MoniTool_ValueType

        Description
        -----------
        Correspondence paramtype from interface to valuetype from monitool.

        """
        return _Interface.Interface_TypedValue_ParamTypeToValueType(*args)

    def Type(self, *args):
        r"""
        Return
        -------
        Interface_ParamType

        Description
        -----------
        Returns the type i.e. calls valuetype then makes correspondence between paramtype from interface (which remains for compatibility reasons) and valuetype from monitool.

        """
        return _Interface.Interface_TypedValue_Type(self, *args)

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

        Parameters
        ----------
        typ: MoniTool_ValueType

        Return
        -------
        Interface_ParamType

        Description
        -----------
        Correspondence paramtype from interface to valuetype from monitool.

        """
        return _Interface.Interface_TypedValue_ValueTypeToParamType(*args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_TypedValue

# Register Interface_TypedValue in _Interface:
_Interface.Interface_TypedValue_swigregister(Interface_TypedValue)
class Interface_UndefinedContent(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Defines an empty undefinedcontent.

        """
        _Interface.Interface_UndefinedContent_swiginit(self, _Interface.new_Interface_UndefinedContent(*args))

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

        Parameters
        ----------
        ptype: Interface_ParamType
        ent: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Adds a parameter which references an entity.

        """
        return _Interface.Interface_UndefinedContent_AddEntity(self, *args)

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

        Parameters
        ----------
        ptype: Interface_ParamType
        val: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Adds a literal parameter to the list.

        """
        return _Interface.Interface_UndefinedContent_AddLiteral(self, *args)

    def EntityList(self, *args):
        r"""
        Return
        -------
        Interface_EntityList

        Description
        -----------
        Returns globally the list of param entities. note that it can be used as shared entity list for the undefinedentity.

        """
        return _Interface.Interface_UndefinedContent_EntityList(self, *args)

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

        Parameters
        ----------
        other: Interface_UndefinedContent
        TC: Interface_CopyTool

        Return
        -------
        None

        Description
        -----------
        Copies contents of undefined entities; deigned to be called by getfromanother method from undefined entity of each interface (the basic operation is the same regardless the norm).

        """
        return _Interface.Interface_UndefinedContent_GetFromAnother(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        bool

        Description
        -----------
        Returns true if a parameter is recorded as an entity error if num is not between 1 and nbparams.

        """
        return _Interface.Interface_UndefinedContent_IsParamEntity(self, *args)

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

        Description
        -----------
        Gives count of literal parameters.

        """
        return _Interface.Interface_UndefinedContent_NbLiterals(self, *args)

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

        Description
        -----------
        Gives count of recorded parameters.

        """
        return _Interface.Interface_UndefinedContent_NbParams(self, *args)

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

        Parameters
        ----------
        num: int
        ent: Standard_Transient

        Return
        -------
        ptype: Interface_ParamType
        val: TCollection_HAsciiString

        Description
        -----------
        Returns data of a parameter: its type, and the entity if it designates en entity ('ent') or its literal value else ('str') returned value (boolean): true if it is an entity, false else.

        """
        return _Interface.Interface_UndefinedContent_ParamData(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        opencascade::handle<Standard_Transient>

        Description
        -----------
        Returns entity corresponding to a param, given its rank.

        """
        return _Interface.Interface_UndefinedContent_ParamEntity(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        Interface_ParamType

        Description
        -----------
        Returns the paramtype of a param, given its rank error if num is not between 1 and nbparams.

        """
        return _Interface.Interface_UndefinedContent_ParamType(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        opencascade::handle<TCollection_HAsciiString>

        Description
        -----------
        Returns literal value of a parameter, given its rank.

        """
        return _Interface.Interface_UndefinedContent_ParamValue(self, *args)

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

        Parameters
        ----------
        num: int

        Return
        -------
        None

        Description
        -----------
        Removes a parameter given its rank.

        """
        return _Interface.Interface_UndefinedContent_RemoveParam(self, *args)

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

        Parameters
        ----------
        nb: int
        nblit: int

        Return
        -------
        None

        Description
        -----------
        Manages reservation for parameters (internal use) (nb: total count of parameters, nblit: count of literals).

        """
        return _Interface.Interface_UndefinedContent_Reservate(self, *args)

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

        Parameters
        ----------
        num: int
        ptype: Interface_ParamType
        ent: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Sets a new value for the parameter <num>, to reference an entity. to simply change the entity, see the variant below.

        Parameters
        ----------
        num: int
        ent: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Changes the entity referenced by the parameter <num> (with same paramtype).

        """
        return _Interface.Interface_UndefinedContent_SetEntity(self, *args)

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

        Parameters
        ----------
        num: int
        ptype: Interface_ParamType
        val: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Sets a new value for the parameter <num>, to a literal value (if it referenced formerly an entity, this entity is removed).

        """
        return _Interface.Interface_UndefinedContent_SetLiteral(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_UndefinedContent

# Register Interface_UndefinedContent in _Interface:
_Interface.Interface_UndefinedContent_swigregister(Interface_UndefinedContent)
class Interface_CopyMap(Interface_CopyControl):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        amodel: Interface_InterfaceModel

        Return
        -------
        None

        Description
        -----------
        Creates a copymap adapted to work from a model.

        """
        _Interface.Interface_CopyMap_swiginit(self, _Interface.new_Interface_CopyMap(*args))

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

        Description
        -----------
        Returns the interfacemodel used at creation time.

        """
        return _Interface.Interface_CopyMap_Model(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_CopyMap

# Register Interface_CopyMap in _Interface:
_Interface.Interface_CopyMap_swigregister(Interface_CopyMap)
class Interface_GraphContent(Interface_EntityIterator):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates an empty graphcontent, ready to be filled.

        Parameters
        ----------
        agraph: Interface_Graph

        Return
        -------
        None

        Description
        -----------
        Creates with all entities designated by a graph.

        Parameters
        ----------
        agraph: Interface_Graph
        stat: int

        Return
        -------
        None

        Description
        -----------
        Creates with entities having specific status value in a graph.

        Parameters
        ----------
        agraph: Interface_Graph
        ent: Standard_Transient

        Return
        -------
        None

        Description
        -----------
        Creates an iterator with shared entities of an entity (equivalente to entityiterator but with a graph).

        """
        _Interface.Interface_GraphContent_swiginit(self, _Interface.new_Interface_GraphContent(*args))

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

        Description
        -----------
        Does the evaluation before starting the iteration itself (in out).

        """
        return _Interface.Interface_GraphContent_Begin(self, *args)

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

        Description
        -----------
        Evaluates list of entities to be iterated. called by start default is set to doing nothing: intended to be redefined by each sub-class.

        """
        return _Interface.Interface_GraphContent_Evaluate(self, *args)

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

        Parameters
        ----------
        agraph: Interface_Graph

        Return
        -------
        None

        Description
        -----------
        Gets all entities designated by a graph (once created), adds them to those already recorded.

        Parameters
        ----------
        agraph: Interface_Graph
        stat: int

        Return
        -------
        None

        Description
        -----------
        Gets entities from a graph which have a specific status value (one created), adds them to those already recorded.

        """
        return _Interface.Interface_GraphContent_GetFromGraph(self, *args)

    def Result(self, *args):
        r"""
        Return
        -------
        Interface_EntityIterator

        Description
        -----------
        Returns result under the exact form of an entityiterator: can be used when entityiterator itself is required (as a returned value for instance), without way for a sub-class.

        """
        return _Interface.Interface_GraphContent_Result(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_GraphContent

# Register Interface_GraphContent in _Interface:
_Interface.Interface_GraphContent_swigregister(Interface_GraphContent)
class Interface_Static(Interface_TypedValue):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        family: str
        name: str
        type: Interface_ParamType (optional, default to Interface_ParamText)
        init: str (optional, default to )

        Return
        -------
        None

        Description
        -----------
        Creates and records a static, with a family and a name family can report to a name of resource or to a system or internal definition. the name must be unique. //! type gives the type of the parameter, default is free text also available: integer, real, enum, entity (i.e. object) more precise specifications, titles, can be given to the static once created //! init gives an initial value. if it is not given, the static begin as 'not set', its value is empty.

        Parameters
        ----------
        family: str
        name: str
        other: Interface_Static

        Return
        -------
        None

        Description
        -----------
        Creates a new static with same definition as another one (value is copied, except for entity: it remains null).

        """
        _Interface.Interface_Static_swiginit(self, _Interface.new_Interface_Static(*args))

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

        Parameters
        ----------
        name: str
        part: str

        Return
        -------
        str

        Description
        -----------
        Returns a part of the definition of a static, as a cstring the part is designated by its name, as a cstring if the required value is not a string, it is converted to a cstring then returned if <name> is not present, or <part> not defined for <name>, this function returns an empty string //! allowed parts for cdef: family: the family type: the type ('integer','real','text','enum') label: the label satis: satisfy function name if any rmin: minimum real value rmax: maximum real value imin: minimum integer value imax: maximum integer value enum nn (nn: value of an integer): enum value for nn unit: unit definition for a real.

        """
        return _Interface.Interface_Static_CDef(*args)

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

        Parameters
        ----------
        name: str

        Return
        -------
        str

        Description
        -----------
        Returns the value of the parameter identified by the string name. if the specified parameter does not exist, an empty string is returned. example interface_static::cval('write.step.schema'); which could return: 'ap214'.

        """
        return _Interface.Interface_Static_CVal(*args)

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

        Description
        -----------
        Returns the family. it can be: a resource name for applis, an internal name between: $e (environment variables), $l (other, purely local).

        """
        return _Interface.Interface_Static_Family(self, *args)

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

        Parameters
        ----------
        theMap: NCollection_DataMap<TCollection_AsciiString, TCollection_AsciiString, TCollection_AsciiString>

        Return
        -------
        None

        Description
        -----------
        Fills given string-to-string map with all static data.

        """
        return _Interface.Interface_Static_FillMap(*args)

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

        Parameters
        ----------
        name: str
        part: str

        Return
        -------
        int

        Description
        -----------
        Returns a part of the definition of a static, as an integer the part is designated by its name, as a cstring if the required value is not a string, returns zero for a boolean, 0 for false, 1 for true if <name> is not present, or <part> not defined for <name>, this function returns zero //! allowed parts for idef: imin, imax: minimum or maximum integer value estart: starting number for enum ecount: count of enum values (starting from estart) ematch: exact match status eval val: case determined from a string.

        """
        return _Interface.Interface_Static_IDef(*args)

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

        Parameters
        ----------
        name: str

        Return
        -------
        int

        Description
        -----------
        Returns the integer value of the translation parameter identified by the string name. returns the value 0 if the parameter does not exist. example interface_static::ival('write.step.schema'); which could return: 3.

        """
        return _Interface.Interface_Static_IVal(*args)

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

        Parameters
        ----------
        family: str
        name: str
        type: Interface_ParamType
        init: str (optional, default to )

        Return
        -------
        bool

        Description
        -----------
        Declares a new static (by calling its constructor) if this name is already taken, does nothing and returns false else, creates it and returns true for additional definitions, get the static then edit it.

        Parameters
        ----------
        family: str
        name: str
        type: Standard_Character
        init: str (optional, default to )

        Return
        -------
        bool

        Description
        -----------
        As init with paramtype, but type is given as a character this allows a simpler call types: 'i' integer, 'r' real, 't' text, 'e' enum, 'o' object '=' for same definition as, <init> gives the initial static returns false if <type> does not match this list.

        """
        return _Interface.Interface_Static_Init(*args)

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

        Parameters
        ----------
        name: str

        Return
        -------
        bool

        Description
        -----------
        Returns true if a static named <name> is present, false else.

        """
        return _Interface.Interface_Static_IsPresent(*args)

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

        Parameters
        ----------
        name: str
        proper: bool (optional, default to Standard_True)

        Return
        -------
        bool

        Description
        -----------
        Returns true if <name> is present and set <proper> true (d): considers this item only <proper> false: if not set and attached to a wild-card, considers this wild-card.

        """
        return _Interface.Interface_Static_IsSet(*args)

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

        Parameters
        ----------
        name: str

        Return
        -------
        bool

        Description
        -----------
        Returns the status 'uptodate' from a static returns false if <name> is not present.

        """
        return _Interface.Interface_Static_IsUpdated(*args)

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

        Parameters
        ----------
        mode: int (optional, default to 0)
        criter: str (optional, default to )

        Return
        -------
        opencascade::handle<TColStd_HSequenceOfHAsciiString>

        Description
        -----------
        Returns a list of names of statics: <mode> = 0 (d): criter is for family <mode> = 1: criter is regexp on names, takes final items (ignore wild cards) <mode> = 2: idem but take only wilded, not final items <mode> = 3: idem, take all items matching criter idem + 100: takes only non-updated items idem + 200: takes only updated items criter empty (d): returns all names else returns names which match the given criter remark: families beginning by '$' are not listed by criter '' they are listed only by criter '$' //! this allows for instance to set new values after having loaded or reloaded a resource, then to update them as required.

        """
        return _Interface.Interface_Static_Items(*args)

    def PrintStaticToString(self):
        r"""PrintStaticToString(Interface_Static self) -> std::string"""
        return _Interface.Interface_Static_PrintStaticToString(self)

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

        Parameters
        ----------
        name: str

        Return
        -------
        float

        Description
        -----------
        Returns the value of a static translation parameter identified by the string name. returns the value 0.0 if the parameter does not exist.

        """
        return _Interface.Interface_Static_RVal(*args)

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

        Parameters
        ----------
        name: str
        val: str

        Return
        -------
        bool

        Description
        -----------
        Modifies the value of the parameter identified by name. the modification is specified by the string val. false is returned if the parameter does not exist. example interface_static::setcval ('write.step.schema','ap203') this syntax specifies a switch from the default step 214 mode to step 203 mode.

        """
        return _Interface.Interface_Static_SetCVal(*args)

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

        Parameters
        ----------
        name: str
        val: int

        Return
        -------
        bool

        Description
        -----------
        Modifies the value of the parameter identified by name. the modification is specified by the integer value val. false is returned if the parameter does not exist. example interface_static::setival ('write.step.schema', 3) this syntax specifies a switch from the default step 214 mode to step 203 mode.s.

        """
        return _Interface.Interface_Static_SetIVal(*args)

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

        Parameters
        ----------
        name: str
        val: float

        Return
        -------
        bool

        Description
        -----------
        Modifies the value of a translation parameter. false is returned if the parameter does not exist. the modification is specified by the real number value val.

        """
        return _Interface.Interface_Static_SetRVal(*args)

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

        Description
        -----------
        Records a static has 'uptodate', i.e. its value has been taken into account by a reinitialisation procedure this flag is reset at each successful setvalue.

        """
        return _Interface.Interface_Static_SetUptodate(self, *args)

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

        Parameters
        ----------
        wildcard: Interface_Static

        Return
        -------
        None

        Description
        -----------
        Sets a 'wild-card' static: its value will be considered if <self> is not properly set. (reset by set a null one).

        """
        return _Interface.Interface_Static_SetWild(self, *args)

    @staticmethod
    def Standards(*args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Initializes all standard static parameters, which can be used by every function. statics specific of a norm or a function must be defined around it.

        """
        return _Interface.Interface_Static_Standards(*args)

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

        Parameters
        ----------
        name: str

        Return
        -------
        opencascade::handle<Interface_Static>

        Description
        -----------
        Returns a static from its name. null handle if not present.

        """
        return _Interface.Interface_Static_Static(*args)

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

        Parameters
        ----------
        name: str

        Return
        -------
        bool

        Description
        -----------
        Sets a static to be 'uptodate' returns false if <name> is not present this status can be used by a reinitialisation procedure to rerun if a value has been changed.

        """
        return _Interface.Interface_Static_Update(*args)

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

        Description
        -----------
        Returns the status 'uptodate'.

        """
        return _Interface.Interface_Static_UpdatedStatus(self, *args)

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

        Description
        -----------
        Returns the wildcard static, which can be (is most often) null.

        """
        return _Interface.Interface_Static_Wild(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Interface.delete_Interface_Static

# Register Interface_Static in _Interface:
_Interface.Interface_Static_swigregister(Interface_Static)
class Interface_HArray1OfHAsciiString(Interface_Array1OfHAsciiString, 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):
        _Interface.Interface_HArray1OfHAsciiString_swiginit(self, _Interface.new_Interface_HArray1OfHAsciiString(*args))

    def Array1(self):
        return _Interface.Interface_HArray1OfHAsciiString_Array1(self)

    def ChangeArray1(self):
        return _Interface.Interface_HArray1OfHAsciiString_ChangeArray1(self)


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

    __swig_destroy__ = _Interface.delete_Interface_HArray1OfHAsciiString

# Register Interface_HArray1OfHAsciiString in _Interface:
_Interface.Interface_HArray1OfHAsciiString_swigregister(Interface_HArray1OfHAsciiString)
class Interface_HSequenceOfCheck(Interface_SequenceOfCheck, 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):
        _Interface.Interface_HSequenceOfCheck_swiginit(self, _Interface.new_Interface_HSequenceOfCheck(*args))

    def Sequence(self):
        return _Interface.Interface_HSequenceOfCheck_Sequence(self)

    def Append(self, *args):
        return _Interface.Interface_HSequenceOfCheck_Append(self, *args)

    def ChangeSequence(self):
        return _Interface.Interface_HSequenceOfCheck_ChangeSequence(self)


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

    __swig_destroy__ = _Interface.delete_Interface_HSequenceOfCheck

# Register Interface_HSequenceOfCheck in _Interface:
_Interface.Interface_HSequenceOfCheck_swigregister(Interface_HSequenceOfCheck)



@deprecated
def Interface_Category_AddCategory(*args):
	return Interface_Category.AddCategory(*args)

@deprecated
def Interface_Category_Init(*args):
	return Interface_Category.Init(*args)

@deprecated
def Interface_Category_Name(*args):
	return Interface_Category.Name(*args)

@deprecated
def Interface_Category_NbCategories(*args):
	return Interface_Category.NbCategories(*args)

@deprecated
def Interface_Category_Number(*args):
	return Interface_Category.Number(*args)

@deprecated
def Interface_FileReaderData_Fastof(*args):
	return Interface_FileReaderData.Fastof(*args)

@deprecated
def Interface_FloatWriter_Convert(*args):
	return Interface_FloatWriter.Convert(*args)

@deprecated
def Interface_GeneralLib_SetGlobal(*args):
	return Interface_GeneralLib.SetGlobal(*args)

@deprecated
def Interface_InterfaceModel_ClassName(*args):
	return Interface_InterfaceModel.ClassName(*args)

@deprecated
def Interface_InterfaceModel_HasTemplate(*args):
	return Interface_InterfaceModel.HasTemplate(*args)

@deprecated
def Interface_InterfaceModel_ListTemplates(*args):
	return Interface_InterfaceModel.ListTemplates(*args)

@deprecated
def Interface_InterfaceModel_SetTemplate(*args):
	return Interface_InterfaceModel.SetTemplate(*args)

@deprecated
def Interface_InterfaceModel_Template(*args):
	return Interface_InterfaceModel.Template(*args)

@deprecated
def Interface_MSG_Blanks(*args):
	return Interface_MSG.Blanks(*args)

@deprecated
def Interface_MSG_Blanks(*args):
	return Interface_MSG.Blanks(*args)

@deprecated
def Interface_MSG_Blanks(*args):
	return Interface_MSG.Blanks(*args)

@deprecated
def Interface_MSG_CDate(*args):
	return Interface_MSG.CDate(*args)

@deprecated
def Interface_MSG_Intervalled(*args):
	return Interface_MSG.Intervalled(*args)

@deprecated
def Interface_MSG_IsKey(*args):
	return Interface_MSG.IsKey(*args)

@deprecated
def Interface_MSG_NDate(*args):
	return Interface_MSG.NDate(*args)

@deprecated
def Interface_MSG_Read(*args):
	return Interface_MSG.Read(*args)

@deprecated
def Interface_MSG_Record(*args):
	return Interface_MSG.Record(*args)

@deprecated
def Interface_MSG_SetMode(*args):
	return Interface_MSG.SetMode(*args)

@deprecated
def Interface_MSG_SetTrace(*args):
	return Interface_MSG.SetTrace(*args)

@deprecated
def Interface_MSG_TDate(*args):
	return Interface_MSG.TDate(*args)

@deprecated
def Interface_MSG_Translated(*args):
	return Interface_MSG.Translated(*args)

@deprecated
def Interface_MapAsciiStringHasher_HashCode(*args):
	return Interface_MapAsciiStringHasher.HashCode(*args)

@deprecated
def Interface_MapAsciiStringHasher_IsEqual(*args):
	return Interface_MapAsciiStringHasher.IsEqual(*args)

@deprecated
def Interface_Protocol_Active(*args):
	return Interface_Protocol.Active(*args)

@deprecated
def Interface_Protocol_ClearActive(*args):
	return Interface_Protocol.ClearActive(*args)

@deprecated
def Interface_Protocol_SetActive(*args):
	return Interface_Protocol.SetActive(*args)

@deprecated
def Interface_ReaderLib_SetGlobal(*args):
	return Interface_ReaderLib.SetGlobal(*args)

@deprecated
def Interface_STAT_End(*args):
	return Interface_STAT.End(*args)

@deprecated
def Interface_STAT_NextCycle(*args):
	return Interface_STAT.NextCycle(*args)

@deprecated
def Interface_STAT_NextItem(*args):
	return Interface_STAT.NextItem(*args)

@deprecated
def Interface_STAT_NextPhase(*args):
	return Interface_STAT.NextPhase(*args)

@deprecated
def Interface_STAT_NextStep(*args):
	return Interface_STAT.NextStep(*args)

@deprecated
def Interface_STAT_Percent(*args):
	return Interface_STAT.Percent(*args)

@deprecated
def Interface_STAT_SetPhase(*args):
	return Interface_STAT.SetPhase(*args)

@deprecated
def Interface_STAT_StartCount(*args):
	return Interface_STAT.StartCount(*args)

@deprecated
def Interface_STAT_Where(*args):
	return Interface_STAT.Where(*args)

@deprecated
def Interface_SignType_ClassName(*args):
	return Interface_SignType.ClassName(*args)

@deprecated
def Interface_TypedValue_ParamTypeToValueType(*args):
	return Interface_TypedValue.ParamTypeToValueType(*args)

@deprecated
def Interface_TypedValue_ValueTypeToParamType(*args):
	return Interface_TypedValue.ValueTypeToParamType(*args)

@deprecated
def Interface_Static_CDef(*args):
	return Interface_Static.CDef(*args)

@deprecated
def Interface_Static_CVal(*args):
	return Interface_Static.CVal(*args)

@deprecated
def Interface_Static_FillMap(*args):
	return Interface_Static.FillMap(*args)

@deprecated
def Interface_Static_IDef(*args):
	return Interface_Static.IDef(*args)

@deprecated
def Interface_Static_IVal(*args):
	return Interface_Static.IVal(*args)

@deprecated
def Interface_Static_Init(*args):
	return Interface_Static.Init(*args)

@deprecated
def Interface_Static_Init(*args):
	return Interface_Static.Init(*args)

@deprecated
def Interface_Static_IsPresent(*args):
	return Interface_Static.IsPresent(*args)

@deprecated
def Interface_Static_IsSet(*args):
	return Interface_Static.IsSet(*args)

@deprecated
def Interface_Static_IsUpdated(*args):
	return Interface_Static.IsUpdated(*args)

@deprecated
def Interface_Static_Items(*args):
	return Interface_Static.Items(*args)

@deprecated
def Interface_Static_RVal(*args):
	return Interface_Static.RVal(*args)

@deprecated
def Interface_Static_SetCVal(*args):
	return Interface_Static.SetCVal(*args)

@deprecated
def Interface_Static_SetIVal(*args):
	return Interface_Static.SetIVal(*args)

@deprecated
def Interface_Static_SetRVal(*args):
	return Interface_Static.SetRVal(*args)

@deprecated
def Interface_Static_Standards(*args):
	return Interface_Static.Standards(*args)

@deprecated
def Interface_Static_Static(*args):
	return Interface_Static.Static(*args)

@deprecated
def Interface_Static_Update(*args):
	return Interface_Static.Update(*args)



