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

"""
STEPConstruct module, see official documentation at
https://www.opencascade.com/doc/occt-7.7.0/refman/html/package_stepconstruct.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 _STEPConstruct
else:
    import _STEPConstruct

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__ = _STEPConstruct.delete_SwigPyIterator

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register SwigPyIterator in _STEPConstruct:
_STEPConstruct.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 _STEPConstruct.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.Transfer
import OCC.Core.Message
import OCC.Core.TCollection
import OCC.Core.OSD
import OCC.Core.TColStd
import OCC.Core.Interface
import OCC.Core.MoniTool
import OCC.Core.TopoDS
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.gp
import OCC.Core.StepShape
import OCC.Core.StepGeom
import OCC.Core.StepData
import OCC.Core.Resource
import OCC.Core.StepRepr
import OCC.Core.StepBasic
import OCC.Core.StepAP203
import OCC.Core.XSControl
import OCC.Core.IFSelect
import OCC.Core.TopTools
import OCC.Core.Geom
import OCC.Core.GeomAbs
import OCC.Core.TColgp
import OCC.Core.Geom2d
import OCC.Core.StepVisual
import OCC.Core.Quantity

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



class STEPConstruct_DataMapOfAsciiStringTransient(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 _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_begin(self)

    def end(self):
        return _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_end(self)

    def cbegin(self):
        return _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_cbegin(self)

    def cend(self):
        return _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_cend(self)

    def __init__(self, *args):
        _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_swiginit(self, _STEPConstruct.new_STEPConstruct_DataMapOfAsciiStringTransient(*args))

    def Exchange(self, theOther):
        return _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_Exchange(self, theOther)

    def Assign(self, theOther):
        return _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_Assign(self, theOther)

    def Set(self, theOther):
        return _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_Set(self, theOther)

    def ReSize(self, N):
        return _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_UnBind(self, theKey)

    def Seek(self, theKey):
        return _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_Seek(self, theKey)

    def Find(self, *args):
        return _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient___call__(self, *args)

    def Clear(self, *args):
        return _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_Clear(self, *args)
    __swig_destroy__ = _STEPConstruct.delete_STEPConstruct_DataMapOfAsciiStringTransient

    def Size(self):
        return _STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_Size(self)

# Register STEPConstruct_DataMapOfAsciiStringTransient in _STEPConstruct:
_STEPConstruct.STEPConstruct_DataMapOfAsciiStringTransient_swigregister(STEPConstruct_DataMapOfAsciiStringTransient)
class STEPConstruct_DataMapOfPointTransient(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 _STEPConstruct.STEPConstruct_DataMapOfPointTransient_begin(self)

    def end(self):
        return _STEPConstruct.STEPConstruct_DataMapOfPointTransient_end(self)

    def cbegin(self):
        return _STEPConstruct.STEPConstruct_DataMapOfPointTransient_cbegin(self)

    def cend(self):
        return _STEPConstruct.STEPConstruct_DataMapOfPointTransient_cend(self)

    def __init__(self, *args):
        _STEPConstruct.STEPConstruct_DataMapOfPointTransient_swiginit(self, _STEPConstruct.new_STEPConstruct_DataMapOfPointTransient(*args))

    def Exchange(self, theOther):
        return _STEPConstruct.STEPConstruct_DataMapOfPointTransient_Exchange(self, theOther)

    def Assign(self, theOther):
        return _STEPConstruct.STEPConstruct_DataMapOfPointTransient_Assign(self, theOther)

    def Set(self, theOther):
        return _STEPConstruct.STEPConstruct_DataMapOfPointTransient_Set(self, theOther)

    def ReSize(self, N):
        return _STEPConstruct.STEPConstruct_DataMapOfPointTransient_ReSize(self, N)

    def Bind(self, theKey, theItem):
        return _STEPConstruct.STEPConstruct_DataMapOfPointTransient_Bind(self, theKey, theItem)

    def Bound(self, theKey, theItem):
        return _STEPConstruct.STEPConstruct_DataMapOfPointTransient_Bound(self, theKey, theItem)

    def IsBound(self, theKey):
        return _STEPConstruct.STEPConstruct_DataMapOfPointTransient_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _STEPConstruct.STEPConstruct_DataMapOfPointTransient_UnBind(self, theKey)

    def Seek(self, theKey):
        return _STEPConstruct.STEPConstruct_DataMapOfPointTransient_Seek(self, theKey)

    def Find(self, *args):
        return _STEPConstruct.STEPConstruct_DataMapOfPointTransient_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _STEPConstruct.STEPConstruct_DataMapOfPointTransient_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _STEPConstruct.STEPConstruct_DataMapOfPointTransient_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _STEPConstruct.STEPConstruct_DataMapOfPointTransient___call__(self, *args)

    def Clear(self, *args):
        return _STEPConstruct.STEPConstruct_DataMapOfPointTransient_Clear(self, *args)
    __swig_destroy__ = _STEPConstruct.delete_STEPConstruct_DataMapOfPointTransient

    def Size(self):
        return _STEPConstruct.STEPConstruct_DataMapOfPointTransient_Size(self)

# Register STEPConstruct_DataMapOfPointTransient in _STEPConstruct:
_STEPConstruct.STEPConstruct_DataMapOfPointTransient_swigregister(STEPConstruct_DataMapOfPointTransient)
class stepconstruct(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        ComponentBinder: Transfer_Binder
        AssemblySDR: StepShape_ShapeDefinitionRepresentation
        ComponentCDSR: StepShape_ContextDependentShapeRepresentation

        Return
        -------
        bool

        Description
        -----------
        Find cdsr correcponding to the component in the specified assembly.

        """
        return _STEPConstruct.stepconstruct_FindCDSR(*args)

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

        Parameters
        ----------
        FinderProcess: Transfer_FinderProcess
        Shape: TopoDS_Shape

        Return
        -------
        opencascade::handle<StepRepr_RepresentationItem>

        Description
        -----------
        Returns step entity of the (sub)type of representationitem which is a result of the tranalation of the shape, or null if no result is recorded.

        Parameters
        ----------
        FinderProcess: Transfer_FinderProcess
        Shape: TopoDS_Shape
        Loc: TopLoc_Location

        Return
        -------
        opencascade::handle<StepRepr_RepresentationItem>

        Description
        -----------
        The same as above, but in the case if item not found, repeats search on the same shape without location. the loc corresponds to the location with which result is found (either location of the shape, or null).

        """
        return _STEPConstruct.stepconstruct_FindEntity(*args)

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

        Parameters
        ----------
        TransientProcess: Transfer_TransientProcess
        item: StepRepr_RepresentationItem

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns shape resulting from given step entity (null if not mapped).

        """
        return _STEPConstruct.stepconstruct_FindShape(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _STEPConstruct.stepconstruct_swiginit(self, _STEPConstruct.new_stepconstruct())
    __swig_destroy__ = _STEPConstruct.delete_stepconstruct

# Register stepconstruct in _STEPConstruct:
_STEPConstruct.stepconstruct_swigregister(stepconstruct)
class STEPConstruct_AP203Context(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 tool and fills constant fields.

        """
        _STEPConstruct.STEPConstruct_AP203Context_swiginit(self, _STEPConstruct.new_STEPConstruct_AP203Context(*args))

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

        Description
        -----------
        Clears all fields describing entities specific to each part.

        """
        return _STEPConstruct.STEPConstruct_AP203Context_Clear(self, *args)

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

        Description
        -----------
        Returns default approval entity which is used when no other data are available.

        """
        return _STEPConstruct.STEPConstruct_AP203Context_DefaultApproval(self, *args)

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

        Description
        -----------
        Returns default date_and_time entity which is used when no other data are available.

        """
        return _STEPConstruct.STEPConstruct_AP203Context_DefaultDateAndTime(self, *args)

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

        Description
        -----------
        Returns default person_and_organization entity which is used when no other data are available.

        """
        return _STEPConstruct.STEPConstruct_AP203Context_DefaultPersonAndOrganization(self, *args)

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

        Description
        -----------
        Returns default security_classification_level entity which is used when no other data are available.

        """
        return _STEPConstruct.STEPConstruct_AP203Context_DefaultSecurityClassificationLevel(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_AP203Context_GetApproval(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_AP203Context_GetApprovalDateTime(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_AP203Context_GetApprover(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_AP203Context_GetClassificationDate(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_AP203Context_GetClassificationOfficer(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_AP203Context_GetCreationDate(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_AP203Context_GetCreator(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_AP203Context_GetDesignOwner(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_AP203Context_GetDesignSupplier(self, *args)

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

        Description
        -----------
        Return entities (roots) instantiated for the part by method init.

        """
        return _STEPConstruct.STEPConstruct_AP203Context_GetProductCategoryRelationship(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_AP203Context_GetSecurity(self, *args)

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

        Parameters
        ----------
        sdr: StepShape_ShapeDefinitionRepresentation

        Return
        -------
        None

        Description
        -----------
        Takes sdr (part) which brings all standard data around part (common for ap203 and ap214) and creates all the additional entities required for ap203.

        Parameters
        ----------
        SDRTool: STEPConstruct_Part

        Return
        -------
        None

        Description
        -----------
        Takes tool which describes standard data around part (common for ap203 and ap214) and creates all the additional entities required for ap203 //! the created entities can be obtained by calls to methods getcreator(), getdesignowner(), getdesignsupplier(), getclassificationofficer(), getsecurity(), getcreationdate(), getclassificationdate(), getapproval(), getapprover(), getapprovaldatetime(), getproductcategoryrelationship().

        Parameters
        ----------
        nauo: StepRepr_NextAssemblyUsageOccurrence

        Return
        -------
        None

        Description
        -----------
        Takes nauo which describes assembly link to component and creates the security_classification entity associated to it as required by the ap203 //! instantiated (or existing previously) entities concerned can be obtained by calls to methods getclassificationofficer(), getsecurity(), getclassificationdate(), getapproval(), getapprover(), getapprovaldatetime() takes tool which describes standard data around part (common for ap203 and ap214) and takes from model (or creates if missing) all the additional entities required by ap203.

        """
        return _STEPConstruct.STEPConstruct_AP203Context_Init(self, *args)

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

        Description
        -----------
        Initializes approver and approvaldatetime entities according to approval entity.

        """
        return _STEPConstruct.STEPConstruct_AP203Context_InitApprovalRequisites(self, *args)

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

        Parameters
        ----------
        nauo: StepRepr_NextAssemblyUsageOccurrence

        Return
        -------
        None

        Description
        -----------
        Initializes all missing data which are required for assembly.

        """
        return _STEPConstruct.STEPConstruct_AP203Context_InitAssembly(self, *args)

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

        Description
        -----------
        Initializes constant fields (shared entities).

        """
        return _STEPConstruct.STEPConstruct_AP203Context_InitRoles(self, *args)

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

        Description
        -----------
        Initializes classificationofficer and classificationdate entities according to security entity.

        """
        return _STEPConstruct.STEPConstruct_AP203Context_InitSecurityRequisites(self, *args)

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

        Description
        -----------
        Return predefined personandorganizationrole and datetimerole entities named 'creator', 'design owner', 'design supplier', 'classification officer', 'creation date', 'classification date', 'approver'.

        """
        return _STEPConstruct.STEPConstruct_AP203Context_RoleApprover(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_AP203Context_RoleClassificationDate(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_AP203Context_RoleClassificationOfficer(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_AP203Context_RoleCreationDate(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_AP203Context_RoleCreator(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_AP203Context_RoleDesignOwner(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_AP203Context_RoleDesignSupplier(self, *args)

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

        Parameters
        ----------
        app: StepBasic_Approval

        Return
        -------
        None

        Description
        -----------
        Sets default approval.

        """
        return _STEPConstruct.STEPConstruct_AP203Context_SetDefaultApproval(self, *args)

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

        Parameters
        ----------
        dt: StepBasic_DateAndTime

        Return
        -------
        None

        Description
        -----------
        Sets default date_and_time entity.

        """
        return _STEPConstruct.STEPConstruct_AP203Context_SetDefaultDateAndTime(self, *args)

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

        Parameters
        ----------
        po: StepBasic_PersonAndOrganization

        Return
        -------
        None

        Description
        -----------
        Sets default person_and_organization entity.

        """
        return _STEPConstruct.STEPConstruct_AP203Context_SetDefaultPersonAndOrganization(self, *args)

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

        Parameters
        ----------
        sc: StepBasic_SecurityClassificationLevel

        Return
        -------
        None

        Description
        -----------
        Sets default security_classification_level.

        """
        return _STEPConstruct.STEPConstruct_AP203Context_SetDefaultSecurityClassificationLevel(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _STEPConstruct.delete_STEPConstruct_AP203Context

# Register STEPConstruct_AP203Context in _STEPConstruct:
_STEPConstruct.STEPConstruct_AP203Context_swigregister(STEPConstruct_AP203Context)
class STEPConstruct_Assembly(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.

        """
        _STEPConstruct.STEPConstruct_Assembly_swiginit(self, _STEPConstruct.new_STEPConstruct_Assembly(*args))

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

        Parameters
        ----------
        theGraph: Interface_Graph
        CDSR: StepShape_ContextDependentShapeRepresentation

        Return
        -------
        bool

        Description
        -----------
        Checks whether srr's definition of assembly and component contradicts with nauo definition or not, according to model schema (ap214 or ap203).

        """
        return _STEPConstruct.STEPConstruct_Assembly_CheckSRRReversesNAUO(*args)

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

        Description
        -----------
        Returns nauo object describing the assembly link.

        """
        return _STEPConstruct.STEPConstruct_Assembly_GetNAUO(self, *args)

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

        Parameters
        ----------
        aSR: StepShape_ShapeDefinitionRepresentation
        SDR0: StepShape_ShapeDefinitionRepresentation
        Ax0: StepGeom_Axis2Placement3d
        Loc: StepGeom_Axis2Placement3d

        Return
        -------
        None

        Description
        -----------
        Initialises with starting values ax0: origin axis (typically, standard xyz) loc: location to which place the item makes a mappeditem resulting value is returned by itemvalue.

        """
        return _STEPConstruct.STEPConstruct_Assembly_Init(self, *args)

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

        Description
        -----------
        Returns the location of the item, computed from starting aloc.

        """
        return _STEPConstruct.STEPConstruct_Assembly_ItemLocation(self, *args)

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

        Description
        -----------
        Returns the value if no make... has been called, returns the starting sr.

        """
        return _STEPConstruct.STEPConstruct_Assembly_ItemValue(self, *args)

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

        Description
        -----------
        Make a (shaperepresentationrelationship,...withtransformation) resulting value is returned by itemvalue.

        """
        return _STEPConstruct.STEPConstruct_Assembly_MakeRelationship(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _STEPConstruct.delete_STEPConstruct_Assembly

# Register STEPConstruct_Assembly in _STEPConstruct:
_STEPConstruct.STEPConstruct_Assembly_swigregister(STEPConstruct_Assembly)
class STEPConstruct_ContextTool(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.

        Parameters
        ----------
        aStepModel: StepData_StepModel

        Return
        -------
        None

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

        """
        _STEPConstruct.STEPConstruct_ContextTool_swiginit(self, _STEPConstruct.new_STEPConstruct_ContextTool(*args))

    def AP203Context(self, *args):
        r"""
        Return
        -------
        STEPConstruct_AP203Context

        Description
        -----------
        Returns tool which maintains context specific for ap203.

        """
        return _STEPConstruct.STEPConstruct_ContextTool_AP203Context(self, *args)

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

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

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_ContextTool_AddAPD(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_ContextTool_GetACname(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_ContextTool_GetACschemaName(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_ContextTool_GetACstatus(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_ContextTool_GetACyear(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_ContextTool_GetAPD(self, *args)

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

        Description
        -----------
        Returns a default axis placement.

        """
        return _STEPConstruct.STEPConstruct_ContextTool_GetDefaultAxis(self, *args)

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

        Description
        -----------
        Generates a product name basing on write.step.product.name parameter and current position in the assembly structure.

        """
        return _STEPConstruct.STEPConstruct_ContextTool_GetProductName(self, *args)

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

        Parameters
        ----------
        assembly: STEPConstruct_Assembly

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

        Description
        -----------
        Produces and returns a full list of root entities required for assembly link identified by assembly (including nauo and cdsr).

        """
        return _STEPConstruct.STEPConstruct_ContextTool_GetRootsForAssemblyLink(self, *args)

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

        Parameters
        ----------
        SDRTool: STEPConstruct_Part

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

        Description
        -----------
        Produces and returns a full list of root entities required for part identified by sdrtool (including sdr itself).

        """
        return _STEPConstruct.STEPConstruct_ContextTool_GetRootsForPart(self, *args)

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

        Description
        -----------
        Returns current index of assembly component on current level.

        """
        return _STEPConstruct.STEPConstruct_ContextTool_Index(self, *args)

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

        Description
        -----------
        Returns true if apd.schema_name is config_control_design.

        """
        return _STEPConstruct.STEPConstruct_ContextTool_IsAP203(self, *args)

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

        Description
        -----------
        Returns true if apd.schema_name is automotive_design.

        """
        return _STEPConstruct.STEPConstruct_ContextTool_IsAP214(self, *args)

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

        Description
        -----------
        Returns true if apd.schema_name is ap242_managed_model_based_3d_engineering.

        """
        return _STEPConstruct.STEPConstruct_ContextTool_IsAP242(self, *args)

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

        Description
        -----------
        Returns current assembly level.

        """
        return _STEPConstruct.STEPConstruct_ContextTool_Level(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_ContextTool_NextIndex(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_ContextTool_NextLevel(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_ContextTool_PrevIndex(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_ContextTool_PrevLevel(self, *args)

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

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

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_ContextTool_SetACname(self, *args)

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

        Parameters
        ----------
        schemaName: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_ContextTool_SetACschemaName(self, *args)

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

        Parameters
        ----------
        status: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_ContextTool_SetACstatus(self, *args)

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

        Parameters
        ----------
        year: int

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_ContextTool_SetACyear(self, *args)

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

        Parameters
        ----------
        ind: int

        Return
        -------
        None

        Description
        -----------
        Changes current index of assembly component on current level.

        """
        return _STEPConstruct.STEPConstruct_ContextTool_SetIndex(self, *args)

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

        Parameters
        ----------
        lev: int

        Return
        -------
        None

        Description
        -----------
        Changes current assembly level.

        """
        return _STEPConstruct.STEPConstruct_ContextTool_SetLevel(self, *args)

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

        Parameters
        ----------
        aStepModel: StepData_StepModel

        Return
        -------
        None

        Description
        -----------
        Initialize applicationprotocoldefinition by the first entity of that type found in the model.

        """
        return _STEPConstruct.STEPConstruct_ContextTool_SetModel(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _STEPConstruct.delete_STEPConstruct_ContextTool

# Register STEPConstruct_ContextTool in _STEPConstruct:
_STEPConstruct.STEPConstruct_ContextTool_swigregister(STEPConstruct_ContextTool)
class STEPConstruct_Part(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.

        """
        _STEPConstruct.STEPConstruct_Part_swiginit(self, _STEPConstruct.new_STEPConstruct_Part(*args))

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_AC(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_ACapplication(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_IsDone(self, *args)

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

        Parameters
        ----------
        aShape: StepShape_ShapeRepresentation
        aName: TCollection_HAsciiString
        AC: StepBasic_ApplicationContext

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_Part_MakeSDR(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_PC(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_PCdisciplineType(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_PCname(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_PD(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_PDC(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_PDCname(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_PDCstage(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_PDF(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_PDFdescription(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_PDFid(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_PDS(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_PDSdescription(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_PDSname(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_PDdescription(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_PRPC(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_PRPCdescription(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_PRPCname(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_Pdescription(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_Pid(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_Pname(self, *args)

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

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

        """
        return _STEPConstruct.STEPConstruct_Part_Product(self, *args)

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

        Parameters
        ----------
        aShape: StepShape_ShapeDefinitionRepresentation

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_Part_ReadSDR(self, *args)

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

        Description
        -----------
        Returns sdr or null if not done.

        """
        return _STEPConstruct.STEPConstruct_Part_SDRValue(self, *args)

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

        Description
        -----------
        Returns sdr->usedrepresentation() or null if not done.

        """
        return _STEPConstruct.STEPConstruct_Part_SRValue(self, *args)

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

        Parameters
        ----------
        text: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_Part_SetACapplication(self, *args)

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

        Parameters
        ----------
        label: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_Part_SetPCdisciplineType(self, *args)

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

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

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_Part_SetPCname(self, *args)

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

        Parameters
        ----------
        label: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_Part_SetPDCname(self, *args)

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

        Parameters
        ----------
        label: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_Part_SetPDCstage(self, *args)

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

        Parameters
        ----------
        text: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_Part_SetPDFdescription(self, *args)

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

        Parameters
        ----------
        id: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_Part_SetPDFid(self, *args)

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

        Parameters
        ----------
        text: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_Part_SetPDSdescription(self, *args)

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

        Parameters
        ----------
        label: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_Part_SetPDSname(self, *args)

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

        Parameters
        ----------
        text: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_Part_SetPDdescription(self, *args)

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

        Parameters
        ----------
        text: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_Part_SetPRPCdescription(self, *args)

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

        Parameters
        ----------
        label: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_Part_SetPRPCname(self, *args)

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

        Parameters
        ----------
        text: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_Part_SetPdescription(self, *args)

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

        Parameters
        ----------
        id: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_Part_SetPid(self, *args)

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

        Parameters
        ----------
        label: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _STEPConstruct.STEPConstruct_Part_SetPname(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _STEPConstruct.delete_STEPConstruct_Part

# Register STEPConstruct_Part in _STEPConstruct:
_STEPConstruct.STEPConstruct_Part_swigregister(STEPConstruct_Part)
class STEPConstruct_PointHasher(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        thePoint: gp_Pnt
        theUpperBound: int

        Return
        -------
        int

        Description
        -----------
        Computes a hash code for the point, in the range [1, theupperbound] @param thepoint the point which hash code is to be computed @param theupperbound the upper bound of the range a computing hash code must be within return a computed hash code, in the range [1, theupperbound].

        """
        return _STEPConstruct.STEPConstruct_PointHasher_HashCode(*args)

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

        Parameters
        ----------
        Point1: gp_Pnt
        Point2: gp_Pnt

        Return
        -------
        bool

        Description
        -----------
        Returns true when the two keys are the same. two same keys must have the same hashcode, the contrary is not necessary.

        """
        return _STEPConstruct.STEPConstruct_PointHasher_IsEqual(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _STEPConstruct.STEPConstruct_PointHasher_swiginit(self, _STEPConstruct.new_STEPConstruct_PointHasher())
    __swig_destroy__ = _STEPConstruct.delete_STEPConstruct_PointHasher

# Register STEPConstruct_PointHasher in _STEPConstruct:
_STEPConstruct.STEPConstruct_PointHasher_swigregister(STEPConstruct_PointHasher)
class STEPConstruct_Tool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates an empty tool.

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

        Return
        -------
        None

        Description
        -----------
        Creates a tool and loads it with worksession.

        """
        _STEPConstruct.STEPConstruct_Tool_swiginit(self, _STEPConstruct.new_STEPConstruct_Tool(*args))

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

        Description
        -----------
        Returns finderprocess (writing; null if not loaded).

        """
        return _STEPConstruct.STEPConstruct_Tool_FinderProcess(self, *args)

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

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

        Return
        -------
        Interface_Graph

        Description
        -----------
        Returns current graph (recomputing if necessary).

        """
        return _STEPConstruct.STEPConstruct_Tool_Graph(self, *args)

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

        Description
        -----------
        Returns current model (null if not loaded).

        """
        return _STEPConstruct.STEPConstruct_Tool_Model(self, *args)

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

        Description
        -----------
        Returns transientprocess (reading; null if not loaded).

        """
        return _STEPConstruct.STEPConstruct_Tool_TransientProcess(self, *args)

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

        Description
        -----------
        Returns currently loaded worksession.

        """
        return _STEPConstruct.STEPConstruct_Tool_WS(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _STEPConstruct.delete_STEPConstruct_Tool

# Register STEPConstruct_Tool in _STEPConstruct:
_STEPConstruct.STEPConstruct_Tool_swigregister(STEPConstruct_Tool)
class STEPConstruct_UnitContext(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Creates empty tool.

        """
        _STEPConstruct.STEPConstruct_UnitContext_swiginit(self, _STEPConstruct.new_STEPConstruct_UnitContext(*args))

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

        Description
        -----------
        Returns true if areafactor is computed.

        """
        return _STEPConstruct.STEPConstruct_UnitContext_AreaDone(self, *args)

    def AreaFactor(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Returns the areafactor.

        """
        return _STEPConstruct.STEPConstruct_UnitContext_AreaFactor(self, *args)

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

        Parameters
        ----------
        aContext: StepRepr_GlobalUnitAssignedContext

        Return
        -------
        int

        Description
        -----------
        Computes the length, plane angle and solid angle conversion factor . returns a status, 0 if ok.

        Parameters
        ----------
        aUnit: StepBasic_NamedUnit

        Return
        -------
        int

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

        """
        return _STEPConstruct.STEPConstruct_UnitContext_ComputeFactors(self, *args)

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

        Parameters
        ----------
        aContext: StepRepr_GlobalUncertaintyAssignedContext

        Return
        -------
        int

        Description
        -----------
        Computes the uncertainty value (for length).

        """
        return _STEPConstruct.STEPConstruct_UnitContext_ComputeTolerance(self, *args)

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

        Parameters
        ----------
        aPrefix: StepBasic_SiPrefix

        Return
        -------
        float

        Description
        -----------
        Convert si prefix defined by enumeration to corresponding real factor (e.g. 1e6 for mega).

        """
        return _STEPConstruct.STEPConstruct_UnitContext_ConvertSiPrefix(*args)

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

        Description
        -----------
        Tells if a uncertainty (for length) is recorded.

        """
        return _STEPConstruct.STEPConstruct_UnitContext_HasUncertainty(self, *args)

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

        Parameters
        ----------
        Tol3d: float

        Return
        -------
        None

        Description
        -----------
        Creates new context (units are mm and radians, uncertainty equal to tol3d).

        """
        return _STEPConstruct.STEPConstruct_UnitContext_Init(self, *args)

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

        Description
        -----------
        Returns true if init was called successfully.

        """
        return _STEPConstruct.STEPConstruct_UnitContext_IsDone(self, *args)

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

        Description
        -----------
        Returns true if computefactors has calculated a lengthfactor.

        """
        return _STEPConstruct.STEPConstruct_UnitContext_LengthDone(self, *args)

    def LengthFactor(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Returns the lengthfactor.

        """
        return _STEPConstruct.STEPConstruct_UnitContext_LengthFactor(self, *args)

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

        Description
        -----------
        Returns true if computefactors has calculated a planeanglefactor.

        """
        return _STEPConstruct.STEPConstruct_UnitContext_PlaneAngleDone(self, *args)

    def PlaneAngleFactor(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Returns the planeanglefactor.

        """
        return _STEPConstruct.STEPConstruct_UnitContext_PlaneAngleFactor(self, *args)

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

        Description
        -----------
        Returns true if computefactors has calculated a solidanglefactor.

        """
        return _STEPConstruct.STEPConstruct_UnitContext_SolidAngleDone(self, *args)

    def SolidAngleFactor(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Returns the solidanglefactor.

        """
        return _STEPConstruct.STEPConstruct_UnitContext_SolidAngleFactor(self, *args)

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

        Parameters
        ----------
        status: int

        Return
        -------
        str

        Description
        -----------
        Returns a message for a given status (0 - empty) this message can then be added as warning for transfer.

        """
        return _STEPConstruct.STEPConstruct_UnitContext_StatusMessage(self, *args)

    def Uncertainty(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Returns the uncertainty value (for length) it has been converted with lengthfactor.

        """
        return _STEPConstruct.STEPConstruct_UnitContext_Uncertainty(self, *args)

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

        Description
        -----------
        Returns context (or null if not done).

        """
        return _STEPConstruct.STEPConstruct_UnitContext_Value(self, *args)

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

        Description
        -----------
        Returns true if volumefactor is computed.

        """
        return _STEPConstruct.STEPConstruct_UnitContext_VolumeDone(self, *args)

    def VolumeFactor(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Returns the volumefactor.

        """
        return _STEPConstruct.STEPConstruct_UnitContext_VolumeFactor(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _STEPConstruct.delete_STEPConstruct_UnitContext

# Register STEPConstruct_UnitContext in _STEPConstruct:
_STEPConstruct.STEPConstruct_UnitContext_swigregister(STEPConstruct_UnitContext)
class STEPConstruct_ExternRefs(STEPConstruct_Tool):
    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 tool.

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

        Return
        -------
        None

        Description
        -----------
        Creates a tool and initializes it.

        """
        _STEPConstruct.STEPConstruct_ExternRefs_swiginit(self, _STEPConstruct.new_STEPConstruct_ExternRefs(*args))

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

        Parameters
        ----------
        filename: str
        PD: StepBasic_ProductDefinition
        format: str

        Return
        -------
        int

        Description
        -----------
        Create a new external reference with specified attributes attached to a given sdr <format> can be null string, in that case this information is not written. else, it can be 'step ap214' or 'step ap203' returns index of a new extern ref.

        """
        return _STEPConstruct.STEPConstruct_ExternRefs_AddExternRef(self, *args)

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

        Description
        -----------
        Clears internal fields (list of defined extern refs).

        """
        return _STEPConstruct.STEPConstruct_ExternRefs_Clear(self, *args)

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

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

        Return
        -------
        opencascade::handle<StepBasic_DocumentFile>

        Description
        -----------
        Returns documentfile to which numth extern reference is associated. returns null if cannot be detected.

        """
        return _STEPConstruct.STEPConstruct_ExternRefs_DocFile(self, *args)

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

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

        Return
        -------
        str

        Description
        -----------
        Returns filename for numth extern reference returns null if filename is not defined or bad.

        """
        return _STEPConstruct.STEPConstruct_ExternRefs_FileName(self, *args)

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

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

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

        Description
        -----------
        Returns format identification string for the extern document returns null handle if format is not defined.

        """
        return _STEPConstruct.STEPConstruct_ExternRefs_Format(self, *args)

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

        Description
        -----------
        Returns the applicationprotocoldefinition of the pdm schema note: if not defined then create new apd with new application context.

        """
        return _STEPConstruct.STEPConstruct_ExternRefs_GetAP214APD(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Initializes tool; returns true if succeeded.

        """
        return _STEPConstruct.STEPConstruct_ExternRefs_Init(self, *args)

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

        Description
        -----------
        Searches current step model for external references and loads them to the internal data structures note: does not clear data structures before loading.

        """
        return _STEPConstruct.STEPConstruct_ExternRefs_LoadExternRefs(self, *args)

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

        Description
        -----------
        Returns number of defined extern references.

        """
        return _STEPConstruct.STEPConstruct_ExternRefs_NbExternRefs(self, *args)

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

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

        Return
        -------
        opencascade::handle<StepBasic_ProductDefinition>

        Description
        -----------
        Returns productdefinition to which numth extern reference is associated. returns null if cannot be detected or if extern reference is not associated to sdr in a proper way.

        """
        return _STEPConstruct.STEPConstruct_ExternRefs_ProdDef(self, *args)

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

        Parameters
        ----------
        APD: StepBasic_ApplicationProtocolDefinition

        Return
        -------
        None

        Description
        -----------
        Set the applicationprotocoldefinition of the pdm schema.

        """
        return _STEPConstruct.STEPConstruct_ExternRefs_SetAP214APD(self, *args)

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

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

        Return
        -------
        int

        Description
        -----------
        Adds all the currently defined external refs to the model returns number of written extern refs.

        """
        return _STEPConstruct.STEPConstruct_ExternRefs_WriteExternRefs(self, *args)

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

        Description
        -----------
        Check (create if it is null) all shared entities for the model.

        """
        return _STEPConstruct.STEPConstruct_ExternRefs_checkAP214Shared(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _STEPConstruct.delete_STEPConstruct_ExternRefs

# Register STEPConstruct_ExternRefs in _STEPConstruct:
_STEPConstruct.STEPConstruct_ExternRefs_swigregister(STEPConstruct_ExternRefs)
class STEPConstruct_Styles(STEPConstruct_Tool):
    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 tool.

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

        Return
        -------
        None

        Description
        -----------
        Creates a tool and initializes it.

        """
        _STEPConstruct.STEPConstruct_Styles_swiginit(self, _STEPConstruct.new_STEPConstruct_Styles(*args))

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

        Parameters
        ----------
        style: StepVisual_StyledItem

        Return
        -------
        None

        Description
        -----------
        Adds a style to a sequence.

        Parameters
        ----------
        item: StepRepr_RepresentationItem
        PSA: StepVisual_PresentationStyleAssignment
        Override: StepVisual_StyledItem

        Return
        -------
        opencascade::handle<StepVisual_StyledItem>

        Description
        -----------
        Create a style linking giving psa to the item, and add it to the sequence of stored styles. if override is not null, then the resulting style will be of the subtype overridingstyleditem.

        Parameters
        ----------
        Shape: TopoDS_Shape
        PSA: StepVisual_PresentationStyleAssignment
        Override: StepVisual_StyledItem

        Return
        -------
        opencascade::handle<StepVisual_StyledItem>

        Description
        -----------
        Create a style linking giving psa to the shape, and add it to the sequence of stored styles. if override is not null, then the resulting style will be of the subtype overridingstyleditem. the sape is used to find corresponding step entity by call to stepconstruct::findentity(), then previous method is called.

        """
        return _STEPConstruct.STEPConstruct_Styles_AddStyle(self, *args)

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

        Description
        -----------
        Clears all defined styles and psa sequence.

        """
        return _STEPConstruct.STEPConstruct_Styles_ClearStyles(self, *args)

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

        Parameters
        ----------
        Context: StepRepr_RepresentationContext
        MDGPR: StepVisual_MechanicalDesignGeometricPresentationRepresentation

        Return
        -------
        bool

        Description
        -----------
        Create mdgpr, fill it with all the styles previously defined, and add it to the model.

        """
        return _STEPConstruct.STEPConstruct_Styles_CreateMDGPR(self, *args)

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

        Parameters
        ----------
        Context: StepRepr_RepresentationContext
        CDSR: StepShape_ContextDependentShapeRepresentation
        initPDS: StepRepr_ProductDefinitionShape

        Return
        -------
        bool

        Description
        -----------
        Create mdgpr, fill it with all the styles previously defined, and add it to the model important: <initpds> must be null when use for nauo colors <initpds> initialised only for shuo case.

        """
        return _STEPConstruct.STEPConstruct_Styles_CreateNAUOSRD(self, *args)

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

        Parameters
        ----------
        Colour: StepVisual_Colour
        Col: Quantity_Color

        Return
        -------
        bool

        Description
        -----------
        Decodes step color and fills the quantity_color. returns true if ok or false if color is not recognized.

        """
        return _STEPConstruct.STEPConstruct_Styles_DecodeColor(*args)

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

        Parameters
        ----------
        Col: Quantity_Color

        Return
        -------
        opencascade::handle<StepVisual_Colour>

        Description
        -----------
        Create step color entity by given quantity_color the analysis is performed for whether the color corresponds to one of standard colors predefined in step. in that case, predefinedcolour entity is created instead of rgbcolour.

        Parameters
        ----------
        Col: Quantity_Color
        DPDCs: STEPConstruct_DataMapOfAsciiStringTransient
        ColRGBs: STEPConstruct_DataMapOfPointTransient

        Return
        -------
        opencascade::handle<StepVisual_Colour>

        Description
        -----------
        Create step color entity by given quantity_color the analysis is performed for whether the color corresponds to one of standard colors predefined in step. in that case, predefinedcolour entity is created instead of rgbcolour.

        """
        return _STEPConstruct.STEPConstruct_Styles_EncodeColor(*args)

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

        Parameters
        ----------
        Shape: TopoDS_Shape

        Return
        -------
        opencascade::handle<StepRepr_RepresentationContext>

        Description
        -----------
        Searches the step model for the representationcontext in which given shape is defined. this context (if found) can be used then in call to createmdgpr().

        """
        return _STEPConstruct.STEPConstruct_Styles_FindContext(self, *args)

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

        Parameters
        ----------
        item: StepRepr_RepresentationItem
        Col: StepVisual_Colour

        Return
        -------
        opencascade::handle<StepVisual_PresentationStyleAssignment>

        Description
        -----------
        Returns a presentationstyleassignment entity which defines surface and curve colors as col. this psa is either created or taken from internal map where all psas created by this method are remembered.

        """
        return _STEPConstruct.STEPConstruct_Styles_GetColorPSA(self, *args)

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

        Parameters
        ----------
        style: StepVisual_StyledItem
        SurfCol: StepVisual_Colour
        BoundCol: StepVisual_Colour
        CurveCol: StepVisual_Colour
        RenderCol: StepVisual_Colour

        Return
        -------
        RenderTransp: float
        IsComponent: bool

        Description
        -----------
        Extract color definitions from the style entity for each type of color supported, result can be either null if it is not defined by that style, or last definition (if they are 1 or more).

        """
        return _STEPConstruct.STEPConstruct_Styles_GetColors(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Initializes tool; returns true if succeeded.

        """
        return _STEPConstruct.STEPConstruct_Styles_Init(self, *args)

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

        Parameters
        ----------
        InvSyles: TColStd_HSequenceOfTransient

        Return
        -------
        bool

        Description
        -----------
        Searches the step model for the inisibility entities (which bring styles) and fills out sequence of styles.

        """
        return _STEPConstruct.STEPConstruct_Styles_LoadInvisStyles(self, *args)

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

        Description
        -----------
        Searches the step model for the mdgpr or dm entities (which bring styles) and fills sequence of styles.

        """
        return _STEPConstruct.STEPConstruct_Styles_LoadStyles(self, *args)

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

        Parameters
        ----------
        item: StepRepr_RepresentationItem
        SurfCol: StepVisual_Colour
        CurveCol: StepVisual_Colour
        RenderCol: StepVisual_Colour
        RenderTransp: float
        isForNAUO: bool (optional, default to Standard_False)

        Return
        -------
        opencascade::handle<StepVisual_PresentationStyleAssignment>

        Description
        -----------
        Create a presentationstyleassignment entity which defines two colors (for filling surfaces and curves) if isfornauo true then returns presentationstylebycontext.

        """
        return _STEPConstruct.STEPConstruct_Styles_MakeColorPSA(self, *args)

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

        Description
        -----------
        Returns number of override styles.

        """
        return _STEPConstruct.STEPConstruct_Styles_NbRootStyles(self, *args)

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

        Description
        -----------
        Returns number of defined styles.

        """
        return _STEPConstruct.STEPConstruct_Styles_NbStyles(self, *args)

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

        Parameters
        ----------
        i: int

        Return
        -------
        opencascade::handle<StepVisual_StyledItem>

        Description
        -----------
        Returns override style with given index.

        """
        return _STEPConstruct.STEPConstruct_Styles_RootStyle(self, *args)

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

        Parameters
        ----------
        i: int

        Return
        -------
        opencascade::handle<StepVisual_StyledItem>

        Description
        -----------
        Returns style with given index.

        """
        return _STEPConstruct.STEPConstruct_Styles_Style(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _STEPConstruct.delete_STEPConstruct_Styles

# Register STEPConstruct_Styles in _STEPConstruct:
_STEPConstruct.STEPConstruct_Styles_swigregister(STEPConstruct_Styles)
class STEPConstruct_ValidationProps(STEPConstruct_Tool):
    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 tool.

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

        Return
        -------
        None

        Description
        -----------
        Creates a tool and loads it with worksession.

        """
        _STEPConstruct.STEPConstruct_ValidationProps_swiginit(self, _STEPConstruct.new_STEPConstruct_ValidationProps(*args))

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

        Parameters
        ----------
        Shape: TopoDS_Shape
        Area: float

        Return
        -------
        bool

        Description
        -----------
        Adds surface area property for given shape (already mapped). returns true if success, false in case of fail.

        """
        return _STEPConstruct.STEPConstruct_ValidationProps_AddArea(self, *args)

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

        Parameters
        ----------
        Shape: TopoDS_Shape
        Pnt: gp_Pnt
        instance: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Adds centroid property for given shape (already mapped). returns true if success, false in case of fail if instance is true, then centroid is assigned to an instance of component in assembly.

        """
        return _STEPConstruct.STEPConstruct_ValidationProps_AddCentroid(self, *args)

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

        Parameters
        ----------
        Shape: TopoDS_Shape
        Prop: StepRepr_RepresentationItem
        Descr: str
        instance: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        General method for adding (writing) a validation property for shape which should be already mapped on writing itself. it uses findtarget() to find target step entity resulting from given shape, and associated context returns true if success, false in case of fail.

        Parameters
        ----------
        target: StepRepr_CharacterizedDefinition
        Context: StepRepr_RepresentationContext
        Prop: StepRepr_RepresentationItem
        Descr: str

        Return
        -------
        bool

        Description
        -----------
        General method for adding (writing) a validation property for shape which should be already mapped on writing itself. it takes target and context entities which correspond to shape returns true if success, false in case of fail.

        """
        return _STEPConstruct.STEPConstruct_ValidationProps_AddProp(self, *args)

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

        Parameters
        ----------
        Shape: TopoDS_Shape
        Vol: float

        Return
        -------
        bool

        Description
        -----------
        Adds volume property for given shape (already mapped). returns true if success, false in case of fail.

        """
        return _STEPConstruct.STEPConstruct_ValidationProps_AddVolume(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape
        target: StepRepr_CharacterizedDefinition
        Context: StepRepr_RepresentationContext
        instance: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Finds target step entity to which validation props should be assigned, and corresponding context, starting from shape returns true if success, false in case of fail.

        """
        return _STEPConstruct.STEPConstruct_ValidationProps_FindTarget(self, *args)

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

        Parameters
        ----------
        PD: StepRepr_PropertyDefinition

        Return
        -------
        opencascade::handle<StepRepr_NextAssemblyUsageOccurrence>

        Description
        -----------
        Returns cdsr associated with given ppd or null if not found (when, try getpropsdr).

        """
        return _STEPConstruct.STEPConstruct_ValidationProps_GetPropNAUO(self, *args)

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

        Parameters
        ----------
        PD: StepRepr_PropertyDefinition

        Return
        -------
        opencascade::handle<StepBasic_ProductDefinition>

        Description
        -----------
        Returns sdr associated with given ppd or null if not found (when, try getpropcdsr).

        """
        return _STEPConstruct.STEPConstruct_ValidationProps_GetPropPD(self, *args)

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

        Parameters
        ----------
        item: StepRepr_RepresentationItem
        Context: StepRepr_RepresentationContext
        Pnt: gp_Pnt

        Return
        -------
        bool

        Description
        -----------
        Returns value of centriod property (or false if it is not).

        """
        return _STEPConstruct.STEPConstruct_ValidationProps_GetPropPnt(self, *args)

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

        Parameters
        ----------
        item: StepRepr_RepresentationItem

        Return
        -------
        Val: float
        isArea: bool

        Description
        -----------
        Returns value of real-valued property (area or volume) if property is neither area nor volume, returns false else returns true and isarea indicates whether property is area or volume.

        """
        return _STEPConstruct.STEPConstruct_ValidationProps_GetPropReal(self, *args)

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

        Parameters
        ----------
        ProdDef: StepBasic_ProductDefinition

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns shape associated with given sdr or null shape if not found.

        Parameters
        ----------
        PD: StepRepr_PropertyDefinition

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns shape associated with given ppd or null shape if not found.

        """
        return _STEPConstruct.STEPConstruct_ValidationProps_GetPropShape(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Load worksession; returns true if succeeded.

        """
        return _STEPConstruct.STEPConstruct_ValidationProps_Init(self, *args)

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

        Parameters
        ----------
        seq: TColStd_SequenceOfTransient

        Return
        -------
        bool

        Description
        -----------
        Searches for entities of the type propertydefinitionrepresentation in the model and fills the sequence by them.

        """
        return _STEPConstruct.STEPConstruct_ValidationProps_LoadProps(self, *args)

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

        Parameters
        ----------
        shape: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Sets current assembly shape sdr (for findcdsr calls).

        """
        return _STEPConstruct.STEPConstruct_ValidationProps_SetAssemblyShape(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _STEPConstruct.delete_STEPConstruct_ValidationProps

# Register STEPConstruct_ValidationProps in _STEPConstruct:
_STEPConstruct.STEPConstruct_ValidationProps_swigregister(STEPConstruct_ValidationProps)



@deprecated
def stepconstruct_FindCDSR(*args):
	return stepconstruct.FindCDSR(*args)

@deprecated
def stepconstruct_FindEntity(*args):
	return stepconstruct.FindEntity(*args)

@deprecated
def stepconstruct_FindEntity(*args):
	return stepconstruct.FindEntity(*args)

@deprecated
def stepconstruct_FindShape(*args):
	return stepconstruct.FindShape(*args)

@deprecated
def STEPConstruct_Assembly_CheckSRRReversesNAUO(*args):
	return STEPConstruct_Assembly.CheckSRRReversesNAUO(*args)

@deprecated
def STEPConstruct_PointHasher_HashCode(*args):
	return STEPConstruct_PointHasher.HashCode(*args)

@deprecated
def STEPConstruct_PointHasher_IsEqual(*args):
	return STEPConstruct_PointHasher.IsEqual(*args)

@deprecated
def STEPConstruct_UnitContext_ConvertSiPrefix(*args):
	return STEPConstruct_UnitContext.ConvertSiPrefix(*args)

@deprecated
def STEPConstruct_Styles_DecodeColor(*args):
	return STEPConstruct_Styles.DecodeColor(*args)

@deprecated
def STEPConstruct_Styles_EncodeColor(*args):
	return STEPConstruct_Styles.EncodeColor(*args)

@deprecated
def STEPConstruct_Styles_EncodeColor(*args):
	return STEPConstruct_Styles.EncodeColor(*args)



