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

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

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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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


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


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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


def process_exception(error, method_name, class_name):
    return _STEPCAFControl.process_exception(error, method_name, class_name)

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

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.StepBasic
import OCC.Core.TCollection
import OCC.Core.StepData
import OCC.Core.Interface
import OCC.Core.Message
import OCC.Core.OSD
import OCC.Core.TColStd
import OCC.Core.MoniTool
import OCC.Core.TopoDS
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.gp
import OCC.Core.Resource
import OCC.Core.StepShape
import OCC.Core.StepGeom
import OCC.Core.StepRepr
import OCC.Core.STEPControl
import OCC.Core.Transfer
import OCC.Core.TopTools
import OCC.Core.XSControl
import OCC.Core.IFSelect
import OCC.Core.Geom
import OCC.Core.GeomAbs
import OCC.Core.TColgp
import OCC.Core.Geom2d
import OCC.Core.DE
import OCC.Core.TDocStd
import OCC.Core.TDF
import OCC.Core.CDF
import OCC.Core.CDM
import OCC.Core.PCDM
import OCC.Core.Storage
import OCC.Core.XCAFDimTolObjects
import OCC.Core.StepDimTol
import OCC.Core.StepVisual
import OCC.Core.XCAFDoc
import OCC.Core.TDataStd
import OCC.Core.Quantity
import OCC.Core.UnitsMethods
import OCC.Core.XCAFNoteObjects
import OCC.Core.XCAFView
import OCC.Core.Graphic3d
import OCC.Core.BVH
import OCC.Core.Aspect
import OCC.Core.Image
import OCC.Core.Bnd
import OCC.Core.Media
import OCC.Core.STEPConstruct
import OCC.Core.StepAP203

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




def Handle_STEPCAFControl_ActorWrite_Create():
    return _STEPCAFControl.Handle_STEPCAFControl_ActorWrite_Create()

def Handle_STEPCAFControl_ActorWrite_DownCast(t):
    return _STEPCAFControl.Handle_STEPCAFControl_ActorWrite_DownCast(t)

def Handle_STEPCAFControl_ActorWrite_IsNull(t):
    return _STEPCAFControl.Handle_STEPCAFControl_ActorWrite_IsNull(t)

def Handle_STEPCAFControl_ConfigurationNode_Create():
    return _STEPCAFControl.Handle_STEPCAFControl_ConfigurationNode_Create()

def Handle_STEPCAFControl_ConfigurationNode_DownCast(t):
    return _STEPCAFControl.Handle_STEPCAFControl_ConfigurationNode_DownCast(t)

def Handle_STEPCAFControl_ConfigurationNode_IsNull(t):
    return _STEPCAFControl.Handle_STEPCAFControl_ConfigurationNode_IsNull(t)

def Handle_STEPCAFControl_Controller_Create():
    return _STEPCAFControl.Handle_STEPCAFControl_Controller_Create()

def Handle_STEPCAFControl_Controller_DownCast(t):
    return _STEPCAFControl.Handle_STEPCAFControl_Controller_DownCast(t)

def Handle_STEPCAFControl_Controller_IsNull(t):
    return _STEPCAFControl.Handle_STEPCAFControl_Controller_IsNull(t)

def Handle_STEPCAFControl_ExternFile_Create():
    return _STEPCAFControl.Handle_STEPCAFControl_ExternFile_Create()

def Handle_STEPCAFControl_ExternFile_DownCast(t):
    return _STEPCAFControl.Handle_STEPCAFControl_ExternFile_DownCast(t)

def Handle_STEPCAFControl_ExternFile_IsNull(t):
    return _STEPCAFControl.Handle_STEPCAFControl_ExternFile_IsNull(t)

def Handle_STEPCAFControl_Provider_Create():
    return _STEPCAFControl.Handle_STEPCAFControl_Provider_Create()

