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

"""
STEPCAFControl module, see official documentation at
https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_stepcafcontrol.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 _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 == "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__ = _STEPCAFControl.delete_SwigPyIterator

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    def __sub__(self, *args) -> "ptrdiff_t":
        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: "Standard_Failure", method_name: "std::string", class_name: "std::string") -> "void":
    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.StepShape
import OCC.Core.StepGeom
import OCC.Core.StepData
import OCC.Core.Interface
import OCC.Core.TCollection
import OCC.Core.Message
import OCC.Core.OSD
import OCC.Core.TColStd
import OCC.Core.MoniTool
import OCC.Core.TopoDS
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.gp
import OCC.Core.Resource
import OCC.Core.StepRepr
import OCC.Core.StepBasic
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.TDF
import OCC.Core.XCAFDimTolObjects
import OCC.Core.TDocStd
import OCC.Core.CDF
import OCC.Core.CDM
import OCC.Core.PCDM
import OCC.Core.Storage
import OCC.Core.StepDimTol
import OCC.Core.StepVisual
import OCC.Core.XCAFDoc
import OCC.Core.TDataStd
import OCC.Core.Quantity
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() -> "opencascade::handle< STEPCAFControl_ActorWrite >":
    return _STEPCAFControl.Handle_STEPCAFControl_ActorWrite_Create()

def Handle_STEPCAFControl_ActorWrite_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< STEPCAFControl_ActorWrite >":
    return _STEPCAFControl.Handle_STEPCAFControl_ActorWrite_DownCast(t)

def Handle_STEPCAFControl_ActorWrite_IsNull(t: "opencascade::handle< STEPCAFControl_ActorWrite > const &") -> "bool":
    return _STEPCAFControl.Handle_STEPCAFControl_ActorWrite_IsNull(t)

def Handle_STEPCAFControl_Controller_Create() -> "opencascade::handle< STEPCAFControl_Controller >":
    return _STEPCAFControl.Handle_STEPCAFControl_Controller_Create()

def Handle_STEPCAFControl_Controller_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< STEPCAFControl_Controller >":
    return _STEPCAFControl.Handle_STEPCAFControl_Controller_DownCast(t)

def Handle_STEPCAFControl_Controller_IsNull(t: "opencascade::handle< STEPCAFControl_Controller > const &") -> "bool":
    return _STEPCAFControl.Handle_STEPCAFControl_Controller_IsNull(t)

def Handle_STEPCAFControl_ExternFile_Create() -> "opencascade::handle< STEPCAFControl_ExternFile >":
    return _STEPCAFControl.Handle_STEPCAFControl_ExternFile_Create()

def Handle_STEPCAFControl_ExternFile_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< STEPCAFControl_ExternFile >":
    return _STEPCAFControl.Handle_STEPCAFControl_ExternFile_DownCast(t)

def Handle_STEPCAFControl_ExternFile_IsNull(t: "opencascade::handle< STEPCAFControl_ExternFile > const &") -> "bool":
    return _STEPCAFControl.Handle_STEPCAFControl_ExternFile_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) -> "NCollection_DataMap< TDF_Label,opencascade::handle< STEPCAFControl_ExternFile >,TDF_LabelMapHasher >::iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_begin(self)

    def end(self) -> "NCollection_DataMap< TDF_Label,opencascade::handle< STEPCAFControl_ExternFile >,TDF_LabelMapHasher >::iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_end(self)

    def cbegin(self) -> "NCollection_DataMap< TDF_Label,opencascade::handle< STEPCAFControl_ExternFile >,TDF_LabelMapHasher >::const_iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TDF_Label,opencascade::handle< STEPCAFControl_ExternFile >,TDF_LabelMapHasher >::const_iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_cend(self)

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

    def Exchange(self, theOther: "STEPCAFControl_DataMapOfLabelExternFile") -> "void":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_Exchange(self, theOther)

    def Assign(self, theOther: "STEPCAFControl_DataMapOfLabelExternFile") -> "NCollection_DataMap< TDF_Label,opencascade::handle< STEPCAFControl_ExternFile >,TDF_LabelMapHasher > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_Assign(self, theOther)

    def Set(self, theOther: "STEPCAFControl_DataMapOfLabelExternFile") -> "NCollection_DataMap< TDF_Label,opencascade::handle< STEPCAFControl_ExternFile >,TDF_LabelMapHasher > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_ReSize(self, N)

    def Bind(self, theKey: "TDF_Label", theItem: "opencascade::handle< STEPCAFControl_ExternFile > const &") -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TDF_Label", theItem: "opencascade::handle< STEPCAFControl_ExternFile > const &") -> "opencascade::handle< STEPCAFControl_ExternFile > *":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TDF_Label") -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_IsBound(self, theKey)

    def UnBind(self, theKey: "TDF_Label") -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_UnBind(self, theKey)

    def Seek(self, theKey: "TDF_Label") -> "opencascade::handle< STEPCAFControl_ExternFile > const *":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_Find(self, *args)

    def ChangeSeek(self, theKey: "TDF_Label") -> "opencascade::handle< STEPCAFControl_ExternFile > *":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TDF_Label") -> "opencascade::handle< STEPCAFControl_ExternFile > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile_ChangeFind(self, theKey)

    def __call__(self, *args) -> "opencascade::handle< STEPCAFControl_ExternFile > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelExternFile___call__(self, *args)

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

    def Size(self) -> "Standard_Integer":
        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) -> "NCollection_DataMap< TDF_Label,TopoDS_Shape,TDF_LabelMapHasher >::iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_begin(self)

    def end(self) -> "NCollection_DataMap< TDF_Label,TopoDS_Shape,TDF_LabelMapHasher >::iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_end(self)

    def cbegin(self) -> "NCollection_DataMap< TDF_Label,TopoDS_Shape,TDF_LabelMapHasher >::const_iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TDF_Label,TopoDS_Shape,TDF_LabelMapHasher >::const_iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_cend(self)

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

    def Exchange(self, theOther: "STEPCAFControl_DataMapOfLabelShape") -> "void":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_Exchange(self, theOther)

    def Assign(self, theOther: "STEPCAFControl_DataMapOfLabelShape") -> "NCollection_DataMap< TDF_Label,TopoDS_Shape,TDF_LabelMapHasher > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_Assign(self, theOther)

    def Set(self, theOther: "STEPCAFControl_DataMapOfLabelShape") -> "NCollection_DataMap< TDF_Label,TopoDS_Shape,TDF_LabelMapHasher > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_ReSize(self, N)

    def Bind(self, theKey: "TDF_Label", theItem: "TopoDS_Shape") -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TDF_Label", theItem: "TopoDS_Shape") -> "TopoDS_Shape *":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TDF_Label") -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_IsBound(self, theKey)

    def UnBind(self, theKey: "TDF_Label") -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_UnBind(self, theKey)

    def Seek(self, theKey: "TDF_Label") -> "TopoDS_Shape const *":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_Find(self, *args)

    def ChangeSeek(self, theKey: "TDF_Label") -> "TopoDS_Shape *":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TDF_Label") -> "TopoDS_Shape &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape_ChangeFind(self, theKey)

    def __call__(self, *args) -> "TopoDS_Shape &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfLabelShape___call__(self, *args)

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

    def Size(self) -> "Standard_Integer":
        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) -> "NCollection_DataMap< opencascade::handle< StepBasic_ProductDefinition >,opencascade::handle< STEPCAFControl_ExternFile >,NCollection_DefaultHasher< opencascade::handle< Standard_Transient > > >::iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_begin(self)

    def end(self) -> "NCollection_DataMap< opencascade::handle< StepBasic_ProductDefinition >,opencascade::handle< STEPCAFControl_ExternFile >,NCollection_DefaultHasher< opencascade::handle< Standard_Transient > > >::iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_end(self)

    def cbegin(self) -> "NCollection_DataMap< opencascade::handle< StepBasic_ProductDefinition >,opencascade::handle< STEPCAFControl_ExternFile >,NCollection_DefaultHasher< opencascade::handle< Standard_Transient > > >::const_iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_cbegin(self)

    def cend(self) -> "NCollection_DataMap< opencascade::handle< StepBasic_ProductDefinition >,opencascade::handle< STEPCAFControl_ExternFile >,NCollection_DefaultHasher< opencascade::handle< Standard_Transient > > >::const_iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_cend(self)

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

    def Exchange(self, theOther: "STEPCAFControl_DataMapOfPDExternFile") -> "void":
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_Exchange(self, theOther)

    def Assign(self, theOther: "STEPCAFControl_DataMapOfPDExternFile") -> "NCollection_DataMap< opencascade::handle< StepBasic_ProductDefinition >,opencascade::handle< STEPCAFControl_ExternFile >,TColStd_MapTransientHasher > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_Assign(self, theOther)

    def Set(self, theOther: "STEPCAFControl_DataMapOfPDExternFile") -> "NCollection_DataMap< opencascade::handle< StepBasic_ProductDefinition >,opencascade::handle< STEPCAFControl_ExternFile >,TColStd_MapTransientHasher > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_ReSize(self, N)

    def Bind(self, theKey: "opencascade::handle< StepBasic_ProductDefinition > const &", theItem: "opencascade::handle< STEPCAFControl_ExternFile > const &") -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_Bind(self, theKey, theItem)

    def Bound(self, theKey: "opencascade::handle< StepBasic_ProductDefinition > const &", theItem: "opencascade::handle< STEPCAFControl_ExternFile > const &") -> "opencascade::handle< STEPCAFControl_ExternFile > *":
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "opencascade::handle< StepBasic_ProductDefinition > const &") -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_IsBound(self, theKey)

    def UnBind(self, theKey: "opencascade::handle< StepBasic_ProductDefinition > const &") -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_UnBind(self, theKey)

    def Seek(self, theKey: "opencascade::handle< StepBasic_ProductDefinition > const &") -> "opencascade::handle< STEPCAFControl_ExternFile > const *":
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_Find(self, *args)

    def ChangeSeek(self, theKey: "opencascade::handle< StepBasic_ProductDefinition > const &") -> "opencascade::handle< STEPCAFControl_ExternFile > *":
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "opencascade::handle< StepBasic_ProductDefinition > const &") -> "opencascade::handle< STEPCAFControl_ExternFile > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile_ChangeFind(self, theKey)

    def __call__(self, *args) -> "opencascade::handle< STEPCAFControl_ExternFile > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfPDExternFile___call__(self, *args)

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

    def Size(self) -> "Standard_Integer":
        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) -> "NCollection_DataMap< opencascade::handle< StepShape_ShapeDefinitionRepresentation >,opencascade::handle< STEPCAFControl_ExternFile >,NCollection_DefaultHasher< opencascade::handle< Standard_Transient > > >::iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_begin(self)

    def end(self) -> "NCollection_DataMap< opencascade::handle< StepShape_ShapeDefinitionRepresentation >,opencascade::handle< STEPCAFControl_ExternFile >,NCollection_DefaultHasher< opencascade::handle< Standard_Transient > > >::iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_end(self)

    def cbegin(self) -> "NCollection_DataMap< opencascade::handle< StepShape_ShapeDefinitionRepresentation >,opencascade::handle< STEPCAFControl_ExternFile >,NCollection_DefaultHasher< opencascade::handle< Standard_Transient > > >::const_iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_cbegin(self)

    def cend(self) -> "NCollection_DataMap< opencascade::handle< StepShape_ShapeDefinitionRepresentation >,opencascade::handle< STEPCAFControl_ExternFile >,NCollection_DefaultHasher< opencascade::handle< Standard_Transient > > >::const_iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_cend(self)

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

    def Exchange(self, theOther: "STEPCAFControl_DataMapOfSDRExternFile") -> "void":
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_Exchange(self, theOther)

    def Assign(self, theOther: "STEPCAFControl_DataMapOfSDRExternFile") -> "NCollection_DataMap< opencascade::handle< StepShape_ShapeDefinitionRepresentation >,opencascade::handle< STEPCAFControl_ExternFile >,TColStd_MapTransientHasher > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_Assign(self, theOther)

    def Set(self, theOther: "STEPCAFControl_DataMapOfSDRExternFile") -> "NCollection_DataMap< opencascade::handle< StepShape_ShapeDefinitionRepresentation >,opencascade::handle< STEPCAFControl_ExternFile >,TColStd_MapTransientHasher > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_ReSize(self, N)

    def Bind(self, theKey: "opencascade::handle< StepShape_ShapeDefinitionRepresentation > const &", theItem: "opencascade::handle< STEPCAFControl_ExternFile > const &") -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_Bind(self, theKey, theItem)

    def Bound(self, theKey: "opencascade::handle< StepShape_ShapeDefinitionRepresentation > const &", theItem: "opencascade::handle< STEPCAFControl_ExternFile > const &") -> "opencascade::handle< STEPCAFControl_ExternFile > *":
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "opencascade::handle< StepShape_ShapeDefinitionRepresentation > const &") -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_IsBound(self, theKey)

    def UnBind(self, theKey: "opencascade::handle< StepShape_ShapeDefinitionRepresentation > const &") -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_UnBind(self, theKey)

    def Seek(self, theKey: "opencascade::handle< StepShape_ShapeDefinitionRepresentation > const &") -> "opencascade::handle< STEPCAFControl_ExternFile > const *":
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_Find(self, *args)

    def ChangeSeek(self, theKey: "opencascade::handle< StepShape_ShapeDefinitionRepresentation > const &") -> "opencascade::handle< STEPCAFControl_ExternFile > *":
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "opencascade::handle< StepShape_ShapeDefinitionRepresentation > const &") -> "opencascade::handle< STEPCAFControl_ExternFile > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile_ChangeFind(self, theKey)

    def __call__(self, *args) -> "opencascade::handle< STEPCAFControl_ExternFile > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfSDRExternFile___call__(self, *args)

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

    def Size(self) -> "Standard_Integer":
        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) -> "NCollection_DataMap< TopoDS_Shape,opencascade::handle< StepBasic_ProductDefinition >,TopTools_ShapeMapHasher >::iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_begin(self)

    def end(self) -> "NCollection_DataMap< TopoDS_Shape,opencascade::handle< StepBasic_ProductDefinition >,TopTools_ShapeMapHasher >::iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_end(self)

    def cbegin(self) -> "NCollection_DataMap< TopoDS_Shape,opencascade::handle< StepBasic_ProductDefinition >,TopTools_ShapeMapHasher >::const_iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TopoDS_Shape,opencascade::handle< StepBasic_ProductDefinition >,TopTools_ShapeMapHasher >::const_iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_cend(self)

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

    def Exchange(self, theOther: "STEPCAFControl_DataMapOfShapePD") -> "void":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_Exchange(self, theOther)

    def Assign(self, theOther: "STEPCAFControl_DataMapOfShapePD") -> "NCollection_DataMap< TopoDS_Shape,opencascade::handle< StepBasic_ProductDefinition >,TopTools_ShapeMapHasher > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_Assign(self, theOther)

    def Set(self, theOther: "STEPCAFControl_DataMapOfShapePD") -> "NCollection_DataMap< TopoDS_Shape,opencascade::handle< StepBasic_ProductDefinition >,TopTools_ShapeMapHasher > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_ReSize(self, N)

    def Bind(self, theKey: "TopoDS_Shape", theItem: "opencascade::handle< StepBasic_ProductDefinition > const &") -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TopoDS_Shape", theItem: "opencascade::handle< StepBasic_ProductDefinition > const &") -> "opencascade::handle< StepBasic_ProductDefinition > *":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_IsBound(self, theKey)

    def UnBind(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_UnBind(self, theKey)

    def Seek(self, theKey: "TopoDS_Shape") -> "opencascade::handle< StepBasic_ProductDefinition > const *":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_Find(self, *args)

    def ChangeSeek(self, theKey: "TopoDS_Shape") -> "opencascade::handle< StepBasic_ProductDefinition > *":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TopoDS_Shape") -> "opencascade::handle< StepBasic_ProductDefinition > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD_ChangeFind(self, theKey)

    def __call__(self, *args) -> "opencascade::handle< StepBasic_ProductDefinition > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapePD___call__(self, *args)

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

    def Size(self) -> "Standard_Integer":
        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) -> "NCollection_DataMap< TopoDS_Shape,opencascade::handle< StepShape_ShapeDefinitionRepresentation >,TopTools_ShapeMapHasher >::iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_begin(self)

    def end(self) -> "NCollection_DataMap< TopoDS_Shape,opencascade::handle< StepShape_ShapeDefinitionRepresentation >,TopTools_ShapeMapHasher >::iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_end(self)

    def cbegin(self) -> "NCollection_DataMap< TopoDS_Shape,opencascade::handle< StepShape_ShapeDefinitionRepresentation >,TopTools_ShapeMapHasher >::const_iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TopoDS_Shape,opencascade::handle< StepShape_ShapeDefinitionRepresentation >,TopTools_ShapeMapHasher >::const_iterator":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_cend(self)

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

    def Exchange(self, theOther: "STEPCAFControl_DataMapOfShapeSDR") -> "void":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_Exchange(self, theOther)

    def Assign(self, theOther: "STEPCAFControl_DataMapOfShapeSDR") -> "NCollection_DataMap< TopoDS_Shape,opencascade::handle< StepShape_ShapeDefinitionRepresentation >,TopTools_ShapeMapHasher > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_Assign(self, theOther)

    def Set(self, theOther: "STEPCAFControl_DataMapOfShapeSDR") -> "NCollection_DataMap< TopoDS_Shape,opencascade::handle< StepShape_ShapeDefinitionRepresentation >,TopTools_ShapeMapHasher > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_Set(self, theOther)

    def ReSize(self, N: "Standard_Integer const") -> "void":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_ReSize(self, N)

    def Bind(self, theKey: "TopoDS_Shape", theItem: "opencascade::handle< StepShape_ShapeDefinitionRepresentation > const &") -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_Bind(self, theKey, theItem)

    def Bound(self, theKey: "TopoDS_Shape", theItem: "opencascade::handle< StepShape_ShapeDefinitionRepresentation > const &") -> "opencascade::handle< StepShape_ShapeDefinitionRepresentation > *":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_IsBound(self, theKey)

    def UnBind(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_UnBind(self, theKey)

    def Seek(self, theKey: "TopoDS_Shape") -> "opencascade::handle< StepShape_ShapeDefinitionRepresentation > const *":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_Find(self, *args)

    def ChangeSeek(self, theKey: "TopoDS_Shape") -> "opencascade::handle< StepShape_ShapeDefinitionRepresentation > *":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "TopoDS_Shape") -> "opencascade::handle< StepShape_ShapeDefinitionRepresentation > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR_ChangeFind(self, theKey)

    def __call__(self, *args) -> "opencascade::handle< StepShape_ShapeDefinitionRepresentation > &":
        return _STEPCAFControl.STEPCAFControl_DataMapOfShapeSDR___call__(self, *args)

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

    def Size(self) -> "Standard_Integer":
        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"""
        No available documentation.

        Returns
        -------
        None

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

    def ClearMap(self, *args) -> "void":
        r"""
        Clears map of shapes registered as assemblies.

        Returns
        -------
        None

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

    def RegisterAssembly(self, *args) -> "void":
        r"""
        Registers shape to be written as assembly the shape should be topods_compound (else does nothing).

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

        Returns
        -------
        None

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

    def SetStdMode(self, *args) -> "void":
        r"""
        Set standard mode of work in standard mode actor (default) behaves exactly as its ancestor, also map is cleared.

        Parameters
        ----------
        stdmode: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        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_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"""
        Initializes the use of step norm (the first time).

        Returns
        -------
        None

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

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

        Returns
        -------
        bool

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

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

    Returns
    -------
    bool

    """
    return _STEPCAFControl.STEPCAFControl_Controller_Init(*args)

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"""
        Creates an empty structure.

        Returns
        -------
        None

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

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

        Returns
        -------
        TDF_Label

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

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

        Returns
        -------
        IFSelect_ReturnStatus

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

    def GetName(self, *args) -> "opencascade::handle< TCollection_HAsciiString >":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<TCollection_HAsciiString>

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

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

        Returns
        -------
        bool

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

    def GetWS(self, *args) -> "opencascade::handle< XSControl_WorkSession >":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<XSControl_WorkSession>

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

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

        Returns
        -------
        IFSelect_ReturnStatus

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

        """
        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"""
        No available documentation.

        Returns
        -------
        None

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

    @staticmethod
    def GetDatumRefModifiers(*args) -> "opencascade::handle< StepDimTol_HArray1OfDatumReferenceModifier >":
        r"""
        No available documentation.

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

        Returns
        -------
        opencascade::handle<StepDimTol_HArray1OfDatumReferenceModifier>

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDatumRefModifiers(*args)

    @staticmethod
    def GetDatumTargetName(*args) -> "opencascade::handle< TCollection_HAsciiString >":
        r"""
        No available documentation.

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

        Returns
        -------
        opencascade::handle<TCollection_HAsciiString>

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDatumTargetName(*args)

    @staticmethod
    def GetDatumTargetType(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        theDescription: TCollection_HAsciiString
        theType: XCAFDimTolObjects_DatumTargetType

        Returns
        -------
        bool

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDatumTargetType(*args)

    @staticmethod
    def GetDimClassOfTolerance(*args) -> "Standard_Boolean &":
        r"""
        No available documentation.

        Parameters
        ----------
        theLAF: StepShape_LimitsAndFits
        theFV: XCAFDimTolObjects_DimensionFormVariance
        theG: XCAFDimTolObjects_DimensionGrade

        Returns
        -------
        theHolle: bool

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimClassOfTolerance(*args)

    @staticmethod
    def GetDimModifierName(*args) -> "opencascade::handle< TCollection_HAsciiString >":
        r"""
        No available documentation.

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

        Returns
        -------
        opencascade::handle<TCollection_HAsciiString>

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimModifierName(*args)

    @staticmethod
    def GetDimModifiers(*args) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimModifiers(*args)

    @staticmethod
    def GetDimQualifierName(*args) -> "opencascade::handle< TCollection_HAsciiString >":
        r"""
        No available documentation.

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

        Returns
        -------
        opencascade::handle<TCollection_HAsciiString>

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimQualifierName(*args)

    @staticmethod
    def GetDimQualifierType(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        theDescription: TCollection_HAsciiString
        theType: XCAFDimTolObjects_DimensionQualifier

        Returns
        -------
        bool

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimQualifierType(*args)

    @staticmethod
    def GetDimType(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theType: XCAFDimTolObjects_DimensionType

        Returns
        -------
        bool

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimType(*args)

    @staticmethod
    def GetDimTypeName(*args) -> "opencascade::handle< TCollection_HAsciiString >":
        r"""
        No available documentation.

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

        Returns
        -------
        opencascade::handle<TCollection_HAsciiString>

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimTypeName(*args)

    @staticmethod
    def GetGeomTolerance(*args) -> "opencascade::handle< StepDimTol_GeometricTolerance >":
        r"""
        No available documentation.

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

        Returns
        -------
        opencascade::handle<StepDimTol_GeometricTolerance>

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetGeomTolerance(*args)

    @staticmethod
    def GetGeomToleranceModifier(*args) -> "StepDimTol_GeometricToleranceModifier":
        r"""
        No available documentation.

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

        Returns
        -------
        StepDimTol_GeometricToleranceModifier

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetGeomToleranceModifier(*args)

    @staticmethod
    def GetGeomToleranceType(*args) -> "XCAFDimTolObjects_GeomToleranceType":
        r"""
        No available documentation.

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

        Returns
        -------
        StepDimTol_GeometricToleranceType
        No available documentation.

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

        Returns
        -------
        XCAFDimTolObjects_GeomToleranceType

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetGeomToleranceType(*args)

    @staticmethod
    def GetLimitsAndFits(*args) -> "opencascade::handle< StepShape_LimitsAndFits >":
        r"""
        No available documentation.

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

        Returns
        -------
        opencascade::handle<StepShape_LimitsAndFits>

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetLimitsAndFits(*args)

    @staticmethod
    def GetTessellation(*args) -> "opencascade::handle< StepVisual_TessellatedGeometricSet >":
        r"""
        No available documentation.

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

        Returns
        -------
        opencascade::handle<StepVisual_TessellatedGeometricSet>

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetTessellation(*args)

    @staticmethod
    def GetTolValueType(*args) -> "opencascade::handle< TCollection_HAsciiString >":
        r"""
        No available documentation.

        Parameters
        ----------
        theDescription: TCollection_HAsciiString
        theType: XCAFDimTolObjects_GeomToleranceTypeValue

        Returns
        -------
        bool
        No available documentation.

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

        Returns
        -------
        opencascade::handle<TCollection_HAsciiString>

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_GetTolValueType(*args)

    @staticmethod
    def IsDimensionalLocation(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

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

        Returns
        -------
        bool

        """
        return _STEPCAFControl.STEPCAFControl_GDTProperty_IsDimensionalLocation(*args)

    @staticmethod
    def IsDimensionalSize(*args) -> "Standard_Boolean":
        r"""
        No available documentation.

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

        Returns
        -------
        bool

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

def STEPCAFControl_GDTProperty_GetDatumRefModifiers(*args) -> "opencascade::handle< StepDimTol_HArray1OfDatumReferenceModifier >":
    r"""
    No available documentation.

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

    Returns
    -------
    opencascade::handle<StepDimTol_HArray1OfDatumReferenceModifier>

    """
    return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDatumRefModifiers(*args)

def STEPCAFControl_GDTProperty_GetDatumTargetName(*args) -> "opencascade::handle< TCollection_HAsciiString >":
    r"""
    No available documentation.

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

    Returns
    -------
    opencascade::handle<TCollection_HAsciiString>

    """
    return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDatumTargetName(*args)

def STEPCAFControl_GDTProperty_GetDatumTargetType(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    theDescription: TCollection_HAsciiString
    theType: XCAFDimTolObjects_DatumTargetType

    Returns
    -------
    bool

    """
    return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDatumTargetType(*args)

def STEPCAFControl_GDTProperty_GetDimClassOfTolerance(*args) -> "Standard_Boolean &":
    r"""
    No available documentation.

    Parameters
    ----------
    theLAF: StepShape_LimitsAndFits
    theFV: XCAFDimTolObjects_DimensionFormVariance
    theG: XCAFDimTolObjects_DimensionGrade

    Returns
    -------
    theHolle: bool

    """
    return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimClassOfTolerance(*args)

def STEPCAFControl_GDTProperty_GetDimModifierName(*args) -> "opencascade::handle< TCollection_HAsciiString >":
    r"""
    No available documentation.

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

    Returns
    -------
    opencascade::handle<TCollection_HAsciiString>

    """
    return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimModifierName(*args)

def STEPCAFControl_GDTProperty_GetDimModifiers(*args) -> "void":
    r"""
    No available documentation.

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

    Returns
    -------
    None

    """
    return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimModifiers(*args)

def STEPCAFControl_GDTProperty_GetDimQualifierName(*args) -> "opencascade::handle< TCollection_HAsciiString >":
    r"""
    No available documentation.

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

    Returns
    -------
    opencascade::handle<TCollection_HAsciiString>

    """
    return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimQualifierName(*args)

def STEPCAFControl_GDTProperty_GetDimQualifierType(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    theDescription: TCollection_HAsciiString
    theType: XCAFDimTolObjects_DimensionQualifier

    Returns
    -------
    bool

    """
    return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimQualifierType(*args)

def STEPCAFControl_GDTProperty_GetDimType(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

    Parameters
    ----------
    theName: TCollection_HAsciiString
    theType: XCAFDimTolObjects_DimensionType

    Returns
    -------
    bool

    """
    return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimType(*args)

def STEPCAFControl_GDTProperty_GetDimTypeName(*args) -> "opencascade::handle< TCollection_HAsciiString >":
    r"""
    No available documentation.

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

    Returns
    -------
    opencascade::handle<TCollection_HAsciiString>

    """
    return _STEPCAFControl.STEPCAFControl_GDTProperty_GetDimTypeName(*args)

def STEPCAFControl_GDTProperty_GetGeomTolerance(*args) -> "opencascade::handle< StepDimTol_GeometricTolerance >":
    r"""
    No available documentation.

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

    Returns
    -------
    opencascade::handle<StepDimTol_GeometricTolerance>

    """
    return _STEPCAFControl.STEPCAFControl_GDTProperty_GetGeomTolerance(*args)

def STEPCAFControl_GDTProperty_GetGeomToleranceModifier(*args) -> "StepDimTol_GeometricToleranceModifier":
    r"""
    No available documentation.

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

    Returns
    -------
    StepDimTol_GeometricToleranceModifier

    """
    return _STEPCAFControl.STEPCAFControl_GDTProperty_GetGeomToleranceModifier(*args)

def STEPCAFControl_GDTProperty_GetGeomToleranceType(*args) -> "XCAFDimTolObjects_GeomToleranceType":
    r"""
    No available documentation.

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

    Returns
    -------
    StepDimTol_GeometricToleranceType
    No available documentation.

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

    Returns
    -------
    XCAFDimTolObjects_GeomToleranceType

    """
    return _STEPCAFControl.STEPCAFControl_GDTProperty_GetGeomToleranceType(*args)

def STEPCAFControl_GDTProperty_GetLimitsAndFits(*args) -> "opencascade::handle< StepShape_LimitsAndFits >":
    r"""
    No available documentation.

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

    Returns
    -------
    opencascade::handle<StepShape_LimitsAndFits>

    """
    return _STEPCAFControl.STEPCAFControl_GDTProperty_GetLimitsAndFits(*args)

def STEPCAFControl_GDTProperty_GetTessellation(*args) -> "opencascade::handle< StepVisual_TessellatedGeometricSet >":
    r"""
    No available documentation.

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

    Returns
    -------
    opencascade::handle<StepVisual_TessellatedGeometricSet>

    """
    return _STEPCAFControl.STEPCAFControl_GDTProperty_GetTessellation(*args)

def STEPCAFControl_GDTProperty_GetTolValueType(*args) -> "opencascade::handle< TCollection_HAsciiString >":
    r"""
    No available documentation.

    Parameters
    ----------
    theDescription: TCollection_HAsciiString
    theType: XCAFDimTolObjects_GeomToleranceTypeValue

    Returns
    -------
    bool
    No available documentation.

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

    Returns
    -------
    opencascade::handle<TCollection_HAsciiString>

    """
    return _STEPCAFControl.STEPCAFControl_GDTProperty_GetTolValueType(*args)

def STEPCAFControl_GDTProperty_IsDimensionalLocation(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

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

    Returns
    -------
    bool

    """
    return _STEPCAFControl.STEPCAFControl_GDTProperty_IsDimensionalLocation(*args)

def STEPCAFControl_GDTProperty_IsDimensionalSize(*args) -> "Standard_Boolean":
    r"""
    No available documentation.

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

    Returns
    -------
    bool

    """
    return _STEPCAFControl.STEPCAFControl_GDTProperty_IsDimensionalSize(*args)

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"""
        Creates a reader with an empty step model and sets colormode, layermode, namemode and propsmode to standard_true.

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

        Parameters
        ----------
        WS: XSControl_WorkSession
        scratch: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

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

    def ChangeReader(self, *args) -> "STEPControl_Reader &":
        r"""
        Returns basic reader.

        Returns
        -------
        STEPControl_Reader

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

    def ExternFile(self, *args) -> "Standard_Boolean":
        r"""
        Returns data on external file by its name returns false if no external file with given name is read.

        Parameters
        ----------
        name: char *
        ef: STEPCAFControl_ExternFile

        Returns
        -------
        bool

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

    def ExternFiles(self, *args) -> "NCollection_DataMap< TCollection_AsciiString,opencascade::handle< STEPCAFControl_ExternFile > > const &":
        r"""
        Returns data on external files returns null handle if no external files are read.

        Returns
        -------
        NCollection_DataMap<TCollection_AsciiString, opencascade::handle<STEPCAFControl_ExternFile>>

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

    @staticmethod
    def FindInstance(*args) -> "TDF_Label":
        r"""
        Returns label of instance of an assembly component corresponding to a given nauo.

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

        Returns
        -------
        TDF_Label

        """
        return _STEPCAFControl.STEPCAFControl_Reader_FindInstance(*args)

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

        Returns
        -------
        bool

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

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

        Returns
        -------
        bool

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

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

        Returns
        -------
        bool

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

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

        Returns
        -------
        bool

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

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

        Returns
        -------
        bool

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

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

        Returns
        -------
        bool

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

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

        Returns
        -------
        bool

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

    def GetViewMode(self, *args) -> "Standard_Boolean":
        r"""
        Get view mode.

        Returns
        -------
        bool

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

    def Init(self, *args) -> "void":
        r"""
        Clears the internal data structures and attaches to a new session clears the session if it was not yet set for step.

        Parameters
        ----------
        WS: XSControl_WorkSession
        scratch: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

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

    def NbRootsForTransfer(self, *args) -> "Standard_Integer":
        r"""
        Returns number of roots recognized for transfer shortcut for reader().nbrootsfortransfer().

        Returns
        -------
        int

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

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

        Parameters
        ----------
        filename: TCollection_AsciiString
        doc: TDocStd_Document
        theProgress: Message_ProgressRange,optional
        	default value is Message_ProgressRange()

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

        Parameters
        ----------
        filename: char *
        doc: TDocStd_Document
        theProgress: Message_ProgressRange,optional
        	default value is Message_ProgressRange()

        Returns
        -------
        bool

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

    def ReadFile(self, *args) -> "IFSelect_ReturnStatus":
        r"""
        Loads a file and returns the read status provided for use like single-file reader.

        Parameters
        ----------
        filename: char *

        Returns
        -------
        IFSelect_ReturnStatus

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

    def Reader(self, *args) -> "STEPControl_Reader const &":
        r"""
        Returns basic reader as const.

        Returns
        -------
        STEPControl_Reader

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

    def SetColorMode(self, *args) -> "void":
        r"""
        Set colormode for indicate read colors or not.

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

        Returns
        -------
        None

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

    def SetGDTMode(self, *args) -> "void":
        r"""
        Set gdt mode for indicate write gdt or not.

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

        Returns
        -------
        None

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

    def SetLayerMode(self, *args) -> "void":
        r"""
        Set layermode for indicate read layers or not.

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

        Returns
        -------
        None

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

    def SetMatMode(self, *args) -> "void":
        r"""
        Set material mode.

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

        Returns
        -------
        None

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

    def SetNameMode(self, *args) -> "void":
        r"""
        Set namemode for indicate read name or not.

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

        Returns
        -------
        None

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

    def SetPropsMode(self, *args) -> "void":
        r"""
        Propsmode for indicate read validation properties or not.

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

        Returns
        -------
        None

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

    def SetSHUOMode(self, *args) -> "void":
        r"""
        Set shuo mode for indicate write shuo or not.

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

        Returns
        -------
        None

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

    def SetViewMode(self, *args) -> "void":
        r"""
        Set view mode.

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        bool

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

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

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

        Returns
        -------
        bool

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

def STEPCAFControl_Reader_FindInstance(*args) -> "TDF_Label":
    r"""
    Returns label of instance of an assembly component corresponding to a given nauo.

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

    Returns
    -------
    TDF_Label

    """
    return _STEPCAFControl.STEPCAFControl_Reader_FindInstance(*args)

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"""
        Creates a writer with an empty step model and sets colormode, layermode, namemode and propsmode to standard_true.

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

        Parameters
        ----------
        WS: XSControl_WorkSession
        scratch: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

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

    def ChangeWriter(self, *args) -> "STEPControl_Writer &":
        r"""
        Returns basic reader for root file.

        Returns
        -------
        STEPControl_Writer

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

    def ExternFile(self, *args) -> "Standard_Boolean":
        r"""
        Returns data on external file by its original label returns false if no external file with given name is read.

        Parameters
        ----------
        L: TDF_Label
        ef: STEPCAFControl_ExternFile

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

        Parameters
        ----------
        name: char *
        ef: STEPCAFControl_ExternFile

        Returns
        -------
        bool

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

    def ExternFiles(self, *args) -> "NCollection_DataMap< TCollection_AsciiString,opencascade::handle< STEPCAFControl_ExternFile > > const &":
        r"""
        Returns data on external files returns null handle if no external files are read.

        Returns
        -------
        NCollection_DataMap<TCollection_AsciiString, opencascade::handle<STEPCAFControl_ExternFile>>

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

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

        Returns
        -------
        bool

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

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

        Returns
        -------
        bool

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

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

        Returns
        -------
        bool

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

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

        Returns
        -------
        bool

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

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

        Returns
        -------
        bool

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

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

        Returns
        -------
        bool

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

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

        Returns
        -------
        bool

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

    def Init(self, *args) -> "void":
        r"""
        Clears the internal data structures and attaches to a new session clears the session if it was not yet set for step.

        Parameters
        ----------
        WS: XSControl_WorkSession
        scratch: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

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

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

        Parameters
        ----------
        doc: TDocStd_Document
        filename: TCollection_AsciiString
        theProgress: Message_ProgressRange,optional
        	default value is Message_ProgressRange()

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

        Parameters
        ----------
        doc: TDocStd_Document
        filename: char *
        theProgress: Message_ProgressRange,optional
        	default value is Message_ProgressRange()

        Returns
        -------
        bool

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

    def SetColorMode(self, *args) -> "void":
        r"""
        Set colormode for indicate write colors or not.

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

        Returns
        -------
        None

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

    def SetDimTolMode(self, *args) -> "void":
        r"""
        Set dimtolmode for indicate write d&gts or not.

        Parameters
        ----------
        dimtolmode: bool

        Returns
        -------
        None

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

    def SetLayerMode(self, *args) -> "void":
        r"""
        Set layermode for indicate write layers or not.

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

        Returns
        -------
        None

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

    def SetMaterialMode(self, *args) -> "void":
        r"""
        Set dimtolmode for indicate write d&gts or not.

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

        Returns
        -------
        None

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

    def SetNameMode(self, *args) -> "void":
        r"""
        Set namemode for indicate write name or not.

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

        Returns
        -------
        None

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

    def SetPropsMode(self, *args) -> "void":
        r"""
        Propsmode for indicate write validation properties or not.

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

        Returns
        -------
        None

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

    def SetSHUOMode(self, *args) -> "void":
        r"""
        Set shuo mode for indicate write shuo or not.

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

        Returns
        -------
        None

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

    def Transfer(self, *args) -> "Standard_Boolean":
        r"""
        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
        ----------
        doc: TDocStd_Document
        mode: STEPControl_StepModelType,optional
        	default value is STEPControl_AsIs
        multi: char *,optional
        	default value is 0
        theProgress: Message_ProgressRange,optional
        	default value is Message_ProgressRange()

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

        Parameters
        ----------
        L: TDF_Label
        mode: STEPControl_StepModelType,optional
        	default value is STEPControl_AsIs
        multi: char *,optional
        	default value is 0
        theProgress: Message_ProgressRange,optional
        	default value is Message_ProgressRange()

        Returns
        -------
        bool

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

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

        Parameters
        ----------
        filename: char *

        Returns
        -------
        IFSelect_ReturnStatus

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

    def Writer(self, *args) -> "STEPControl_Writer const &":
        r"""
        Returns basic reader as const.

        Returns
        -------
        STEPControl_Writer

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





