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

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

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

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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

_swig_new_instance_method = _StepData.SWIG_PyInstanceMethod_New
_swig_new_static_method = _StepData.SWIG_PyStaticMethod_New

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


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


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


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


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


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

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

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


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


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

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.Interface
import OCC.Core.TCollection
import OCC.Core.TColStd
import OCC.Core.Message
import OCC.Core.MoniTool
import OCC.Core.TopoDS
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.gp
import OCC.Core.OSD
StepData_LFalse = _StepData.StepData_LFalse
StepData_LTrue = _StepData.StepData_LTrue
StepData_LUnknown = _StepData.StepData_LUnknown
Handle_StepData_Described_Create = _StepData.Handle_StepData_Described_Create
Handle_StepData_Described_DownCast = _StepData.Handle_StepData_Described_DownCast
Handle_StepData_Described_IsNull = _StepData.Handle_StepData_Described_IsNull
Handle_StepData_EDescr_Create = _StepData.Handle_StepData_EDescr_Create
Handle_StepData_EDescr_DownCast = _StepData.Handle_StepData_EDescr_DownCast
Handle_StepData_EDescr_IsNull = _StepData.Handle_StepData_EDescr_IsNull
Handle_StepData_FileRecognizer_Create = _StepData.Handle_StepData_FileRecognizer_Create
Handle_StepData_FileRecognizer_DownCast = _StepData.Handle_StepData_FileRecognizer_DownCast
Handle_StepData_FileRecognizer_IsNull = _StepData.Handle_StepData_FileRecognizer_IsNull
Handle_StepData_GeneralModule_Create = _StepData.Handle_StepData_GeneralModule_Create
Handle_StepData_GeneralModule_DownCast = _StepData.Handle_StepData_GeneralModule_DownCast
Handle_StepData_GeneralModule_IsNull = _StepData.Handle_StepData_GeneralModule_IsNull
Handle_StepData_GlobalNodeOfWriterLib_Create = _StepData.Handle_StepData_GlobalNodeOfWriterLib_Create
Handle_StepData_GlobalNodeOfWriterLib_DownCast = _StepData.Handle_StepData_GlobalNodeOfWriterLib_DownCast
Handle_StepData_GlobalNodeOfWriterLib_IsNull = _StepData.Handle_StepData_GlobalNodeOfWriterLib_IsNull
Handle_StepData_NodeOfWriterLib_Create = _StepData.Handle_StepData_NodeOfWriterLib_Create
Handle_StepData_NodeOfWriterLib_DownCast = _StepData.Handle_StepData_NodeOfWriterLib_DownCast
Handle_StepData_NodeOfWriterLib_IsNull = _StepData.Handle_StepData_NodeOfWriterLib_IsNull
Handle_StepData_PDescr_Create = _StepData.Handle_StepData_PDescr_Create
Handle_StepData_PDescr_DownCast = _StepData.Handle_StepData_PDescr_DownCast
Handle_StepData_PDescr_IsNull = _StepData.Handle_StepData_PDescr_IsNull
Handle_StepData_Protocol_Create = _StepData.Handle_StepData_Protocol_Create
Handle_StepData_Protocol_DownCast = _StepData.Handle_StepData_Protocol_DownCast
Handle_StepData_Protocol_IsNull = _StepData.Handle_StepData_Protocol_IsNull
Handle_StepData_ReadWriteModule_Create = _StepData.Handle_StepData_ReadWriteModule_Create
Handle_StepData_ReadWriteModule_DownCast = _StepData.Handle_StepData_ReadWriteModule_DownCast
Handle_StepData_ReadWriteModule_IsNull = _StepData.Handle_StepData_ReadWriteModule_IsNull
Handle_StepData_SelectMember_Create = _StepData.Handle_StepData_SelectMember_Create
Handle_StepData_SelectMember_DownCast = _StepData.Handle_StepData_SelectMember_DownCast
Handle_StepData_SelectMember_IsNull = _StepData.Handle_StepData_SelectMember_IsNull
Handle_StepData_StepModel_Create = _StepData.Handle_StepData_StepModel_Create
Handle_StepData_StepModel_DownCast = _StepData.Handle_StepData_StepModel_DownCast
Handle_StepData_StepModel_IsNull = _StepData.Handle_StepData_StepModel_IsNull
Handle_StepData_StepReaderData_Create = _StepData.Handle_StepData_StepReaderData_Create
Handle_StepData_StepReaderData_DownCast = _StepData.Handle_StepData_StepReaderData_DownCast
Handle_StepData_StepReaderData_IsNull = _StepData.Handle_StepData_StepReaderData_IsNull
Handle_StepData_DefaultGeneral_Create = _StepData.Handle_StepData_DefaultGeneral_Create
Handle_StepData_DefaultGeneral_DownCast = _StepData.Handle_StepData_DefaultGeneral_DownCast
Handle_StepData_DefaultGeneral_IsNull = _StepData.Handle_StepData_DefaultGeneral_IsNull
Handle_StepData_ECDescr_Create = _StepData.Handle_StepData_ECDescr_Create
Handle_StepData_ECDescr_DownCast = _StepData.Handle_StepData_ECDescr_DownCast
Handle_StepData_ECDescr_IsNull = _StepData.Handle_StepData_ECDescr_IsNull
Handle_StepData_ESDescr_Create = _StepData.Handle_StepData_ESDescr_Create
Handle_StepData_ESDescr_DownCast = _StepData.Handle_StepData_ESDescr_DownCast
Handle_StepData_ESDescr_IsNull = _StepData.Handle_StepData_ESDescr_IsNull
Handle_StepData_FileProtocol_Create = _StepData.Handle_StepData_FileProtocol_Create
Handle_StepData_FileProtocol_DownCast = _StepData.Handle_StepData_FileProtocol_DownCast
Handle_StepData_FileProtocol_IsNull = _StepData.Handle_StepData_FileProtocol_IsNull
Handle_StepData_Plex_Create = _StepData.Handle_StepData_Plex_Create
Handle_StepData_Plex_DownCast = _StepData.Handle_StepData_Plex_DownCast
Handle_StepData_Plex_IsNull = _StepData.Handle_StepData_Plex_IsNull
Handle_StepData_SelectInt_Create = _StepData.Handle_StepData_SelectInt_Create
Handle_StepData_SelectInt_DownCast = _StepData.Handle_StepData_SelectInt_DownCast
Handle_StepData_SelectInt_IsNull = _StepData.Handle_StepData_SelectInt_IsNull
Handle_StepData_SelectNamed_Create = _StepData.Handle_StepData_SelectNamed_Create
Handle_StepData_SelectNamed_DownCast = _StepData.Handle_StepData_SelectNamed_DownCast
Handle_StepData_SelectNamed_IsNull = _StepData.Handle_StepData_SelectNamed_IsNull
Handle_StepData_SelectReal_Create = _StepData.Handle_StepData_SelectReal_Create
Handle_StepData_SelectReal_DownCast = _StepData.Handle_StepData_SelectReal_DownCast
Handle_StepData_SelectReal_IsNull = _StepData.Handle_StepData_SelectReal_IsNull
Handle_StepData_Simple_Create = _StepData.Handle_StepData_Simple_Create
Handle_StepData_Simple_DownCast = _StepData.Handle_StepData_Simple_DownCast
Handle_StepData_Simple_IsNull = _StepData.Handle_StepData_Simple_IsNull
Handle_StepData_SelectArrReal_Create = _StepData.Handle_StepData_SelectArrReal_Create
Handle_StepData_SelectArrReal_DownCast = _StepData.Handle_StepData_SelectArrReal_DownCast
Handle_StepData_SelectArrReal_IsNull = _StepData.Handle_StepData_SelectArrReal_IsNull
Handle_StepData_HArray1OfField_Create = _StepData.Handle_StepData_HArray1OfField_Create
Handle_StepData_HArray1OfField_DownCast = _StepData.Handle_StepData_HArray1OfField_DownCast
Handle_StepData_HArray1OfField_IsNull = _StepData.Handle_StepData_HArray1OfField_IsNull
class StepData_Array1OfField(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_StepData.StepData_Array1OfField_begin)
    end = _swig_new_instance_method(_StepData.StepData_Array1OfField_end)
    cbegin = _swig_new_instance_method(_StepData.StepData_Array1OfField_cbegin)
    cend = _swig_new_instance_method(_StepData.StepData_Array1OfField_cend)

    def __init__(self, *args):
        _StepData.StepData_Array1OfField_swiginit(self, _StepData.new_StepData_Array1OfField(*args))
    Init = _swig_new_instance_method(_StepData.StepData_Array1OfField_Init)
    Size = _swig_new_instance_method(_StepData.StepData_Array1OfField_Size)
    Length = _swig_new_instance_method(_StepData.StepData_Array1OfField_Length)
    IsEmpty = _swig_new_instance_method(_StepData.StepData_Array1OfField_IsEmpty)
    Lower = _swig_new_instance_method(_StepData.StepData_Array1OfField_Lower)
    Upper = _swig_new_instance_method(_StepData.StepData_Array1OfField_Upper)
    IsDeletable = _swig_new_instance_method(_StepData.StepData_Array1OfField_IsDeletable)
    IsAllocated = _swig_new_instance_method(_StepData.StepData_Array1OfField_IsAllocated)
    Assign = _swig_new_instance_method(_StepData.StepData_Array1OfField_Assign)
    Move = _swig_new_instance_method(_StepData.StepData_Array1OfField_Move)
    Set = _swig_new_instance_method(_StepData.StepData_Array1OfField_Set)
    First = _swig_new_instance_method(_StepData.StepData_Array1OfField_First)
    ChangeFirst = _swig_new_instance_method(_StepData.StepData_Array1OfField_ChangeFirst)
    Last = _swig_new_instance_method(_StepData.StepData_Array1OfField_Last)
    ChangeLast = _swig_new_instance_method(_StepData.StepData_Array1OfField_ChangeLast)
    Value = _swig_new_instance_method(_StepData.StepData_Array1OfField_Value)
    ChangeValue = _swig_new_instance_method(_StepData.StepData_Array1OfField_ChangeValue)
    __call__ = _swig_new_instance_method(_StepData.StepData_Array1OfField___call__)
    SetValue = _swig_new_instance_method(_StepData.StepData_Array1OfField_SetValue)
    Resize = _swig_new_instance_method(_StepData.StepData_Array1OfField_Resize)
    __swig_destroy__ = _StepData.delete_StepData_Array1OfField

    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 StepData_Array1OfField in _StepData:
