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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    def __sub__(self, *args) -> "ptrdiff_t":
        return _XCAFPrs.SwigPyIterator___sub__(self, *args)
    def __iter__(self):
        return self

# Register SwigPyIterator in _XCAFPrs:
_XCAFPrs.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 _XCAFPrs.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.TDF
import OCC.Core.TCollection
import OCC.Core.TColStd
import OCC.Core.TopLoc
import OCC.Core.gp
import OCC.Core.Quantity
import OCC.Core.AIS
import OCC.Core.SelectMgr
import OCC.Core.Graphic3d
import OCC.Core.BVH
import OCC.Core.Aspect
import OCC.Core.Image
import OCC.Core.Bnd
import OCC.Core.TColgp
import OCC.Core.OSD
import OCC.Core.Media
import OCC.Core.Select3D
import OCC.Core.SelectBasics
import OCC.Core.Geom
import OCC.Core.GeomAbs
import OCC.Core.PrsMgr
import OCC.Core.Prs3d
import OCC.Core.Poly
import OCC.Core.TShort
import OCC.Core.V3d
import OCC.Core.TopAbs
import OCC.Core.TopoDS
import OCC.Core.Message
import OCC.Core.StdSelect
import OCC.Core.TDocStd
import OCC.Core.CDF
import OCC.Core.CDM
import OCC.Core.Resource
import OCC.Core.PCDM
import OCC.Core.Storage
import OCC.Core.XCAFDoc
import OCC.Core.TDataStd
import OCC.Core.XCAFDimTolObjects
import OCC.Core.XCAFNoteObjects
import OCC.Core.TopTools
import OCC.Core.XCAFView
import OCC.Core.TPrsStd
import OCC.Core.TDataXtd
import OCC.Core.TNaming

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

XCAFPrs_DocumentExplorerFlags_None = _XCAFPrs.XCAFPrs_DocumentExplorerFlags_None
XCAFPrs_DocumentExplorerFlags_OnlyLeafNodes = _XCAFPrs.XCAFPrs_DocumentExplorerFlags_OnlyLeafNodes
XCAFPrs_DocumentExplorerFlags_NoStyle = _XCAFPrs.XCAFPrs_DocumentExplorerFlags_NoStyle



def Handle_XCAFPrs_AISObject_Create() -> "opencascade::handle< XCAFPrs_AISObject >":
    return _XCAFPrs.Handle_XCAFPrs_AISObject_Create()

def Handle_XCAFPrs_AISObject_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFPrs_AISObject >":
    return _XCAFPrs.Handle_XCAFPrs_AISObject_DownCast(t)

def Handle_XCAFPrs_AISObject_IsNull(t: "opencascade::handle< XCAFPrs_AISObject > const &") -> "bool":
    return _XCAFPrs.Handle_XCAFPrs_AISObject_IsNull(t)

def Handle_XCAFPrs_Driver_Create() -> "opencascade::handle< XCAFPrs_Driver >":
    return _XCAFPrs.Handle_XCAFPrs_Driver_Create()

def Handle_XCAFPrs_Driver_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFPrs_Driver >":
    return _XCAFPrs.Handle_XCAFPrs_Driver_DownCast(t)

def Handle_XCAFPrs_Driver_IsNull(t: "opencascade::handle< XCAFPrs_Driver > const &") -> "bool":
    return _XCAFPrs.Handle_XCAFPrs_Driver_IsNull(t)

def Handle_XCAFPrs_Texture_Create() -> "opencascade::handle< XCAFPrs_Texture >":
    return _XCAFPrs.Handle_XCAFPrs_Texture_Create()

def Handle_XCAFPrs_Texture_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFPrs_Texture >":
    return _XCAFPrs.Handle_XCAFPrs_Texture_DownCast(t)

def Handle_XCAFPrs_Texture_IsNull(t: "opencascade::handle< XCAFPrs_Texture > const &") -> "bool":
    return _XCAFPrs.Handle_XCAFPrs_Texture_IsNull(t)
