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

"""
StepElement module, see official documentation at
https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_stepelement.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 _StepElement
else:
    import _StepElement

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

_swig_new_instance_method = _StepElement.SWIG_PyInstanceMethod_New
_swig_new_static_method = _StepElement.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__ = _StepElement.delete_SwigPyIterator
    value = _swig_new_instance_method(_StepElement.SwigPyIterator_value)
    incr = _swig_new_instance_method(_StepElement.SwigPyIterator_incr)
    decr = _swig_new_instance_method(_StepElement.SwigPyIterator_decr)
    distance = _swig_new_instance_method(_StepElement.SwigPyIterator_distance)
    equal = _swig_new_instance_method(_StepElement.SwigPyIterator_equal)
    copy = _swig_new_instance_method(_StepElement.SwigPyIterator_copy)
    next = _swig_new_instance_method(_StepElement.SwigPyIterator_next)
    __next__ = _swig_new_instance_method(_StepElement.SwigPyIterator___next__)
    previous = _swig_new_instance_method(_StepElement.SwigPyIterator_previous)
    advance = _swig_new_instance_method(_StepElement.SwigPyIterator_advance)
    __eq__ = _swig_new_instance_method(_StepElement.SwigPyIterator___eq__)
    __ne__ = _swig_new_instance_method(_StepElement.SwigPyIterator___ne__)
    __iadd__ = _swig_new_instance_method(_StepElement.SwigPyIterator___iadd__)
    __isub__ = _swig_new_instance_method(_StepElement.SwigPyIterator___isub__)
    __add__ = _swig_new_instance_method(_StepElement.SwigPyIterator___add__)
    __sub__ = _swig_new_instance_method(_StepElement.SwigPyIterator___sub__)
    def __iter__(self):
        return self

# Register SwigPyIterator in _StepElement:
_StepElement.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.TCollection
import OCC.Core.StepRepr
import OCC.Core.StepData
import OCC.Core.Interface
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
import OCC.Core.StepBasic
StepElement_Volume = _StepElement.StepElement_Volume
StepElement_ElementEdge = _StepElement.StepElement_ElementEdge
StepElement_Hexahedron = _StepElement.StepElement_Hexahedron
StepElement_Wedge = _StepElement.StepElement_Wedge
StepElement_Tetrahedron = _StepElement.StepElement_Tetrahedron
StepElement_Pyramid = _StepElement.StepElement_Pyramid
StepElement_Linear = _StepElement.StepElement_Linear
StepElement_Quadratic = _StepElement.StepElement_Quadratic
StepElement_Cubic = _StepElement.StepElement_Cubic
StepElement_Quadrilateral = _StepElement.StepElement_Quadrilateral
StepElement_Triangle = _StepElement.StepElement_Triangle
StepElement_XTranslation = _StepElement.StepElement_XTranslation
StepElement_YTranslation = _StepElement.StepElement_YTranslation
StepElement_ZTranslation = _StepElement.StepElement_ZTranslation
StepElement_XRotation = _StepElement.StepElement_XRotation
StepElement_YRotation = _StepElement.StepElement_YRotation
StepElement_ZRotation = _StepElement.StepElement_ZRotation
StepElement_Warp = _StepElement.StepElement_Warp
StepElement_None = _StepElement.StepElement_None
StepElement_StressDisplacement = _StepElement.StepElement_StressDisplacement
StepElement_MembraneDirect = _StepElement.StepElement_MembraneDirect
StepElement_MembraneShear = _StepElement.StepElement_MembraneShear
StepElement_BendingDirect = _StepElement.StepElement_BendingDirect
StepElement_BendingTorsion = _StepElement.StepElement_BendingTorsion
StepElement_NormalToPlaneShear = _StepElement.StepElement_NormalToPlaneShear
StepElement_Unspecified = _StepElement.StepElement_Unspecified
StepElement_Axial = _StepElement.StepElement_Axial
StepElement_YYBending = _StepElement.StepElement_YYBending
StepElement_ZZBending = _StepElement.StepElement_ZZBending
StepElement_Torsion = _StepElement.StepElement_Torsion
StepElement_XYShear = _StepElement.StepElement_XYShear
StepElement_XZShear = _StepElement.StepElement_XZShear
StepElement_Warping = _StepElement.StepElement_Warping
Handle_StepElement_AnalysisItemWithinRepresentation_Create = _StepElement.Handle_StepElement_AnalysisItemWithinRepresentation_Create
Handle_StepElement_AnalysisItemWithinRepresentation_DownCast = _StepElement.Handle_StepElement_AnalysisItemWithinRepresentation_DownCast
Handle_StepElement_AnalysisItemWithinRepresentation_IsNull = _StepElement.Handle_StepElement_AnalysisItemWithinRepresentation_IsNull
Handle_StepElement_CurveElementEndReleasePacket_Create = _StepElement.Handle_StepElement_CurveElementEndReleasePacket_Create
Handle_StepElement_CurveElementEndReleasePacket_DownCast = _StepElement.Handle_StepElement_CurveElementEndReleasePacket_DownCast
Handle_StepElement_CurveElementEndReleasePacket_IsNull = _StepElement.Handle_StepElement_CurveElementEndReleasePacket_IsNull
Handle_StepElement_CurveElementFreedomMember_Create = _StepElement.Handle_StepElement_CurveElementFreedomMember_Create
Handle_StepElement_CurveElementFreedomMember_DownCast = _StepElement.Handle_StepElement_CurveElementFreedomMember_DownCast
Handle_StepElement_CurveElementFreedomMember_IsNull = _StepElement.Handle_StepElement_CurveElementFreedomMember_IsNull
Handle_StepElement_CurveElementPurposeMember_Create = _StepElement.Handle_StepElement_CurveElementPurposeMember_Create
Handle_StepElement_CurveElementPurposeMember_DownCast = _StepElement.Handle_StepElement_CurveElementPurposeMember_DownCast
Handle_StepElement_CurveElementPurposeMember_IsNull = _StepElement.Handle_StepElement_CurveElementPurposeMember_IsNull
Handle_StepElement_CurveElementSectionDefinition_Create = _StepElement.Handle_StepElement_CurveElementSectionDefinition_Create
Handle_StepElement_CurveElementSectionDefinition_DownCast = _StepElement.Handle_StepElement_CurveElementSectionDefinition_DownCast
Handle_StepElement_CurveElementSectionDefinition_IsNull = _StepElement.Handle_StepElement_CurveElementSectionDefinition_IsNull
Handle_StepElement_ElementAspectMember_Create = _StepElement.Handle_StepElement_ElementAspectMember_Create
Handle_StepElement_ElementAspectMember_DownCast = _StepElement.Handle_StepElement_ElementAspectMember_DownCast
Handle_StepElement_ElementAspectMember_IsNull = _StepElement.Handle_StepElement_ElementAspectMember_IsNull
Handle_StepElement_ElementDescriptor_Create = _StepElement.Handle_StepElement_ElementDescriptor_Create
Handle_StepElement_ElementDescriptor_DownCast = _StepElement.Handle_StepElement_ElementDescriptor_DownCast
Handle_StepElement_ElementDescriptor_IsNull = _StepElement.Handle_StepElement_ElementDescriptor_IsNull
Handle_StepElement_ElementMaterial_Create = _StepElement.Handle_StepElement_ElementMaterial_Create
Handle_StepElement_ElementMaterial_DownCast = _StepElement.Handle_StepElement_ElementMaterial_DownCast
Handle_StepElement_ElementMaterial_IsNull = _StepElement.Handle_StepElement_ElementMaterial_IsNull
Handle_StepElement_MeasureOrUnspecifiedValueMember_Create = _StepElement.Handle_StepElement_MeasureOrUnspecifiedValueMember_Create
Handle_StepElement_MeasureOrUnspecifiedValueMember_DownCast = _StepElement.Handle_StepElement_MeasureOrUnspecifiedValueMember_DownCast
Handle_StepElement_MeasureOrUnspecifiedValueMember_IsNull = _StepElement.Handle_StepElement_MeasureOrUnspecifiedValueMember_IsNull
Handle_StepElement_SurfaceElementProperty_Create = _StepElement.Handle_StepElement_SurfaceElementProperty_Create
Handle_StepElement_SurfaceElementProperty_DownCast = _StepElement.Handle_StepElement_SurfaceElementProperty_DownCast
Handle_StepElement_SurfaceElementProperty_IsNull = _StepElement.Handle_StepElement_SurfaceElementProperty_IsNull
Handle_StepElement_SurfaceElementPurposeMember_Create = _StepElement.Handle_StepElement_SurfaceElementPurposeMember_Create
Handle_StepElement_SurfaceElementPurposeMember_DownCast = _StepElement.Handle_StepElement_SurfaceElementPurposeMember_DownCast
Handle_StepElement_SurfaceElementPurposeMember_IsNull = _StepElement.Handle_StepElement_SurfaceElementPurposeMember_IsNull
Handle_StepElement_SurfaceSection_Create = _StepElement.Handle_StepElement_SurfaceSection_Create
Handle_StepElement_SurfaceSection_DownCast = _StepElement.Handle_StepElement_SurfaceSection_DownCast
Handle_StepElement_SurfaceSection_IsNull = _StepElement.Handle_StepElement_SurfaceSection_IsNull
Handle_StepElement_SurfaceSectionField_Create = _StepElement.Handle_StepElement_SurfaceSectionField_Create
Handle_StepElement_SurfaceSectionField_DownCast = _StepElement.Handle_StepElement_SurfaceSectionField_DownCast
Handle_StepElement_SurfaceSectionField_IsNull = _StepElement.Handle_StepElement_SurfaceSectionField_IsNull
Handle_StepElement_VolumeElementPurposeMember_Create = _StepElement.Handle_StepElement_VolumeElementPurposeMember_Create
Handle_StepElement_VolumeElementPurposeMember_DownCast = _StepElement.Handle_StepElement_VolumeElementPurposeMember_DownCast
Handle_StepElement_VolumeElementPurposeMember_IsNull = _StepElement.Handle_StepElement_VolumeElementPurposeMember_IsNull
Handle_StepElement_Curve3dElementDescriptor_Create = _StepElement.Handle_StepElement_Curve3dElementDescriptor_Create
Handle_StepElement_Curve3dElementDescriptor_DownCast = _StepElement.Handle_StepElement_Curve3dElementDescriptor_DownCast
Handle_StepElement_Curve3dElementDescriptor_IsNull = _StepElement.Handle_StepElement_Curve3dElementDescriptor_IsNull
Handle_StepElement_CurveElementSectionDerivedDefinitions_Create = _StepElement.Handle_StepElement_CurveElementSectionDerivedDefinitions_Create
Handle_StepElement_CurveElementSectionDerivedDefinitions_DownCast = _StepElement.Handle_StepElement_CurveElementSectionDerivedDefinitions_DownCast
Handle_StepElement_CurveElementSectionDerivedDefinitions_IsNull = _StepElement.Handle_StepElement_CurveElementSectionDerivedDefinitions_IsNull
Handle_StepElement_Surface3dElementDescriptor_Create = _StepElement.Handle_StepElement_Surface3dElementDescriptor_Create
Handle_StepElement_Surface3dElementDescriptor_DownCast = _StepElement.Handle_StepElement_Surface3dElementDescriptor_DownCast
Handle_StepElement_Surface3dElementDescriptor_IsNull = _StepElement.Handle_StepElement_Surface3dElementDescriptor_IsNull
Handle_StepElement_SurfaceSectionFieldConstant_Create = _StepElement.Handle_StepElement_SurfaceSectionFieldConstant_Create
Handle_StepElement_SurfaceSectionFieldConstant_DownCast = _StepElement.Handle_StepElement_SurfaceSectionFieldConstant_DownCast
Handle_StepElement_SurfaceSectionFieldConstant_IsNull = _StepElement.Handle_StepElement_SurfaceSectionFieldConstant_IsNull
Handle_StepElement_SurfaceSectionFieldVarying_Create = _StepElement.Handle_StepElement_SurfaceSectionFieldVarying_Create
Handle_StepElement_SurfaceSectionFieldVarying_DownCast = _StepElement.Handle_StepElement_SurfaceSectionFieldVarying_DownCast
Handle_StepElement_SurfaceSectionFieldVarying_IsNull = _StepElement.Handle_StepElement_SurfaceSectionFieldVarying_IsNull
Handle_StepElement_UniformSurfaceSection_Create = _StepElement.Handle_StepElement_UniformSurfaceSection_Create
Handle_StepElement_UniformSurfaceSection_DownCast = _StepElement.Handle_StepElement_UniformSurfaceSection_DownCast
Handle_StepElement_UniformSurfaceSection_IsNull = _StepElement.Handle_StepElement_UniformSurfaceSection_IsNull
Handle_StepElement_Volume3dElementDescriptor_Create = _StepElement.Handle_StepElement_Volume3dElementDescriptor_Create
Handle_StepElement_Volume3dElementDescriptor_DownCast = _StepElement.Handle_StepElement_Volume3dElementDescriptor_DownCast
Handle_StepElement_Volume3dElementDescriptor_IsNull = _StepElement.Handle_StepElement_Volume3dElementDescriptor_IsNull
Handle_StepElement_HArray1OfVolumeElementPurpose_Create = _StepElement.Handle_StepElement_HArray1OfVolumeElementPurpose_Create
Handle_StepElement_HArray1OfVolumeElementPurpose_DownCast = _StepElement.Handle_StepElement_HArray1OfVolumeElementPurpose_DownCast
Handle_StepElement_HArray1OfVolumeElementPurpose_IsNull = _StepElement.Handle_StepElement_HArray1OfVolumeElementPurpose_IsNull
Handle_StepElement_HArray1OfHSequenceOfCurveElementPurposeMember_Create = _StepElement.Handle_StepElement_HArray1OfHSequenceOfCurveElementPurposeMember_Create
Handle_StepElement_HArray1OfHSequenceOfCurveElementPurposeMember_DownCast = _StepElement.Handle_StepElement_HArray1OfHSequenceOfCurveElementPurposeMember_DownCast
Handle_StepElement_HArray1OfHSequenceOfCurveElementPurposeMember_IsNull = _StepElement.Handle_StepElement_HArray1OfHSequenceOfCurveElementPurposeMember_IsNull
Handle_StepElement_HArray1OfSurfaceSection_Create = _StepElement.Handle_StepElement_HArray1OfSurfaceSection_Create
Handle_StepElement_HArray1OfSurfaceSection_DownCast = _StepElement.Handle_StepElement_HArray1OfSurfaceSection_DownCast
Handle_StepElement_HArray1OfSurfaceSection_IsNull = _StepElement.Handle_StepElement_HArray1OfSurfaceSection_IsNull
Handle_StepElement_HArray1OfCurveElementSectionDefinition_Create = _StepElement.Handle_StepElement_HArray1OfCurveElementSectionDefinition_Create
Handle_StepElement_HArray1OfCurveElementSectionDefinition_DownCast = _StepElement.Handle_StepElement_HArray1OfCurveElementSectionDefinition_DownCast
Handle_StepElement_HArray1OfCurveElementSectionDefinition_IsNull = _StepElement.Handle_StepElement_HArray1OfCurveElementSectionDefinition_IsNull
Handle_StepElement_HArray1OfMeasureOrUnspecifiedValue_Create = _StepElement.Handle_StepElement_HArray1OfMeasureOrUnspecifiedValue_Create
Handle_StepElement_HArray1OfMeasureOrUnspecifiedValue_DownCast = _StepElement.Handle_StepElement_HArray1OfMeasureOrUnspecifiedValue_DownCast
Handle_StepElement_HArray1OfMeasureOrUnspecifiedValue_IsNull = _StepElement.Handle_StepElement_HArray1OfMeasureOrUnspecifiedValue_IsNull
Handle_StepElement_HArray1OfHSequenceOfSurfaceElementPurposeMember_Create = _StepElement.Handle_StepElement_HArray1OfHSequenceOfSurfaceElementPurposeMember_Create
Handle_StepElement_HArray1OfHSequenceOfSurfaceElementPurposeMember_DownCast = _StepElement.Handle_StepElement_HArray1OfHSequenceOfSurfaceElementPurposeMember_DownCast
Handle_StepElement_HArray1OfHSequenceOfSurfaceElementPurposeMember_IsNull = _StepElement.Handle_StepElement_HArray1OfHSequenceOfSurfaceElementPurposeMember_IsNull
Handle_StepElement_HArray1OfVolumeElementPurposeMember_Create = _StepElement.Handle_StepElement_HArray1OfVolumeElementPurposeMember_Create
Handle_StepElement_HArray1OfVolumeElementPurposeMember_DownCast = _StepElement.Handle_StepElement_HArray1OfVolumeElementPurposeMember_DownCast
Handle_StepElement_HArray1OfVolumeElementPurposeMember_IsNull = _StepElement.Handle_StepElement_HArray1OfVolumeElementPurposeMember_IsNull
Handle_StepElement_HArray1OfCurveElementEndReleasePacket_Create = _StepElement.Handle_StepElement_HArray1OfCurveElementEndReleasePacket_Create
Handle_StepElement_HArray1OfCurveElementEndReleasePacket_DownCast = _StepElement.Handle_StepElement_HArray1OfCurveElementEndReleasePacket_DownCast
Handle_StepElement_HArray1OfCurveElementEndReleasePacket_IsNull = _StepElement.Handle_StepElement_HArray1OfCurveElementEndReleasePacket_IsNull
Handle_StepElement_HArray2OfSurfaceElementPurposeMember_Create = _StepElement.Handle_StepElement_HArray2OfSurfaceElementPurposeMember_Create
Handle_StepElement_HArray2OfSurfaceElementPurposeMember_DownCast = _StepElement.Handle_StepElement_HArray2OfSurfaceElementPurposeMember_DownCast
Handle_StepElement_HArray2OfSurfaceElementPurposeMember_IsNull = _StepElement.Handle_StepElement_HArray2OfSurfaceElementPurposeMember_IsNull
Handle_StepElement_HArray2OfSurfaceElementPurpose_Create = _StepElement.Handle_StepElement_HArray2OfSurfaceElementPurpose_Create
Handle_StepElement_HArray2OfSurfaceElementPurpose_DownCast = _StepElement.Handle_StepElement_HArray2OfSurfaceElementPurpose_DownCast
Handle_StepElement_HArray2OfSurfaceElementPurpose_IsNull = _StepElement.Handle_StepElement_HArray2OfSurfaceElementPurpose_IsNull
Handle_StepElement_HArray2OfCurveElementPurposeMember_Create = _StepElement.Handle_StepElement_HArray2OfCurveElementPurposeMember_Create
Handle_StepElement_HArray2OfCurveElementPurposeMember_DownCast = _StepElement.Handle_StepElement_HArray2OfCurveElementPurposeMember_DownCast
Handle_StepElement_HArray2OfCurveElementPurposeMember_IsNull = _StepElement.Handle_StepElement_HArray2OfCurveElementPurposeMember_IsNull
Handle_StepElement_HSequenceOfCurveElementSectionDefinition_Create = _StepElement.Handle_StepElement_HSequenceOfCurveElementSectionDefinition_Create
Handle_StepElement_HSequenceOfCurveElementSectionDefinition_DownCast = _StepElement.Handle_StepElement_HSequenceOfCurveElementSectionDefinition_DownCast
Handle_StepElement_HSequenceOfCurveElementSectionDefinition_IsNull = _StepElement.Handle_StepElement_HSequenceOfCurveElementSectionDefinition_IsNull
Handle_StepElement_HSequenceOfCurveElementPurposeMember_Create = _StepElement.Handle_StepElement_HSequenceOfCurveElementPurposeMember_Create
Handle_StepElement_HSequenceOfCurveElementPurposeMember_DownCast = _StepElement.Handle_StepElement_HSequenceOfCurveElementPurposeMember_DownCast
Handle_StepElement_HSequenceOfCurveElementPurposeMember_IsNull = _StepElement.Handle_StepElement_HSequenceOfCurveElementPurposeMember_IsNull
Handle_StepElement_HSequenceOfElementMaterial_Create = _StepElement.Handle_StepElement_HSequenceOfElementMaterial_Create
Handle_StepElement_HSequenceOfElementMaterial_DownCast = _StepElement.Handle_StepElement_HSequenceOfElementMaterial_DownCast
Handle_StepElement_HSequenceOfElementMaterial_IsNull = _StepElement.Handle_StepElement_HSequenceOfElementMaterial_IsNull
Handle_StepElement_HSequenceOfSurfaceElementPurposeMember_Create = _StepElement.Handle_StepElement_HSequenceOfSurfaceElementPurposeMember_Create
Handle_StepElement_HSequenceOfSurfaceElementPurposeMember_DownCast = _StepElement.Handle_StepElement_HSequenceOfSurfaceElementPurposeMember_DownCast
Handle_StepElement_HSequenceOfSurfaceElementPurposeMember_IsNull = _StepElement.Handle_StepElement_HSequenceOfSurfaceElementPurposeMember_IsNull
class StepElement_SequenceOfCurveElementSectionDefinition(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(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_begin)
    end = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_end)
    cbegin = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_cbegin)
    cend = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_cend)

    def __init__(self, *args):
        _StepElement.StepElement_SequenceOfCurveElementSectionDefinition_swiginit(self, _StepElement.new_StepElement_SequenceOfCurveElementSectionDefinition(*args))
    Size = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_Size)
    Length = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_Length)
    Lower = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_Lower)
    Upper = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_Upper)
    IsEmpty = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_IsEmpty)
    Reverse = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_Reverse)
    Exchange = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_Exchange)
    delNode = _swig_new_static_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_delNode)
    Clear = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_Clear)
    Assign = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_Assign)
    Set = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_Set)
    Remove = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_Remove)
    Append = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_Append)
    Prepend = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_Prepend)
    InsertBefore = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_InsertBefore)
    InsertAfter = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_InsertAfter)
    Split = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_Split)
    First = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_First)
    ChangeFirst = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_ChangeFirst)
    Last = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_Last)
    ChangeLast = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_ChangeLast)
    Value = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_Value)
    ChangeValue = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_ChangeValue)
    __call__ = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition___call__)
    SetValue = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_SetValue)
    __swig_destroy__ = _StepElement.delete_StepElement_SequenceOfCurveElementSectionDefinition

# Register StepElement_SequenceOfCurveElementSectionDefinition in _StepElement:
_StepElement.StepElement_SequenceOfCurveElementSectionDefinition_swigregister(StepElement_SequenceOfCurveElementSectionDefinition)
StepElement_SequenceOfCurveElementSectionDefinition_delNode = _StepElement.StepElement_SequenceOfCurveElementSectionDefinition_delNode

class StepElement_Array2OfCurveElementPurposeMember(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):
        _StepElement.StepElement_Array2OfCurveElementPurposeMember_swiginit(self, _StepElement.new_StepElement_Array2OfCurveElementPurposeMember(*args))
    Init = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_Init)
    Size = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_Size)
    Length = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_Length)
    NbRows = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_NbRows)
    NbColumns = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_NbColumns)
    RowLength = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_RowLength)
    ColLength = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_ColLength)
    LowerRow = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_LowerRow)
    UpperRow = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_UpperRow)
    LowerCol = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_LowerCol)
    UpperCol = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_UpperCol)
    IsDeletable = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_IsDeletable)
    Assign = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_Assign)
    Move = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_Move)
    Set = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_Set)
    Value = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_Value)
    ChangeValue = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_ChangeValue)
    __call__ = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember___call__)
    SetValue = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_SetValue)
    Resize = _swig_new_instance_method(_StepElement.StepElement_Array2OfCurveElementPurposeMember_Resize)
    __swig_destroy__ = _StepElement.delete_StepElement_Array2OfCurveElementPurposeMember

# Register StepElement_Array2OfCurveElementPurposeMember in _StepElement:
_StepElement.StepElement_Array2OfCurveElementPurposeMember_swigregister(StepElement_Array2OfCurveElementPurposeMember)

class StepElement_Array1OfCurveElementSectionDefinition(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(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_begin)
    end = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_end)
    cbegin = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_cbegin)
    cend = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_cend)

    def __init__(self, *args):
        _StepElement.StepElement_Array1OfCurveElementSectionDefinition_swiginit(self, _StepElement.new_StepElement_Array1OfCurveElementSectionDefinition(*args))
    Init = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_Init)
    Size = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_Size)
    Length = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_Length)
    IsEmpty = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_IsEmpty)
    Lower = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_Lower)
    Upper = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_Upper)
    IsDeletable = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_IsDeletable)
    IsAllocated = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_IsAllocated)
    Assign = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_Assign)
    Move = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_Move)
    Set = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_Set)
    First = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_First)
    ChangeFirst = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_ChangeFirst)
    Last = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_Last)
    ChangeLast = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_ChangeLast)
    Value = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_Value)
    ChangeValue = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_ChangeValue)
    __call__ = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition___call__)
    SetValue = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_SetValue)
    Resize = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementSectionDefinition_Resize)
    __swig_destroy__ = _StepElement.delete_StepElement_Array1OfCurveElementSectionDefinition

    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 StepElement_Array1OfCurveElementSectionDefinition in _StepElement:
_StepElement.StepElement_Array1OfCurveElementSectionDefinition_swigregister(StepElement_Array1OfCurveElementSectionDefinition)

class StepElement_Array1OfHSequenceOfCurveElementPurposeMember(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(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_begin)
    end = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_end)
    cbegin = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_cbegin)
    cend = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_cend)

    def __init__(self, *args):
        _StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_swiginit(self, _StepElement.new_StepElement_Array1OfHSequenceOfCurveElementPurposeMember(*args))
    Init = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_Init)
    Size = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_Size)
    Length = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_Length)
    IsEmpty = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_IsEmpty)
    Lower = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_Lower)
    Upper = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_Upper)
    IsDeletable = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_IsDeletable)
    IsAllocated = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_IsAllocated)
    Assign = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_Assign)
    Move = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_Move)
    Set = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_Set)
    First = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_First)
    ChangeFirst = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_ChangeFirst)
    Last = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_Last)
    ChangeLast = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_ChangeLast)
    Value = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_Value)
    ChangeValue = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_ChangeValue)
    __call__ = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember___call__)
    SetValue = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_SetValue)
    Resize = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_Resize)
    __swig_destroy__ = _StepElement.delete_StepElement_Array1OfHSequenceOfCurveElementPurposeMember

    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 StepElement_Array1OfHSequenceOfCurveElementPurposeMember in _StepElement:
_StepElement.StepElement_Array1OfHSequenceOfCurveElementPurposeMember_swigregister(StepElement_Array1OfHSequenceOfCurveElementPurposeMember)

class StepElement_Array1OfVolumeElementPurpose(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(_StepElement.StepElement_Array1OfVolumeElementPurpose_begin)
    end = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_end)
    cbegin = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_cbegin)
    cend = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_cend)

    def __init__(self, *args):
        _StepElement.StepElement_Array1OfVolumeElementPurpose_swiginit(self, _StepElement.new_StepElement_Array1OfVolumeElementPurpose(*args))
    Init = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_Init)
    Size = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_Size)
    Length = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_Length)
    IsEmpty = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_IsEmpty)
    Lower = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_Lower)
    Upper = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_Upper)
    IsDeletable = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_IsDeletable)
    IsAllocated = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_IsAllocated)
    Assign = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_Assign)
    Move = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_Move)
    Set = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_Set)
    First = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_First)
    ChangeFirst = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_ChangeFirst)
    Last = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_Last)
    ChangeLast = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_ChangeLast)
    Value = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_Value)
    ChangeValue = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_ChangeValue)
    __call__ = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose___call__)
    SetValue = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_SetValue)
    Resize = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurpose_Resize)
    __swig_destroy__ = _StepElement.delete_StepElement_Array1OfVolumeElementPurpose

    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 StepElement_Array1OfVolumeElementPurpose in _StepElement:
_StepElement.StepElement_Array1OfVolumeElementPurpose_swigregister(StepElement_Array1OfVolumeElementPurpose)

class StepElement_Array1OfCurveElementEndReleasePacket(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(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_begin)
    end = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_end)
    cbegin = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_cbegin)
    cend = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_cend)

    def __init__(self, *args):
        _StepElement.StepElement_Array1OfCurveElementEndReleasePacket_swiginit(self, _StepElement.new_StepElement_Array1OfCurveElementEndReleasePacket(*args))
    Init = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_Init)
    Size = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_Size)
    Length = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_Length)
    IsEmpty = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_IsEmpty)
    Lower = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_Lower)
    Upper = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_Upper)
    IsDeletable = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_IsDeletable)
    IsAllocated = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_IsAllocated)
    Assign = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_Assign)
    Move = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_Move)
    Set = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_Set)
    First = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_First)
    ChangeFirst = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_ChangeFirst)
    Last = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_Last)
    ChangeLast = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_ChangeLast)
    Value = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_Value)
    ChangeValue = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_ChangeValue)
    __call__ = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket___call__)
    SetValue = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_SetValue)
    Resize = _swig_new_instance_method(_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_Resize)
    __swig_destroy__ = _StepElement.delete_StepElement_Array1OfCurveElementEndReleasePacket

    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 StepElement_Array1OfCurveElementEndReleasePacket in _StepElement:
_StepElement.StepElement_Array1OfCurveElementEndReleasePacket_swigregister(StepElement_Array1OfCurveElementEndReleasePacket)

class StepElement_Array1OfMeasureOrUnspecifiedValue(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(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_begin)
    end = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_end)
    cbegin = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_cbegin)
    cend = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_cend)

    def __init__(self, *args):
        _StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_swiginit(self, _StepElement.new_StepElement_Array1OfMeasureOrUnspecifiedValue(*args))
    Init = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_Init)
    Size = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_Size)
    Length = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_Length)
    IsEmpty = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_IsEmpty)
    Lower = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_Lower)
    Upper = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_Upper)
    IsDeletable = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_IsDeletable)
    IsAllocated = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_IsAllocated)
    Assign = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_Assign)
    Move = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_Move)
    Set = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_Set)
    First = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_First)
    ChangeFirst = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_ChangeFirst)
    Last = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_Last)
    ChangeLast = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_ChangeLast)
    Value = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_Value)
    ChangeValue = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_ChangeValue)
    __call__ = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue___call__)
    SetValue = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_SetValue)
    Resize = _swig_new_instance_method(_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_Resize)
    __swig_destroy__ = _StepElement.delete_StepElement_Array1OfMeasureOrUnspecifiedValue

    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 StepElement_Array1OfMeasureOrUnspecifiedValue in _StepElement:
_StepElement.StepElement_Array1OfMeasureOrUnspecifiedValue_swigregister(StepElement_Array1OfMeasureOrUnspecifiedValue)

class StepElement_Array2OfSurfaceElementPurpose(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):
        _StepElement.StepElement_Array2OfSurfaceElementPurpose_swiginit(self, _StepElement.new_StepElement_Array2OfSurfaceElementPurpose(*args))
    Init = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_Init)
    Size = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_Size)
    Length = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_Length)
    NbRows = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_NbRows)
    NbColumns = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_NbColumns)
    RowLength = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_RowLength)
    ColLength = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_ColLength)
    LowerRow = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_LowerRow)
    UpperRow = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_UpperRow)
    LowerCol = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_LowerCol)
    UpperCol = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_UpperCol)
    IsDeletable = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_IsDeletable)
    Assign = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_Assign)
    Move = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_Move)
    Set = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_Set)
    Value = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_Value)
    ChangeValue = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_ChangeValue)
    __call__ = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose___call__)
    SetValue = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_SetValue)
    Resize = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurpose_Resize)
    __swig_destroy__ = _StepElement.delete_StepElement_Array2OfSurfaceElementPurpose

# Register StepElement_Array2OfSurfaceElementPurpose in _StepElement:
_StepElement.StepElement_Array2OfSurfaceElementPurpose_swigregister(StepElement_Array2OfSurfaceElementPurpose)

class StepElement_SequenceOfElementMaterial(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(_StepElement.StepElement_SequenceOfElementMaterial_begin)
    end = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_end)
    cbegin = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_cbegin)
    cend = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_cend)

    def __init__(self, *args):
        _StepElement.StepElement_SequenceOfElementMaterial_swiginit(self, _StepElement.new_StepElement_SequenceOfElementMaterial(*args))
    Size = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_Size)
    Length = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_Length)
    Lower = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_Lower)
    Upper = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_Upper)
    IsEmpty = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_IsEmpty)
    Reverse = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_Reverse)
    Exchange = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_Exchange)
    delNode = _swig_new_static_method(_StepElement.StepElement_SequenceOfElementMaterial_delNode)
    Clear = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_Clear)
    Assign = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_Assign)
    Set = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_Set)
    Remove = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_Remove)
    Append = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_Append)
    Prepend = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_Prepend)
    InsertBefore = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_InsertBefore)
    InsertAfter = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_InsertAfter)
    Split = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_Split)
    First = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_First)
    ChangeFirst = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_ChangeFirst)
    Last = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_Last)
    ChangeLast = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_ChangeLast)
    Value = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_Value)
    ChangeValue = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_ChangeValue)
    __call__ = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial___call__)
    SetValue = _swig_new_instance_method(_StepElement.StepElement_SequenceOfElementMaterial_SetValue)
    __swig_destroy__ = _StepElement.delete_StepElement_SequenceOfElementMaterial

# Register StepElement_SequenceOfElementMaterial in _StepElement:
_StepElement.StepElement_SequenceOfElementMaterial_swigregister(StepElement_SequenceOfElementMaterial)
StepElement_SequenceOfElementMaterial_delNode = _StepElement.StepElement_SequenceOfElementMaterial_delNode

class StepElement_SequenceOfSurfaceElementPurposeMember(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(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_begin)
    end = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_end)
    cbegin = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_cbegin)
    cend = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_cend)

    def __init__(self, *args):
        _StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_swiginit(self, _StepElement.new_StepElement_SequenceOfSurfaceElementPurposeMember(*args))
    Size = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_Size)
    Length = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_Length)
    Lower = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_Lower)
    Upper = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_Upper)
    IsEmpty = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_IsEmpty)
    Reverse = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_Reverse)
    Exchange = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_Exchange)
    delNode = _swig_new_static_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_delNode)
    Clear = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_Clear)
    Assign = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_Assign)
    Set = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_Set)
    Remove = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_Remove)
    Append = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_Append)
    Prepend = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_Prepend)
    InsertBefore = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_InsertBefore)
    InsertAfter = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_InsertAfter)
    Split = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_Split)
    First = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_First)
    ChangeFirst = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_ChangeFirst)
    Last = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_Last)
    ChangeLast = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_ChangeLast)
    Value = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_Value)
    ChangeValue = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_ChangeValue)
    __call__ = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember___call__)
    SetValue = _swig_new_instance_method(_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_SetValue)
    __swig_destroy__ = _StepElement.delete_StepElement_SequenceOfSurfaceElementPurposeMember

# Register StepElement_SequenceOfSurfaceElementPurposeMember in _StepElement:
_StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_swigregister(StepElement_SequenceOfSurfaceElementPurposeMember)
StepElement_SequenceOfSurfaceElementPurposeMember_delNode = _StepElement.StepElement_SequenceOfSurfaceElementPurposeMember_delNode

class StepElement_Array1OfSurfaceSection(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(_StepElement.StepElement_Array1OfSurfaceSection_begin)
    end = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_end)
    cbegin = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_cbegin)
    cend = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_cend)

    def __init__(self, *args):
        _StepElement.StepElement_Array1OfSurfaceSection_swiginit(self, _StepElement.new_StepElement_Array1OfSurfaceSection(*args))
    Init = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_Init)
    Size = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_Size)
    Length = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_Length)
    IsEmpty = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_IsEmpty)
    Lower = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_Lower)
    Upper = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_Upper)
    IsDeletable = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_IsDeletable)
    IsAllocated = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_IsAllocated)
    Assign = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_Assign)
    Move = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_Move)
    Set = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_Set)
    First = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_First)
    ChangeFirst = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_ChangeFirst)
    Last = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_Last)
    ChangeLast = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_ChangeLast)
    Value = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_Value)
    ChangeValue = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_ChangeValue)
    __call__ = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection___call__)
    SetValue = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_SetValue)
    Resize = _swig_new_instance_method(_StepElement.StepElement_Array1OfSurfaceSection_Resize)
    __swig_destroy__ = _StepElement.delete_StepElement_Array1OfSurfaceSection

    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 StepElement_Array1OfSurfaceSection in _StepElement:
_StepElement.StepElement_Array1OfSurfaceSection_swigregister(StepElement_Array1OfSurfaceSection)

class StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember(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(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_begin)
    end = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_end)
    cbegin = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_cbegin)
    cend = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_cend)

    def __init__(self, *args):
        _StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_swiginit(self, _StepElement.new_StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember(*args))
    Init = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_Init)
    Size = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_Size)
    Length = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_Length)
    IsEmpty = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_IsEmpty)
    Lower = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_Lower)
    Upper = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_Upper)
    IsDeletable = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_IsDeletable)
    IsAllocated = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_IsAllocated)
    Assign = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_Assign)
    Move = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_Move)
    Set = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_Set)
    First = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_First)
    ChangeFirst = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_ChangeFirst)
    Last = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_Last)
    ChangeLast = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_ChangeLast)
    Value = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_Value)
    ChangeValue = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_ChangeValue)
    __call__ = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember___call__)
    SetValue = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_SetValue)
    Resize = _swig_new_instance_method(_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_Resize)
    __swig_destroy__ = _StepElement.delete_StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember

    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 StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember in _StepElement:
_StepElement.StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember_swigregister(StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember)

class StepElement_Array1OfVolumeElementPurposeMember(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(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_begin)
    end = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_end)
    cbegin = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_cbegin)
    cend = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_cend)

    def __init__(self, *args):
        _StepElement.StepElement_Array1OfVolumeElementPurposeMember_swiginit(self, _StepElement.new_StepElement_Array1OfVolumeElementPurposeMember(*args))
    Init = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_Init)
    Size = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_Size)
    Length = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_Length)
    IsEmpty = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_IsEmpty)
    Lower = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_Lower)
    Upper = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_Upper)
    IsDeletable = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_IsDeletable)
    IsAllocated = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_IsAllocated)
    Assign = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_Assign)
    Move = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_Move)
    Set = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_Set)
    First = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_First)
    ChangeFirst = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_ChangeFirst)
    Last = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_Last)
    ChangeLast = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_ChangeLast)
    Value = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_Value)
    ChangeValue = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_ChangeValue)
    __call__ = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember___call__)
    SetValue = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_SetValue)
    Resize = _swig_new_instance_method(_StepElement.StepElement_Array1OfVolumeElementPurposeMember_Resize)
    __swig_destroy__ = _StepElement.delete_StepElement_Array1OfVolumeElementPurposeMember

    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 StepElement_Array1OfVolumeElementPurposeMember in _StepElement:
_StepElement.StepElement_Array1OfVolumeElementPurposeMember_swigregister(StepElement_Array1OfVolumeElementPurposeMember)

class StepElement_Array2OfSurfaceElementPurposeMember(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):
        _StepElement.StepElement_Array2OfSurfaceElementPurposeMember_swiginit(self, _StepElement.new_StepElement_Array2OfSurfaceElementPurposeMember(*args))
    Init = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_Init)
    Size = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_Size)
    Length = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_Length)
    NbRows = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_NbRows)
    NbColumns = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_NbColumns)
    RowLength = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_RowLength)
    ColLength = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_ColLength)
    LowerRow = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_LowerRow)
    UpperRow = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_UpperRow)
    LowerCol = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_LowerCol)
    UpperCol = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_UpperCol)
    IsDeletable = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_IsDeletable)
    Assign = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_Assign)
    Move = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_Move)
    Set = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_Set)
    Value = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_Value)
    ChangeValue = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_ChangeValue)
    __call__ = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember___call__)
    SetValue = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_SetValue)
    Resize = _swig_new_instance_method(_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_Resize)
    __swig_destroy__ = _StepElement.delete_StepElement_Array2OfSurfaceElementPurposeMember

# Register StepElement_Array2OfSurfaceElementPurposeMember in _StepElement:
_StepElement.StepElement_Array2OfSurfaceElementPurposeMember_swigregister(StepElement_Array2OfSurfaceElementPurposeMember)

class StepElement_SequenceOfCurveElementPurposeMember(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(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_begin)
    end = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_end)
    cbegin = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_cbegin)
    cend = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_cend)

    def __init__(self, *args):
        _StepElement.StepElement_SequenceOfCurveElementPurposeMember_swiginit(self, _StepElement.new_StepElement_SequenceOfCurveElementPurposeMember(*args))
    Size = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_Size)
    Length = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_Length)
    Lower = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_Lower)
    Upper = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_Upper)
    IsEmpty = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_IsEmpty)
    Reverse = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_Reverse)
    Exchange = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_Exchange)
    delNode = _swig_new_static_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_delNode)
    Clear = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_Clear)
    Assign = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_Assign)
    Set = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_Set)
    Remove = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_Remove)
    Append = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_Append)
    Prepend = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_Prepend)
    InsertBefore = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_InsertBefore)
    InsertAfter = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_InsertAfter)
    Split = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_Split)
    First = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_First)
    ChangeFirst = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_ChangeFirst)
    Last = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_Last)
    ChangeLast = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_ChangeLast)
    Value = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_Value)
    ChangeValue = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_ChangeValue)
    __call__ = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember___call__)
    SetValue = _swig_new_instance_method(_StepElement.StepElement_SequenceOfCurveElementPurposeMember_SetValue)
    __swig_destroy__ = _StepElement.delete_StepElement_SequenceOfCurveElementPurposeMember

# Register StepElement_SequenceOfCurveElementPurposeMember in _StepElement:
_StepElement.StepElement_SequenceOfCurveElementPurposeMember_swigregister(StepElement_SequenceOfCurveElementPurposeMember)
StepElement_SequenceOfCurveElementPurposeMember_delNode = _StepElement.StepElement_SequenceOfCurveElementPurposeMember_delNode

class StepElement_AnalysisItemWithinRepresentation(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
    Description = _swig_new_instance_method(_StepElement.StepElement_AnalysisItemWithinRepresentation_Description)
    Init = _swig_new_instance_method(_StepElement.StepElement_AnalysisItemWithinRepresentation_Init)
    Item = _swig_new_instance_method(_StepElement.StepElement_AnalysisItemWithinRepresentation_Item)
    Name = _swig_new_instance_method(_StepElement.StepElement_AnalysisItemWithinRepresentation_Name)
    Rep = _swig_new_instance_method(_StepElement.StepElement_AnalysisItemWithinRepresentation_Rep)
    SetDescription = _swig_new_instance_method(_StepElement.StepElement_AnalysisItemWithinRepresentation_SetDescription)
    SetItem = _swig_new_instance_method(_StepElement.StepElement_AnalysisItemWithinRepresentation_SetItem)
    SetName = _swig_new_instance_method(_StepElement.StepElement_AnalysisItemWithinRepresentation_SetName)
    SetRep = _swig_new_instance_method(_StepElement.StepElement_AnalysisItemWithinRepresentation_SetRep)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_AnalysisItemWithinRepresentation_swiginit(self, _StepElement.new_StepElement_AnalysisItemWithinRepresentation(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_AnalysisItemWithinRepresentation

# Register StepElement_AnalysisItemWithinRepresentation in _StepElement:
_StepElement.StepElement_AnalysisItemWithinRepresentation_swigregister(StepElement_AnalysisItemWithinRepresentation)

class StepElement_CurveElementEndReleasePacket(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
    Init = _swig_new_instance_method(_StepElement.StepElement_CurveElementEndReleasePacket_Init)
    ReleaseFreedom = _swig_new_instance_method(_StepElement.StepElement_CurveElementEndReleasePacket_ReleaseFreedom)
    ReleaseStiffness = _swig_new_instance_method(_StepElement.StepElement_CurveElementEndReleasePacket_ReleaseStiffness)
    SetReleaseFreedom = _swig_new_instance_method(_StepElement.StepElement_CurveElementEndReleasePacket_SetReleaseFreedom)
    SetReleaseStiffness = _swig_new_instance_method(_StepElement.StepElement_CurveElementEndReleasePacket_SetReleaseStiffness)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_CurveElementEndReleasePacket_swiginit(self, _StepElement.new_StepElement_CurveElementEndReleasePacket(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_CurveElementEndReleasePacket

# Register StepElement_CurveElementEndReleasePacket in _StepElement:
_StepElement.StepElement_CurveElementEndReleasePacket_swigregister(StepElement_CurveElementEndReleasePacket)

class StepElement_CurveElementFreedom(OCC.Core.StepData.StepData_SelectType):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    ApplicationDefinedDegreeOfFreedom = _swig_new_instance_method(_StepElement.StepElement_CurveElementFreedom_ApplicationDefinedDegreeOfFreedom)
    EnumeratedCurveElementFreedom = _swig_new_instance_method(_StepElement.StepElement_CurveElementFreedom_EnumeratedCurveElementFreedom)
    SetApplicationDefinedDegreeOfFreedom = _swig_new_instance_method(_StepElement.StepElement_CurveElementFreedom_SetApplicationDefinedDegreeOfFreedom)
    SetEnumeratedCurveElementFreedom = _swig_new_instance_method(_StepElement.StepElement_CurveElementFreedom_SetEnumeratedCurveElementFreedom)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_CurveElementFreedom_swiginit(self, _StepElement.new_StepElement_CurveElementFreedom(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_CurveElementFreedom

# Register StepElement_CurveElementFreedom in _StepElement:
_StepElement.StepElement_CurveElementFreedom_swigregister(StepElement_CurveElementFreedom)

class StepElement_CurveElementFreedomMember(OCC.Core.StepData.StepData_SelectNamed):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_CurveElementFreedomMember_swiginit(self, _StepElement.new_StepElement_CurveElementFreedomMember(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_CurveElementFreedomMember

# Register StepElement_CurveElementFreedomMember in _StepElement:
_StepElement.StepElement_CurveElementFreedomMember_swigregister(StepElement_CurveElementFreedomMember)

class StepElement_CurveElementPurpose(OCC.Core.StepData.StepData_SelectType):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    ApplicationDefinedElementPurpose = _swig_new_instance_method(_StepElement.StepElement_CurveElementPurpose_ApplicationDefinedElementPurpose)
    EnumeratedCurveElementPurpose = _swig_new_instance_method(_StepElement.StepElement_CurveElementPurpose_EnumeratedCurveElementPurpose)
    SetApplicationDefinedElementPurpose = _swig_new_instance_method(_StepElement.StepElement_CurveElementPurpose_SetApplicationDefinedElementPurpose)
    SetEnumeratedCurveElementPurpose = _swig_new_instance_method(_StepElement.StepElement_CurveElementPurpose_SetEnumeratedCurveElementPurpose)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_CurveElementPurpose_swiginit(self, _StepElement.new_StepElement_CurveElementPurpose(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_CurveElementPurpose

# Register StepElement_CurveElementPurpose in _StepElement:
_StepElement.StepElement_CurveElementPurpose_swigregister(StepElement_CurveElementPurpose)

class StepElement_CurveElementPurposeMember(OCC.Core.StepData.StepData_SelectNamed):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_CurveElementPurposeMember_swiginit(self, _StepElement.new_StepElement_CurveElementPurposeMember(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_CurveElementPurposeMember

# Register StepElement_CurveElementPurposeMember in _StepElement:
_StepElement.StepElement_CurveElementPurposeMember_swigregister(StepElement_CurveElementPurposeMember)

class StepElement_CurveElementSectionDefinition(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
    Description = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDefinition_Description)
    Init = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDefinition_Init)
    SectionAngle = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDefinition_SectionAngle)
    SetDescription = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDefinition_SetDescription)
    SetSectionAngle = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDefinition_SetSectionAngle)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_CurveElementSectionDefinition_swiginit(self, _StepElement.new_StepElement_CurveElementSectionDefinition(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_CurveElementSectionDefinition

# Register StepElement_CurveElementSectionDefinition in _StepElement:
_StepElement.StepElement_CurveElementSectionDefinition_swigregister(StepElement_CurveElementSectionDefinition)

class StepElement_ElementAspect(OCC.Core.StepData.StepData_SelectType):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    CurveEdge = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_CurveEdge)
    ElementVolume = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_ElementVolume)
    SetCurveEdge = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_SetCurveEdge)
    SetElementVolume = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_SetElementVolume)
    SetSurface2dEdge = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_SetSurface2dEdge)
    SetSurface2dFace = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_SetSurface2dFace)
    SetSurface3dEdge = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_SetSurface3dEdge)
    SetSurface3dFace = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_SetSurface3dFace)
    SetVolume2dEdge = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_SetVolume2dEdge)
    SetVolume2dFace = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_SetVolume2dFace)
    SetVolume3dEdge = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_SetVolume3dEdge)
    SetVolume3dFace = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_SetVolume3dFace)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_ElementAspect_swiginit(self, _StepElement.new_StepElement_ElementAspect(*args))
    Surface2dEdge = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_Surface2dEdge)
    Surface2dFace = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_Surface2dFace)
    Surface3dEdge = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_Surface3dEdge)
    Surface3dFace = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_Surface3dFace)
    Volume2dEdge = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_Volume2dEdge)
    Volume2dFace = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_Volume2dFace)
    Volume3dEdge = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_Volume3dEdge)
    Volume3dFace = _swig_new_instance_method(_StepElement.StepElement_ElementAspect_Volume3dFace)

    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_ElementAspect

# Register StepElement_ElementAspect in _StepElement:
_StepElement.StepElement_ElementAspect_swigregister(StepElement_ElementAspect)

class StepElement_ElementAspectMember(OCC.Core.StepData.StepData_SelectNamed):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_ElementAspectMember_swiginit(self, _StepElement.new_StepElement_ElementAspectMember(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_ElementAspectMember

# Register StepElement_ElementAspectMember in _StepElement:
_StepElement.StepElement_ElementAspectMember_swigregister(StepElement_ElementAspectMember)

class StepElement_ElementDescriptor(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
    Description = _swig_new_instance_method(_StepElement.StepElement_ElementDescriptor_Description)
    Init = _swig_new_instance_method(_StepElement.StepElement_ElementDescriptor_Init)
    SetDescription = _swig_new_instance_method(_StepElement.StepElement_ElementDescriptor_SetDescription)
    SetTopologyOrder = _swig_new_instance_method(_StepElement.StepElement_ElementDescriptor_SetTopologyOrder)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_ElementDescriptor_swiginit(self, _StepElement.new_StepElement_ElementDescriptor(*args))
    TopologyOrder = _swig_new_instance_method(_StepElement.StepElement_ElementDescriptor_TopologyOrder)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_ElementDescriptor

# Register StepElement_ElementDescriptor in _StepElement:
_StepElement.StepElement_ElementDescriptor_swigregister(StepElement_ElementDescriptor)

class StepElement_ElementMaterial(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
    Description = _swig_new_instance_method(_StepElement.StepElement_ElementMaterial_Description)
    Init = _swig_new_instance_method(_StepElement.StepElement_ElementMaterial_Init)
    MaterialId = _swig_new_instance_method(_StepElement.StepElement_ElementMaterial_MaterialId)
    Properties = _swig_new_instance_method(_StepElement.StepElement_ElementMaterial_Properties)
    SetDescription = _swig_new_instance_method(_StepElement.StepElement_ElementMaterial_SetDescription)
    SetMaterialId = _swig_new_instance_method(_StepElement.StepElement_ElementMaterial_SetMaterialId)
    SetProperties = _swig_new_instance_method(_StepElement.StepElement_ElementMaterial_SetProperties)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_ElementMaterial_swiginit(self, _StepElement.new_StepElement_ElementMaterial(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_ElementMaterial

# Register StepElement_ElementMaterial in _StepElement:
_StepElement.StepElement_ElementMaterial_swigregister(StepElement_ElementMaterial)

class StepElement_MeasureOrUnspecifiedValue(OCC.Core.StepData.StepData_SelectType):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    ContextDependentMeasure = _swig_new_instance_method(_StepElement.StepElement_MeasureOrUnspecifiedValue_ContextDependentMeasure)
    SetContextDependentMeasure = _swig_new_instance_method(_StepElement.StepElement_MeasureOrUnspecifiedValue_SetContextDependentMeasure)
    SetUnspecifiedValue = _swig_new_instance_method(_StepElement.StepElement_MeasureOrUnspecifiedValue_SetUnspecifiedValue)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_MeasureOrUnspecifiedValue_swiginit(self, _StepElement.new_StepElement_MeasureOrUnspecifiedValue(*args))
    UnspecifiedValue = _swig_new_instance_method(_StepElement.StepElement_MeasureOrUnspecifiedValue_UnspecifiedValue)

    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_MeasureOrUnspecifiedValue

# Register StepElement_MeasureOrUnspecifiedValue in _StepElement:
_StepElement.StepElement_MeasureOrUnspecifiedValue_swigregister(StepElement_MeasureOrUnspecifiedValue)

class StepElement_MeasureOrUnspecifiedValueMember(OCC.Core.StepData.StepData_SelectNamed):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_MeasureOrUnspecifiedValueMember_swiginit(self, _StepElement.new_StepElement_MeasureOrUnspecifiedValueMember(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_MeasureOrUnspecifiedValueMember

# Register StepElement_MeasureOrUnspecifiedValueMember in _StepElement:
_StepElement.StepElement_MeasureOrUnspecifiedValueMember_swigregister(StepElement_MeasureOrUnspecifiedValueMember)

class StepElement_SurfaceElementProperty(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
    Description = _swig_new_instance_method(_StepElement.StepElement_SurfaceElementProperty_Description)
    Init = _swig_new_instance_method(_StepElement.StepElement_SurfaceElementProperty_Init)
    PropertyId = _swig_new_instance_method(_StepElement.StepElement_SurfaceElementProperty_PropertyId)
    Section = _swig_new_instance_method(_StepElement.StepElement_SurfaceElementProperty_Section)
    SetDescription = _swig_new_instance_method(_StepElement.StepElement_SurfaceElementProperty_SetDescription)
    SetPropertyId = _swig_new_instance_method(_StepElement.StepElement_SurfaceElementProperty_SetPropertyId)
    SetSection = _swig_new_instance_method(_StepElement.StepElement_SurfaceElementProperty_SetSection)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_SurfaceElementProperty_swiginit(self, _StepElement.new_StepElement_SurfaceElementProperty(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_SurfaceElementProperty

# Register StepElement_SurfaceElementProperty in _StepElement:
_StepElement.StepElement_SurfaceElementProperty_swigregister(StepElement_SurfaceElementProperty)

class StepElement_SurfaceElementPurpose(OCC.Core.StepData.StepData_SelectType):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    ApplicationDefinedElementPurpose = _swig_new_instance_method(_StepElement.StepElement_SurfaceElementPurpose_ApplicationDefinedElementPurpose)
    EnumeratedSurfaceElementPurpose = _swig_new_instance_method(_StepElement.StepElement_SurfaceElementPurpose_EnumeratedSurfaceElementPurpose)
    SetApplicationDefinedElementPurpose = _swig_new_instance_method(_StepElement.StepElement_SurfaceElementPurpose_SetApplicationDefinedElementPurpose)
    SetEnumeratedSurfaceElementPurpose = _swig_new_instance_method(_StepElement.StepElement_SurfaceElementPurpose_SetEnumeratedSurfaceElementPurpose)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_SurfaceElementPurpose_swiginit(self, _StepElement.new_StepElement_SurfaceElementPurpose(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_SurfaceElementPurpose

# Register StepElement_SurfaceElementPurpose in _StepElement:
_StepElement.StepElement_SurfaceElementPurpose_swigregister(StepElement_SurfaceElementPurpose)

class StepElement_SurfaceElementPurposeMember(OCC.Core.StepData.StepData_SelectNamed):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_SurfaceElementPurposeMember_swiginit(self, _StepElement.new_StepElement_SurfaceElementPurposeMember(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_SurfaceElementPurposeMember

# Register StepElement_SurfaceElementPurposeMember in _StepElement:
_StepElement.StepElement_SurfaceElementPurposeMember_swigregister(StepElement_SurfaceElementPurposeMember)

class StepElement_SurfaceSection(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
    Init = _swig_new_instance_method(_StepElement.StepElement_SurfaceSection_Init)
    NonStructuralMass = _swig_new_instance_method(_StepElement.StepElement_SurfaceSection_NonStructuralMass)
    NonStructuralMassOffset = _swig_new_instance_method(_StepElement.StepElement_SurfaceSection_NonStructuralMassOffset)
    Offset = _swig_new_instance_method(_StepElement.StepElement_SurfaceSection_Offset)
    SetNonStructuralMass = _swig_new_instance_method(_StepElement.StepElement_SurfaceSection_SetNonStructuralMass)
    SetNonStructuralMassOffset = _swig_new_instance_method(_StepElement.StepElement_SurfaceSection_SetNonStructuralMassOffset)
    SetOffset = _swig_new_instance_method(_StepElement.StepElement_SurfaceSection_SetOffset)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_SurfaceSection_swiginit(self, _StepElement.new_StepElement_SurfaceSection(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_SurfaceSection

# Register StepElement_SurfaceSection in _StepElement:
_StepElement.StepElement_SurfaceSection_swigregister(StepElement_SurfaceSection)

class StepElement_SurfaceSectionField(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_SurfaceSectionField_swiginit(self, _StepElement.new_StepElement_SurfaceSectionField(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_SurfaceSectionField

# Register StepElement_SurfaceSectionField in _StepElement:
_StepElement.StepElement_SurfaceSectionField_swigregister(StepElement_SurfaceSectionField)

class StepElement_VolumeElementPurpose(OCC.Core.StepData.StepData_SelectType):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    ApplicationDefinedElementPurpose = _swig_new_instance_method(_StepElement.StepElement_VolumeElementPurpose_ApplicationDefinedElementPurpose)
    EnumeratedVolumeElementPurpose = _swig_new_instance_method(_StepElement.StepElement_VolumeElementPurpose_EnumeratedVolumeElementPurpose)
    SetApplicationDefinedElementPurpose = _swig_new_instance_method(_StepElement.StepElement_VolumeElementPurpose_SetApplicationDefinedElementPurpose)
    SetEnumeratedVolumeElementPurpose = _swig_new_instance_method(_StepElement.StepElement_VolumeElementPurpose_SetEnumeratedVolumeElementPurpose)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_VolumeElementPurpose_swiginit(self, _StepElement.new_StepElement_VolumeElementPurpose(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_VolumeElementPurpose

# Register StepElement_VolumeElementPurpose in _StepElement:
_StepElement.StepElement_VolumeElementPurpose_swigregister(StepElement_VolumeElementPurpose)

class StepElement_VolumeElementPurposeMember(OCC.Core.StepData.StepData_SelectNamed):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_VolumeElementPurposeMember_swiginit(self, _StepElement.new_StepElement_VolumeElementPurposeMember(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_VolumeElementPurposeMember

# Register StepElement_VolumeElementPurposeMember in _StepElement:
_StepElement.StepElement_VolumeElementPurposeMember_swigregister(StepElement_VolumeElementPurposeMember)

class StepElement_Curve3dElementDescriptor(StepElement_ElementDescriptor):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Init = _swig_new_instance_method(_StepElement.StepElement_Curve3dElementDescriptor_Init)
    Purpose = _swig_new_instance_method(_StepElement.StepElement_Curve3dElementDescriptor_Purpose)
    SetPurpose = _swig_new_instance_method(_StepElement.StepElement_Curve3dElementDescriptor_SetPurpose)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_Curve3dElementDescriptor_swiginit(self, _StepElement.new_StepElement_Curve3dElementDescriptor(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_Curve3dElementDescriptor

# Register StepElement_Curve3dElementDescriptor in _StepElement:
_StepElement.StepElement_Curve3dElementDescriptor_swigregister(StepElement_Curve3dElementDescriptor)

class StepElement_CurveElementSectionDerivedDefinitions(StepElement_CurveElementSectionDefinition):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    CrossSectionalArea = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_CrossSectionalArea)
    Init = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_Init)
    LocationOfCentroid = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_LocationOfCentroid)
    LocationOfNonStructuralMass = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_LocationOfNonStructuralMass)
    LocationOfShearCentre = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_LocationOfShearCentre)
    NonStructuralMass = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_NonStructuralMass)
    PolarMoment = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_PolarMoment)
    SecondMomentOfArea = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_SecondMomentOfArea)
    SetCrossSectionalArea = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_SetCrossSectionalArea)
    SetLocationOfCentroid = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_SetLocationOfCentroid)
    SetLocationOfNonStructuralMass = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_SetLocationOfNonStructuralMass)
    SetLocationOfShearCentre = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_SetLocationOfShearCentre)
    SetNonStructuralMass = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_SetNonStructuralMass)
    SetPolarMoment = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_SetPolarMoment)
    SetSecondMomentOfArea = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_SetSecondMomentOfArea)
    SetShearArea = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_SetShearArea)
    SetTorsionalConstant = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_SetTorsionalConstant)
    SetWarpingConstant = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_SetWarpingConstant)
    ShearArea = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_ShearArea)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_CurveElementSectionDerivedDefinitions_swiginit(self, _StepElement.new_StepElement_CurveElementSectionDerivedDefinitions(*args))
    TorsionalConstant = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_TorsionalConstant)
    WarpingConstant = _swig_new_instance_method(_StepElement.StepElement_CurveElementSectionDerivedDefinitions_WarpingConstant)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_CurveElementSectionDerivedDefinitions

# Register StepElement_CurveElementSectionDerivedDefinitions in _StepElement:
_StepElement.StepElement_CurveElementSectionDerivedDefinitions_swigregister(StepElement_CurveElementSectionDerivedDefinitions)

class StepElement_Surface3dElementDescriptor(StepElement_ElementDescriptor):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Init = _swig_new_instance_method(_StepElement.StepElement_Surface3dElementDescriptor_Init)
    Purpose = _swig_new_instance_method(_StepElement.StepElement_Surface3dElementDescriptor_Purpose)
    SetPurpose = _swig_new_instance_method(_StepElement.StepElement_Surface3dElementDescriptor_SetPurpose)
    SetShape = _swig_new_instance_method(_StepElement.StepElement_Surface3dElementDescriptor_SetShape)
    Shape = _swig_new_instance_method(_StepElement.StepElement_Surface3dElementDescriptor_Shape)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_Surface3dElementDescriptor_swiginit(self, _StepElement.new_StepElement_Surface3dElementDescriptor(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_Surface3dElementDescriptor

# Register StepElement_Surface3dElementDescriptor in _StepElement:
_StepElement.StepElement_Surface3dElementDescriptor_swigregister(StepElement_Surface3dElementDescriptor)

class StepElement_SurfaceSectionFieldConstant(StepElement_SurfaceSectionField):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Definition = _swig_new_instance_method(_StepElement.StepElement_SurfaceSectionFieldConstant_Definition)
    Init = _swig_new_instance_method(_StepElement.StepElement_SurfaceSectionFieldConstant_Init)
    SetDefinition = _swig_new_instance_method(_StepElement.StepElement_SurfaceSectionFieldConstant_SetDefinition)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_SurfaceSectionFieldConstant_swiginit(self, _StepElement.new_StepElement_SurfaceSectionFieldConstant(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_SurfaceSectionFieldConstant

# Register StepElement_SurfaceSectionFieldConstant in _StepElement:
_StepElement.StepElement_SurfaceSectionFieldConstant_swigregister(StepElement_SurfaceSectionFieldConstant)

class StepElement_SurfaceSectionFieldVarying(StepElement_SurfaceSectionField):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AdditionalNodeValues = _swig_new_instance_method(_StepElement.StepElement_SurfaceSectionFieldVarying_AdditionalNodeValues)
    Definitions = _swig_new_instance_method(_StepElement.StepElement_SurfaceSectionFieldVarying_Definitions)
    Init = _swig_new_instance_method(_StepElement.StepElement_SurfaceSectionFieldVarying_Init)
    SetAdditionalNodeValues = _swig_new_instance_method(_StepElement.StepElement_SurfaceSectionFieldVarying_SetAdditionalNodeValues)
    SetDefinitions = _swig_new_instance_method(_StepElement.StepElement_SurfaceSectionFieldVarying_SetDefinitions)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_SurfaceSectionFieldVarying_swiginit(self, _StepElement.new_StepElement_SurfaceSectionFieldVarying(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_SurfaceSectionFieldVarying

# Register StepElement_SurfaceSectionFieldVarying in _StepElement:
_StepElement.StepElement_SurfaceSectionFieldVarying_swigregister(StepElement_SurfaceSectionFieldVarying)

class StepElement_UniformSurfaceSection(StepElement_SurfaceSection):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    BendingThickness = _swig_new_instance_method(_StepElement.StepElement_UniformSurfaceSection_BendingThickness)
    Init = _swig_new_instance_method(_StepElement.StepElement_UniformSurfaceSection_Init)
    SetBendingThickness = _swig_new_instance_method(_StepElement.StepElement_UniformSurfaceSection_SetBendingThickness)
    SetShearThickness = _swig_new_instance_method(_StepElement.StepElement_UniformSurfaceSection_SetShearThickness)
    SetThickness = _swig_new_instance_method(_StepElement.StepElement_UniformSurfaceSection_SetThickness)
    ShearThickness = _swig_new_instance_method(_StepElement.StepElement_UniformSurfaceSection_ShearThickness)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_UniformSurfaceSection_swiginit(self, _StepElement.new_StepElement_UniformSurfaceSection(*args))
    Thickness = _swig_new_instance_method(_StepElement.StepElement_UniformSurfaceSection_Thickness)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_UniformSurfaceSection

# Register StepElement_UniformSurfaceSection in _StepElement:
_StepElement.StepElement_UniformSurfaceSection_swigregister(StepElement_UniformSurfaceSection)

class StepElement_Volume3dElementDescriptor(StepElement_ElementDescriptor):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Init = _swig_new_instance_method(_StepElement.StepElement_Volume3dElementDescriptor_Init)
    Purpose = _swig_new_instance_method(_StepElement.StepElement_Volume3dElementDescriptor_Purpose)
    SetPurpose = _swig_new_instance_method(_StepElement.StepElement_Volume3dElementDescriptor_SetPurpose)
    SetShape = _swig_new_instance_method(_StepElement.StepElement_Volume3dElementDescriptor_SetShape)
    Shape = _swig_new_instance_method(_StepElement.StepElement_Volume3dElementDescriptor_Shape)

    def __init__(self, *args):
        r"""
        * Empty constructor
        	:rtype: None
        """
        _StepElement.StepElement_Volume3dElementDescriptor_swiginit(self, _StepElement.new_StepElement_Volume3dElementDescriptor(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _StepElement.delete_StepElement_Volume3dElementDescriptor

# Register StepElement_Volume3dElementDescriptor in _StepElement:
_StepElement.StepElement_Volume3dElementDescriptor_swigregister(StepElement_Volume3dElementDescriptor)

class StepElement_HArray1OfVolumeElementPurpose(StepElement_Array1OfVolumeElementPurpose, 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):
        _StepElement.StepElement_HArray1OfVolumeElementPurpose_swiginit(self, _StepElement.new_StepElement_HArray1OfVolumeElementPurpose(*args))
    Array1 = _swig_new_instance_method(_StepElement.StepElement_HArray1OfVolumeElementPurpose_Array1)
    ChangeArray1 = _swig_new_instance_method(_StepElement.StepElement_HArray1OfVolumeElementPurpose_ChangeArray1)


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

    __swig_destroy__ = _StepElement.delete_StepElement_HArray1OfVolumeElementPurpose

# Register StepElement_HArray1OfVolumeElementPurpose in _StepElement:
_StepElement.StepElement_HArray1OfVolumeElementPurpose_swigregister(StepElement_HArray1OfVolumeElementPurpose)

class StepElement_HArray1OfHSequenceOfCurveElementPurposeMember(StepElement_Array1OfHSequenceOfCurveElementPurposeMember, 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):
        _StepElement.StepElement_HArray1OfHSequenceOfCurveElementPurposeMember_swiginit(self, _StepElement.new_StepElement_HArray1OfHSequenceOfCurveElementPurposeMember(*args))
    Array1 = _swig_new_instance_method(_StepElement.StepElement_HArray1OfHSequenceOfCurveElementPurposeMember_Array1)
    ChangeArray1 = _swig_new_instance_method(_StepElement.StepElement_HArray1OfHSequenceOfCurveElementPurposeMember_ChangeArray1)


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

    __swig_destroy__ = _StepElement.delete_StepElement_HArray1OfHSequenceOfCurveElementPurposeMember

# Register StepElement_HArray1OfHSequenceOfCurveElementPurposeMember in _StepElement:
_StepElement.StepElement_HArray1OfHSequenceOfCurveElementPurposeMember_swigregister(StepElement_HArray1OfHSequenceOfCurveElementPurposeMember)

class StepElement_HArray1OfSurfaceSection(StepElement_Array1OfSurfaceSection, 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):
        _StepElement.StepElement_HArray1OfSurfaceSection_swiginit(self, _StepElement.new_StepElement_HArray1OfSurfaceSection(*args))
    Array1 = _swig_new_instance_method(_StepElement.StepElement_HArray1OfSurfaceSection_Array1)
    ChangeArray1 = _swig_new_instance_method(_StepElement.StepElement_HArray1OfSurfaceSection_ChangeArray1)


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

    __swig_destroy__ = _StepElement.delete_StepElement_HArray1OfSurfaceSection

# Register StepElement_HArray1OfSurfaceSection in _StepElement:
_StepElement.StepElement_HArray1OfSurfaceSection_swigregister(StepElement_HArray1OfSurfaceSection)

class StepElement_HArray1OfCurveElementSectionDefinition(StepElement_Array1OfCurveElementSectionDefinition, 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):
        _StepElement.StepElement_HArray1OfCurveElementSectionDefinition_swiginit(self, _StepElement.new_StepElement_HArray1OfCurveElementSectionDefinition(*args))
    Array1 = _swig_new_instance_method(_StepElement.StepElement_HArray1OfCurveElementSectionDefinition_Array1)
    ChangeArray1 = _swig_new_instance_method(_StepElement.StepElement_HArray1OfCurveElementSectionDefinition_ChangeArray1)


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

    __swig_destroy__ = _StepElement.delete_StepElement_HArray1OfCurveElementSectionDefinition

# Register StepElement_HArray1OfCurveElementSectionDefinition in _StepElement:
_StepElement.StepElement_HArray1OfCurveElementSectionDefinition_swigregister(StepElement_HArray1OfCurveElementSectionDefinition)

class StepElement_HArray1OfMeasureOrUnspecifiedValue(StepElement_Array1OfMeasureOrUnspecifiedValue, 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):
        _StepElement.StepElement_HArray1OfMeasureOrUnspecifiedValue_swiginit(self, _StepElement.new_StepElement_HArray1OfMeasureOrUnspecifiedValue(*args))
    Array1 = _swig_new_instance_method(_StepElement.StepElement_HArray1OfMeasureOrUnspecifiedValue_Array1)
    ChangeArray1 = _swig_new_instance_method(_StepElement.StepElement_HArray1OfMeasureOrUnspecifiedValue_ChangeArray1)


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

    __swig_destroy__ = _StepElement.delete_StepElement_HArray1OfMeasureOrUnspecifiedValue

# Register StepElement_HArray1OfMeasureOrUnspecifiedValue in _StepElement:
_StepElement.StepElement_HArray1OfMeasureOrUnspecifiedValue_swigregister(StepElement_HArray1OfMeasureOrUnspecifiedValue)

class StepElement_HArray1OfHSequenceOfSurfaceElementPurposeMember(StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember, 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):
        _StepElement.StepElement_HArray1OfHSequenceOfSurfaceElementPurposeMember_swiginit(self, _StepElement.new_StepElement_HArray1OfHSequenceOfSurfaceElementPurposeMember(*args))
    Array1 = _swig_new_instance_method(_StepElement.StepElement_HArray1OfHSequenceOfSurfaceElementPurposeMember_Array1)
    ChangeArray1 = _swig_new_instance_method(_StepElement.StepElement_HArray1OfHSequenceOfSurfaceElementPurposeMember_ChangeArray1)


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

    __swig_destroy__ = _StepElement.delete_StepElement_HArray1OfHSequenceOfSurfaceElementPurposeMember

# Register StepElement_HArray1OfHSequenceOfSurfaceElementPurposeMember in _StepElement:
_StepElement.StepElement_HArray1OfHSequenceOfSurfaceElementPurposeMember_swigregister(StepElement_HArray1OfHSequenceOfSurfaceElementPurposeMember)

class StepElement_HArray1OfVolumeElementPurposeMember(StepElement_Array1OfVolumeElementPurposeMember, 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):
        _StepElement.StepElement_HArray1OfVolumeElementPurposeMember_swiginit(self, _StepElement.new_StepElement_HArray1OfVolumeElementPurposeMember(*args))
    Array1 = _swig_new_instance_method(_StepElement.StepElement_HArray1OfVolumeElementPurposeMember_Array1)
    ChangeArray1 = _swig_new_instance_method(_StepElement.StepElement_HArray1OfVolumeElementPurposeMember_ChangeArray1)


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

    __swig_destroy__ = _StepElement.delete_StepElement_HArray1OfVolumeElementPurposeMember

# Register StepElement_HArray1OfVolumeElementPurposeMember in _StepElement:
_StepElement.StepElement_HArray1OfVolumeElementPurposeMember_swigregister(StepElement_HArray1OfVolumeElementPurposeMember)

class StepElement_HArray1OfCurveElementEndReleasePacket(StepElement_Array1OfCurveElementEndReleasePacket, 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):
        _StepElement.StepElement_HArray1OfCurveElementEndReleasePacket_swiginit(self, _StepElement.new_StepElement_HArray1OfCurveElementEndReleasePacket(*args))
    Array1 = _swig_new_instance_method(_StepElement.StepElement_HArray1OfCurveElementEndReleasePacket_Array1)
    ChangeArray1 = _swig_new_instance_method(_StepElement.StepElement_HArray1OfCurveElementEndReleasePacket_ChangeArray1)


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

    __swig_destroy__ = _StepElement.delete_StepElement_HArray1OfCurveElementEndReleasePacket

# Register StepElement_HArray1OfCurveElementEndReleasePacket in _StepElement:
_StepElement.StepElement_HArray1OfCurveElementEndReleasePacket_swigregister(StepElement_HArray1OfCurveElementEndReleasePacket)

class StepElement_HArray2OfSurfaceElementPurposeMember(StepElement_Array2OfSurfaceElementPurposeMember, 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):
        _StepElement.StepElement_HArray2OfSurfaceElementPurposeMember_swiginit(self, _StepElement.new_StepElement_HArray2OfSurfaceElementPurposeMember(*args))
    Array2 = _swig_new_instance_method(_StepElement.StepElement_HArray2OfSurfaceElementPurposeMember_Array2)
    ChangeArray2 = _swig_new_instance_method(_StepElement.StepElement_HArray2OfSurfaceElementPurposeMember_ChangeArray2)


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

    __swig_destroy__ = _StepElement.delete_StepElement_HArray2OfSurfaceElementPurposeMember

# Register StepElement_HArray2OfSurfaceElementPurposeMember in _StepElement:
_StepElement.StepElement_HArray2OfSurfaceElementPurposeMember_swigregister(StepElement_HArray2OfSurfaceElementPurposeMember)

class StepElement_HArray2OfSurfaceElementPurpose(StepElement_Array2OfSurfaceElementPurpose, 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):
        _StepElement.StepElement_HArray2OfSurfaceElementPurpose_swiginit(self, _StepElement.new_StepElement_HArray2OfSurfaceElementPurpose(*args))
    Array2 = _swig_new_instance_method(_StepElement.StepElement_HArray2OfSurfaceElementPurpose_Array2)
    ChangeArray2 = _swig_new_instance_method(_StepElement.StepElement_HArray2OfSurfaceElementPurpose_ChangeArray2)


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

    __swig_destroy__ = _StepElement.delete_StepElement_HArray2OfSurfaceElementPurpose

# Register StepElement_HArray2OfSurfaceElementPurpose in _StepElement:
_StepElement.StepElement_HArray2OfSurfaceElementPurpose_swigregister(StepElement_HArray2OfSurfaceElementPurpose)

class StepElement_HArray2OfCurveElementPurposeMember(StepElement_Array2OfCurveElementPurposeMember, 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):
        _StepElement.StepElement_HArray2OfCurveElementPurposeMember_swiginit(self, _StepElement.new_StepElement_HArray2OfCurveElementPurposeMember(*args))
    Array2 = _swig_new_instance_method(_StepElement.StepElement_HArray2OfCurveElementPurposeMember_Array2)
    ChangeArray2 = _swig_new_instance_method(_StepElement.StepElement_HArray2OfCurveElementPurposeMember_ChangeArray2)


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

    __swig_destroy__ = _StepElement.delete_StepElement_HArray2OfCurveElementPurposeMember

# Register StepElement_HArray2OfCurveElementPurposeMember in _StepElement:
_StepElement.StepElement_HArray2OfCurveElementPurposeMember_swigregister(StepElement_HArray2OfCurveElementPurposeMember)

class StepElement_HSequenceOfCurveElementSectionDefinition(StepElement_SequenceOfCurveElementSectionDefinition, 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):
        _StepElement.StepElement_HSequenceOfCurveElementSectionDefinition_swiginit(self, _StepElement.new_StepElement_HSequenceOfCurveElementSectionDefinition(*args))
    Sequence = _swig_new_instance_method(_StepElement.StepElement_HSequenceOfCurveElementSectionDefinition_Sequence)
    Append = _swig_new_instance_method(_StepElement.StepElement_HSequenceOfCurveElementSectionDefinition_Append)
    ChangeSequence = _swig_new_instance_method(_StepElement.StepElement_HSequenceOfCurveElementSectionDefinition_ChangeSequence)


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

    __swig_destroy__ = _StepElement.delete_StepElement_HSequenceOfCurveElementSectionDefinition

# Register StepElement_HSequenceOfCurveElementSectionDefinition in _StepElement:
_StepElement.StepElement_HSequenceOfCurveElementSectionDefinition_swigregister(StepElement_HSequenceOfCurveElementSectionDefinition)

class StepElement_HSequenceOfCurveElementPurposeMember(StepElement_SequenceOfCurveElementPurposeMember, 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):
        _StepElement.StepElement_HSequenceOfCurveElementPurposeMember_swiginit(self, _StepElement.new_StepElement_HSequenceOfCurveElementPurposeMember(*args))
    Sequence = _swig_new_instance_method(_StepElement.StepElement_HSequenceOfCurveElementPurposeMember_Sequence)
    Append = _swig_new_instance_method(_StepElement.StepElement_HSequenceOfCurveElementPurposeMember_Append)
    ChangeSequence = _swig_new_instance_method(_StepElement.StepElement_HSequenceOfCurveElementPurposeMember_ChangeSequence)


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

    __swig_destroy__ = _StepElement.delete_StepElement_HSequenceOfCurveElementPurposeMember

# Register StepElement_HSequenceOfCurveElementPurposeMember in _StepElement:
_StepElement.StepElement_HSequenceOfCurveElementPurposeMember_swigregister(StepElement_HSequenceOfCurveElementPurposeMember)

class StepElement_HSequenceOfElementMaterial(StepElement_SequenceOfElementMaterial, 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):
        _StepElement.StepElement_HSequenceOfElementMaterial_swiginit(self, _StepElement.new_StepElement_HSequenceOfElementMaterial(*args))
    Sequence = _swig_new_instance_method(_StepElement.StepElement_HSequenceOfElementMaterial_Sequence)
    Append = _swig_new_instance_method(_StepElement.StepElement_HSequenceOfElementMaterial_Append)
    ChangeSequence = _swig_new_instance_method(_StepElement.StepElement_HSequenceOfElementMaterial_ChangeSequence)


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

    __swig_destroy__ = _StepElement.delete_StepElement_HSequenceOfElementMaterial

# Register StepElement_HSequenceOfElementMaterial in _StepElement:
_StepElement.StepElement_HSequenceOfElementMaterial_swigregister(StepElement_HSequenceOfElementMaterial)

class StepElement_HSequenceOfSurfaceElementPurposeMember(StepElement_SequenceOfSurfaceElementPurposeMember, 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):
        _StepElement.StepElement_HSequenceOfSurfaceElementPurposeMember_swiginit(self, _StepElement.new_StepElement_HSequenceOfSurfaceElementPurposeMember(*args))
    Sequence = _swig_new_instance_method(_StepElement.StepElement_HSequenceOfSurfaceElementPurposeMember_Sequence)
    Append = _swig_new_instance_method(_StepElement.StepElement_HSequenceOfSurfaceElementPurposeMember_Append)
    ChangeSequence = _swig_new_instance_method(_StepElement.StepElement_HSequenceOfSurfaceElementPurposeMember_ChangeSequence)


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

    __swig_destroy__ = _StepElement.delete_StepElement_HSequenceOfSurfaceElementPurposeMember

# Register StepElement_HSequenceOfSurfaceElementPurposeMember in _StepElement:
_StepElement.StepElement_HSequenceOfSurfaceElementPurposeMember_swigregister(StepElement_HSequenceOfSurfaceElementPurposeMember)



