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

"""
XCAFDoc module, see official documentation at
https://dev.opencascade.org/doc/occt-7.9.0/refman/html/package_xcafdoc.html
"""

from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if getattr(globals().get("__spec__"), "parent", None) or __package__ or "." in __name__:
    from . import _XCAFDoc
else:
    import _XCAFDoc

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register SwigPyIterator in _XCAFDoc:
_XCAFDoc.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 _XCAFDoc.process_exception(error, method_name, class_name)

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

class ios_base(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")
    __repr__ = _swig_repr
    erase_event = _XCAFDoc.ios_base_erase_event
    imbue_event = _XCAFDoc.ios_base_imbue_event
    copyfmt_event = _XCAFDoc.ios_base_copyfmt_event

    def register_callback(self, __fn, __index):
        return _XCAFDoc.ios_base_register_callback(self, __fn, __index)

    def flags(self, *args):
        return _XCAFDoc.ios_base_flags(self, *args)

    def setf(self, *args):
        return _XCAFDoc.ios_base_setf(self, *args)

    def unsetf(self, __mask):
        return _XCAFDoc.ios_base_unsetf(self, __mask)

    def precision(self, *args):
        return _XCAFDoc.ios_base_precision(self, *args)

    def width(self, *args):
        return _XCAFDoc.ios_base_width(self, *args)

    @staticmethod
    def sync_with_stdio(__sync=True):
        return _XCAFDoc.ios_base_sync_with_stdio(__sync)

    def imbue(self, __loc):
        return _XCAFDoc.ios_base_imbue(self, __loc)

    def getloc(self):
        return _XCAFDoc.ios_base_getloc(self)

    @staticmethod
    def xalloc():
        return _XCAFDoc.ios_base_xalloc()

    def iword(self, __ix):
        return _XCAFDoc.ios_base_iword(self, __ix)

    def pword(self, __ix):
        return _XCAFDoc.ios_base_pword(self, __ix)
    __swig_destroy__ = _XCAFDoc.delete_ios_base

# Register ios_base in _XCAFDoc:
_XCAFDoc.ios_base_swigregister(ios_base)
cvar = _XCAFDoc.cvar
ios_base.boolalpha = _XCAFDoc.cvar.ios_base_boolalpha
ios_base.dec = _XCAFDoc.cvar.ios_base_dec
ios_base.fixed = _XCAFDoc.cvar.ios_base_fixed
ios_base.hex = _XCAFDoc.cvar.ios_base_hex
ios_base.internal = _XCAFDoc.cvar.ios_base_internal
ios_base.left = _XCAFDoc.cvar.ios_base_left
ios_base.oct = _XCAFDoc.cvar.ios_base_oct
ios_base.right = _XCAFDoc.cvar.ios_base_right
ios_base.scientific = _XCAFDoc.cvar.ios_base_scientific
ios_base.showbase = _XCAFDoc.cvar.ios_base_showbase
ios_base.showpoint = _XCAFDoc.cvar.ios_base_showpoint
ios_base.showpos = _XCAFDoc.cvar.ios_base_showpos
ios_base.skipws = _XCAFDoc.cvar.ios_base_skipws
ios_base.unitbuf = _XCAFDoc.cvar.ios_base_unitbuf
ios_base.uppercase = _XCAFDoc.cvar.ios_base_uppercase
ios_base.adjustfield = _XCAFDoc.cvar.ios_base_adjustfield
ios_base.basefield = _XCAFDoc.cvar.ios_base_basefield
ios_base.floatfield = _XCAFDoc.cvar.ios_base_floatfield
ios_base.badbit = _XCAFDoc.cvar.ios_base_badbit
ios_base.eofbit = _XCAFDoc.cvar.ios_base_eofbit
ios_base.failbit = _XCAFDoc.cvar.ios_base_failbit
ios_base.goodbit = _XCAFDoc.cvar.ios_base_goodbit
ios_base.app = _XCAFDoc.cvar.ios_base_app
ios_base.ate = _XCAFDoc.cvar.ios_base_ate
ios_base.binary = _XCAFDoc.cvar.ios_base_binary
ios_base.ios_base_in = _XCAFDoc.cvar.ios_base_ios_base_in
ios_base.out = _XCAFDoc.cvar.ios_base_out
ios_base.trunc = _XCAFDoc.cvar.ios_base_trunc
ios_base.beg = _XCAFDoc.cvar.ios_base_beg
ios_base.cur = _XCAFDoc.cvar.ios_base_cur
ios_base.end = _XCAFDoc.cvar.ios_base_end

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

    def rdstate(self):
        return _XCAFDoc.ios_rdstate(self)

    def clear(self, *args):
        return _XCAFDoc.ios_clear(self, *args)

    def setstate(self, __state):
        return _XCAFDoc.ios_setstate(self, __state)

    def good(self):
        return _XCAFDoc.ios_good(self)

    def eof(self):
        return _XCAFDoc.ios_eof(self)

    def fail(self):
        return _XCAFDoc.ios_fail(self)

    def bad(self):
        return _XCAFDoc.ios_bad(self)

    def exceptions(self, *args):
        return _XCAFDoc.ios_exceptions(self, *args)

    def __init__(self, __sb):
        _XCAFDoc.ios_swiginit(self, _XCAFDoc.new_ios(__sb))
    __swig_destroy__ = _XCAFDoc.delete_ios

    def tie(self, *args):
        return _XCAFDoc.ios_tie(self, *args)

    def rdbuf(self, *args):
        return _XCAFDoc.ios_rdbuf(self, *args)

    def copyfmt(self, __rhs):
        return _XCAFDoc.ios_copyfmt(self, __rhs)

    def fill(self, *args):
        return _XCAFDoc.ios_fill(self, *args)

    def imbue(self, __loc):
        return _XCAFDoc.ios_imbue(self, __loc)

    def narrow(self, __c, __dfault):
        return _XCAFDoc.ios_narrow(self, __c, __dfault)

    def widen(self, __c):
        return _XCAFDoc.ios_widen(self, __c)

# Register ios in _XCAFDoc:
_XCAFDoc.ios_swigregister(ios)
class ostream(ios):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _XCAFDoc.ostream_swiginit(self, _XCAFDoc.new_ostream(__sb))
    __swig_destroy__ = _XCAFDoc.delete_ostream

    def __lshift__(self, *args):
        return _XCAFDoc.ostream___lshift__(self, *args)

    def put(self, __c):
        return _XCAFDoc.ostream_put(self, __c)

    def write(self, __s, __n):
        return _XCAFDoc.ostream_write(self, __s, __n)

    def flush(self):
        return _XCAFDoc.ostream_flush(self)

    def tellp(self):
        return _XCAFDoc.ostream_tellp(self)

    def seekp(self, *args):
        return _XCAFDoc.ostream_seekp(self, *args)

# Register ostream in _XCAFDoc:
_XCAFDoc.ostream_swigregister(ostream)
class istream(ios):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _XCAFDoc.istream_swiginit(self, _XCAFDoc.new_istream(__sb))
    __swig_destroy__ = _XCAFDoc.delete_istream

    def __rshift__(self, *args):
        return _XCAFDoc.istream___rshift__(self, *args)

    def gcount(self):
        return _XCAFDoc.istream_gcount(self)

    def get(self, *args):
        return _XCAFDoc.istream_get(self, *args)

    def getline(self, *args):
        return _XCAFDoc.istream_getline(self, *args)

    def ignore(self, *args):
        return _XCAFDoc.istream_ignore(self, *args)

    def peek(self):
        return _XCAFDoc.istream_peek(self)

    def read(self, __s, __n):
        return _XCAFDoc.istream_read(self, __s, __n)

    def readsome(self, __s, __n):
        return _XCAFDoc.istream_readsome(self, __s, __n)

    def putback(self, __c):
        return _XCAFDoc.istream_putback(self, __c)

    def unget(self):
        return _XCAFDoc.istream_unget(self)

    def sync(self):
        return _XCAFDoc.istream_sync(self)

    def tellg(self):
        return _XCAFDoc.istream_tellg(self)

    def seekg(self, *args):
        return _XCAFDoc.istream_seekg(self, *args)

# Register istream in _XCAFDoc:
_XCAFDoc.istream_swigregister(istream)
class iostream(istream, ostream):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _XCAFDoc.iostream_swiginit(self, _XCAFDoc.new_iostream(__sb))
    __swig_destroy__ = _XCAFDoc.delete_iostream

# Register iostream in _XCAFDoc:
_XCAFDoc.iostream_swigregister(iostream)
cin = cvar.cin
cout = cvar.cout
cerr = cvar.cerr
clog = cvar.clog

endl_cb_ptr = _XCAFDoc.endl_cb_ptr
endl = _XCAFDoc.endl
ends_cb_ptr = _XCAFDoc.ends_cb_ptr
ends = _XCAFDoc.ends
flush_cb_ptr = _XCAFDoc.flush_cb_ptr
flush = _XCAFDoc.flush
import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.TCollection
import OCC.Core.TDF
import OCC.Core.TColStd
import OCC.Core.TDataStd
import OCC.Core.TDocStd
import OCC.Core.CDF
import OCC.Core.CDM
import OCC.Core.Message
import OCC.Core.OSD
import OCC.Core.Resource
import OCC.Core.PCDM
import OCC.Core.Storage
import OCC.Core.gp
import OCC.Core.Quantity
import OCC.Core.TopoDS
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.XCAFDimTolObjects
import OCC.Core.UnitsMethods
import OCC.Core.XCAFNoteObjects
import OCC.Core.TopTools
import OCC.Core.XCAFView
import OCC.Core.Graphic3d
import OCC.Core.BVH
import OCC.Core.Aspect
import OCC.Core.Image
import OCC.Core.Bnd
import OCC.Core.TColgp
import OCC.Core.Media

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

XCAFDoc_ColorGen = _XCAFDoc.XCAFDoc_ColorGen
XCAFDoc_ColorSurf = _XCAFDoc.XCAFDoc_ColorSurf
XCAFDoc_ColorCurv = _XCAFDoc.XCAFDoc_ColorCurv


class XCAFDoc_ColorType(IntEnum):
	XCAFDoc_ColorGen = 0
	XCAFDoc_ColorSurf = 1
	XCAFDoc_ColorCurv = 2
XCAFDoc_ColorGen = XCAFDoc_ColorType.XCAFDoc_ColorGen
XCAFDoc_ColorSurf = XCAFDoc_ColorType.XCAFDoc_ColorSurf
XCAFDoc_ColorCurv = XCAFDoc_ColorType.XCAFDoc_ColorCurv


def Handle_XCAFDoc_Area_Create():
    return _XCAFDoc.Handle_XCAFDoc_Area_Create()

def Handle_XCAFDoc_Area_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_Area_DownCast(t)

def Handle_XCAFDoc_Area_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_Area_IsNull(t)

def Handle_XCAFDoc_AssemblyGraph_Create():
    return _XCAFDoc.Handle_XCAFDoc_AssemblyGraph_Create()

def Handle_XCAFDoc_AssemblyGraph_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_AssemblyGraph_DownCast(t)

def Handle_XCAFDoc_AssemblyGraph_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_AssemblyGraph_IsNull(t)

def Handle_XCAFDoc_AssemblyItemRef_Create():
    return _XCAFDoc.Handle_XCAFDoc_AssemblyItemRef_Create()

def Handle_XCAFDoc_AssemblyItemRef_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_AssemblyItemRef_DownCast(t)

def Handle_XCAFDoc_AssemblyItemRef_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_AssemblyItemRef_IsNull(t)

def Handle_XCAFDoc_Centroid_Create():
    return _XCAFDoc.Handle_XCAFDoc_Centroid_Create()

def Handle_XCAFDoc_Centroid_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_Centroid_DownCast(t)

def Handle_XCAFDoc_Centroid_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_Centroid_IsNull(t)

def Handle_XCAFDoc_ClippingPlaneTool_Create():
    return _XCAFDoc.Handle_XCAFDoc_ClippingPlaneTool_Create()

def Handle_XCAFDoc_ClippingPlaneTool_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_ClippingPlaneTool_DownCast(t)

def Handle_XCAFDoc_ClippingPlaneTool_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_ClippingPlaneTool_IsNull(t)

def Handle_XCAFDoc_Color_Create():
    return _XCAFDoc.Handle_XCAFDoc_Color_Create()

def Handle_XCAFDoc_Color_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_Color_DownCast(t)

def Handle_XCAFDoc_Color_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_Color_IsNull(t)

def Handle_XCAFDoc_ColorTool_Create():
    return _XCAFDoc.Handle_XCAFDoc_ColorTool_Create()

def Handle_XCAFDoc_ColorTool_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_ColorTool_DownCast(t)

def Handle_XCAFDoc_ColorTool_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_ColorTool_IsNull(t)

def Handle_XCAFDoc_Datum_Create():
    return _XCAFDoc.Handle_XCAFDoc_Datum_Create()

def Handle_XCAFDoc_Datum_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_Datum_DownCast(t)

def Handle_XCAFDoc_Datum_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_Datum_IsNull(t)

def Handle_XCAFDoc_DimTol_Create():
    return _XCAFDoc.Handle_XCAFDoc_DimTol_Create()

def Handle_XCAFDoc_DimTol_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_DimTol_DownCast(t)

def Handle_XCAFDoc_DimTol_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_DimTol_IsNull(t)

def Handle_XCAFDoc_DimTolTool_Create():
    return _XCAFDoc.Handle_XCAFDoc_DimTolTool_Create()

def Handle_XCAFDoc_DimTolTool_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_DimTolTool_DownCast(t)

def Handle_XCAFDoc_DimTolTool_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_DimTolTool_IsNull(t)

def Handle_XCAFDoc_Dimension_Create():
    return _XCAFDoc.Handle_XCAFDoc_Dimension_Create()

def Handle_XCAFDoc_Dimension_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_Dimension_DownCast(t)

def Handle_XCAFDoc_Dimension_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_Dimension_IsNull(t)

def Handle_XCAFDoc_DocumentTool_Create():
    return _XCAFDoc.Handle_XCAFDoc_DocumentTool_Create()

def Handle_XCAFDoc_DocumentTool_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_DocumentTool_DownCast(t)

def Handle_XCAFDoc_DocumentTool_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_DocumentTool_IsNull(t)

def Handle_XCAFDoc_GraphNode_Create():
    return _XCAFDoc.Handle_XCAFDoc_GraphNode_Create()

def Handle_XCAFDoc_GraphNode_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_GraphNode_DownCast(t)

def Handle_XCAFDoc_GraphNode_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_GraphNode_IsNull(t)

def Handle_XCAFDoc_LayerTool_Create():
    return _XCAFDoc.Handle_XCAFDoc_LayerTool_Create()

def Handle_XCAFDoc_LayerTool_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_LayerTool_DownCast(t)

def Handle_XCAFDoc_LayerTool_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_LayerTool_IsNull(t)

def Handle_XCAFDoc_LengthUnit_Create():
    return _XCAFDoc.Handle_XCAFDoc_LengthUnit_Create()

def Handle_XCAFDoc_LengthUnit_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_LengthUnit_DownCast(t)

def Handle_XCAFDoc_LengthUnit_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_LengthUnit_IsNull(t)

def Handle_XCAFDoc_Location_Create():
    return _XCAFDoc.Handle_XCAFDoc_Location_Create()

def Handle_XCAFDoc_Location_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_Location_DownCast(t)

def Handle_XCAFDoc_Location_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_Location_IsNull(t)

def Handle_XCAFDoc_Material_Create():
    return _XCAFDoc.Handle_XCAFDoc_Material_Create()

def Handle_XCAFDoc_Material_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_Material_DownCast(t)

def Handle_XCAFDoc_Material_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_Material_IsNull(t)

def Handle_XCAFDoc_MaterialTool_Create():
    return _XCAFDoc.Handle_XCAFDoc_MaterialTool_Create()

def Handle_XCAFDoc_MaterialTool_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_MaterialTool_DownCast(t)

def Handle_XCAFDoc_MaterialTool_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_MaterialTool_IsNull(t)

def Handle_XCAFDoc_Note_Create():
    return _XCAFDoc.Handle_XCAFDoc_Note_Create()

def Handle_XCAFDoc_Note_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_Note_DownCast(t)

def Handle_XCAFDoc_Note_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_Note_IsNull(t)

def Handle_XCAFDoc_NotesTool_Create():
    return _XCAFDoc.Handle_XCAFDoc_NotesTool_Create()

def Handle_XCAFDoc_NotesTool_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_NotesTool_DownCast(t)

def Handle_XCAFDoc_NotesTool_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_NotesTool_IsNull(t)

def Handle_XCAFDoc_ShapeMapTool_Create():
    return _XCAFDoc.Handle_XCAFDoc_ShapeMapTool_Create()

def Handle_XCAFDoc_ShapeMapTool_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_ShapeMapTool_DownCast(t)

def Handle_XCAFDoc_ShapeMapTool_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_ShapeMapTool_IsNull(t)

def Handle_XCAFDoc_ShapeTool_Create():
    return _XCAFDoc.Handle_XCAFDoc_ShapeTool_Create()

def Handle_XCAFDoc_ShapeTool_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_ShapeTool_DownCast(t)

def Handle_XCAFDoc_ShapeTool_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_ShapeTool_IsNull(t)

def Handle_XCAFDoc_View_Create():
    return _XCAFDoc.Handle_XCAFDoc_View_Create()

def Handle_XCAFDoc_View_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_View_DownCast(t)

def Handle_XCAFDoc_View_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_View_IsNull(t)

def Handle_XCAFDoc_ViewTool_Create():
    return _XCAFDoc.Handle_XCAFDoc_ViewTool_Create()

def Handle_XCAFDoc_ViewTool_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_ViewTool_DownCast(t)

def Handle_XCAFDoc_ViewTool_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_ViewTool_IsNull(t)

def Handle_XCAFDoc_VisMaterial_Create():
    return _XCAFDoc.Handle_XCAFDoc_VisMaterial_Create()

def Handle_XCAFDoc_VisMaterial_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_VisMaterial_DownCast(t)

def Handle_XCAFDoc_VisMaterial_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_VisMaterial_IsNull(t)

def Handle_XCAFDoc_VisMaterialTool_Create():
    return _XCAFDoc.Handle_XCAFDoc_VisMaterialTool_Create()

def Handle_XCAFDoc_VisMaterialTool_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_VisMaterialTool_DownCast(t)

def Handle_XCAFDoc_VisMaterialTool_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_VisMaterialTool_IsNull(t)

def Handle_XCAFDoc_Volume_Create():
    return _XCAFDoc.Handle_XCAFDoc_Volume_Create()

def Handle_XCAFDoc_Volume_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_Volume_DownCast(t)

def Handle_XCAFDoc_Volume_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_Volume_IsNull(t)

def Handle_XCAFDoc_NoteBinData_Create():
    return _XCAFDoc.Handle_XCAFDoc_NoteBinData_Create()

def Handle_XCAFDoc_NoteBinData_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_NoteBinData_DownCast(t)

def Handle_XCAFDoc_NoteBinData_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_NoteBinData_IsNull(t)

def Handle_XCAFDoc_NoteComment_Create():
    return _XCAFDoc.Handle_XCAFDoc_NoteComment_Create()

def Handle_XCAFDoc_NoteComment_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_NoteComment_DownCast(t)

def Handle_XCAFDoc_NoteComment_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_NoteComment_IsNull(t)

def Handle_XCAFDoc_NoteBalloon_Create():
    return _XCAFDoc.Handle_XCAFDoc_NoteBalloon_Create()

def Handle_XCAFDoc_NoteBalloon_DownCast(t):
    return _XCAFDoc.Handle_XCAFDoc_NoteBalloon_DownCast(t)

def Handle_XCAFDoc_NoteBalloon_IsNull(t):
    return _XCAFDoc.Handle_XCAFDoc_NoteBalloon_IsNull(t)
class XCAFDoc_DataMapOfShapeLabel(OCC.Core.NCollection.NCollection_BaseMap):
    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 _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_begin(self)

    def end(self):
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_end(self)

    def cbegin(self):
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_cbegin(self)

    def cend(self):
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_cend(self)

    def __init__(self, *args):
        _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_swiginit(self, _XCAFDoc.new_XCAFDoc_DataMapOfShapeLabel(*args))

    def Exchange(self, theOther):
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_Exchange(self, theOther)

    def Assign(self, theOther):
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_Assign(self, theOther)

    def Set(self, *args):
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_Set(self, *args)

    def ReSize(self, N):
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_ReSize(self, N)

    def Bind(self, *args):
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_Bind(self, *args)

    def Bound(self, *args):
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_Bound(self, *args)

    def IsBound(self, theKey):
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_IsBound(self, theKey)

    def UnBind(self, theKey):
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_UnBind(self, theKey)

    def Seek(self, theKey):
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_Seek(self, theKey)

    def Find(self, *args):
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_Find(self, *args)

    def ChangeSeek(self, theKey):
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey):
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_ChangeFind(self, theKey)

    def __call__(self, *args):
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel___call__(self, *args)

    def Clear(self, *args):
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_Clear(self, *args)
    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_DataMapOfShapeLabel

    def Size(self):
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_Size(self)

