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

"""
XCAFDoc module, see official documentation at
https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_xcafdoc.html
"""

from sys import version_info as _swig_python_version_info
if _swig_python_version_info < (2, 7, 0):
    raise RuntimeError("Python 2.7 or later required")

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _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 == "thisown":
            self.this.own(value)
        elif name == "this":
            set(self, name, value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    def __sub__(self, *args) -> "ptrdiff_t":
        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: "Standard_Failure", method_name: "std::string", class_name: "std::string") -> "void":
    return _XCAFDoc.process_exception(error, method_name, class_name)

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

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.TCollection
import OCC.Core.TDataStd
import OCC.Core.TColStd
import OCC.Core.TDF
import OCC.Core.gp
import OCC.Core.Quantity
import OCC.Core.TopoDS
import OCC.Core.Message
import OCC.Core.OSD
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.XCAFDimTolObjects
import OCC.Core.TDocStd
import OCC.Core.CDF
import OCC.Core.CDM
import OCC.Core.Resource
import OCC.Core.PCDM
import OCC.Core.Storage
import OCC.Core.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() -> "opencascade::handle< XCAFDoc_Area >":
    return _XCAFDoc.Handle_XCAFDoc_Area_Create()

def Handle_XCAFDoc_Area_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_Area >":
    return _XCAFDoc.Handle_XCAFDoc_Area_DownCast(t)