def Handle_STEPCAFControl_Provider_DownCast(t):
    return _STEPCAFControl.Handle_STEPCAFControl_Provider_DownCast(t)

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

    def begin(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_begin(self)

    def end(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_end(self)

    def cbegin(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_cbegin(self)

    def cend(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_cend(self)

    def __init__(self, *args):
        _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_swiginit(self, _STEPCAFControl.new_STEPCAFControl_DataMapOfLabelExternFile(*args))

    def Exchange(self, theOther):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_Exchange(self, theOther)

    def Assign(self, theOther):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_Assign(self, theOther)

    def Set(self, theOther):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_Set(self, theOther)

    def ReSize(self, N):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_UnBind(self, theKey)

    def Seek(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_Seek(self, theKey)

    def Find(self, *args):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile___call__(self, *args)

    def Clear(self, *args):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_Clear(self, *args)
    __swig_destroy__ = _STEPCAFControl.delete_STEPCAFControl_DataMapOfLabelExternFile

    def Size(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_Size(self)

# Register STEPCAFControl_DataMapOfLabelExternFile in _STEPCAFControl:
_STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_swigregister(STEPCAFControl_DataMapOfLabelExternFile)
class STEPCAFControl_DataMapOfLabelShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_begin(self)

    def end(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_end(self)

    def cbegin(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_cbegin(self)

    def cend(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_cend(self)

    def __init__(self, *args):
        _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_swiginit(self, _STEPCAFControl.new_STEPCAFControl_DataMapOfLabelShape(*args))

    def Exchange(self, theOther):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_Exchange(self, theOther)

    def Assign(self, theOther):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_Assign(self, theOther)

    def Set(self, theOther):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_Set(self, theOther)

    def ReSize(self, N):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_UnBind(self, theKey)

    def Seek(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_Seek(self, theKey)

    def Find(self, *args):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape___call__(self, *args)

    def Clear(self, *args):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_Clear(self, *args)
    __swig_destroy__ = _STEPCAFControl.delete_STEPCAFControl_DataMapOfLabelShape

    def Size(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_Size(self)

# Register STEPCAFControl_DataMapOfLabelShape in _STEPCAFControl:
_STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_swigregister(STEPCAFControl_DataMapOfLabelShape)
class STEPCAFControl_DataMapOfPDExternFile(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_begin(self)

    def end(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_end(self)

    def cbegin(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_cbegin(self)

    def cend(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_cend(self)

    def __init__(self, *args):
        _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_swiginit(self, _STEPCAFControl.new_STEPCAFControl_DataMapOfPDExternFile(*args))

    def Exchange(self, theOther):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_Exchange(self, theOther)

    def Assign(self, theOther):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_Assign(self, theOther)

    def Set(self, theOther):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_Set(self, theOther)

    def ReSize(self, N):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_UnBind(self, theKey)

    def Seek(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_Seek(self, theKey)

    def Find(self, *args):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile___call__(self, *args)

    def Clear(self, *args):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_Clear(self, *args)
    __swig_destroy__ = _STEPCAFControl.delete_STEPCAFControl_DataMapOfPDExternFile

    def Size(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_Size(self)

# Register STEPCAFControl_DataMapOfPDExternFile in _STEPCAFControl:
_STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_swigregister(STEPCAFControl_DataMapOfPDExternFile)
class STEPCAFControl_DataMapOfSDRExternFile(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_begin(self)

    def end(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_end(self)

    def cbegin(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_cbegin(self)

    def cend(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_cend(self)

    def __init__(self, *args):
        _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_swiginit(self, _STEPCAFControl.new_STEPCAFControl_DataMapOfSDRExternFile(*args))

    def Exchange(self, theOther):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_Exchange(self, theOther)

    def Assign(self, theOther):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_Assign(self, theOther)

    def Set(self, theOther):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_Set(self, theOther)

    def ReSize(self, N):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_UnBind(self, theKey)

    def Seek(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_Seek(self, theKey)

    def Find(self, *args):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile___call__(self, *args)

    def Clear(self, *args):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_Clear(self, *args)
    __swig_destroy__ = _STEPCAFControl.delete_STEPCAFControl_DataMapOfSDRExternFile

    def Size(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_Size(self)

# Register STEPCAFControl_DataMapOfSDRExternFile in _STEPCAFControl:
_STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_swigregister(STEPCAFControl_DataMapOfSDRExternFile)
class STEPCAFControl_DataMapOfShapePD(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_begin(self)

    def end(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_end(self)

    def cbegin(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_cbegin(self)

    def cend(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_cend(self)

    def __init__(self, *args):
        _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_swiginit(self, _STEPCAFControl.new_STEPCAFControl_DataMapOfShapePD(*args))

    def Exchange(self, theOther):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_Exchange(self, theOther)

    def Assign(self, theOther):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_Assign(self, theOther)

    def Set(self, theOther):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_Set(self, theOther)

    def ReSize(self, N):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_UnBind(self, theKey)

    def Seek(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_Seek(self, theKey)

    def Find(self, *args):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD___call__(self, *args)

    def Clear(self, *args):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_Clear(self, *args)
    __swig_destroy__ = _STEPCAFControl.delete_STEPCAFControl_DataMapOfShapePD

    def Size(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_Size(self)

# Register STEPCAFControl_DataMapOfShapePD in _STEPCAFControl:
_STEPCAFControl.STEPCAFControl_DataMapOfShapePD_swigregister(STEPCAFControl_DataMapOfShapePD)
class STEPCAFControl_DataMapOfShapeSDR(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_begin(self)

    def end(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_end(self)

    def cbegin(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_cbegin(self)

    def cend(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_cend(self)

    def __init__(self, *args):
        _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_swiginit(self, _STEPCAFControl.new_STEPCAFControl_DataMapOfShapeSDR(*args))

    def Exchange(self, theOther):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_Exchange(self, theOther)

    def Assign(self, theOther):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_Assign(self, theOther)

    def Set(self, theOther):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_Set(self, theOther)

    def ReSize(self, N):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_UnBind(self, theKey)

    def Seek(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_Seek(self, theKey)

    def Find(self, *args):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR___call__(self, *args)

    def Clear(self, *args):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_Clear(self, *args)
    __swig_destroy__ = _STEPCAFControl.delete_STEPCAFControl_DataMapOfShapeSDR

    def Size(self):
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_Size(self)

# Register STEPCAFControl_DataMapOfShapeSDR in _STEPCAFControl:
_STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_swigregister(STEPCAFControl_DataMapOfShapeSDR)
class STEPCAFControl_ActorWrite(OCC.Core.STEPControl.STEPControl_ActorWrite):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _STEPCAFControl.STEPCAFControl_ActorWrite_swiginit(self, _STEPCAFControl.new_STEPCAFControl_ActorWrite(*args))

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

        Description
        -----------
        Clears map of shapes registered as assemblies.

        """
        return _STEPCAFControl.STEPCAFControl_ActorWrite_ClearMap(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Registers shape to be written as assembly the shape should be topods_compound (else does nothing).

        """
        return _STEPCAFControl.STEPCAFControl_ActorWrite_RegisterAssembly(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Set standard mode of work in standard mode actor (default) behaves exactly as its ancestor, also map is cleared.

        """
        return _STEPCAFControl.STEPCAFControl_ActorWrite_SetStdMode(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _STEPCAFControl.delete_STEPCAFControl_ActorWrite

# Register STEPCAFControl_ActorWrite in _STEPCAFControl:
_STEPCAFControl.STEPCAFControl_ActorWrite_swigregister(STEPCAFControl_ActorWrite)
class STEPCAFControl_ConfigurationNode(OCC.Core.DE.DE_ConfigurationNode):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AngleUnitMode_File = _STEPCAFControl.STEPCAFControl_ConfigurationNode_AngleUnitMode_File
    AngleUnitMode_Rad = _STEPCAFControl.STEPCAFControl_ConfigurationNode_AngleUnitMode_Rad
    AngleUnitMode_Deg = _STEPCAFControl.STEPCAFControl_ConfigurationNode_AngleUnitMode_Deg
    RWMode_Tessellated_Off = _STEPCAFControl.STEPCAFControl_ConfigurationNode_RWMode_Tessellated_Off
    RWMode_Tessellated_On = _STEPCAFControl.STEPCAFControl_ConfigurationNode_RWMode_Tessellated_On
    RWMode_Tessellated_OnNoBRep = _STEPCAFControl.STEPCAFControl_ConfigurationNode_RWMode_Tessellated_OnNoBRep
    ReadMode_AssemblyLevel_All = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_AssemblyLevel_All
    ReadMode_AssemblyLevel_Assembly = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_AssemblyLevel_Assembly
    ReadMode_AssemblyLevel_Structure = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_AssemblyLevel_Structure
    ReadMode_AssemblyLevel_Shape = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_AssemblyLevel_Shape
    ReadMode_BSplineContinuity_C0 = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_BSplineContinuity_C0
    ReadMode_BSplineContinuity_C1 = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_BSplineContinuity_C1
    ReadMode_BSplineContinuity_C2 = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_BSplineContinuity_C2
    ReadMode_MaxPrecision_Preferred = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_MaxPrecision_Preferred
    ReadMode_MaxPrecision_Forced = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_MaxPrecision_Forced
    ReadMode_Precision_File = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_Precision_File
    ReadMode_Precision_User = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_Precision_User
    ReadMode_ProductContext_All = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_ProductContext_All
    ReadMode_ProductContext_Design = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_ProductContext_Design
    ReadMode_ProductContext_Analysis = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_ProductContext_Analysis
    ReadMode_ShapeRepr_All = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_ShapeRepr_All
    ReadMode_ShapeRepr_ABSR = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_ShapeRepr_ABSR
    ReadMode_ShapeRepr_MSSR = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_ShapeRepr_MSSR
    ReadMode_ShapeRepr_GBSSR = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_ShapeRepr_GBSSR
    ReadMode_ShapeRepr_FBSR = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_ShapeRepr_FBSR
    ReadMode_ShapeRepr_EBWSR = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_ShapeRepr_EBWSR
    ReadMode_ShapeRepr_GBWSR = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_ShapeRepr_GBWSR
    ReadMode_SurfaceCurve_Default = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_SurfaceCurve_Default
    ReadMode_SurfaceCurve_2DUse_Preferred = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_SurfaceCurve_2DUse_Preferred
    ReadMode_SurfaceCurve_2DUse_Forced = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_SurfaceCurve_2DUse_Forced
    ReadMode_SurfaceCurve_3DUse_Preferred = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_SurfaceCurve_3DUse_Preferred
    ReadMode_SurfaceCurve_3DUse_Forced = _STEPCAFControl.STEPCAFControl_ConfigurationNode_ReadMode_SurfaceCurve_3DUse_Forced
    WriteMode_Assembly_Off = _STEPCAFControl.STEPCAFControl_ConfigurationNode_WriteMode_Assembly_Off
    WriteMode_Assembly_On = _STEPCAFControl.STEPCAFControl_ConfigurationNode_WriteMode_Assembly_On
    WriteMode_Assembly_Auto = _STEPCAFControl.STEPCAFControl_ConfigurationNode_WriteMode_Assembly_Auto
    WriteMode_PrecisionMode_Least = _STEPCAFControl.STEPCAFControl_ConfigurationNode_WriteMode_PrecisionMode_Least
    WriteMode_PrecisionMode_Average = _STEPCAFControl.STEPCAFControl_ConfigurationNode_WriteMode_PrecisionMode_Average
    WriteMode_PrecisionMode_Greatest = _STEPCAFControl.STEPCAFControl_ConfigurationNode_WriteMode_PrecisionMode_Greatest
    WriteMode_PrecisionMode_Session = _STEPCAFControl.STEPCAFControl_ConfigurationNode_WriteMode_PrecisionMode_Session
    WriteMode_StepSchema_AP214CD = _STEPCAFControl.STEPCAFControl_ConfigurationNode_WriteMode_StepSchema_AP214CD
    WriteMode_StepSchema_AP214DIS = _STEPCAFControl.STEPCAFControl_ConfigurationNode_WriteMode_StepSchema_AP214DIS
    WriteMode_StepSchema_AP203 = _STEPCAFControl.STEPCAFControl_ConfigurationNode_WriteMode_StepSchema_AP203
    WriteMode_StepSchema_AP214IS = _STEPCAFControl.STEPCAFControl_ConfigurationNode_WriteMode_StepSchema_AP214IS
    WriteMode_StepSchema_AP242DIS = _STEPCAFControl.STEPCAFControl_ConfigurationNode_WriteMode_StepSchema_AP242DIS
    WriteMode_VertexMode_OneCompound = _STEPCAFControl.STEPCAFControl_ConfigurationNode_WriteMode_VertexMode_OneCompound
    WriteMode_VertexMode_SingleVertex = _STEPCAFControl.STEPCAFControl_ConfigurationNode_WriteMode_VertexMode_SingleVertex


    class AngleUnitMode(IntEnum):
    	AngleUnitMode_File = 0
    	AngleUnitMode_Rad = 1
    	AngleUnitMode_Deg = 2
    AngleUnitMode_File = AngleUnitMode.AngleUnitMode_File
    AngleUnitMode_Rad = AngleUnitMode.AngleUnitMode_Rad
    AngleUnitMode_Deg = AngleUnitMode.AngleUnitMode_Deg

    class RWMode_Tessellated(IntEnum):
    	RWMode_Tessellated_Off = 0
    	RWMode_Tessellated_On = 1
    	RWMode_Tessellated_OnNoBRep = 2
    RWMode_Tessellated_Off = RWMode_Tessellated.RWMode_Tessellated_Off
    RWMode_Tessellated_On = RWMode_Tessellated.RWMode_Tessellated_On
    RWMode_Tessellated_OnNoBRep = RWMode_Tessellated.RWMode_Tessellated_OnNoBRep

    class ReadMode_AssemblyLevel(IntEnum):
    	ReadMode_AssemblyLevel_All = 1
    	ReadMode_AssemblyLevel_Assembly = 2
    	ReadMode_AssemblyLevel_Structure = 3
    	ReadMode_AssemblyLevel_Shape = 4
    ReadMode_AssemblyLevel_All = ReadMode_AssemblyLevel.ReadMode_AssemblyLevel_All
    ReadMode_AssemblyLevel_Assembly = ReadMode_AssemblyLevel.ReadMode_AssemblyLevel_Assembly
    ReadMode_AssemblyLevel_Structure = ReadMode_AssemblyLevel.ReadMode_AssemblyLevel_Structure
    ReadMode_AssemblyLevel_Shape = ReadMode_AssemblyLevel.ReadMode_AssemblyLevel_Shape

    class ReadMode_BSplineContinuity(IntEnum):
    	ReadMode_BSplineContinuity_C0 = 0
    	ReadMode_BSplineContinuity_C1 = 1
    	ReadMode_BSplineContinuity_C2 = 2
    ReadMode_BSplineContinuity_C0 = ReadMode_BSplineContinuity.ReadMode_BSplineContinuity_C0
    ReadMode_BSplineContinuity_C1 = ReadMode_BSplineContinuity.ReadMode_BSplineContinuity_C1
    ReadMode_BSplineContinuity_C2 = ReadMode_BSplineContinuity.ReadMode_BSplineContinuity_C2

    class ReadMode_MaxPrecision(IntEnum):
    	ReadMode_MaxPrecision_Preferred = 0
    	ReadMode_MaxPrecision_Forced = 1
    ReadMode_MaxPrecision_Preferred = ReadMode_MaxPrecision.ReadMode_MaxPrecision_Preferred
    ReadMode_MaxPrecision_Forced = ReadMode_MaxPrecision.ReadMode_MaxPrecision_Forced

    class ReadMode_Precision(IntEnum):
    	ReadMode_Precision_File = 0
    	ReadMode_Precision_User = 1
    ReadMode_Precision_File = ReadMode_Precision.ReadMode_Precision_File
    ReadMode_Precision_User = ReadMode_Precision.ReadMode_Precision_User

    class ReadMode_ProductContext(IntEnum):
    	ReadMode_ProductContext_All = 1
    	ReadMode_ProductContext_Design = 2
    	ReadMode_ProductContext_Analysis = 3
    ReadMode_ProductContext_All = ReadMode_ProductContext.ReadMode_ProductContext_All
    ReadMode_ProductContext_Design = ReadMode_ProductContext.ReadMode_ProductContext_Design
    ReadMode_ProductContext_Analysis = ReadMode_ProductContext.ReadMode_ProductContext_Analysis

    class ReadMode_ShapeRepr(IntEnum):
    	ReadMode_ShapeRepr_All = 1
    	ReadMode_ShapeRepr_ABSR = 2
    	ReadMode_ShapeRepr_MSSR = 3
    	ReadMode_ShapeRepr_GBSSR = 4
    	ReadMode_ShapeRepr_FBSR = 5
    	ReadMode_ShapeRepr_EBWSR = 6
    	ReadMode_ShapeRepr_GBWSR = 7
    ReadMode_ShapeRepr_All = ReadMode_ShapeRepr.ReadMode_ShapeRepr_All
    ReadMode_ShapeRepr_ABSR = ReadMode_ShapeRepr.ReadMode_ShapeRepr_ABSR
    ReadMode_ShapeRepr_MSSR = ReadMode_ShapeRepr.ReadMode_ShapeRepr_MSSR
    ReadMode_ShapeRepr_GBSSR = ReadMode_ShapeRepr.ReadMode_ShapeRepr_GBSSR
    ReadMode_ShapeRepr_FBSR = ReadMode_ShapeRepr.ReadMode_ShapeRepr_FBSR
    ReadMode_ShapeRepr_EBWSR = ReadMode_ShapeRepr.ReadMode_ShapeRepr_EBWSR
    ReadMode_ShapeRepr_GBWSR = ReadMode_ShapeRepr.ReadMode_ShapeRepr_GBWSR

    class ReadMode_SurfaceCurve(IntEnum):
    	ReadMode_SurfaceCurve_Default = 0
    	ReadMode_SurfaceCurve_2DUse_Preferred = 2
    	ReadMode_SurfaceCurve_2DUse_Forced = - 2
    	ReadMode_SurfaceCurve_3DUse_Preferred = 3
    	ReadMode_SurfaceCurve_3DUse_Forced = - 3
    ReadMode_SurfaceCurve_Default = ReadMode_SurfaceCurve.ReadMode_SurfaceCurve_Default
    ReadMode_SurfaceCurve_2DUse_Preferred = ReadMode_SurfaceCurve.ReadMode_SurfaceCurve_2DUse_Preferred
    ReadMode_SurfaceCurve_2DUse_Forced = ReadMode_SurfaceCurve.ReadMode_SurfaceCurve_2DUse_Forced
    ReadMode_SurfaceCurve_3DUse_Preferred = ReadMode_SurfaceCurve.ReadMode_SurfaceCurve_3DUse_Preferred
    ReadMode_SurfaceCurve_3DUse_Forced = ReadMode_SurfaceCurve.ReadMode_SurfaceCurve_3DUse_Forced

    class WriteMode_Assembly(IntEnum):
    	WriteMode_Assembly_Off = 0
    	WriteMode_Assembly_On = 1
    	WriteMode_Assembly_Auto = 2
    WriteMode_Assembly_Off = WriteMode_Assembly.WriteMode_Assembly_Off
    WriteMode_Assembly_On = WriteMode_Assembly.WriteMode_Assembly_On
    WriteMode_Assembly_Auto = WriteMode_Assembly.WriteMode_Assembly_Auto

    class WriteMode_PrecisionMode(IntEnum):
    	WriteMode_PrecisionMode_Least = - 1
    	WriteMode_PrecisionMode_Average = 0
    	WriteMode_PrecisionMode_Greatest = 1
    	WriteMode_PrecisionMode_Session = 2
    WriteMode_PrecisionMode_Least = WriteMode_PrecisionMode.WriteMode_PrecisionMode_Least
    WriteMode_PrecisionMode_Average = WriteMode_PrecisionMode.WriteMode_PrecisionMode_Average
    WriteMode_PrecisionMode_Greatest = WriteMode_PrecisionMode.WriteMode_PrecisionMode_Greatest
    WriteMode_PrecisionMode_Session = WriteMode_PrecisionMode.WriteMode_PrecisionMode_Session

    class WriteMode_StepSchema(IntEnum):
    	WriteMode_StepSchema_AP214CD = 1
    	WriteMode_StepSchema_AP214DIS = 2
    	WriteMode_StepSchema_AP203 = 3
    	WriteMode_StepSchema_AP214IS = 4
    	WriteMode_StepSchema_AP242DIS = 5
    WriteMode_StepSchema_AP214CD = WriteMode_StepSchema.WriteMode_StepSchema_AP214CD
    WriteMode_StepSchema_AP214DIS = WriteMode_StepSchema.WriteMode_StepSchema_AP214DIS
    WriteMode_StepSchema_AP203 = WriteMode_StepSchema.WriteMode_StepSchema_AP203
    WriteMode_StepSchema_AP214IS = WriteMode_StepSchema.WriteMode_StepSchema_AP214IS
    WriteMode_StepSchema_AP242DIS = WriteMode_StepSchema.WriteMode_StepSchema_AP242DIS

    class WriteMode_VertexMode(IntEnum):
    	WriteMode_VertexMode_OneCompound = 0
    	WriteMode_VertexMode_SingleVertex = 1
    WriteMode_VertexMode_OneCompound = WriteMode_VertexMode.WriteMode_VertexMode_OneCompound
    WriteMode_VertexMode_SingleVertex = WriteMode_VertexMode.WriteMode_VertexMode_SingleVertex

    InternalParameters = property(_STEPCAFControl.STEPCAFControl_ConfigurationNode_InternalParameters_get, _STEPCAFControl.STEPCAFControl_ConfigurationNode_InternalParameters_set)

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

        Description
        -----------
        Initializes all field by default.

        Parameters
        ----------
        theNode: STEPCAFControl_ConfigurationNode

        Return
        -------
        None

        Description
        -----------
        Copies values of all fields @param[in] thenode object to copy.

        """
        _STEPCAFControl.STEPCAFControl_ConfigurationNode_swiginit(self, _STEPCAFControl.new_STEPCAFControl_ConfigurationNode(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _STEPCAFControl.delete_STEPCAFControl_ConfigurationNode

# Register STEPCAFControl_ConfigurationNode in _STEPCAFControl:
_STEPCAFControl.STEPCAFControl_ConfigurationNode_swigregister(STEPCAFControl_ConfigurationNode)
class STEPCAFControl_Controller(OCC.Core.STEPControl.STEPControl_Controller):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Initializes the use of step norm (the first time).

        """
        _STEPCAFControl.STEPCAFControl_Controller_swiginit(self, _STEPCAFControl.new_STEPCAFControl_Controller(*args))

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

        Description
        -----------
        Standard initialisation. it creates a controller for step-xcaf and records it to various names, available to select it later returns true when done, false if could not be done.

        """
        return _STEPCAFControl.STEPCAFControl_Controller_Init(*args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _STEPCAFControl.delete_STEPCAFControl_Controller

# Register STEPCAFControl_Controller in _STEPCAFControl:
_STEPCAFControl.STEPCAFControl_Controller_swigregister(STEPCAFControl_Controller)
class STEPCAFControl_ExternFile(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates an empty structure.

        """
        _STEPCAFControl.STEPCAFControl_ExternFile_swiginit(self, _STEPCAFControl.new_STEPCAFControl_ExternFile(*args))

    def GetLabel(self, *args):
        r"""
        Return
        -------
        TDF_Label

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

        """
        return _STEPCAFControl.STEPCAFControl_ExternFile_GetLabel(self, *args)

    def GetLoadStatus(self, *args):
        r"""
        Return
        -------
        IFSelect_ReturnStatus

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

        """
        return _STEPCAFControl.STEPCAFControl_ExternFile_GetLoadStatus(self, *args)

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

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

        """
        return _STEPCAFControl.STEPCAFControl_ExternFile_GetName(self, *args)

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

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

        """
        return _STEPCAFControl.STEPCAFControl_ExternFile_GetTransferStatus(self, *args)

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

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

        """
        return _STEPCAFControl.STEPCAFControl_ExternFile_GetWS(self, *args)

    def GetWriteStatus(self, *args):
        r"""
        Return
        -------
        IFSelect_ReturnStatus

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

        """
        return _STEPCAFControl.STEPCAFControl_ExternFile_GetWriteStatus(self, *args)

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

        Parameters
        ----------
        L: TDF_Label

        Return
        -------
        None

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

        """
        return _STEPCAFControl.STEPCAFControl_ExternFile_SetLabel(self, *args)

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

        Parameters
        ----------
        stat: IFSelect_ReturnStatus

        Return
        -------
        None

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

        """
        return _STEPCAFControl.STEPCAFControl_ExternFile_SetLoadStatus(self, *args)

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

        Parameters
        ----------
        name: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _STEPCAFControl.STEPCAFControl_ExternFile_SetName(self, *args)

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

        Parameters
        ----------
        isok: bool

        Return
        -------
        None

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

        """
        return _STEPCAFControl.STEPCAFControl_ExternFile_SetTransferStatus(self, *args)

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

        Parameters
        ----------
        WS: XSControl_WorkSession

        Return
        -------
        None

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

        """
        return _STEPCAFControl.STEPCAFControl_ExternFile_SetWS(self, *args)

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

        Parameters
        ----------
        stat: IFSelect_ReturnStatus

        Return
        -------
        None

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

        """
        return _STEPCAFControl.STEPCAFControl_ExternFile_SetWriteStatus(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _STEPCAFControl.delete_STEPCAFControl_ExternFile

# Register STEPCAFControl_ExternFile in _STEPCAFControl:
_STEPCAFControl.STEPCAFControl_ExternFile_swigregister(STEPCAFControl_ExternFile)
class STEPCAFControl_GDTProperty(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _STEPCAFControl.STEPCAFControl_GDTProperty_swiginit(self, _STEPCAFControl.new_STEPCAFControl_GDTProperty(*args))

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

        Parameters
        ----------
        theModifiers: XCAFDimTolObjects_DatumModifiersSequence
        theModifWithVal: XCAFDimTolObjects_DatumModifWithValue
        theValue: float
        theUnit: StepBasic_Unit

        Return
        -------
        opencascade::handle<StepDimTol_HArray1OfDatumReferenceModifier>

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

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDatumRefModifiers(*args)

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

        Parameters
        ----------
        theDatumType: XCAFDimTolObjects_DatumTargetType

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

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

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDatumTargetName(*args)

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

        Parameters
        ----------
        theDescription: TCollection_HAsciiString

        Return
        -------
        theType: XCAFDimTolObjects_DatumTargetType

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

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDatumTargetType(*args)

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

        Parameters
        ----------
        theLAF: StepShape_LimitsAndFits

        Return
        -------
        theHolle: bool
        theFV: XCAFDimTolObjects_DimensionFormVariance
        theG: XCAFDimTolObjects_DimensionGrade

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

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimClassOfTolerance(*args)

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

        Parameters
        ----------
        theModifier: XCAFDimTolObjects_DimensionModif

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

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

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimModifierName(*args)

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

        Parameters
        ----------
        theCRI: StepRepr_CompoundRepresentationItem
        theModifiers: XCAFDimTolObjects_DimensionModifiersSequence

        Return
        -------
        None

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

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimModifiers(*args)

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

        Parameters
        ----------
        theQualifier: XCAFDimTolObjects_DimensionQualifier

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

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

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimQualifierName(*args)

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

        Parameters
        ----------
        theDescription: TCollection_HAsciiString

        Return
        -------
        theType: XCAFDimTolObjects_DimensionQualifier

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

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimQualifierType(*args)

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

        Parameters
        ----------
        theName: TCollection_HAsciiString

        Return
        -------
        theType: XCAFDimTolObjects_DimensionType

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

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimType(*args)

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

        Parameters
        ----------
        theType: XCAFDimTolObjects_DimensionType

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

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

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimTypeName(*args)

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

        Parameters
        ----------
        theType: XCAFDimTolObjects_GeomToleranceType

        Return
        -------
        opencascade::handle<StepDimTol_GeometricTolerance>

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

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetGeomTolerance(*args)

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

        Parameters
        ----------
        theModifier: XCAFDimTolObjects_GeomToleranceModif

        Return
        -------
        StepDimTol_GeometricToleranceModifier

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

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetGeomToleranceModifier(*args)

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

        Parameters
        ----------
        theType: XCAFDimTolObjects_GeomToleranceType

        Return
        -------
        StepDimTol_GeometricToleranceType

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

        Parameters
        ----------
        theType: StepDimTol_GeometricToleranceType

        Return
        -------
        XCAFDimTolObjects_GeomToleranceType

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

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetGeomToleranceType(*args)

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

        Parameters
        ----------
        theHole: bool
        theFormVariance: XCAFDimTolObjects_DimensionFormVariance
        theGrade: XCAFDimTolObjects_DimensionGrade

        Return
        -------
        opencascade::handle<StepShape_LimitsAndFits>

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

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetLimitsAndFits(*args)

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

        Parameters
        ----------
        theShape: TopoDS_Shape

        Return
        -------
        opencascade::handle<StepVisual_TessellatedGeometricSet>

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

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetTessellation(*args)

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

        Parameters
        ----------
        theDescription: TCollection_HAsciiString

        Return
        -------
        theType: XCAFDimTolObjects_GeomToleranceTypeValue

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

        Parameters
        ----------
        theType: XCAFDimTolObjects_GeomToleranceTypeValue

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

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

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetTolValueType(*args)

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

        Parameters
        ----------
        theType: XCAFDimTolObjects_DimensionType

        Return
        -------
        bool

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

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_IsDimensionalLocation(*args)

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

        Parameters
        ----------
        theType: XCAFDimTolObjects_DimensionType

        Return
        -------
        bool

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

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_IsDimensionalSize(*args)

    __repr__ = _dumps_object

    __swig_destroy__ = _STEPCAFControl.delete_STEPCAFControl_GDTProperty

# Register STEPCAFControl_GDTProperty in _STEPCAFControl:
_STEPCAFControl.STEPCAFControl_GDTProperty_swigregister(STEPCAFControl_GDTProperty)
class STEPCAFControl_Provider(OCC.Core.DE.DE_Provider):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Default constructor configure translation process with global configuration.

        Parameters
        ----------
        theNode: DE_ConfigurationNode

        Return
        -------
        None

        Description
        -----------
        Configure translation process @param[in] thenode object to copy.

        """
        _STEPCAFControl.STEPCAFControl_Provider_swiginit(self, _STEPCAFControl.new_STEPCAFControl_Provider(*args))

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

        Parameters
        ----------
        thePath: str
        theDocument: TDocStd_Document
        theWS: XSControl_WorkSession
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Reads a cad file, according internal configuration @param[in] thepath path to the import cad file @param[out] thedocument document to save result @param[in] thews current work session @param theprogress[in] progress indicator return true if read operation has ended correctly.

        Parameters
        ----------
        thePath: str
        theDocument: TDocStd_Document
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Reads a cad file, according internal configuration @param[in] thepath path to the import cad file @param[out] thedocument document to save result @param theprogress[in] progress indicator return true if read operation has ended correctly.

        Parameters
        ----------
        thePath: str
        theShape: TopoDS_Shape
        theWS: XSControl_WorkSession
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Reads a cad file, according internal configuration @param[in] thepath path to the import cad file @param[out] theshape shape to save result @param[in] thews current work session @param theprogress[in] progress indicator return true if read operation has ended correctly.

        Parameters
        ----------
        thePath: str
        theShape: TopoDS_Shape
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Reads a cad file, according internal configuration @param[in] thepath path to the import cad file @param[out] theshape shape to save result @param theprogress[in] progress indicator return true if read operation has ended correctly.

        """
        return _STEPCAFControl.STEPCAFControl_Provider_Read(self, *args)

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

        Parameters
        ----------
        thePath: str
        theDocument: TDocStd_Document
        theWS: XSControl_WorkSession
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Writes a cad file, according internal configuration @param[in] thepath path to the export cad file @param[out] thedocument document to export @param[in] thews current work session @param theprogress[in] progress indicator return true if write operation has ended correctly.

        Parameters
        ----------
        thePath: str
        theDocument: TDocStd_Document
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Writes a cad file, according internal configuration @param[in] thepath path to the export cad file @param[out] thedocument document to export @param theprogress[in] progress indicator return true if write operation has ended correctly.

        Parameters
        ----------
        thePath: str
        theShape: TopoDS_Shape
        theWS: XSControl_WorkSession
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Writes a cad file, according internal configuration @param[in] thepath path to the export cad file @param[out] theshape shape to export @param[in] thews current work session @param theprogress[in] progress indicator return true if write operation has ended correctly.

        Parameters
        ----------
        thePath: str
        theShape: TopoDS_Shape
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Writes a cad file, according internal configuration @param[in] thepath path to the export cad file @param[out] theshape shape to export @param theprogress[in] progress indicator return true if write operation has ended correctly.

        """
        return _STEPCAFControl.STEPCAFControl_Provider_Write(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _STEPCAFControl.delete_STEPCAFControl_Provider

# Register STEPCAFControl_Provider in _STEPCAFControl:
_STEPCAFControl.STEPCAFControl_Provider_swigregister(STEPCAFControl_Provider)
class STEPCAFControl_Reader(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates a reader with an empty step model and sets colormode, layermode, namemode and propsmode to standard_true.

        Parameters
        ----------
        WS: XSControl_WorkSession
        scratch: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Creates a reader tool and attaches it to an already existing session clears the session if it was not yet set for step.

        """
        _STEPCAFControl.STEPCAFControl_Reader_swiginit(self, _STEPCAFControl.new_STEPCAFControl_Reader(*args))

    def ChangeReader(self, *args):
        r"""
        Return
        -------
        STEPControl_Reader

        Description
        -----------
        Returns basic reader.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_ChangeReader(self, *args)

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

        Parameters
        ----------
        name: str
        ef: STEPCAFControl_ExternFile

        Return
        -------
        bool

        Description
        -----------
        Returns data on external file by its name returns false if no external file with given name is read.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_ExternFile(self, *args)

    def ExternFiles(self, *args):
        r"""
        Return
        -------
        NCollection_DataMap<TCollection_AsciiString, opencascade::handle<STEPCAFControl_ExternFile>>

        Description
        -----------
        Returns data on external files returns null handle if no external files are read.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_ExternFiles(self, *args)

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

        Parameters
        ----------
        NAUO: StepRepr_NextAssemblyUsageOccurrence
        STool: XCAFDoc_ShapeTool
        Tool: STEPConstruct_Tool
        ShapeLabelMap: XCAFDoc_DataMapOfShapeLabel

        Return
        -------
        TDF_Label

        Description
        -----------
        Returns label of instance of an assembly component corresponding to a given nauo.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_FindInstance(*args)

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

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

        """
        return _STEPCAFControl.STEPCAFControl_Reader_GetColorMode(self, *args)

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

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

        """
        return _STEPCAFControl.STEPCAFControl_Reader_GetGDTMode(self, *args)

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

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

        """
        return _STEPCAFControl.STEPCAFControl_Reader_GetLayerMode(self, *args)

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

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

        """
        return _STEPCAFControl.STEPCAFControl_Reader_GetMatMode(self, *args)

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

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

        """
        return _STEPCAFControl.STEPCAFControl_Reader_GetNameMode(self, *args)

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

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

        """
        return _STEPCAFControl.STEPCAFControl_Reader_GetPropsMode(self, *args)

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

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

        """
        return _STEPCAFControl.STEPCAFControl_Reader_GetSHUOMode(self, *args)

    def GetShapeLabelMap(self, *args):
        r"""
        Return
        -------
        XCAFDoc_DataMapOfShapeLabel

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

        """
        return _STEPCAFControl.STEPCAFControl_Reader_GetShapeLabelMap(self, *args)

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

        Description
        -----------
        Get view mode.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_GetViewMode(self, *args)

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

        Parameters
        ----------
        WS: XSControl_WorkSession
        scratch: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Clears the internal data structures and attaches to a new session clears the session if it was not yet set for step.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_Init(self, *args)

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

        Description
        -----------
        Returns number of roots recognized for transfer shortcut for reader().nbrootsfortransfer().

        """
        return _STEPCAFControl.STEPCAFControl_Reader_NbRootsForTransfer(self, *args)

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

        Parameters
        ----------
        filename: str
        doc: TDocStd_Document
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

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

        Parameters
        ----------
        filename: str
        doc: TDocStd_Document
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Translate step file given by filename into the document return true if succeeded, and false in case of fail.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_Perform(self, *args)

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

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

        Return
        -------
        IFSelect_ReturnStatus

        Description
        -----------
        Loads a file and returns the read status provided for use like single-file reader. @param thefilename [in] file to open return read status.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_ReadFile(self, *args)

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

        Parameters
        ----------
        theName: str
        theIStream: std::istream

        Return
        -------
        IFSelect_ReturnStatus

        Description
        -----------
        Loads a file from stream and returns the read status. @param thename [in] auxiliary stream name @param theistream [in] stream to read from return read status.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_ReadStream(self, *args)

    def Reader(self, *args):
        r"""
        Return
        -------
        STEPControl_Reader

        Description
        -----------
        Returns basic reader as const.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_Reader(self, *args)

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

        Parameters
        ----------
        colormode: bool

        Return
        -------
        None

        Description
        -----------
        Set colormode for indicate read colors or not.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_SetColorMode(self, *args)

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

        Parameters
        ----------
        gdtmode: bool

        Return
        -------
        None

        Description
        -----------
        Set gdt mode for indicate write gdt or not.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_SetGDTMode(self, *args)

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

        Parameters
        ----------
        layermode: bool

        Return
        -------
        None

        Description
        -----------
        Set layermode for indicate read layers or not.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_SetLayerMode(self, *args)

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

        Parameters
        ----------
        matmode: bool

        Return
        -------
        None

        Description
        -----------
        Set material mode.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_SetMatMode(self, *args)

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

        Parameters
        ----------
        namemode: bool

        Return
        -------
        None

        Description
        -----------
        Set namemode for indicate read name or not.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_SetNameMode(self, *args)

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

        Parameters
        ----------
        propsmode: bool

        Return
        -------
        None

        Description
        -----------
        Propsmode for indicate read validation properties or not.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_SetPropsMode(self, *args)

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

        Parameters
        ----------
        shuomode: bool

        Return
        -------
        None

        Description
        -----------
        Set shuo mode for indicate write shuo or not.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_SetSHUOMode(self, *args)

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

        Parameters
        ----------
        viewmode: bool

        Return
        -------
        None

        Description
        -----------
        Set view mode.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_SetViewMode(self, *args)

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

        Parameters
        ----------
        doc: TDocStd_Document
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Translates currently loaded step file into the document returns true if succeeded, and false in case of fail provided for use like single-file reader.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_Transfer(self, *args)

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

        Parameters
        ----------
        num: int
        doc: TDocStd_Document
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Translates currently loaded step file into the document returns true if succeeded, and false in case of fail provided for use like single-file reader.

        """
        return _STEPCAFControl.STEPCAFControl_Reader_TransferOneRoot(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _STEPCAFControl.delete_STEPCAFControl_Reader

# Register STEPCAFControl_Reader in _STEPCAFControl:
_STEPCAFControl.STEPCAFControl_Reader_swigregister(STEPCAFControl_Reader)
class STEPCAFControl_Writer(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates a writer with an empty step model and sets colormode, layermode, namemode and propsmode to standard_true.

        Parameters
        ----------
        theWS: XSControl_WorkSession
        theScratch: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Creates a reader tool and attaches it to an already existing session clears the session if it was not yet set for step clears the internal data structures.

        """
        _STEPCAFControl.STEPCAFControl_Writer_swiginit(self, _STEPCAFControl.new_STEPCAFControl_Writer(*args))

    def ChangeWriter(self, *args):
        r"""
        Return
        -------
        STEPControl_Writer

        Description
        -----------
        Returns basic reader for root file.

        """
        return _STEPCAFControl.STEPCAFControl_Writer_ChangeWriter(self, *args)

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

        Parameters
        ----------
        theLabel: TDF_Label
        theExtFile: STEPCAFControl_ExternFile

        Return
        -------
        bool

        Description
        -----------
        Returns data on external file by its original label returns false if no external file with given name is read.

        Parameters
        ----------
        theName: str
        theExtFile: STEPCAFControl_ExternFile

        Return
        -------
        bool

        Description
        -----------
        Returns data on external file by its name returns false if no external file with given name is read.

        """
        return _STEPCAFControl.STEPCAFControl_Writer_ExternFile(self, *args)

    def ExternFiles(self, *args):
        r"""
        Return
        -------
        NCollection_DataMap<TCollection_AsciiString, opencascade::handle<STEPCAFControl_ExternFile>>

        Description
        -----------
        Returns data on external files returns null handle if no external files are read.

        """
        return _STEPCAFControl.STEPCAFControl_Writer_ExternFiles(self, *args)

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

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

        """
        return _STEPCAFControl.STEPCAFControl_Writer_GetColorMode(self, *args)

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

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

        """
        return _STEPCAFControl.STEPCAFControl_Writer_GetDimTolMode(self, *args)

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

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

        """
        return _STEPCAFControl.STEPCAFControl_Writer_GetLayerMode(self, *args)

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

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

        """
        return _STEPCAFControl.STEPCAFControl_Writer_GetMaterialMode(self, *args)

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

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

        """
        return _STEPCAFControl.STEPCAFControl_Writer_GetNameMode(self, *args)

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

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

        """
        return _STEPCAFControl.STEPCAFControl_Writer_GetPropsMode(self, *args)

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

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

        """
        return _STEPCAFControl.STEPCAFControl_Writer_GetSHUOMode(self, *args)

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

        Parameters
        ----------
        theWS: XSControl_WorkSession
        theScratch: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Clears the internal data structures and attaches to a new session clears the session if it was not yet set for step.

        """
        return _STEPCAFControl.STEPCAFControl_Writer_Init(self, *args)

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

        Parameters
        ----------
        theDoc: TDocStd_Document
        theFileName: str
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

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

        Parameters
        ----------
        theDoc: TDocStd_Document
        theFileName: str
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Transfers a document and writes it to a step file returns true if translation is ok.

        """
        return _STEPCAFControl.STEPCAFControl_Writer_Perform(self, *args)

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

        Parameters
        ----------
        theColorMode: bool

        Return
        -------
        None

        Description
        -----------
        Set colormode for indicate write colors or not.

        """
        return _STEPCAFControl.STEPCAFControl_Writer_SetColorMode(self, *args)

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

        Parameters
        ----------
        theDimTolMode: bool

        Return
        -------
        None

        Description
        -----------
        Set dimtolmode for indicate write d&gts or not.

        """
        return _STEPCAFControl.STEPCAFControl_Writer_SetDimTolMode(self, *args)

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

        Parameters
        ----------
        theLayerMode: bool

        Return
        -------
        None

        Description
        -----------
        Set layermode for indicate write layers or not.

        """
        return _STEPCAFControl.STEPCAFControl_Writer_SetLayerMode(self, *args)

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

        Parameters
        ----------
        theMaterialMode: bool

        Return
        -------
        None

        Description
        -----------
        Set dimtolmode for indicate write d&gts or not.

        """
        return _STEPCAFControl.STEPCAFControl_Writer_SetMaterialMode(self, *args)

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

        Parameters
        ----------
        theNameMode: bool

        Return
        -------
        None

        Description
        -----------
        Set namemode for indicate write name or not.

        """
        return _STEPCAFControl.STEPCAFControl_Writer_SetNameMode(self, *args)

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

        Parameters
        ----------
        thePropsMode: bool

        Return
        -------
        None

        Description
        -----------
        Propsmode for indicate write validation properties or not.

        """
        return _STEPCAFControl.STEPCAFControl_Writer_SetPropsMode(self, *args)

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

        Parameters
        ----------
        theSHUOMode: bool

        Return
        -------
        None

        Description
        -----------
        Set shuo mode for indicate write shuo or not.

        """
        return _STEPCAFControl.STEPCAFControl_Writer_SetSHUOMode(self, *args)

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

        Parameters
        ----------
        theDoc: TDocStd_Document
        theMode: STEPControl_StepModelType (optional, default to STEPControl_AsIs)
        theIsMulti: str (optional, default to 0)
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Transfers a document (or single label) to a step model the mode of translation of shape is asis if multi is not null pointer, it switches to multifile mode (with external refs), and string pointed by <multi> gives prefix for names of extern files (can be empty string) returns true if translation is ok.

        Parameters
        ----------
        theLabel: TDF_Label
        theMode: STEPControl_StepModelType (optional, default to STEPControl_AsIs)
        theIsMulti: str (optional, default to 0)
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Method to transfer part of the document specified by label.

        Parameters
        ----------
        theLabelSeq: TDF_LabelSequence
        theMode: STEPControl_StepModelType (optional, default to STEPControl_AsIs)
        theIsMulti: str (optional, default to 0)
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Mehod to writing sequence of root assemblies or part of the file specified by use by one label .

        """
        return _STEPCAFControl.STEPCAFControl_Writer_Transfer(self, *args)

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

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

        Return
        -------
        IFSelect_ReturnStatus

        Description
        -----------
        Writes all the produced models into file in case of multimodel with extern references, filename will be a name of root file, all other files have names of corresponding parts provided for use like single-file writer.

        """
        return _STEPCAFControl.STEPCAFControl_Writer_Write(self, *args)

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

        Parameters
        ----------
        theStream: std::ostream

        Return
        -------
        IFSelect_ReturnStatus

        Description
        -----------
        Writes all the produced models into the stream. provided for use like single-file writer.

        """
        return _STEPCAFControl.STEPCAFControl_Writer_WriteStream(self, *args)

    def Writer(self, *args):
        r"""
        Return
        -------
        STEPControl_Writer

        Description
        -----------
        Returns basic reader as const.

        """
        return _STEPCAFControl.STEPCAFControl_Writer_Writer(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _STEPCAFControl.delete_STEPCAFControl_Writer

# Register STEPCAFControl_Writer in _STEPCAFControl:
_STEPCAFControl.STEPCAFControl_Writer_swigregister(STEPCAFControl_Writer)



@deprecated
def STEPCAFControl_Controller_Init(*args):
	return STEPCAFControl_Controller.Init(*args)

@deprecated
def STEPCAFControl_GDTProperty_GetDatumRefModifiers(*args):
	return STEPCAFControl_GDTProperty.GetDatumRefModifiers(*args)

@deprecated
def STEPCAFControl_GDTProperty_GetDatumTargetName(*args):
	return STEPCAFControl_GDTProperty.GetDatumTargetName(*args)

@deprecated
def STEPCAFControl_GDTProperty_GetDatumTargetType(*args):
	return STEPCAFControl_GDTProperty.GetDatumTargetType(*args)

@deprecated
def STEPCAFControl_GDTProperty_GetDimClassOfTolerance(*args):
	return STEPCAFControl_GDTProperty.GetDimClassOfTolerance(*args)

@deprecated
def STEPCAFControl_GDTProperty_GetDimModifierName(*args):
	return STEPCAFControl_GDTProperty.GetDimModifierName(*args)

@deprecated
def STEPCAFControl_GDTProperty_GetDimModifiers(*args):
	return STEPCAFControl_GDTProperty.GetDimModifiers(*args)

@deprecated
def STEPCAFControl_GDTProperty_GetDimQualifierName(*args):
	return STEPCAFControl_GDTProperty.GetDimQualifierName(*args)

@deprecated
def STEPCAFControl_GDTProperty_GetDimQualifierType(*args):
	return STEPCAFControl_GDTProperty.GetDimQualifierType(*args)

@deprecated
def STEPCAFControl_GDTProperty_GetDimType(*args):
	return STEPCAFControl_GDTProperty.GetDimType(*args)

@deprecated
def STEPCAFControl_GDTProperty_GetDimTypeName(*args):
	return STEPCAFControl_GDTProperty.GetDimTypeName(*args)

@deprecated
def STEPCAFControl_GDTProperty_GetGeomTolerance(*args):
	return STEPCAFControl_GDTProperty.GetGeomTolerance(*args)

@deprecated
def STEPCAFControl_GDTProperty_GetGeomToleranceModifier(*args):
	return STEPCAFControl_GDTProperty.GetGeomToleranceModifier(*args)

@deprecated
def STEPCAFControl_GDTProperty_GetGeomToleranceType(*args):
	return STEPCAFControl_GDTProperty.GetGeomToleranceType(*args)

@deprecated
def STEPCAFControl_GDTProperty_GetGeomToleranceType(*args):
	return STEPCAFControl_GDTProperty.GetGeomToleranceType(*args)

@deprecated
def STEPCAFControl_GDTProperty_GetLimitsAndFits(*args):
	return STEPCAFControl_GDTProperty.GetLimitsAndFits(*args)

@deprecated
def STEPCAFControl_GDTProperty_GetTessellation(*args):
	return STEPCAFControl_GDTProperty.GetTessellation(*args)

@deprecated
def STEPCAFControl_GDTProperty_GetTolValueType(*args):
	return STEPCAFControl_GDTProperty.GetTolValueType(*args)

@deprecated
def STEPCAFControl_GDTProperty_GetTolValueType(*args):
	return STEPCAFControl_GDTProperty.GetTolValueType(*args)

@deprecated
def STEPCAFControl_GDTProperty_IsDimensionalLocation(*args):
	return STEPCAFControl_GDTProperty.IsDimensionalLocation(*args)

@deprecated
def STEPCAFControl_GDTProperty_IsDimensionalSize(*args):
	return STEPCAFControl_GDTProperty.IsDimensionalSize(*args)

@deprecated
def STEPCAFControl_Reader_FindInstance(*args):
	return STEPCAFControl_Reader.FindInstance(*args)