_StepData.StepData_Array1OfField_swigregister(StepData_Array1OfField)

class stepdata(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AddHeaderProtocol = _swig_new_static_method(_StepData.stepdata_AddHeaderProtocol)
    HeaderProtocol = _swig_new_static_method(_StepData.stepdata_HeaderProtocol)
    Init = _swig_new_static_method(_StepData.stepdata_Init)
    Protocol = _swig_new_static_method(_StepData.stepdata_Protocol)

    __repr__ = _dumps_object


    def __init__(self):
        _StepData.stepdata_swiginit(self, _StepData.new_stepdata())
    __swig_destroy__ = _StepData.delete_stepdata

# Register stepdata in _StepData:
_StepData.stepdata_swigregister(stepdata)
stepdata_AddHeaderProtocol = _StepData.stepdata_AddHeaderProtocol
stepdata_HeaderProtocol = _StepData.stepdata_HeaderProtocol
stepdata_Init = _StepData.stepdata_Init
stepdata_Protocol = _StepData.stepdata_Protocol

class StepData_Described(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
    As = _swig_new_instance_method(_StepData.StepData_Described_As)
    CField = _swig_new_instance_method(_StepData.StepData_Described_CField)
    Check = _swig_new_instance_method(_StepData.StepData_Described_Check)
    Description = _swig_new_instance_method(_StepData.StepData_Described_Description)
    Field = _swig_new_instance_method(_StepData.StepData_Described_Field)
    HasField = _swig_new_instance_method(_StepData.StepData_Described_HasField)
    IsComplex = _swig_new_instance_method(_StepData.StepData_Described_IsComplex)
    Matches = _swig_new_instance_method(_StepData.StepData_Described_Matches)
    Shared = _swig_new_instance_method(_StepData.StepData_Described_Shared)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_Described

# Register StepData_Described in _StepData:
_StepData.StepData_Described_swigregister(StepData_Described)

class StepData_EDescr(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
    IsComplex = _swig_new_instance_method(_StepData.StepData_EDescr_IsComplex)
    Matches = _swig_new_instance_method(_StepData.StepData_EDescr_Matches)
    NewEntity = _swig_new_instance_method(_StepData.StepData_EDescr_NewEntity)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_EDescr

# Register StepData_EDescr in _StepData:
_StepData.StepData_EDescr_swigregister(StepData_EDescr)

class StepData_EnumTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AddDefinition = _swig_new_instance_method(_StepData.StepData_EnumTool_AddDefinition)
    IsSet = _swig_new_instance_method(_StepData.StepData_EnumTool_IsSet)
    MaxValue = _swig_new_instance_method(_StepData.StepData_EnumTool_MaxValue)
    NullValue = _swig_new_instance_method(_StepData.StepData_EnumTool_NullValue)
    Optional = _swig_new_instance_method(_StepData.StepData_EnumTool_Optional)

    def __init__(self, *args):
        r"""
        * Creates an EnumTool with definitions given by e0 .. e<max> Each definition string can bring one term, or several separated by blanks. Each term corresponds to one value of the enumeration, if dots are not presents they are added //! Such a static constructor allows to build a static description as : static StepData_EnumTool myenumtool('e0','e1'...); then use it without having to initialise it //! A null definition can be input by given '$' :the corresponding position is attached to 'null/undefined' value (as one particular item of the enumeration list)
        	:param e0: default value is 
        	:type e0: char *
        	:param e1: default value is 
        	:type e1: char *
        	:param e2: default value is 
        	:type e2: char *
        	:param e3: default value is 
        	:type e3: char *
        	:param e4: default value is 
        	:type e4: char *
        	:param e5: default value is 
        	:type e5: char *
        	:param e6: default value is 
        	:type e6: char *
        	:param e7: default value is 
        	:type e7: char *
        	:param e8: default value is 
        	:type e8: char *
        	:param e9: default value is 
        	:type e9: char *
        	:param e10: default value is 
        	:type e10: char *
        	:param e11: default value is 
        	:type e11: char *
        	:param e12: default value is 
        	:type e12: char *
        	:param e13: default value is 
        	:type e13: char *
        	:param e14: default value is 
        	:type e14: char *
        	:param e15: default value is 
        	:type e15: char *
        	:param e16: default value is 
        	:type e16: char *
        	:param e17: default value is 
        	:type e17: char *
        	:param e18: default value is 
        	:type e18: char *
        	:param e19: default value is 
        	:type e19: char *
        	:param e20: default value is 
        	:type e20: char *
        	:param e21: default value is 
        	:type e21: char *
        	:param e22: default value is 
        	:type e22: char *
        	:param e23: default value is 
        	:type e23: char *
        	:param e24: default value is 
        	:type e24: char *
        	:param e25: default value is 
        	:type e25: char *
        	:param e26: default value is 
        	:type e26: char *
        	:param e27: default value is 
        	:type e27: char *
        	:param e28: default value is 
        	:type e28: char *
        	:param e29: default value is 
        	:type e29: char *
        	:param e30: default value is 
        	:type e30: char *
        	:param e31: default value is 
        	:type e31: char *
        	:param e32: default value is 
        	:type e32: char *
        	:param e33: default value is 
        	:type e33: char *
        	:param e34: default value is 
        	:type e34: char *
        	:param e35: default value is 
        	:type e35: char *
        	:param e36: default value is 
        	:type e36: char *
        	:param e37: default value is 
        	:type e37: char *
        	:param e38: default value is 
        	:type e38: char *
        	:param e39: default value is 
        	:type e39: char *
        	:rtype: None
        """
        _StepData.StepData_EnumTool_swiginit(self, _StepData.new_StepData_EnumTool(*args))
    Text = _swig_new_instance_method(_StepData.StepData_EnumTool_Text)
    Value = _swig_new_instance_method(_StepData.StepData_EnumTool_Value)

    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_EnumTool

# Register StepData_EnumTool in _StepData:
_StepData.StepData_EnumTool_swigregister(StepData_EnumTool)

class StepData_Field(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Arity = _swig_new_instance_method(_StepData.StepData_Field_Arity)
    Boolean = _swig_new_instance_method(_StepData.StepData_Field_Boolean)
    Clear = _swig_new_instance_method(_StepData.StepData_Field_Clear)
    ClearItem = _swig_new_instance_method(_StepData.StepData_Field_ClearItem)
    CopyFrom = _swig_new_instance_method(_StepData.StepData_Field_CopyFrom)
    Entity = _swig_new_instance_method(_StepData.StepData_Field_Entity)
    Enum = _swig_new_instance_method(_StepData.StepData_Field_Enum)
    EnumText = _swig_new_instance_method(_StepData.StepData_Field_EnumText)
    Int = _swig_new_instance_method(_StepData.StepData_Field_Int)
    Integer = _swig_new_instance_method(_StepData.StepData_Field_Integer)
    IsSet = _swig_new_instance_method(_StepData.StepData_Field_IsSet)
    ItemKind = _swig_new_instance_method(_StepData.StepData_Field_ItemKind)
    Kind = _swig_new_instance_method(_StepData.StepData_Field_Kind)
    Length = _swig_new_instance_method(_StepData.StepData_Field_Length)
    Logical = _swig_new_instance_method(_StepData.StepData_Field_Logical)
    Lower = _swig_new_instance_method(_StepData.StepData_Field_Lower)
    Real = _swig_new_instance_method(_StepData.StepData_Field_Real)
    Set = _swig_new_instance_method(_StepData.StepData_Field_Set)
    SetBoolean = _swig_new_instance_method(_StepData.StepData_Field_SetBoolean)
    SetDerived = _swig_new_instance_method(_StepData.StepData_Field_SetDerived)
    SetEntity = _swig_new_instance_method(_StepData.StepData_Field_SetEntity)
    SetEnum = _swig_new_instance_method(_StepData.StepData_Field_SetEnum)
    SetInt = _swig_new_instance_method(_StepData.StepData_Field_SetInt)
    SetInteger = _swig_new_instance_method(_StepData.StepData_Field_SetInteger)
    SetList = _swig_new_instance_method(_StepData.StepData_Field_SetList)
    SetList2 = _swig_new_instance_method(_StepData.StepData_Field_SetList2)
    SetLogical = _swig_new_instance_method(_StepData.StepData_Field_SetLogical)
    SetReal = _swig_new_instance_method(_StepData.StepData_Field_SetReal)
    SetSelectMember = _swig_new_instance_method(_StepData.StepData_Field_SetSelectMember)
    SetString = _swig_new_instance_method(_StepData.StepData_Field_SetString)

    def __init__(self, *args):
        r"""
        * Creates a Field, empty ('no value defined')
        	:rtype: None* Creates a Field from another one. If <copy> is True, Handled data (Select,String,List, not entities) are copied
        	:param other:
        	:type other: StepData_Field
        	:param copy: default value is Standard_False
        	:type copy: bool
        	:rtype: None
        """
        _StepData.StepData_Field_swiginit(self, _StepData.new_StepData_Field(*args))
    String = _swig_new_instance_method(_StepData.StepData_Field_String)
    Transient = _swig_new_instance_method(_StepData.StepData_Field_Transient)

    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_Field

# Register StepData_Field in _StepData:
_StepData.StepData_Field_swigregister(StepData_Field)

class StepData_FieldList(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    CField = _swig_new_instance_method(_StepData.StepData_FieldList_CField)
    Field = _swig_new_instance_method(_StepData.StepData_FieldList_Field)
    FillShared = _swig_new_instance_method(_StepData.StepData_FieldList_FillShared)
    NbFields = _swig_new_instance_method(_StepData.StepData_FieldList_NbFields)

    def __init__(self, *args):
        r"""
        * Creates a FieldList of 0 Field
        	:rtype: None
        """
        _StepData.StepData_FieldList_swiginit(self, _StepData.new_StepData_FieldList(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_FieldList

# Register StepData_FieldList in _StepData:
_StepData.StepData_FieldList_swigregister(StepData_FieldList)

class StepData_FileRecognizer(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
    Add = _swig_new_instance_method(_StepData.StepData_FileRecognizer_Add)
    Evaluate = _swig_new_instance_method(_StepData.StepData_FileRecognizer_Evaluate)
    Result = _swig_new_instance_method(_StepData.StepData_FileRecognizer_Result)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_FileRecognizer

# Register StepData_FileRecognizer in _StepData:
_StepData.StepData_FileRecognizer_swigregister(StepData_FileRecognizer)

class StepData_GeneralModule(OCC.Core.Interface.Interface_GeneralModule):
    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 DownCast(t):
      return Handle_StepData_GeneralModule_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_GeneralModule

# Register StepData_GeneralModule in _StepData:
_StepData.StepData_GeneralModule_swigregister(StepData_GeneralModule)

class StepData_GlobalNodeOfWriterLib(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
    Add = _swig_new_instance_method(_StepData.StepData_GlobalNodeOfWriterLib_Add)
    Module = _swig_new_instance_method(_StepData.StepData_GlobalNodeOfWriterLib_Module)
    Next = _swig_new_instance_method(_StepData.StepData_GlobalNodeOfWriterLib_Next)
    Protocol = _swig_new_instance_method(_StepData.StepData_GlobalNodeOfWriterLib_Protocol)

    def __init__(self, *args):
        r"""
        * Creates an empty GlobalNode, with no Next
        	:rtype: None
        """
        _StepData.StepData_GlobalNodeOfWriterLib_swiginit(self, _StepData.new_StepData_GlobalNodeOfWriterLib(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_GlobalNodeOfWriterLib

# Register StepData_GlobalNodeOfWriterLib in _StepData:
_StepData.StepData_GlobalNodeOfWriterLib_swigregister(StepData_GlobalNodeOfWriterLib)

class StepData_NodeOfWriterLib(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
    AddNode = _swig_new_instance_method(_StepData.StepData_NodeOfWriterLib_AddNode)
    Module = _swig_new_instance_method(_StepData.StepData_NodeOfWriterLib_Module)
    Next = _swig_new_instance_method(_StepData.StepData_NodeOfWriterLib_Next)
    Protocol = _swig_new_instance_method(_StepData.StepData_NodeOfWriterLib_Protocol)

    def __init__(self, *args):
        r"""
        * Creates an empty Node, with no Next
        	:rtype: None
        """
        _StepData.StepData_NodeOfWriterLib_swiginit(self, _StepData.new_StepData_NodeOfWriterLib(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_NodeOfWriterLib

# Register StepData_NodeOfWriterLib in _StepData:
_StepData.StepData_NodeOfWriterLib_swigregister(StepData_NodeOfWriterLib)

class StepData_PDescr(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
    AddArity = _swig_new_instance_method(_StepData.StepData_PDescr_AddArity)
    AddEnumDef = _swig_new_instance_method(_StepData.StepData_PDescr_AddEnumDef)
    AddMember = _swig_new_instance_method(_StepData.StepData_PDescr_AddMember)
    Arity = _swig_new_instance_method(_StepData.StepData_PDescr_Arity)
    Check = _swig_new_instance_method(_StepData.StepData_PDescr_Check)
    DescrName = _swig_new_instance_method(_StepData.StepData_PDescr_DescrName)
    EnumMax = _swig_new_instance_method(_StepData.StepData_PDescr_EnumMax)
    EnumText = _swig_new_instance_method(_StepData.StepData_PDescr_EnumText)
    EnumValue = _swig_new_instance_method(_StepData.StepData_PDescr_EnumValue)
    FieldName = _swig_new_instance_method(_StepData.StepData_PDescr_FieldName)
    FieldRank = _swig_new_instance_method(_StepData.StepData_PDescr_FieldRank)
    IsBoolean = _swig_new_instance_method(_StepData.StepData_PDescr_IsBoolean)
    IsDerived = _swig_new_instance_method(_StepData.StepData_PDescr_IsDerived)
    IsDescr = _swig_new_instance_method(_StepData.StepData_PDescr_IsDescr)
    IsEntity = _swig_new_instance_method(_StepData.StepData_PDescr_IsEntity)
    IsEnum = _swig_new_instance_method(_StepData.StepData_PDescr_IsEnum)
    IsField = _swig_new_instance_method(_StepData.StepData_PDescr_IsField)
    IsInteger = _swig_new_instance_method(_StepData.StepData_PDescr_IsInteger)
    IsLogical = _swig_new_instance_method(_StepData.StepData_PDescr_IsLogical)
    IsOptional = _swig_new_instance_method(_StepData.StepData_PDescr_IsOptional)
    IsReal = _swig_new_instance_method(_StepData.StepData_PDescr_IsReal)
    IsSelect = _swig_new_instance_method(_StepData.StepData_PDescr_IsSelect)
    IsString = _swig_new_instance_method(_StepData.StepData_PDescr_IsString)
    IsType = _swig_new_instance_method(_StepData.StepData_PDescr_IsType)
    Member = _swig_new_instance_method(_StepData.StepData_PDescr_Member)
    Name = _swig_new_instance_method(_StepData.StepData_PDescr_Name)
    SetArity = _swig_new_instance_method(_StepData.StepData_PDescr_SetArity)
    SetBoolean = _swig_new_instance_method(_StepData.StepData_PDescr_SetBoolean)
    SetDerived = _swig_new_instance_method(_StepData.StepData_PDescr_SetDerived)
    SetDescr = _swig_new_instance_method(_StepData.StepData_PDescr_SetDescr)
    SetEnum = _swig_new_instance_method(_StepData.StepData_PDescr_SetEnum)
    SetField = _swig_new_instance_method(_StepData.StepData_PDescr_SetField)
    SetFrom = _swig_new_instance_method(_StepData.StepData_PDescr_SetFrom)
    SetInteger = _swig_new_instance_method(_StepData.StepData_PDescr_SetInteger)
    SetLogical = _swig_new_instance_method(_StepData.StepData_PDescr_SetLogical)
    SetMemberName = _swig_new_instance_method(_StepData.StepData_PDescr_SetMemberName)
    SetName = _swig_new_instance_method(_StepData.StepData_PDescr_SetName)
    SetOptional = _swig_new_instance_method(_StepData.StepData_PDescr_SetOptional)
    SetReal = _swig_new_instance_method(_StepData.StepData_PDescr_SetReal)
    SetSelect = _swig_new_instance_method(_StepData.StepData_PDescr_SetSelect)
    SetString = _swig_new_instance_method(_StepData.StepData_PDescr_SetString)
    SetType = _swig_new_instance_method(_StepData.StepData_PDescr_SetType)
    Simple = _swig_new_instance_method(_StepData.StepData_PDescr_Simple)

    def __init__(self, *args):
        r""":rtype: None"""
        _StepData.StepData_PDescr_swiginit(self, _StepData.new_StepData_PDescr(*args))
    Type = _swig_new_instance_method(_StepData.StepData_PDescr_Type)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_PDescr

# Register StepData_PDescr in _StepData:
_StepData.StepData_PDescr_swigregister(StepData_PDescr)

class StepData_Protocol(OCC.Core.Interface.Interface_Protocol):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AddBasicDescr = _swig_new_instance_method(_StepData.StepData_Protocol_AddBasicDescr)
    AddDescr = _swig_new_instance_method(_StepData.StepData_Protocol_AddDescr)
    AddPDescr = _swig_new_instance_method(_StepData.StepData_Protocol_AddPDescr)
    BasicDescr = _swig_new_instance_method(_StepData.StepData_Protocol_BasicDescr)
    Descr = _swig_new_instance_method(_StepData.StepData_Protocol_Descr)
    DescrNumber = _swig_new_instance_method(_StepData.StepData_Protocol_DescrNumber)
    ECDescr = _swig_new_instance_method(_StepData.StepData_Protocol_ECDescr)
    ESDescr = _swig_new_instance_method(_StepData.StepData_Protocol_ESDescr)
    HasDescr = _swig_new_instance_method(_StepData.StepData_Protocol_HasDescr)
    PDescr = _swig_new_instance_method(_StepData.StepData_Protocol_PDescr)
    SchemaName = _swig_new_instance_method(_StepData.StepData_Protocol_SchemaName)

    def __init__(self, *args):
        r""":rtype: None"""
        _StepData.StepData_Protocol_swiginit(self, _StepData.new_StepData_Protocol(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_Protocol

# Register StepData_Protocol in _StepData:
_StepData.StepData_Protocol_swigregister(StepData_Protocol)

class StepData_ReadWriteModule(OCC.Core.Interface.Interface_ReaderModule):
    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
    CaseStep = _swig_new_instance_method(_StepData.StepData_ReadWriteModule_CaseStep)
    ComplexType = _swig_new_instance_method(_StepData.StepData_ReadWriteModule_ComplexType)
    IsComplex = _swig_new_instance_method(_StepData.StepData_ReadWriteModule_IsComplex)
    ReadStep = _swig_new_instance_method(_StepData.StepData_ReadWriteModule_ReadStep)
    ShortType = _swig_new_instance_method(_StepData.StepData_ReadWriteModule_ShortType)
    StepType = _swig_new_instance_method(_StepData.StepData_ReadWriteModule_StepType)
    WriteStep = _swig_new_instance_method(_StepData.StepData_ReadWriteModule_WriteStep)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_ReadWriteModule

# Register StepData_ReadWriteModule in _StepData:
_StepData.StepData_ReadWriteModule_swigregister(StepData_ReadWriteModule)

class StepData_SelectMember(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
    Boolean = _swig_new_instance_method(_StepData.StepData_SelectMember_Boolean)
    Enum = _swig_new_instance_method(_StepData.StepData_SelectMember_Enum)
    EnumText = _swig_new_instance_method(_StepData.StepData_SelectMember_EnumText)
    HasName = _swig_new_instance_method(_StepData.StepData_SelectMember_HasName)
    Int = _swig_new_instance_method(_StepData.StepData_SelectMember_Int)
    Integer = _swig_new_instance_method(_StepData.StepData_SelectMember_Integer)
    Kind = _swig_new_instance_method(_StepData.StepData_SelectMember_Kind)
    Logical = _swig_new_instance_method(_StepData.StepData_SelectMember_Logical)
    Matches = _swig_new_instance_method(_StepData.StepData_SelectMember_Matches)
    Name = _swig_new_instance_method(_StepData.StepData_SelectMember_Name)
    ParamType = _swig_new_instance_method(_StepData.StepData_SelectMember_ParamType)
    Real = _swig_new_instance_method(_StepData.StepData_SelectMember_Real)
    SetBoolean = _swig_new_instance_method(_StepData.StepData_SelectMember_SetBoolean)
    SetEnum = _swig_new_instance_method(_StepData.StepData_SelectMember_SetEnum)
    SetEnumText = _swig_new_instance_method(_StepData.StepData_SelectMember_SetEnumText)
    SetInt = _swig_new_instance_method(_StepData.StepData_SelectMember_SetInt)
    SetInteger = _swig_new_instance_method(_StepData.StepData_SelectMember_SetInteger)
    SetKind = _swig_new_instance_method(_StepData.StepData_SelectMember_SetKind)
    SetLogical = _swig_new_instance_method(_StepData.StepData_SelectMember_SetLogical)
    SetName = _swig_new_instance_method(_StepData.StepData_SelectMember_SetName)
    SetReal = _swig_new_instance_method(_StepData.StepData_SelectMember_SetReal)
    SetString = _swig_new_instance_method(_StepData.StepData_SelectMember_SetString)

    def __init__(self, *args):
        r""":rtype: None"""
        _StepData.StepData_SelectMember_swiginit(self, _StepData.new_StepData_SelectMember(*args))
    String = _swig_new_instance_method(_StepData.StepData_SelectMember_String)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_SelectMember

# Register StepData_SelectMember in _StepData:
_StepData.StepData_SelectMember_swigregister(StepData_SelectMember)

class StepData_SelectType(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
    Boolean = _swig_new_instance_method(_StepData.StepData_SelectType_Boolean)
    CaseMem = _swig_new_instance_method(_StepData.StepData_SelectType_CaseMem)
    CaseMember = _swig_new_instance_method(_StepData.StepData_SelectType_CaseMember)
    CaseNum = _swig_new_instance_method(_StepData.StepData_SelectType_CaseNum)
    CaseNumber = _swig_new_instance_method(_StepData.StepData_SelectType_CaseNumber)
    Description = _swig_new_instance_method(_StepData.StepData_SelectType_Description)
    Int = _swig_new_instance_method(_StepData.StepData_SelectType_Int)
    Integer = _swig_new_instance_method(_StepData.StepData_SelectType_Integer)
    IsNull = _swig_new_instance_method(_StepData.StepData_SelectType_IsNull)
    Logical = _swig_new_instance_method(_StepData.StepData_SelectType_Logical)
    Matches = _swig_new_instance_method(_StepData.StepData_SelectType_Matches)
    Member = _swig_new_instance_method(_StepData.StepData_SelectType_Member)
    NewMember = _swig_new_instance_method(_StepData.StepData_SelectType_NewMember)
    Nullify = _swig_new_instance_method(_StepData.StepData_SelectType_Nullify)
    Real = _swig_new_instance_method(_StepData.StepData_SelectType_Real)
    SelectName = _swig_new_instance_method(_StepData.StepData_SelectType_SelectName)
    SetBoolean = _swig_new_instance_method(_StepData.StepData_SelectType_SetBoolean)
    SetInt = _swig_new_instance_method(_StepData.StepData_SelectType_SetInt)
    SetInteger = _swig_new_instance_method(_StepData.StepData_SelectType_SetInteger)
    SetLogical = _swig_new_instance_method(_StepData.StepData_SelectType_SetLogical)
    SetReal = _swig_new_instance_method(_StepData.StepData_SelectType_SetReal)
    SetValue = _swig_new_instance_method(_StepData.StepData_SelectType_SetValue)
    Type = _swig_new_instance_method(_StepData.StepData_SelectType_Type)
    Value = _swig_new_instance_method(_StepData.StepData_SelectType_Value)

    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_SelectType

# Register StepData_SelectType in _StepData:
_StepData.StepData_SelectType_swigregister(StepData_SelectType)

class StepData_StepDumper(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Dump = _swig_new_instance_method(_StepData.StepData_StepDumper_Dump)

    def __init__(self, *args):
        r"""
        * Creates a StepDumper, able to work on a given StepModel (which defines the total scope for dumping entities) and a given Protocol from Step (which defines the authorized types to be dumped) <mode> commands what is to be displayed (number or label) 0 for number (and corresponding labels are displayed apart) 1 for label (and corresponding numbers are displayed apart) 2 for label without anymore
        	:param amodel:
        	:type amodel: StepData_StepModel
        	:param protocol:
        	:type protocol: StepData_Protocol
        	:param mode: default value is 0
        	:type mode: int
        	:rtype: None
        """
        _StepData.StepData_StepDumper_swiginit(self, _StepData.new_StepData_StepDumper(*args))
    StepWriter = _swig_new_instance_method(_StepData.StepData_StepDumper_StepWriter)

    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_StepDumper

# Register StepData_StepDumper in _StepData:
_StepData.StepData_StepDumper_swigregister(StepData_StepDumper)

class StepData_StepModel(OCC.Core.Interface.Interface_InterfaceModel):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AddHeaderEntity = _swig_new_instance_method(_StepData.StepData_StepModel_AddHeaderEntity)
    Entity = _swig_new_instance_method(_StepData.StepData_StepModel_Entity)
    HasHeaderEntity = _swig_new_instance_method(_StepData.StepData_StepModel_HasHeaderEntity)
    Header = _swig_new_instance_method(_StepData.StepData_StepModel_Header)
    HeaderEntity = _swig_new_instance_method(_StepData.StepData_StepModel_HeaderEntity)
    IdentLabel = _swig_new_instance_method(_StepData.StepData_StepModel_IdentLabel)
    SetIdentLabel = _swig_new_instance_method(_StepData.StepData_StepModel_SetIdentLabel)

    def __init__(self, *args):
        r"""
        * Creates an empty STEP model with an empty header.
        	:rtype: None
        """
        _StepData.StepData_StepModel_swiginit(self, _StepData.new_StepData_StepModel(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_StepModel

# Register StepData_StepModel in _StepData:
_StepData.StepData_StepModel_swigregister(StepData_StepModel)

class StepData_StepReaderData(OCC.Core.Interface.Interface_FileReaderData):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AddStepParam = _swig_new_instance_method(_StepData.StepData_StepReaderData_AddStepParam)
    CType = _swig_new_instance_method(_StepData.StepData_StepReaderData_CType)
    CheckDerived = _swig_new_instance_method(_StepData.StepData_StepReaderData_CheckDerived)
    CheckNbParams = _swig_new_instance_method(_StepData.StepData_StepReaderData_CheckNbParams)
    ComplexType = _swig_new_instance_method(_StepData.StepData_StepReaderData_ComplexType)
    FailEnumValue = _swig_new_instance_method(_StepData.StepData_StepReaderData_FailEnumValue)
    FindNextHeaderRecord = _swig_new_instance_method(_StepData.StepData_StepReaderData_FindNextHeaderRecord)
    GlobalCheck = _swig_new_instance_method(_StepData.StepData_StepReaderData_GlobalCheck)
    IsComplex = _swig_new_instance_method(_StepData.StepData_StepReaderData_IsComplex)
    NamedForComplex = _swig_new_instance_method(_StepData.StepData_StepReaderData_NamedForComplex)
    NextForComplex = _swig_new_instance_method(_StepData.StepData_StepReaderData_NextForComplex)
    PrepareHeader = _swig_new_instance_method(_StepData.StepData_StepReaderData_PrepareHeader)
    ReadAny = _swig_new_instance_method(_StepData.StepData_StepReaderData_ReadAny)
    ReadBoolean = _swig_new_instance_method(_StepData.StepData_StepReaderData_ReadBoolean)
    ReadEnum = _swig_new_instance_method(_StepData.StepData_StepReaderData_ReadEnum)
    ReadEnumParam = _swig_new_instance_method(_StepData.StepData_StepReaderData_ReadEnumParam)
    ReadField = _swig_new_instance_method(_StepData.StepData_StepReaderData_ReadField)
    ReadInteger = _swig_new_instance_method(_StepData.StepData_StepReaderData_ReadInteger)
    ReadList = _swig_new_instance_method(_StepData.StepData_StepReaderData_ReadList)
    ReadLogical = _swig_new_instance_method(_StepData.StepData_StepReaderData_ReadLogical)
    ReadReal = _swig_new_instance_method(_StepData.StepData_StepReaderData_ReadReal)
    ReadString = _swig_new_instance_method(_StepData.StepData_StepReaderData_ReadString)
    ReadSub = _swig_new_instance_method(_StepData.StepData_StepReaderData_ReadSub)
    ReadSubList = _swig_new_instance_method(_StepData.StepData_StepReaderData_ReadSubList)
    ReadTypedParam = _swig_new_instance_method(_StepData.StepData_StepReaderData_ReadTypedParam)
    ReadXY = _swig_new_instance_method(_StepData.StepData_StepReaderData_ReadXY)
    ReadXYZ = _swig_new_instance_method(_StepData.StepData_StepReaderData_ReadXYZ)
    RecordIdent = _swig_new_instance_method(_StepData.StepData_StepReaderData_RecordIdent)
    RecordType = _swig_new_instance_method(_StepData.StepData_StepReaderData_RecordType)
    SetEntityNumbers = _swig_new_instance_method(_StepData.StepData_StepReaderData_SetEntityNumbers)
    SetRecord = _swig_new_instance_method(_StepData.StepData_StepReaderData_SetRecord)

    def __init__(self, *args):
        r"""
        * creates StepReaderData correctly dimensionned (necessary at creation time, because it contains arrays) nbheader is nb of records for Header, nbtotal for Header+Data and nbpar gives the total count of parameters
        	:param nbheader:
        	:type nbheader: int
        	:param nbtotal:
        	:type nbtotal: int
        	:param nbpar:
        	:type nbpar: int
        	:rtype: None
        """
        _StepData.StepData_StepReaderData_swiginit(self, _StepData.new_StepData_StepReaderData(*args))
    SubListNumber = _swig_new_instance_method(_StepData.StepData_StepReaderData_SubListNumber)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_StepReaderData

# Register StepData_StepReaderData in _StepData:
_StepData.StepData_StepReaderData_swigregister(StepData_StepReaderData)

class StepData_StepReaderTool(OCC.Core.Interface.Interface_FileReaderTool):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Prepare = _swig_new_instance_method(_StepData.StepData_StepReaderTool_Prepare)
    PrepareHeader = _swig_new_instance_method(_StepData.StepData_StepReaderTool_PrepareHeader)

    def __init__(self, *args):
        r"""
        * creates StepReaderTool to work with a StepReaderData according to a Step Protocol. Defines the ReaderLib at this time
        	:param reader:
        	:type reader: StepData_StepReaderData
        	:param protocol:
        	:type protocol: StepData_Protocol
        	:rtype: None
        """
        _StepData.StepData_StepReaderTool_swiginit(self, _StepData.new_StepData_StepReaderTool(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_StepReaderTool

# Register StepData_StepReaderTool in _StepData:
_StepData.StepData_StepReaderTool_swigregister(StepData_StepReaderTool)

class StepData_StepWriter(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AddParam = _swig_new_instance_method(_StepData.StepData_StepWriter_AddParam)
    CheckList = _swig_new_instance_method(_StepData.StepData_StepWriter_CheckList)
    CloseSub = _swig_new_instance_method(_StepData.StepData_StepWriter_CloseSub)
    Comment = _swig_new_instance_method(_StepData.StepData_StepWriter_Comment)
    EndComplex = _swig_new_instance_method(_StepData.StepData_StepWriter_EndComplex)
    EndEntity = _swig_new_instance_method(_StepData.StepData_StepWriter_EndEntity)
    EndFile = _swig_new_instance_method(_StepData.StepData_StepWriter_EndFile)
    EndSec = _swig_new_instance_method(_StepData.StepData_StepWriter_EndSec)
    FloatWriter = _swig_new_instance_method(_StepData.StepData_StepWriter_FloatWriter)
    Indent = _swig_new_instance_method(_StepData.StepData_StepWriter_Indent)
    IsInScope = _swig_new_instance_method(_StepData.StepData_StepWriter_IsInScope)
    JoinLast = _swig_new_instance_method(_StepData.StepData_StepWriter_JoinLast)
    GetLabelMode = _swig_new_instance_method(_StepData.StepData_StepWriter_GetLabelMode)
    SetLabelMode = _swig_new_instance_method(_StepData.StepData_StepWriter_SetLabelMode)
    Line = _swig_new_instance_method(_StepData.StepData_StepWriter_Line)
    NbLines = _swig_new_instance_method(_StepData.StepData_StepWriter_NbLines)
    NewLine = _swig_new_instance_method(_StepData.StepData_StepWriter_NewLine)
    OpenSub = _swig_new_instance_method(_StepData.StepData_StepWriter_OpenSub)
    OpenTypedSub = _swig_new_instance_method(_StepData.StepData_StepWriter_OpenTypedSub)
    PrintToString = _swig_new_instance_method(_StepData.StepData_StepWriter_PrintToString)
    Send = _swig_new_instance_method(_StepData.StepData_StepWriter_Send)
    SendArrReal = _swig_new_instance_method(_StepData.StepData_StepWriter_SendArrReal)
    SendBoolean = _swig_new_instance_method(_StepData.StepData_StepWriter_SendBoolean)
    SendComment = _swig_new_instance_method(_StepData.StepData_StepWriter_SendComment)
    SendData = _swig_new_instance_method(_StepData.StepData_StepWriter_SendData)
    SendDerived = _swig_new_instance_method(_StepData.StepData_StepWriter_SendDerived)
    SendEndscope = _swig_new_instance_method(_StepData.StepData_StepWriter_SendEndscope)
    SendEntity = _swig_new_instance_method(_StepData.StepData_StepWriter_SendEntity)
    SendEnum = _swig_new_instance_method(_StepData.StepData_StepWriter_SendEnum)
    SendField = _swig_new_instance_method(_StepData.StepData_StepWriter_SendField)
    SendHeader = _swig_new_instance_method(_StepData.StepData_StepWriter_SendHeader)
    SendIdent = _swig_new_instance_method(_StepData.StepData_StepWriter_SendIdent)
    SendList = _swig_new_instance_method(_StepData.StepData_StepWriter_SendList)
    SendLogical = _swig_new_instance_method(_StepData.StepData_StepWriter_SendLogical)
    SendModel = _swig_new_instance_method(_StepData.StepData_StepWriter_SendModel)
    SendScope = _swig_new_instance_method(_StepData.StepData_StepWriter_SendScope)
    SendSelect = _swig_new_instance_method(_StepData.StepData_StepWriter_SendSelect)
    SendString = _swig_new_instance_method(_StepData.StepData_StepWriter_SendString)
    SendUndef = _swig_new_instance_method(_StepData.StepData_StepWriter_SendUndef)
    SetScope = _swig_new_instance_method(_StepData.StepData_StepWriter_SetScope)
    StartComplex = _swig_new_instance_method(_StepData.StepData_StepWriter_StartComplex)
    StartEntity = _swig_new_instance_method(_StepData.StepData_StepWriter_StartEntity)

    def __init__(self, *args):
        r"""
        * Creates an empty StepWriter from a StepModel. The StepModel provides the Number of Entities, as identifiers for File
        	:param amodel:
        	:type amodel: StepData_StepModel
        	:rtype: None
        """
        _StepData.StepData_StepWriter_swiginit(self, _StepData.new_StepData_StepWriter(*args))
    GetTypeMode = _swig_new_instance_method(_StepData.StepData_StepWriter_GetTypeMode)
    SetTypeMode = _swig_new_instance_method(_StepData.StepData_StepWriter_SetTypeMode)

    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_StepWriter

# Register StepData_StepWriter in _StepData:
_StepData.StepData_StepWriter_swigregister(StepData_StepWriter)

class StepData_WriterLib(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AddProtocol = _swig_new_instance_method(_StepData.StepData_WriterLib_AddProtocol)
    Clear = _swig_new_instance_method(_StepData.StepData_WriterLib_Clear)
    Module = _swig_new_instance_method(_StepData.StepData_WriterLib_Module)
    More = _swig_new_instance_method(_StepData.StepData_WriterLib_More)
    Next = _swig_new_instance_method(_StepData.StepData_WriterLib_Next)
    Protocol = _swig_new_instance_method(_StepData.StepData_WriterLib_Protocol)
    Select = _swig_new_instance_method(_StepData.StepData_WriterLib_Select)
    SetComplete = _swig_new_instance_method(_StepData.StepData_WriterLib_SetComplete)
    SetGlobal = _swig_new_static_method(_StepData.StepData_WriterLib_SetGlobal)
    Start = _swig_new_instance_method(_StepData.StepData_WriterLib_Start)

    def __init__(self, *args):
        r"""
        * 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
        	:param aprotocol:
        	:type aprotocol: StepData_Protocol
        	:rtype: None* Creates an empty Library : it will later by filled by method AddProtocol
        	:rtype: None
        """
        _StepData.StepData_WriterLib_swiginit(self, _StepData.new_StepData_WriterLib(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_WriterLib

# Register StepData_WriterLib in _StepData:
_StepData.StepData_WriterLib_swigregister(StepData_WriterLib)
StepData_WriterLib_SetGlobal = _StepData.StepData_WriterLib_SetGlobal

class StepData_DefaultGeneral(StepData_GeneralModule):
    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"""
        * Creates a Default General Module
        	:rtype: None
        """
        _StepData.StepData_DefaultGeneral_swiginit(self, _StepData.new_StepData_DefaultGeneral(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_DefaultGeneral

# Register StepData_DefaultGeneral in _StepData:
_StepData.StepData_DefaultGeneral_swigregister(StepData_DefaultGeneral)

class StepData_ECDescr(StepData_EDescr):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Add = _swig_new_instance_method(_StepData.StepData_ECDescr_Add)
    Member = _swig_new_instance_method(_StepData.StepData_ECDescr_Member)
    NbMembers = _swig_new_instance_method(_StepData.StepData_ECDescr_NbMembers)

    def __init__(self, *args):
        r"""
        * Creates an ECDescr, empty
        	:rtype: None
        """
        _StepData.StepData_ECDescr_swiginit(self, _StepData.new_StepData_ECDescr(*args))
    TypeList = _swig_new_instance_method(_StepData.StepData_ECDescr_TypeList)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_ECDescr

# Register StepData_ECDescr in _StepData:
_StepData.StepData_ECDescr_swigregister(StepData_ECDescr)

class StepData_ESDescr(StepData_EDescr):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Base = _swig_new_instance_method(_StepData.StepData_ESDescr_Base)
    Field = _swig_new_instance_method(_StepData.StepData_ESDescr_Field)
    IsSub = _swig_new_instance_method(_StepData.StepData_ESDescr_IsSub)
    Name = _swig_new_instance_method(_StepData.StepData_ESDescr_Name)
    NamedField = _swig_new_instance_method(_StepData.StepData_ESDescr_NamedField)
    NbFields = _swig_new_instance_method(_StepData.StepData_ESDescr_NbFields)
    Rank = _swig_new_instance_method(_StepData.StepData_ESDescr_Rank)
    SetBase = _swig_new_instance_method(_StepData.StepData_ESDescr_SetBase)
    SetField = _swig_new_instance_method(_StepData.StepData_ESDescr_SetField)
    SetNbFields = _swig_new_instance_method(_StepData.StepData_ESDescr_SetNbFields)
    SetSuper = _swig_new_instance_method(_StepData.StepData_ESDescr_SetSuper)

    def __init__(self, *args):
        r"""
        * Creates an ESDescr with a type name
        	:param name:
        	:type name: char *
        	:rtype: None
        """
        _StepData.StepData_ESDescr_swiginit(self, _StepData.new_StepData_ESDescr(*args))
    StepType = _swig_new_instance_method(_StepData.StepData_ESDescr_StepType)
    Super = _swig_new_instance_method(_StepData.StepData_ESDescr_Super)
    TypeName = _swig_new_instance_method(_StepData.StepData_ESDescr_TypeName)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_ESDescr

# Register StepData_ESDescr in _StepData:
_StepData.StepData_ESDescr_swigregister(StepData_ESDescr)

class StepData_FieldList1(StepData_FieldList):
    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"""
        * Creates a FieldList of 1 Field
        	:rtype: None
        """
        _StepData.StepData_FieldList1_swiginit(self, _StepData.new_StepData_FieldList1(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_FieldList1

# Register StepData_FieldList1 in _StepData:
_StepData.StepData_FieldList1_swigregister(StepData_FieldList1)

class StepData_FieldListD(StepData_FieldList):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    SetNb = _swig_new_instance_method(_StepData.StepData_FieldListD_SetNb)

    def __init__(self, *args):
        r"""
        * Creates a FieldListD of <nb> Fields
        	:param nb:
        	:type nb: int
        	:rtype: None
        """
        _StepData.StepData_FieldListD_swiginit(self, _StepData.new_StepData_FieldListD(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_FieldListD

# Register StepData_FieldListD in _StepData:
_StepData.StepData_FieldListD_swigregister(StepData_FieldListD)

class StepData_FieldListN(StepData_FieldList):
    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"""
        * Creates a FieldListN of <nb> Fields
        	:param nb:
        	:type nb: int
        	:rtype: None
        """
        _StepData.StepData_FieldListN_swiginit(self, _StepData.new_StepData_FieldListN(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_FieldListN

# Register StepData_FieldListN in _StepData:
_StepData.StepData_FieldListN_swigregister(StepData_FieldListN)

class StepData_FileProtocol(StepData_Protocol):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Add = _swig_new_instance_method(_StepData.StepData_FileProtocol_Add)

    def __init__(self, *args):
        r"""
        * Creates an empty FileProtocol
        	:rtype: None
        """
        _StepData.StepData_FileProtocol_swiginit(self, _StepData.new_StepData_FileProtocol(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_FileProtocol

# Register StepData_FileProtocol in _StepData:
_StepData.StepData_FileProtocol_swigregister(StepData_FileProtocol)

class StepData_Plex(StepData_Described):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Add = _swig_new_instance_method(_StepData.StepData_Plex_Add)
    ECDescr = _swig_new_instance_method(_StepData.StepData_Plex_ECDescr)
    Member = _swig_new_instance_method(_StepData.StepData_Plex_Member)
    NbMembers = _swig_new_instance_method(_StepData.StepData_Plex_NbMembers)

    def __init__(self, *args):
        r"""
        * Creates a Plex (empty). The complete creation is made by the ECDescr itself, by calling Add
        	:param descr:
        	:type descr: StepData_ECDescr
        	:rtype: None
        """
        _StepData.StepData_Plex_swiginit(self, _StepData.new_StepData_Plex(*args))
    TypeList = _swig_new_instance_method(_StepData.StepData_Plex_TypeList)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_Plex

# Register StepData_Plex in _StepData:
_StepData.StepData_Plex_swigregister(StepData_Plex)

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

    def __init__(self, *args):
        r""":rtype: None"""
        _StepData.StepData_SelectInt_swiginit(self, _StepData.new_StepData_SelectInt(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_SelectInt

# Register StepData_SelectInt in _StepData:
_StepData.StepData_SelectInt_swigregister(StepData_SelectInt)

class StepData_SelectNamed(StepData_SelectMember):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    CField = _swig_new_instance_method(_StepData.StepData_SelectNamed_CField)
    Field = _swig_new_instance_method(_StepData.StepData_SelectNamed_Field)

    def __init__(self, *args):
        r""":rtype: None"""
        _StepData.StepData_SelectNamed_swiginit(self, _StepData.new_StepData_SelectNamed(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_SelectNamed

# Register StepData_SelectNamed in _StepData:
_StepData.StepData_SelectNamed_swigregister(StepData_SelectNamed)

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

    def __init__(self, *args):
        r""":rtype: None"""
        _StepData.StepData_SelectReal_swiginit(self, _StepData.new_StepData_SelectReal(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_SelectReal

# Register StepData_SelectReal in _StepData:
_StepData.StepData_SelectReal_swigregister(StepData_SelectReal)

class StepData_Simple(StepData_Described):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    CFieldNum = _swig_new_instance_method(_StepData.StepData_Simple_CFieldNum)
    CFields = _swig_new_instance_method(_StepData.StepData_Simple_CFields)
    ESDescr = _swig_new_instance_method(_StepData.StepData_Simple_ESDescr)
    FieldNum = _swig_new_instance_method(_StepData.StepData_Simple_FieldNum)
    Fields = _swig_new_instance_method(_StepData.StepData_Simple_Fields)
    NbFields = _swig_new_instance_method(_StepData.StepData_Simple_NbFields)

    def __init__(self, *args):
        r"""
        * Creates a Simple Entity
        	:param descr:
        	:type descr: StepData_ESDescr
        	:rtype: None
        """
        _StepData.StepData_Simple_swiginit(self, _StepData.new_StepData_Simple(*args))
    StepType = _swig_new_instance_method(_StepData.StepData_Simple_StepType)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_Simple

# Register StepData_Simple in _StepData:
_StepData.StepData_Simple_swigregister(StepData_Simple)

class StepData_SelectArrReal(StepData_SelectNamed):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    ArrReal = _swig_new_instance_method(_StepData.StepData_SelectArrReal_ArrReal)
    SetArrReal = _swig_new_instance_method(_StepData.StepData_SelectArrReal_SetArrReal)

    def __init__(self, *args):
        r""":rtype: None"""
        _StepData.StepData_SelectArrReal_swiginit(self, _StepData.new_StepData_SelectArrReal(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepData.delete_StepData_SelectArrReal

# Register StepData_SelectArrReal in _StepData:
_StepData.StepData_SelectArrReal_swigregister(StepData_SelectArrReal)

class StepData_HArray1OfField(StepData_Array1OfField, 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):
        _StepData.StepData_HArray1OfField_swiginit(self, _StepData.new_StepData_HArray1OfField(*args))
    Array1 = _swig_new_instance_method(_StepData.StepData_HArray1OfField_Array1)
    ChangeArray1 = _swig_new_instance_method(_StepData.StepData_HArray1OfField_ChangeArray1)


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

    __swig_destroy__ = _StepData.delete_StepData_HArray1OfField

# Register StepData_HArray1OfField in _StepData:
_StepData.StepData_HArray1OfField_swigregister(StepData_HArray1OfField)