def Handle_XCAFDoc_Area_IsNull(t: "opencascade::handle< XCAFDoc_Area > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_Area_IsNull(t)

def Handle_XCAFDoc_AssemblyItemRef_Create() -> "opencascade::handle< XCAFDoc_AssemblyItemRef >":
    return _XCAFDoc.Handle_XCAFDoc_AssemblyItemRef_Create()

def Handle_XCAFDoc_AssemblyItemRef_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_AssemblyItemRef >":
    return _XCAFDoc.Handle_XCAFDoc_AssemblyItemRef_DownCast(t)

def Handle_XCAFDoc_AssemblyItemRef_IsNull(t: "opencascade::handle< XCAFDoc_AssemblyItemRef > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_AssemblyItemRef_IsNull(t)

def Handle_XCAFDoc_Centroid_Create() -> "opencascade::handle< XCAFDoc_Centroid >":
    return _XCAFDoc.Handle_XCAFDoc_Centroid_Create()

def Handle_XCAFDoc_Centroid_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_Centroid >":
    return _XCAFDoc.Handle_XCAFDoc_Centroid_DownCast(t)

def Handle_XCAFDoc_Centroid_IsNull(t: "opencascade::handle< XCAFDoc_Centroid > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_Centroid_IsNull(t)

def Handle_XCAFDoc_ClippingPlaneTool_Create() -> "opencascade::handle< XCAFDoc_ClippingPlaneTool >":
    return _XCAFDoc.Handle_XCAFDoc_ClippingPlaneTool_Create()

def Handle_XCAFDoc_ClippingPlaneTool_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_ClippingPlaneTool >":
    return _XCAFDoc.Handle_XCAFDoc_ClippingPlaneTool_DownCast(t)

def Handle_XCAFDoc_ClippingPlaneTool_IsNull(t: "opencascade::handle< XCAFDoc_ClippingPlaneTool > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_ClippingPlaneTool_IsNull(t)

def Handle_XCAFDoc_Color_Create() -> "opencascade::handle< XCAFDoc_Color >":
    return _XCAFDoc.Handle_XCAFDoc_Color_Create()

def Handle_XCAFDoc_Color_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_Color >":
    return _XCAFDoc.Handle_XCAFDoc_Color_DownCast(t)

def Handle_XCAFDoc_Color_IsNull(t: "opencascade::handle< XCAFDoc_Color > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_Color_IsNull(t)

def Handle_XCAFDoc_ColorTool_Create() -> "opencascade::handle< XCAFDoc_ColorTool >":
    return _XCAFDoc.Handle_XCAFDoc_ColorTool_Create()

def Handle_XCAFDoc_ColorTool_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_ColorTool >":
    return _XCAFDoc.Handle_XCAFDoc_ColorTool_DownCast(t)

def Handle_XCAFDoc_ColorTool_IsNull(t: "opencascade::handle< XCAFDoc_ColorTool > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_ColorTool_IsNull(t)

def Handle_XCAFDoc_Datum_Create() -> "opencascade::handle< XCAFDoc_Datum >":
    return _XCAFDoc.Handle_XCAFDoc_Datum_Create()

def Handle_XCAFDoc_Datum_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_Datum >":
    return _XCAFDoc.Handle_XCAFDoc_Datum_DownCast(t)

def Handle_XCAFDoc_Datum_IsNull(t: "opencascade::handle< XCAFDoc_Datum > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_Datum_IsNull(t)

def Handle_XCAFDoc_DimTol_Create() -> "opencascade::handle< XCAFDoc_DimTol >":
    return _XCAFDoc.Handle_XCAFDoc_DimTol_Create()

def Handle_XCAFDoc_DimTol_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_DimTol >":
    return _XCAFDoc.Handle_XCAFDoc_DimTol_DownCast(t)

def Handle_XCAFDoc_DimTol_IsNull(t: "opencascade::handle< XCAFDoc_DimTol > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_DimTol_IsNull(t)

def Handle_XCAFDoc_DimTolTool_Create() -> "opencascade::handle< XCAFDoc_DimTolTool >":
    return _XCAFDoc.Handle_XCAFDoc_DimTolTool_Create()

def Handle_XCAFDoc_DimTolTool_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_DimTolTool >":
    return _XCAFDoc.Handle_XCAFDoc_DimTolTool_DownCast(t)

def Handle_XCAFDoc_DimTolTool_IsNull(t: "opencascade::handle< XCAFDoc_DimTolTool > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_DimTolTool_IsNull(t)

def Handle_XCAFDoc_Dimension_Create() -> "opencascade::handle< XCAFDoc_Dimension >":
    return _XCAFDoc.Handle_XCAFDoc_Dimension_Create()

def Handle_XCAFDoc_Dimension_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_Dimension >":
    return _XCAFDoc.Handle_XCAFDoc_Dimension_DownCast(t)

def Handle_XCAFDoc_Dimension_IsNull(t: "opencascade::handle< XCAFDoc_Dimension > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_Dimension_IsNull(t)

def Handle_XCAFDoc_DocumentTool_Create() -> "opencascade::handle< XCAFDoc_DocumentTool >":
    return _XCAFDoc.Handle_XCAFDoc_DocumentTool_Create()

def Handle_XCAFDoc_DocumentTool_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_DocumentTool >":
    return _XCAFDoc.Handle_XCAFDoc_DocumentTool_DownCast(t)

def Handle_XCAFDoc_DocumentTool_IsNull(t: "opencascade::handle< XCAFDoc_DocumentTool > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_DocumentTool_IsNull(t)

def Handle_XCAFDoc_GraphNode_Create() -> "opencascade::handle< XCAFDoc_GraphNode >":
    return _XCAFDoc.Handle_XCAFDoc_GraphNode_Create()

def Handle_XCAFDoc_GraphNode_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_GraphNode >":
    return _XCAFDoc.Handle_XCAFDoc_GraphNode_DownCast(t)

def Handle_XCAFDoc_GraphNode_IsNull(t: "opencascade::handle< XCAFDoc_GraphNode > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_GraphNode_IsNull(t)

def Handle_XCAFDoc_LayerTool_Create() -> "opencascade::handle< XCAFDoc_LayerTool >":
    return _XCAFDoc.Handle_XCAFDoc_LayerTool_Create()

def Handle_XCAFDoc_LayerTool_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_LayerTool >":
    return _XCAFDoc.Handle_XCAFDoc_LayerTool_DownCast(t)

def Handle_XCAFDoc_LayerTool_IsNull(t: "opencascade::handle< XCAFDoc_LayerTool > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_LayerTool_IsNull(t)

def Handle_XCAFDoc_Location_Create() -> "opencascade::handle< XCAFDoc_Location >":
    return _XCAFDoc.Handle_XCAFDoc_Location_Create()

def Handle_XCAFDoc_Location_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_Location >":
    return _XCAFDoc.Handle_XCAFDoc_Location_DownCast(t)

def Handle_XCAFDoc_Location_IsNull(t: "opencascade::handle< XCAFDoc_Location > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_Location_IsNull(t)

def Handle_XCAFDoc_Material_Create() -> "opencascade::handle< XCAFDoc_Material >":
    return _XCAFDoc.Handle_XCAFDoc_Material_Create()

def Handle_XCAFDoc_Material_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_Material >":
    return _XCAFDoc.Handle_XCAFDoc_Material_DownCast(t)

def Handle_XCAFDoc_Material_IsNull(t: "opencascade::handle< XCAFDoc_Material > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_Material_IsNull(t)

def Handle_XCAFDoc_MaterialTool_Create() -> "opencascade::handle< XCAFDoc_MaterialTool >":
    return _XCAFDoc.Handle_XCAFDoc_MaterialTool_Create()

def Handle_XCAFDoc_MaterialTool_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_MaterialTool >":
    return _XCAFDoc.Handle_XCAFDoc_MaterialTool_DownCast(t)

def Handle_XCAFDoc_MaterialTool_IsNull(t: "opencascade::handle< XCAFDoc_MaterialTool > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_MaterialTool_IsNull(t)

def Handle_XCAFDoc_Note_Create() -> "opencascade::handle< XCAFDoc_Note >":
    return _XCAFDoc.Handle_XCAFDoc_Note_Create()

def Handle_XCAFDoc_Note_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_Note >":
    return _XCAFDoc.Handle_XCAFDoc_Note_DownCast(t)

def Handle_XCAFDoc_Note_IsNull(t: "opencascade::handle< XCAFDoc_Note > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_Note_IsNull(t)

def Handle_XCAFDoc_NotesTool_Create() -> "opencascade::handle< XCAFDoc_NotesTool >":
    return _XCAFDoc.Handle_XCAFDoc_NotesTool_Create()

def Handle_XCAFDoc_NotesTool_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_NotesTool >":
    return _XCAFDoc.Handle_XCAFDoc_NotesTool_DownCast(t)

def Handle_XCAFDoc_NotesTool_IsNull(t: "opencascade::handle< XCAFDoc_NotesTool > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_NotesTool_IsNull(t)

def Handle_XCAFDoc_ShapeMapTool_Create() -> "opencascade::handle< XCAFDoc_ShapeMapTool >":
    return _XCAFDoc.Handle_XCAFDoc_ShapeMapTool_Create()

def Handle_XCAFDoc_ShapeMapTool_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_ShapeMapTool >":
    return _XCAFDoc.Handle_XCAFDoc_ShapeMapTool_DownCast(t)

def Handle_XCAFDoc_ShapeMapTool_IsNull(t: "opencascade::handle< XCAFDoc_ShapeMapTool > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_ShapeMapTool_IsNull(t)

def Handle_XCAFDoc_ShapeTool_Create() -> "opencascade::handle< XCAFDoc_ShapeTool >":
    return _XCAFDoc.Handle_XCAFDoc_ShapeTool_Create()

def Handle_XCAFDoc_ShapeTool_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_ShapeTool >":
    return _XCAFDoc.Handle_XCAFDoc_ShapeTool_DownCast(t)

def Handle_XCAFDoc_ShapeTool_IsNull(t: "opencascade::handle< XCAFDoc_ShapeTool > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_ShapeTool_IsNull(t)

def Handle_XCAFDoc_View_Create() -> "opencascade::handle< XCAFDoc_View >":
    return _XCAFDoc.Handle_XCAFDoc_View_Create()

def Handle_XCAFDoc_View_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_View >":
    return _XCAFDoc.Handle_XCAFDoc_View_DownCast(t)

def Handle_XCAFDoc_View_IsNull(t: "opencascade::handle< XCAFDoc_View > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_View_IsNull(t)

def Handle_XCAFDoc_ViewTool_Create() -> "opencascade::handle< XCAFDoc_ViewTool >":
    return _XCAFDoc.Handle_XCAFDoc_ViewTool_Create()

def Handle_XCAFDoc_ViewTool_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_ViewTool >":
    return _XCAFDoc.Handle_XCAFDoc_ViewTool_DownCast(t)

def Handle_XCAFDoc_ViewTool_IsNull(t: "opencascade::handle< XCAFDoc_ViewTool > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_ViewTool_IsNull(t)

def Handle_XCAFDoc_VisMaterial_Create() -> "opencascade::handle< XCAFDoc_VisMaterial >":
    return _XCAFDoc.Handle_XCAFDoc_VisMaterial_Create()

def Handle_XCAFDoc_VisMaterial_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_VisMaterial >":
    return _XCAFDoc.Handle_XCAFDoc_VisMaterial_DownCast(t)

def Handle_XCAFDoc_VisMaterial_IsNull(t: "opencascade::handle< XCAFDoc_VisMaterial > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_VisMaterial_IsNull(t)

def Handle_XCAFDoc_VisMaterialTool_Create() -> "opencascade::handle< XCAFDoc_VisMaterialTool >":
    return _XCAFDoc.Handle_XCAFDoc_VisMaterialTool_Create()

def Handle_XCAFDoc_VisMaterialTool_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_VisMaterialTool >":
    return _XCAFDoc.Handle_XCAFDoc_VisMaterialTool_DownCast(t)

def Handle_XCAFDoc_VisMaterialTool_IsNull(t: "opencascade::handle< XCAFDoc_VisMaterialTool > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_VisMaterialTool_IsNull(t)

def Handle_XCAFDoc_Volume_Create() -> "opencascade::handle< XCAFDoc_Volume >":
    return _XCAFDoc.Handle_XCAFDoc_Volume_Create()

def Handle_XCAFDoc_Volume_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_Volume >":
    return _XCAFDoc.Handle_XCAFDoc_Volume_DownCast(t)

def Handle_XCAFDoc_Volume_IsNull(t: "opencascade::handle< XCAFDoc_Volume > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_Volume_IsNull(t)

def Handle_XCAFDoc_NoteBinData_Create() -> "opencascade::handle< XCAFDoc_NoteBinData >":
    return _XCAFDoc.Handle_XCAFDoc_NoteBinData_Create()

def Handle_XCAFDoc_NoteBinData_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_NoteBinData >":
    return _XCAFDoc.Handle_XCAFDoc_NoteBinData_DownCast(t)

def Handle_XCAFDoc_NoteBinData_IsNull(t: "opencascade::handle< XCAFDoc_NoteBinData > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_NoteBinData_IsNull(t)

def Handle_XCAFDoc_NoteComment_Create() -> "opencascade::handle< XCAFDoc_NoteComment >":
    return _XCAFDoc.Handle_XCAFDoc_NoteComment_Create()

def Handle_XCAFDoc_NoteComment_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_NoteComment >":
    return _XCAFDoc.Handle_XCAFDoc_NoteComment_DownCast(t)

def Handle_XCAFDoc_NoteComment_IsNull(t: "opencascade::handle< XCAFDoc_NoteComment > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_NoteComment_IsNull(t)

def Handle_XCAFDoc_NoteBalloon_Create() -> "opencascade::handle< XCAFDoc_NoteBalloon >":
    return _XCAFDoc.Handle_XCAFDoc_NoteBalloon_Create()

def Handle_XCAFDoc_NoteBalloon_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< XCAFDoc_NoteBalloon >":
    return _XCAFDoc.Handle_XCAFDoc_NoteBalloon_DownCast(t)

def Handle_XCAFDoc_NoteBalloon_IsNull(t: "opencascade::handle< XCAFDoc_NoteBalloon > const &") -> "bool":
    return _XCAFDoc.Handle_XCAFDoc_NoteBalloon_IsNull(t)
class XCAFDoc_DataMapOfShapeLabel(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self) -> "NCollection_DataMap< TopoDS_Shape,TDF_Label,TopTools_ShapeMapHasher >::iterator":
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_begin(self)

    def end(self) -> "NCollection_DataMap< TopoDS_Shape,TDF_Label,TopTools_ShapeMapHasher >::iterator":
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_end(self)

    def cbegin(self) -> "NCollection_DataMap< TopoDS_Shape,TDF_Label,TopTools_ShapeMapHasher >::const_iterator":
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_cbegin(self)

    def cend(self) -> "NCollection_DataMap< TopoDS_Shape,TDF_Label,TopTools_ShapeMapHasher >::const_iterator":
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_cend(self)

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

    def Exchange(self, theOther: "XCAFDoc_DataMapOfShapeLabel") -> "void":
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_Exchange(self, theOther)

    def Assign(self, theOther: "XCAFDoc_DataMapOfShapeLabel") -> "NCollection_DataMap< TopoDS_Shape,TDF_Label,TopTools_ShapeMapHasher > &":
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_Assign(self, theOther)

    def Set(self, theOther: "XCAFDoc_DataMapOfShapeLabel") -> "NCollection_DataMap< TopoDS_Shape,TDF_Label,TopTools_ShapeMapHasher > &":
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_Set(self, theOther)

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

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

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

    def IsBound(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_IsBound(self, theKey)

    def UnBind(self, theKey: "TopoDS_Shape") -> "Standard_Boolean":
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_UnBind(self, theKey)

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

    def Find(self, *args) -> "Standard_Boolean":
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel_Find(self, *args)

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

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

    def __call__(self, *args) -> "TDF_Label &":
        return _XCAFDoc.XCAFDoc_DataMapOfShapeLabel___call__(self, *args)

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

    def Size(self) -> "Standard_Integer":
        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) -> "NCollection_Sequence< opencascade::handle< XCAFDoc_GraphNode > >::iterator":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_begin(self)

    def end(self) -> "NCollection_Sequence< opencascade::handle< XCAFDoc_GraphNode > >::iterator":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_end(self)

    def cbegin(self) -> "NCollection_Sequence< opencascade::handle< XCAFDoc_GraphNode > >::const_iterator":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_cbegin(self)

    def cend(self) -> "NCollection_Sequence< opencascade::handle< XCAFDoc_GraphNode > >::const_iterator":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_cend(self)

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

    def Size(self) -> "Standard_Integer":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Size(self)

    def Length(self) -> "Standard_Integer":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_IsEmpty(self)

    def Reverse(self) -> "void":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Reverse(self)

    def Exchange(self, I: "Standard_Integer const", J: "Standard_Integer const") -> "void":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode: "NCollection_SeqNode *", theAl: "TDF_HAllocator") -> "void":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_delNode(theNode, theAl)

    def Clear(self, theAllocator: "TDF_HAllocator"=0) -> "void":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Clear(self, theAllocator)

    def Assign(self, theOther: "XCAFDoc_GraphNodeSequence") -> "NCollection_Sequence< opencascade::handle< XCAFDoc_GraphNode > > &":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Assign(self, theOther)

    def Set(self, theOther: "XCAFDoc_GraphNodeSequence") -> "NCollection_Sequence< opencascade::handle< XCAFDoc_GraphNode > > &":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "XCAFDoc_GraphNodeSequence") -> "void":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Split(self, theIndex, theSeq)

    def First(self) -> "opencascade::handle< XCAFDoc_GraphNode > const &":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_First(self)

    def ChangeFirst(self) -> "opencascade::handle< XCAFDoc_GraphNode > &":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_ChangeFirst(self)

    def Last(self) -> "opencascade::handle< XCAFDoc_GraphNode > const &":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Last(self)

    def ChangeLast(self) -> "opencascade::handle< XCAFDoc_GraphNode > &":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "opencascade::handle< XCAFDoc_GraphNode > const &":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "opencascade::handle< XCAFDoc_GraphNode > &":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "opencascade::handle< XCAFDoc_GraphNode > &":
        return _XCAFDoc.XCAFDoc_GraphNodeSequence___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "opencascade::handle< XCAFDoc_GraphNode > const &") -> "void":
        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)

def XCAFDoc_GraphNodeSequence_delNode(theNode: "NCollection_SeqNode *", theAl: "TDF_HAllocator") -> "void":
    return _XCAFDoc.XCAFDoc_GraphNodeSequence_delNode(theNode, theAl)

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) -> "Standard_GUID const &":
        r"""
        Class for containing graphnodes. returns guid for uattribute identifying assembly.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_AssemblyGUID(*args)

    @staticmethod
    def ColorByLayerGUID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_ColorByLayerGUID(*args)

    @staticmethod
    def ColorRefGUID(*args) -> "Standard_GUID const &":
        r"""
        Return guids for treenode representing specified types of colors.

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

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_ColorRefGUID(*args)

    @staticmethod
    def DatumRefGUID(*args) -> "Standard_GUID const &":
        r"""
        Return guids for treenode representing specified types of datum.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_DatumRefGUID(*args)

    @staticmethod
    def DatumTolRefGUID(*args) -> "Standard_GUID const &":
        r"""
        Return guids for treenode representing connections datum-toler.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_DatumTolRefGUID(*args)

    @staticmethod
    def DimTolRefGUID(*args) -> "Standard_GUID const &":
        r"""
        Return guids for treenode representing specified types of dgt.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_DimTolRefGUID(*args)

    @staticmethod
    def DimensionRefFirstGUID(*args) -> "Standard_GUID const &":
        r"""
        Return guids for treenode representing specified types of dimension.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_DimensionRefFirstGUID(*args)

    @staticmethod
    def DimensionRefSecondGUID(*args) -> "Standard_GUID const &":
        r"""
        Return guids for treenode representing specified types of dimension.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_DimensionRefSecondGUID(*args)

    @staticmethod
    def ExternRefGUID(*args) -> "Standard_GUID const &":
        r"""
        Returns guid for uattribute identifying external reference on no-step file.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_ExternRefGUID(*args)

    @staticmethod
    def GeomToleranceRefGUID(*args) -> "Standard_GUID const &":
        r"""
        Return guids for treenode representing specified types of geomtolerance.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_GeomToleranceRefGUID(*args)

    @staticmethod
    def InvisibleGUID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_InvisibleGUID(*args)

    @staticmethod
    def LayerRefGUID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_LayerRefGUID(*args)

    @staticmethod
    def LockGUID(*args) -> "Standard_GUID const &":
        r"""
        Returns guid for uattribute identifying lock flag.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_LockGUID(*args)

    @staticmethod
    def MaterialRefGUID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_MaterialRefGUID(*args)

    @staticmethod
    def NoteRefGUID(*args) -> "Standard_GUID const &":
        r"""
        Return guids for representing notes.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_NoteRefGUID(*args)

    @staticmethod
    def SHUORefGUID(*args) -> "Standard_GUID const &":
        r"""
        Returns guid for uattribute identifying specified higher usage occurrence.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_SHUORefGUID(*args)

    @staticmethod
    def ShapeRefGUID(*args) -> "Standard_GUID const &":
        r"""
        Returns guid for treenode representing assembly link.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_ShapeRefGUID(*args)

    @staticmethod
    def ViewRefAnnotationGUID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_ViewRefAnnotationGUID(*args)

    @staticmethod
    def ViewRefGDTGUID(*args) -> "Standard_GUID const &":
        r"""
        Return guids for treenode representing specified types of view.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_ViewRefGDTGUID(*args)

    @staticmethod
    def ViewRefGUID(*args) -> "Standard_GUID const &":
        r"""
        Return guids for treenode representing specified types of view.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_ViewRefGUID(*args)

    @staticmethod
    def ViewRefNoteGUID(*args) -> "Standard_GUID const &":
        r"""
        Return guids for graphnode representing specified types of view.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_ViewRefNoteGUID(*args)

    @staticmethod
    def ViewRefPlaneGUID(*args) -> "Standard_GUID const &":
        r"""
        Return guids for treenode representing specified types of view.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_ViewRefPlaneGUID(*args)

    @staticmethod
    def ViewRefShapeGUID(*args) -> "Standard_GUID const &":
        r"""
        Return guids for treenode representing specified types of view.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.xcafdoc_ViewRefShapeGUID(*args)

    @staticmethod
    def VisMaterialRefGUID(*args) -> "Standard_GUID const &":
        r"""
        Return guid for treenode representing visualization material.

        Returns
        -------
        Standard_GUID

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

def xcafdoc_AssemblyGUID(*args) -> "Standard_GUID const &":
    r"""
    Class for containing graphnodes. returns guid for uattribute identifying assembly.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_AssemblyGUID(*args)

def xcafdoc_ColorByLayerGUID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_ColorByLayerGUID(*args)

def xcafdoc_ColorRefGUID(*args) -> "Standard_GUID const &":
    r"""
    Return guids for treenode representing specified types of colors.

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

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_ColorRefGUID(*args)

def xcafdoc_DatumRefGUID(*args) -> "Standard_GUID const &":
    r"""
    Return guids for treenode representing specified types of datum.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_DatumRefGUID(*args)

def xcafdoc_DatumTolRefGUID(*args) -> "Standard_GUID const &":
    r"""
    Return guids for treenode representing connections datum-toler.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_DatumTolRefGUID(*args)

def xcafdoc_DimTolRefGUID(*args) -> "Standard_GUID const &":
    r"""
    Return guids for treenode representing specified types of dgt.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_DimTolRefGUID(*args)

def xcafdoc_DimensionRefFirstGUID(*args) -> "Standard_GUID const &":
    r"""
    Return guids for treenode representing specified types of dimension.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_DimensionRefFirstGUID(*args)

def xcafdoc_DimensionRefSecondGUID(*args) -> "Standard_GUID const &":
    r"""
    Return guids for treenode representing specified types of dimension.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_DimensionRefSecondGUID(*args)

def xcafdoc_ExternRefGUID(*args) -> "Standard_GUID const &":
    r"""
    Returns guid for uattribute identifying external reference on no-step file.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_ExternRefGUID(*args)

def xcafdoc_GeomToleranceRefGUID(*args) -> "Standard_GUID const &":
    r"""
    Return guids for treenode representing specified types of geomtolerance.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_GeomToleranceRefGUID(*args)

def xcafdoc_InvisibleGUID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_InvisibleGUID(*args)

def xcafdoc_LayerRefGUID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_LayerRefGUID(*args)

def xcafdoc_LockGUID(*args) -> "Standard_GUID const &":
    r"""
    Returns guid for uattribute identifying lock flag.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_LockGUID(*args)

def xcafdoc_MaterialRefGUID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_MaterialRefGUID(*args)

def xcafdoc_NoteRefGUID(*args) -> "Standard_GUID const &":
    r"""
    Return guids for representing notes.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_NoteRefGUID(*args)

def xcafdoc_SHUORefGUID(*args) -> "Standard_GUID const &":
    r"""
    Returns guid for uattribute identifying specified higher usage occurrence.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_SHUORefGUID(*args)

def xcafdoc_ShapeRefGUID(*args) -> "Standard_GUID const &":
    r"""
    Returns guid for treenode representing assembly link.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_ShapeRefGUID(*args)

def xcafdoc_ViewRefAnnotationGUID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_ViewRefAnnotationGUID(*args)

def xcafdoc_ViewRefGDTGUID(*args) -> "Standard_GUID const &":
    r"""
    Return guids for treenode representing specified types of view.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_ViewRefGDTGUID(*args)

def xcafdoc_ViewRefGUID(*args) -> "Standard_GUID const &":
    r"""
    Return guids for treenode representing specified types of view.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_ViewRefGUID(*args)

def xcafdoc_ViewRefNoteGUID(*args) -> "Standard_GUID const &":
    r"""
    Return guids for graphnode representing specified types of view.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_ViewRefNoteGUID(*args)

def xcafdoc_ViewRefPlaneGUID(*args) -> "Standard_GUID const &":
    r"""
    Return guids for treenode representing specified types of view.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_ViewRefPlaneGUID(*args)

def xcafdoc_ViewRefShapeGUID(*args) -> "Standard_GUID const &":
    r"""
    Return guids for treenode representing specified types of view.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_ViewRefShapeGUID(*args)

def xcafdoc_VisMaterialRefGUID(*args) -> "Standard_GUID const &":
    r"""
    Return guid for treenode representing visualization material.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.xcafdoc_VisMaterialRefGUID(*args)

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"""
        Class methods =============.

        Returns
        -------
        None

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

    def DumpToString(self) -> "std::string":
        r"""DumpToString(XCAFDoc_Area self) -> std::string"""
        return _XCAFDoc.XCAFDoc_Area_DumpToString(self)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_Area self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_Area_DumpJsonToString(self, depth)

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

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

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

        Returns
        -------
        area: float

        """
        return _XCAFDoc.XCAFDoc_Area_Get(*args)

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_Area_GetID(*args)

    @staticmethod
    def Set(*args) -> "opencascade::handle< XCAFDoc_Area >":
        r"""
        Sets a value of volume.

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

        Returns
        -------
        None
        Find, or create, an area attribute and set its value.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_Area>

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

def XCAFDoc_Area_Get(*args) -> "Standard_Real &":
    r"""
    No available documentation.

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

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

    Returns
    -------
    area: float

    """
    return _XCAFDoc.XCAFDoc_Area_Get(*args)

def XCAFDoc_Area_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_Area_GetID(*args)

def XCAFDoc_Area_Set(*args) -> "opencascade::handle< XCAFDoc_Area >":
    r"""
    Sets a value of volume.

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

    Returns
    -------
    None
    Find, or create, an area attribute and set its value.

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

    Returns
    -------
    opencascade::handle<XCAFDoc_Area>

    """
    return _XCAFDoc.XCAFDoc_Area_Set(*args)

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"""
        Constructs an empty item id.

        Returns
        -------
        None
        Constructs an item id from a list of strings, where every string is a label entry. \param [in] thepath - list of label entries.

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

        Returns
        -------
        None
        Constructs an item id from a formatted path, where label entries are separated by '/' symbol. \param [in] thestring - formatted full path.

        Parameters
        ----------
        theString: TCollection_AsciiString

        Returns
        -------
        None

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_AssemblyItemId self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_AssemblyItemId_DumpJsonToString(self, depth)

    def GetPath(self, *args) -> "TColStd_ListOfAsciiString const &":
        r"""
        Returns the full path as a list of label entries.

        Returns
        -------
        TColStd_ListOfAsciiString

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

    def Init(self, *args) -> "void":
        r"""
        Initializes the item id from a list of strings, where every string is a label entry. \param [in] thepath - list of label entries.

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

        Returns
        -------
        None
        Initializes the item id from a formatted path, where label entries are separated by '/' symbol. \param [in] thestring - formatted full path.

        Parameters
        ----------
        theString: TCollection_AsciiString

        Returns
        -------
        None

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

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

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

        Returns
        -------
        bool

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

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

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

        Returns
        -------
        bool

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

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

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

        Returns
        -------
        bool

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

    def IsNull(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the full path is empty, otherwise - false.

        Returns
        -------
        bool

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

    def Nullify(self, *args) -> "void":
        r"""
        Clears the full path.

        Returns
        -------
        None

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

    def ToString(self, *args) -> "TCollection_AsciiString":
        r"""
        Returns the full pass as a formatted string.

        Returns
        -------
        TCollection_AsciiString

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

    __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"""
        Creates an empty reference attribute.

        Returns
        -------
        None

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

    def ClearExtraRef(self, *args) -> "void":
        r"""
        Reverts the reference to empty state.

        Returns
        -------
        None

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

    def DumpToString(self) -> "std::string":
        r"""DumpToString(XCAFDoc_AssemblyItemRef self) -> std::string"""
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_DumpToString(self)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_AssemblyItemRef self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_DumpJsonToString(self, depth)

    @staticmethod
    def Get(*args) -> "opencascade::handle< XCAFDoc_AssemblyItemRef >":
        r"""
        Finds a reference attribute on the given label and returns it, if it is found.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_Get(*args)

    def GetGUID(self, *args) -> "Standard_GUID":
        r"""
        Returns the assembly item's attribute that the reference points to. if the reference doesn't point to an attribute, returns an empty guid.

        Returns
        -------
        Standard_GUID

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_GetID(*args)

    def GetItem(self, *args) -> "XCAFDoc_AssemblyItemId const &":
        r"""
        Returns the assembly item id that the reference points to.

        Returns
        -------
        XCAFDoc_AssemblyItemId

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

    def GetSubshapeIndex(self, *args) -> "Standard_Integer":
        r"""
        Returns the assembly item's subshape that the reference points to. if the reference doesn't point to a subshape, returns 0.

        Returns
        -------
        int

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

    def HasExtraRef(self, *args) -> "Standard_Boolean":
        r"""
        Checks if the reference points on an item's shapeindex or attribute.

        Returns
        -------
        bool

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

    def IsGUID(self, *args) -> "Standard_Boolean":
        r"""
        Checks is the reference points to an item's attribute.

        Returns
        -------
        bool

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

    def IsOrphan(self, *args) -> "Standard_Boolean":
        r"""
        Checks if the reference points to a really existing item in xde document.

        Returns
        -------
        bool

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

    def IsSubshapeIndex(self, *args) -> "Standard_Boolean":
        r"""
        Checks is the reference points to an item's subshape.

        Returns
        -------
        bool

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

    @staticmethod
    def Set(*args) -> "opencascade::handle< XCAFDoc_AssemblyItemRef >":
        r"""
        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

        Returns
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>
        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
        theGUID: Standard_GUID

        Returns
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>
        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.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>

        """
        return _XCAFDoc.XCAFDoc_AssemblyItemRef_Set(*args)

    def SetGUID(self, *args) -> "void":
        r"""
        Sets the assembly item's label attribute that the reference points to. the base assembly item will not change.

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

        Returns
        -------
        None

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

    def SetItem(self, *args) -> "void":
        r"""
        Sets the assembly item id that the reference points to. extra reference data (if any) will be cleared.

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

        Returns
        -------
        None
        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
        ----------
        thePath: TColStd_ListOfAsciiString

        Returns
        -------
        None
        Sets the assembly item id from a formatted path that the reference points to. extra reference data (if any) will be cleared.

        Parameters
        ----------
        theString: TCollection_AsciiString

        Returns
        -------
        None

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

    def SetSubshapeIndex(self, *args) -> "void":
        r"""
        Sets the assembly item's subshape that the reference points to. the base assembly item will not change.

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

        Returns
        -------
        None

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

def XCAFDoc_AssemblyItemRef_Get(*args) -> "opencascade::handle< XCAFDoc_AssemblyItemRef >":
    r"""
    Finds a reference attribute on the given label and returns it, if it is found.

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

    Returns
    -------
    opencascade::handle<XCAFDoc_AssemblyItemRef>

    """
    return _XCAFDoc.XCAFDoc_AssemblyItemRef_Get(*args)

def XCAFDoc_AssemblyItemRef_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_AssemblyItemRef_GetID(*args)

def XCAFDoc_AssemblyItemRef_Set(*args) -> "opencascade::handle< XCAFDoc_AssemblyItemRef >":
    r"""
    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

    Returns
    -------
    opencascade::handle<XCAFDoc_AssemblyItemRef>
    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
    theGUID: Standard_GUID

    Returns
    -------
    opencascade::handle<XCAFDoc_AssemblyItemRef>
    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.

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

    Returns
    -------
    opencascade::handle<XCAFDoc_AssemblyItemRef>

    """
    return _XCAFDoc.XCAFDoc_AssemblyItemRef_Set(*args)

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"""
        Class methods =============.

        Returns
        -------
        None

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

    def DumpToString(self) -> "std::string":
        r"""DumpToString(XCAFDoc_Centroid self) -> std::string"""
        return _XCAFDoc.XCAFDoc_Centroid_DumpToString(self)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_Centroid self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_Centroid_DumpJsonToString(self, depth)

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

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

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

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_Centroid_Get(*args)

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_Centroid_GetID(*args)

    def Set(self, *args) -> "void":
        r"""
        Find, or create, a location attribute and set it's value the location attribute is returned. location methods ===============.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_Centroid>
        No available documentation.

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

        Returns
        -------
        None

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

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

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

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

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_Centroid_Get(*args)

def XCAFDoc_Centroid_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_Centroid_GetID(*args)

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

        Returns
        -------
        None

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

    def AddClippingPlane(self, *args) -> "TDF_Label":
        r"""
        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_ExtendedString
        theCapping: bool

        Returns
        -------
        TDF_Label
        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

        Returns
        -------
        TDF_Label
        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_ExtendedString

        Returns
        -------
        TDF_Label
        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

        Returns
        -------
        TDF_Label

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

    def BaseLabel(self, *args) -> "TDF_Label":
        r"""
        Returns the label under which clippingplanes are stored.

        Returns
        -------
        TDF_Label

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

    def GetCapping(self, *args) -> "Standard_Boolean":
        r"""
        Get capping value for given clipping plane label return capping value.

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

        Returns
        -------
        bool
        Get capping value for given clipping plane label return true if label is valid abd capping is exist.

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

        Returns
        -------
        theCapping: bool

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

    def GetClippingPlane(self, *args) -> "Standard_Boolean":
        r"""
        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
        theName: TCollection_ExtendedString

        Returns
        -------
        theCapping: bool
        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
        theName: TCollection_HAsciiString

        Returns
        -------
        theCapping: bool

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

    def GetClippingPlanes(self, *args) -> "void":
        r"""
        Returns a sequence of clipping planes currently stored in the clippingplane table.

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

        Returns
        -------
        None

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_ClippingPlaneTool_GetID(*args)

    def ID(self, *args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

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

    def IsClippingPlane(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if label belongs to a clippingplane table and is a clippingplane definition.

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

        Returns
        -------
        bool

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

    def RemoveClippingPlane(self, *args) -> "Standard_Boolean":
        r"""
        Removes clipping plane from the clippingplane table return false and do nothing if clipping plane is referenced in at least one view.

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

        Returns
        -------
        bool

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

    @staticmethod
    def Set(*args) -> "opencascade::handle< XCAFDoc_ClippingPlaneTool >":
        r"""
        Creates (if not exist) clippingplanetool.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_ClippingPlaneTool>

        """
        return _XCAFDoc.XCAFDoc_ClippingPlaneTool_Set(*args)

    def SetCapping(self, *args) -> "void":
        r"""
        Set new value of capping for given clipping plane label.

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

def XCAFDoc_ClippingPlaneTool_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_ClippingPlaneTool_GetID(*args)

def XCAFDoc_ClippingPlaneTool_Set(*args) -> "opencascade::handle< XCAFDoc_ClippingPlaneTool >":
    r"""
    Creates (if not exist) clippingplanetool.

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

    Returns
    -------
    opencascade::handle<XCAFDoc_ClippingPlaneTool>

    """
    return _XCAFDoc.XCAFDoc_ClippingPlaneTool_Set(*args)

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

        Returns
        -------
        None

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_Color self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_Color_DumpJsonToString(self, depth)

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

        Returns
        -------
        Standard_ShortReal

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

    def GetColor(self, *args) -> "Quantity_Color const &":
        r"""
        No available documentation.

        Returns
        -------
        Quantity_Color

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

    def GetColorRGBA(self, *args) -> "Quantity_ColorRGBA const &":
        r"""
        No available documentation.

        Returns
        -------
        Quantity_ColorRGBA

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_Color_GetID(*args)

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

        Returns
        -------
        Quantity_NameOfColor

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

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

        Parameters
        ----------

        Returns
        -------
        R: float
        G: float
        B: float

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

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

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

        Returns
        -------
        opencascade::handle<XCAFDoc_Color>
        No available documentation.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_Color>
        No available documentation.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_Color>
        Find, or create, a color attribute and set it's value the color attribute is returned.

        Parameters
        ----------
        label: TDF_Label
        R: float
        G: float
        B: float
        alpha: float,optional
        	default value is 1.0

        Returns
        -------
        opencascade::handle<XCAFDoc_Color>
        No available documentation.

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

        Returns
        -------
        None
        No available documentation.

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

        Returns
        -------
        None
        No available documentation.

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

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        R: float
        G: float
        B: float
        alpha: float,optional
        	default value is 1.0

        Returns
        -------
        None

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

def XCAFDoc_Color_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_Color_GetID(*args)

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

        Returns
        -------
        None

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

    def AddColor(self, *args) -> "TDF_Label":
        r"""
        Adds a color definition to a colortable and returns its label (returns existing label if the same color is already defined).

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

        Returns
        -------
        TDF_Label
        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

        Returns
        -------
        TDF_Label

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

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

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_ColorTool_AutoNaming(*args)

    def BaseLabel(self, *args) -> "TDF_Label":
        r"""
        Returns the label under which colors are stored.

        Returns
        -------
        TDF_Label

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_ColorTool self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_ColorTool_DumpJsonToString(self, depth)

    def FindColor(self, *args) -> "TDF_Label":
        r"""
        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
        lab: TDF_Label

        Returns
        -------
        bool
        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

        Returns
        -------
        bool
        Finds a color definition in a colortable and returns its label if found (or null label else).

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

        Returns
        -------
        TDF_Label
        Finds a color definition in a colortable and returns its label if found (or null label else).

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

        Returns
        -------
        TDF_Label

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

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

        Returns
        -------
        bool
        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

        Returns
        -------
        bool
        Returns label with color assigned to <l> as <type> returns false if no such color is assigned.

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

        Returns
        -------
        bool
        Returns color assigned to <l> as <type> returns false if no such color is assigned.

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

        Returns
        -------
        bool
        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

        Returns
        -------
        bool
        Returns label with color assigned to <l> as <type> returns false if no such color is assigned.

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

        Returns
        -------
        bool
        Returns color assigned to <l> as <type> returns false if no such color is assigned.

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

        Returns
        -------
        bool
        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

        Returns
        -------
        bool

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

    def GetColors(self, *args) -> "void":
        r"""
        Returns a sequence of colors currently stored in the colortable.

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

        Returns
        -------
        None

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_ColorTool_GetID(*args)

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

        Returns
        -------
        bool
        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

        Returns
        -------
        bool

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

    def ID(self, *args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

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

    def IsColor(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if label belongs to a colortable and is a color definition.

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

        Returns
        -------
        bool

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

    def IsColorByLayer(self, *args) -> "Standard_Boolean":
        r"""
        Return true if object color defined by its layer, false if not.

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

        Returns
        -------
        bool

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

    def IsInstanceVisible(self, *args) -> "Standard_Boolean":
        r"""
        Gets the visibility status of component that styled with shuo structure returns false if no sush component.

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

        Returns
        -------
        bool

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

    def IsSet(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if label <l> has a color assignment of the type <type>.

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

        Returns
        -------
        bool
        Returns true if label <l> has a color assignment of the type <type>.

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

        Returns
        -------
        bool

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

    def IsVisible(self, *args) -> "Standard_Boolean":
        r"""
        Return true if object on this label is visible, false if invisible.

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

        Returns
        -------
        bool

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

    def RemoveColor(self, *args) -> "void":
        r"""
        Removes color from the colortable.

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

        Returns
        -------
        None

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

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

        Returns
        -------
        bool

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

    @staticmethod
    def Set(*args) -> "opencascade::handle< XCAFDoc_ColorTool >":
        r"""
        Creates (if not exist) colortool.

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

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

        """
        return _XCAFDoc.XCAFDoc_ColorTool_Set(*args)

    @staticmethod
    def SetAutoNaming(*args) -> "void":
        r"""
        See also autonaming().

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

        Returns
        -------
        None

        """
        return _XCAFDoc.XCAFDoc_ColorTool_SetAutoNaming(*args)

    def SetColor(self, *args) -> "Standard_Boolean":
        r"""
        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
        colorL: TDF_Label
        type: XCAFDoc_ColorType

        Returns
        -------
        None
        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_Color
        type: XCAFDoc_ColorType

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

        Returns
        -------
        None
        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
        colorL: TDF_Label
        type: XCAFDoc_ColorType

        Returns
        -------
        bool
        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_Color
        type: XCAFDoc_ColorType

        Returns
        -------
        bool
        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

        Returns
        -------
        bool

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

    def SetColorByLayer(self, *args) -> "void":
        r"""
        Set the color defined by layer flag on label. do nothing if there no any object. set uattribute with corresponding guid.

        Parameters
        ----------
        shapeLabel: TDF_Label
        isColorByLayer: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

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

    def SetInstanceColor(self, *args) -> "Standard_Boolean":
        r"""
        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_Color
        isCreateSHUO: bool,optional
        	default value is Standard_True

        Returns
        -------
        bool
        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 value is Standard_True

        Returns
        -------
        bool

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

    def SetVisibility(self, *args) -> "void":
        r"""
        Set the visibility of object on label. do nothing if there no any object. set uattribute with corresponding guid.

        Parameters
        ----------
        shapeLabel: TDF_Label
        isvisible: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

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

    def ShapeTool(self, *args) -> "opencascade::handle< XCAFDoc_ShapeTool > const &":
        r"""
        Returns internal xcafdoc_shapetool tool.

        Returns
        -------
        opencascade::handle<XCAFDoc_ShapeTool>

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

    def UnSetColor(self, *args) -> "Standard_Boolean":
        r"""
        Removes a link with guid defined by <type> (see xcafdoc::colorrefguid()) from label <l> to color.

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

        Returns
        -------
        None
        Removes a link with guid defined by <type> (see xcafdoc::colorrefguid()) from label <l> to color returns true if such link existed.

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

        Returns
        -------
        bool

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

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

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_ColorTool_AutoNaming(*args)

def XCAFDoc_ColorTool_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_ColorTool_GetID(*args)

def XCAFDoc_ColorTool_Set(*args) -> "opencascade::handle< XCAFDoc_ColorTool >":
    r"""
    Creates (if not exist) colortool.

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

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

    """
    return _XCAFDoc.XCAFDoc_ColorTool_Set(*args)

def XCAFDoc_ColorTool_SetAutoNaming(*args) -> "void":
    r"""
    See also autonaming().

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

    Returns
    -------
    None

    """
    return _XCAFDoc.XCAFDoc_ColorTool_SetAutoNaming(*args)

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

        Returns
        -------
        None

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_Datum self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_Datum_DumpJsonToString(self, depth)

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

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

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_Datum_GetID(*args)

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

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

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

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

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

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

    def GetObject(self, *args) -> "opencascade::handle< XCAFDimTolObjects_DatumObject >":
        r"""
        Returns dimension object data taken from the paren's label and its sub-labels.

        Returns
        -------
        opencascade::handle<XCAFDimTolObjects_DatumObject>

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

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

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

        Returns
        -------
        opencascade::handle<XCAFDoc_Datum>
        No available documentation.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_Datum>
        No available documentation.

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

        Returns
        -------
        None

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

    def SetObject(self, *args) -> "void":
        r"""
        Updates parent's label and its sub-labels with data taken from thedatumobject. old data associated with the label will be lost.

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

        Returns
        -------
        None

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

def XCAFDoc_Datum_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_Datum_GetID(*args)

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

        Returns
        -------
        None

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_DimTol self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_DimTol_DumpJsonToString(self, depth)

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

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

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_DimTol_GetID(*args)

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

        Returns
        -------
        int

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

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

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

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

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

        Returns
        -------
        opencascade::handle<TColStd_HArray1OfReal>

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

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

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

        Returns
        -------
        opencascade::handle<XCAFDoc_DimTol>
        No available documentation.

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

        Returns
        -------
        None

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

def XCAFDoc_DimTol_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_DimTol_GetID(*args)

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

        Returns
        -------
        None

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

    def AddDatum(self, *args) -> "TDF_Label":
        r"""
        Adds a datum definition to the gd&t table and returns its label.

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

        Returns
        -------
        TDF_Label
        Adds a datum definition to the gd&t table and returns its label.

        Returns
        -------
        TDF_Label

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

    def AddDimTol(self, *args) -> "TDF_Label":
        r"""
        Adds a a dimension tolerance definition with the specified kind, value, name and description to the gd&t table and returns its label.

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

        Returns
        -------
        TDF_Label

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

    def AddDimension(self, *args) -> "TDF_Label":
        r"""
        Adds a dimension definition to the gd&t table and returns its label.

        Returns
        -------
        TDF_Label

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

    def AddGeomTolerance(self, *args) -> "TDF_Label":
        r"""
        Adds a geomtolerance definition to the gd&t table and returns its label.

        Returns
        -------
        TDF_Label

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

    def BaseLabel(self, *args) -> "TDF_Label":
        r"""
        Returns the label under which gd&t table is stored.

        Returns
        -------
        TDF_Label

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_DimTolTool self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_DimTolTool_DumpJsonToString(self, depth)

    def FindDatum(self, *args) -> "Standard_Boolean":
        r"""
        Finds a datum sutisfying the specified name, description and identification and returns its label if found.

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theIdentification: TCollection_HAsciiString
        lab: TDF_Label

        Returns
        -------
        bool

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

    def FindDimTol(self, *args) -> "TDF_Label":
        r"""
        Finds a dimension tolerance definition in the gd&t table sutisfying 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
        lab: TDF_Label

        Returns
        -------
        bool
        Finds a dimension tolerance in the gd&t table sutisfying the specified kind, values, name and description and returns its label if found (or null label else).

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

        Returns
        -------
        TDF_Label

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

    def GetDatum(self, *args) -> "Standard_Boolean":
        r"""
        Returns datum assigned to thedatuml label. returns false if no such datum is assigned.

        Parameters
        ----------
        theDatumL: TDF_Label
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theIdentification: TCollection_HAsciiString

        Returns
        -------
        bool

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

    def GetDatumLabels(self, *args) -> "void":
        r"""
        Returns a sequence of datums currently stored in the gd&t table.

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

        Returns
        -------
        None

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

    def GetDatumOfTolerLabels(self, *args) -> "Standard_Boolean":
        r"""
        Returns all datum labels defined for thedimtoll label.

        Parameters
        ----------
        theDimTolL: TDF_Label
        theDatums: TDF_LabelSequence

        Returns
        -------
        bool

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

    def GetDatumWithObjectOfTolerLabels(self, *args) -> "Standard_Boolean":
        r"""
        Returns all datum labels with xcafdimtolobjects_datumobject defined for label thedimtoll.

        Parameters
        ----------
        theDimTolL: TDF_Label
        theDatums: TDF_LabelSequence

        Returns
        -------
        bool

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

    def GetDimTol(self, *args) -> "Standard_Boolean":
        r"""
        Returns dimension tolerance assigned to thedimtoll label. returns false if no such dimension tolerance is assigned.

        Parameters
        ----------
        theDimTolL: TDF_Label
        theVal: TColStd_HArray1OfReal
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString

        Returns
        -------
        theKind: int

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

    def GetDimTolLabels(self, *args) -> "void":
        r"""
        Returns a sequence of d&gts currently stored in the gd&t table.

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

        Returns
        -------
        None

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

    def GetDimensionLabels(self, *args) -> "void":
        r"""
        Returns a sequence of dimension labels currently stored in the gd&t table.

        Parameters
        ----------
        theLabels: TDF_LabelSequence

        Returns
        -------
        None

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

    def GetGDTPresentations(self, *args) -> "void":
        r"""
        Fill the map gdt label -> shape presentation .

        Parameters
        ----------
        theGDTLabelToShape: NCollection_IndexedDataMap<TDF_Label, TopoDS_Shape, TDF_LabelMapHasher>

        Returns
        -------
        None

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

    def GetGeomToleranceLabels(self, *args) -> "void":
        r"""
        Returns a sequence of tolerance labels currently stored in the gd&t table.

        Parameters
        ----------
        theLabels: TDF_LabelSequence

        Returns
        -------
        None

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        Returns the standard gd&t tool guid.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_GetID(*args)

    def GetRefDatumLabel(self, *args) -> "Standard_Boolean":
        r"""
        Returns datum label defined for theshapel label.

        Parameters
        ----------
        theShapeL: TDF_Label
        theDatum: TDF_LabelSequence

        Returns
        -------
        bool

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

    def GetRefDimensionLabels(self, *args) -> "Standard_Boolean":
        r"""
        Returns all dimension labels defined for theshapel.

        Parameters
        ----------
        theShapeL: TDF_Label
        theDimensions: TDF_LabelSequence

        Returns
        -------
        bool

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

    def GetRefGeomToleranceLabels(self, *args) -> "Standard_Boolean":
        r"""
        Returns all geomtolerance labels defined for theshapel.

        Parameters
        ----------
        theShapeL: TDF_Label
        theDimTols: TDF_LabelSequence

        Returns
        -------
        bool

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

    def GetRefShapeLabel(self, *args) -> "Standard_Boolean":
        r"""
        Gets all shape labels reffered by thel label of the gd&t table. returns false if there are no shape labels added to the sequences.

        Parameters
        ----------
        theL: TDF_Label
        theShapeLFirst: TDF_LabelSequence
        theShapeLSecond: TDF_LabelSequence

        Returns
        -------
        bool

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

    def GetTolerOfDatumLabels(self, *args) -> "Standard_Boolean":
        r"""
        Returns all geomtoleranses labels defined for thedatuml label.

        Parameters
        ----------
        theDatumL: TDF_Label
        theTols: TDF_LabelSequence

        Returns
        -------
        bool

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

    def ID(self, *args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

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

    def IsDatum(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if label belongs to the gd&t table and is a datum definition.

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

        Returns
        -------
        bool

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

    def IsDimTol(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if thelab belongs to the gd&t table and is a dmension tolerance.

        Parameters
        ----------
        theLab: TDF_Label

        Returns
        -------
        bool

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

    def IsDimension(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the label belongs to a gd&t table and is a dimension definition.

        Parameters
        ----------
        theLab: TDF_Label

        Returns
        -------
        bool

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

    def IsGeomTolerance(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the label belongs to the gd&t table and is a dimension tolerance.

        Parameters
        ----------
        theLab: TDF_Label

        Returns
        -------
        bool

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

    def IsLocked(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the given gdt is marked as locked.

        Parameters
        ----------
        theViewL: TDF_Label

        Returns
        -------
        bool

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

    def Lock(self, *args) -> "void":
        r"""
        Mark the given gdt as locked.

        Parameters
        ----------
        theViewL: TDF_Label

        Returns
        -------
        None

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

    @staticmethod
    def Set(*args) -> "opencascade::handle< XCAFDoc_DimTolTool >":
        r"""
        Creates (if not exist) dimtoltool attribute.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_DimTolTool>

        """
        return _XCAFDoc.XCAFDoc_DimTolTool_Set(*args)

    def SetDatum(self, *args) -> "void":
        r"""
        Sets a datum to the sequence of shape labels.

        Parameters
        ----------
        theShapeLabels: TDF_LabelSequence
        theDatumL: TDF_Label

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

        Parameters
        ----------
        theL: TDF_Label
        theTolerL: TDF_Label
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theIdentification: TCollection_HAsciiString

        Returns
        -------
        None

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

    def SetDatumToGeomTol(self, *args) -> "void":
        r"""
        Sets a datum from thedatuml label to thetoletl label.

        Parameters
        ----------
        theDatumL: TDF_Label
        theTolerL: TDF_Label

        Returns
        -------
        None

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

    def SetDimTol(self, *args) -> "TDF_Label":
        r"""
        Sets existing dimension tolerance to thel label.

        Parameters
        ----------
        theL: TDF_Label
        theDimTolL: TDF_Label

        Returns
        -------
        None
        Creates a dimension tolerance and sets it to thel label.

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

        Returns
        -------
        TDF_Label

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

    def SetDimension(self, *args) -> "void":
        r"""
        Sets a dimension to sequences target labels.

        Parameters
        ----------
        theFirstLS: TDF_LabelSequence
        theSecondLS: TDF_LabelSequence
        theDimL: TDF_Label

        Returns
        -------
        None
        Sets a dimension to target labels.

        Parameters
        ----------
        theFirstL: TDF_Label
        theSecondL: TDF_Label
        theDimL: TDF_Label

        Returns
        -------
        None
        Sets a dimension to the target label.

        Parameters
        ----------
        theL: TDF_Label
        theDimL: TDF_Label

        Returns
        -------
        None

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

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

        Parameters
        ----------
        theGDTLabelToPrs: NCollection_IndexedDataMap<TDF_Label, TopoDS_Shape, TDF_LabelMapHasher>

        Returns
        -------
        None

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

    def SetGeomTolerance(self, *args) -> "void":
        r"""
        Sets a geometry tolerance from thegeomtoll to thel label. checks if thegeomtoll is a geometry tolerance definition first.

        Parameters
        ----------
        theL: TDF_Label
        theGeomTolL: TDF_Label

        Returns
        -------
        None
        Sets a geometry tolerance from thegeomtoll to sequence of labels thel. checks if thegeomtoll is a geometry tolerance definition first.

        Parameters
        ----------
        theL: TDF_LabelSequence
        theGeomTolL: TDF_Label

        Returns
        -------
        None

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

    def ShapeTool(self, *args) -> "opencascade::handle< XCAFDoc_ShapeTool > const &":
        r"""
        Returns internal xcafdoc_shapetool tool.

        Returns
        -------
        opencascade::handle<XCAFDoc_ShapeTool>

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

    def Unlock(self, *args) -> "void":
        r"""
        Unlock the given gdt.

        Parameters
        ----------
        theViewL: TDF_Label

        Returns
        -------
        None

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

def XCAFDoc_DimTolTool_GetID(*args) -> "Standard_GUID const &":
    r"""
    Returns the standard gd&t tool guid.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_DimTolTool_GetID(*args)

def XCAFDoc_DimTolTool_Set(*args) -> "opencascade::handle< XCAFDoc_DimTolTool >":
    r"""
    Creates (if not exist) dimtoltool attribute.

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

    Returns
    -------
    opencascade::handle<XCAFDoc_DimTolTool>

    """
    return _XCAFDoc.XCAFDoc_DimTolTool_Set(*args)

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

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_Dimension_swiginit(self, _XCAFDoc.new_XCAFDoc_Dimension(*args))

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_Dimension_GetID(*args)

    def GetObject(self, *args) -> "opencascade::handle< XCAFDimTolObjects_DimensionObject >":
        r"""
        Returns dimension object data taken from the parent's label and its sub-labels.

        Returns
        -------
        opencascade::handle<XCAFDimTolObjects_DimensionObject>

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

    def ID(self, *args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

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

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

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

        Returns
        -------
        opencascade::handle<XCAFDoc_Dimension>

        """
        return _XCAFDoc.XCAFDoc_Dimension_Set(*args)

    def SetObject(self, *args) -> "void":
        r"""
        Updates parent's label and its sub-labels with data taken from thedimensionobject. old data associated with the label will be lost.

        Parameters
        ----------
        theDimensionObject: XCAFDimTolObjects_DimensionObject

        Returns
        -------
        None

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

def XCAFDoc_Dimension_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_Dimension_GetID(*args)

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

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

    Returns
    -------
    opencascade::handle<XCAFDoc_Dimension>

    """
    return _XCAFDoc.XCAFDoc_Dimension_Set(*args)

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

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_DocumentTool_swiginit(self, _XCAFDoc.new_XCAFDoc_DocumentTool(*args))

    def AfterRetrieval(self, *args) -> "Standard_Boolean":
        r"""
        To init this derived attribute after the attribute restore using the base restore-methods.

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

        Returns
        -------
        bool

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

    @staticmethod
    def ClippingPlaneTool(*args) -> "opencascade::handle< XCAFDoc_ClippingPlaneTool >":
        r"""
        Creates (if it does not exist) clippingplanetool attribute on clippingplaneslabel().

        Parameters
        ----------
        acces: TDF_Label

        Returns
        -------
        opencascade::handle<XCAFDoc_ClippingPlaneTool>

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_ClippingPlaneTool(*args)

    @staticmethod
    def ClippingPlanesLabel(*args) -> "TDF_Label":
        r"""
        Returns sub-label of doclabel() with tag 8.

        Parameters
        ----------
        acces: TDF_Label

        Returns
        -------
        TDF_Label

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_ClippingPlanesLabel(*args)

    @staticmethod
    def ColorTool(*args) -> "opencascade::handle< XCAFDoc_ColorTool >":
        r"""
        Creates (if it does not exist) colortool attribute on colorslabel().

        Parameters
        ----------
        acces: TDF_Label

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

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_ColorTool(*args)

    @staticmethod
    def ColorsLabel(*args) -> "TDF_Label":
        r"""
        Returns sub-label of doclabel() with tag 2.

        Parameters
        ----------
        acces: TDF_Label

        Returns
        -------
        TDF_Label

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_ColorsLabel(*args)

    @staticmethod
    def DGTsLabel(*args) -> "TDF_Label":
        r"""
        Returns sub-label of doclabel() with tag 4.

        Parameters
        ----------
        acces: TDF_Label

        Returns
        -------
        TDF_Label

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_DGTsLabel(*args)

    @staticmethod
    def DimTolTool(*args) -> "opencascade::handle< XCAFDoc_DimTolTool >":
        r"""
        Creates (if it does not exist) dimtoltool attribute on dgtslabel().

        Parameters
        ----------
        acces: TDF_Label

        Returns
        -------
        opencascade::handle<XCAFDoc_DimTolTool>

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_DimTolTool(*args)

    @staticmethod
    def DocLabel(*args) -> "TDF_Label":
        r"""
        Returns label where the documenttool attribute is or 0.1 if documenttool is not yet set.

        Parameters
        ----------
        acces: TDF_Label

        Returns
        -------
        TDF_Label

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_DocLabel(*args)

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_GetID(*args)

    def ID(self, *args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

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

    def Init(self, *args) -> "void":
        r"""
        To be called when reading this attribute from file.

        Returns
        -------
        None

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

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

        Parameters
        ----------
        Doc: TDocStd_Document

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_IsXCAFDocument(*args)

    @staticmethod
    def LayerTool(*args) -> "opencascade::handle< XCAFDoc_LayerTool >":
        r"""
        Creates (if it does not exist) layertool attribute on layerslabel().

        Parameters
        ----------
        acces: TDF_Label

        Returns
        -------
        opencascade::handle<XCAFDoc_LayerTool>

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_LayerTool(*args)

    @staticmethod
    def LayersLabel(*args) -> "TDF_Label":
        r"""
        Returns sub-label of doclabel() with tag 3.

        Parameters
        ----------
        acces: TDF_Label

        Returns
        -------
        TDF_Label

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_LayersLabel(*args)

    @staticmethod
    def MaterialTool(*args) -> "opencascade::handle< XCAFDoc_MaterialTool >":
        r"""
        Creates (if it does not exist) dimtoltool attribute on dgtslabel().

        Parameters
        ----------
        acces: TDF_Label

        Returns
        -------
        opencascade::handle<XCAFDoc_MaterialTool>

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_MaterialTool(*args)

    @staticmethod
    def MaterialsLabel(*args) -> "TDF_Label":
        r"""
        Returns sub-label of doclabel() with tag 5.

        Parameters
        ----------
        acces: TDF_Label

        Returns
        -------
        TDF_Label

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_MaterialsLabel(*args)

    @staticmethod
    def NotesLabel(*args) -> "TDF_Label":
        r"""
        Returns sub-label of doclabel() with tag 9.

        Parameters
        ----------
        acces: TDF_Label

        Returns
        -------
        TDF_Label

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_NotesLabel(*args)

    @staticmethod
    def NotesTool(*args) -> "opencascade::handle< XCAFDoc_NotesTool >":
        r"""
        Creates (if it does not exist) notestool attribute on noteslabel().

        Parameters
        ----------
        acces: TDF_Label

        Returns
        -------
        opencascade::handle<XCAFDoc_NotesTool>

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_NotesTool(*args)

    @staticmethod
    def Set(*args) -> "opencascade::handle< XCAFDoc_DocumentTool >":
        r"""
        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.

        Parameters
        ----------
        L: TDF_Label
        IsAcces: bool,optional
        	default value is Standard_True

        Returns
        -------
        opencascade::handle<XCAFDoc_DocumentTool>

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_Set(*args)

    @staticmethod
    def ShapeTool(*args) -> "opencascade::handle< XCAFDoc_ShapeTool >":
        r"""
        Creates (if it does not exist) shapetool attribute on shapeslabel().

        Parameters
        ----------
        acces: TDF_Label

        Returns
        -------
        opencascade::handle<XCAFDoc_ShapeTool>

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_ShapeTool(*args)

    @staticmethod
    def ShapesLabel(*args) -> "TDF_Label":
        r"""
        Returns sub-label of doclabel() with tag 1.

        Parameters
        ----------
        acces: TDF_Label

        Returns
        -------
        TDF_Label

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_ShapesLabel(*args)

    @staticmethod
    def ViewTool(*args) -> "opencascade::handle< XCAFDoc_ViewTool >":
        r"""
        Creates (if it does not exist) viewtool attribute on viewslabel().

        Parameters
        ----------
        acces: TDF_Label

        Returns
        -------
        opencascade::handle<XCAFDoc_ViewTool>

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_ViewTool(*args)

    @staticmethod
    def ViewsLabel(*args) -> "TDF_Label":
        r"""
        Returns sub-label of doclabel() with tag 7.

        Parameters
        ----------
        acces: TDF_Label

        Returns
        -------
        TDF_Label

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_ViewsLabel(*args)

    @staticmethod
    def VisMaterialLabel(*args) -> "TDF_Label":
        r"""
        Returns sub-label of doclabel() with tag 10.

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

        Returns
        -------
        TDF_Label

        """
        return _XCAFDoc.XCAFDoc_DocumentTool_VisMaterialLabel(*args)

    @staticmethod
    def VisMaterialTool(*args) -> "opencascade::handle< XCAFDoc_VisMaterialTool >":
        r"""
        Creates (if it does not exist) xcafdoc_vismaterialtool attribute on vismateriallabel(). should not be confused with materialtool() defining physical/manufacturing materials.

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

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

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

def XCAFDoc_DocumentTool_ClippingPlaneTool(*args) -> "opencascade::handle< XCAFDoc_ClippingPlaneTool >":
    r"""
    Creates (if it does not exist) clippingplanetool attribute on clippingplaneslabel().

    Parameters
    ----------
    acces: TDF_Label

    Returns
    -------
    opencascade::handle<XCAFDoc_ClippingPlaneTool>

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_ClippingPlaneTool(*args)

def XCAFDoc_DocumentTool_ClippingPlanesLabel(*args) -> "TDF_Label":
    r"""
    Returns sub-label of doclabel() with tag 8.

    Parameters
    ----------
    acces: TDF_Label

    Returns
    -------
    TDF_Label

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_ClippingPlanesLabel(*args)

def XCAFDoc_DocumentTool_ColorTool(*args) -> "opencascade::handle< XCAFDoc_ColorTool >":
    r"""
    Creates (if it does not exist) colortool attribute on colorslabel().

    Parameters
    ----------
    acces: TDF_Label

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

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_ColorTool(*args)

def XCAFDoc_DocumentTool_ColorsLabel(*args) -> "TDF_Label":
    r"""
    Returns sub-label of doclabel() with tag 2.

    Parameters
    ----------
    acces: TDF_Label

    Returns
    -------
    TDF_Label

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_ColorsLabel(*args)

def XCAFDoc_DocumentTool_DGTsLabel(*args) -> "TDF_Label":
    r"""
    Returns sub-label of doclabel() with tag 4.

    Parameters
    ----------
    acces: TDF_Label

    Returns
    -------
    TDF_Label

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_DGTsLabel(*args)

def XCAFDoc_DocumentTool_DimTolTool(*args) -> "opencascade::handle< XCAFDoc_DimTolTool >":
    r"""
    Creates (if it does not exist) dimtoltool attribute on dgtslabel().

    Parameters
    ----------
    acces: TDF_Label

    Returns
    -------
    opencascade::handle<XCAFDoc_DimTolTool>

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_DimTolTool(*args)

def XCAFDoc_DocumentTool_DocLabel(*args) -> "TDF_Label":
    r"""
    Returns label where the documenttool attribute is or 0.1 if documenttool is not yet set.

    Parameters
    ----------
    acces: TDF_Label

    Returns
    -------
    TDF_Label

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_DocLabel(*args)

def XCAFDoc_DocumentTool_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_GetID(*args)

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

    Parameters
    ----------
    Doc: TDocStd_Document

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_IsXCAFDocument(*args)

def XCAFDoc_DocumentTool_LayerTool(*args) -> "opencascade::handle< XCAFDoc_LayerTool >":
    r"""
    Creates (if it does not exist) layertool attribute on layerslabel().

    Parameters
    ----------
    acces: TDF_Label

    Returns
    -------
    opencascade::handle<XCAFDoc_LayerTool>

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_LayerTool(*args)

def XCAFDoc_DocumentTool_LayersLabel(*args) -> "TDF_Label":
    r"""
    Returns sub-label of doclabel() with tag 3.

    Parameters
    ----------
    acces: TDF_Label

    Returns
    -------
    TDF_Label

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_LayersLabel(*args)

def XCAFDoc_DocumentTool_MaterialTool(*args) -> "opencascade::handle< XCAFDoc_MaterialTool >":
    r"""
    Creates (if it does not exist) dimtoltool attribute on dgtslabel().

    Parameters
    ----------
    acces: TDF_Label

    Returns
    -------
    opencascade::handle<XCAFDoc_MaterialTool>

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_MaterialTool(*args)

def XCAFDoc_DocumentTool_MaterialsLabel(*args) -> "TDF_Label":
    r"""
    Returns sub-label of doclabel() with tag 5.

    Parameters
    ----------
    acces: TDF_Label

    Returns
    -------
    TDF_Label

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_MaterialsLabel(*args)

def XCAFDoc_DocumentTool_NotesLabel(*args) -> "TDF_Label":
    r"""
    Returns sub-label of doclabel() with tag 9.

    Parameters
    ----------
    acces: TDF_Label

    Returns
    -------
    TDF_Label

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_NotesLabel(*args)

def XCAFDoc_DocumentTool_NotesTool(*args) -> "opencascade::handle< XCAFDoc_NotesTool >":
    r"""
    Creates (if it does not exist) notestool attribute on noteslabel().

    Parameters
    ----------
    acces: TDF_Label

    Returns
    -------
    opencascade::handle<XCAFDoc_NotesTool>

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_NotesTool(*args)

def XCAFDoc_DocumentTool_Set(*args) -> "opencascade::handle< XCAFDoc_DocumentTool >":
    r"""
    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.

    Parameters
    ----------
    L: TDF_Label
    IsAcces: bool,optional
    	default value is Standard_True

    Returns
    -------
    opencascade::handle<XCAFDoc_DocumentTool>

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_Set(*args)

def XCAFDoc_DocumentTool_ShapeTool(*args) -> "opencascade::handle< XCAFDoc_ShapeTool >":
    r"""
    Creates (if it does not exist) shapetool attribute on shapeslabel().

    Parameters
    ----------
    acces: TDF_Label

    Returns
    -------
    opencascade::handle<XCAFDoc_ShapeTool>

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_ShapeTool(*args)

def XCAFDoc_DocumentTool_ShapesLabel(*args) -> "TDF_Label":
    r"""
    Returns sub-label of doclabel() with tag 1.

    Parameters
    ----------
    acces: TDF_Label

    Returns
    -------
    TDF_Label

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_ShapesLabel(*args)

def XCAFDoc_DocumentTool_ViewTool(*args) -> "opencascade::handle< XCAFDoc_ViewTool >":
    r"""
    Creates (if it does not exist) viewtool attribute on viewslabel().

    Parameters
    ----------
    acces: TDF_Label

    Returns
    -------
    opencascade::handle<XCAFDoc_ViewTool>

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_ViewTool(*args)

def XCAFDoc_DocumentTool_ViewsLabel(*args) -> "TDF_Label":
    r"""
    Returns sub-label of doclabel() with tag 7.

    Parameters
    ----------
    acces: TDF_Label

    Returns
    -------
    TDF_Label

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_ViewsLabel(*args)

def XCAFDoc_DocumentTool_VisMaterialLabel(*args) -> "TDF_Label":
    r"""
    Returns sub-label of doclabel() with tag 10.

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

    Returns
    -------
    TDF_Label

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_VisMaterialLabel(*args)

def XCAFDoc_DocumentTool_VisMaterialTool(*args) -> "opencascade::handle< XCAFDoc_VisMaterialTool >":
    r"""
    Creates (if it does not exist) xcafdoc_vismaterialtool attribute on vismateriallabel(). should not be confused with materialtool() defining physical/manufacturing materials.

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

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

    """
    return _XCAFDoc.XCAFDoc_DocumentTool_VisMaterialTool(*args)

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 Expand(*args) -> "Standard_Boolean":
        r"""
        Convert shape (compound/compsolid/shell/wire) to assembly. only compounds expanded recursively.

        Parameters
        ----------
        Doc: TDF_Label
        Shape: TDF_Label
        recursively: bool,optional
        	default value is Standard_True

        Returns
        -------
        bool
        Convert all compounds in doc to assembly.

        Parameters
        ----------
        Doc: TDF_Label
        recursively: bool,optional
        	default value is Standard_True

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_Editor_Expand(*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)

def XCAFDoc_Editor_Expand(*args) -> "Standard_Boolean":
    r"""
    Convert shape (compound/compsolid/shell/wire) to assembly. only compounds expanded recursively.

    Parameters
    ----------
    Doc: TDF_Label
    Shape: TDF_Label
    recursively: bool,optional
    	default value is Standard_True

    Returns
    -------
    bool
    Convert all compounds in doc to assembly.

    Parameters
    ----------
    Doc: TDF_Label
    recursively: bool,optional
    	default value is Standard_True

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_Editor_Expand(*args)

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

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_GraphNode_swiginit(self, _XCAFDoc.new_XCAFDoc_GraphNode(*args))

    def ChildIndex(self, *args) -> "Standard_Integer":
        r"""
        Return index of <ch>, or zero if there is no such graphnode.

        Parameters
        ----------
        Ch: XCAFDoc_GraphNode

        Returns
        -------
        int

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

    def DumpToString(self) -> "std::string":
        r"""DumpToString(XCAFDoc_GraphNode self) -> std::string"""
        return _XCAFDoc.XCAFDoc_GraphNode_DumpToString(self)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_GraphNode self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_GraphNode_DumpJsonToString(self, depth)

    def FatherIndex(self, *args) -> "Standard_Integer":
        r"""
        Return index of <f>, or zero if there is no such graphnode.

        Parameters
        ----------
        F: XCAFDoc_GraphNode

        Returns
        -------
        int

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

    @staticmethod
    def Find(*args) -> "Standard_Boolean":
        r"""
        Class methods working on the node =================================== shortcut to search a graph node attribute with default graphid. returns true if found.

        Parameters
        ----------
        L: TDF_Label
        G: XCAFDoc_GraphNode

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_GraphNode_Find(*args)

    def GetChild(self, *args) -> "opencascade::handle< XCAFDoc_GraphNode >":
        r"""
        Return graphnode by index from graphnodesequence.

        Parameters
        ----------
        Chindex: int

        Returns
        -------
        opencascade::handle<XCAFDoc_GraphNode>

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

    @staticmethod
    def GetDefaultGraphID(*args) -> "Standard_GUID const &":
        r"""
        Returns a default graph id. this id is used by the <set> method without explicit tree id. instance methods: ================.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_GraphNode_GetDefaultGraphID(*args)

    def GetFather(self, *args) -> "opencascade::handle< XCAFDoc_GraphNode >":
        r"""
        Return graphnode by index from graphnodesequence.

        Parameters
        ----------
        Findex: int

        Returns
        -------
        opencascade::handle<XCAFDoc_GraphNode>

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

    def IsChild(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if <self> is child of <f>.

        Parameters
        ----------
        F: XCAFDoc_GraphNode

        Returns
        -------
        bool

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

    def IsFather(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if <self> is father of <ch>.

        Parameters
        ----------
        Ch: XCAFDoc_GraphNode

        Returns
        -------
        bool

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

    def NbChildren(self, *args) -> "Standard_Integer":
        r"""
        Return number of childrens graphnodes. implementation of attribute methods: ===================================.

        Returns
        -------
        int

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

    def NbFathers(self, *args) -> "Standard_Integer":
        r"""
        Return number of fathers graphnodes.

        Returns
        -------
        int

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

    @staticmethod
    def Set(*args) -> "opencascade::handle< XCAFDoc_GraphNode >":
        r"""
        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

        Returns
        -------
        opencascade::handle<XCAFDoc_GraphNode>
        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.

        Parameters
        ----------
        L: TDF_Label
        ExplicitGraphID: Standard_GUID

        Returns
        -------
        opencascade::handle<XCAFDoc_GraphNode>

        """
        return _XCAFDoc.XCAFDoc_GraphNode_Set(*args)

    def SetChild(self, *args) -> "Standard_Integer":
        r"""
        Set graphnode <ch> as child of me and returns index of <ch> in sequence that containing children graphnodes. return index of <ch> from graphnodesequnece.

        Parameters
        ----------
        Ch: XCAFDoc_GraphNode

        Returns
        -------
        int

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

    def SetFather(self, *args) -> "Standard_Integer":
        r"""
        Set graphnode <f> as father of me and returns index of <f> in sequence that containing fathers graphnodes. return index of <f> from graphnodesequnece.

        Parameters
        ----------
        F: XCAFDoc_GraphNode

        Returns
        -------
        int

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

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

        Parameters
        ----------
        explicitID: Standard_GUID

        Returns
        -------
        None

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

    def UnSetChild(self, *args) -> "void":
        r"""
        Remove <ch> from graphnodesequence. and remove link between father and child.

        Parameters
        ----------
        Ch: XCAFDoc_GraphNode

        Returns
        -------
        None
        Remove child graphnode by index from children graphnodesequence. and remove link between father and child.

        Parameters
        ----------
        Chindex: int

        Returns
        -------
        None

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

    def UnSetFather(self, *args) -> "void":
        r"""
        Remove <f> from fathers graphnodesequence. and remove link between father and child.

        Parameters
        ----------
        F: XCAFDoc_GraphNode

        Returns
        -------
        None
        Remove father graphnode by index from fathers graphnodesequence. and remove link between father and child.

        Parameters
        ----------
        Findex: int

        Returns
        -------
        None

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

def XCAFDoc_GraphNode_Find(*args) -> "Standard_Boolean":
    r"""
    Class methods working on the node =================================== shortcut to search a graph node attribute with default graphid. returns true if found.

    Parameters
    ----------
    L: TDF_Label
    G: XCAFDoc_GraphNode

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_GraphNode_Find(*args)

def XCAFDoc_GraphNode_GetDefaultGraphID(*args) -> "Standard_GUID const &":
    r"""
    Returns a default graph id. this id is used by the <set> method without explicit tree id. instance methods: ================.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_GraphNode_GetDefaultGraphID(*args)

def XCAFDoc_GraphNode_Set(*args) -> "opencascade::handle< XCAFDoc_GraphNode >":
    r"""
    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

    Returns
    -------
    opencascade::handle<XCAFDoc_GraphNode>
    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.

    Parameters
    ----------
    L: TDF_Label
    ExplicitGraphID: Standard_GUID

    Returns
    -------
    opencascade::handle<XCAFDoc_GraphNode>

    """
    return _XCAFDoc.XCAFDoc_GraphNode_Set(*args)

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

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_LayerTool_swiginit(self, _XCAFDoc.new_XCAFDoc_LayerTool(*args))

    def AddLayer(self, *args) -> "TDF_Label":
        r"""
        Adds a layer definition to a layertable and returns its label (returns existing label if the same layer is already defined).

        Parameters
        ----------
        aLayer: TCollection_ExtendedString

        Returns
        -------
        TDF_Label

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

    def BaseLabel(self, *args) -> "TDF_Label":
        r"""
        Returns the label under which layers are stored.

        Returns
        -------
        TDF_Label

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_LayerTool self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_LayerTool_DumpJsonToString(self, depth)

    def FindLayer(self, *args) -> "TDF_Label":
        r"""
        Finds a layer definition in a layertable and returns its label if found returns false if layer is not found in layertable.

        Parameters
        ----------
        aLayer: TCollection_ExtendedString
        lab: TDF_Label

        Returns
        -------
        bool
        Finds a layer definition in a layertable and returns its label if found (or null label else).

        Parameters
        ----------
        aLayer: TCollection_ExtendedString

        Returns
        -------
        TDF_Label

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_LayerTool_GetID(*args)

    def GetLayer(self, *args) -> "Standard_Boolean":
        r"""
        Returns layer defined by label lab returns false if the label is not in layertable or does not define a layer.

        Parameters
        ----------
        lab: TDF_Label
        aLayer: TCollection_ExtendedString

        Returns
        -------
        bool

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

    def GetLayerLabels(self, *args) -> "void":
        r"""
        Returns a sequence of layers currently stored in the layertable.

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

        Returns
        -------
        None

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

    def GetLayers(self, *args) -> "opencascade::handle< TColStd_HSequenceOfExtendedString >":
        r"""
        Return sequence of strings <alayers> that assosiated with label <l>.

        Parameters
        ----------
        L: TDF_Label
        aLayerS: TColStd_HSequenceOfExtendedString

        Returns
        -------
        bool
        Return sequence of labels <alayersl> that assosiated with label <l>.

        Parameters
        ----------
        L: TDF_Label
        aLayerLS: TDF_LabelSequence

        Returns
        -------
        bool
        Return sequence of strings that assosiated with label <l>.

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

        Returns
        -------
        opencascade::handle<TColStd_HSequenceOfExtendedString>
        Return sequence of strings <alayers> that assosiated with shape <sh>.

        Parameters
        ----------
        Sh: TopoDS_Shape
        aLayerS: TColStd_HSequenceOfExtendedString

        Returns
        -------
        bool
        Return sequence of labels <alayerls> that assosiated with shape <sh>.

        Parameters
        ----------
        Sh: TopoDS_Shape
        aLayerLS: TDF_LabelSequence

        Returns
        -------
        bool
        Return sequence of strings that assosiated with shape <sh>.

        Parameters
        ----------
        Sh: TopoDS_Shape

        Returns
        -------
        opencascade::handle<TColStd_HSequenceOfExtendedString>

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

    def GetShapesOfLayer(self, *args) -> "void":
        r"""
        Return sequanese of shape labels that assigned with layers to <shlabels>.

        Parameters
        ----------
        layerL: TDF_Label
        ShLabels: TDF_LabelSequence

        Returns
        -------
        None

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

    def ID(self, *args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

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

    def IsLayer(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if label belongs to a layertable and is a layer definition.

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

        Returns
        -------
        bool

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

    def IsSet(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if label <l> has a layer assosiated with the <alayer>.

        Parameters
        ----------
        L: TDF_Label
        aLayer: TCollection_ExtendedString

        Returns
        -------
        bool
        Returns true if label <l> has a layer assosiated with the <alayerl> label.

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

        Returns
        -------
        bool
        Returns true if shape <sh> has a layer assosiated with the <alayer>.

        Parameters
        ----------
        Sh: TopoDS_Shape
        aLayer: TCollection_ExtendedString

        Returns
        -------
        bool
        Returns true if shape <sh> has a layer assosiated with the <alayerl>.

        Parameters
        ----------
        Sh: TopoDS_Shape
        aLayerL: TDF_Label

        Returns
        -------
        bool

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

    def IsVisible(self, *args) -> "Standard_Boolean":
        r"""
        Return true if layer is visible, false if invisible.

        Parameters
        ----------
        layerL: TDF_Label

        Returns
        -------
        bool

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

    def RemoveLayer(self, *args) -> "void":
        r"""
        Removes layer from the layertable.

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

        Returns
        -------
        None

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

    @staticmethod
    def Set(*args) -> "opencascade::handle< XCAFDoc_LayerTool >":
        r"""
        Creates (if not exist) layertool.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_LayerTool>

        """
        return _XCAFDoc.XCAFDoc_LayerTool_Set(*args)

    def SetLayer(self, *args) -> "Standard_Boolean":
        r"""
        Sets a link from label <l> to layer defined by <layerl> optional parametr <shapeinonelayer> show could shape be in number of layers or only in one.

        Parameters
        ----------
        L: TDF_Label
        LayerL: TDF_Label
        shapeInOneLayer: bool,optional
        	default value is Standard_False

        Returns
        -------
        None
        Sets a link from label <l> to layer <alayer> in the layertable adds a layer as necessary optional parametr <shapeinonelayer> show could shape be in number of layers or only in one.

        Parameters
        ----------
        L: TDF_Label
        aLayer: TCollection_ExtendedString
        shapeInOneLayer: bool,optional
        	default value is Standard_False

        Returns
        -------
        None
        Sets a link from label that containig shape <sh> with layer that situated at label <layerl>. optional parametr <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
        LayerL: TDF_Label
        shapeInOneLayer: bool,optional
        	default value is Standard_False

        Returns
        -------
        bool
        Sets a link from label that containig shape <sh> with layer <alayer>. add <alayer> to layertable if nessesery. optional parametr <shapeinonelayer> show could shape be in number of layers or only in one. return false if no such shape <sh>.

        Parameters
        ----------
        Sh: TopoDS_Shape
        aLayer: TCollection_ExtendedString
        shapeInOneLayer: bool,optional
        	default value is Standard_False

        Returns
        -------
        bool

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

    def SetVisibility(self, *args) -> "void":
        r"""
        Set the visibility of layer. if layer is invisible when on it's layer will set uattribute with corresponding guid.

        Parameters
        ----------
        layerL: TDF_Label
        isvisible: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

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

    def ShapeTool(self, *args) -> "opencascade::handle< XCAFDoc_ShapeTool > const &":
        r"""
        Returns internal xcafdoc_shapetool tool.

        Returns
        -------
        opencascade::handle<XCAFDoc_ShapeTool>

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

    def UnSetLayers(self, *args) -> "Standard_Boolean":
        r"""
        Removes a link from label <l> to all layers.

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

        Returns
        -------
        None
        Remove link between shape <sh> and all layers at layertable. return false if no such shape <sh> in xcaf document.

        Parameters
        ----------
        Sh: TopoDS_Shape

        Returns
        -------
        bool

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

    def UnSetOneLayer(self, *args) -> "Standard_Boolean":
        r"""
        Remove link from label <l> and layer <alayer>. returns false if no such layer.

        Parameters
        ----------
        L: TDF_Label
        aLayer: TCollection_ExtendedString

        Returns
        -------
        bool
        Remove link from label <l> and layer <alayerl>. returns false if <alayerl> is not a layer label.

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

        Returns
        -------
        bool
        Remove link between shape <sh> and layer <alayer>. returns false if no such layer <alayer> or shape <sh>.

        Parameters
        ----------
        Sh: TopoDS_Shape
        aLayer: TCollection_ExtendedString

        Returns
        -------
        bool
        Remove link between shape <sh> and layer <alayerl>. returns false if no such layer <alayerl> or shape <sh>.

        Parameters
        ----------
        Sh: TopoDS_Shape
        aLayerL: TDF_Label

        Returns
        -------
        bool

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

def XCAFDoc_LayerTool_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_LayerTool_GetID(*args)

def XCAFDoc_LayerTool_Set(*args) -> "opencascade::handle< XCAFDoc_LayerTool >":
    r"""
    Creates (if not exist) layertool.

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

    Returns
    -------
    opencascade::handle<XCAFDoc_LayerTool>

    """
    return _XCAFDoc.XCAFDoc_LayerTool_Set(*args)

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"""
        Class methods =============.

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_Location_swiginit(self, _XCAFDoc.new_XCAFDoc_Location(*args))

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_Location self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_Location_DumpJsonToString(self, depth)

    def Get(self, *args) -> "TopLoc_Location const &":
        r"""
        Returns true if there is a reference on the same label.

        Returns
        -------
        TopLoc_Location

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_Location_GetID(*args)

    def Set(self, *args) -> "void":
        r"""
        Find, or create, a location attribute and set it's value the location attribute is returned. location methods ===============.

        Parameters
        ----------
        label: TDF_Label
        Loc: TopLoc_Location

        Returns
        -------
        opencascade::handle<XCAFDoc_Location>
        No available documentation.

        Parameters
        ----------
        Loc: TopLoc_Location

        Returns
        -------
        None

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

def XCAFDoc_Location_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_Location_GetID(*args)

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

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_Material_swiginit(self, _XCAFDoc.new_XCAFDoc_Material(*args))

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_Material self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_Material_DumpJsonToString(self, depth)

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

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

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

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

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

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

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

        Returns
        -------
        float

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

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

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

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_Material_GetID(*args)

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

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

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

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

        Parameters
        ----------
        label: TDF_Label
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        aDensity: float
        aDensName: TCollection_HAsciiString
        aDensValType: TCollection_HAsciiString

        Returns
        -------
        opencascade::handle<XCAFDoc_Material>
        No available documentation.

        Parameters
        ----------
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        aDensity: float
        aDensName: TCollection_HAsciiString
        aDensValType: TCollection_HAsciiString

        Returns
        -------
        None

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

def XCAFDoc_Material_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_Material_GetID(*args)

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

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_MaterialTool_swiginit(self, _XCAFDoc.new_XCAFDoc_MaterialTool(*args))

    def AddMaterial(self, *args) -> "TDF_Label":
        r"""
        Adds a material definition to a table and returns its label.

        Parameters
        ----------
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        aDensity: float
        aDensName: TCollection_HAsciiString
        aDensValType: TCollection_HAsciiString

        Returns
        -------
        TDF_Label

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

    def BaseLabel(self, *args) -> "TDF_Label":
        r"""
        Returns the label under which colors are stored.

        Returns
        -------
        TDF_Label

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_MaterialTool self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_MaterialTool_DumpJsonToString(self, depth)

    @staticmethod
    def GetDensityForShape(*args) -> "Standard_Real":
        r"""
        Find referred material and return density from it if no material --> return 0.

        Parameters
        ----------
        ShapeL: TDF_Label

        Returns
        -------
        float

        """
        return _XCAFDoc.XCAFDoc_MaterialTool_GetDensityForShape(*args)

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_MaterialTool_GetID(*args)

    def GetMaterial(self, *args) -> "Standard_Boolean":
        r"""
        Returns material assigned to <matl> returns false if no such material is assigned.

        Parameters
        ----------
        MatL: TDF_Label
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        aDensName: TCollection_HAsciiString
        aDensValType: TCollection_HAsciiString

        Returns
        -------
        aDensity: float

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

    def GetMaterialLabels(self, *args) -> "void":
        r"""
        Returns a sequence of materials currently stored in the material table.

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

        Returns
        -------
        None

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

    def ID(self, *args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

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

    def IsMaterial(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if label belongs to a material table and is a material definition.

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

        Returns
        -------
        bool

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

    @staticmethod
    def Set(*args) -> "opencascade::handle< XCAFDoc_MaterialTool >":
        r"""
        Creates (if not exist) materialtool.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_MaterialTool>

        """
        return _XCAFDoc.XCAFDoc_MaterialTool_Set(*args)

    def SetMaterial(self, *args) -> "void":
        r"""
        Sets a link with guid.

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

        Returns
        -------
        None
        Sets a link with guid adds a material as necessary.

        Parameters
        ----------
        L: TDF_Label
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        aDensity: float
        aDensName: TCollection_HAsciiString
        aDensValType: TCollection_HAsciiString

        Returns
        -------
        None

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

    def ShapeTool(self, *args) -> "opencascade::handle< XCAFDoc_ShapeTool > const &":
        r"""
        Returns internal xcafdoc_shapetool tool.

        Returns
        -------
        opencascade::handle<XCAFDoc_ShapeTool>

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

def XCAFDoc_MaterialTool_GetDensityForShape(*args) -> "Standard_Real":
    r"""
    Find referred material and return density from it if no material --> return 0.

    Parameters
    ----------
    ShapeL: TDF_Label

    Returns
    -------
    float

    """
    return _XCAFDoc.XCAFDoc_MaterialTool_GetDensityForShape(*args)

def XCAFDoc_MaterialTool_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_MaterialTool_GetID(*args)

def XCAFDoc_MaterialTool_Set(*args) -> "opencascade::handle< XCAFDoc_MaterialTool >":
    r"""
    Creates (if not exist) materialtool.

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

    Returns
    -------
    opencascade::handle<XCAFDoc_MaterialTool>

    """
    return _XCAFDoc.XCAFDoc_MaterialTool_Set(*args)

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 DumpToString(self) -> "std::string":
        r"""DumpToString(XCAFDoc_Note self) -> std::string"""
        return _XCAFDoc.XCAFDoc_Note_DumpToString(self)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_Note self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_Note_DumpJsonToString(self, depth)

    @staticmethod
    def Get(*args) -> "opencascade::handle< XCAFDoc_Note >":
        r"""
        Finds a reference attribute on the given label and returns it, if it is found.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_Note>

        """
        return _XCAFDoc.XCAFDoc_Note_Get(*args)

    def GetObject(self, *args) -> "opencascade::handle< XCAFNoteObjects_NoteObject >":
        r"""
        Returns auxiliary data object.

        Returns
        -------
        opencascade::handle<XCAFNoteObjects_NoteObject>

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

    @staticmethod
    def IsMine(*args) -> "Standard_Boolean":
        r"""
        Checks if the given label represents a note.

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

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_Note_IsMine(*args)

    def IsOrphan(self, *args) -> "Standard_Boolean":
        r"""
        Checks if the note isn't linked to annotated items.

        Returns
        -------
        bool

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

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

        Parameters
        ----------
        theUserName: TCollection_ExtendedString
        theTimeStamp: TCollection_ExtendedString

        Returns
        -------
        None

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

    def SetObject(self, *args) -> "void":
        r"""
        Updates auxiliary data.

        Parameters
        ----------
        theObject: XCAFNoteObjects_NoteObject

        Returns
        -------
        None

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

    def TimeStamp(self, *args) -> "TCollection_ExtendedString const &":
        r"""
        Returns the timestamp of the note.

        Returns
        -------
        TCollection_ExtendedString

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

    def UserName(self, *args) -> "TCollection_ExtendedString const &":
        r"""
        Returns the user name, who created the note.

        Returns
        -------
        TCollection_ExtendedString

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

def XCAFDoc_Note_Get(*args) -> "opencascade::handle< XCAFDoc_Note >":
    r"""
    Finds a reference attribute on the given label and returns it, if it is found.

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

    Returns
    -------
    opencascade::handle<XCAFDoc_Note>

    """
    return _XCAFDoc.XCAFDoc_Note_Get(*args)

def XCAFDoc_Note_IsMine(*args) -> "Standard_Boolean":
    r"""
    Checks if the given label represents a note.

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

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_Note_IsMine(*args)

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

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_NotesTool_swiginit(self, _XCAFDoc.new_XCAFDoc_NotesTool(*args))

    def AddNote(self, *args) -> "opencascade::handle< XCAFDoc_AssemblyItemRef >":
        r"""
        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
        theItemId: XCAFDoc_AssemblyItemId

        Returns
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>
        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.

        Parameters
        ----------
        theNoteLabel: TDF_Label
        theItemLabel: TDF_Label

        Returns
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>

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

    def AddNoteToAttr(self, *args) -> "opencascade::handle< XCAFDoc_AssemblyItemRef >":
        r"""
        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
        theItemId: XCAFDoc_AssemblyItemId
        theGUID: Standard_GUID

        Returns
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>
        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.

        Parameters
        ----------
        theNoteLabel: TDF_Label
        theItemLabel: TDF_Label
        theGUID: Standard_GUID

        Returns
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>

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

    def AddNoteToSubshape(self, *args) -> "opencascade::handle< XCAFDoc_AssemblyItemRef >":
        r"""
        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
        theItemId: XCAFDoc_AssemblyItemId
        theSubshapeIndex: int

        Returns
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>
        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.

        Parameters
        ----------
        theNoteLabel: TDF_Label
        theItemLabel: TDF_Label
        theSubshapeIndex: int

        Returns
        -------
        opencascade::handle<XCAFDoc_AssemblyItemRef>

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

    def CreateBalloon(self, *args) -> "opencascade::handle< XCAFDoc_Note >":
        r"""
        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.

        Parameters
        ----------
        theUserName: TCollection_ExtendedString
        theTimeStamp: TCollection_ExtendedString
        theComment: TCollection_ExtendedString

        Returns
        -------
        opencascade::handle<XCAFDoc_Note>

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

    def CreateBinData(self, *args) -> "opencascade::handle< XCAFDoc_Note >":
        r"""
        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: TCollection_ExtendedString
        theTimeStamp: TCollection_ExtendedString
        theTitle: TCollection_ExtendedString
        theMIMEtype: TCollection_AsciiString
        theFile: OSD_File

        Returns
        -------
        opencascade::handle<XCAFDoc_Note>
        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.

        Parameters
        ----------
        theUserName: TCollection_ExtendedString
        theTimeStamp: TCollection_ExtendedString
        theTitle: TCollection_ExtendedString
        theMIMEtype: TCollection_AsciiString
        theData: TColStd_HArray1OfByte

        Returns
        -------
        opencascade::handle<XCAFDoc_Note>

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

    def CreateComment(self, *args) -> "opencascade::handle< XCAFDoc_Note >":
        r"""
        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.

        Parameters
        ----------
        theUserName: TCollection_ExtendedString
        theTimeStamp: TCollection_ExtendedString
        theComment: TCollection_ExtendedString

        Returns
        -------
        opencascade::handle<XCAFDoc_Note>

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

    def DeleteAllNotes(self, *args) -> "Standard_Integer":
        r"""
        Deletes all notes. clears all annotations. eturn number of deleted notes.

        Returns
        -------
        int

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

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

        Parameters
        ----------
        theNoteLabel: TDF_Label

        Returns
        -------
        bool

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

    def DeleteNotes(self, *args) -> "Standard_Integer":
        r"""
        Deletes the given notes. removes all links with items annotated by the notes. \param [in] thenotelabels - note label sequence. eturn number of deleted notes.

        Parameters
        ----------
        theNoteLabels: TDF_LabelSequence

        Returns
        -------
        int

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

    def DeleteOrphanNotes(self, *args) -> "Standard_Integer":
        r"""
        Deletes all notes that aren't linked to annotated items. eturn number of deleted notes.

        Returns
        -------
        int

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

    def DumpToString(self) -> "std::string":
        r"""DumpToString(XCAFDoc_NotesTool self) -> std::string"""
        return _XCAFDoc.XCAFDoc_NotesTool_DumpToString(self)

    def FindAnnotatedItem(self, *args) -> "TDF_Label":
        r"""
        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
        ----------
        theItemId: XCAFDoc_AssemblyItemId

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

        Parameters
        ----------
        theItemLabel: TDF_Label

        Returns
        -------
        TDF_Label

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

    def FindAnnotatedItemAttr(self, *args) -> "TDF_Label":
        r"""
        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
        ----------
        theItemId: XCAFDoc_AssemblyItemId
        theGUID: Standard_GUID

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

        Parameters
        ----------
        theItemLabel: TDF_Label
        theGUID: Standard_GUID

        Returns
        -------
        TDF_Label

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

    def FindAnnotatedItemSubshape(self, *args) -> "TDF_Label":
        r"""
        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
        ----------
        theItemId: XCAFDoc_AssemblyItemId
        theSubshapeIndex: int

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

        Parameters
        ----------
        theItemLabel: TDF_Label
        theSubshapeIndex: int

        Returns
        -------
        TDF_Label

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

    def GetAnnotatedItems(self, *args) -> "void":
        r"""
        Returns all labels from the annotated items hive. the label sequence isn't cleared beforehand. \param [out] thenotelabels - sequence of labels.

        Parameters
        ----------
        theLabels: TDF_LabelSequence

        Returns
        -------
        None

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

    def GetAnnotatedItemsLabel(self, *args) -> "TDF_Label":
        r"""
        Returns the label of the annotated items hive.

        Returns
        -------
        TDF_Label

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

    def GetAttrNotes(self, *args) -> "Standard_Integer":
        r"""
        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
        ----------
        theItemId: XCAFDoc_AssemblyItemId
        theGUID: Standard_GUID
        theNoteLabels: TDF_LabelSequence

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

        Parameters
        ----------
        theItemLabel: TDF_Label
        theGUID: Standard_GUID
        theNoteLabels: TDF_LabelSequence

        Returns
        -------
        int

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        Returns default attribute guid.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_NotesTool_GetID(*args)

    def GetNotes(self, *args) -> "Standard_Integer":
        r"""
        Returns all labels from the notes hive. the label sequence isn't cleared beforehand. \param [out] thenotelabels - sequence of labels.

        Parameters
        ----------
        theNoteLabels: TDF_LabelSequence

        Returns
        -------
        None
        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
        ----------
        theItemId: XCAFDoc_AssemblyItemId
        theNoteLabels: TDF_LabelSequence

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

        Parameters
        ----------
        theItemLabel: TDF_Label
        theNoteLabels: TDF_LabelSequence

        Returns
        -------
        int

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

    def GetNotesLabel(self, *args) -> "TDF_Label":
        r"""
        Returns the label of the notes hive.

        Returns
        -------
        TDF_Label

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

    def GetOrphanNotes(self, *args) -> "void":
        r"""
        Returns note labels that aren't linked to annotated items. the label sequence isn't cleared beforehand. \param [out] thenotelabels - sequence of labels.

        Parameters
        ----------
        theNoteLabels: TDF_LabelSequence

        Returns
        -------
        None

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

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

        Parameters
        ----------
        theItemId: XCAFDoc_AssemblyItemId
        theSubshapeIndex: int
        theNoteLabels: TDF_LabelSequence

        Returns
        -------
        int

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

    def ID(self, *args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

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

    def IsAnnotatedItem(self, *args) -> "Standard_Boolean":
        r"""
        Checks if the given assembly item is annotated. \param [in] theitemid - assembly item id. eturn true if the item is annotated, otherwise - false.

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

        Returns
        -------
        bool
        Checks if the given labeled item is annotated. \param [in] theitemlabel - item label. eturn true if the item is annotated, otherwise - false.

        Parameters
        ----------
        theItemLabel: TDF_Label

        Returns
        -------
        bool

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

    def NbAnnotatedItems(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of labels in the annotated items hive.

        Returns
        -------
        int

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

    def NbNotes(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of labels in the notes hive.

        Returns
        -------
        int

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

    def NbOrphanNotes(self, *args) -> "Standard_Integer":
        r"""
        Returns number of notes that aren't linked to annotated items.

        Returns
        -------
        int

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

    def RemoveAllAttrNotes(self, *args) -> "Standard_Boolean":
        r"""
        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
        ----------
        theItemId: XCAFDoc_AssemblyItemId
        theGUID: Standard_GUID
        theDelIfOrphan: bool,optional
        	default value is Standard_False

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

        Parameters
        ----------
        theItemLabel: TDF_Label
        theGUID: Standard_GUID
        theDelIfOrphan: bool,optional
        	default value is Standard_False

        Returns
        -------
        bool

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

    def RemoveAllNotes(self, *args) -> "Standard_Boolean":
        r"""
        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
        ----------
        theItemId: XCAFDoc_AssemblyItemId
        theDelIfOrphan: bool,optional
        	default value is Standard_False

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

        Parameters
        ----------
        theItemLabel: TDF_Label
        theDelIfOrphan: bool,optional
        	default value is Standard_False

        Returns
        -------
        bool

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

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

        Parameters
        ----------
        theItemId: XCAFDoc_AssemblyItemId
        theSubshapeIndex: int
        theDelIfOrphan: bool,optional
        	default value is Standard_False

        Returns
        -------
        bool

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

    def RemoveAttrNote(self, *args) -> "Standard_Boolean":
        r"""
        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
        theItemId: XCAFDoc_AssemblyItemId
        theGUID: Standard_GUID
        theDelIfOrphan: bool,optional
        	default value is Standard_False

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

        Parameters
        ----------
        theNoteLabel: TDF_Label
        theItemLabel: TDF_Label
        theGUID: Standard_GUID
        theDelIfOrphan: bool,optional
        	default value is Standard_False

        Returns
        -------
        bool

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

    def RemoveNote(self, *args) -> "Standard_Boolean":
        r"""
        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
        theItemId: XCAFDoc_AssemblyItemId
        theDelIfOrphan: bool,optional
        	default value is Standard_False

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

        Parameters
        ----------
        theNoteLabel: TDF_Label
        theItemLabel: TDF_Label
        theDelIfOrphan: bool,optional
        	default value is Standard_False

        Returns
        -------
        bool

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

    def RemoveSubshapeNote(self, *args) -> "Standard_Boolean":
        r"""
        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
        theItemId: XCAFDoc_AssemblyItemId
        theSubshapeIndex: int
        theDelIfOrphan: bool,optional
        	default value is Standard_False

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

        Parameters
        ----------
        theNoteLabel: TDF_Label
        theItemLabel: TDF_Label
        theSubshapeIndex: int
        theDelIfOrphan: bool,optional
        	default value is Standard_False

        Returns
        -------
        bool

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

    @staticmethod
    def Set(*args) -> "opencascade::handle< XCAFDoc_NotesTool >":
        r"""
        Create (if not exist) a notes tool from xcafdoc on thelabel.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_NotesTool>

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

def XCAFDoc_NotesTool_GetID(*args) -> "Standard_GUID const &":
    r"""
    Returns default attribute guid.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_NotesTool_GetID(*args)

def XCAFDoc_NotesTool_Set(*args) -> "opencascade::handle< XCAFDoc_NotesTool >":
    r"""
    Create (if not exist) a notes tool from xcafdoc on thelabel.

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

    Returns
    -------
    opencascade::handle<XCAFDoc_NotesTool>

    """
    return _XCAFDoc.XCAFDoc_NotesTool_Set(*args)

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

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_ShapeMapTool_swiginit(self, _XCAFDoc.new_XCAFDoc_ShapeMapTool(*args))

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_ShapeMapTool self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_ShapeMapTool_DumpJsonToString(self, depth)

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_ShapeMapTool_GetID(*args)

    def GetMap(self, *args) -> "TopTools_IndexedMapOfShape const &":
        r"""
        No available documentation.

        Returns
        -------
        TopTools_IndexedMapOfShape

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

    def IsSubShape(self, *args) -> "Standard_Boolean":
        r"""
        Checks whether shape <sub> is subshape of shape stored on label shapel.

        Parameters
        ----------
        sub: TopoDS_Shape

        Returns
        -------
        bool

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

    @staticmethod
    def Set(*args) -> "opencascade::handle< XCAFDoc_ShapeMapTool >":
        r"""
        Create (if not exist) shapetool from xcafdoc on <l>.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_ShapeMapTool>

        """
        return _XCAFDoc.XCAFDoc_ShapeMapTool_Set(*args)

    def SetShape(self, *args) -> "void":
        r"""
        Sets representation (topods_shape) for top-level shape.

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

        Returns
        -------
        None

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

def XCAFDoc_ShapeMapTool_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_ShapeMapTool_GetID(*args)

def XCAFDoc_ShapeMapTool_Set(*args) -> "opencascade::handle< XCAFDoc_ShapeMapTool >":
    r"""
    Create (if not exist) shapetool from xcafdoc on <l>.

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

    Returns
    -------
    opencascade::handle<XCAFDoc_ShapeMapTool>

    """
    return _XCAFDoc.XCAFDoc_ShapeMapTool_Set(*args)

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"""
        Creates an empty tool creates a tool to work with a document <doc> attaches to label xcafdoc::labelshapes().

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_ShapeTool_swiginit(self, _XCAFDoc.new_XCAFDoc_ShapeTool(*args))

    def AddComponent(self, *args) -> "TDF_Label":
        r"""
        Adds a component given by its label and location to the assembly note: assembly must be isassembly() or issimpleshape().

        Parameters
        ----------
        assembly: TDF_Label
        comp: TDF_Label
        Loc: TopLoc_Location

        Returns
        -------
        TDF_Label
        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().

        Parameters
        ----------
        assembly: TDF_Label
        comp: TopoDS_Shape
        expand: bool,optional
        	default value is Standard_False

        Returns
        -------
        TDF_Label

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

    def AddShape(self, *args) -> "TDF_Label":
        r"""
        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 assmebly by located components to avoid some problems. if autonaming() is true then automatically attaches names.

        Parameters
        ----------
        S: TopoDS_Shape
        makeAssembly: bool,optional
        	default value is Standard_True
        makePrepare: bool,optional
        	default value is Standard_True

        Returns
        -------
        TDF_Label

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

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

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

        Parameters
        ----------
        shapeL: TDF_Label
        sub: TopoDS_Shape
        addedSubShapeL: TDF_Label

        Returns
        -------
        bool

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

    @staticmethod
    def AutoNaming(*args) -> "Standard_Boolean":
        r"""
        Returns current auto-naming mode. see setautonaming() for description.

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_AutoNaming(*args)

    def BaseLabel(self, *args) -> "TDF_Label":
        r"""
        Returns the label under which shapes are stored.

        Returns
        -------
        TDF_Label

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

    def ComputeShapes(self, *args) -> "void":
        r"""
        Recursive.

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

        Returns
        -------
        None

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

    def ComputeSimpleShapes(self, *args) -> "void":
        r"""
        Compute a sequence of simple shapes.

        Returns
        -------
        None

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

    def DumpToString(self) -> "std::string":
        r"""DumpToString(XCAFDoc_ShapeTool self) -> std::string"""
        return _XCAFDoc.XCAFDoc_ShapeTool_DumpToString(self)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_ShapeTool self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_ShapeTool_DumpJsonToString(self, depth)

    def Expand(self, *args) -> "Standard_Boolean":
        r"""
        Convert shape (compound/compsolid/shell/wire) to assembly.

        Parameters
        ----------
        Shape: TDF_Label

        Returns
        -------
        bool

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

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

        Parameters
        ----------
        theShape: TopoDS_Shape
        Labels: TDF_LabelSequence

        Returns
        -------
        bool

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

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

        Parameters
        ----------
        sub: TopoDS_Shape

        Returns
        -------
        TDF_Label

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

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

        Parameters
        ----------
        sub: TopoDS_Shape

        Returns
        -------
        TDF_Label

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

    @staticmethod
    def FindSHUO(*args) -> "Standard_Boolean":
        r"""
        Searchs the shuo by labels of components from upper_usage componet to next_usage returns null attribute if no shuo found.

        Parameters
        ----------
        Labels: TDF_LabelSequence
        theSHUOAttr: XCAFDoc_GraphNode

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_FindSHUO(*args)

    def FindShape(self, *args) -> "TDF_Label":
        r"""
        Returns the label corresponding to shape s (searches among top-level shapes, not including subcomponents of assemblies and subshapes) if findinstance is false (default), seach 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
        L: TDF_Label
        findInstance: bool,optional
        	default value is Standard_False

        Returns
        -------
        bool
        Does the same as previous method returns null label if not found.

        Parameters
        ----------
        S: TopoDS_Shape
        findInstance: bool,optional
        	default value is Standard_False

        Returns
        -------
        TDF_Label

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

    def FindSubShape(self, *args) -> "Standard_Boolean":
        r"""
        Finds a label for subshape <sub> of shape stored on label shapel returns null label if it is not found.

        Parameters
        ----------
        shapeL: TDF_Label
        sub: TopoDS_Shape
        L: TDF_Label

        Returns
        -------
        bool

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

    @staticmethod
    def GetAllComponentSHUO(*args) -> "Standard_Boolean":
        r"""
        Returns founded shuo graphnodes of indicated component returns false in other case.

        Parameters
        ----------
        CompLabel: TDF_Label
        SHUOAttrs: TDF_AttributeSequence

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetAllComponentSHUO(*args)

    def GetAllSHUOInstances(self, *args) -> "Standard_Boolean":
        r"""
        Seaching for component shapes that styled by shuo returns empty sequence of shape if no any shape is found.

        Parameters
        ----------
        theSHUO: XCAFDoc_GraphNode
        theSHUOShapeSeq: TopTools_SequenceOfShape

        Returns
        -------
        bool

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

    @staticmethod
    def GetComponents(*args) -> "Standard_Boolean":
        r"""
        Returns list of components of assembly returns false if label is not assembly.

        Parameters
        ----------
        L: TDF_Label
        Labels: TDF_LabelSequence
        getsubchilds: bool,optional
        	default value is Standard_False

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetComponents(*args)

    @staticmethod
    def GetExternRefs(*args) -> "void":
        r"""
        Gets the names of references on the no-step files.

        Parameters
        ----------
        L: TDF_Label
        SHAS: TColStd_SequenceOfHAsciiString

        Returns
        -------
        None

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetExternRefs(*args)

    def GetFreeShapes(self, *args) -> "void":
        r"""
        Returns a sequence of all top-level shapes which are free (i.e. not referred by any other).

        Parameters
        ----------
        FreeLabels: TDF_LabelSequence

        Returns
        -------
        None

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetID(*args)

    @staticmethod
    def GetLocation(*args) -> "TopLoc_Location":
        r"""
        Returns location of instance.

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

        Returns
        -------
        TopLoc_Location

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetLocation(*args)

    def GetNamedProperties(self, *args) -> "opencascade::handle< TDataStd_NamedData >":
        r"""
        Method to get nameddata attribute assigned to the given shape label. @param thelabel [in] the shape label @param thetocreate [in] create and assign attribute if it doesn't exist returns handle to the nameddata attribute or null if there is none.

        Parameters
        ----------
        theLabel: TDF_Label
        theToCreate: bool,optional
        	default value is Standard_False

        Returns
        -------
        opencascade::handle<TDataStd_NamedData>
        Method to get nameddata attribute assigned to a label of the given shape. @param theshape [in] input shape @param thetocreate [in] create and assign attribute if it doesn't exist returns handle to the nameddata attribute or null if there is none.

        Parameters
        ----------
        theShape: TopoDS_Shape
        theToCreate: bool,optional
        	default value is Standard_False

        Returns
        -------
        opencascade::handle<TDataStd_NamedData>

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

    @staticmethod
    def GetReferredShape(*args) -> "Standard_Boolean":
        r"""
        Returns label which corresponds to a shape referred by l returns false if label is not reference.

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

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetReferredShape(*args)

    @staticmethod
    def GetSHUO(*args) -> "Standard_Boolean":
        r"""
        Returns founded shuo graphnode attribute <ashuoattr> returns false in other case.

        Parameters
        ----------
        SHUOLabel: TDF_Label
        aSHUOAttr: XCAFDoc_GraphNode

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetSHUO(*args)

    def GetSHUOInstance(self, *args) -> "TopoDS_Shape":
        r"""
        Search for the component shape that styled by shuo returns null shape if no any shape is found.

        Parameters
        ----------
        theSHUO: XCAFDoc_GraphNode

        Returns
        -------
        TopoDS_Shape

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

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

        Parameters
        ----------
        UpperUsageL: TDF_Label
        Labels: TDF_LabelSequence

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetSHUONextUsage(*args)

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

        Parameters
        ----------
        NextUsageL: TDF_Label
        Labels: TDF_LabelSequence

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetSHUOUpperUsage(*args)

    @staticmethod
    def GetShape(*args) -> "TopoDS_Shape":
        r"""
        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
        S: TopoDS_Shape

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

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

        Returns
        -------
        TopoDS_Shape

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetShape(*args)

    def GetShapes(self, *args) -> "void":
        r"""
        Returns a sequence of all top-level shapes.

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

        Returns
        -------
        None

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

    @staticmethod
    def GetSubShapes(*args) -> "Standard_Boolean":
        r"""
        Returns list of labels identifying subshapes of the given shape returns false if no subshapes are placed on that label.

        Parameters
        ----------
        L: TDF_Label
        Labels: TDF_LabelSequence

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetSubShapes(*args)

    @staticmethod
    def GetUsers(*args) -> "Standard_Integer":
        r"""
        Returns list of labels which refer shape l as component returns number of users (0 if shape is free).

        Parameters
        ----------
        L: TDF_Label
        Labels: TDF_LabelSequence
        getsubchilds: bool,optional
        	default value is Standard_False

        Returns
        -------
        int

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_GetUsers(*args)

    def ID(self, *args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

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

    def Init(self, *args) -> "void":
        r"""
        Set hascomponents into false.

        Returns
        -------
        None

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

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

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

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_IsAssembly(*args)

    @staticmethod
    def IsComponent(*args) -> "Standard_Boolean":
        r"""
        Return true if <l> is reference serving as component of assembly.

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

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_IsComponent(*args)

    @staticmethod
    def IsCompound(*args) -> "Standard_Boolean":
        r"""
        Returns true if the label is a label of compound, i.e. contains some sublabels this is relevant only if isshape() is true.

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

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_IsCompound(*args)

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

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

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_IsExternRef(*args)

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

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

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_IsFree(*args)

    @staticmethod
    def IsReference(*args) -> "Standard_Boolean":
        r"""
        Return true if <l> is a located instance of other shape i.e. reference.

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

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_IsReference(*args)

    @staticmethod
    def IsShape(*args) -> "Standard_Boolean":
        r"""
        Returns true if the label represents a shape (simple shape, assembly or reference).

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

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_IsShape(*args)

    @staticmethod
    def IsSimpleShape(*args) -> "Standard_Boolean":
        r"""
        Returns true if the label is a label of simple shape.

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

        Returns
        -------
        bool

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_IsSimpleShape(*args)

    def IsSubShape(self, *args) -> "Standard_Boolean":
        r"""
        Return true if <l> is subshape of the top-level shape.

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

        Returns
        -------
        bool
        Checks whether shape <sub> is subshape of shape stored on label shapel.

        Parameters
        ----------
        shapeL: TDF_Label
        sub: TopoDS_Shape

        Returns
        -------
        bool

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

    def IsTopLevel(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the label is a label of top-level shape, as opposed to component of assembly or subshape.

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

        Returns
        -------
        bool

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

    @staticmethod
    def NbComponents(*args) -> "Standard_Integer":
        r"""
        Returns number of assembles components.

        Parameters
        ----------
        L: TDF_Label
        getsubchilds: bool,optional
        	default value is Standard_False

        Returns
        -------
        int

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_NbComponents(*args)

    def NewShape(self, *args) -> "TDF_Label":
        r"""
        Creates new (empty) top-level shape. initially it holds empty topods_compound.

        Returns
        -------
        TDF_Label

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

    def RemoveComponent(self, *args) -> "void":
        r"""
        Removes a component from its assembly.

        Parameters
        ----------
        comp: TDF_Label

        Returns
        -------
        None

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

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

        Parameters
        ----------
        SHUOLabel: TDF_Label

        Returns
        -------
        bool

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

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

        Parameters
        ----------
        L: TDF_Label
        removeCompletely: bool,optional
        	default value is Standard_True

        Returns
        -------
        bool

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

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

        Parameters
        ----------
        S: TopoDS_Shape
        L: TDF_Label
        findInstance: bool,optional
        	default value is Standard_True
        findComponent: bool,optional
        	default value is Standard_True
        findSubshape: bool,optional
        	default value is Standard_True

        Returns
        -------
        bool

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

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

        Parameters
        ----------
        S: TopoDS_Shape
        L: TDF_Label
        findWithoutLoc: bool
        findSubshape: bool

        Returns
        -------
        bool

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

    @staticmethod
    def Set(*args) -> "opencascade::handle< XCAFDoc_ShapeTool >":
        r"""
        Create (if not exist) shapetool from xcafdoc on <l>.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_ShapeTool>

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_Set(*args)

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

        Parameters
        ----------
        V: bool

        Returns
        -------
        None

        """
        return _XCAFDoc.XCAFDoc_ShapeTool_SetAutoNaming(*args)

    def SetExternRefs(self, *args) -> "void":
        r"""
        Sets the names of references on the no-step files.

        Parameters
        ----------
        SHAS: TColStd_SequenceOfHAsciiString

        Returns
        -------
        TDF_Label
        Sets the names of references on the no-step files.

        Parameters
        ----------
        L: TDF_Label
        SHAS: TColStd_SequenceOfHAsciiString

        Returns
        -------
        None

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

    def SetInstanceSHUO(self, *args) -> "opencascade::handle< XCAFDoc_GraphNode >":
        r"""
        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.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_GraphNode>

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

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

        Parameters
        ----------
        Labels: TDF_LabelSequence
        MainSHUOAttr: XCAFDoc_GraphNode

        Returns
        -------
        bool

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

    def SetShape(self, *args) -> "void":
        r"""
        Sets representation (topods_shape) for top-level shape.

        Parameters
        ----------
        L: TDF_Label
        S: TopoDS_Shape

        Returns
        -------
        None

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

    def UpdateAssemblies(self, *args) -> "void":
        r"""
        Top-down update for all assembly compounds stored in the document.

        Returns
        -------
        None

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

def XCAFDoc_ShapeTool_AutoNaming(*args) -> "Standard_Boolean":
    r"""
    Returns current auto-naming mode. see setautonaming() for description.

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_AutoNaming(*args)

def XCAFDoc_ShapeTool_FindSHUO(*args) -> "Standard_Boolean":
    r"""
    Searchs the shuo by labels of components from upper_usage componet to next_usage returns null attribute if no shuo found.

    Parameters
    ----------
    Labels: TDF_LabelSequence
    theSHUOAttr: XCAFDoc_GraphNode

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_FindSHUO(*args)

def XCAFDoc_ShapeTool_GetAllComponentSHUO(*args) -> "Standard_Boolean":
    r"""
    Returns founded shuo graphnodes of indicated component returns false in other case.

    Parameters
    ----------
    CompLabel: TDF_Label
    SHUOAttrs: TDF_AttributeSequence

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_GetAllComponentSHUO(*args)

def XCAFDoc_ShapeTool_GetComponents(*args) -> "Standard_Boolean":
    r"""
    Returns list of components of assembly returns false if label is not assembly.

    Parameters
    ----------
    L: TDF_Label
    Labels: TDF_LabelSequence
    getsubchilds: bool,optional
    	default value is Standard_False

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_GetComponents(*args)

def XCAFDoc_ShapeTool_GetExternRefs(*args) -> "void":
    r"""
    Gets the names of references on the no-step files.

    Parameters
    ----------
    L: TDF_Label
    SHAS: TColStd_SequenceOfHAsciiString

    Returns
    -------
    None

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_GetExternRefs(*args)

def XCAFDoc_ShapeTool_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_GetID(*args)

def XCAFDoc_ShapeTool_GetLocation(*args) -> "TopLoc_Location":
    r"""
    Returns location of instance.

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

    Returns
    -------
    TopLoc_Location

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_GetLocation(*args)

def XCAFDoc_ShapeTool_GetReferredShape(*args) -> "Standard_Boolean":
    r"""
    Returns label which corresponds to a shape referred by l returns false if label is not reference.

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

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_GetReferredShape(*args)

def XCAFDoc_ShapeTool_GetSHUO(*args) -> "Standard_Boolean":
    r"""
    Returns founded shuo graphnode attribute <ashuoattr> returns false in other case.

    Parameters
    ----------
    SHUOLabel: TDF_Label
    aSHUOAttr: XCAFDoc_GraphNode

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_GetSHUO(*args)

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

    Parameters
    ----------
    UpperUsageL: TDF_Label
    Labels: TDF_LabelSequence

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_GetSHUONextUsage(*args)

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

    Parameters
    ----------
    NextUsageL: TDF_Label
    Labels: TDF_LabelSequence

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_GetSHUOUpperUsage(*args)

def XCAFDoc_ShapeTool_GetShape(*args) -> "TopoDS_Shape":
    r"""
    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
    S: TopoDS_Shape

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

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

    Returns
    -------
    TopoDS_Shape

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_GetShape(*args)

def XCAFDoc_ShapeTool_GetSubShapes(*args) -> "Standard_Boolean":
    r"""
    Returns list of labels identifying subshapes of the given shape returns false if no subshapes are placed on that label.

    Parameters
    ----------
    L: TDF_Label
    Labels: TDF_LabelSequence

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_GetSubShapes(*args)

def XCAFDoc_ShapeTool_GetUsers(*args) -> "Standard_Integer":
    r"""
    Returns list of labels which refer shape l as component returns number of users (0 if shape is free).

    Parameters
    ----------
    L: TDF_Label
    Labels: TDF_LabelSequence
    getsubchilds: bool,optional
    	default value is Standard_False

    Returns
    -------
    int

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_GetUsers(*args)

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

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

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_IsAssembly(*args)

def XCAFDoc_ShapeTool_IsComponent(*args) -> "Standard_Boolean":
    r"""
    Return true if <l> is reference serving as component of assembly.

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

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_IsComponent(*args)

def XCAFDoc_ShapeTool_IsCompound(*args) -> "Standard_Boolean":
    r"""
    Returns true if the label is a label of compound, i.e. contains some sublabels this is relevant only if isshape() is true.

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

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_IsCompound(*args)

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

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

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_IsExternRef(*args)

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

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

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_IsFree(*args)

def XCAFDoc_ShapeTool_IsReference(*args) -> "Standard_Boolean":
    r"""
    Return true if <l> is a located instance of other shape i.e. reference.

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

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_IsReference(*args)

def XCAFDoc_ShapeTool_IsShape(*args) -> "Standard_Boolean":
    r"""
    Returns true if the label represents a shape (simple shape, assembly or reference).

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

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_IsShape(*args)

def XCAFDoc_ShapeTool_IsSimpleShape(*args) -> "Standard_Boolean":
    r"""
    Returns true if the label is a label of simple shape.

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

    Returns
    -------
    bool

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_IsSimpleShape(*args)

def XCAFDoc_ShapeTool_NbComponents(*args) -> "Standard_Integer":
    r"""
    Returns number of assembles components.

    Parameters
    ----------
    L: TDF_Label
    getsubchilds: bool,optional
    	default value is Standard_False

    Returns
    -------
    int

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_NbComponents(*args)

def XCAFDoc_ShapeTool_Set(*args) -> "opencascade::handle< XCAFDoc_ShapeTool >":
    r"""
    Create (if not exist) shapetool from xcafdoc on <l>.

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

    Returns
    -------
    opencascade::handle<XCAFDoc_ShapeTool>

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_Set(*args)

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

    Parameters
    ----------
    V: bool

    Returns
    -------
    None

    """
    return _XCAFDoc.XCAFDoc_ShapeTool_SetAutoNaming(*args)

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

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_View_swiginit(self, _XCAFDoc.new_XCAFDoc_View(*args))

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_View_GetID(*args)

    def GetObject(self, *args) -> "opencascade::handle< XCAFView_Object >":
        r"""
        Returns view object data taken from the paren's label and its sub-labels.

        Returns
        -------
        opencascade::handle<XCAFView_Object>

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

    def ID(self, *args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

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

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

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

        Returns
        -------
        opencascade::handle<XCAFDoc_View>

        """
        return _XCAFDoc.XCAFDoc_View_Set(*args)

    def SetObject(self, *args) -> "void":
        r"""
        Updates parent's label and its sub-labels with data taken from theviewobject. old data associated with the label will be lost.

        Parameters
        ----------
        theViewObject: XCAFView_Object

        Returns
        -------
        None

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

def XCAFDoc_View_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_View_GetID(*args)

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

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

    Returns
    -------
    opencascade::handle<XCAFDoc_View>

    """
    return _XCAFDoc.XCAFDoc_View_Set(*args)

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

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_ViewTool_swiginit(self, _XCAFDoc.new_XCAFDoc_ViewTool(*args))

    def AddView(self, *args) -> "TDF_Label":
        r"""
        Adds a view definition to a view table and returns its label.

        Returns
        -------
        TDF_Label

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

    def BaseLabel(self, *args) -> "TDF_Label":
        r"""
        Returns the label under which views are stored.

        Returns
        -------
        TDF_Label

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_ViewTool_GetID(*args)

    def GetRefAnnotationLabel(self, *args) -> "Standard_Boolean":
        r"""
        Returns annotation labels defined for label theviewl returns false if the theviewl is not in view table.

        Parameters
        ----------
        theViewL: TDF_Label
        theAnnotationLabels: TDF_LabelSequence

        Returns
        -------
        bool

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

    def GetRefClippingPlaneLabel(self, *args) -> "Standard_Boolean":
        r"""
        Returns clippingplane labels defined for label theviewl returns false if the theviewl is not in view table.

        Parameters
        ----------
        theViewL: TDF_Label
        theClippingPlaneLabels: TDF_LabelSequence

        Returns
        -------
        bool

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

    def GetRefGDTLabel(self, *args) -> "Standard_Boolean":
        r"""
        Returns gdt labels defined for label theviewl returns false if the theviewl is not in view table.

        Parameters
        ----------
        theViewL: TDF_Label
        theGDTLabels: TDF_LabelSequence

        Returns
        -------
        bool

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

    def GetRefNoteLabel(self, *args) -> "Standard_Boolean":
        r"""
        Returns notes labels defined for label theviewl returns false if the theviewl is not in view table.

        Parameters
        ----------
        theViewL: TDF_Label
        theNoteLabels: TDF_LabelSequence

        Returns
        -------
        bool

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

    def GetRefShapeLabel(self, *args) -> "Standard_Boolean":
        r"""
        Returns shape labels defined for label theviewl returns false if the theviewl is not in view table.

        Parameters
        ----------
        theViewL: TDF_Label
        theShapeLabels: TDF_LabelSequence

        Returns
        -------
        bool

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

    def GetViewLabels(self, *args) -> "void":
        r"""
        Returns a sequence of view labels currently stored in the view table.

        Parameters
        ----------
        theLabels: TDF_LabelSequence

        Returns
        -------
        None

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

    def GetViewLabelsForAnnotation(self, *args) -> "Standard_Boolean":
        r"""
        Returns all view labels defined for label annotationl.

        Parameters
        ----------
        theAnnotationL: TDF_Label
        theViews: TDF_LabelSequence

        Returns
        -------
        bool

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

    def GetViewLabelsForClippingPlane(self, *args) -> "Standard_Boolean":
        r"""
        Returns all view labels defined for label clippingplanel.

        Parameters
        ----------
        theClippingPlaneL: TDF_Label
        theViews: TDF_LabelSequence

        Returns
        -------
        bool

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

    def GetViewLabelsForGDT(self, *args) -> "Standard_Boolean":
        r"""
        Returns all view labels defined for label gdtl.

        Parameters
        ----------
        theGDTL: TDF_Label
        theViews: TDF_LabelSequence

        Returns
        -------
        bool

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

    def GetViewLabelsForNote(self, *args) -> "Standard_Boolean":
        r"""
        Returns all view labels defined for label notel.

        Parameters
        ----------
        theNoteL: TDF_Label
        theViews: TDF_LabelSequence

        Returns
        -------
        bool

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

    def GetViewLabelsForShape(self, *args) -> "Standard_Boolean":
        r"""
        Returns all view labels defined for label shapel.

        Parameters
        ----------
        theShapeL: TDF_Label
        theViews: TDF_LabelSequence

        Returns
        -------
        bool

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

    def ID(self, *args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

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

    def IsLocked(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the given view is marked as locked.

        Parameters
        ----------
        theViewL: TDF_Label

        Returns
        -------
        bool

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

    def IsView(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if label belongs to a view table and is a view definition.

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

        Returns
        -------
        bool

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

    def Lock(self, *args) -> "void":
        r"""
        Mark the given view as locked.

        Parameters
        ----------
        theViewL: TDF_Label

        Returns
        -------
        None

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

    def RemoveView(self, *args) -> "void":
        r"""
        Remove view.

        Parameters
        ----------
        theViewL: TDF_Label

        Returns
        -------
        None

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

    @staticmethod
    def Set(*args) -> "opencascade::handle< XCAFDoc_ViewTool >":
        r"""
        Creates (if not exist) viewtool.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_ViewTool>

        """
        return _XCAFDoc.XCAFDoc_ViewTool_Set(*args)

    def SetClippingPlanes(self, *args) -> "void":
        r"""
        Set clipping planes to given view.

        Parameters
        ----------
        theClippingPlaneLabels: TDF_LabelSequence
        theViewL: TDF_Label

        Returns
        -------
        None

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

    def SetView(self, *args) -> "void":
        r"""
        Sets a link with guid.

        Parameters
        ----------
        theShapes: TDF_LabelSequence
        theGDTs: TDF_LabelSequence
        theClippingPlanes: TDF_LabelSequence
        theNotes: TDF_LabelSequence
        theAnnotations: TDF_LabelSequence
        theViewL: TDF_Label

        Returns
        -------
        None
        Sets a link with guid.

        Parameters
        ----------
        theShapes: TDF_LabelSequence
        theGDTs: TDF_LabelSequence
        theClippingPlanes: TDF_LabelSequence
        theViewL: TDF_Label

        Returns
        -------
        None
        Sets a link with guid.

        Parameters
        ----------
        theShapes: TDF_LabelSequence
        theGDTs: TDF_LabelSequence
        theViewL: TDF_Label

        Returns
        -------
        None

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

    def Unlock(self, *args) -> "void":
        r"""
        Unlock the given view.

        Parameters
        ----------
        theViewL: TDF_Label

        Returns
        -------
        None

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

def XCAFDoc_ViewTool_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_ViewTool_GetID(*args)

def XCAFDoc_ViewTool_Set(*args) -> "opencascade::handle< XCAFDoc_ViewTool >":
    r"""
    Creates (if not exist) viewtool.

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

    Returns
    -------
    opencascade::handle<XCAFDoc_ViewTool>

    """
    return _XCAFDoc.XCAFDoc_ViewTool_Set(*args)

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

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_VisMaterial_swiginit(self, _XCAFDoc.new_XCAFDoc_VisMaterial(*args))

    def AlphaCutOff(self, *args) -> "Standard_ShortReal":
        r"""
        Return alpha cutoff value; 0.5 by default.

        Returns
        -------
        Standard_ShortReal

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

    def AlphaMode(self, *args) -> "Graphic3d_AlphaMode":
        r"""
        Return alpha mode; graphic3d_alphamode_blendauto by default.

        Returns
        -------
        Graphic3d_AlphaMode

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

    def BaseColor(self, *args) -> "Quantity_ColorRGBA":
        r"""
        Return base color.

        Returns
        -------
        Quantity_ColorRGBA

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

    def CommonMaterial(self, *args) -> "XCAFDoc_VisMaterialCommon const &":
        r"""
        Return common material.

        Returns
        -------
        XCAFDoc_VisMaterialCommon

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

    def ConvertToCommonMaterial(self, *args) -> "XCAFDoc_VisMaterialCommon":
        r"""
        Return common material or convert pbr into common material.

        Returns
        -------
        XCAFDoc_VisMaterialCommon

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

    def ConvertToPbrMaterial(self, *args) -> "XCAFDoc_VisMaterialPBR":
        r"""
        Return pbr material or convert common into pbr material.

        Returns
        -------
        XCAFDoc_VisMaterialPBR

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

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_VisMaterial self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_VisMaterial_DumpJsonToString(self, depth)

    def FillAspect(self, *args) -> "void":
        r"""
        Fill in graphic aspects.

        Parameters
        ----------
        theAspect: Graphic3d_Aspects

        Returns
        -------
        None

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

    def FillMaterialAspect(self, *args) -> "void":
        r"""
        Fill in material aspect.

        Parameters
        ----------
        theAspect: Graphic3d_MaterialAspect

        Returns
        -------
        None

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        Return attribute guid.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_VisMaterial_GetID(*args)

    def HasCommonMaterial(self, *args) -> "Standard_Boolean":
        r"""
        Return true if common material is defined.

        Returns
        -------
        bool

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

    def HasPbrMaterial(self, *args) -> "Standard_Boolean":
        r"""
        Return true if metal-roughness pbr material is defined.

        Returns
        -------
        bool

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

    def IsDoubleSided(self, *args) -> "Standard_Boolean":
        r"""
        Specifies whether the material is double sided; true by default.

        Returns
        -------
        bool

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

    def IsEmpty(self, *args) -> "bool":
        r"""
        Return true if material definition is empty.

        Returns
        -------
        bool

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

    def IsEqual(self, *args) -> "Standard_Boolean":
        r"""
        Compare two materials. performs deep comparison by actual values - e.g. can be useful for merging materials.

        Parameters
        ----------
        theOther: XCAFDoc_VisMaterial

        Returns
        -------
        bool

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

    def PbrMaterial(self, *args) -> "XCAFDoc_VisMaterialPBR const &":
        r"""
        Return metal-roughness pbr material.

        Returns
        -------
        XCAFDoc_VisMaterialPBR

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

    def RawName(self, *args) -> "opencascade::handle< TCollection_HAsciiString > const &":
        r"""
        Return material name / tag (transient data, not stored in the document).

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

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

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

        Parameters
        ----------
        theMode: Graphic3d_AlphaMode
        theCutOff: Standard_ShortReal,optional
        	default value is 0.5f

        Returns
        -------
        None

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

    def SetCommonMaterial(self, *args) -> "void":
        r"""
        Setup common material.

        Parameters
        ----------
        theMaterial: XCAFDoc_VisMaterialCommon

        Returns
        -------
        None

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

    def SetDoubleSided(self, *args) -> "void":
        r"""
        Specifies whether the material is double sided.

        Parameters
        ----------
        theIsDoubleSided: bool

        Returns
        -------
        None

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

    def SetPbrMaterial(self, *args) -> "void":
        r"""
        Setup metal-roughness pbr material.

        Parameters
        ----------
        theMaterial: XCAFDoc_VisMaterialPBR

        Returns
        -------
        None

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

    def SetRawName(self, *args) -> "void":
        r"""
        Set material name / tag (transient data, not stored in the document).

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

        Returns
        -------
        None

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

    def UnsetCommonMaterial(self, *args) -> "void":
        r"""
        Setup undefined common material.

        Returns
        -------
        None

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

    def UnsetPbrMaterial(self, *args) -> "void":
        r"""
        Setup undefined metal-roughness pbr material.

        Returns
        -------
        None

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

def XCAFDoc_VisMaterial_GetID(*args) -> "Standard_GUID const &":
    r"""
    Return attribute guid.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_VisMaterial_GetID(*args)

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
    DiffuseTexture = property(_XCAFDoc.XCAFDoc_VisMaterialCommon_DiffuseTexture_get, _XCAFDoc.XCAFDoc_VisMaterialCommon_DiffuseTexture_set)
    AmbientColor = property(_XCAFDoc.XCAFDoc_VisMaterialCommon_AmbientColor_get, _XCAFDoc.XCAFDoc_VisMaterialCommon_AmbientColor_set)
    DiffuseColor = property(_XCAFDoc.XCAFDoc_VisMaterialCommon_DiffuseColor_get, _XCAFDoc.XCAFDoc_VisMaterialCommon_DiffuseColor_set)
    SpecularColor = property(_XCAFDoc.XCAFDoc_VisMaterialCommon_SpecularColor_get, _XCAFDoc.XCAFDoc_VisMaterialCommon_SpecularColor_set)
    EmissiveColor = property(_XCAFDoc.XCAFDoc_VisMaterialCommon_EmissiveColor_get, _XCAFDoc.XCAFDoc_VisMaterialCommon_EmissiveColor_set)
    Shininess = property(_XCAFDoc.XCAFDoc_VisMaterialCommon_Shininess_get, _XCAFDoc.XCAFDoc_VisMaterialCommon_Shininess_set)
    Transparency = property(_XCAFDoc.XCAFDoc_VisMaterialCommon_Transparency_get, _XCAFDoc.XCAFDoc_VisMaterialCommon_Transparency_set)
    IsDefined = property(_XCAFDoc.XCAFDoc_VisMaterialCommon_IsDefined_get, _XCAFDoc.XCAFDoc_VisMaterialCommon_IsDefined_set)

    def __init__(self, *args):
        r"""
        Empty constructor.

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_VisMaterialCommon_swiginit(self, _XCAFDoc.new_XCAFDoc_VisMaterialCommon(*args))

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_VisMaterialCommon self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_VisMaterialCommon_DumpJsonToString(self, depth)

    def IsEqual(self, *args) -> "Standard_Boolean":
        r"""
        Compare two materials.

        Parameters
        ----------
        theOther: XCAFDoc_VisMaterialCommon

        Returns
        -------
        bool

        """
        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
    BaseColorTexture = property(_XCAFDoc.XCAFDoc_VisMaterialPBR_BaseColorTexture_get, _XCAFDoc.XCAFDoc_VisMaterialPBR_BaseColorTexture_set)
    MetallicRoughnessTexture = property(_XCAFDoc.XCAFDoc_VisMaterialPBR_MetallicRoughnessTexture_get, _XCAFDoc.XCAFDoc_VisMaterialPBR_MetallicRoughnessTexture_set)
    EmissiveTexture = property(_XCAFDoc.XCAFDoc_VisMaterialPBR_EmissiveTexture_get, _XCAFDoc.XCAFDoc_VisMaterialPBR_EmissiveTexture_set)
    OcclusionTexture = property(_XCAFDoc.XCAFDoc_VisMaterialPBR_OcclusionTexture_get, _XCAFDoc.XCAFDoc_VisMaterialPBR_OcclusionTexture_set)
    NormalTexture = property(_XCAFDoc.XCAFDoc_VisMaterialPBR_NormalTexture_get, _XCAFDoc.XCAFDoc_VisMaterialPBR_NormalTexture_set)
    BaseColor = property(_XCAFDoc.XCAFDoc_VisMaterialPBR_BaseColor_get, _XCAFDoc.XCAFDoc_VisMaterialPBR_BaseColor_set)
    EmissiveFactor = property(_XCAFDoc.XCAFDoc_VisMaterialPBR_EmissiveFactor_get, _XCAFDoc.XCAFDoc_VisMaterialPBR_EmissiveFactor_set)
    Metallic = property(_XCAFDoc.XCAFDoc_VisMaterialPBR_Metallic_get, _XCAFDoc.XCAFDoc_VisMaterialPBR_Metallic_set)
    Roughness = property(_XCAFDoc.XCAFDoc_VisMaterialPBR_Roughness_get, _XCAFDoc.XCAFDoc_VisMaterialPBR_Roughness_set)
    RefractionIndex = property(_XCAFDoc.XCAFDoc_VisMaterialPBR_RefractionIndex_get, _XCAFDoc.XCAFDoc_VisMaterialPBR_RefractionIndex_set)
    IsDefined = property(_XCAFDoc.XCAFDoc_VisMaterialPBR_IsDefined_get, _XCAFDoc.XCAFDoc_VisMaterialPBR_IsDefined_set)

    def __init__(self, *args):
        r"""
        Empty constructor.

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_VisMaterialPBR_swiginit(self, _XCAFDoc.new_XCAFDoc_VisMaterialPBR(*args))

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_VisMaterialPBR self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_VisMaterialPBR_DumpJsonToString(self, depth)

    def IsEqual(self, *args) -> "Standard_Boolean":
        r"""
        Compare two materials.

        Parameters
        ----------
        theOther: XCAFDoc_VisMaterialPBR

        Returns
        -------
        bool

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

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_VisMaterialTool_swiginit(self, _XCAFDoc.new_XCAFDoc_VisMaterialTool(*args))

    def AddMaterial(self, *args) -> "TDF_Label":
        r"""
        Adds material definition to a material table and returns its label.

        Parameters
        ----------
        theMat: XCAFDoc_VisMaterial
        theName: TCollection_AsciiString

        Returns
        -------
        TDF_Label
        Adds material definition to a material table and returns its label.

        Parameters
        ----------
        theName: TCollection_AsciiString

        Returns
        -------
        TDF_Label

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

    def BaseLabel(self, *args) -> "TDF_Label":
        r"""
        Returns the label under which colors are stored.

        Returns
        -------
        TDF_Label

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

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_VisMaterialTool_GetID(*args)

    def GetMaterial(self, *args) -> "opencascade::handle< XCAFDoc_VisMaterial >":
        r"""
        Returns material defined by specified label, or null if the label is not in material table.

        Parameters
        ----------
        theMatLabel: TDF_Label

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

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

    def GetMaterials(self, *args) -> "void":
        r"""
        Returns a sequence of materials currently stored in the material table.

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

        Returns
        -------
        None

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

    def GetShapeMaterial(self, *args) -> "opencascade::handle< XCAFDoc_VisMaterial >":
        r"""
        Returns label with material assigned to shape label. @param theshapelabel [in] shape label @param themateriallabel [out] material label returns false if no material is assigned.

        Parameters
        ----------
        theShapeLabel: TDF_Label
        theMaterialLabel: TDF_Label

        Returns
        -------
        bool
        Returns material assigned to the shape label.

        Parameters
        ----------
        theShapeLabel: TDF_Label

        Returns
        -------
        opencascade::handle<XCAFDoc_VisMaterial>
        Returns label with material assigned to shape. @param theshape [in] shape @param themateriallabel [out] material label returns false if no material is assigned.

        Parameters
        ----------
        theShape: TopoDS_Shape
        theMaterialLabel: TDF_Label

        Returns
        -------
        bool
        Returns material assigned to shape or null if not assigned.

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

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

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

    def IsMaterial(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if label belongs to a material table.

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

        Returns
        -------
        bool

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

    def IsSetShapeMaterial(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if label has a material assignment.

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

        Returns
        -------
        bool
        Returns true if shape has a material assignment.

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

        Returns
        -------
        bool

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

    def RemoveMaterial(self, *args) -> "void":
        r"""
        Removes material from the material table.

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

        Returns
        -------
        None

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

    @staticmethod
    def Set(*args) -> "opencascade::handle< XCAFDoc_VisMaterialTool >":
        r"""
        Creates (if not exist) colortool.

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

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

        """
        return _XCAFDoc.XCAFDoc_VisMaterialTool_Set(*args)

    def SetShapeMaterial(self, *args) -> "Standard_Boolean":
        r"""
        Sets new material to the shape.

        Parameters
        ----------
        theShapeLabel: TDF_Label
        theMaterialLabel: TDF_Label

        Returns
        -------
        None
        Sets a link with guid xcafdoc::vismaterialrefguid() from shape label to material label. @param theshape [in] shape @param themateriallabel [in] material label returns false if cannot find a label for shape.

        Parameters
        ----------
        theShape: TopoDS_Shape
        theMaterialLabel: TDF_Label

        Returns
        -------
        bool

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

    def ShapeTool(self, *args) -> "opencascade::handle< XCAFDoc_ShapeTool > const &":
        r"""
        Returns internal xcafdoc_shapetool tool.

        Returns
        -------
        opencascade::handle<XCAFDoc_ShapeTool>

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

    def UnSetShapeMaterial(self, *args) -> "Standard_Boolean":
        r"""
        Removes a link with guid xcafdoc::vismaterialrefguid() from shape label to material.

        Parameters
        ----------
        theShapeLabel: TDF_Label

        Returns
        -------
        None
        Removes a link with guid xcafdoc::vismaterialrefguid() from shape label to material. returns true if such link existed.

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

        Returns
        -------
        bool

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

def XCAFDoc_VisMaterialTool_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_VisMaterialTool_GetID(*args)

def XCAFDoc_VisMaterialTool_Set(*args) -> "opencascade::handle< XCAFDoc_VisMaterialTool >":
    r"""
    Creates (if not exist) colortool.

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

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

    """
    return _XCAFDoc.XCAFDoc_VisMaterialTool_Set(*args)

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"""
        Class methods =============.

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_Volume_swiginit(self, _XCAFDoc.new_XCAFDoc_Volume(*args))

    def DumpToString(self) -> "std::string":
        r"""DumpToString(XCAFDoc_Volume self) -> std::string"""
        return _XCAFDoc.XCAFDoc_Volume_DumpToString(self)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(XCAFDoc_Volume self, int depth=-1) -> std::string"""
        return _XCAFDoc.XCAFDoc_Volume_DumpJsonToString(self, depth)

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

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

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

        Returns
        -------
        vol: float

        """
        return _XCAFDoc.XCAFDoc_Volume_Get(*args)

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        No available documentation.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_Volume_GetID(*args)

    @staticmethod
    def Set(*args) -> "opencascade::handle< XCAFDoc_Volume >":
        r"""
        Sets a value of volume.

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

        Returns
        -------
        None
        Find, or create, an volume attribute and set its value.

        Parameters
        ----------
        label: TDF_Label
        vol: float

        Returns
        -------
        opencascade::handle<XCAFDoc_Volume>

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

def XCAFDoc_Volume_Get(*args) -> "Standard_Real &":
    r"""
    No available documentation.

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

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

    Returns
    -------
    vol: float

    """
    return _XCAFDoc.XCAFDoc_Volume_Get(*args)

def XCAFDoc_Volume_GetID(*args) -> "Standard_GUID const &":
    r"""
    No available documentation.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_Volume_GetID(*args)

def XCAFDoc_Volume_Set(*args) -> "opencascade::handle< XCAFDoc_Volume >":
    r"""
    Sets a value of volume.

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

    Returns
    -------
    None
    Find, or create, an volume attribute and set its value.

    Parameters
    ----------
    label: TDF_Label
    vol: float

    Returns
    -------
    opencascade::handle<XCAFDoc_Volume>

    """
    return _XCAFDoc.XCAFDoc_Volume_Set(*args)

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"""
        Creates an empty binary data note.

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_NoteBinData_swiginit(self, _XCAFDoc.new_XCAFDoc_NoteBinData(*args))

    def Data(self, *args) -> "opencascade::handle< TColStd_HArray1OfByte > const &":
        r"""
        Returns byte data array.

        Returns
        -------
        opencascade::handle<TColStd_HArray1OfByte>

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

    def DumpToString(self) -> "std::string":
        r"""DumpToString(XCAFDoc_NoteBinData self) -> std::string"""
        return _XCAFDoc.XCAFDoc_NoteBinData_DumpToString(self)

    @staticmethod
    def Get(*args) -> "opencascade::handle< XCAFDoc_NoteBinData >":
        r"""
        Finds a binary data attribute on the given label and returns it, if it is found.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_NoteBinData>

        """
        return _XCAFDoc.XCAFDoc_NoteBinData_Get(*args)

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        Returns default attribute guid.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_NoteBinData_GetID(*args)

    def MIMEtype(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Returns data mime type.

        Returns
        -------
        TCollection_AsciiString

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

    def Set(self, *args) -> "void":
        r"""
        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: TCollection_ExtendedString
        theTimeStamp: TCollection_ExtendedString
        theTitle: TCollection_ExtendedString
        theMIMEtype: TCollection_AsciiString
        theFile: OSD_File

        Returns
        -------
        opencascade::handle<XCAFDoc_NoteBinData>
        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
        ----------
        theLabel: TDF_Label
        theUserName: TCollection_ExtendedString
        theTimeStamp: TCollection_ExtendedString
        theTitle: TCollection_ExtendedString
        theMIMEtype: TCollection_AsciiString
        theData: TColStd_HArray1OfByte

        Returns
        -------
        opencascade::handle<XCAFDoc_NoteBinData>
        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: TCollection_ExtendedString
        theMIMEtype: TCollection_AsciiString
        theFile: OSD_File

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

        Parameters
        ----------
        theTitle: TCollection_ExtendedString
        theMIMEtype: TCollection_AsciiString
        theData: TColStd_HArray1OfByte

        Returns
        -------
        None

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

    def Size(self, *args) -> "Standard_Integer":
        r"""
        Size of data in bytes.

        Returns
        -------
        int

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

    def Title(self, *args) -> "TCollection_ExtendedString const &":
        r"""
        Returns the note title.

        Returns
        -------
        TCollection_ExtendedString

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

def XCAFDoc_NoteBinData_Get(*args) -> "opencascade::handle< XCAFDoc_NoteBinData >":
    r"""
    Finds a binary data attribute on the given label and returns it, if it is found.

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

    Returns
    -------
    opencascade::handle<XCAFDoc_NoteBinData>

    """
    return _XCAFDoc.XCAFDoc_NoteBinData_Get(*args)

def XCAFDoc_NoteBinData_GetID(*args) -> "Standard_GUID const &":
    r"""
    Returns default attribute guid.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_NoteBinData_GetID(*args)

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

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_NoteComment_swiginit(self, _XCAFDoc.new_XCAFDoc_NoteComment(*args))

    def Comment(self, *args) -> "TCollection_ExtendedString const &":
        r"""
        Returns the comment text.

        Returns
        -------
        TCollection_ExtendedString

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

    def DumpToString(self) -> "std::string":
        r"""DumpToString(XCAFDoc_NoteComment self) -> std::string"""
        return _XCAFDoc.XCAFDoc_NoteComment_DumpToString(self)

    @staticmethod
    def Get(*args) -> "opencascade::handle< XCAFDoc_NoteComment >":
        r"""
        Finds a reference attribute on the given label and returns it, if it is found.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_NoteComment>

        """
        return _XCAFDoc.XCAFDoc_NoteComment_Get(*args)

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        Returns default attribute guid.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_NoteComment_GetID(*args)

    def Set(self, *args) -> "void":
        r"""
        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
        ----------
        theLabel: TDF_Label
        theUserName: TCollection_ExtendedString
        theTimeStamp: TCollection_ExtendedString
        theComment: TCollection_ExtendedString

        Returns
        -------
        opencascade::handle<XCAFDoc_NoteComment>
        Sets the comment text.

        Parameters
        ----------
        theComment: TCollection_ExtendedString

        Returns
        -------
        None

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

def XCAFDoc_NoteComment_Get(*args) -> "opencascade::handle< XCAFDoc_NoteComment >":
    r"""
    Finds a reference attribute on the given label and returns it, if it is found.

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

    Returns
    -------
    opencascade::handle<XCAFDoc_NoteComment>

    """
    return _XCAFDoc.XCAFDoc_NoteComment_Get(*args)

def XCAFDoc_NoteComment_GetID(*args) -> "Standard_GUID const &":
    r"""
    Returns default attribute guid.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_NoteComment_GetID(*args)

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

        Returns
        -------
        None

        """
        _XCAFDoc.XCAFDoc_NoteBalloon_swiginit(self, _XCAFDoc.new_XCAFDoc_NoteBalloon(*args))

    @staticmethod
    def Get(*args) -> "opencascade::handle< XCAFDoc_NoteBalloon >":
        r"""
        Finds a reference attribute on the given label and returns it, if it is found.

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

        Returns
        -------
        opencascade::handle<XCAFDoc_NoteBalloon>

        """
        return _XCAFDoc.XCAFDoc_NoteBalloon_Get(*args)

    @staticmethod
    def GetID(*args) -> "Standard_GUID const &":
        r"""
        Returns default attribute guid.

        Returns
        -------
        Standard_GUID

        """
        return _XCAFDoc.XCAFDoc_NoteBalloon_GetID(*args)

    @staticmethod
    def Set(*args) -> "opencascade::handle< XCAFDoc_NoteBalloon >":
        r"""
        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
        ----------
        theLabel: TDF_Label
        theUserName: TCollection_ExtendedString
        theTimeStamp: TCollection_ExtendedString
        theComment: TCollection_ExtendedString

        Returns
        -------
        opencascade::handle<XCAFDoc_NoteBalloon>

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

def XCAFDoc_NoteBalloon_Get(*args) -> "opencascade::handle< XCAFDoc_NoteBalloon >":
    r"""
    Finds a reference attribute on the given label and returns it, if it is found.

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

    Returns
    -------
    opencascade::handle<XCAFDoc_NoteBalloon>

    """
    return _XCAFDoc.XCAFDoc_NoteBalloon_Get(*args)

def XCAFDoc_NoteBalloon_GetID(*args) -> "Standard_GUID const &":
    r"""
    Returns default attribute guid.

    Returns
    -------
    Standard_GUID

    """
    return _XCAFDoc.XCAFDoc_NoteBalloon_GetID(*args)

def XCAFDoc_NoteBalloon_Set(*args) -> "opencascade::handle< XCAFDoc_NoteBalloon >":
    r"""
    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
    ----------
    theLabel: TDF_Label
    theUserName: TCollection_ExtendedString
    theTimeStamp: TCollection_ExtendedString
    theComment: TCollection_ExtendedString

    Returns
    -------
    opencascade::handle<XCAFDoc_NoteBalloon>

    """
    return _XCAFDoc.XCAFDoc_NoteBalloon_Set(*args)


@classnotwrapped
class XCAFDoc_GeomTolerance:
	pass



XCAFDoc_PartId=OCC.Core.TCollection.TCollection_AsciiString