class XCAFPrs_DataMapOfStyleShape(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< XCAFPrs_Style,TopoDS_Shape,XCAFPrs_Style >::iterator":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleShape_begin(self)

    def end(self) -> "NCollection_DataMap< XCAFPrs_Style,TopoDS_Shape,XCAFPrs_Style >::iterator":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleShape_end(self)

    def cbegin(self) -> "NCollection_DataMap< XCAFPrs_Style,TopoDS_Shape,XCAFPrs_Style >::const_iterator":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleShape_cbegin(self)

    def cend(self) -> "NCollection_DataMap< XCAFPrs_Style,TopoDS_Shape,XCAFPrs_Style >::const_iterator":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleShape_cend(self)

    def __init__(self, *args):
        _XCAFPrs.XCAFPrs_DataMapOfStyleShape_swiginit(self, _XCAFPrs.new_XCAFPrs_DataMapOfStyleShape(*args))

    def Exchange(self, theOther: "XCAFPrs_DataMapOfStyleShape") -> "void":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleShape_Exchange(self, theOther)

    def Assign(self, theOther: "XCAFPrs_DataMapOfStyleShape") -> "NCollection_DataMap< XCAFPrs_Style,TopoDS_Shape,XCAFPrs_Style > &":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleShape_Assign(self, theOther)

    def Set(self, theOther: "XCAFPrs_DataMapOfStyleShape") -> "NCollection_DataMap< XCAFPrs_Style,TopoDS_Shape,XCAFPrs_Style > &":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleShape_Set(self, theOther)

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

    def Bind(self, theKey: "XCAFPrs_Style", theItem: "TopoDS_Shape") -> "Standard_Boolean":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleShape_Bind(self, theKey, theItem)

    def Bound(self, theKey: "XCAFPrs_Style", theItem: "TopoDS_Shape") -> "TopoDS_Shape *":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleShape_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "XCAFPrs_Style") -> "Standard_Boolean":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleShape_IsBound(self, theKey)

    def UnBind(self, theKey: "XCAFPrs_Style") -> "Standard_Boolean":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleShape_UnBind(self, theKey)

    def Seek(self, theKey: "XCAFPrs_Style") -> "TopoDS_Shape const *":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleShape_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleShape_Find(self, *args)

    def ChangeSeek(self, theKey: "XCAFPrs_Style") -> "TopoDS_Shape *":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleShape_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "XCAFPrs_Style") -> "TopoDS_Shape &":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleShape_ChangeFind(self, theKey)

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

    def Clear(self, *args) -> "void":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleShape_Clear(self, *args)
    __swig_destroy__ = _XCAFPrs.delete_XCAFPrs_DataMapOfStyleShape

    def Size(self) -> "Standard_Integer":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleShape_Size(self)

# Register XCAFPrs_DataMapOfStyleShape in _XCAFPrs:
_XCAFPrs.XCAFPrs_DataMapOfStyleShape_swigregister(XCAFPrs_DataMapOfStyleShape)