# Register XCAFDoc_DataMapOfShapeLabel in _XCAFDoc:
_XCAFDoc.XCAFDoc_DataMapOfShapeLabel_swigregister(XCAFDoc_DataMapOfShapeLabel)
class XCAFDoc_GraphNodeSequence(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 _XCAFDoc.XCAFDoc_GraphNodeSequence_begin(self)

    def end(self):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_end(self)

    def cbegin(self):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_cbegin(self)

    def cend(self):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_cend(self)

    def __init__(self, *args):
        _XCAFDoc.XCAFDoc_GraphNodeSequence_swiginit(self, _XCAFDoc.new_XCAFDoc_GraphNodeSequence(*args))

    def Size(self):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Size(self)

    def Length(self):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Length(self)

    def Lower(self):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Lower(self)

    def Upper(self):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Upper(self)

    def IsEmpty(self):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_IsEmpty(self)

    def Reverse(self):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Reverse(self)

    def Exchange(self, I, J):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Assign(self, theOther)

    def Set(self, *args):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Set(self, *args)

    def Remove(self, *args):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Remove(self, *args)

    def Append(self, *args):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Append(self, *args)

    def Prepend(self, *args):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Split(self, theIndex, theSeq)

    def First(self):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_First(self)

    def ChangeFirst(self):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_ChangeFirst(self)

    def Last(self):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Last(self)

    def ChangeLast(self):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_ChangeLast(self)

    def Value(self, theIndex):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_GraphNodeSequence

    def __len__(self):
        return self.Size()


# Register XCAFDoc_GraphNodeSequence in _XCAFDoc:
_XCAFDoc.XCAFDoc_GraphNodeSequence_swigregister(XCAFDoc_GraphNodeSequence)
class xcafdoc(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    @staticmethod
    def AssemblyGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        class for containing GraphNodes. Returns GUID for UAttribute identifying assembly.

        """
        return _XCAFDoc.xcafdoc_AssemblyGUID(*args)

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

        Parameters
        ----------
        theAtt: TDF_Attribute

        Return
        -------
        TCollection_AsciiString

        Description
        -----------
        Prints attribute information into a string. 
        Parameter theAtt an XDE attribute 
        Return: the generated info value.

        """
        return _XCAFDoc.xcafdoc_AttributeInfo(*args)

    @staticmethod
    def ColorByLayerGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.xcafdoc_ColorByLayerGUID(*args)

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

        Parameters
        ----------
        type: XCAFDoc_ColorType

        Return
        -------
        Standard_GUID

        Description
        -----------
        Return GUIDs for TreeNode representing specified types of colors.

        """
        return _XCAFDoc.xcafdoc_ColorRefGUID(*args)

    @staticmethod
    def DatumRefGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Return GUIDs for TreeNode representing specified types of datum.

        """
        return _XCAFDoc.xcafdoc_DatumRefGUID(*args)

    @staticmethod
    def DatumTolRefGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Return GUIDs for TreeNode representing connections Datum-Toler.

        """
        return _XCAFDoc.xcafdoc_DatumTolRefGUID(*args)

    @staticmethod
    def DimTolRefGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Return GUIDs for TreeNode representing specified types of DGT.

        """
        return _XCAFDoc.xcafdoc_DimTolRefGUID(*args)

    @staticmethod
    def DimensionRefFirstGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Return GUIDs for TreeNode representing specified types of Dimension.

        """
        return _XCAFDoc.xcafdoc_DimensionRefFirstGUID(*args)

    @staticmethod
    def DimensionRefSecondGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Return GUIDs for TreeNode representing specified types of Dimension.

        """
        return _XCAFDoc.xcafdoc_DimensionRefSecondGUID(*args)

    @staticmethod
    def ExternRefGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Returns GUID for UAttribute identifying external reference on no-step file.

        """
        return _XCAFDoc.xcafdoc_ExternRefGUID(*args)

    @staticmethod
    def GeomToleranceRefGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Return GUIDs for TreeNode representing specified types of GeomTolerance.

        """
        return _XCAFDoc.xcafdoc_GeomToleranceRefGUID(*args)

    @staticmethod
    def InvisibleGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.xcafdoc_InvisibleGUID(*args)

    @staticmethod
    def LayerRefGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.xcafdoc_LayerRefGUID(*args)

    @staticmethod
    def LockGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Returns GUID for UAttribute identifying lock flag.

        """
        return _XCAFDoc.xcafdoc_LockGUID(*args)

    @staticmethod
    def MaterialRefGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.xcafdoc_MaterialRefGUID(*args)

    @staticmethod
    def NoteRefGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Return GUIDs for representing notes.

        """
        return _XCAFDoc.xcafdoc_NoteRefGUID(*args)

    @staticmethod
    def SHUORefGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Returns GUID for UAttribute identifying specified higher usage occurrence.

        """
        return _XCAFDoc.xcafdoc_SHUORefGUID(*args)

    @staticmethod
    def ShapeRefGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Returns GUID for TreeNode representing assembly link.

        """
        return _XCAFDoc.xcafdoc_ShapeRefGUID(*args)

    @staticmethod
    def ViewRefAnnotationGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.xcafdoc_ViewRefAnnotationGUID(*args)

    @staticmethod
    def ViewRefGDTGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Return GUIDs for TreeNode representing specified types of View.

        """
        return _XCAFDoc.xcafdoc_ViewRefGDTGUID(*args)

    @staticmethod
    def ViewRefGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Return GUIDs for TreeNode representing specified types of View.

        """
        return _XCAFDoc.xcafdoc_ViewRefGUID(*args)

    @staticmethod
    def ViewRefNoteGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Return GUIDs for GraphNode representing specified types of View.

        """
        return _XCAFDoc.xcafdoc_ViewRefNoteGUID(*args)

    @staticmethod
    def ViewRefPlaneGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Return GUIDs for TreeNode representing specified types of View.

        """
        return _XCAFDoc.xcafdoc_ViewRefPlaneGUID(*args)

    @staticmethod
    def ViewRefShapeGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Return GUIDs for TreeNode representing specified types of View.

        """
        return _XCAFDoc.xcafdoc_ViewRefShapeGUID(*args)

    @staticmethod
    def VisMaterialRefGUID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Return GUID for TreeNode representing Visualization Material.

        """
        return _XCAFDoc.xcafdoc_VisMaterialRefGUID(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _XCAFDoc.xcafdoc_swiginit(self, _XCAFDoc.new_xcafdoc())
    __swig_destroy__ = _XCAFDoc.delete_xcafdoc

# Register xcafdoc in _XCAFDoc:
_XCAFDoc.xcafdoc_swigregister(xcafdoc)
class XCAFDoc_Area(OCC.Core.TDataStd.TDataStd_Real):
    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
        -----------
        class methods =============.

        """
        _XCAFDoc.XCAFDoc_Area_swiginit(self, _XCAFDoc.new_XCAFDoc_Area(*args))

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_Area_DumpJson(self, depth)

    @staticmethod
    def Get(*args):
        r"""
        Return
        -------
        float

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

        Parameters
        ----------
        label: TDF_Label

        Return
        -------
        area: float

        Description
        -----------
        Returns volume of area as argument and success status returns false if no such attribute at the <label>.

        """
        return _XCAFDoc.XCAFDoc_Area_Get(*args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_Area_GetID(*args)

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

        Parameters
        ----------
        vol: float

        Return
        -------
        None

        Description
        -----------
        Sets a value of volume.

        Parameters
        ----------
        label: TDF_Label
        area: float

        Return
        -------
        opencascade::handle<XCAFDoc_Area>

        Description
        -----------
        Find, or create, an Area attribute and set its value.

        """
        return _XCAFDoc.XCAFDoc_Area_Set(*args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_Area

# Register XCAFDoc_Area in _XCAFDoc:
_XCAFDoc.XCAFDoc_Area_swigregister(XCAFDoc_Area)
class XCAFDoc_AssemblyGraph(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    NodeType_UNDEFINED = _XCAFDoc.XCAFDoc_AssemblyGraph_NodeType_UNDEFINED
    NodeType_AssemblyRoot = _XCAFDoc.XCAFDoc_AssemblyGraph_NodeType_AssemblyRoot
    NodeType_Subassembly = _XCAFDoc.XCAFDoc_AssemblyGraph_NodeType_Subassembly
    NodeType_Occurrence = _XCAFDoc.XCAFDoc_AssemblyGraph_NodeType_Occurrence
    NodeType_Part = _XCAFDoc.XCAFDoc_AssemblyGraph_NodeType_Part
    NodeType_Subshape = _XCAFDoc.XCAFDoc_AssemblyGraph_NodeType_Subshape


    class NodeType(IntEnum):
    	NodeType_UNDEFINED = 0
    	NodeType_AssemblyRoot = 1
    	NodeType_Subassembly = 2
    	NodeType_Occurrence = 3
    	NodeType_Part = 4
    	NodeType_Subshape = 5
    NodeType_UNDEFINED = NodeType.NodeType_UNDEFINED
    NodeType_AssemblyRoot = NodeType.NodeType_AssemblyRoot
    NodeType_Subassembly = NodeType.NodeType_Subassembly
    NodeType_Occurrence = NodeType.NodeType_Occurrence
    NodeType_Part = NodeType.NodeType_Part
    NodeType_Subshape = NodeType.NodeType_Subshape


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

        Parameters
        ----------
        theDoc: TDocStd_Document

        Return
        -------
        None

        Description
        -----------
       rief Constructs graph from XCAF document. Construction of a formal graph will be done immediately. \param[in] theDoc - document to iterate.

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

        Return
        -------
        None

        Description
        -----------
       rief Constructs graph from XCAF label. Construction of a formal graph will be done immediately. The specified label is used as a starting position. \param[in] theDoc - document to iterate. \param[in] theLabel - starting position.

        """
        _XCAFDoc.XCAFDoc_AssemblyGraph_swiginit(self, _XCAFDoc.new_XCAFDoc_AssemblyGraph(*args))

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

        Parameters
        ----------
        theNode: int

        Return
        -------
        TColStd_PackedMapOfInteger

        Description
        -----------
       rief Returns IDs of child nodes for the given node. \param[in] theNode - one-based node ID. eturn set of child IDs.

        """
        return _XCAFDoc.XCAFDoc_AssemblyGraph_GetChildren(self, *args)

    def GetLinks(self, *args):
        r"""
        Return
        -------
        AdjacencyMap

        Description
        -----------
       rief Returns the collection of graph links in the form of adjacency matrix. eturn graph links.

        """
        return _XCAFDoc.XCAFDoc_AssemblyGraph_GetLinks(self, *args)

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

        Parameters
        ----------
        theNode: int

        Return
        -------
        TDF_Label

        Description
        -----------
       rief returns object ID by node ID. \param[in] theNode - one-based node ID. eturn persistent ID.

        """
        return _XCAFDoc.XCAFDoc_AssemblyGraph_GetNode(self, *args)

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

        Parameters
        ----------
        theNode: int

        Return
        -------
        XCAFDoc_AssemblyGraph::NodeType

        Description
        -----------
       rief Returns the node type from ef NodeType enum. \param[in] theNode - one-based node ID. eturn node type. \sa NodeType.

        """
        return _XCAFDoc.XCAFDoc_AssemblyGraph_GetNodeType(self, *args)

    def GetNodes(self, *args):
        r"""
        Return
        -------
        TDF_LabelIndexedMap

        Description
        -----------
       rief Returns the unordered set of graph nodes. eturn graph nodes.

        """
        return _XCAFDoc.XCAFDoc_AssemblyGraph_GetNodes(self, *args)

    def GetRoots(self, *args):
        r"""
        Return
        -------
        TColStd_PackedMapOfInteger

        Description
        -----------
       rief Returns IDs of the root nodes. eturn IDs of the root nodes.

        """
        return _XCAFDoc.XCAFDoc_AssemblyGraph_GetRoots(self, *args)

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

        Description
        -----------
        eturn Document shape tool.

        """
        return _XCAFDoc.XCAFDoc_AssemblyGraph_GetShapeTool(self, *args)

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

        Parameters
        ----------
        theNode: int

        Return
        -------
        bool

        Description
        -----------
       rief Checks whether direct children exist for the given node. \param[in] theNode - one-based node ID. eturn true/false.

        """
        return _XCAFDoc.XCAFDoc_AssemblyGraph_HasChildren(self, *args)

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

        Parameters
        ----------
        theNode1: int
        theNode2: int

        Return
        -------
        bool

        Description
        -----------
       rief Checks whether the assembly graph contains (n1, n2) directed link. \param[in] theNode1 - one-based ID of the first node. \param[in] theNode2 - one-based ID of the second node. eturn true/false.

        """
        return _XCAFDoc.XCAFDoc_AssemblyGraph_IsDirectLink(self, *args)

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

        Description
        -----------
       rief Returns the number of graph links. eturn number of graph links.

        """
        return _XCAFDoc.XCAFDoc_AssemblyGraph_NbLinks(self, *args)

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

        Description
        -----------
       rief Returns the number of graph nodes. eturn number of graph nodes.

        """
        return _XCAFDoc.XCAFDoc_AssemblyGraph_NbNodes(self, *args)

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

        Parameters
        ----------
        theNode: int

        Return
        -------
        int

        Description
        -----------
        Returns quantity of part usage occurrences. \param[in] theNode - one-based part ID. eturn usage occurrence quantity.

        """
        return _XCAFDoc.XCAFDoc_AssemblyGraph_NbOccurrences(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_AssemblyGraph

# Register XCAFDoc_AssemblyGraph in _XCAFDoc:
_XCAFDoc.XCAFDoc_AssemblyGraph_swigregister(XCAFDoc_AssemblyGraph)
class XCAFDoc_AssemblyItemId(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
        -----------
        Constructs an empty item ID.

        Parameters
        ----------
        thePath: TColStd_ListOfAsciiString

        Return
        -------
        None

        Description
        -----------
        Constructs an item ID from a list of strings, where every string is a label entry. \param[in] thePath - list of label entries.

        Parameters
        ----------
        theString: str

        Return
        -------
        None

        Description
        -----------
        Constructs an item ID from a formatted path, where label entries are separated by '/' symbol. \param[in] theString - formatted full path.

        """
        _XCAFDoc.XCAFDoc_AssemblyItemId_swiginit(self, _XCAFDoc.new_XCAFDoc_AssemblyItemId(*args))

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemId_DumpJson(self, depth)

    def GetPath(self, *args):
        r"""
        Return
        -------
        TColStd_ListOfAsciiString

        Description
        -----------
        Returns the full path as a list of label entries.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemId_GetPath(self, *args)

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

        Parameters
        ----------
        thePath: TColStd_ListOfAsciiString

        Return
        -------
        None

        Description
        -----------
        Initializes the item ID from a list of strings, where every string is a label entry. \param[in] thePath - list of label entries.

        Parameters
        ----------
        theString: str

        Return
        -------
        None

        Description
        -----------
        Initializes the item ID from a formatted path, where label entries are separated by '/' symbol. \param[in] theString - formatted full path.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemId_Init(self, *args)

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

        Parameters
        ----------
        theOther: XCAFDoc_AssemblyItemId

        Return
        -------
        bool

        Description
        -----------
        Checks if this item is a child of the given item. \param[in] theOther - potentially ancestor item. eturn true if the item is a child of theOther item, otherwise - false.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemId_IsChild(self, *args)

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

        Parameters
        ----------
        theOther: XCAFDoc_AssemblyItemId

        Return
        -------
        bool

        Description
        -----------
        Checks if this item is a direct child of the given item. \param[in] theOther - potentially parent item. eturn true if the item is a direct child of theOther item, otherwise - false.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemId_IsDirectChild(self, *args)

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

        Parameters
        ----------
        theOther: XCAFDoc_AssemblyItemId

        Return
        -------
        bool

        Description
        -----------
        Checks for item IDs equality. \param[in] theOther - the item ID to check equality with. eturn true if this ID is equal to theOther, otherwise - false.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemId_IsEqual(self, *args)

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

        Description
        -----------
        Returns true if the full path is empty, otherwise - false.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemId_IsNull(self, *args)

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

        Description
        -----------
        Clears the full path.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemId_Nullify(self, *args)

    def ToString(self, *args):
        r"""
        Return
        -------
        TCollection_AsciiString

        Description
        -----------
        Returns the full pass as a formatted string.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemId_ToString(self, *args)

    def __eq_wrapper__(self, other):
        return _XCAFDoc.XCAFDoc_AssemblyItemId___eq_wrapper__(self, other)

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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_AssemblyItemId

# Register XCAFDoc_AssemblyItemId in _XCAFDoc:
_XCAFDoc.XCAFDoc_AssemblyItemId_swigregister(XCAFDoc_AssemblyItemId)
class XCAFDoc_AssemblyItemRef(OCC.Core.TDF.TDF_Attribute):
    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 reference attribute.

        """
        _XCAFDoc.XCAFDoc_AssemblyItemRef_swiginit(self, _XCAFDoc.new_XCAFDoc_AssemblyItemRef(*args))

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

        Description
        -----------
        Reverts the reference to empty state.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_ClearExtraRef(self, *args)

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_DumpJson(self, depth)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>

        Description
        -----------
        Finds a reference attribute on the given label and returns it, if it is found.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_Get(*args)

    def GetGUID(self, *args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Returns the assembly item's attribute that the reference points to. If the reference doesn't point to an attribute, returns an empty GUID.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_GetGUID(self, *args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_GetID(*args)

    def GetItem(self, *args):
        r"""
        Return
        -------
        XCAFDoc_AssemblyItemId

        Description
        -----------
        Returns the assembly item ID that the reference points to.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_GetItem(self, *args)

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

        Description
        -----------
        Returns the assembly item's subshape that the reference points to. If the reference doesn't point to a subshape, returns 0.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_GetSubshapeIndex(self, *args)

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

        Description
        -----------
        Checks if the reference points on an item's shapeindex or attribute.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_HasExtraRef(self, *args)

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

        Description
        -----------
        Checks is the reference points to an item's attribute.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_IsGUID(self, *args)

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

        Description
        -----------
        Checks if the reference points to a really existing item in XDE document.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_IsOrphan(self, *args)

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

        Description
        -----------
        Checks is the reference points to an item's subshape.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_IsSubshapeIndex(self, *args)

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

        Parameters
        ----------
        theLabel: TDF_Label
        theItemId: XCAFDoc_AssemblyItemId

        Return
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>

        Description
        -----------
        Create (if not exist) a reference to an assembly item. \param[in] theLabel - label to add the attribute. \param[in] theItemId - assembly item ID. eturn A handle to the attribute instance.

        Parameters
        ----------
        theLabel: TDF_Label
        theItemId: XCAFDoc_AssemblyItemId
        theGUID: Standard_GUID

        Return
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>

        Description
        -----------
        Create (if not exist) a reference to an assembly item's label attribute. \param[in] theLabel - label to add the attribute. \param[in] theItemId - assembly item ID. \param[in] theGUID - assembly item's label attribute ID. eturn A handle to the attribute instance.

        Parameters
        ----------
        theLabel: TDF_Label
        theItemId: XCAFDoc_AssemblyItemId
        theShapeIndex: int

        Return
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>

        Description
        -----------
        Create (if not exist) a reference to an assembly item's subshape. \param[in] theLabel - label to add the attribute. \param[in] theItemId - assembly item ID. \param[in] theShapeIndex - assembly item's subshape index. eturn A handle to the attribute instance.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_Set(*args)

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

        Parameters
        ----------
        theAttrGUID: Standard_GUID

        Return
        -------
        None

        Description
        -----------
        Sets the assembly item's label attribute that the reference points to. The base assembly item will not change.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_SetGUID(self, *args)

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

        Parameters
        ----------
        theItemId: XCAFDoc_AssemblyItemId

        Return
        -------
        None

        Description
        -----------
        Sets the assembly item ID that the reference points to. Extra reference data (if any) will be cleared.

        Parameters
        ----------
        thePath: TColStd_ListOfAsciiString

        Return
        -------
        None

        Description
        -----------
        Sets the assembly item ID from a list of label entries that the reference points to. Extra reference data (if any) will be cleared.

        Parameters
        ----------
        theString: str

        Return
        -------
        None

        Description
        -----------
        Sets the assembly item ID from a formatted path that the reference points to. Extra reference data (if any) will be cleared.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_SetItem(self, *args)

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

        Parameters
        ----------
        theShapeIndex: int

        Return
        -------
        None

        Description
        -----------
        Sets the assembly item's subshape that the reference points to. The base assembly item will not change.

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_SetSubshapeIndex(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_AssemblyItemRef

# Register XCAFDoc_AssemblyItemRef in _XCAFDoc:
_XCAFDoc.XCAFDoc_AssemblyItemRef_swigregister(XCAFDoc_AssemblyItemRef)
class XCAFDoc_AssemblyIterator(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"""

        Parameters
        ----------
        theDoc: TDocStd_Document
        theLevel: int (optional, default to INT_MAX)

        Return
        -------
        None

        Description
        -----------
        Constructs iterator starting from assembly roots. \param[in] theDoc - document to iterate. \param [in, opt] theLevel - max level of hierarchy to reach (INT_MAX is for no limit).

        Parameters
        ----------
        theDoc: TDocStd_Document
        theRoot: XCAFDoc_AssemblyItemId
        theLevel: int (optional, default to INT_MAX)

        Return
        -------
        None

        Description
        -----------
        Constructs iterator starting from the specified position in the assembly tree. \param[in] theDoc - document to iterate. \param[in] theRoot - assembly item to start iterating from. \param [in, opt] theLevel - max level of hierarchy to reach (INT_MAX is for no limit).

        """
        _XCAFDoc.XCAFDoc_AssemblyIterator_swiginit(self, _XCAFDoc.new_XCAFDoc_AssemblyIterator(*args))

    def Current(self, *args):
        r"""
        Return
        -------
        XCAFDoc_AssemblyItemId

        Description
        -----------
        eturn current item.

        """
        return _XCAFDoc.XCAFDoc_AssemblyIterator_Current(self, *args)

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

        Description
        -----------
        eturn true if there is still something to iterate, false -- otherwise.

        """
        return _XCAFDoc.XCAFDoc_AssemblyIterator_More(self, *args)

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

        Description
        -----------
        Moves depth-first iterator to the next position.

        """
        return _XCAFDoc.XCAFDoc_AssemblyIterator_Next(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_AssemblyIterator

# Register XCAFDoc_AssemblyIterator in _XCAFDoc:
_XCAFDoc.XCAFDoc_AssemblyIterator_swigregister(XCAFDoc_AssemblyIterator)
class XCAFDoc_AssemblyTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    __repr__ = _dumps_object


    def __init__(self):
        _XCAFDoc.XCAFDoc_AssemblyTool_swiginit(self, _XCAFDoc.new_XCAFDoc_AssemblyTool())
    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_AssemblyTool

# Register XCAFDoc_AssemblyTool in _XCAFDoc:
_XCAFDoc.XCAFDoc_AssemblyTool_swigregister(XCAFDoc_AssemblyTool)
class XCAFDoc_Centroid(OCC.Core.TDF.TDF_Attribute):
    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
        -----------
        class methods =============.

        """
        _XCAFDoc.XCAFDoc_Centroid_swiginit(self, _XCAFDoc.new_XCAFDoc_Centroid(*args))

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_Centroid_DumpJson(self, depth)

    @staticmethod
    def Get(*args):
        r"""
        Return
        -------
        gp_Pnt

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

        Parameters
        ----------
        label: TDF_Label
        pnt: gp_Pnt

        Return
        -------
        bool

        Description
        -----------
        Returns point as argument returns false if no such attribute at the <label>.

        """
        return _XCAFDoc.XCAFDoc_Centroid_Get(*args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_Centroid_GetID(*args)

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

        Parameters
        ----------
        label: TDF_Label
        pnt: gp_Pnt

        Return
        -------
        opencascade::handle<XCAFDoc_Centroid>

        Description
        -----------
        Find, or create, a Location attribute and set it's value the Location attribute is returned. Location methods ===============.

        Parameters
        ----------
        pnt: gp_Pnt

        Return
        -------
        None

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

        """
        return _XCAFDoc.XCAFDoc_Centroid_Set(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_Centroid

# Register XCAFDoc_Centroid in _XCAFDoc:
_XCAFDoc.XCAFDoc_Centroid_swigregister(XCAFDoc_Centroid)
class XCAFDoc_ClippingPlaneTool(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.

        """
        _XCAFDoc.XCAFDoc_ClippingPlaneTool_swiginit(self, _XCAFDoc.new_XCAFDoc_ClippingPlaneTool(*args))

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

        Parameters
        ----------
        thePlane: gp_Pln
        theName: str
        theCapping: bool

        Return
        -------
        TDF_Label

        Description
        -----------
        Adds a clipping plane definition to a ClippingPlane table and returns its label (returns existing label if the same clipping plane is already defined).

        Parameters
        ----------
        thePlane: gp_Pln
        theName: TCollection_HAsciiString
        theCapping: bool

        Return
        -------
        TDF_Label

        Description
        -----------
        Adds a clipping plane definition to a ClippingPlane table and returns its label (returns existing label if the same clipping plane is already defined).

        Parameters
        ----------
        thePlane: gp_Pln
        theName: str

        Return
        -------
        TDF_Label

        Description
        -----------
        Adds a clipping plane definition to a ClippingPlane table and returns its label (returns existing label if the same clipping plane is already defined).

        Parameters
        ----------
        thePlane: gp_Pln
        theName: TCollection_HAsciiString

        Return
        -------
        TDF_Label

        Description
        -----------
        Adds a clipping plane definition to a ClippingPlane table and returns its label (returns existing label if the same clipping plane is already defined).

        """
        return _XCAFDoc.XCAFDoc_ClippingPlaneTool_AddClippingPlane(self, *args)

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

        Description
        -----------
        returns the label under which ClippingPlanes are stored.

        """
        return _XCAFDoc.XCAFDoc_ClippingPlaneTool_BaseLabel(self, *args)

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

        Parameters
        ----------
        theClippingPlaneL: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Get capping value for given clipping plane label Return capping value.

        Parameters
        ----------
        theClippingPlaneL: TDF_Label

        Return
        -------
        theCapping: bool

        Description
        -----------
        Get capping value for given clipping plane label Return true if Label is valid abd capping is exist.

        """
        return _XCAFDoc.XCAFDoc_ClippingPlaneTool_GetCapping(self, *args)

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

        Parameters
        ----------
        theLabel: TDF_Label
        thePlane: gp_Pln
        theName: str

        Return
        -------
        theCapping: bool

        Description
        -----------
        Returns ClippingPlane defined by label lab Returns False if the label is not in ClippingPlane table or does not define a ClippingPlane.

        Parameters
        ----------
        theLabel: TDF_Label
        thePlane: gp_Pln

        Return
        -------
        theName: TCollection_HAsciiString
        theCapping: bool

        Description
        -----------
        Returns ClippingPlane defined by label lab Returns False if the label is not in ClippingPlane table or does not define a ClippingPlane.

        """
        return _XCAFDoc.XCAFDoc_ClippingPlaneTool_GetClippingPlane(self, *args)

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

        Parameters
        ----------
        Labels: TDF_LabelSequence

        Return
        -------
        None

        Description
        -----------
        Returns a sequence of clipping planes currently stored in the ClippingPlane table.

        """
        return _XCAFDoc.XCAFDoc_ClippingPlaneTool_GetClippingPlanes(self, *args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_ClippingPlaneTool_GetID(*args)

    def ID(self, *args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_ClippingPlaneTool_ID(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns True if label belongs to a ClippingPlane table and is a ClippingPlane definition.

        """
        return _XCAFDoc.XCAFDoc_ClippingPlaneTool_IsClippingPlane(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Removes clipping plane from the ClippingPlane table Return false and do nothing if clipping plane is referenced in at least one View.

        """
        return _XCAFDoc.XCAFDoc_ClippingPlaneTool_RemoveClippingPlane(self, *args)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_ClippingPlaneTool>

        Description
        -----------
        Creates (if not exist) ClippingPlaneTool.

        """
        return _XCAFDoc.XCAFDoc_ClippingPlaneTool_Set(*args)

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

        Parameters
        ----------
        theClippingPlaneL: TDF_Label
        theCapping: bool

        Return
        -------
        None

        Description
        -----------
        Set new value of capping for given clipping plane label.

        """
        return _XCAFDoc.XCAFDoc_ClippingPlaneTool_SetCapping(self, *args)

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

        Parameters
        ----------
        theLabelL: TDF_Label
        thePlane: gp_Pln
        theName: str

        Return
        -------
        None

        Description
        -----------
        Sets new value of plane and name to the given clipping plane label or do nothing, if the given label is not a clipping plane label.

        """
        return _XCAFDoc.XCAFDoc_ClippingPlaneTool_UpdateClippingPlane(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_ClippingPlaneTool

# Register XCAFDoc_ClippingPlaneTool in _XCAFDoc:
_XCAFDoc.XCAFDoc_ClippingPlaneTool_swigregister(XCAFDoc_ClippingPlaneTool)
class XCAFDoc_Color(OCC.Core.TDF.TDF_Attribute):
    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.

        """
        _XCAFDoc.XCAFDoc_Color_swiginit(self, _XCAFDoc.new_XCAFDoc_Color(*args))

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_Color_DumpJson(self, depth)

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

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

        """
        return _XCAFDoc.XCAFDoc_Color_GetAlpha(self, *args)

    def GetColor(self, *args):
        r"""
        Return
        -------
        Quantity_Color

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

        """
        return _XCAFDoc.XCAFDoc_Color_GetColor(self, *args)

    def GetColorRGBA(self, *args):
        r"""
        Return
        -------
        Quantity_ColorRGBA

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

        """
        return _XCAFDoc.XCAFDoc_Color_GetColorRGBA(self, *args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_Color_GetID(*args)

    def GetNOC(self, *args):
        r"""
        Return
        -------
        Quantity_NameOfColor

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

        """
        return _XCAFDoc.XCAFDoc_Color_GetNOC(self, *args)

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

        Parameters
        ----------

        Return
        -------
        R: float
        G: float
        B: float

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

        """
        return _XCAFDoc.XCAFDoc_Color_GetRGB(self, *args)

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

        Parameters
        ----------
        label: TDF_Label
        C: Quantity_Color

        Return
        -------
        opencascade::handle<XCAFDoc_Color>

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

        Parameters
        ----------
        label: TDF_Label
        C: Quantity_ColorRGBA

        Return
        -------
        opencascade::handle<XCAFDoc_Color>

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

        Parameters
        ----------
        label: TDF_Label
        C: Quantity_NameOfColor

        Return
        -------
        opencascade::handle<XCAFDoc_Color>

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

        Parameters
        ----------
        label: TDF_Label
        R: float
        G: float
        B: float
        alpha: float (optional, default to 1.0)

        Return
        -------
        opencascade::handle<XCAFDoc_Color>

        Description
        -----------
        Find, or create, a Color attribute and set it's value the Color attribute is returned.

        Parameters
        ----------
        C: Quantity_Color

        Return
        -------
        None

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

        Parameters
        ----------
        C: Quantity_ColorRGBA

        Return
        -------
        None

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

        Parameters
        ----------
        C: Quantity_NameOfColor

        Return
        -------
        None

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

        Parameters
        ----------
        R: float
        G: float
        B: float
        alpha: float (optional, default to 1.0)

        Return
        -------
        None

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

        """
        return _XCAFDoc.XCAFDoc_Color_Set(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_Color

# Register XCAFDoc_Color in _XCAFDoc:
_XCAFDoc.XCAFDoc_Color_swigregister(XCAFDoc_Color)
class XCAFDoc_ColorTool(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.

        """
        _XCAFDoc.XCAFDoc_ColorTool_swiginit(self, _XCAFDoc.new_XCAFDoc_ColorTool(*args))

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

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

        Return
        -------
        TDF_Label

        Description
        -----------
        Adds a color definition to a colortable and returns its label (returns existing label if the same color is already defined).

        Parameters
        ----------
        col: Quantity_ColorRGBA

        Return
        -------
        TDF_Label

        Description
        -----------
        Adds a color definition to a colortable and returns its label (returns existing label if the same color is already defined).

        """
        return _XCAFDoc.XCAFDoc_ColorTool_AddColor(self, *args)

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

        Description
        -----------
        Returns current auto-naming mode; True by default. If True then for added colors the TDataStd_Name attribute will be automatically added. This setting is global.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_AutoNaming(*args)

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

        Description
        -----------
        returns the label under which colors are stored.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_BaseLabel(self, *args)

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_DumpJson(self, depth)

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

        Parameters
        ----------
        col: Quantity_Color
        lab: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Finds a color definition in a colortable and returns its label if found Returns False if color is not found in colortable.

        Parameters
        ----------
        col: Quantity_ColorRGBA
        lab: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Finds a color definition in a colortable and returns its label if found Returns False if color is not found in colortable.

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

        Return
        -------
        TDF_Label

        Description
        -----------
        Finds a color definition in a colortable and returns its label if found (or Null label else).

        Parameters
        ----------
        col: Quantity_ColorRGBA

        Return
        -------
        TDF_Label

        Description
        -----------
        Finds a color definition in a colortable and returns its label if found (or Null label else).

        """
        return _XCAFDoc.XCAFDoc_ColorTool_FindColor(self, *args)

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

        Parameters
        ----------
        lab: TDF_Label
        col: Quantity_Color

        Return
        -------
        bool

        Description
        -----------
        Returns color defined by label lab Returns False if the label is not in colortable or does not define a color.

        Parameters
        ----------
        lab: TDF_Label
        col: Quantity_ColorRGBA

        Return
        -------
        bool

        Description
        -----------
        Returns color defined by label lab Returns False if the label is not in colortable or does not define a color.

        Parameters
        ----------
        L: TDF_Label
        type: XCAFDoc_ColorType
        colorL: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Returns label with color assigned to <L> as <type> Returns False if no such color is assigned.

        Parameters
        ----------
        L: TDF_Label
        type: XCAFDoc_ColorType
        color: Quantity_Color

        Return
        -------
        bool

        Description
        -----------
        Returns color assigned to <L> as <type> Returns False if no such color is assigned.

        Parameters
        ----------
        L: TDF_Label
        type: XCAFDoc_ColorType
        color: Quantity_ColorRGBA

        Return
        -------
        bool

        Description
        -----------
        Returns color assigned to <L> as <type> Returns False if no such color is assigned.

        Parameters
        ----------
        S: TopoDS_Shape
        type: XCAFDoc_ColorType
        colorL: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Returns label with color assigned to <L> as <type> Returns False if no such color is assigned.

        Parameters
        ----------
        S: TopoDS_Shape
        type: XCAFDoc_ColorType
        color: Quantity_Color

        Return
        -------
        bool

        Description
        -----------
        Returns color assigned to <L> as <type> Returns False if no such color is assigned.

        Parameters
        ----------
        S: TopoDS_Shape
        type: XCAFDoc_ColorType
        color: Quantity_ColorRGBA

        Return
        -------
        bool

        Description
        -----------
        Returns color assigned to <L> as <type> Returns False if no such color is assigned.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_GetColor(self, *args)

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

        Parameters
        ----------
        Labels: TDF_LabelSequence

        Return
        -------
        None

        Description
        -----------
        Returns a sequence of colors currently stored in the colortable.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_GetColors(self, *args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_ColorTool_GetID(*args)

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

        Parameters
        ----------
        theShape: TopoDS_Shape
        type: XCAFDoc_ColorType
        color: Quantity_Color

        Return
        -------
        bool

        Description
        -----------
        Gets the color of component that styled with SHUO structure Returns False if no sush component or color type.

        Parameters
        ----------
        theShape: TopoDS_Shape
        type: XCAFDoc_ColorType
        color: Quantity_ColorRGBA

        Return
        -------
        bool

        Description
        -----------
        Gets the color of component that styled with SHUO structure Returns False if no sush component or color type.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_GetInstanceColor(self, *args)

    def ID(self, *args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_ColorTool_ID(self, *args)

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

        Parameters
        ----------
        lab: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Returns True if label belongs to a colortable and is a color definition.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_IsColor(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Return True if object color defined by its Layer, False if not.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_IsColorByLayer(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Gets the visibility status of component that styled with SHUO structure Returns False if no sush component.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_IsInstanceVisible(self, *args)

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

        Parameters
        ----------
        L: TDF_Label
        type: XCAFDoc_ColorType

        Return
        -------
        bool

        Description
        -----------
        Returns True if label <L> has a color assignment of the type <type>.

        Parameters
        ----------
        S: TopoDS_Shape
        type: XCAFDoc_ColorType

        Return
        -------
        bool

        Description
        -----------
        Returns True if label <L> has a color assignment of the type <type>.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_IsSet(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Return True if object on this label is visible, False if invisible.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_IsVisible(*args)

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

        Parameters
        ----------
        lab: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Removes color from the colortable.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_RemoveColor(self, *args)

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

        Description
        -----------
        Reverses order in chains of TreeNodes (from Last to First) under each Color Label since we became to use function ::Prepend() instead of ::Append() in method SetColor() for acceleration.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_ReverseChainsOfTreeNodes(self, *args)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_ColorTool>

        Description
        -----------
        Creates (if not exist) ColorTool.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_Set(*args)

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

        Parameters
        ----------
        theIsAutoNaming: bool

        Return
        -------
        None

        Description
        -----------
        See also AutoNaming().

        """
        return _XCAFDoc.XCAFDoc_ColorTool_SetAutoNaming(*args)

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

        Parameters
        ----------
        L: TDF_Label
        colorL: TDF_Label
        type: XCAFDoc_ColorType

        Return
        -------
        None

        Description
        -----------
        Sets a link with GUID defined by <type> (see XCAFDoc::ColorRefGUID()) from label <L> to color defined by <colorL>. Color of shape is defined following way in dependance with type of color. If type of color is XCAFDoc_ColorGen - then this color defines default color for surfaces and curves. If for shape color with types XCAFDoc_ColorSurf or XCAFDoc_ColorCurv is specified then such color overrides generic color.

        Parameters
        ----------
        L: TDF_Label
        Color: Quantity_Color
        type: XCAFDoc_ColorType

        Return
        -------
        None

        Description
        -----------
        Sets a link with GUID defined by <type> (see XCAFDoc::ColorRefGUID()) from label <L> to color <Color> in the colortable Adds a color as necessary.

        Parameters
        ----------
        L: TDF_Label
        Color: Quantity_ColorRGBA
        type: XCAFDoc_ColorType

        Return
        -------
        None

        Description
        -----------
        Sets a link with GUID defined by <type> (see XCAFDoc::ColorRefGUID()) from label <L> to color <Color> in the colortable Adds a color as necessary.

        Parameters
        ----------
        S: TopoDS_Shape
        colorL: TDF_Label
        type: XCAFDoc_ColorType

        Return
        -------
        bool

        Description
        -----------
        Sets a link with GUID defined by <type> (see XCAFDoc::ColorRefGUID()) from label <L> to color defined by <colorL> Returns False if cannot find a label for shape S.

        Parameters
        ----------
        S: TopoDS_Shape
        Color: Quantity_Color
        type: XCAFDoc_ColorType

        Return
        -------
        bool

        Description
        -----------
        Sets a link with GUID defined by <type> (see XCAFDoc::ColorRefGUID()) from label <L> to color <Color> in the colortable Adds a color as necessary Returns False if cannot find a label for shape S.

        Parameters
        ----------
        S: TopoDS_Shape
        Color: Quantity_ColorRGBA
        type: XCAFDoc_ColorType

        Return
        -------
        bool

        Description
        -----------
        Sets a link with GUID defined by <type> (see XCAFDoc::ColorRefGUID()) from label <L> to color <Color> in the colortable Adds a color as necessary Returns False if cannot find a label for shape S.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_SetColor(self, *args)

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

        Parameters
        ----------
        shapeLabel: TDF_Label
        isColorByLayer: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Set the Color defined by Layer flag on label. Do nothing if there no any object. Set UAttribute with corresponding GUID.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_SetColorByLayer(self, *args)

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

        Parameters
        ----------
        theShape: TopoDS_Shape
        type: XCAFDoc_ColorType
        color: Quantity_Color
        isCreateSHUO: bool (optional, default to Standard_True)

        Return
        -------
        bool

        Description
        -----------
        Sets the color of component that styled with SHUO structure Returns False if no sush component found NOTE: create SHUO structeure if it is necessary and if <isCreateSHUO>.

        Parameters
        ----------
        theShape: TopoDS_Shape
        type: XCAFDoc_ColorType
        color: Quantity_ColorRGBA
        isCreateSHUO: bool (optional, default to Standard_True)

        Return
        -------
        bool

        Description
        -----------
        Sets the color of component that styled with SHUO structure Returns False if no sush component found NOTE: create SHUO structeure if it is necessary and if <isCreateSHUO>.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_SetInstanceColor(self, *args)

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

        Parameters
        ----------
        shapeLabel: TDF_Label
        isvisible: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Set the visibility of object on label. Do nothing if there no any object. Set UAttribute with corresponding GUID.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_SetVisibility(self, *args)

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

        Description
        -----------
        Returns internal XCAFDoc_ShapeTool tool.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_ShapeTool(self, *args)

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

        Parameters
        ----------
        L: TDF_Label
        type: XCAFDoc_ColorType

        Return
        -------
        None

        Description
        -----------
        Removes a link with GUID defined by <type> (see XCAFDoc::ColorRefGUID()) from label <L> to color.

        Parameters
        ----------
        S: TopoDS_Shape
        type: XCAFDoc_ColorType

        Return
        -------
        bool

        Description
        -----------
        Removes a link with GUID defined by <type> (see XCAFDoc::ColorRefGUID()) from label <L> to color Returns True if such link existed.

        """
        return _XCAFDoc.XCAFDoc_ColorTool_UnSetColor(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_ColorTool

# Register XCAFDoc_ColorTool in _XCAFDoc:
_XCAFDoc.XCAFDoc_ColorTool_swigregister(XCAFDoc_ColorTool)
class XCAFDoc_Datum(OCC.Core.TDF.TDF_Attribute):
    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.

        """
        _XCAFDoc.XCAFDoc_Datum_swiginit(self, _XCAFDoc.new_XCAFDoc_Datum(*args))

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_Datum_DumpJson(self, depth)

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

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

        """
        return _XCAFDoc.XCAFDoc_Datum_GetDescription(self, *args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_Datum_GetID(*args)

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

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

        """
        return _XCAFDoc.XCAFDoc_Datum_GetIdentification(self, *args)

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

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

        """
        return _XCAFDoc.XCAFDoc_Datum_GetName(self, *args)

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

        Description
        -----------
        Returns dimension object data taken from the paren's label and its sub-labels.

        """
        return _XCAFDoc.XCAFDoc_Datum_GetObject(self, *args)

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

        Parameters
        ----------
        label: TDF_Label
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        anIdentification: TCollection_HAsciiString

        Return
        -------
        opencascade::handle<XCAFDoc_Datum>

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_Datum>

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

        Parameters
        ----------
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        anIdentification: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _XCAFDoc.XCAFDoc_Datum_Set(self, *args)

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

        Parameters
        ----------
        theDatumObject: XCAFDimTolObjects_DatumObject

        Return
        -------
        None

        Description
        -----------
        Updates parent's label and its sub-labels with data taken from theDatumObject. Old data associated with the label will be lost.

        """
        return _XCAFDoc.XCAFDoc_Datum_SetObject(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_Datum

# Register XCAFDoc_Datum in _XCAFDoc:
_XCAFDoc.XCAFDoc_Datum_swigregister(XCAFDoc_Datum)
class XCAFDoc_DimTol(OCC.Core.TDF.TDF_Attribute):
    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.

        """
        _XCAFDoc.XCAFDoc_DimTol_swiginit(self, _XCAFDoc.new_XCAFDoc_DimTol(*args))

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_DimTol_DumpJson(self, depth)

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

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

        """
        return _XCAFDoc.XCAFDoc_DimTol_GetDescription(self, *args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_DimTol_GetID(*args)

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

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

        """
        return _XCAFDoc.XCAFDoc_DimTol_GetKind(self, *args)

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

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

        """
        return _XCAFDoc.XCAFDoc_DimTol_GetName(self, *args)

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

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

        """
        return _XCAFDoc.XCAFDoc_DimTol_GetVal(self, *args)

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

        Parameters
        ----------
        label: TDF_Label
        kind: int
        aVal: TColStd_HArray1OfReal
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString

        Return
        -------
        opencascade::handle<XCAFDoc_DimTol>

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

        Parameters
        ----------
        kind: int
        aVal: TColStd_HArray1OfReal
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _XCAFDoc.XCAFDoc_DimTol_Set(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_DimTol

# Register XCAFDoc_DimTol in _XCAFDoc:
_XCAFDoc.XCAFDoc_DimTol_swigregister(XCAFDoc_DimTol)
class XCAFDoc_DimTolTool(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.

        """
        _XCAFDoc.XCAFDoc_DimTolTool_swiginit(self, _XCAFDoc.new_XCAFDoc_DimTolTool(*args))

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

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theIdentification: TCollection_HAsciiString

        Return
        -------
        TDF_Label

        Description
        -----------
        Adds a datum definition to the GD&T table and returns its label.
        Return
        -------
        TDF_Label

        Description
        -----------
        Adds a datum definition to the GD&T table and returns its label.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_AddDatum(self, *args)

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

        Parameters
        ----------
        theKind: int
        theVal: TColStd_HArray1OfReal
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString

        Return
        -------
        TDF_Label

        Description
        -----------
        Adds a dimension tolerance definition with the specified kind, value, name and description to the GD&T table and returns its label.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_AddDimTol(self, *args)

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

        Description
        -----------
        Adds a dimension definition to the GD&T table and returns its label.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_AddDimension(self, *args)

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

        Description
        -----------
        Adds a GeomTolerance definition to the GD&T table and returns its label.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_AddGeomTolerance(self, *args)

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

        Description
        -----------
        Returns the label under which GD&T table is stored.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_BaseLabel(self, *args)

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_DumpJson(self, depth)

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

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theIdentification: TCollection_HAsciiString
        lab: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Finds a datum satisfying the specified name, description and identification and returns its label if found.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_FindDatum(self, *args)

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

        Parameters
        ----------
        theKind: int
        theVal: TColStd_HArray1OfReal
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        lab: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Finds a dimension tolerance definition in the GD&T table satisfying the specified kind, values, name and description and returns its label if found. Returns False if dimension tolerance is not found in DGTtable.

        Parameters
        ----------
        theKind: int
        theVal: TColStd_HArray1OfReal
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString

        Return
        -------
        TDF_Label

        Description
        -----------
        Finds a dimension tolerance in the GD&T table satisfying the specified kind, values, name and description and returns its label if found (or Null label else).

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_FindDimTol(self, *args)

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

        Parameters
        ----------
        theDatumL: TDF_Label

        Return
        -------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theIdentification: TCollection_HAsciiString

        Description
        -----------
        Returns datum assigned to theDatumL label. Returns False if no such datum is assigned.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_GetDatum(self, *args)

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

        Parameters
        ----------
        Labels: TDF_LabelSequence

        Return
        -------
        None

        Description
        -----------
        Returns a sequence of Datums currently stored in the GD&T table.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_GetDatumLabels(self, *args)

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

        Parameters
        ----------
        theDimTolL: TDF_Label
        theDatums: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns all Datum labels defined for theDimTolL label.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_GetDatumOfTolerLabels(*args)

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

        Parameters
        ----------
        theDimTolL: TDF_Label
        theDatums: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns all Datum labels with XCAFDimTolObjects_DatumObject defined for label theDimTolL.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_GetDatumWithObjectOfTolerLabels(*args)

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

        Parameters
        ----------
        theDimTolL: TDF_Label
        theVal: TColStd_HArray1OfReal

        Return
        -------
        theKind: int
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString

        Description
        -----------
        Returns dimension tolerance assigned to theDimTolL label. Returns False if no such dimension tolerance is assigned.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_GetDimTol(self, *args)

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

        Parameters
        ----------
        Labels: TDF_LabelSequence

        Return
        -------
        None

        Description
        -----------
        Returns a sequence of D&GTs currently stored in the GD&T table.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_GetDimTolLabels(self, *args)

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

        Parameters
        ----------
        theLabels: TDF_LabelSequence

        Return
        -------
        None

        Description
        -----------
        Returns a sequence of Dimension labels currently stored in the GD&T table.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_GetDimensionLabels(self, *args)

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

        Parameters
        ----------
        theGDTLabelToShape: NCollection_IndexedDataMap<TDF_Label, TopoDS_Shape>

        Return
        -------
        None

        Description
        -----------
        fill the map GDT label -> shape presentation.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_GetGDTPresentations(self, *args)

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

        Parameters
        ----------
        theLabels: TDF_LabelSequence

        Return
        -------
        None

        Description
        -----------
        Returns a sequence of Tolerance labels currently stored in the GD&T table.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_GetGeomToleranceLabels(self, *args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Returns the standard GD&T tool GUID.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_GetID(*args)

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

        Parameters
        ----------
        theShapeL: TDF_Label
        theDatum: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns Datum label defined for theShapeL label.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_GetRefDatumLabel(self, *args)

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

        Parameters
        ----------
        theShapeL: TDF_Label
        theDimensions: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns all Dimension labels defined for theShapeL.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_GetRefDimensionLabels(self, *args)

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

        Parameters
        ----------
        theShapeL: TDF_Label
        theDimTols: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns all GeomTolerance labels defined for theShapeL.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_GetRefGeomToleranceLabels(self, *args)

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

        Parameters
        ----------
        theL: TDF_Label
        theShapeLFirst: TDF_LabelSequence
        theShapeLSecond: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Gets all shape labels referred by theL label of the GD&T table. Returns False if there are no shape labels added to the sequences.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_GetRefShapeLabel(*args)

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

        Parameters
        ----------
        theDatumL: TDF_Label
        theTols: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns all GeomToleranses labels defined for theDatumL label.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_GetTolerOfDatumLabels(self, *args)

    def ID(self, *args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_ID(self, *args)

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

        Parameters
        ----------
        lab: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Returns True if label belongs to the GD&T table and is a Datum definition.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_IsDatum(self, *args)

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

        Parameters
        ----------
        theLab: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Returns True if theLab belongs to the GD&T table and is a dmension tolerance.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_IsDimTol(self, *args)

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

        Parameters
        ----------
        theLab: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Returns True if the label belongs to a GD&T table and is a Dimension definition.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_IsDimension(self, *args)

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

        Parameters
        ----------
        theLab: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Returns True if the label belongs to the GD&T table and is a dimension tolerance.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_IsGeomTolerance(self, *args)

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

        Parameters
        ----------
        theViewL: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Returns true if the given GDT is marked as locked.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_IsLocked(self, *args)

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

        Parameters
        ----------
        theViewL: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Mark the given GDT as locked.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_Lock(self, *args)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_DimTolTool>

        Description
        -----------
        Creates (if not exist) DimTolTool attribute.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_Set(*args)

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

        Parameters
        ----------
        theShapeLabels: TDF_LabelSequence
        theDatumL: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Sets a datum to the sequence of shape labels.

        Parameters
        ----------
        theL: TDF_Label
        theTolerL: TDF_Label
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theIdentification: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Sets a datum to theL label and binds it with theTolerL label. A datum with the specified name, description and identification is created if it isn't found in the GD&T table.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_SetDatum(self, *args)

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

        Parameters
        ----------
        theDatumL: TDF_Label
        theTolerL: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Sets a datum from theDatumL label to theToletL label.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_SetDatumToGeomTol(self, *args)

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

        Parameters
        ----------
        theL: TDF_Label
        theDimTolL: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Sets existing dimension tolerance to theL label.

        Parameters
        ----------
        theL: TDF_Label
        theKind: int
        theVal: TColStd_HArray1OfReal
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString

        Return
        -------
        TDF_Label

        Description
        -----------
        Creates a dimension tolerance and sets it to theL label.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_SetDimTol(self, *args)

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

        Parameters
        ----------
        theFirstLS: TDF_LabelSequence
        theSecondLS: TDF_LabelSequence
        theDimL: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Sets a dimension to sequences target labels.

        Parameters
        ----------
        theFirstL: TDF_Label
        theSecondL: TDF_Label
        theDimL: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Sets a dimension to target labels.

        Parameters
        ----------
        theL: TDF_Label
        theDimL: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Sets a dimension to the target label.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_SetDimension(self, *args)

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

        Parameters
        ----------
        theGDTLabelToPrs: NCollection_IndexedDataMap<TDF_Label, TopoDS_Shape>

        Return
        -------
        None

        Description
        -----------
        Set shape presentation for GDT labels according to given map (theGDTLabelToPrs) theGDTLabelToPrsName map is an additional argument, can be used to set presentation names. If label is not in the theGDTLabelToPrsName map, the presentation name will be empty.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_SetGDTPresentations(self, *args)

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

        Parameters
        ----------
        theL: TDF_Label
        theGeomTolL: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Sets a geometry tolerance from theGeomTolL to theL label. Checks if theGeomTolL is a geometry tolerance definition first.

        Parameters
        ----------
        theL: TDF_LabelSequence
        theGeomTolL: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Sets a geometry tolerance from theGeomTolL to sequence of labels theL. Checks if theGeomTolL is a geometry tolerance definition first.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_SetGeomTolerance(self, *args)

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

        Description
        -----------
        Returns internal XCAFDoc_ShapeTool tool.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_ShapeTool(self, *args)

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

        Parameters
        ----------
        theViewL: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Unlock the given GDT.

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_Unlock(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_DimTolTool

# Register XCAFDoc_DimTolTool in _XCAFDoc:
_XCAFDoc.XCAFDoc_DimTolTool_swigregister(XCAFDoc_DimTolTool)
class XCAFDoc_Dimension(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.

        """
        _XCAFDoc.XCAFDoc_Dimension_swiginit(self, _XCAFDoc.new_XCAFDoc_Dimension(*args))

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_Dimension_DumpJson(self, depth)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_Dimension_GetID(*args)

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

        Description
        -----------
        Returns dimension object data taken from the parent's label and its sub-labels.

        """
        return _XCAFDoc.XCAFDoc_Dimension_GetObject(self, *args)

    def ID(self, *args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_Dimension_ID(self, *args)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_Dimension>

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

        """
        return _XCAFDoc.XCAFDoc_Dimension_Set(*args)

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

        Parameters
        ----------
        theDimensionObject: XCAFDimTolObjects_DimensionObject

        Return
        -------
        None

        Description
        -----------
        Updates parent's label and its sub-labels with data taken from theDimensionObject. Old data associated with the label will be lost.

        """
        return _XCAFDoc.XCAFDoc_Dimension_SetObject(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_Dimension

# Register XCAFDoc_Dimension in _XCAFDoc:
_XCAFDoc.XCAFDoc_Dimension_swigregister(XCAFDoc_Dimension)
class XCAFDoc_DocumentTool(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.

        """
        _XCAFDoc.XCAFDoc_DocumentTool_swiginit(self, _XCAFDoc.new_XCAFDoc_DocumentTool(*args))

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

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

        Return
        -------
        bool

        Description
        -----------
        To init this derived attribute after the attribute restore using the base restore-methods.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_AfterRetrieval(self, *args)

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

        Parameters
        ----------
        theAcces: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Checks for the ClippingPlaneTool attribute on the label's document Returns True if Tool exists, ELSE if it has not been created.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_CheckClippingPlaneTool(*args)

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

        Parameters
        ----------
        theAcces: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Checks for the ColorTool attribute on the label's document Returns True if Tool exists, ELSE if it has not been created.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_CheckColorTool(*args)

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

        Parameters
        ----------
        theAcces: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Checks for the DimTolTool attribute on the label's document Returns True if Tool exists, ELSE if it has not been created.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_CheckDimTolTool(*args)

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

        Parameters
        ----------
        theAcces: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Checks for the LayerTool attribute on the label's document Returns True if Tool exists, ELSE if it has not been created.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_CheckLayerTool(*args)

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

        Parameters
        ----------
        theAcces: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Checks for the MaterialTool attribute on the label's document Returns True if Tool exists, ELSE if it has not been created.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_CheckMaterialTool(*args)

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

        Parameters
        ----------
        theAcces: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Checks for the NotesTool attribute on the label's document Returns True if Tool exists, ELSE if it has not been created.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_CheckNotesTool(*args)

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

        Parameters
        ----------
        theAcces: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Checks for the ShapeTool attribute on the label's document Returns True if Tool exists, ELSE if it has not been created.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_CheckShapeTool(*args)

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

        Parameters
        ----------
        theAcces: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Checks for the ViewTool attribute on the label's document Returns True if Tool exists, ELSE if it has not been created.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_CheckViewTool(*args)

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

        Parameters
        ----------
        theAcces: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Checks for the VisMaterialTool attribute on the label's document Returns True if Tool exists, ELSE if it has not been created.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_CheckVisMaterialTool(*args)

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

        Parameters
        ----------
        acces: TDF_Label

        Return
        -------
        opencascade::handle<XCAFDoc_ClippingPlaneTool>

        Description
        -----------
        Creates (if it does not exist) ClippingPlaneTool attribute on ClippingPlanesLabel().

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_ClippingPlaneTool(*args)

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

        Parameters
        ----------
        acces: TDF_Label

        Return
        -------
        TDF_Label

        Description
        -----------
        Returns sub-label of DocLabel() with tag 8.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_ClippingPlanesLabel(*args)

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

        Parameters
        ----------
        acces: TDF_Label

        Return
        -------
        opencascade::handle<XCAFDoc_ColorTool>

        Description
        -----------
        Creates (if it does not exist) ColorTool attribute on ColorsLabel().

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_ColorTool(*args)

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

        Parameters
        ----------
        acces: TDF_Label

        Return
        -------
        TDF_Label

        Description
        -----------
        Returns sub-label of DocLabel() with tag 2.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_ColorsLabel(*args)

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

        Parameters
        ----------
        acces: TDF_Label

        Return
        -------
        TDF_Label

        Description
        -----------
        Returns sub-label of DocLabel() with tag 4.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_DGTsLabel(*args)

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

        Parameters
        ----------
        acces: TDF_Label

        Return
        -------
        opencascade::handle<XCAFDoc_DimTolTool>

        Description
        -----------
        Creates (if it does not exist) DimTolTool attribute on DGTsLabel().

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_DimTolTool(*args)

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

        Parameters
        ----------
        acces: TDF_Label

        Return
        -------
        TDF_Label

        Description
        -----------
        Returns label where the DocumentTool attribute is or 0.1 if DocumentTool is not yet set.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_DocLabel(*args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_GetID(*args)

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

        Parameters
        ----------
        theDoc: TDocStd_Document
        theBaseUnit: UnitsMethods_LengthUnit

        Return
        -------
        theResut: float

        Description
        -----------
        Returns value of current internal unit for the document converted to base unit type.

        Parameters
        ----------
        theDoc: TDocStd_Document

        Return
        -------
        theResut: float

        Description
        -----------
        Returns value of current internal unit for the document in meter.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_GetLengthUnit(*args)

    def ID(self, *args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_ID(self, *args)

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

        Description
        -----------
        to be called when reading this attribute from file.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_Init(self, *args)

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

        Parameters
        ----------
        Doc: TDocStd_Document

        Return
        -------
        bool

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

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_IsXCAFDocument(*args)

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

        Parameters
        ----------
        acces: TDF_Label

        Return
        -------
        opencascade::handle<XCAFDoc_LayerTool>

        Description
        -----------
        Creates (if it does not exist) LayerTool attribute on LayersLabel().

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_LayerTool(*args)

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

        Parameters
        ----------
        acces: TDF_Label

        Return
        -------
        TDF_Label

        Description
        -----------
        Returns sub-label of DocLabel() with tag 3.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_LayersLabel(*args)

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

        Parameters
        ----------
        acces: TDF_Label

        Return
        -------
        opencascade::handle<XCAFDoc_MaterialTool>

        Description
        -----------
        Creates (if it does not exist) DimTolTool attribute on DGTsLabel().

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_MaterialTool(*args)

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

        Parameters
        ----------
        acces: TDF_Label

        Return
        -------
        TDF_Label

        Description
        -----------
        Returns sub-label of DocLabel() with tag 5.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_MaterialsLabel(*args)

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

        Parameters
        ----------
        acces: TDF_Label

        Return
        -------
        TDF_Label

        Description
        -----------
        Returns sub-label of DocLabel() with tag 9.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_NotesLabel(*args)

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

        Parameters
        ----------
        acces: TDF_Label

        Return
        -------
        opencascade::handle<XCAFDoc_NotesTool>

        Description
        -----------
        Creates (if it does not exist) NotesTool attribute on NotesLabel().

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_NotesTool(*args)

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

        Parameters
        ----------
        L: TDF_Label
        IsAcces: bool (optional, default to Standard_True)

        Return
        -------
        opencascade::handle<XCAFDoc_DocumentTool>

        Description
        -----------
        Create (if not exist) DocumentTool attribute on 0.1 label if <IsAcces> is true, else on <L> label. This label will be returned by DocLabel(); If the attribute is already set it won't be reset on <L> even if <IsAcces> is false. ColorTool and ShapeTool attributes are also set by this method.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_Set(*args)

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

        Parameters
        ----------
        theDoc: TDocStd_Document
        theUnitValue: float

        Return
        -------
        None

        Description
        -----------
        Sets value of current internal unit to the document in meter.

        Parameters
        ----------
        theDoc: TDocStd_Document
        theUnitValue: float
        theBaseUnit: UnitsMethods_LengthUnit

        Return
        -------
        None

        Description
        -----------
        Sets value of current internal unit to the document 
        Parameter theUnitValue must be represented in the base unit type.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_SetLengthUnit(*args)

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

        Parameters
        ----------
        acces: TDF_Label

        Return
        -------
        opencascade::handle<XCAFDoc_ShapeTool>

        Description
        -----------
        Creates (if it does not exist) ShapeTool attribute on ShapesLabel().

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_ShapeTool(*args)

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

        Parameters
        ----------
        acces: TDF_Label

        Return
        -------
        TDF_Label

        Description
        -----------
        Returns sub-label of DocLabel() with tag 1.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_ShapesLabel(*args)

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

        Parameters
        ----------
        acces: TDF_Label

        Return
        -------
        opencascade::handle<XCAFDoc_ViewTool>

        Description
        -----------
        Creates (if it does not exist) ViewTool attribute on ViewsLabel().

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_ViewTool(*args)

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

        Parameters
        ----------
        acces: TDF_Label

        Return
        -------
        TDF_Label

        Description
        -----------
        Returns sub-label of DocLabel() with tag 7.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_ViewsLabel(*args)

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

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

        Return
        -------
        TDF_Label

        Description
        -----------
        Returns sub-label of DocLabel() with tag 10.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_VisMaterialLabel(*args)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_VisMaterialTool>

        Description
        -----------
        Creates (if it does not exist) XCAFDoc_VisMaterialTool attribute on VisMaterialLabel(). Should not be confused with MaterialTool() defining physical/manufacturing materials.

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_VisMaterialTool(*args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_DocumentTool

# Register XCAFDoc_DocumentTool in _XCAFDoc:
_XCAFDoc.XCAFDoc_DocumentTool_swigregister(XCAFDoc_DocumentTool)
class XCAFDoc_Editor(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theSrcLabel: TDF_Label
        theDstLabel: TDF_Label
        theVisMatMap: XCAFDoc_VisMaterial
        theToCopyColor: bool (optional, default to Standard_True)
        theToCopyLayer: bool (optional, default to Standard_True)
        theToCopyMaterial: bool (optional, default to Standard_True)
        theToCopyVisMaterial: bool (optional, default to Standard_True)
        theToCopyAttributes: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Copies metadata contains from the source label to the destination label. Protected against creating a new label for non-existent tools 
        Input parameter: theSrcLabel original label to copy from 
        Input parameter: theDstLabel destination shape label to set attributes 
        Input parameter: theVisMatMap relating map of the original VisMaterial and created. Can be NULL for the same document 
        Input parameter: theToCopyColor copying visible value and shape color (handled all color type) 
        Input parameter: theToCopyLayer copying layer 
        Input parameter: theToCopyMaterial copying material 
        Input parameter: theToCopyVisMaterial copying visual material 
        Input parameter: theToCopyAttributes copying of other node attributes, for example, a shape's property.

        """
        return _XCAFDoc.XCAFDoc_Editor_CloneMetaData(*args)

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

        Parameters
        ----------
        theSrcLabel: TDF_Label
        theSrcShapeTool: XCAFDoc_ShapeTool
        theDstShapeTool: XCAFDoc_ShapeTool
        theMap: TDF_LabelDataMap

        Return
        -------
        TDF_Label

        Description
        -----------
        Copies shapes label with keeping of shape structure (recursively) 
        Input parameter: theSrcLabel original label to copy from 
        Input parameter: theSrcShapeTool shape tool to get 
        Input parameter: theDstShapeTool shape tool to set @param[out] theMap relating map of the original shapes label and labels created from them 
        Return: result shape label.

        """
        return _XCAFDoc.XCAFDoc_Editor_CloneShapeLabel(*args)

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

        Parameters
        ----------
        theDoc: TDF_Label
        theShape: TDF_Label
        theRecursively: bool (optional, default to Standard_True)

        Return
        -------
        bool

        Description
        -----------
        Converts shape (compound/compsolid/shell/wire) to assembly. 
        Input parameter: theDoc input document 
        Input parameter: theShape input shape label 
        Input parameter: theRecursively recursively expand a compound subshape 
        Return: True if shape successfully expanded.

        Parameters
        ----------
        theDoc: TDF_Label
        theRecursively: bool (optional, default to Standard_True)

        Return
        -------
        bool

        Description
        -----------
        Converts all compounds shapes in the document to assembly 
        Input parameter: theDoc input document 
        Input parameter: theRecursively recursively expand a compound subshape 
        Return: True if shape successfully expanded.

        """
        return _XCAFDoc.XCAFDoc_Editor_Expand(*args)

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

        Parameters
        ----------
        theSrcLabels: TDF_LabelSequence
        theDstLabel: TDF_Label
        theIsNoVisMat: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Clones all labels to a new position, keeping the structure with all the attributes 
        Input parameter: theSrcLabels original labels to copy from 
        Input parameter: theDstLabel label to set result as a component of or a main document's label to simply set new shape 
        Input parameter: theIsNoVisMat get a VisMaterial attributes as is or convert to color 
        Return: True if shape successfully extracted.

        Parameters
        ----------
        theSrcLabel: TDF_Label
        theDstLabel: TDF_Label
        theIsNoVisMat: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Clones the label to a new position, keeping the structure with all the attributes 
        Input parameter: theSrcLabel original label to copy from 
        Input parameter: theDstLabel label to set result as a component of or a main document's label to simply set new shape 
        Input parameter: theIsNoVisMat get a VisMaterial attributes as is or convert to color 
        Return: True if shape successfully extracted.

        """
        return _XCAFDoc.XCAFDoc_Editor_Extract(*args)

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

        Parameters
        ----------
        theShapeTool: XCAFDoc_ShapeTool
        theLabelsToKeep: TDF_LabelMap

        Return
        -------
        bool

        Description
        -----------
        Filters original shape tree with keeping structure. The result will include the full label hierarchy lower then input labels. Any higher hierarchy labels will be filtered to keep only necessary labels. All not related shape labels with input will be cleared (all attributes will be removed). //! The result impact directly into original document and existed shape labels. Attributes related to removed shape can became invalide. For example, GDT with relation on removed shape label(s) and without attachment point(s) became invalid for visualization. //! 
        Input parameter: theShapeTool shape tool to extract from 
        Input parameter: theLabelsToKeep labels to keep 
        Return: true if the tree was filtered successfully.

        """
        return _XCAFDoc.XCAFDoc_Editor_FilterShapeTree(*args)

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

        Parameters
        ----------
        theLabel: TDF_Label
        theRelatedLabels: TDF_LabelMap

        Return
        -------
        None

        Description
        -----------
        Gets shape labels that has up relation with the input label. 
        Input parameter: theLabel input label @param[out] theRelatedLabels output labels.

        """
        return _XCAFDoc.XCAFDoc_Editor_GetChildShapeLabels(*args)

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

        Parameters
        ----------
        theLabel: TDF_Label
        theRelatedLabels: TDF_LabelMap

        Return
        -------
        None

        Description
        -----------
        Gets shape labels that has down relation with the input label. 
        Input parameter: theLabel input label @param[out] theRelatedLabels output labels.

        """
        return _XCAFDoc.XCAFDoc_Editor_GetParentShapeLabels(*args)

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

        Parameters
        ----------
        theLabel: TDF_Label
        theScaleFactor: float
        theForceIfNotRoot: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Applies geometrical scaling to the following assembly components: - part geometry - sub-assembly/part occurrence location - part's centroid, area and volume attributes - PMIs (warnings and errors are reported if it is impossible to make changes) Normally, should start from a root sub-assembly, but if theForceIfNotRoot true scaling will be applied forcibly. If theLabel corresponds to the shape tool scaling is applied to the whole assembly. 
        Input parameter: theLabel starting label 
        Input parameter: theScaleFactor scale factor, should be positive 
        Input parameter: theForceIfNotRoot allows scaling of a non root assembly if true,  otherwise - returns false 
        Return: true in case of success, otherwise - false.

        """
        return _XCAFDoc.XCAFDoc_Editor_RescaleGeometry(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _XCAFDoc.XCAFDoc_Editor_swiginit(self, _XCAFDoc.new_XCAFDoc_Editor())
    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_Editor

# Register XCAFDoc_Editor in _XCAFDoc:
_XCAFDoc.XCAFDoc_Editor_swigregister(XCAFDoc_Editor)
class XCAFDoc_GraphNode(OCC.Core.TDF.TDF_Attribute):
    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.

        """
        _XCAFDoc.XCAFDoc_GraphNode_swiginit(self, _XCAFDoc.new_XCAFDoc_GraphNode(*args))

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

        Parameters
        ----------
        Ch: XCAFDoc_GraphNode

        Return
        -------
        int

        Description
        -----------
        Return index of <Ch>, or zero if there is no such Graphnode.

        """
        return _XCAFDoc.XCAFDoc_GraphNode_ChildIndex(self, *args)

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_GraphNode_DumpJson(self, depth)

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

        Parameters
        ----------
        F: XCAFDoc_GraphNode

        Return
        -------
        int

        Description
        -----------
        Return index of <F>, or zero if there is no such Graphnode.

        """
        return _XCAFDoc.XCAFDoc_GraphNode_FatherIndex(self, *args)

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

        Parameters
        ----------
        L: TDF_Label
        G: XCAFDoc_GraphNode

        Return
        -------
        bool

        Description
        -----------
        class methods working on the node =================================== Shortcut to search a Graph node attribute with default GraphID. Returns true if found.

        """
        return _XCAFDoc.XCAFDoc_GraphNode_Find(*args)

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

        Parameters
        ----------
        Chindex: int

        Return
        -------
        opencascade::handle<XCAFDoc_GraphNode>

        Description
        -----------
        Return GraphNode by index from GraphNodeSequence.

        """
        return _XCAFDoc.XCAFDoc_GraphNode_GetChild(self, *args)

    @staticmethod
    def GetDefaultGraphID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        returns a default Graph ID. this ID is used by the <Set> method without explicit tree ID. Instance methods: ================.

        """
        return _XCAFDoc.XCAFDoc_GraphNode_GetDefaultGraphID(*args)

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

        Parameters
        ----------
        Findex: int

        Return
        -------
        opencascade::handle<XCAFDoc_GraphNode>

        Description
        -----------
        Return GraphNode by index from GraphNodeSequence.

        """
        return _XCAFDoc.XCAFDoc_GraphNode_GetFather(self, *args)

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

        Parameters
        ----------
        F: XCAFDoc_GraphNode

        Return
        -------
        bool

        Description
        -----------
        returns True if <self> is child of <F>.

        """
        return _XCAFDoc.XCAFDoc_GraphNode_IsChild(self, *args)

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

        Parameters
        ----------
        Ch: XCAFDoc_GraphNode

        Return
        -------
        bool

        Description
        -----------
        returns True if <self> is father of <Ch>.

        """
        return _XCAFDoc.XCAFDoc_GraphNode_IsFather(self, *args)

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

        Description
        -----------
        return Number of Childrens GraphNodes. Implementation of Attribute methods: ===================================.

        """
        return _XCAFDoc.XCAFDoc_GraphNode_NbChildren(self, *args)

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

        Description
        -----------
        return Number of Fathers GraphNodes.

        """
        return _XCAFDoc.XCAFDoc_GraphNode_NbFathers(self, *args)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_GraphNode>

        Description
        -----------
        Finds or Creates a GraphNode attribute on the label <L> with the default Graph ID, returned by the method <GetDefaultGraphID>. Returns the created/found GraphNode attribute.

        Parameters
        ----------
        L: TDF_Label
        ExplicitGraphID: Standard_GUID

        Return
        -------
        opencascade::handle<XCAFDoc_GraphNode>

        Description
        -----------
        Finds or Creates a GraphNode attribute on the label <L>, with an explicit tree ID. <ExplicitGraphID> is the ID returned by <TDF_Attribute::ID> method. Returns the found/created GraphNode attribute.

        """
        return _XCAFDoc.XCAFDoc_GraphNode_Set(*args)

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

        Parameters
        ----------
        Ch: XCAFDoc_GraphNode

        Return
        -------
        int

        Description
        -----------
        Set GraphNode <Ch> as child of me and returns index of <Ch> in Sequence that containing Children GraphNodes. return index of <Ch> from GraphNodeSequnece.

        """
        return _XCAFDoc.XCAFDoc_GraphNode_SetChild(self, *args)

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

        Parameters
        ----------
        F: XCAFDoc_GraphNode

        Return
        -------
        int

        Description
        -----------
        Set GraphNode <F> as father of me and returns index of <F> in Sequence that containing Fathers GraphNodes. return index of <F> from GraphNodeSequnece.

        """
        return _XCAFDoc.XCAFDoc_GraphNode_SetFather(self, *args)

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

        Parameters
        ----------
        explicitID: Standard_GUID

        Return
        -------
        None

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

        """
        return _XCAFDoc.XCAFDoc_GraphNode_SetGraphID(self, *args)

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

        Parameters
        ----------
        Ch: XCAFDoc_GraphNode

        Return
        -------
        None

        Description
        -----------
        Remove <Ch> from GraphNodeSequence. and remove link between father and child.

        Parameters
        ----------
        Chindex: int

        Return
        -------
        None

        Description
        -----------
        Remove Child GraphNode by index from Children GraphNodeSequence. and remove link between father and child.

        """
        return _XCAFDoc.XCAFDoc_GraphNode_UnSetChild(self, *args)

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

        Parameters
        ----------
        F: XCAFDoc_GraphNode

        Return
        -------
        None

        Description
        -----------
        Remove <F> from Fathers GraphNodeSequence. and remove link between father and child.

        Parameters
        ----------
        Findex: int

        Return
        -------
        None

        Description
        -----------
        Remove Father GraphNode by index from Fathers GraphNodeSequence. and remove link between father and child.

        """
        return _XCAFDoc.XCAFDoc_GraphNode_UnSetFather(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_GraphNode

# Register XCAFDoc_GraphNode in _XCAFDoc:
_XCAFDoc.XCAFDoc_GraphNode_swigregister(XCAFDoc_GraphNode)
class XCAFDoc_LayerTool(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.

        """
        _XCAFDoc.XCAFDoc_LayerTool_swiginit(self, _XCAFDoc.new_XCAFDoc_LayerTool(*args))

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

        Parameters
        ----------
        theLayer: str

        Return
        -------
        TDF_Label

        Description
        -----------
        Adds a Layer definition to a Layertable and returns its label (returns existing label if the same Layer is already defined).

        Parameters
        ----------
        theLayer: str
        theToFindVisible: bool

        Return
        -------
        TDF_Label

        Description
        -----------
        Adds a Layer definition to a Layertable and returns its label Returns existing label (if it is already defined) of visible or invisible layer, according to <theToFindVisible> parameter.

        """
        return _XCAFDoc.XCAFDoc_LayerTool_AddLayer(self, *args)

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

        Description
        -----------
        returns the label under which Layers are stored.

        """
        return _XCAFDoc.XCAFDoc_LayerTool_BaseLabel(self, *args)

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_LayerTool_DumpJson(self, depth)

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

        Parameters
        ----------
        aLayer: str
        lab: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Finds a Layer definition in a Layertable and returns its label if found Returns False if Layer is not found in Layertable.

        Parameters
        ----------
        aLayer: str
        theToFindWithProperty: bool (optional, default to Standard_False)
        theToFindVisible: bool (optional, default to Standard_True)

        Return
        -------
        TDF_Label

        Description
        -----------
        Finds a Layer definition in a Layertable by name Returns first founded label with the same name if <theToFindWithProperty> is false If <theToFindWithProperty> is true returns first label that contains or not contains visible attr, according to the <theToFindVisible> parameter.

        """
        return _XCAFDoc.XCAFDoc_LayerTool_FindLayer(self, *args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_LayerTool_GetID(*args)

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

        Parameters
        ----------
        lab: TDF_Label
        aLayer: str

        Return
        -------
        bool

        Description
        -----------
        Returns Layer defined by label lab Returns False if the label is not in Layertable or does not define a Layer.

        """
        return _XCAFDoc.XCAFDoc_LayerTool_GetLayer(self, *args)

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

        Parameters
        ----------
        Labels: TDF_LabelSequence

        Return
        -------
        None

        Description
        -----------
        Returns a sequence of Layers currently stored in the Layertable.

        """
        return _XCAFDoc.XCAFDoc_LayerTool_GetLayerLabels(self, *args)

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

        Parameters
        ----------
        L: TDF_Label
        aLayerS: TColStd_HSequenceOfExtendedString

        Return
        -------
        bool

        Description
        -----------
        Return sequence of strings <aLayerS> that associated with label <L>.

        Parameters
        ----------
        L: TDF_Label
        aLayerLS: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Return sequence of labels <aLayerSL> that associated with label <L>.

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

        Return
        -------
        opencascade::handle<TColStd_HSequenceOfExtendedString>

        Description
        -----------
        Return sequence of strings that associated with label <L>.

        Parameters
        ----------
        Sh: TopoDS_Shape
        aLayerS: TColStd_HSequenceOfExtendedString

        Return
        -------
        bool

        Description
        -----------
        Return sequence of strings <aLayerS> that associated with shape <Sh>.

        Parameters
        ----------
        Sh: TopoDS_Shape
        aLayerLS: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Return sequence of labels <aLayerLS> that associated with shape <Sh>.

        Parameters
        ----------
        Sh: TopoDS_Shape

        Return
        -------
        opencascade::handle<TColStd_HSequenceOfExtendedString>

        Description
        -----------
        Return sequence of strings that associated with shape <Sh>.

        """
        return _XCAFDoc.XCAFDoc_LayerTool_GetLayers(self, *args)

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

        Parameters
        ----------
        theLayerL: TDF_Label
        theShLabels: TDF_LabelSequence

        Return
        -------
        None

        Description
        -----------
        Return sequanese of shape labels that assigned with layers to <ShLabels>.

        """
        return _XCAFDoc.XCAFDoc_LayerTool_GetShapesOfLayer(*args)

    def ID(self, *args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_LayerTool_ID(self, *args)

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

        Parameters
        ----------
        lab: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Returns True if label belongs to a Layertable and is a Layer definition.

        """
        return _XCAFDoc.XCAFDoc_LayerTool_IsLayer(self, *args)

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

        Parameters
        ----------
        L: TDF_Label
        aLayer: str

        Return
        -------
        bool

        Description
        -----------
        Returns True if label <L> has a Layer associated with the <aLayer>.

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

        Return
        -------
        bool

        Description
        -----------
        Returns True if label <L> has a Layer associated with the <aLayerL> label.

        Parameters
        ----------
        Sh: TopoDS_Shape
        aLayer: str

        Return
        -------
        bool

        Description
        -----------
        Returns True if shape <Sh> has a Layer associated with the <aLayer>.

        Parameters
        ----------
        Sh: TopoDS_Shape
        aLayerL: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Returns True if shape <Sh> has a Layer associated with the <aLayerL>.

        """
        return _XCAFDoc.XCAFDoc_LayerTool_IsSet(self, *args)

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

        Parameters
        ----------
        layerL: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Return True if layer is visible, False if invisible.

        """
        return _XCAFDoc.XCAFDoc_LayerTool_IsVisible(self, *args)

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

        Parameters
        ----------
        lab: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Removes Layer from the Layertable.

        """
        return _XCAFDoc.XCAFDoc_LayerTool_RemoveLayer(self, *args)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_LayerTool>

        Description
        -----------
        Creates (if not exist) LayerTool.

        """
        return _XCAFDoc.XCAFDoc_LayerTool_Set(*args)

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

        Parameters
        ----------
        L: TDF_Label
        LayerL: TDF_Label
        shapeInOneLayer: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Sets a link from label <L> to Layer defined by <LayerL> optional parameter <shapeInOneLayer> show could shape be in number of layers or only in one.

        Parameters
        ----------
        L: TDF_Label
        aLayer: str
        shapeInOneLayer: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Sets a link from label <L> to Layer <aLayer> in the Layertable Adds a Layer as necessary optional parameter <shapeInOneLayer> show could shape be in number of layers or only in one.

        Parameters
        ----------
        Sh: TopoDS_Shape
        LayerL: TDF_Label
        shapeInOneLayer: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Sets a link from label that containing shape <Sh> with layer that situated at label <LayerL>. optional parameter <shapeInOneLayer> show could shape be in number of layers or only in one. return False if no such shape <Sh> or label <LayerL>.

        Parameters
        ----------
        Sh: TopoDS_Shape
        aLayer: str
        shapeInOneLayer: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Sets a link from label that containing shape <Sh> with layer <aLayer>. Add <aLayer> to LayerTable if nessesery. optional parameter <shapeInOneLayer> show could shape be in number of layers or only in one. return False if no such shape <Sh>.

        """
        return _XCAFDoc.XCAFDoc_LayerTool_SetLayer(self, *args)

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

        Parameters
        ----------
        layerL: TDF_Label
        isvisible: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Set the visibility of layer. If layer is invisible when on it's layer will set UAttribute with corresponding GUID.

        """
        return _XCAFDoc.XCAFDoc_LayerTool_SetVisibility(self, *args)

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

        Description
        -----------
        Returns internal XCAFDoc_ShapeTool tool.

        """
        return _XCAFDoc.XCAFDoc_LayerTool_ShapeTool(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Removes a link from label <L> to all layers.

        Parameters
        ----------
        Sh: TopoDS_Shape

        Return
        -------
        bool

        Description
        -----------
        Remove link between shape <Sh> and all Layers at LayerTable. return False if no such shape <Sh> in XCAF Document.

        """
        return _XCAFDoc.XCAFDoc_LayerTool_UnSetLayers(self, *args)

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

        Parameters
        ----------
        L: TDF_Label
        aLayer: str

        Return
        -------
        bool

        Description
        -----------
        Remove link from label <L> and Layer <aLayer>. returns False if no such layer.

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

        Return
        -------
        bool

        Description
        -----------
        Remove link from label <L> and Layer <aLayerL>. returns False if <aLayerL> is not a layer label.

        Parameters
        ----------
        Sh: TopoDS_Shape
        aLayer: str

        Return
        -------
        bool

        Description
        -----------
        Remove link between shape <Sh> and layer <aLayer>. returns False if no such layer <aLayer> or shape <Sh>.

        Parameters
        ----------
        Sh: TopoDS_Shape
        aLayerL: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Remove link between shape <Sh> and layer <aLayerL>. returns False if no such layer <aLayerL> or shape <Sh>.

        """
        return _XCAFDoc.XCAFDoc_LayerTool_UnSetOneLayer(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_LayerTool

# Register XCAFDoc_LayerTool in _XCAFDoc:
_XCAFDoc.XCAFDoc_LayerTool_swigregister(XCAFDoc_LayerTool)
class XCAFDoc_LengthUnit(OCC.Core.TDF.TDF_Attribute):
    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.

        """
        _XCAFDoc.XCAFDoc_LengthUnit_swiginit(self, _XCAFDoc.new_XCAFDoc_LengthUnit(*args))

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_LengthUnit_DumpJson(self, depth)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Returns the GUID of the attribute.

        """
        return _XCAFDoc.XCAFDoc_LengthUnit_GetID(*args)

    def GetUnitName(self, *args):
        r"""
        Return
        -------
        TCollection_AsciiString

        Description
        -----------
        Length unit description (could be arbitrary text).

        """
        return _XCAFDoc.XCAFDoc_LengthUnit_GetUnitName(self, *args)

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

        Description
        -----------
        Returns length unit scale factor to meter.

        """
        return _XCAFDoc.XCAFDoc_LengthUnit_GetUnitValue(self, *args)

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

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

        """
        return _XCAFDoc.XCAFDoc_LengthUnit_IsEmpty(self, *args)

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

        Parameters
        ----------
        theLabel: TDF_Label
        theUnitName: str
        theUnitValue: float

        Return
        -------
        opencascade::handle<XCAFDoc_LengthUnit>

        Description
        -----------
        Finds or creates a LengthUnit attribute 
        Parameter theUnitName - name of the unit: mm, m, cm, km, micron, in, min, nin, ft, stat.mile 
        Parameter theUnitValue - length scale factor to meter The LengthUnit attribute is returned.

        Parameters
        ----------
        theLabel: TDF_Label
        theUnitValue: float

        Return
        -------
        opencascade::handle<XCAFDoc_LengthUnit>

        Description
        -----------
        Finds or creates a LengthUnit attribute 
        Parameter theUnitValue - length scale factor to meter The LengthUnit attribute is returned.

        Parameters
        ----------
        theLabel: TDF_Label
        theGUID: Standard_GUID
        theUnitName: str
        theUnitValue: float

        Return
        -------
        opencascade::handle<XCAFDoc_LengthUnit>

        Description
        -----------
        Finds, or creates, a LengthUnit attribute with explicit user defined GUID 
        Parameter theUnitName - name of the unit: mm, m, cm, km, micron, in, min, nin, ft, stat.mile 
        Parameter theUnitValue - length scale factor to meter The LengthUnit attribute is returned.

        Parameters
        ----------
        theUnitName: str
        theUnitValue: float

        Return
        -------
        None

        Description
        -----------
        Creates a LengthUnit attribute 
        Parameter theUnitName - name of the unit: mm, m, cm, km, micron, in, min, nin, ft, stat.mile 
        Parameter theUnitValue - length scale factor to meter.

        """
        return _XCAFDoc.XCAFDoc_LengthUnit_Set(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_LengthUnit

# Register XCAFDoc_LengthUnit in _XCAFDoc:
_XCAFDoc.XCAFDoc_LengthUnit_swigregister(XCAFDoc_LengthUnit)
class XCAFDoc_Location(OCC.Core.TDF.TDF_Attribute):
    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
        -----------
        class methods =============.

        """
        _XCAFDoc.XCAFDoc_Location_swiginit(self, _XCAFDoc.new_XCAFDoc_Location(*args))

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_Location_DumpJson(self, depth)

    def Get(self, *args):
        r"""
        Return
        -------
        TopLoc_Location

        Description
        -----------
        Returns True if there is a reference on the same label.

        """
        return _XCAFDoc.XCAFDoc_Location_Get(self, *args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_Location_GetID(*args)

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

        Parameters
        ----------
        label: TDF_Label
        Loc: TopLoc_Location

        Return
        -------
        opencascade::handle<XCAFDoc_Location>

        Description
        -----------
        Find, or create, a Location attribute and set it's value the Location attribute is returned. Location methods ===============.

        Parameters
        ----------
        Loc: TopLoc_Location

        Return
        -------
        None

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

        """
        return _XCAFDoc.XCAFDoc_Location_Set(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_Location

# Register XCAFDoc_Location in _XCAFDoc:
_XCAFDoc.XCAFDoc_Location_swigregister(XCAFDoc_Location)
class XCAFDoc_Material(OCC.Core.TDF.TDF_Attribute):
    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.

        """
        _XCAFDoc.XCAFDoc_Material_swiginit(self, _XCAFDoc.new_XCAFDoc_Material(*args))

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_Material_DumpJson(self, depth)

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

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

        """
        return _XCAFDoc.XCAFDoc_Material_GetDensName(self, *args)

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

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

        """
        return _XCAFDoc.XCAFDoc_Material_GetDensValType(self, *args)

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

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

        """
        return _XCAFDoc.XCAFDoc_Material_GetDensity(self, *args)

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

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

        """
        return _XCAFDoc.XCAFDoc_Material_GetDescription(self, *args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_Material_GetID(*args)

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

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

        """
        return _XCAFDoc.XCAFDoc_Material_GetName(self, *args)

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

        Parameters
        ----------
        label: TDF_Label
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        aDensity: float
        aDensName: TCollection_HAsciiString
        aDensValType: TCollection_HAsciiString

        Return
        -------
        opencascade::handle<XCAFDoc_Material>

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

        Parameters
        ----------
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        aDensity: float
        aDensName: TCollection_HAsciiString
        aDensValType: TCollection_HAsciiString

        Return
        -------
        None

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

        """
        return _XCAFDoc.XCAFDoc_Material_Set(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_Material

# Register XCAFDoc_Material in _XCAFDoc:
_XCAFDoc.XCAFDoc_Material_swigregister(XCAFDoc_Material)
class XCAFDoc_MaterialTool(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.

        """
        _XCAFDoc.XCAFDoc_MaterialTool_swiginit(self, _XCAFDoc.new_XCAFDoc_MaterialTool(*args))

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

        Parameters
        ----------
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        aDensity: float
        aDensName: TCollection_HAsciiString
        aDensValType: TCollection_HAsciiString

        Return
        -------
        TDF_Label

        Description
        -----------
        Adds a Material definition to a table and returns its label.

        """
        return _XCAFDoc.XCAFDoc_MaterialTool_AddMaterial(self, *args)

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

        Description
        -----------
        returns the label under which colors are stored.

        """
        return _XCAFDoc.XCAFDoc_MaterialTool_BaseLabel(self, *args)

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_MaterialTool_DumpJson(self, depth)

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

        Parameters
        ----------
        ShapeL: TDF_Label

        Return
        -------
        float

        Description
        -----------
        Find referred material and return density from it if no material --> return 0.

        """
        return _XCAFDoc.XCAFDoc_MaterialTool_GetDensityForShape(*args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_MaterialTool_GetID(*args)

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

        Parameters
        ----------
        MatL: TDF_Label

        Return
        -------
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        aDensity: float
        aDensName: TCollection_HAsciiString
        aDensValType: TCollection_HAsciiString

        Description
        -----------
        Returns Material assigned to <MatL> Returns False if no such Material is assigned.

        """
        return _XCAFDoc.XCAFDoc_MaterialTool_GetMaterial(*args)

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

        Parameters
        ----------
        Labels: TDF_LabelSequence

        Return
        -------
        None

        Description
        -----------
        Returns a sequence of materials currently stored in the material table.

        """
        return _XCAFDoc.XCAFDoc_MaterialTool_GetMaterialLabels(self, *args)

    def ID(self, *args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_MaterialTool_ID(self, *args)

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

        Parameters
        ----------
        lab: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Returns True if label belongs to a material table and is a Material definition.

        """
        return _XCAFDoc.XCAFDoc_MaterialTool_IsMaterial(self, *args)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_MaterialTool>

        Description
        -----------
        Creates (if not exist) MaterialTool.

        """
        return _XCAFDoc.XCAFDoc_MaterialTool_Set(*args)

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

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

        Return
        -------
        None

        Description
        -----------
        Sets a link with GUID.

        Parameters
        ----------
        L: TDF_Label
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        aDensity: float
        aDensName: TCollection_HAsciiString
        aDensValType: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Sets a link with GUID Adds a Material as necessary.

        """
        return _XCAFDoc.XCAFDoc_MaterialTool_SetMaterial(self, *args)

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

        Description
        -----------
        Returns internal XCAFDoc_ShapeTool tool.

        """
        return _XCAFDoc.XCAFDoc_MaterialTool_ShapeTool(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_MaterialTool

# Register XCAFDoc_MaterialTool in _XCAFDoc:
_XCAFDoc.XCAFDoc_MaterialTool_swigregister(XCAFDoc_MaterialTool)
class XCAFDoc_Note(OCC.Core.TDF.TDF_Attribute):
    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")
    __repr__ = _swig_repr

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_Note_DumpJson(self, depth)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_Note>

        Description
        -----------
        Finds a reference attribute on the given label and returns it, if it is found.

        """
        return _XCAFDoc.XCAFDoc_Note_Get(*args)

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

        Description
        -----------
        Returns auxiliary data object.

        """
        return _XCAFDoc.XCAFDoc_Note_GetObject(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Checks if the given label represents a note.

        """
        return _XCAFDoc.XCAFDoc_Note_IsMine(*args)

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

        Description
        -----------
        Checks if the note isn't linked to annotated items.

        """
        return _XCAFDoc.XCAFDoc_Note_IsOrphan(self, *args)

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

        Parameters
        ----------
        theUserName: str
        theTimeStamp: str

        Return
        -------
        None

        Description
        -----------
        Sets the user name and the timestamp of the note. \param[in] theUserName - the user associated with the note. \param[in] theTimeStamp - timestamp of the note. eturn A handle to the attribute instance.

        """
        return _XCAFDoc.XCAFDoc_Note_Set(self, *args)

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

        Parameters
        ----------
        theObject: XCAFNoteObjects_NoteObject

        Return
        -------
        None

        Description
        -----------
        Updates auxiliary data.

        """
        return _XCAFDoc.XCAFDoc_Note_SetObject(self, *args)

    def TimeStamp(self, *args):
        r"""
        Return
        -------
        TCollection_ExtendedString

        Description
        -----------
        Returns the timestamp of the note.

        """
        return _XCAFDoc.XCAFDoc_Note_TimeStamp(self, *args)

    def UserName(self, *args):
        r"""
        Return
        -------
        TCollection_ExtendedString

        Description
        -----------
        Returns the user name, who created the note.

        """
        return _XCAFDoc.XCAFDoc_Note_UserName(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_Note

# Register XCAFDoc_Note in _XCAFDoc:
_XCAFDoc.XCAFDoc_Note_swigregister(XCAFDoc_Note)
class XCAFDoc_NotesTool(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 notes tool.

        """
        _XCAFDoc.XCAFDoc_NotesTool_swiginit(self, _XCAFDoc.new_XCAFDoc_NotesTool(*args))

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

        Parameters
        ----------
        theNoteLabel: TDF_Label
        theItemId: XCAFDoc_AssemblyItemId

        Return
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>

        Description
        -----------
        Adds the given note to the assembly item. \param[in] theNoteLabel - note label. \param[in] theItemId - assembly item ID. eturn a handle to the assembly reference attribute.

        Parameters
        ----------
        theNoteLabel: TDF_Label
        theItemLabel: TDF_Label

        Return
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>

        Description
        -----------
        Adds the given note to the labeled item. \param[in] theNoteLabel - note label. \param[in] theItemLabel - item label. eturn a handle to the assembly reference attribute.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_AddNote(self, *args)

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

        Parameters
        ----------
        theNoteLabel: TDF_Label
        theItemId: XCAFDoc_AssemblyItemId
        theGUID: Standard_GUID

        Return
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>

        Description
        -----------
        Adds the given note to the assembly item's attribute. \param[in] theNoteLabel - note label. \param[in] theItemId - assembly item ID. \param[in] theGUID - assembly item's attribute GUID. eturn a handle to the assembly reference attribute.

        Parameters
        ----------
        theNoteLabel: TDF_Label
        theItemLabel: TDF_Label
        theGUID: Standard_GUID

        Return
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>

        Description
        -----------
        Adds the given note to the labeled item's attribute. \param[in] theNoteLabel - note label. \param[in] theItemLabel - item label. \param[in] theGUID - assembly item's attribute GUID. eturn a handle to the assembly reference attribute.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_AddNoteToAttr(self, *args)

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

        Parameters
        ----------
        theNoteLabel: TDF_Label
        theItemId: XCAFDoc_AssemblyItemId
        theSubshapeIndex: int

        Return
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>

        Description
        -----------
        Adds the given note to the assembly item's subshape. \param[in] theNoteLabel - note label. \param[in] theItemId - assembly item ID. \param[in] theSubshapeIndex - assembly item's subshape index. eturn a handle to the assembly reference attribute.

        Parameters
        ----------
        theNoteLabel: TDF_Label
        theItemLabel: TDF_Label
        theSubshapeIndex: int

        Return
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>

        Description
        -----------
        Adds the given note to the labeled item's subshape. \param[in] theNoteLabel - note label. \param[in] theItemLabel - item label. \param[in] theSubshapeIndex - assembly item's subshape index. eturn a handle to the assembly reference attribute.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_AddNoteToSubshape(self, *args)

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

        Parameters
        ----------
        theUserName: str
        theTimeStamp: str
        theComment: str

        Return
        -------
        opencascade::handle<XCAFDoc_Note>

        Description
        -----------
        Create a new 'balloon' note. Creates a new label under the notes hive and attaches ef XCAFDoc_NoteBalloon attribute (derived ftom ef XCAFDoc_Note). \param[in] theUserName - the user associated with the note. \param[in] theTimeStamp - timestamp of the note. \param[in] theComment - textual comment. eturn a handle to the base note attribute.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_CreateBalloon(self, *args)

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

        Parameters
        ----------
        theUserName: str
        theTimeStamp: str
        theTitle: str
        theMIMEtype: str
        theFile: OSD_File

        Return
        -------
        opencascade::handle<XCAFDoc_Note>

        Description
        -----------
        Create a new note with data loaded from a binary file. Creates a new label under the notes hive and attaches ef XCAFDoc_NoteComment attribute (derived ftom ef XCAFDoc_Note). \param[in] theUserName - the user associated with the note. \param[in] theTimeStamp - timestamp of the note. \param[in] theTitle - file title. \param[in] theMIMEtype - MIME type of the file. \param[in] theFile - input binary file. eturn a handle to the base note attribute.

        Parameters
        ----------
        theUserName: str
        theTimeStamp: str
        theTitle: str
        theMIMEtype: str
        theData: TColStd_HArray1OfByte

        Return
        -------
        opencascade::handle<XCAFDoc_Note>

        Description
        -----------
        Create a new note with data loaded from a byte data array. Creates a new label under the notes hive and attaches ef XCAFDoc_NoteComment attribute (derived ftom ef XCAFDoc_Note). \param[in] theUserName - the user associated with the note. \param[in] theTimeStamp - timestamp of the note. \param[in] theTitle - data title. \param[in] theMIMEtype - MIME type of the file. \param[in] theData - byte data array. eturn a handle to the base note attribute.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_CreateBinData(self, *args)

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

        Parameters
        ----------
        theUserName: str
        theTimeStamp: str
        theComment: str

        Return
        -------
        opencascade::handle<XCAFDoc_Note>

        Description
        -----------
        Create a new comment note. Creates a new label under the notes hive and attaches ef XCAFDoc_NoteComment attribute (derived ftom ef XCAFDoc_Note). \param[in] theUserName - the user associated with the note. \param[in] theTimeStamp - timestamp of the note. \param[in] theComment - textual comment. eturn a handle to the base note attribute.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_CreateComment(self, *args)

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

        Description
        -----------
        Deletes all notes. Clears all annotations. eturn number of deleted notes.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_DeleteAllNotes(self, *args)

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

        Parameters
        ----------
        theNoteLabel: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Deletes the given note. Removes all links with items annotated by the note. \param[in] theNoteLabel - note label. eturn true if the note is deleted, otherwise - false.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_DeleteNote(self, *args)

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

        Parameters
        ----------
        theNoteLabels: TDF_LabelSequence

        Return
        -------
        int

        Description
        -----------
        Deletes the given notes. Removes all links with items annotated by the notes. \param[in] theNoteLabels - note label sequence. eturn number of deleted notes.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_DeleteNotes(self, *args)

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

        Description
        -----------
        Deletes all notes that aren't linked to annotated items. eturn number of deleted notes.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_DeleteOrphanNotes(self, *args)

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

        Parameters
        ----------

        Return
        -------
        theOS: Standard_OStream

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

        """
        return _XCAFDoc.XCAFDoc_NotesTool_Dump(self, *args)

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

        Parameters
        ----------
        theItemId: XCAFDoc_AssemblyItemId

        Return
        -------
        TDF_Label

        Description
        -----------
        Finds a label of the given assembly item ID in the annotated items hive. \param[in] theItemId - assembly item ID. eturn annotated item label if it is found, otherwise - null label.

        Parameters
        ----------
        theItemLabel: TDF_Label

        Return
        -------
        TDF_Label

        Description
        -----------
        Finds a label of the given labeled item in the annotated items hive. \param[in] theItemLabel - item label. eturn annotated item label if it is found, otherwise - null label.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_FindAnnotatedItem(self, *args)

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

        Parameters
        ----------
        theItemId: XCAFDoc_AssemblyItemId
        theGUID: Standard_GUID

        Return
        -------
        TDF_Label

        Description
        -----------
        Finds a label of the given assembly item's attribute in the annotated items hive. \param[in] theItemId - assembly item ID. \param[in] theGUID - assembly item's attribute GUID. eturn annotated item label if it is found, otherwise - null label.

        Parameters
        ----------
        theItemLabel: TDF_Label
        theGUID: Standard_GUID

        Return
        -------
        TDF_Label

        Description
        -----------
        Finds a label of the given labeled item's attribute in the annotated items hive. \param[in] theItemLabel - item label. \param[in] theGUID - item's attribute GUID. eturn annotated item label if it is found, otherwise - null label.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_FindAnnotatedItemAttr(self, *args)

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

        Parameters
        ----------
        theItemId: XCAFDoc_AssemblyItemId
        theSubshapeIndex: int

        Return
        -------
        TDF_Label

        Description
        -----------
        Finds a label of the given assembly item's subshape in the annotated items hive. \param[in] theItemId - assembly item ID. \param[in] theSubshapeIndex - assembly item's subshape index. eturn annotated item label if it is found, otherwise - null label.

        Parameters
        ----------
        theItemLabel: TDF_Label
        theSubshapeIndex: int

        Return
        -------
        TDF_Label

        Description
        -----------
        Finds a label of the given labeled item's subshape in the annotated items hive. \param[in] theItemLabel - item label. \param[in] theSubshapeIndex - labeled item's subshape index. eturn annotated item label if it is found, otherwise - null label.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_FindAnnotatedItemSubshape(self, *args)

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

        Parameters
        ----------
        theLabels: TDF_LabelSequence

        Return
        -------
        None

        Description
        -----------
        Returns all labels from the annotated items hive. The label sequence isn't cleared beforehand. \param[out] theNoteLabels - sequence of labels.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_GetAnnotatedItems(self, *args)

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

        Description
        -----------
        Returns the label of the annotated items hive.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_GetAnnotatedItemsLabel(self, *args)

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

        Parameters
        ----------
        theItemId: XCAFDoc_AssemblyItemId
        theGUID: Standard_GUID
        theNoteLabels: TDF_LabelSequence

        Return
        -------
        int

        Description
        -----------
        Gets all note labels of the assembly item's attribute. Notes linked to the item itself or to item's subshapes aren't taken into account. The label sequence isn't cleared beforehand. \param[in] theItemId - assembly item ID. \param[in] theGUID - assembly item's attribute GUID. \param[out] theNoteLabels - sequence of labels. eturn number of added labels.

        Parameters
        ----------
        theItemLabel: TDF_Label
        theGUID: Standard_GUID
        theNoteLabels: TDF_LabelSequence

        Return
        -------
        int

        Description
        -----------
        Gets all note labels of the labeled item's attribute. Notes linked to the item itself or to item's subshapes aren't taken into account. The label sequence isn't cleared beforehand. \param[in] theItemLabel - item label. \param[in] theGUID - item's attribute GUID. \param[out] theNoteLabels - sequence of labels. eturn number of added labels.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_GetAttrNotes(self, *args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Returns default attribute GUID.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_GetID(*args)

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

        Parameters
        ----------
        theNoteLabels: TDF_LabelSequence

        Return
        -------
        None

        Description
        -----------
        Returns all labels from the notes hive. The label sequence isn't cleared beforehand. \param[out] theNoteLabels - sequence of labels.

        Parameters
        ----------
        theItemId: XCAFDoc_AssemblyItemId
        theNoteLabels: TDF_LabelSequence

        Return
        -------
        int

        Description
        -----------
        Gets all note labels of the assembly item. Notes linked to item's subshapes or attributes aren't taken into account. The label sequence isn't cleared beforehand. \param[in] theItemId - assembly item ID. \param[out] theNoteLabels - sequence of labels. eturn number of added labels.

        Parameters
        ----------
        theItemLabel: TDF_Label
        theNoteLabels: TDF_LabelSequence

        Return
        -------
        int

        Description
        -----------
        Gets all note labels of the labeled item. Notes linked to item's attributes aren't taken into account. The label sequence isn't cleared beforehand. \param[in] theItemLabel - item label. \param[out] theNoteLabels - sequence of labels. eturn number of added labels.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_GetNotes(self, *args)

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

        Description
        -----------
        Returns the label of the notes hive.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_GetNotesLabel(self, *args)

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

        Parameters
        ----------
        theNoteLabels: TDF_LabelSequence

        Return
        -------
        None

        Description
        -----------
        Returns note labels that aren't linked to annotated items. The label sequence isn't cleared beforehand. \param[out] theNoteLabels - sequence of labels.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_GetOrphanNotes(self, *args)

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

        Parameters
        ----------
        theItemId: XCAFDoc_AssemblyItemId
        theSubshapeIndex: int
        theNoteLabels: TDF_LabelSequence

        Return
        -------
        int

        Description
        -----------
        Gets all note labels of the annotated item. Notes linked to the item itself or to item's attributes taken into account. The label sequence isn't cleared beforehand. \param[in] theItemId - assembly item ID. \param[in] theSubshapeIndex - assembly item's subshape index. \param[out] theNoteLabels - sequence of labels. eturn number of added labels.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_GetSubshapeNotes(self, *args)

    def ID(self, *args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_NotesTool_ID(self, *args)

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

        Parameters
        ----------
        theItemId: XCAFDoc_AssemblyItemId

        Return
        -------
        bool

        Description
        -----------
        Checks if the given assembly item is annotated. \param[in] theItemId - assembly item ID. eturn true if the item is annotated, otherwise - false.

        Parameters
        ----------
        theItemLabel: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Checks if the given labeled item is annotated. \param[in] theItemLabel - item label. eturn true if the item is annotated, otherwise - false.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_IsAnnotatedItem(self, *args)

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

        Description
        -----------
        Returns the number of labels in the annotated items hive.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_NbAnnotatedItems(self, *args)

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

        Description
        -----------
        Returns the number of labels in the notes hive.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_NbNotes(self, *args)

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

        Description
        -----------
        Returns number of notes that aren't linked to annotated items.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_NbOrphanNotes(self, *args)

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

        Parameters
        ----------
        theItemId: XCAFDoc_AssemblyItemId
        theGUID: Standard_GUID
        theDelIfOrphan: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Removes all notes from the assembly item's attribute. \param[in] theItemId - assembly item ID. \param[in] theGUID - assembly item's attribute GUID. \param[in] theDelIfOrphan - deletes removed notes from the notes  hive if there are no more annotated items  linked with the notes. eturn true if the notes are removed, otherwise - false.

        Parameters
        ----------
        theItemLabel: TDF_Label
        theGUID: Standard_GUID
        theDelIfOrphan: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Removes all notes from the labeled item's attribute. \param[in] theItemLabel - item label. \param[in] theGUID - labeled item's attribute GUID. \param[in] theDelIfOrphan - deletes removed notes from the notes  hive if there are no more annotated items  linked with the notes. eturn true if the notes are removed, otherwise - false.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_RemoveAllAttrNotes(self, *args)

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

        Parameters
        ----------
        theItemId: XCAFDoc_AssemblyItemId
        theDelIfOrphan: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Removes all notes from the assembly item. \param[in] theItemId - assembly item ID. \param[in] theDelIfOrphan - deletes removed notes from the notes  hive if there are no more annotated items  linked with the notes. eturn true if the notes are removed, otherwise - false.

        Parameters
        ----------
        theItemLabel: TDF_Label
        theDelIfOrphan: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Removes all notes from the labeled item. \param[in] theItemLabel - item label. \param[in] theDelIfOrphan - deletes removed notes from the notes  hive if there are no more annotated items  linked with the notes. eturn true if the notes are removed, otherwise - false.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_RemoveAllNotes(self, *args)

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

        Parameters
        ----------
        theItemId: XCAFDoc_AssemblyItemId
        theSubshapeIndex: int
        theDelIfOrphan: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Removes all notes from the assembly item's subshape. \param[in] theItemId - assembly item ID. \param[in] theSubshapeIndex - assembly item's subshape index. \param[in] theDelIfOrphan - deletes removed notes from the notes  hive if there are no more annotated items  linked with the notes. eturn true if the notes are removed, otherwise - false.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_RemoveAllSubshapeNotes(self, *args)

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

        Parameters
        ----------
        theNoteLabel: TDF_Label
        theItemId: XCAFDoc_AssemblyItemId
        theGUID: Standard_GUID
        theDelIfOrphan: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Removes a note from the assembly item's attribute. \param[in] theNoteLabel - note label. \param[in] theItemId - assembly item ID. \param[in] theGUID - assembly item's attribute GUID. \param[in] theDelIfOrphan - deletes the note from the notes hive  if there are no more assembly item's  attribute linked with the note. eturn true if the note is removed, otherwise - false.

        Parameters
        ----------
        theNoteLabel: TDF_Label
        theItemLabel: TDF_Label
        theGUID: Standard_GUID
        theDelIfOrphan: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Removes a note from the labeled item's attribute. \param[in] theNoteLabel - note label. \param[in] theItemLabel - item label. \param[in] theGUID - labeled item's attribute GUID. \param[in] theDelIfOrphan - deletes the note from the notes hive  if there are no more assembly item's  attribute linked with the note. eturn true if the note is removed, otherwise - false.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_RemoveAttrNote(self, *args)

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

        Parameters
        ----------
        theNoteLabel: TDF_Label
        theItemId: XCAFDoc_AssemblyItemId
        theDelIfOrphan: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Removes the given note from the assembly item. \param[in] theNoteLabel - note label. \param[in] theItemId - assembly item ID. \param[in] theDelIfOrphan - deletes the note from the notes hive  if there are no more assembly items  linked with the note. eturn true if the note is removed, otherwise - false.

        Parameters
        ----------
        theNoteLabel: TDF_Label
        theItemLabel: TDF_Label
        theDelIfOrphan: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Removes the given note from the labeled item. \param[in] theNoteLabel - note label. \param[in] theItemLabel - item label. \param[in] theDelIfOrphan - deletes the note from the notes hive  if there are no more labeled items  linked with the note. eturn true if the note is removed, otherwise - false.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_RemoveNote(self, *args)

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

        Parameters
        ----------
        theNoteLabel: TDF_Label
        theItemId: XCAFDoc_AssemblyItemId
        theSubshapeIndex: int
        theDelIfOrphan: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Removes the given note from the assembly item's subshape. \param[in] theNoteLabel - note label. \param[in] theItemId - assembly item ID. \param[in] theSubshapeIndex - assembly item's subshape index. \param[in] theDelIfOrphan - deletes the note from the notes hive  if there are no more assembly item's  subshape linked with the note. eturn true if the note is removed, otherwise - false.

        Parameters
        ----------
        theNoteLabel: TDF_Label
        theItemLabel: TDF_Label
        theSubshapeIndex: int
        theDelIfOrphan: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Removes the given note from the labeled item's subshape. \param[in] theNoteLabel - note label. \param[in] theItemLabel - item label. \param[in] theSubshapeIndex - labeled item's subshape index. \param[in] theDelIfOrphan - deletes the note from the notes hive  if there are no more assembly item's  subshape linked with the note. eturn true if the note is removed, otherwise - false.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_RemoveSubshapeNote(self, *args)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_NotesTool>

        Description
        -----------
        Create (if not exist) a notes tool from XCAFDoc on theLabel.

        """
        return _XCAFDoc.XCAFDoc_NotesTool_Set(*args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_NotesTool

# Register XCAFDoc_NotesTool in _XCAFDoc:
_XCAFDoc.XCAFDoc_NotesTool_swigregister(XCAFDoc_NotesTool)
class XCAFDoc_ShapeMapTool(OCC.Core.TDF.TDF_Attribute):
    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.

        """
        _XCAFDoc.XCAFDoc_ShapeMapTool_swiginit(self, _XCAFDoc.new_XCAFDoc_ShapeMapTool(*args))

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_ShapeMapTool_DumpJson(self, depth)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_ShapeMapTool_GetID(*args)

    def GetMap(self, *args):
        r"""
        Return
        -------
        TopTools_IndexedMapOfShape

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

        """
        return _XCAFDoc.XCAFDoc_ShapeMapTool_GetMap(self, *args)

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

        Parameters
        ----------
        sub: TopoDS_Shape

        Return
        -------
        bool

        Description
        -----------
        Checks whether shape <sub> is subshape of shape stored on label shapeL.

        """
        return _XCAFDoc.XCAFDoc_ShapeMapTool_IsSubShape(self, *args)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_ShapeMapTool>

        Description
        -----------
        Create (if not exist) ShapeTool from XCAFDoc on <L>.

        """
        return _XCAFDoc.XCAFDoc_ShapeMapTool_Set(*args)

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

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

        Return
        -------
        None

        Description
        -----------
        Sets representation (TopoDS_Shape) for top-level shape.

        """
        return _XCAFDoc.XCAFDoc_ShapeMapTool_SetShape(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_ShapeMapTool

# Register XCAFDoc_ShapeMapTool in _XCAFDoc:
_XCAFDoc.XCAFDoc_ShapeMapTool_swigregister(XCAFDoc_ShapeMapTool)
class XCAFDoc_ShapeTool(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 Creates a tool to work with a document <Doc> Attaches to label XCAFDoc::LabelShapes().

        """
        _XCAFDoc.XCAFDoc_ShapeTool_swiginit(self, _XCAFDoc.new_XCAFDoc_ShapeTool(*args))

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

        Parameters
        ----------
        assembly: TDF_Label
        comp: TDF_Label
        Loc: TopLoc_Location

        Return
        -------
        TDF_Label

        Description
        -----------
        Adds a component given by its label and location to the assembly Note: assembly must be IsAssembly() or IsSimpleShape().

        Parameters
        ----------
        assembly: TDF_Label
        comp: TopoDS_Shape
        expand: bool (optional, default to Standard_False)

        Return
        -------
        TDF_Label

        Description
        -----------
        Adds a shape (located) as a component to the assembly If necessary, creates an additional top-level shape for component and return the Label of component. If expand is True and component is Compound, it will be created as assembly also Note: assembly must be IsAssembly() or IsSimpleShape().

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_AddComponent(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape
        makeAssembly: bool (optional, default to Standard_True)
        makePrepare: bool (optional, default to Standard_True)

        Return
        -------
        TDF_Label

        Description
        -----------
        Adds a new top-level (creates and returns a new label) If makeAssembly is True, treats TopAbs_COMPOUND shapes as assemblies (creates assembly structure). NOTE: <makePrepare> replace components without location in assembly by located components to avoid some problems. If AutoNaming() is True then automatically attaches names.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_AddShape(self, *args)

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

        Parameters
        ----------
        shapeL: TDF_Label
        sub: TopoDS_Shape

        Return
        -------
        TDF_Label

        Description
        -----------
        Adds a label for subshape <sub> of shape stored on label shapeL Returns Null label if it is not subshape.

        Parameters
        ----------
        shapeL: TDF_Label
        sub: TopoDS_Shape
        addedSubShapeL: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Adds (of finds already existed) a label for subshape <sub> of shape stored on label shapeL. Label addedSubShapeL returns added (found) label or empty in case of wrong subshape. Returns True, if new shape was added, False in case of already existed subshape/wrong subshape.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_AddSubShape(self, *args)

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

        Description
        -----------
        Returns current auto-naming mode. See SetAutoNaming() for description.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_AutoNaming(*args)

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

        Description
        -----------
        returns the label under which shapes are stored.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_BaseLabel(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        recursive.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_ComputeShapes(self, *args)

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

        Description
        -----------
        Compute a sequence of simple shapes.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_ComputeSimpleShapes(self, *args)

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

        Parameters
        ----------
        deep: bool

        Return
        -------
        theDumpLog: Standard_OStream

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

        Parameters
        ----------

        Return
        -------
        theDumpLog: Standard_OStream

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

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_Dump(self, *args)

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_DumpJson(self, depth)

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

        Parameters
        ----------
        L: TDF_Label
        level: int (optional, default to 0)
        deep: bool (optional, default to Standard_False)

        Return
        -------
        theDumpLog: Standard_OStream

        Description
        -----------
        Print to std::ostream <theDumpLog> type of shape found on <L> label and the entry of <L>, with <level> tabs before. If <deep>, print also TShape and Location addresses.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_DumpShape(*args)

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

        Parameters
        ----------
        Shape: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Convert Shape (compound/compsolid/shell/wire) to assembly.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_Expand(self, *args)

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

        Parameters
        ----------
        theShape: TopoDS_Shape
        Labels: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Search the path of labels in the document, that corresponds the component from any assembly Try to search the sequence of labels with location that produce this shape as component of any assembly NOTE: Clear sequence of labels before filling.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_FindComponent(self, *args)

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

        Parameters
        ----------
        sub: TopoDS_Shape

        Return
        -------
        TDF_Label

        Description
        -----------
        Performs a search among top-level shapes to find the shape containing <sub> as subshape Checks only simple shapes, and returns the first found label (which should be the only one for valid model).

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_FindMainShape(self, *args)

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

        Parameters
        ----------
        sub: TopoDS_Shape

        Return
        -------
        TDF_Label

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

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_FindMainShapeUsingMap(self, *args)

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

        Parameters
        ----------
        Labels: TDF_LabelSequence
        theSHUOAttr: XCAFDoc_GraphNode

        Return
        -------
        bool

        Description
        -----------
        Searches the SHUO by labels of components from upper_usage component to next_usage Returns null attribute if no SHUO found.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_FindSHUO(*args)

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

        Parameters
        ----------
        S: TopoDS_Shape
        L: TDF_Label
        findInstance: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Returns the label corresponding to shape S (searches among top-level shapes, not including subcomponents of assemblies and subshapes) If findInstance is False (default), search for the input shape without location If findInstance is True, searches for the input shape as is. Return True if <S> is found.

        Parameters
        ----------
        S: TopoDS_Shape
        findInstance: bool (optional, default to Standard_False)

        Return
        -------
        TDF_Label

        Description
        -----------
        Does the same as previous method Returns Null label if not found.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_FindShape(self, *args)

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

        Parameters
        ----------
        shapeL: TDF_Label
        sub: TopoDS_Shape
        L: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Finds a label for subshape <sub> of shape stored on label shapeL Returns Null label if it is not found.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_FindSubShape(self, *args)

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

        Parameters
        ----------
        CompLabel: TDF_Label
        SHUOAttrs: TDF_AttributeSequence

        Return
        -------
        bool

        Description
        -----------
        Returns founded SHUO GraphNodes of indicated component Returns false in other case.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetAllComponentSHUO(*args)

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

        Parameters
        ----------
        theSHUO: XCAFDoc_GraphNode
        theSHUOShapeSeq: TopTools_SequenceOfShape

        Return
        -------
        bool

        Description
        -----------
        Searching for component shapes that styled by shuo Returns empty sequence of shape if no any shape is found.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetAllSHUOInstances(self, *args)

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

        Parameters
        ----------
        L: TDF_Label
        Labels: TDF_LabelSequence
        getsubchilds: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Returns list of components of assembly Returns False if label is not assembly.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetComponents(*args)

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

        Parameters
        ----------
        L: TDF_Label
        SHAS: TColStd_SequenceOfHAsciiString

        Return
        -------
        None

        Description
        -----------
        Gets the names of references on the no-step files.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetExternRefs(*args)

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

        Parameters
        ----------
        FreeLabels: TDF_LabelSequence

        Return
        -------
        None

        Description
        -----------
        Returns a sequence of all top-level shapes which are free (i.e. not referred by any other).

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetFreeShapes(self, *args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetID(*args)

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

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

        Return
        -------
        TopLoc_Location

        Description
        -----------
        Returns location of instance.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetLocation(*args)

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

        Parameters
        ----------
        theLabel: TDF_Label
        theToCreate: bool (optional, default to Standard_False)

        Return
        -------
        opencascade::handle<TDataStd_NamedData>

        Description
        -----------
        Method to get NamedData attribute assigned to the given shape label. 
        Input parameter: theLabel the shape Label 
        Input parameter: theToCreate create and assign attribute if it doesn't exist 
        Return: Handle to the NamedData attribute or Null if there is none.

        Parameters
        ----------
        theShape: TopoDS_Shape
        theToCreate: bool (optional, default to Standard_False)

        Return
        -------
        opencascade::handle<TDataStd_NamedData>

        Description
        -----------
        Method to get NamedData attribute assigned to a label of the given shape. 
        Input parameter: theShape input shape 
        Input parameter: theToCreate create and assign attribute if it doesn't exist 
        Return: Handle to the NamedData attribute or Null if there is none.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetNamedProperties(self, *args)

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

        Parameters
        ----------
        theLabels: TDF_LabelSequence

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Gets shape from a sequence of shape's labels 
        Input parameter: theLabels a sequence of labels to get shapes from 
        Return: original shape in case of one label and a compound of shapes in case of more.
        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Gets shape from a sequence of all top-level shapes which are free 
        Return: original shape in case of one label and a compound of shapes in case of more.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetOneShape(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns label which corresponds to a shape referred by L Returns False if label is not reference.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetReferredShape(*args)

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

        Parameters
        ----------
        SHUOLabel: TDF_Label
        aSHUOAttr: XCAFDoc_GraphNode

        Return
        -------
        bool

        Description
        -----------
        Returns founded SHUO GraphNode attribute <aSHUOAttr> Returns false in other case.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetSHUO(*args)

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

        Parameters
        ----------
        theSHUO: XCAFDoc_GraphNode

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Search for the component shape that styled by shuo Returns null shape if no any shape is found.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetSHUOInstance(self, *args)

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

        Parameters
        ----------
        UpperUsageL: TDF_Label
        Labels: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns the sequence of labels of SHUO attributes, which is next_usage for this upper_usage SHUO attribute (that indicated by label) NOTE: returns next_usages only on one level (not recurse) NOTE: do not clear the sequence before filling.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetSHUONextUsage(*args)

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

        Parameters
        ----------
        NextUsageL: TDF_Label
        Labels: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns the sequence of labels of SHUO attributes, which is upper_usage for this next_usage SHUO attribute (that indicated by label) NOTE: returns upper_usages only on one level (not recurse) NOTE: do not clear the sequence before filling.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetSHUOUpperUsage(*args)

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

        Parameters
        ----------
        L: TDF_Label
        S: TopoDS_Shape

        Return
        -------
        bool

        Description
        -----------
        To get TopoDS_Shape from shape's label For component, returns new shape with correct location Returns False if label does not contain shape.

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

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        To get TopoDS_Shape from shape's label For component, returns new shape with correct location Returns Null shape if label does not contain shape.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetShape(*args)

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

        Parameters
        ----------
        Labels: TDF_LabelSequence

        Return
        -------
        None

        Description
        -----------
        Returns a sequence of all top-level shapes.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetShapes(self, *args)

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

        Parameters
        ----------
        L: TDF_Label
        Labels: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns list of labels identifying subshapes of the given shape Returns False if no subshapes are placed on that label.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetSubShapes(*args)

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

        Parameters
        ----------
        L: TDF_Label
        Labels: TDF_LabelSequence
        getsubchilds: bool (optional, default to Standard_False)

        Return
        -------
        int

        Description
        -----------
        Returns list of labels which refer shape L as component Returns number of users (0 if shape is free).

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetUsers(*args)

    def ID(self, *args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_ID(self, *args)

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

        Description
        -----------
        set hasComponents into false.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_Init(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns True if the label is a label of assembly, i.e. contains sublabels which are assembly components This is relevant only if IsShape() is True.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_IsAssembly(*args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Return true if <L> is reference serving as component of assembly.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_IsComponent(*args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns True if the label is a label of compound, i.e. contains some sublabels This is relevant only if IsShape() is True.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_IsCompound(*args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns True if the label is a label of external references, i.e. there are some reference on the no-step files, which are described in document only their names.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_IsExternRef(*args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns True if the label is not used by any assembly, i.e. contains sublabels which are assembly components This is relevant only if IsShape() is True (There is no Father TreeNode on this <L>).

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_IsFree(*args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Return true if <L> is a located instance of other shape i.e. reference.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_IsReference(*args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns True if the label represents a shape (simple shape, assembly or reference).

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_IsShape(*args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns True if the label is a label of simple shape.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_IsSimpleShape(*args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Return true if <L> is subshape of the top-level shape.

        Parameters
        ----------
        shapeL: TDF_Label
        sub: TopoDS_Shape

        Return
        -------
        bool

        Description
        -----------
        Checks whether shape <sub> is subshape of shape stored on label shapeL.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_IsSubShape(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns True if the label is a label of top-level shape, as opposed to component of assembly or subshape.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_IsTopLevel(self, *args)

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

        Parameters
        ----------
        L: TDF_Label
        getsubchilds: bool (optional, default to Standard_False)

        Return
        -------
        int

        Description
        -----------
        Returns number of Assembles components.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_NbComponents(*args)

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

        Description
        -----------
        Creates new (empty) top-level shape. Initially it holds empty TopoDS_Compound.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_NewShape(self, *args)

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

        Parameters
        ----------
        comp: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Removes a component from its assembly.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_RemoveComponent(self, *args)

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

        Parameters
        ----------
        SHUOLabel: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Remove SHUO from component sublabel, remove all dependencies on other SHUO. Returns False if cannot remove SHUO dependencies. NOTE: remove any styles that associated with this SHUO.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_RemoveSHUO(self, *args)

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

        Parameters
        ----------
        L: TDF_Label
        removeCompletely: bool (optional, default to Standard_True)

        Return
        -------
        bool

        Description
        -----------
        Removes shape (whole label and all its sublabels) If removeCompletely is true, removes complete shape If removeCompletely is false, removes instance(location) only Returns False (and does nothing) if shape is not free or is not top-level shape.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_RemoveShape(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape
        L: TDF_Label
        findInstance: bool (optional, default to Standard_True)
        findComponent: bool (optional, default to Standard_True)
        findSubshape: bool (optional, default to Standard_True)

        Return
        -------
        bool

        Description
        -----------
        General tool to find a (sub) shape in the document * If findInstance is True, and S has a non-null location, first tries to find the shape among the top-level shapes with this location * If not found, and findComponent is True, tries to find the shape among the components of assemblies * If not found, tries to find the shape without location among top-level shapes * If not found and findSubshape is True, tries to find a shape as a subshape of top-level simple shapes Returns False if nothing is found.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_Search(self, *args)

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

        Parameters
        ----------
        S: TopoDS_Shape
        L: TDF_Label
        findWithoutLoc: bool
        findSubshape: bool

        Return
        -------
        bool

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

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_SearchUsingMap(self, *args)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_ShapeTool>

        Description
        -----------
        Create (if not exist) ShapeTool from XCAFDoc on <L>.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_Set(*args)

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

        Parameters
        ----------
        V: bool

        Return
        -------
        None

        Description
        -----------
        Sets auto-naming mode to <V>. If True then for added shapes, links, assemblies and SHUO's, the TDataStd_Name attribute is automatically added. For shapes it contains a shape type (e.g. 'SOLID', 'SHELL', etc); for links it has a form '=>[0:1:1:2]' (where a tag is a label containing a shape without a location); for assemblies it is 'ASSEMBLY', and 'SHUO' for SHUO's. This setting is global; it cannot be made a member function as it is used by static methods as well. By default, auto-naming is enabled. See also AutoNaming().

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_SetAutoNaming(*args)

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

        Parameters
        ----------
        SHAS: TColStd_SequenceOfHAsciiString

        Return
        -------
        TDF_Label

        Description
        -----------
        Sets the names of references on the no-step files.

        Parameters
        ----------
        L: TDF_Label
        SHAS: TColStd_SequenceOfHAsciiString

        Return
        -------
        None

        Description
        -----------
        Sets the names of references on the no-step files.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_SetExternRefs(self, *args)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_GraphNode>

        Description
        -----------
        Search for the component shape by labelks path and set SHUO structure for founded label structure Returns null attribute if no component in any assembly found.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_SetInstanceSHUO(self, *args)

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

        Parameters
        ----------
        theShapeLabel: TDF_Label
        theLoc: TopLoc_Location
        theRefLabel: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Sets location to the shape label If label is reference -> changes location attribute If label is free shape -> creates reference with location to it 
        Input parameter: theShapeLabel the shape label to change location 
        Input parameter: theLoc location to set @param[out] theRefLabel the reference label with new location 
        Return: True if new location was set.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_SetLocation(self, *args)

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

        Parameters
        ----------
        Labels: TDF_LabelSequence
        MainSHUOAttr: XCAFDoc_GraphNode

        Return
        -------
        bool

        Description
        -----------
        Sets the SHUO structure between upper_usage and next_usage create multy-level (if number of labels > 2) SHUO from first to last Initialise out <MainSHUOAttr> by main upper_usage SHUO attribute. Returns False if some of labels in not component label.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_SetSHUO(self, *args)

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

        Parameters
        ----------
        L: TDF_Label
        S: TopoDS_Shape

        Return
        -------
        None

        Description
        -----------
        Sets representation (TopoDS_Shape) for top-level shape.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_SetShape(self, *args)

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

        Description
        -----------
        Top-down update for all assembly compounds stored in the document.

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_UpdateAssemblies(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_ShapeTool

# Register XCAFDoc_ShapeTool in _XCAFDoc:
_XCAFDoc.XCAFDoc_ShapeTool_swigregister(XCAFDoc_ShapeTool)
class XCAFDoc_View(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.

        """
        _XCAFDoc.XCAFDoc_View_swiginit(self, _XCAFDoc.new_XCAFDoc_View(*args))

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_View_GetID(*args)

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

        Description
        -----------
        Returns view object data taken from the paren's label and its sub-labels.

        """
        return _XCAFDoc.XCAFDoc_View_GetObject(self, *args)

    def ID(self, *args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_View_ID(self, *args)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_View>

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

        """
        return _XCAFDoc.XCAFDoc_View_Set(*args)

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

        Parameters
        ----------
        theViewObject: XCAFView_Object

        Return
        -------
        None

        Description
        -----------
        Updates parent's label and its sub-labels with data taken from theViewObject. Old data associated with the label will be lost.

        """
        return _XCAFDoc.XCAFDoc_View_SetObject(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_View

# Register XCAFDoc_View in _XCAFDoc:
_XCAFDoc.XCAFDoc_View_swigregister(XCAFDoc_View)
class XCAFDoc_ViewTool(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.

        """
        _XCAFDoc.XCAFDoc_ViewTool_swiginit(self, _XCAFDoc.new_XCAFDoc_ViewTool(*args))

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

        Description
        -----------
        Adds a view definition to a View table and returns its label.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_AddView(self, *args)

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

        Description
        -----------
        Returns the label under which Views are stored.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_BaseLabel(self, *args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_ViewTool_GetID(*args)

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

        Parameters
        ----------
        theViewL: TDF_Label
        theAnnotationLabels: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns Annotation labels defined for label theViewL Returns False if the theViewL is not in View table.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_GetRefAnnotationLabel(self, *args)

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

        Parameters
        ----------
        theViewL: TDF_Label
        theClippingPlaneLabels: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns ClippingPlane labels defined for label theViewL Returns False if the theViewL is not in View table.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_GetRefClippingPlaneLabel(self, *args)

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

        Parameters
        ----------
        theViewL: TDF_Label
        theGDTLabels: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns GDT labels defined for label theViewL Returns False if the theViewL is not in View table.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_GetRefGDTLabel(self, *args)

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

        Parameters
        ----------
        theViewL: TDF_Label
        theNoteLabels: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns Notes labels defined for label theViewL Returns False if the theViewL is not in View table.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_GetRefNoteLabel(self, *args)

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

        Parameters
        ----------
        theViewL: TDF_Label
        theShapeLabels: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns shape labels defined for label theViewL Returns False if the theViewL is not in View table.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_GetRefShapeLabel(self, *args)

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

        Parameters
        ----------
        theLabels: TDF_LabelSequence

        Return
        -------
        None

        Description
        -----------
        Returns a sequence of View labels currently stored in the View table.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_GetViewLabels(self, *args)

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

        Parameters
        ----------
        theAnnotationL: TDF_Label
        theViews: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns all View labels defined for label AnnotationL.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_GetViewLabelsForAnnotation(self, *args)

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

        Parameters
        ----------
        theClippingPlaneL: TDF_Label
        theViews: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns all View labels defined for label ClippingPlaneL.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_GetViewLabelsForClippingPlane(self, *args)

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

        Parameters
        ----------
        theGDTL: TDF_Label
        theViews: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns all View labels defined for label GDTL.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_GetViewLabelsForGDT(self, *args)

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

        Parameters
        ----------
        theNoteL: TDF_Label
        theViews: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns all View labels defined for label NoteL.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_GetViewLabelsForNote(self, *args)

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

        Parameters
        ----------
        theShapeL: TDF_Label
        theViews: TDF_LabelSequence

        Return
        -------
        bool

        Description
        -----------
        Returns all View labels defined for label ShapeL.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_GetViewLabelsForShape(self, *args)

    def ID(self, *args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_ViewTool_ID(self, *args)

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

        Parameters
        ----------
        theViewL: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Returns true if the given View is marked as locked.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_IsLocked(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns True if label belongs to a View table and is a View definition.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_IsView(self, *args)

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

        Parameters
        ----------
        theViewL: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Mark the given View as locked.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_Lock(self, *args)

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

        Parameters
        ----------
        theViewL: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Remove View.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_RemoveView(self, *args)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_ViewTool>

        Description
        -----------
        Creates (if not exist) ViewTool.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_Set(*args)

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

        Parameters
        ----------
        theClippingPlaneLabels: TDF_LabelSequence
        theViewL: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Set Clipping planes to given View.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_SetClippingPlanes(self, *args)

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

        Parameters
        ----------
        theShapes: TDF_LabelSequence
        theGDTs: TDF_LabelSequence
        theClippingPlanes: TDF_LabelSequence
        theNotes: TDF_LabelSequence
        theAnnotations: TDF_LabelSequence
        theViewL: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Sets a link with GUID.

        Parameters
        ----------
        theShapes: TDF_LabelSequence
        theGDTs: TDF_LabelSequence
        theClippingPlanes: TDF_LabelSequence
        theViewL: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Sets a link with GUID.

        Parameters
        ----------
        theShapes: TDF_LabelSequence
        theGDTs: TDF_LabelSequence
        theViewL: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Sets a link with GUID.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_SetView(self, *args)

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

        Parameters
        ----------
        theViewL: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Unlock the given View.

        """
        return _XCAFDoc.XCAFDoc_ViewTool_Unlock(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_ViewTool

# Register XCAFDoc_ViewTool in _XCAFDoc:
_XCAFDoc.XCAFDoc_ViewTool_swigregister(XCAFDoc_ViewTool)
class XCAFDoc_VisMaterial(OCC.Core.TDF.TDF_Attribute):
    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
        -----------
        Empty constructor.

        """
        _XCAFDoc.XCAFDoc_VisMaterial_swiginit(self, _XCAFDoc.new_XCAFDoc_VisMaterial(*args))

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

        Description
        -----------
        Return alpha cutoff value; 0.5 by default.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_AlphaCutOff(self, *args)

    def AlphaMode(self, *args):
        r"""
        Return
        -------
        Graphic3d_AlphaMode

        Description
        -----------
        Return alpha mode; Graphic3d_AlphaMode_BlendAuto by default.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_AlphaMode(self, *args)

    def BaseColor(self, *args):
        r"""
        Return
        -------
        Quantity_ColorRGBA

        Description
        -----------
        Return base color.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_BaseColor(self, *args)

    def CommonMaterial(self, *args):
        r"""
        Return
        -------
        XCAFDoc_VisMaterialCommon

        Description
        -----------
        Return common material. Note that default constructor creates an empty material (
        See also: XCAFDoc_VisMaterialCommon::IsDefined).

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_CommonMaterial(self, *args)

    def ConvertToCommonMaterial(self, *args):
        r"""
        Return
        -------
        XCAFDoc_VisMaterialCommon

        Description
        -----------
        Return Common material or convert PBR into Common material.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_ConvertToCommonMaterial(self, *args)

    def ConvertToPbrMaterial(self, *args):
        r"""
        Return
        -------
        XCAFDoc_VisMaterialPBR

        Description
        -----------
        Return PBR material or convert Common into PBR material.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_ConvertToPbrMaterial(self, *args)

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_DumpJson(self, depth)

    def FaceCulling(self, *args):
        r"""
        Return
        -------
        Graphic3d_TypeOfBackfacingModel

        Description
        -----------
        Returns if the material is double or single sided; Graphic3d_TypeOfBackfacingModel_Auto by default.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_FaceCulling(self, *args)

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

        Parameters
        ----------
        theAspect: Graphic3d_Aspects

        Return
        -------
        None

        Description
        -----------
        Fill in graphic aspects.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_FillAspect(self, *args)

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

        Parameters
        ----------
        theAspect: Graphic3d_MaterialAspect

        Return
        -------
        None

        Description
        -----------
        Fill in material aspect.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_FillMaterialAspect(self, *args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Return attribute GUID.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_GetID(*args)

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

        Description
        -----------
        Return True if common material is defined; False by default.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_HasCommonMaterial(self, *args)

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

        Description
        -----------
        Return True if metal-roughness PBR material is defined; False by default.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_HasPbrMaterial(self, *args)

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

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

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_IsDoubleSided(self, *args)

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

        Description
        -----------
        Return True if material definition is empty.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_IsEmpty(self, *args)

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

        Parameters
        ----------
        theOther: XCAFDoc_VisMaterial

        Return
        -------
        bool

        Description
        -----------
        Compare two materials. Performs deep comparison by actual values - e.g. can be useful for merging materials.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_IsEqual(self, *args)

    def PbrMaterial(self, *args):
        r"""
        Return
        -------
        XCAFDoc_VisMaterialPBR

        Description
        -----------
        Return metal-roughness PBR material. Note that default constructor creates an empty material (
        See also: XCAFDoc_VisMaterialPBR::IsDefined).

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_PbrMaterial(self, *args)

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

        Description
        -----------
        Return material name / tag (transient data, not stored in the document).

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_RawName(self, *args)

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

        Parameters
        ----------
        theMode: Graphic3d_AlphaMode
        theCutOff: float (optional, default to 0.5f)

        Return
        -------
        None

        Description
        -----------
        Set alpha mode.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_SetAlphaMode(self, *args)

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

        Parameters
        ----------
        theMaterial: XCAFDoc_VisMaterialCommon

        Return
        -------
        None

        Description
        -----------
        Setup common material.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_SetCommonMaterial(self, *args)

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

        Parameters
        ----------
        theIsDoubleSided: bool

        Return
        -------
        None

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

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_SetDoubleSided(self, *args)

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

        Parameters
        ----------
        theFaceCulling: Graphic3d_TypeOfBackfacingModel

        Return
        -------
        None

        Description
        -----------
        Specifies whether the material is double or single sided.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_SetFaceCulling(self, *args)

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

        Parameters
        ----------
        theMaterial: XCAFDoc_VisMaterialPBR

        Return
        -------
        None

        Description
        -----------
        Setup metal-roughness PBR material.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_SetPbrMaterial(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Set material name / tag (transient data, not stored in the document).

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_SetRawName(self, *args)

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

        Description
        -----------
        Setup undefined common material.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_UnsetCommonMaterial(self, *args)

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

        Description
        -----------
        Setup undefined metal-roughness PBR material.

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_UnsetPbrMaterial(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_VisMaterial

# Register XCAFDoc_VisMaterial in _XCAFDoc:
_XCAFDoc.XCAFDoc_VisMaterial_swigregister(XCAFDoc_VisMaterial)
class XCAFDoc_VisMaterialCommon(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
        -----------
        Empty constructor.

        """
        _XCAFDoc.XCAFDoc_VisMaterialCommon_swiginit(self, _XCAFDoc.new_XCAFDoc_VisMaterialCommon(*args))

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_VisMaterialCommon_DumpJson(self, depth)

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

        Parameters
        ----------
        theOther: XCAFDoc_VisMaterialCommon

        Return
        -------
        bool

        Description
        -----------
        Compare two materials.

        """
        return _XCAFDoc.XCAFDoc_VisMaterialCommon_IsEqual(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_VisMaterialCommon

# Register XCAFDoc_VisMaterialCommon in _XCAFDoc:
_XCAFDoc.XCAFDoc_VisMaterialCommon_swigregister(XCAFDoc_VisMaterialCommon)
class XCAFDoc_VisMaterialPBR(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
        -----------
        Empty constructor.

        """
        _XCAFDoc.XCAFDoc_VisMaterialPBR_swiginit(self, _XCAFDoc.new_XCAFDoc_VisMaterialPBR(*args))

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_VisMaterialPBR_DumpJson(self, depth)

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

        Parameters
        ----------
        theOther: XCAFDoc_VisMaterialPBR

        Return
        -------
        bool

        Description
        -----------
        Compare two materials.

        """
        return _XCAFDoc.XCAFDoc_VisMaterialPBR_IsEqual(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_VisMaterialPBR

# Register XCAFDoc_VisMaterialPBR in _XCAFDoc:
_XCAFDoc.XCAFDoc_VisMaterialPBR_swigregister(XCAFDoc_VisMaterialPBR)
class XCAFDoc_VisMaterialTool(OCC.Core.TDF.TDF_Attribute):
    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
        -----------
        Empty constructor.

        """
        _XCAFDoc.XCAFDoc_VisMaterialTool_swiginit(self, _XCAFDoc.new_XCAFDoc_VisMaterialTool(*args))

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

        Parameters
        ----------
        theMat: XCAFDoc_VisMaterial
        theName: str

        Return
        -------
        TDF_Label

        Description
        -----------
        Adds Material definition to a Material Table and returns its Label.

        Parameters
        ----------
        theName: str

        Return
        -------
        TDF_Label

        Description
        -----------
        Adds Material definition to a Material Table and returns its Label.

        """
        return _XCAFDoc.XCAFDoc_VisMaterialTool_AddMaterial(self, *args)

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

        Description
        -----------
        returns the label under which colors are stored.

        """
        return _XCAFDoc.XCAFDoc_VisMaterialTool_BaseLabel(self, *args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_VisMaterialTool_GetID(*args)

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

        Parameters
        ----------
        theMatLabel: TDF_Label

        Return
        -------
        opencascade::handle<XCAFDoc_VisMaterial>

        Description
        -----------
        Returns Material defined by specified Label, or NULL if the label is not in Material Table.

        """
        return _XCAFDoc.XCAFDoc_VisMaterialTool_GetMaterial(*args)

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

        Parameters
        ----------
        Labels: TDF_LabelSequence

        Return
        -------
        None

        Description
        -----------
        Returns a sequence of Materials currently stored in the Material Table.

        """
        return _XCAFDoc.XCAFDoc_VisMaterialTool_GetMaterials(self, *args)

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

        Parameters
        ----------
        theShapeLabel: TDF_Label
        theMaterialLabel: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Returns label with material assigned to shape label. 
        Input parameter: theShapeLabel shape label @param[out] theMaterialLabel material label 
        Return: False if no material is assigned.

        Parameters
        ----------
        theShapeLabel: TDF_Label

        Return
        -------
        opencascade::handle<XCAFDoc_VisMaterial>

        Description
        -----------
        Returns material assigned to the shape label.

        Parameters
        ----------
        theShape: TopoDS_Shape
        theMaterialLabel: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Returns label with material assigned to shape. 
        Input parameter: theShape shape @param[out] theMaterialLabel material label 
        Return: False if no material is assigned.

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

        Return
        -------
        opencascade::handle<XCAFDoc_VisMaterial>

        Description
        -----------
        Returns material assigned to shape or NULL if not assigned.

        """
        return _XCAFDoc.XCAFDoc_VisMaterialTool_GetShapeMaterial(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns True if Label belongs to a Material Table.

        """
        return _XCAFDoc.XCAFDoc_VisMaterialTool_IsMaterial(self, *args)

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

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

        Return
        -------
        bool

        Description
        -----------
        Returns True if label has a material assignment.

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

        Return
        -------
        bool

        Description
        -----------
        Returns True if shape has a material assignment.

        """
        return _XCAFDoc.XCAFDoc_VisMaterialTool_IsSetShapeMaterial(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Removes Material from the Material Table.

        """
        return _XCAFDoc.XCAFDoc_VisMaterialTool_RemoveMaterial(self, *args)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_VisMaterialTool>

        Description
        -----------
        Creates (if not exist) ColorTool.

        """
        return _XCAFDoc.XCAFDoc_VisMaterialTool_Set(*args)

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

        Parameters
        ----------
        theShapeLabel: TDF_Label
        theMaterialLabel: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Sets new material to the shape.

        Parameters
        ----------
        theShape: TopoDS_Shape
        theMaterialLabel: TDF_Label

        Return
        -------
        bool

        Description
        -----------
        Sets a link with GUID XCAFDoc::VisMaterialRefGUID() from shape label to material label. 
        Input parameter: theShape shape 
        Input parameter: theMaterialLabel material label 
        Return: False if cannot find a label for shape.

        """
        return _XCAFDoc.XCAFDoc_VisMaterialTool_SetShapeMaterial(self, *args)

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

        Description
        -----------
        Returns internal XCAFDoc_ShapeTool tool.

        """
        return _XCAFDoc.XCAFDoc_VisMaterialTool_ShapeTool(self, *args)

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

        Parameters
        ----------
        theShapeLabel: TDF_Label

        Return
        -------
        None

        Description
        -----------
        Removes a link with GUID XCAFDoc::VisMaterialRefGUID() from shape label to material.

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

        Return
        -------
        bool

        Description
        -----------
        Removes a link with GUID XCAFDoc::VisMaterialRefGUID() from shape label to material. 
        Return: True if such link existed.

        """
        return _XCAFDoc.XCAFDoc_VisMaterialTool_UnSetShapeMaterial(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_VisMaterialTool

# Register XCAFDoc_VisMaterialTool in _XCAFDoc:
_XCAFDoc.XCAFDoc_VisMaterialTool_swigregister(XCAFDoc_VisMaterialTool)
class XCAFDoc_Volume(OCC.Core.TDataStd.TDataStd_Real):
    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
        -----------
        class methods =============.

        """
        _XCAFDoc.XCAFDoc_Volume_swiginit(self, _XCAFDoc.new_XCAFDoc_Volume(*args))

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _XCAFDoc.XCAFDoc_Volume_DumpJson(self, depth)

    @staticmethod
    def Get(*args):
        r"""
        Return
        -------
        float

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

        Parameters
        ----------
        label: TDF_Label

        Return
        -------
        vol: float

        Description
        -----------
        Returns volume as argument returns false if no such attribute at the <label>.

        """
        return _XCAFDoc.XCAFDoc_Volume_Get(*args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

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

        """
        return _XCAFDoc.XCAFDoc_Volume_GetID(*args)

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

        Parameters
        ----------
        vol: float

        Return
        -------
        None

        Description
        -----------
        Sets a value of volume.

        Parameters
        ----------
        label: TDF_Label
        vol: float

        Return
        -------
        opencascade::handle<XCAFDoc_Volume>

        Description
        -----------
        Find, or create, an Volume attribute and set its value.

        """
        return _XCAFDoc.XCAFDoc_Volume_Set(*args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_Volume

# Register XCAFDoc_Volume in _XCAFDoc:
_XCAFDoc.XCAFDoc_Volume_swigregister(XCAFDoc_Volume)
class XCAFDoc_NoteBinData(XCAFDoc_Note):
    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 binary data note.

        """
        _XCAFDoc.XCAFDoc_NoteBinData_swiginit(self, _XCAFDoc.new_XCAFDoc_NoteBinData(*args))

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

        Description
        -----------
        Returns byte data array.

        """
        return _XCAFDoc.XCAFDoc_NoteBinData_Data(self, *args)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_NoteBinData>

        Description
        -----------
        Finds a binary data attribute on the given label and returns it, if it is found.

        """
        return _XCAFDoc.XCAFDoc_NoteBinData_Get(*args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Returns default attribute GUID.

        """
        return _XCAFDoc.XCAFDoc_NoteBinData_GetID(*args)

    def MIMEtype(self, *args):
        r"""
        Return
        -------
        TCollection_AsciiString

        Description
        -----------
        Returns data MIME type.

        """
        return _XCAFDoc.XCAFDoc_NoteBinData_MIMEtype(self, *args)

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

        Parameters
        ----------
        theLabel: TDF_Label
        theUserName: str
        theTimeStamp: str
        theTitle: str
        theMIMEtype: str
        theFile: OSD_File

        Return
        -------
        opencascade::handle<XCAFDoc_NoteBinData>

        Description
        -----------
        Create (if not exist) a binary note with data loaded from a binary file. \param[in] theLabel - label to add the attribute. \param[in] theUserName - the name of the user, who created the note. \param[in] theTimeStamp - creation timestamp of the note. \param[in] theTitle - file title. \param[in] theMIMEtype - MIME type of the file. \param[in] theFile - input binary file. eturn A handle to the attribute instance.

        Parameters
        ----------
        theLabel: TDF_Label
        theUserName: str
        theTimeStamp: str
        theTitle: str
        theMIMEtype: str
        theData: TColStd_HArray1OfByte

        Return
        -------
        opencascade::handle<XCAFDoc_NoteBinData>

        Description
        -----------
        Create (if not exist) a binary note byte data array. \param[in] theLabel - label to add the attribute. \param[in] theUserName - the name of the user, who created the note. \param[in] theTimeStamp - creation timestamp of the note. \param[in] theTitle - data title. \param[in] theMIMEtype - MIME type of data. \param[in] theData - byte data array. eturn A handle to the attribute instance.

        Parameters
        ----------
        theTitle: str
        theMIMEtype: str
        theFile: OSD_File

        Return
        -------
        bool

        Description
        -----------
        Sets title, MIME type and data from a binary file. \param[in] theTitle - file title. \param[in] theMIMEtype - MIME type of the file. \param[in] theFile - input binary file.

        Parameters
        ----------
        theTitle: str
        theMIMEtype: str
        theData: TColStd_HArray1OfByte

        Return
        -------
        None

        Description
        -----------
        Sets title, MIME type and data from a byte array. \param[in] theTitle - data title. \param[in] theMIMEtype - MIME type of data. \param[in] theData - byte data array.

        """
        return _XCAFDoc.XCAFDoc_NoteBinData_Set(self, *args)

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

        Description
        -----------
        Size of data in bytes.

        """
        return _XCAFDoc.XCAFDoc_NoteBinData_Size(self, *args)

    def Title(self, *args):
        r"""
        Return
        -------
        TCollection_ExtendedString

        Description
        -----------
        Returns the note title.

        """
        return _XCAFDoc.XCAFDoc_NoteBinData_Title(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_NoteBinData

# Register XCAFDoc_NoteBinData in _XCAFDoc:
_XCAFDoc.XCAFDoc_NoteBinData_swigregister(XCAFDoc_NoteBinData)
class XCAFDoc_NoteComment(XCAFDoc_Note):
    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 comment note.

        """
        _XCAFDoc.XCAFDoc_NoteComment_swiginit(self, _XCAFDoc.new_XCAFDoc_NoteComment(*args))

    def Comment(self, *args):
        r"""
        Return
        -------
        TCollection_ExtendedString

        Description
        -----------
        Returns the comment text.

        """
        return _XCAFDoc.XCAFDoc_NoteComment_Comment(self, *args)

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_NoteComment>

        Description
        -----------
        Finds a reference attribute on the given label and returns it, if it is found.

        """
        return _XCAFDoc.XCAFDoc_NoteComment_Get(*args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Returns default attribute GUID.

        """
        return _XCAFDoc.XCAFDoc_NoteComment_GetID(*args)

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

        Parameters
        ----------
        theLabel: TDF_Label
        theUserName: str
        theTimeStamp: str
        theComment: str

        Return
        -------
        opencascade::handle<XCAFDoc_NoteComment>

        Description
        -----------
        Create (if not exist) a comment note on the given label. \param[in] theLabel - note label. \param[in] theUserName - the name of the user, who created the note. \param[in] theTimeStamp - creation timestamp of the note. \param[in] theComment - comment text.

        Parameters
        ----------
        theComment: str

        Return
        -------
        None

        Description
        -----------
        Sets the comment text.

        """
        return _XCAFDoc.XCAFDoc_NoteComment_Set(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_NoteComment

# Register XCAFDoc_NoteComment in _XCAFDoc:
_XCAFDoc.XCAFDoc_NoteComment_swigregister(XCAFDoc_NoteComment)
class XCAFDoc_NoteBalloon(XCAFDoc_NoteComment):
    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 comment note.

        """
        _XCAFDoc.XCAFDoc_NoteBalloon_swiginit(self, _XCAFDoc.new_XCAFDoc_NoteBalloon(*args))

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

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

        Return
        -------
        opencascade::handle<XCAFDoc_NoteBalloon>

        Description
        -----------
        Finds a reference attribute on the given label and returns it, if it is found.

        """
        return _XCAFDoc.XCAFDoc_NoteBalloon_Get(*args)

    @staticmethod
    def GetID(*args):
        r"""
        Return
        -------
        Standard_GUID

        Description
        -----------
        Returns default attribute GUID.

        """
        return _XCAFDoc.XCAFDoc_NoteBalloon_GetID(*args)

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

        Parameters
        ----------
        theLabel: TDF_Label
        theUserName: str
        theTimeStamp: str
        theComment: str

        Return
        -------
        opencascade::handle<XCAFDoc_NoteBalloon>

        Description
        -----------
        Create (if not exist) a comment note on the given label. \param[in] theLabel - note label. \param[in] theUserName - the name of the user, who created the note. \param[in] theTimeStamp - creation timestamp of the note. \param[in] theComment - comment text.

        """
        return _XCAFDoc.XCAFDoc_NoteBalloon_Set(*args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _XCAFDoc.delete_XCAFDoc_NoteBalloon

# Register XCAFDoc_NoteBalloon in _XCAFDoc:
_XCAFDoc.XCAFDoc_NoteBalloon_swigregister(XCAFDoc_NoteBalloon)

@classnotwrapped
class XCAFDoc_GeomTolerance:
	pass



XCAFDoc_PartId=OCC.Core.TCollection.TCollection_AsciiString


@deprecated
def xcafdoc_AssemblyGUID(*args):
	return xcafdoc.AssemblyGUID(*args)

@deprecated
def xcafdoc_AttributeInfo(*args):
	return xcafdoc.AttributeInfo(*args)

@deprecated
def xcafdoc_ColorByLayerGUID(*args):
	return xcafdoc.ColorByLayerGUID(*args)

@deprecated
def xcafdoc_ColorRefGUID(*args):
	return xcafdoc.ColorRefGUID(*args)

@deprecated
def xcafdoc_DatumRefGUID(*args):
	return xcafdoc.DatumRefGUID(*args)

@deprecated
def xcafdoc_DatumTolRefGUID(*args):
	return xcafdoc.DatumTolRefGUID(*args)

@deprecated
def xcafdoc_DimTolRefGUID(*args):
	return xcafdoc.DimTolRefGUID(*args)

@deprecated
def xcafdoc_DimensionRefFirstGUID(*args):
	return xcafdoc.DimensionRefFirstGUID(*args)

@deprecated
def xcafdoc_DimensionRefSecondGUID(*args):
	return xcafdoc.DimensionRefSecondGUID(*args)

@deprecated
def xcafdoc_ExternRefGUID(*args):
	return xcafdoc.ExternRefGUID(*args)

@deprecated
def xcafdoc_GeomToleranceRefGUID(*args):
	return xcafdoc.GeomToleranceRefGUID(*args)

@deprecated
def xcafdoc_InvisibleGUID(*args):
	return xcafdoc.InvisibleGUID(*args)

@deprecated
def xcafdoc_LayerRefGUID(*args):
	return xcafdoc.LayerRefGUID(*args)

@deprecated
def xcafdoc_LockGUID(*args):
	return xcafdoc.LockGUID(*args)

@deprecated
def xcafdoc_MaterialRefGUID(*args):
	return xcafdoc.MaterialRefGUID(*args)

@deprecated
def xcafdoc_NoteRefGUID(*args):
	return xcafdoc.NoteRefGUID(*args)

@deprecated
def xcafdoc_SHUORefGUID(*args):
	return xcafdoc.SHUORefGUID(*args)

@deprecated
def xcafdoc_ShapeRefGUID(*args):
	return xcafdoc.ShapeRefGUID(*args)

@deprecated
def xcafdoc_ViewRefAnnotationGUID(*args):
	return xcafdoc.ViewRefAnnotationGUID(*args)

@deprecated
def xcafdoc_ViewRefGDTGUID(*args):
	return xcafdoc.ViewRefGDTGUID(*args)

@deprecated
def xcafdoc_ViewRefGUID(*args):
	return xcafdoc.ViewRefGUID(*args)

@deprecated
def xcafdoc_ViewRefNoteGUID(*args):
	return xcafdoc.ViewRefNoteGUID(*args)

@deprecated
def xcafdoc_ViewRefPlaneGUID(*args):
	return xcafdoc.ViewRefPlaneGUID(*args)

@deprecated
def xcafdoc_ViewRefShapeGUID(*args):
	return xcafdoc.ViewRefShapeGUID(*args)

@deprecated
def xcafdoc_VisMaterialRefGUID(*args):
	return xcafdoc.VisMaterialRefGUID(*args)

@deprecated
def XCAFDoc_Area_Get(*args):
	return XCAFDoc_Area.Get(*args)

@deprecated
def XCAFDoc_Area_GetID(*args):
	return XCAFDoc_Area.GetID(*args)

@deprecated
def XCAFDoc_Area_Set(*args):
	return XCAFDoc_Area.Set(*args)

@deprecated
def XCAFDoc_AssemblyItemRef_Get(*args):
	return XCAFDoc_AssemblyItemRef.Get(*args)

@deprecated
def XCAFDoc_AssemblyItemRef_GetID(*args):
	return XCAFDoc_AssemblyItemRef.GetID(*args)

@deprecated
def XCAFDoc_AssemblyItemRef_Set(*args):
	return XCAFDoc_AssemblyItemRef.Set(*args)

@deprecated
def XCAFDoc_AssemblyItemRef_Set(*args):
	return XCAFDoc_AssemblyItemRef.Set(*args)

@deprecated
def XCAFDoc_AssemblyItemRef_Set(*args):
	return XCAFDoc_AssemblyItemRef.Set(*args)

@deprecated
def XCAFDoc_Centroid_Get(*args):
	return XCAFDoc_Centroid.Get(*args)

@deprecated
def XCAFDoc_Centroid_GetID(*args):
	return XCAFDoc_Centroid.GetID(*args)

@deprecated
def XCAFDoc_Centroid_Set(*args):
	return XCAFDoc_Centroid.Set(*args)

@deprecated
def XCAFDoc_ClippingPlaneTool_GetID(*args):
	return XCAFDoc_ClippingPlaneTool.GetID(*args)

@deprecated
def XCAFDoc_ClippingPlaneTool_Set(*args):
	return XCAFDoc_ClippingPlaneTool.Set(*args)

@deprecated
def XCAFDoc_Color_GetID(*args):
	return XCAFDoc_Color.GetID(*args)

@deprecated
def XCAFDoc_Color_Set(*args):
	return XCAFDoc_Color.Set(*args)

@deprecated
def XCAFDoc_Color_Set(*args):
	return XCAFDoc_Color.Set(*args)

@deprecated
def XCAFDoc_Color_Set(*args):
	return XCAFDoc_Color.Set(*args)

@deprecated
def XCAFDoc_Color_Set(*args):
	return XCAFDoc_Color.Set(*args)

@deprecated
def XCAFDoc_ColorTool_AutoNaming(*args):
	return XCAFDoc_ColorTool.AutoNaming(*args)

@deprecated
def XCAFDoc_ColorTool_GetColor(*args):
	return XCAFDoc_ColorTool.GetColor(*args)

@deprecated
def XCAFDoc_ColorTool_GetColor(*args):
	return XCAFDoc_ColorTool.GetColor(*args)

@deprecated
def XCAFDoc_ColorTool_GetColor(*args):
	return XCAFDoc_ColorTool.GetColor(*args)

@deprecated
def XCAFDoc_ColorTool_GetColor(*args):
	return XCAFDoc_ColorTool.GetColor(*args)

@deprecated
def XCAFDoc_ColorTool_GetColor(*args):
	return XCAFDoc_ColorTool.GetColor(*args)

@deprecated
def XCAFDoc_ColorTool_GetID(*args):
	return XCAFDoc_ColorTool.GetID(*args)

@deprecated
def XCAFDoc_ColorTool_IsVisible(*args):
	return XCAFDoc_ColorTool.IsVisible(*args)

@deprecated
def XCAFDoc_ColorTool_Set(*args):
	return XCAFDoc_ColorTool.Set(*args)

@deprecated
def XCAFDoc_ColorTool_SetAutoNaming(*args):
	return XCAFDoc_ColorTool.SetAutoNaming(*args)

@deprecated
def XCAFDoc_Datum_GetID(*args):
	return XCAFDoc_Datum.GetID(*args)

@deprecated
def XCAFDoc_Datum_Set(*args):
	return XCAFDoc_Datum.Set(*args)

@deprecated
def XCAFDoc_Datum_Set(*args):
	return XCAFDoc_Datum.Set(*args)

@deprecated
def XCAFDoc_DimTol_GetID(*args):
	return XCAFDoc_DimTol.GetID(*args)

@deprecated
def XCAFDoc_DimTol_Set(*args):
	return XCAFDoc_DimTol.Set(*args)

@deprecated
def XCAFDoc_DimTolTool_GetDatumOfTolerLabels(*args):
	return XCAFDoc_DimTolTool.GetDatumOfTolerLabels(*args)

@deprecated
def XCAFDoc_DimTolTool_GetDatumWithObjectOfTolerLabels(*args):
	return XCAFDoc_DimTolTool.GetDatumWithObjectOfTolerLabels(*args)

@deprecated
def XCAFDoc_DimTolTool_GetID(*args):
	return XCAFDoc_DimTolTool.GetID(*args)

@deprecated
def XCAFDoc_DimTolTool_GetRefShapeLabel(*args):
	return XCAFDoc_DimTolTool.GetRefShapeLabel(*args)

@deprecated
def XCAFDoc_DimTolTool_Set(*args):
	return XCAFDoc_DimTolTool.Set(*args)

@deprecated
def XCAFDoc_Dimension_GetID(*args):
	return XCAFDoc_Dimension.GetID(*args)

@deprecated
def XCAFDoc_Dimension_Set(*args):
	return XCAFDoc_Dimension.Set(*args)

@deprecated
def XCAFDoc_DocumentTool_CheckClippingPlaneTool(*args):
	return XCAFDoc_DocumentTool.CheckClippingPlaneTool(*args)

@deprecated
def XCAFDoc_DocumentTool_CheckColorTool(*args):
	return XCAFDoc_DocumentTool.CheckColorTool(*args)

@deprecated
def XCAFDoc_DocumentTool_CheckDimTolTool(*args):
	return XCAFDoc_DocumentTool.CheckDimTolTool(*args)

@deprecated
def XCAFDoc_DocumentTool_CheckLayerTool(*args):
	return XCAFDoc_DocumentTool.CheckLayerTool(*args)

@deprecated
def XCAFDoc_DocumentTool_CheckMaterialTool(*args):
	return XCAFDoc_DocumentTool.CheckMaterialTool(*args)

@deprecated
def XCAFDoc_DocumentTool_CheckNotesTool(*args):
	return XCAFDoc_DocumentTool.CheckNotesTool(*args)

@deprecated
def XCAFDoc_DocumentTool_CheckShapeTool(*args):
	return XCAFDoc_DocumentTool.CheckShapeTool(*args)

@deprecated
def XCAFDoc_DocumentTool_CheckViewTool(*args):
	return XCAFDoc_DocumentTool.CheckViewTool(*args)

@deprecated
def XCAFDoc_DocumentTool_CheckVisMaterialTool(*args):
	return XCAFDoc_DocumentTool.CheckVisMaterialTool(*args)

@deprecated
def XCAFDoc_DocumentTool_ClippingPlaneTool(*args):
	return XCAFDoc_DocumentTool.ClippingPlaneTool(*args)

@deprecated
def XCAFDoc_DocumentTool_ClippingPlanesLabel(*args):
	return XCAFDoc_DocumentTool.ClippingPlanesLabel(*args)

@deprecated
def XCAFDoc_DocumentTool_ColorTool(*args):
	return XCAFDoc_DocumentTool.ColorTool(*args)

@deprecated
def XCAFDoc_DocumentTool_ColorsLabel(*args):
	return XCAFDoc_DocumentTool.ColorsLabel(*args)

@deprecated
def XCAFDoc_DocumentTool_DGTsLabel(*args):
	return XCAFDoc_DocumentTool.DGTsLabel(*args)

@deprecated
def XCAFDoc_DocumentTool_DimTolTool(*args):
	return XCAFDoc_DocumentTool.DimTolTool(*args)

@deprecated
def XCAFDoc_DocumentTool_DocLabel(*args):
	return XCAFDoc_DocumentTool.DocLabel(*args)

@deprecated
def XCAFDoc_DocumentTool_GetID(*args):
	return XCAFDoc_DocumentTool.GetID(*args)

@deprecated
def XCAFDoc_DocumentTool_GetLengthUnit(*args):
	return XCAFDoc_DocumentTool.GetLengthUnit(*args)

@deprecated
def XCAFDoc_DocumentTool_GetLengthUnit(*args):
	return XCAFDoc_DocumentTool.GetLengthUnit(*args)

@deprecated
def XCAFDoc_DocumentTool_IsXCAFDocument(*args):
	return XCAFDoc_DocumentTool.IsXCAFDocument(*args)

@deprecated
def XCAFDoc_DocumentTool_LayerTool(*args):
	return XCAFDoc_DocumentTool.LayerTool(*args)

@deprecated
def XCAFDoc_DocumentTool_LayersLabel(*args):
	return XCAFDoc_DocumentTool.LayersLabel(*args)

@deprecated
def XCAFDoc_DocumentTool_MaterialTool(*args):
	return XCAFDoc_DocumentTool.MaterialTool(*args)

@deprecated
def XCAFDoc_DocumentTool_MaterialsLabel(*args):
	return XCAFDoc_DocumentTool.MaterialsLabel(*args)

@deprecated
def XCAFDoc_DocumentTool_NotesLabel(*args):
	return XCAFDoc_DocumentTool.NotesLabel(*args)

@deprecated
def XCAFDoc_DocumentTool_NotesTool(*args):
	return XCAFDoc_DocumentTool.NotesTool(*args)

@deprecated
def XCAFDoc_DocumentTool_Set(*args):
	return XCAFDoc_DocumentTool.Set(*args)

@deprecated
def XCAFDoc_DocumentTool_SetLengthUnit(*args):
	return XCAFDoc_DocumentTool.SetLengthUnit(*args)

@deprecated
def XCAFDoc_DocumentTool_SetLengthUnit(*args):
	return XCAFDoc_DocumentTool.SetLengthUnit(*args)

@deprecated
def XCAFDoc_DocumentTool_ShapeTool(*args):
	return XCAFDoc_DocumentTool.ShapeTool(*args)

@deprecated
def XCAFDoc_DocumentTool_ShapesLabel(*args):
	return XCAFDoc_DocumentTool.ShapesLabel(*args)

@deprecated
def XCAFDoc_DocumentTool_ViewTool(*args):
	return XCAFDoc_DocumentTool.ViewTool(*args)

@deprecated
def XCAFDoc_DocumentTool_ViewsLabel(*args):
	return XCAFDoc_DocumentTool.ViewsLabel(*args)

@deprecated
def XCAFDoc_DocumentTool_VisMaterialLabel(*args):
	return XCAFDoc_DocumentTool.VisMaterialLabel(*args)

@deprecated
def XCAFDoc_DocumentTool_VisMaterialTool(*args):
	return XCAFDoc_DocumentTool.VisMaterialTool(*args)

@deprecated
def XCAFDoc_Editor_CloneMetaData(*args):
	return XCAFDoc_Editor.CloneMetaData(*args)

@deprecated
def XCAFDoc_Editor_CloneShapeLabel(*args):
	return XCAFDoc_Editor.CloneShapeLabel(*args)

@deprecated
def XCAFDoc_Editor_Expand(*args):
	return XCAFDoc_Editor.Expand(*args)

@deprecated
def XCAFDoc_Editor_Expand(*args):
	return XCAFDoc_Editor.Expand(*args)

@deprecated
def XCAFDoc_Editor_Extract(*args):
	return XCAFDoc_Editor.Extract(*args)

@deprecated
def XCAFDoc_Editor_Extract(*args):
	return XCAFDoc_Editor.Extract(*args)

@deprecated
def XCAFDoc_Editor_FilterShapeTree(*args):
	return XCAFDoc_Editor.FilterShapeTree(*args)

@deprecated
def XCAFDoc_Editor_GetChildShapeLabels(*args):
	return XCAFDoc_Editor.GetChildShapeLabels(*args)

@deprecated
def XCAFDoc_Editor_GetParentShapeLabels(*args):
	return XCAFDoc_Editor.GetParentShapeLabels(*args)

@deprecated
def XCAFDoc_Editor_RescaleGeometry(*args):
	return XCAFDoc_Editor.RescaleGeometry(*args)

@deprecated
def XCAFDoc_GraphNode_Find(*args):
	return XCAFDoc_GraphNode.Find(*args)

@deprecated
def XCAFDoc_GraphNode_GetDefaultGraphID(*args):
	return XCAFDoc_GraphNode.GetDefaultGraphID(*args)

@deprecated
def XCAFDoc_GraphNode_Set(*args):
	return XCAFDoc_GraphNode.Set(*args)

@deprecated
def XCAFDoc_GraphNode_Set(*args):
	return XCAFDoc_GraphNode.Set(*args)

@deprecated
def XCAFDoc_LayerTool_GetID(*args):
	return XCAFDoc_LayerTool.GetID(*args)

@deprecated
def XCAFDoc_LayerTool_GetShapesOfLayer(*args):
	return XCAFDoc_LayerTool.GetShapesOfLayer(*args)

@deprecated
def XCAFDoc_LayerTool_Set(*args):
	return XCAFDoc_LayerTool.Set(*args)

@deprecated
def XCAFDoc_LengthUnit_GetID(*args):
	return XCAFDoc_LengthUnit.GetID(*args)

@deprecated
def XCAFDoc_LengthUnit_Set(*args):
	return XCAFDoc_LengthUnit.Set(*args)

@deprecated
def XCAFDoc_LengthUnit_Set(*args):
	return XCAFDoc_LengthUnit.Set(*args)

@deprecated
def XCAFDoc_LengthUnit_Set(*args):
	return XCAFDoc_LengthUnit.Set(*args)

@deprecated
def XCAFDoc_Location_GetID(*args):
	return XCAFDoc_Location.GetID(*args)

@deprecated
def XCAFDoc_Location_Set(*args):
	return XCAFDoc_Location.Set(*args)

@deprecated
def XCAFDoc_Material_GetID(*args):
	return XCAFDoc_Material.GetID(*args)

@deprecated
def XCAFDoc_Material_Set(*args):
	return XCAFDoc_Material.Set(*args)

@deprecated
def XCAFDoc_MaterialTool_GetDensityForShape(*args):
	return XCAFDoc_MaterialTool.GetDensityForShape(*args)

@deprecated
def XCAFDoc_MaterialTool_GetID(*args):
	return XCAFDoc_MaterialTool.GetID(*args)

@deprecated
def XCAFDoc_MaterialTool_GetMaterial(*args):
	return XCAFDoc_MaterialTool.GetMaterial(*args)

@deprecated
def XCAFDoc_MaterialTool_Set(*args):
	return XCAFDoc_MaterialTool.Set(*args)

@deprecated
def XCAFDoc_Note_Get(*args):
	return XCAFDoc_Note.Get(*args)

@deprecated
def XCAFDoc_Note_IsMine(*args):
	return XCAFDoc_Note.IsMine(*args)

@deprecated
def XCAFDoc_NotesTool_GetID(*args):
	return XCAFDoc_NotesTool.GetID(*args)

@deprecated
def XCAFDoc_NotesTool_Set(*args):
	return XCAFDoc_NotesTool.Set(*args)

@deprecated
def XCAFDoc_ShapeMapTool_GetID(*args):
	return XCAFDoc_ShapeMapTool.GetID(*args)

@deprecated
def XCAFDoc_ShapeMapTool_Set(*args):
	return XCAFDoc_ShapeMapTool.Set(*args)

@deprecated
def XCAFDoc_ShapeTool_AutoNaming(*args):
	return XCAFDoc_ShapeTool.AutoNaming(*args)

@deprecated
def XCAFDoc_ShapeTool_DumpShape(*args):
	return XCAFDoc_ShapeTool.DumpShape(*args)

@deprecated
def XCAFDoc_ShapeTool_FindSHUO(*args):
	return XCAFDoc_ShapeTool.FindSHUO(*args)

@deprecated
def XCAFDoc_ShapeTool_GetAllComponentSHUO(*args):
	return XCAFDoc_ShapeTool.GetAllComponentSHUO(*args)

@deprecated
def XCAFDoc_ShapeTool_GetComponents(*args):
	return XCAFDoc_ShapeTool.GetComponents(*args)

@deprecated
def XCAFDoc_ShapeTool_GetExternRefs(*args):
	return XCAFDoc_ShapeTool.GetExternRefs(*args)

@deprecated
def XCAFDoc_ShapeTool_GetID(*args):
	return XCAFDoc_ShapeTool.GetID(*args)

@deprecated
def XCAFDoc_ShapeTool_GetLocation(*args):
	return XCAFDoc_ShapeTool.GetLocation(*args)

@deprecated
def XCAFDoc_ShapeTool_GetOneShape(*args):
	return XCAFDoc_ShapeTool.GetOneShape(*args)

@deprecated
def XCAFDoc_ShapeTool_GetReferredShape(*args):
	return XCAFDoc_ShapeTool.GetReferredShape(*args)

@deprecated
def XCAFDoc_ShapeTool_GetSHUO(*args):
	return XCAFDoc_ShapeTool.GetSHUO(*args)

@deprecated
def XCAFDoc_ShapeTool_GetSHUONextUsage(*args):
	return XCAFDoc_ShapeTool.GetSHUONextUsage(*args)

@deprecated
def XCAFDoc_ShapeTool_GetSHUOUpperUsage(*args):
	return XCAFDoc_ShapeTool.GetSHUOUpperUsage(*args)

@deprecated
def XCAFDoc_ShapeTool_GetShape(*args):
	return XCAFDoc_ShapeTool.GetShape(*args)

@deprecated
def XCAFDoc_ShapeTool_GetShape(*args):
	return XCAFDoc_ShapeTool.GetShape(*args)

@deprecated
def XCAFDoc_ShapeTool_GetSubShapes(*args):
	return XCAFDoc_ShapeTool.GetSubShapes(*args)

@deprecated
def XCAFDoc_ShapeTool_GetUsers(*args):
	return XCAFDoc_ShapeTool.GetUsers(*args)

@deprecated
def XCAFDoc_ShapeTool_IsAssembly(*args):
	return XCAFDoc_ShapeTool.IsAssembly(*args)

@deprecated
def XCAFDoc_ShapeTool_IsComponent(*args):
	return XCAFDoc_ShapeTool.IsComponent(*args)

@deprecated
def XCAFDoc_ShapeTool_IsCompound(*args):
	return XCAFDoc_ShapeTool.IsCompound(*args)

@deprecated
def XCAFDoc_ShapeTool_IsExternRef(*args):
	return XCAFDoc_ShapeTool.IsExternRef(*args)

@deprecated
def XCAFDoc_ShapeTool_IsFree(*args):
	return XCAFDoc_ShapeTool.IsFree(*args)

@deprecated
def XCAFDoc_ShapeTool_IsReference(*args):
	return XCAFDoc_ShapeTool.IsReference(*args)

@deprecated
def XCAFDoc_ShapeTool_IsShape(*args):
	return XCAFDoc_ShapeTool.IsShape(*args)

@deprecated
def XCAFDoc_ShapeTool_IsSimpleShape(*args):
	return XCAFDoc_ShapeTool.IsSimpleShape(*args)

@deprecated
def XCAFDoc_ShapeTool_IsSubShape(*args):
	return XCAFDoc_ShapeTool.IsSubShape(*args)

@deprecated
def XCAFDoc_ShapeTool_NbComponents(*args):
	return XCAFDoc_ShapeTool.NbComponents(*args)

@deprecated
def XCAFDoc_ShapeTool_Set(*args):
	return XCAFDoc_ShapeTool.Set(*args)

@deprecated
def XCAFDoc_ShapeTool_SetAutoNaming(*args):
	return XCAFDoc_ShapeTool.SetAutoNaming(*args)

@deprecated
def XCAFDoc_View_GetID(*args):
	return XCAFDoc_View.GetID(*args)

@deprecated
def XCAFDoc_View_Set(*args):
	return XCAFDoc_View.Set(*args)

@deprecated
def XCAFDoc_ViewTool_GetID(*args):
	return XCAFDoc_ViewTool.GetID(*args)

@deprecated
def XCAFDoc_ViewTool_Set(*args):
	return XCAFDoc_ViewTool.Set(*args)

@deprecated
def XCAFDoc_VisMaterial_GetID(*args):
	return XCAFDoc_VisMaterial.GetID(*args)

@deprecated
def XCAFDoc_VisMaterialTool_GetID(*args):
	return XCAFDoc_VisMaterialTool.GetID(*args)

@deprecated
def XCAFDoc_VisMaterialTool_GetMaterial(*args):
	return XCAFDoc_VisMaterialTool.GetMaterial(*args)

@deprecated
def XCAFDoc_VisMaterialTool_GetShapeMaterial(*args):
	return XCAFDoc_VisMaterialTool.GetShapeMaterial(*args)

@deprecated
def XCAFDoc_VisMaterialTool_GetShapeMaterial(*args):
	return XCAFDoc_VisMaterialTool.GetShapeMaterial(*args)

@deprecated
def XCAFDoc_VisMaterialTool_Set(*args):
	return XCAFDoc_VisMaterialTool.Set(*args)

@deprecated
def XCAFDoc_Volume_Get(*args):
	return XCAFDoc_Volume.Get(*args)

@deprecated
def XCAFDoc_Volume_GetID(*args):
	return XCAFDoc_Volume.GetID(*args)

@deprecated
def XCAFDoc_Volume_Set(*args):
	return XCAFDoc_Volume.Set(*args)

@deprecated
def XCAFDoc_NoteBinData_Get(*args):
	return XCAFDoc_NoteBinData.Get(*args)

@deprecated
def XCAFDoc_NoteBinData_GetID(*args):
	return XCAFDoc_NoteBinData.GetID(*args)

@deprecated
def XCAFDoc_NoteBinData_Set(*args):
	return XCAFDoc_NoteBinData.Set(*args)

@deprecated
def XCAFDoc_NoteBinData_Set(*args):
	return XCAFDoc_NoteBinData.Set(*args)

@deprecated
def XCAFDoc_NoteComment_Get(*args):
	return XCAFDoc_NoteComment.Get(*args)

@deprecated
def XCAFDoc_NoteComment_GetID(*args):
	return XCAFDoc_NoteComment.GetID(*args)

@deprecated
def XCAFDoc_NoteComment_Set(*args):
	return XCAFDoc_NoteComment.Set(*args)

@deprecated
def XCAFDoc_NoteBalloon_Get(*args):
	return XCAFDoc_NoteBalloon.Get(*args)

@deprecated
def XCAFDoc_NoteBalloon_GetID(*args):
	return XCAFDoc_NoteBalloon.GetID(*args)

@deprecated
def XCAFDoc_NoteBalloon_Set(*args):
	return XCAFDoc_NoteBalloon.Set(*args)