class XCAFPrs_DataMapOfStyleTransient(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< XCAFPrs_Style,opencascade::handle< Standard_Transient >,XCAFPrs_Style >::iterator":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleTransient_begin(self)

    def end(self) -> "NCollection_DataMap< XCAFPrs_Style,opencascade::handle< Standard_Transient >,XCAFPrs_Style >::iterator":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleTransient_end(self)

    def cbegin(self) -> "NCollection_DataMap< XCAFPrs_Style,opencascade::handle< Standard_Transient >,XCAFPrs_Style >::const_iterator":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleTransient_cbegin(self)

    def cend(self) -> "NCollection_DataMap< XCAFPrs_Style,opencascade::handle< Standard_Transient >,XCAFPrs_Style >::const_iterator":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleTransient_cend(self)

    def __init__(self, *args):
        _XCAFPrs.XCAFPrs_DataMapOfStyleTransient_swiginit(self, _XCAFPrs.new_XCAFPrs_DataMapOfStyleTransient(*args))

    def Exchange(self, theOther: "XCAFPrs_DataMapOfStyleTransient") -> "void":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleTransient_Exchange(self, theOther)

    def Assign(self, theOther: "XCAFPrs_DataMapOfStyleTransient") -> "NCollection_DataMap< XCAFPrs_Style,opencascade::handle< Standard_Transient >,XCAFPrs_Style > &":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleTransient_Assign(self, theOther)

    def Set(self, theOther: "XCAFPrs_DataMapOfStyleTransient") -> "NCollection_DataMap< XCAFPrs_Style,opencascade::handle< Standard_Transient >,XCAFPrs_Style > &":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleTransient_Set(self, theOther)

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

    def Bind(self, theKey: "XCAFPrs_Style", theItem: "opencascade::handle< Standard_Transient > const &") -> "Standard_Boolean":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleTransient_Bind(self, theKey, theItem)

    def Bound(self, theKey: "XCAFPrs_Style", theItem: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Standard_Transient > *":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleTransient_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "XCAFPrs_Style") -> "Standard_Boolean":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleTransient_IsBound(self, theKey)

    def UnBind(self, theKey: "XCAFPrs_Style") -> "Standard_Boolean":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleTransient_UnBind(self, theKey)

    def Seek(self, theKey: "XCAFPrs_Style") -> "opencascade::handle< Standard_Transient > const *":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleTransient_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleTransient_Find(self, *args)

    def ChangeSeek(self, theKey: "XCAFPrs_Style") -> "opencascade::handle< Standard_Transient > *":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleTransient_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "XCAFPrs_Style") -> "opencascade::handle< Standard_Transient > &":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleTransient_ChangeFind(self, theKey)

    def __call__(self, *args) -> "opencascade::handle< Standard_Transient > &":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleTransient___call__(self, *args)

    def Clear(self, *args) -> "void":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleTransient_Clear(self, *args)
    __swig_destroy__ = _XCAFPrs.delete_XCAFPrs_DataMapOfStyleTransient

    def Size(self) -> "Standard_Integer":
        return _XCAFPrs.XCAFPrs_DataMapOfStyleTransient_Size(self)

# Register XCAFPrs_DataMapOfStyleTransient in _XCAFPrs:
_XCAFPrs.XCAFPrs_DataMapOfStyleTransient_swigregister(XCAFPrs_DataMapOfStyleTransient)

class XCAFPrs_IndexedDataMapOfShapeStyle(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_IndexedDataMap< TopoDS_Shape,XCAFPrs_Style,TopTools_ShapeMapHasher >::iterator":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_begin(self)

    def end(self) -> "NCollection_IndexedDataMap< TopoDS_Shape,XCAFPrs_Style,TopTools_ShapeMapHasher >::iterator":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_end(self)

    def cbegin(self) -> "NCollection_IndexedDataMap< TopoDS_Shape,XCAFPrs_Style,TopTools_ShapeMapHasher >::const_iterator":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_cbegin(self)

    def cend(self) -> "NCollection_IndexedDataMap< TopoDS_Shape,XCAFPrs_Style,TopTools_ShapeMapHasher >::const_iterator":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_cend(self)

    def __init__(self, *args):
        _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_swiginit(self, _XCAFPrs.new_XCAFPrs_IndexedDataMapOfShapeStyle(*args))

    def Exchange(self, theOther: "XCAFPrs_IndexedDataMapOfShapeStyle") -> "void":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_Exchange(self, theOther)

    def Assign(self, theOther: "XCAFPrs_IndexedDataMapOfShapeStyle") -> "NCollection_IndexedDataMap< TopoDS_Shape,XCAFPrs_Style,TopTools_ShapeMapHasher > &":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_Assign(self, theOther)

    def Set(self, theOther: "XCAFPrs_IndexedDataMapOfShapeStyle") -> "NCollection_IndexedDataMap< TopoDS_Shape,XCAFPrs_Style,TopTools_ShapeMapHasher > &":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_Set(self, theOther)

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

    def Add(self, theKey1: "TopoDS_Shape", theItem: "XCAFPrs_Style") -> "Standard_Integer":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_Add(self, theKey1, theItem)

    def Contains(self, theKey1: "TopoDS_Shape") -> "Standard_Boolean":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_Contains(self, theKey1)

    def Substitute(self, theIndex: "Standard_Integer const", theKey1: "TopoDS_Shape", theItem: "XCAFPrs_Style") -> "void":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_Substitute(self, theIndex, theKey1, theItem)

    def Swap(self, theIndex1: "Standard_Integer const", theIndex2: "Standard_Integer const") -> "void":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_Swap(self, theIndex1, theIndex2)

    def RemoveLast(self) -> "void":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_RemoveLast(self)

    def RemoveFromIndex(self, theIndex: "Standard_Integer const") -> "void":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_RemoveFromIndex(self, theIndex)

    def RemoveKey(self, theKey1: "TopoDS_Shape") -> "void":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_RemoveKey(self, theKey1)

    def FindKey(self, theIndex: "Standard_Integer const") -> "TopoDS_Shape const &":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_FindKey(self, theIndex)

    def FindFromIndex(self, theIndex: "Standard_Integer const") -> "XCAFPrs_Style const &":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_FindFromIndex(self, theIndex)

    def ChangeFromIndex(self, theIndex: "Standard_Integer const") -> "XCAFPrs_Style &":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_ChangeFromIndex(self, theIndex)

    def __call__(self, *args) -> "XCAFPrs_Style &":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle___call__(self, *args)

    def FindIndex(self, theKey1: "TopoDS_Shape") -> "Standard_Integer":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_FindIndex(self, theKey1)

    def ChangeFromKey(self, theKey1: "TopoDS_Shape") -> "XCAFPrs_Style &":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_ChangeFromKey(self, theKey1)

    def Seek(self, theKey1: "TopoDS_Shape") -> "XCAFPrs_Style const *":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_Seek(self, theKey1)

    def ChangeSeek(self, theKey1: "TopoDS_Shape") -> "XCAFPrs_Style *":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_ChangeSeek(self, theKey1)

    def FindFromKey(self, *args) -> "Standard_Boolean":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_FindFromKey(self, *args)

    def Clear(self, *args) -> "void":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_Clear(self, *args)
    __swig_destroy__ = _XCAFPrs.delete_XCAFPrs_IndexedDataMapOfShapeStyle

    def Size(self) -> "Standard_Integer":
        return _XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_Size(self)

# Register XCAFPrs_IndexedDataMapOfShapeStyle in _XCAFPrs:
_XCAFPrs.XCAFPrs_IndexedDataMapOfShapeStyle_swigregister(XCAFPrs_IndexedDataMapOfShapeStyle)

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

    @staticmethod
    def CollectStyleSettings(*args) -> "void":
        r"""
        Collect styles defined for shape on label l and its components and subshapes and fills a map of shape - style correspondence the location <loc> is for internal use, it should be null location for external call.

        Parameters
        ----------
        L: TDF_Label
        loc: TopLoc_Location
        settings: XCAFPrs_IndexedDataMapOfShapeStyle
        theLayerColor: Quantity_ColorRGBA,optional
        	default value is Quantity_ColorRGBA(Quantity_NOC_WHITE)

        Returns
        -------
        None

        """
        return _XCAFPrs.xcafprs_CollectStyleSettings(*args)

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

        Returns
        -------
        bool

        """
        return _XCAFPrs.xcafprs_GetViewNameMode(*args)

    @staticmethod
    def SetViewNameMode(*args) -> "void":
        r"""
        Set viewnamemode for indicate display names or not.

        Parameters
        ----------
        viewNameMode: bool

        Returns
        -------
        None

        """
        return _XCAFPrs.xcafprs_SetViewNameMode(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _XCAFPrs.xcafprs_swiginit(self, _XCAFPrs.new_xcafprs())
    __swig_destroy__ = _XCAFPrs.delete_xcafprs

# Register xcafprs in _XCAFPrs:
_XCAFPrs.xcafprs_swigregister(xcafprs)

def xcafprs_CollectStyleSettings(*args) -> "void":
    r"""
    Collect styles defined for shape on label l and its components and subshapes and fills a map of shape - style correspondence the location <loc> is for internal use, it should be null location for external call.

    Parameters
    ----------
    L: TDF_Label
    loc: TopLoc_Location
    settings: XCAFPrs_IndexedDataMapOfShapeStyle
    theLayerColor: Quantity_ColorRGBA,optional
    	default value is Quantity_ColorRGBA(Quantity_NOC_WHITE)

    Returns
    -------
    None

    """
    return _XCAFPrs.xcafprs_CollectStyleSettings(*args)

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

    Returns
    -------
    bool

    """
    return _XCAFPrs.xcafprs_GetViewNameMode(*args)

def xcafprs_SetViewNameMode(*args) -> "void":
    r"""
    Set viewnamemode for indicate display names or not.

    Parameters
    ----------
    viewNameMode: bool

    Returns
    -------
    None

    """
    return _XCAFPrs.xcafprs_SetViewNameMode(*args)

class XCAFPrs_AISObject(OCC.Core.AIS.AIS_ColoredShape):
    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 object to visualise the shape label.

        Parameters
        ----------
        theLabel: TDF_Label

        Returns
        -------
        None

        """
        _XCAFPrs.XCAFPrs_AISObject_swiginit(self, _XCAFPrs.new_XCAFPrs_AISObject(*args))

    def DispatchStyles(self, *args) -> "void":
        r"""
        Fetch the shape from associated label and fill the map of sub-shapes styles. by default, this method is called implicitly within first ::compute(). application might call this method explicitly to manipulate styles afterwards. @param thetosyncstyles flag indicating if method ::compute() should call this method again on first compute or re-compute.

        Parameters
        ----------
        theToSyncStyles: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _XCAFPrs.XCAFPrs_AISObject_DispatchStyles(self, *args)

    def GetLabel(self, *args) -> "TDF_Label const &":
        r"""
        Returns the label which was visualised by this presentation.

        Returns
        -------
        TDF_Label

        """
        return _XCAFPrs.XCAFPrs_AISObject_GetLabel(self, *args)

    def SetLabel(self, *args) -> "void":
        r"""
        Assign the label to this presentation (but does not mark it outdated with settoupdate()).

        Parameters
        ----------
        theLabel: TDF_Label

        Returns
        -------
        None

        """
        return _XCAFPrs.XCAFPrs_AISObject_SetLabel(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFPrs.delete_XCAFPrs_AISObject

# Register XCAFPrs_AISObject in _XCAFPrs:
_XCAFPrs.XCAFPrs_AISObject_swigregister(XCAFPrs_AISObject)

class XCAFPrs_DocumentExplorer(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"""
        Empty constructor.

        Returns
        -------
        None
        Constructor for exploring the whole document. @param thedocument document to explore @param theflags iteration flags @param thedefstyle default style for nodes with undefined style.

        Parameters
        ----------
        theDocument: TDocStd_Document
        theFlags: int
        theDefStyle: XCAFPrs_Style,optional
        	default value is XCAFPrs_Style()

        Returns
        -------
        None
        Constructor for exploring specified list of root shapes in the document. @param thedocument document to explore @param theroots root labels to explore within specified document @param theflags iteration flags @param thedefstyle default style for nodes with undefined style.

        Parameters
        ----------
        theDocument: TDocStd_Document
        theRoots: TDF_LabelSequence
        theFlags: int
        theDefStyle: XCAFPrs_Style,optional
        	default value is XCAFPrs_Style()

        Returns
        -------
        None

        """
        _XCAFPrs.XCAFPrs_DocumentExplorer_swiginit(self, _XCAFPrs.new_XCAFPrs_DocumentExplorer(*args))

    def ChangeCurrent(self, *args) -> "XCAFPrs_DocumentNode &":
        r"""
        Return current position.

        Returns
        -------
        XCAFPrs_DocumentNode

        """
        return _XCAFPrs.XCAFPrs_DocumentExplorer_ChangeCurrent(self, *args)

    def ColorTool(self, *args) -> "opencascade::handle< XCAFDoc_ColorTool > const &":
        r"""
        Return color tool.

        Returns
        -------
        opencascade::handle<XCAFDoc_ColorTool>

        """
        return _XCAFPrs.XCAFPrs_DocumentExplorer_ColorTool(self, *args)

    def Current(self, *args) -> "XCAFPrs_DocumentNode const &":
        r"""
        Return current position.

        Returns
        -------
        XCAFPrs_DocumentNode
        Return current position within specified assembly depth.

        Parameters
        ----------
        theDepth: int

        Returns
        -------
        XCAFPrs_DocumentNode

        """
        return _XCAFPrs.XCAFPrs_DocumentExplorer_Current(self, *args)

    def CurrentDepth(self, *args) -> "Standard_Integer":
        r"""
        Return depth of the current node in hierarchy, starting from 0. zero means root label.

        Returns
        -------
        int

        """
        return _XCAFPrs.XCAFPrs_DocumentExplorer_CurrentDepth(self, *args)

    @staticmethod
    def DefineChildId(*args) -> "TCollection_AsciiString":
        r"""
        Construct a unique string identifier for the given label. the identifier is a concatenation of label entries (tdf_tool::entry() with tailing '.') of hierarchy from parent to child joined via '/' and looking like this: @code 0:1:1:1./0:1:1:1:9./0:1:1:5:7. @endcode this generation scheme also allows finding originating labels using tdf_tool::label(). the tailing dot simplifies parent equality check. @param thelabel child label to define id @param theparentid parent string identifier defined by this method.

        Parameters
        ----------
        theLabel: TDF_Label
        theParentId: TCollection_AsciiString

        Returns
        -------
        TCollection_AsciiString

        """
        return _XCAFPrs.XCAFPrs_DocumentExplorer_DefineChildId(*args)

    @staticmethod
    def FindLabelFromPathId(*args) -> "TDF_Label":
        r"""
        Find a shape entity based on a text identifier constructed from ocaf labels defining full path. @sa definechildid().

        Parameters
        ----------
        theDocument: TDocStd_Document
        theId: TCollection_AsciiString
        theParentLocation: TopLoc_Location
        theLocation: TopLoc_Location

        Returns
        -------
        TDF_Label
        Find a shape entity based on a text identifier constructed from ocaf labels defining full path. @sa definechildid().

        Parameters
        ----------
        theDocument: TDocStd_Document
        theId: TCollection_AsciiString
        theLocation: TopLoc_Location

        Returns
        -------
        TDF_Label

        """
        return _XCAFPrs.XCAFPrs_DocumentExplorer_FindLabelFromPathId(*args)

    @staticmethod
    def FindShapeFromPathId(*args) -> "TopoDS_Shape":
        r"""
        Find a shape entity based on a text identifier constructed from ocaf labels defining full path. @sa definechildid().

        Parameters
        ----------
        theDocument: TDocStd_Document
        theId: TCollection_AsciiString

        Returns
        -------
        TopoDS_Shape

        """
        return _XCAFPrs.XCAFPrs_DocumentExplorer_FindShapeFromPathId(*args)

    def Init(self, *args) -> "void":
        r"""
        Initialize the iterator from a single root shape in the document. @param thedocument document to explore @param theroot single root label to explore within specified document @param theflags iteration flags @param thedefstyle default style for nodes with undefined style.

        Parameters
        ----------
        theDocument: TDocStd_Document
        theRoot: TDF_Label
        theFlags: int
        theDefStyle: XCAFPrs_Style,optional
        	default value is XCAFPrs_Style()

        Returns
        -------
        None
        Initialize the iterator from the list of root shapes in the document. @param thedocument document to explore @param theroots root labels to explore within specified document @param theflags iteration flags @param thedefstyle default style for nodes with undefined style.

        Parameters
        ----------
        theDocument: TDocStd_Document
        theRoots: TDF_LabelSequence
        theFlags: int
        theDefStyle: XCAFPrs_Style,optional
        	default value is XCAFPrs_Style()

        Returns
        -------
        None

        """
        return _XCAFPrs.XCAFPrs_DocumentExplorer_Init(self, *args)

    def More(self, *args) -> "Standard_Boolean":
        r"""
        Return true if iterator points to the valid node.

        Returns
        -------
        bool

        """
        return _XCAFPrs.XCAFPrs_DocumentExplorer_More(self, *args)

    def Next(self, *args) -> "void":
        r"""
        Go to the next node.

        Returns
        -------
        None

        """
        return _XCAFPrs.XCAFPrs_DocumentExplorer_Next(self, *args)

    def VisMaterialTool(self, *args) -> "opencascade::handle< XCAFDoc_VisMaterialTool > const &":
        r"""
        Return material tool.

        Returns
        -------
        opencascade::handle<XCAFDoc_VisMaterialTool>

        """
        return _XCAFPrs.XCAFPrs_DocumentExplorer_VisMaterialTool(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFPrs.delete_XCAFPrs_DocumentExplorer

# Register XCAFPrs_DocumentExplorer in _XCAFPrs:
_XCAFPrs.XCAFPrs_DocumentExplorer_swigregister(XCAFPrs_DocumentExplorer)

def XCAFPrs_DocumentExplorer_DefineChildId(*args) -> "TCollection_AsciiString":
    r"""
    Construct a unique string identifier for the given label. the identifier is a concatenation of label entries (tdf_tool::entry() with tailing '.') of hierarchy from parent to child joined via '/' and looking like this: @code 0:1:1:1./0:1:1:1:9./0:1:1:5:7. @endcode this generation scheme also allows finding originating labels using tdf_tool::label(). the tailing dot simplifies parent equality check. @param thelabel child label to define id @param theparentid parent string identifier defined by this method.

    Parameters
    ----------
    theLabel: TDF_Label
    theParentId: TCollection_AsciiString

    Returns
    -------
    TCollection_AsciiString

    """
    return _XCAFPrs.XCAFPrs_DocumentExplorer_DefineChildId(*args)

def XCAFPrs_DocumentExplorer_FindLabelFromPathId(*args) -> "TDF_Label":
    r"""
    Find a shape entity based on a text identifier constructed from ocaf labels defining full path. @sa definechildid().

    Parameters
    ----------
    theDocument: TDocStd_Document
    theId: TCollection_AsciiString
    theParentLocation: TopLoc_Location
    theLocation: TopLoc_Location

    Returns
    -------
    TDF_Label
    Find a shape entity based on a text identifier constructed from ocaf labels defining full path. @sa definechildid().

    Parameters
    ----------
    theDocument: TDocStd_Document
    theId: TCollection_AsciiString
    theLocation: TopLoc_Location

    Returns
    -------
    TDF_Label

    """
    return _XCAFPrs.XCAFPrs_DocumentExplorer_FindLabelFromPathId(*args)

def XCAFPrs_DocumentExplorer_FindShapeFromPathId(*args) -> "TopoDS_Shape":
    r"""
    Find a shape entity based on a text identifier constructed from ocaf labels defining full path. @sa definechildid().

    Parameters
    ----------
    theDocument: TDocStd_Document
    theId: TCollection_AsciiString

    Returns
    -------
    TopoDS_Shape

    """
    return _XCAFPrs.XCAFPrs_DocumentExplorer_FindShapeFromPathId(*args)

class XCAFPrs_DocumentIdIterator(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"""
        Main constructor.

        Parameters
        ----------
        thePath: TCollection_AsciiString

        Returns
        -------
        None

        """
        _XCAFPrs.XCAFPrs_DocumentIdIterator_swiginit(self, _XCAFPrs.new_XCAFPrs_DocumentIdIterator(*args))

    def More(self, *args) -> "bool":
        r"""
        Return true if iterator points to a value.

        Returns
        -------
        bool

        """
        return _XCAFPrs.XCAFPrs_DocumentIdIterator_More(self, *args)

    def Next(self, *args) -> "void":
        r"""
        Find the next value.

        Returns
        -------
        None

        """
        return _XCAFPrs.XCAFPrs_DocumentIdIterator_Next(self, *args)

    def Value(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Return current value.

        Returns
        -------
        TCollection_AsciiString

        """
        return _XCAFPrs.XCAFPrs_DocumentIdIterator_Value(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFPrs.delete_XCAFPrs_DocumentIdIterator

# Register XCAFPrs_DocumentIdIterator in _XCAFPrs:
_XCAFPrs.XCAFPrs_DocumentIdIterator_swigregister(XCAFPrs_DocumentIdIterator)

class XCAFPrs_DocumentNode(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Id = property(_XCAFPrs.XCAFPrs_DocumentNode_Id_get, _XCAFPrs.XCAFPrs_DocumentNode_Id_set)
    Label = property(_XCAFPrs.XCAFPrs_DocumentNode_Label_get, _XCAFPrs.XCAFPrs_DocumentNode_Label_set)
    RefLabel = property(_XCAFPrs.XCAFPrs_DocumentNode_RefLabel_get, _XCAFPrs.XCAFPrs_DocumentNode_RefLabel_set)
    Style = property(_XCAFPrs.XCAFPrs_DocumentNode_Style_get, _XCAFPrs.XCAFPrs_DocumentNode_Style_set)
    Location = property(_XCAFPrs.XCAFPrs_DocumentNode_Location_get, _XCAFPrs.XCAFPrs_DocumentNode_Location_set)
    LocalTrsf = property(_XCAFPrs.XCAFPrs_DocumentNode_LocalTrsf_get, _XCAFPrs.XCAFPrs_DocumentNode_LocalTrsf_set)
    ChildIter = property(_XCAFPrs.XCAFPrs_DocumentNode_ChildIter_get, _XCAFPrs.XCAFPrs_DocumentNode_ChildIter_set)
    IsAssembly = property(_XCAFPrs.XCAFPrs_DocumentNode_IsAssembly_get, _XCAFPrs.XCAFPrs_DocumentNode_IsAssembly_set)

    def __init__(self, *args):
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        _XCAFPrs.XCAFPrs_DocumentNode_swiginit(self, _XCAFPrs.new_XCAFPrs_DocumentNode(*args))

    @staticmethod
    def HashCode(*args) -> "Standard_Integer":
        r"""
        Return hash code based on node string identifier.

        Parameters
        ----------
        theNode: XCAFPrs_DocumentNode
        theN: int

        Returns
        -------
        int

        """
        return _XCAFPrs.XCAFPrs_DocumentNode_HashCode(*args)

    @staticmethod
    def IsEqual(*args) -> "Standard_Boolean":
        r"""
        Return true if two document nodes has the same string identifier.

        Parameters
        ----------
        theNode1: XCAFPrs_DocumentNode
        theNode2: XCAFPrs_DocumentNode

        Returns
        -------
        bool

        """
        return _XCAFPrs.XCAFPrs_DocumentNode_IsEqual(*args)

    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFPrs.delete_XCAFPrs_DocumentNode

# Register XCAFPrs_DocumentNode in _XCAFPrs:
_XCAFPrs.XCAFPrs_DocumentNode_swigregister(XCAFPrs_DocumentNode)

def XCAFPrs_DocumentNode_HashCode(*args) -> "Standard_Integer":
    r"""
    Return hash code based on node string identifier.

    Parameters
    ----------
    theNode: XCAFPrs_DocumentNode
    theN: int

    Returns
    -------
    int

    """
    return _XCAFPrs.XCAFPrs_DocumentNode_HashCode(*args)

def XCAFPrs_DocumentNode_IsEqual(*args) -> "Standard_Boolean":
    r"""
    Return true if two document nodes has the same string identifier.

    Parameters
    ----------
    theNode1: XCAFPrs_DocumentNode
    theNode2: XCAFPrs_DocumentNode

    Returns
    -------
    bool

    """
    return _XCAFPrs.XCAFPrs_DocumentNode_IsEqual(*args)

class XCAFPrs_Driver(OCC.Core.TPrsStd.TPrsStd_Driver):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        Returns guid of the driver.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFPrs.XCAFPrs_Driver_GetID(*args)


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


    __repr__ = _dumps_object


    def __init__(self):
        _XCAFPrs.XCAFPrs_Driver_swiginit(self, _XCAFPrs.new_XCAFPrs_Driver())
    __swig_destroy__ = _XCAFPrs.delete_XCAFPrs_Driver

# Register XCAFPrs_Driver in _XCAFPrs:
_XCAFPrs.XCAFPrs_Driver_swigregister(XCAFPrs_Driver)

def XCAFPrs_Driver_GetID(*args) -> "Standard_GUID const &":
    r"""
    Returns guid of the driver.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFPrs.XCAFPrs_Driver_GetID(*args)

class XCAFPrs_Style(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"""
        Empty constructor - colors are unset, visibility is true.

        Returns
        -------
        None

        """
        _XCAFPrs.XCAFPrs_Style_swiginit(self, _XCAFPrs.new_XCAFPrs_Style(*args))

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFPrs_Style self, int depth=-1) -> std::string"""
        return _XCAFPrs.XCAFPrs_Style_DumpJsonToString(self, depth)

    def GetColorCurv(self, *args) -> "Quantity_Color const &":
        r"""
        Return curve color.

        Returns
        -------
        Quantity_Color

        """
        return _XCAFPrs.XCAFPrs_Style_GetColorCurv(self, *args)

    def GetColorSurf(self, *args) -> "Quantity_Color const &":
        r"""
        Return surface color.

        Returns
        -------
        Quantity_Color

        """
        return _XCAFPrs.XCAFPrs_Style_GetColorSurf(self, *args)

    def GetColorSurfRGBA(self, *args) -> "Quantity_ColorRGBA const &":
        r"""
        Return surface color.

        Returns
        -------
        Quantity_ColorRGBA

        """
        return _XCAFPrs.XCAFPrs_Style_GetColorSurfRGBA(self, *args)

    @staticmethod
    def HashCode(*args) -> "Standard_Integer":
        r"""
        Computes a hash code for the given set of styling settings, in the range [1, theupperbound] @param thestyle the set of styling settings which hash code is to be computed @param theupperbound the upper bound of the range a computing hash code must be within returns a computed hash code, in the range [1, theupperbound].

        Parameters
        ----------
        theStyle: XCAFPrs_Style
        theUpperBound: int

        Returns
        -------
        int

        """
        return _XCAFPrs.XCAFPrs_Style_HashCode(*args)

    def IsEmpty(self, *args) -> "Standard_Boolean":
        r"""
        Return true if style is empty - does not override any properties.

        Returns
        -------
        bool

        """
        return _XCAFPrs.XCAFPrs_Style_IsEmpty(self, *args)

    @staticmethod
    def IsEqual(*args) -> "Standard_Boolean":
        r"""
        Returns true if styles are the same methods for using style as key in maps.

        Parameters
        ----------
        theOther: XCAFPrs_Style

        Returns
        -------
        bool
        Returns true when the two keys are the same.

        Parameters
        ----------
        theS1: XCAFPrs_Style
        theS2: XCAFPrs_Style

        Returns
        -------
        bool

        """
        return _XCAFPrs.XCAFPrs_Style_IsEqual(*args)

    def IsSetColorCurv(self, *args) -> "Standard_Boolean":
        r"""
        Return true if curve color has been defined.

        Returns
        -------
        bool

        """
        return _XCAFPrs.XCAFPrs_Style_IsSetColorCurv(self, *args)

    def IsSetColorSurf(self, *args) -> "Standard_Boolean":
        r"""
        Return true if surface color has been defined.

        Returns
        -------
        bool

        """
        return _XCAFPrs.XCAFPrs_Style_IsSetColorSurf(self, *args)

    def IsVisible(self, *args) -> "Standard_Boolean":
        r"""
        Manage visibility.

        Returns
        -------
        bool

        """
        return _XCAFPrs.XCAFPrs_Style_IsVisible(self, *args)

    def Material(self, *args) -> "opencascade::handle< XCAFDoc_VisMaterial > const &":
        r"""
        Return material.

        Returns
        -------
        opencascade::handle<XCAFDoc_VisMaterial>

        """
        return _XCAFPrs.XCAFPrs_Style_Material(self, *args)

    def SetColorCurv(self, *args) -> "void":
        r"""
        Set curve color.

        Parameters
        ----------
        col: Quantity_Color

        Returns
        -------
        None

        """
        return _XCAFPrs.XCAFPrs_Style_SetColorCurv(self, *args)

    def SetColorSurf(self, *args) -> "void":
        r"""
        Set surface color.

        Parameters
        ----------
        theColor: Quantity_Color

        Returns
        -------
        None
        Set surface color.

        Parameters
        ----------
        theColor: Quantity_ColorRGBA

        Returns
        -------
        None

        """
        return _XCAFPrs.XCAFPrs_Style_SetColorSurf(self, *args)

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

        Parameters
        ----------
        theMaterial: XCAFDoc_VisMaterial

        Returns
        -------
        None

        """
        return _XCAFPrs.XCAFPrs_Style_SetMaterial(self, *args)

    def SetVisibility(self, *args) -> "void":
        r"""
        Assign visibility.

        Parameters
        ----------
        theVisibility: bool

        Returns
        -------
        None

        """
        return _XCAFPrs.XCAFPrs_Style_SetVisibility(self, *args)

    def UnSetColorCurv(self, *args) -> "void":
        r"""
        Manage curve color setting.

        Returns
        -------
        None

        """
        return _XCAFPrs.XCAFPrs_Style_UnSetColorCurv(self, *args)

    def UnSetColorSurf(self, *args) -> "void":
        r"""
        Manage surface color setting.

        Returns
        -------
        None

        """
        return _XCAFPrs.XCAFPrs_Style_UnSetColorSurf(self, *args)

    def __eq_wrapper__(self, other: "XCAFPrs_Style") -> "bool":
        r"""__eq_wrapper__(XCAFPrs_Style self, XCAFPrs_Style other) -> bool"""
        return _XCAFPrs.XCAFPrs_Style___eq_wrapper__(self, other)

    def __eq__(self, right):
        try:
            return self.__eq_wrapper__(right)
        except:
            return False


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFPrs.delete_XCAFPrs_Style

# Register XCAFPrs_Style in _XCAFPrs:
_XCAFPrs.XCAFPrs_Style_swigregister(XCAFPrs_Style)

def XCAFPrs_Style_HashCode(*args) -> "Standard_Integer":
    r"""
    Computes a hash code for the given set of styling settings, in the range [1, theupperbound] @param thestyle the set of styling settings which hash code is to be computed @param theupperbound the upper bound of the range a computing hash code must be within returns a computed hash code, in the range [1, theupperbound].

    Parameters
    ----------
    theStyle: XCAFPrs_Style
    theUpperBound: int

    Returns
    -------
    int

    """
    return _XCAFPrs.XCAFPrs_Style_HashCode(*args)

def XCAFPrs_Style_IsEqual(*args) -> "Standard_Boolean":
    r"""
    Returns true if styles are the same methods for using style as key in maps.

    Parameters
    ----------
    theOther: XCAFPrs_Style

    Returns
    -------
    bool
    Returns true when the two keys are the same.

    Parameters
    ----------
    theS1: XCAFPrs_Style
    theS2: XCAFPrs_Style

    Returns
    -------
    bool

    """
    return _XCAFPrs.XCAFPrs_Style_IsEqual(*args)

class XCAFPrs_Texture(OCC.Core.Graphic3d.Graphic3d_Texture2Dmanual):
    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"""
        Constructor.

        Parameters
        ----------
        theImageSource: Image_Texture
        theUnit: Graphic3d_TextureUnit

        Returns
        -------
        None

        """
        _XCAFPrs.XCAFPrs_Texture_swiginit(self, _XCAFPrs.new_XCAFPrs_Texture(*args))

    def GetImageSource(self, *args) -> "Image_Texture const &":
        r"""
        Return image source.

        Returns
        -------
        Image_Texture

        """
        return _XCAFPrs.XCAFPrs_Texture_GetImageSource(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFPrs.delete_XCAFPrs_Texture

# Register XCAFPrs_Texture in _XCAFPrs:
_XCAFPrs.XCAFPrs_Texture_swigregister(XCAFPrs_Texture)





