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

"""
RWGltf module, see official documentation at
https://www.opencascade.com/doc/occt-7.7.0/refman/html/package_rwgltf.html
"""

from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _RWGltf
else:
    import _RWGltf

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except __builtin__.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)


def _swig_setattr_nondynamic_instance_variable(set):
    def set_instance_attr(self, name, value):
        if name == "this":
            set(self, name, value)
        elif name == "thisown":
            self.this.own(value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register SwigPyIterator in _RWGltf:
_RWGltf.SwigPyIterator_swigregister(SwigPyIterator)

def _dumps_object(klass):
    """ Overwrite default string output for any wrapped object.
    By default, __repr__ method returns something like:
    <OCC.Core.TopoDS.TopoDS_Shape; proxy of <Swig Object of type 'TopoDS_Shape *' at 0x02BB0758> >
    This is too much verbose.
    We prefer :
    <class 'gp_Pnt'>
    or
    <class 'TopoDS_Shape'>
    """
    klass_name = str(klass.__class__).split(".")[3].split("'")[0]
    repr_string = "<class '" + klass_name + "'"
# for TopoDS_Shape, we also look for the base type
    if klass_name == "TopoDS_Shape":
        if klass.IsNull():
            repr_string += ": Null>"
            return repr_string
        st = klass.ShapeType()
        types = {OCC.Core.TopAbs.TopAbs_VERTEX: "Vertex",
                 OCC.Core.TopAbs.TopAbs_SOLID: "Solid",
                 OCC.Core.TopAbs.TopAbs_EDGE: "Edge",
                 OCC.Core.TopAbs.TopAbs_FACE: "Face",
                 OCC.Core.TopAbs.TopAbs_SHELL: "Shell",
                 OCC.Core.TopAbs.TopAbs_WIRE: "Wire",
                 OCC.Core.TopAbs.TopAbs_COMPOUND: "Compound",
                 OCC.Core.TopAbs.TopAbs_COMPSOLID: "Compsolid"}
        repr_string += "; Type:%s" % types[st]        
    elif hasattr(klass, "IsNull"):
        if klass.IsNull():
            repr_string += "; Null"
    repr_string += ">"
    return repr_string


def process_exception(error, method_name, class_name):
    return _RWGltf.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.RWMesh
import OCC.Core.TDF
import OCC.Core.TCollection
import OCC.Core.TColStd
import OCC.Core.TDocStd
import OCC.Core.CDF
import OCC.Core.CDM
import OCC.Core.Message
import OCC.Core.OSD
import OCC.Core.Resource
import OCC.Core.PCDM
import OCC.Core.Storage
import OCC.Core.gp
import OCC.Core.TopoDS
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.Graphic3d
import OCC.Core.BVH
import OCC.Core.Quantity
import OCC.Core.Aspect
import OCC.Core.Image
import OCC.Core.Bnd
import OCC.Core.TColgp
import OCC.Core.Media
import OCC.Core.XCAFPrs
import OCC.Core.AIS
import OCC.Core.SelectMgr
import OCC.Core.Select3D
import OCC.Core.SelectBasics
import OCC.Core.Geom
import OCC.Core.GeomAbs
import OCC.Core.PrsMgr
import OCC.Core.Prs3d
import OCC.Core.Poly
import OCC.Core.TShort
import OCC.Core.V3d
import OCC.Core.StdSelect
import OCC.Core.TopTools
import OCC.Core.XCAFDoc
import OCC.Core.TDataStd
import OCC.Core.XCAFDimTolObjects
import OCC.Core.UnitsMethods
import OCC.Core.XCAFNoteObjects
import OCC.Core.XCAFView
import OCC.Core.TPrsStd
import OCC.Core.TDataXtd
import OCC.Core.TNaming
import OCC.Core.DE
import OCC.Core.XSControl
import OCC.Core.IFSelect
import OCC.Core.Interface
import OCC.Core.MoniTool
import OCC.Core.Transfer
import OCC.Core.Geom2d

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

RWGltf_WriterTrsfFormat_LOWER = _RWGltf.RWGltf_WriterTrsfFormat_LOWER
RWGltf_WriterTrsfFormat_UPPER = _RWGltf.RWGltf_WriterTrsfFormat_UPPER
RWGltf_GltfAccessorCompType_UNKNOWN = _RWGltf.RWGltf_GltfAccessorCompType_UNKNOWN
RWGltf_GltfAccessorCompType_Int8 = _RWGltf.RWGltf_GltfAccessorCompType_Int8
RWGltf_GltfAccessorCompType_UInt8 = _RWGltf.RWGltf_GltfAccessorCompType_UInt8
RWGltf_GltfAccessorCompType_Int16 = _RWGltf.RWGltf_GltfAccessorCompType_Int16
RWGltf_GltfAccessorCompType_UInt16 = _RWGltf.RWGltf_GltfAccessorCompType_UInt16
RWGltf_GltfAccessorCompType_UInt32 = _RWGltf.RWGltf_GltfAccessorCompType_UInt32
RWGltf_GltfAccessorCompType_Float32 = _RWGltf.RWGltf_GltfAccessorCompType_Float32
RWGltf_GltfAccessorLayout_UNKNOWN = _RWGltf.RWGltf_GltfAccessorLayout_UNKNOWN
RWGltf_GltfAccessorLayout_Scalar = _RWGltf.RWGltf_GltfAccessorLayout_Scalar
RWGltf_GltfAccessorLayout_Vec2 = _RWGltf.RWGltf_GltfAccessorLayout_Vec2
RWGltf_GltfAccessorLayout_Vec3 = _RWGltf.RWGltf_GltfAccessorLayout_Vec3
RWGltf_GltfAccessorLayout_Vec4 = _RWGltf.RWGltf_GltfAccessorLayout_Vec4
RWGltf_GltfAccessorLayout_Mat2 = _RWGltf.RWGltf_GltfAccessorLayout_Mat2
RWGltf_GltfAccessorLayout_Mat3 = _RWGltf.RWGltf_GltfAccessorLayout_Mat3
RWGltf_GltfAccessorLayout_Mat4 = _RWGltf.RWGltf_GltfAccessorLayout_Mat4
RWGltf_GltfAlphaMode_Opaque = _RWGltf.RWGltf_GltfAlphaMode_Opaque
RWGltf_GltfAlphaMode_Mask = _RWGltf.RWGltf_GltfAlphaMode_Mask
RWGltf_GltfAlphaMode_Blend = _RWGltf.RWGltf_GltfAlphaMode_Blend
RWGltf_GltfArrayType_UNKNOWN = _RWGltf.RWGltf_GltfArrayType_UNKNOWN
RWGltf_GltfArrayType_Indices = _RWGltf.RWGltf_GltfArrayType_Indices
RWGltf_GltfArrayType_Position = _RWGltf.RWGltf_GltfArrayType_Position
RWGltf_GltfArrayType_Normal = _RWGltf.RWGltf_GltfArrayType_Normal
RWGltf_GltfArrayType_Color = _RWGltf.RWGltf_GltfArrayType_Color
RWGltf_GltfArrayType_TCoord0 = _RWGltf.RWGltf_GltfArrayType_TCoord0
RWGltf_GltfArrayType_TCoord1 = _RWGltf.RWGltf_GltfArrayType_TCoord1
RWGltf_GltfArrayType_Joint = _RWGltf.RWGltf_GltfArrayType_Joint
RWGltf_GltfArrayType_Weight = _RWGltf.RWGltf_GltfArrayType_Weight
RWGltf_GltfBufferViewTarget_UNKNOWN = _RWGltf.RWGltf_GltfBufferViewTarget_UNKNOWN
RWGltf_GltfBufferViewTarget_ARRAY_BUFFER = _RWGltf.RWGltf_GltfBufferViewTarget_ARRAY_BUFFER
RWGltf_GltfBufferViewTarget_ELEMENT_ARRAY_BUFFER = _RWGltf.RWGltf_GltfBufferViewTarget_ELEMENT_ARRAY_BUFFER
RWGltf_GltfPrimitiveMode_UNKNOWN = _RWGltf.RWGltf_GltfPrimitiveMode_UNKNOWN
RWGltf_GltfPrimitiveMode_Points = _RWGltf.RWGltf_GltfPrimitiveMode_Points
RWGltf_GltfPrimitiveMode_Lines = _RWGltf.RWGltf_GltfPrimitiveMode_Lines
RWGltf_GltfPrimitiveMode_LineLoop = _RWGltf.RWGltf_GltfPrimitiveMode_LineLoop
RWGltf_GltfPrimitiveMode_LineStrip = _RWGltf.RWGltf_GltfPrimitiveMode_LineStrip
RWGltf_GltfPrimitiveMode_Triangles = _RWGltf.RWGltf_GltfPrimitiveMode_Triangles
RWGltf_GltfPrimitiveMode_TriangleStrip = _RWGltf.RWGltf_GltfPrimitiveMode_TriangleStrip
RWGltf_GltfPrimitiveMode_TriangleFan = _RWGltf.RWGltf_GltfPrimitiveMode_TriangleFan
RWGltf_GltfRootElement_Asset = _RWGltf.RWGltf_GltfRootElement_Asset
RWGltf_GltfRootElement_Scenes = _RWGltf.RWGltf_GltfRootElement_Scenes
RWGltf_GltfRootElement_Scene = _RWGltf.RWGltf_GltfRootElement_Scene
RWGltf_GltfRootElement_Nodes = _RWGltf.RWGltf_GltfRootElement_Nodes
RWGltf_GltfRootElement_Meshes = _RWGltf.RWGltf_GltfRootElement_Meshes
RWGltf_GltfRootElement_Accessors = _RWGltf.RWGltf_GltfRootElement_Accessors
RWGltf_GltfRootElement_BufferViews = _RWGltf.RWGltf_GltfRootElement_BufferViews
RWGltf_GltfRootElement_Buffers = _RWGltf.RWGltf_GltfRootElement_Buffers
RWGltf_GltfRootElement_NB_MANDATORY = _RWGltf.RWGltf_GltfRootElement_NB_MANDATORY
RWGltf_GltfRootElement_Animations = _RWGltf.RWGltf_GltfRootElement_Animations
RWGltf_GltfRootElement_Materials = _RWGltf.RWGltf_GltfRootElement_Materials
RWGltf_GltfRootElement_Programs = _RWGltf.RWGltf_GltfRootElement_Programs
RWGltf_GltfRootElement_Samplers = _RWGltf.RWGltf_GltfRootElement_Samplers
RWGltf_GltfRootElement_Shaders = _RWGltf.RWGltf_GltfRootElement_Shaders
RWGltf_GltfRootElement_Skins = _RWGltf.RWGltf_GltfRootElement_Skins
RWGltf_GltfRootElement_Techniques = _RWGltf.RWGltf_GltfRootElement_Techniques
RWGltf_GltfRootElement_Textures = _RWGltf.RWGltf_GltfRootElement_Textures
RWGltf_GltfRootElement_Images = _RWGltf.RWGltf_GltfRootElement_Images
RWGltf_GltfRootElement_ExtensionsUsed = _RWGltf.RWGltf_GltfRootElement_ExtensionsUsed
RWGltf_GltfRootElement_ExtensionsRequired = _RWGltf.RWGltf_GltfRootElement_ExtensionsRequired
RWGltf_GltfRootElement_NB = _RWGltf.RWGltf_GltfRootElement_NB
RWGltf_WriterTrsfFormat_Compact = _RWGltf.RWGltf_WriterTrsfFormat_Compact
RWGltf_WriterTrsfFormat_Mat4 = _RWGltf.RWGltf_WriterTrsfFormat_Mat4
RWGltf_WriterTrsfFormat_TRS = _RWGltf.RWGltf_WriterTrsfFormat_TRS


class RWGltf_GltfAccessorCompType(IntEnum):
	RWGltf_GltfAccessorCompType_UNKNOWN = 0
	RWGltf_GltfAccessorCompType_Int8 = 5120
	RWGltf_GltfAccessorCompType_UInt8 = 5121
	RWGltf_GltfAccessorCompType_Int16 = 5122
	RWGltf_GltfAccessorCompType_UInt16 = 5123
	RWGltf_GltfAccessorCompType_UInt32 = 5125
	RWGltf_GltfAccessorCompType_Float32 = 5126
RWGltf_GltfAccessorCompType_UNKNOWN = RWGltf_GltfAccessorCompType.RWGltf_GltfAccessorCompType_UNKNOWN
RWGltf_GltfAccessorCompType_Int8 = RWGltf_GltfAccessorCompType.RWGltf_GltfAccessorCompType_Int8
RWGltf_GltfAccessorCompType_UInt8 = RWGltf_GltfAccessorCompType.RWGltf_GltfAccessorCompType_UInt8
RWGltf_GltfAccessorCompType_Int16 = RWGltf_GltfAccessorCompType.RWGltf_GltfAccessorCompType_Int16
RWGltf_GltfAccessorCompType_UInt16 = RWGltf_GltfAccessorCompType.RWGltf_GltfAccessorCompType_UInt16
RWGltf_GltfAccessorCompType_UInt32 = RWGltf_GltfAccessorCompType.RWGltf_GltfAccessorCompType_UInt32
RWGltf_GltfAccessorCompType_Float32 = RWGltf_GltfAccessorCompType.RWGltf_GltfAccessorCompType_Float32

class RWGltf_GltfAccessorLayout(IntEnum):
	RWGltf_GltfAccessorLayout_UNKNOWN = 0
	RWGltf_GltfAccessorLayout_Scalar = 1
	RWGltf_GltfAccessorLayout_Vec2 = 2
	RWGltf_GltfAccessorLayout_Vec3 = 3
	RWGltf_GltfAccessorLayout_Vec4 = 4
	RWGltf_GltfAccessorLayout_Mat2 = 5
	RWGltf_GltfAccessorLayout_Mat3 = 6
	RWGltf_GltfAccessorLayout_Mat4 = 7
RWGltf_GltfAccessorLayout_UNKNOWN = RWGltf_GltfAccessorLayout.RWGltf_GltfAccessorLayout_UNKNOWN
RWGltf_GltfAccessorLayout_Scalar = RWGltf_GltfAccessorLayout.RWGltf_GltfAccessorLayout_Scalar
RWGltf_GltfAccessorLayout_Vec2 = RWGltf_GltfAccessorLayout.RWGltf_GltfAccessorLayout_Vec2
RWGltf_GltfAccessorLayout_Vec3 = RWGltf_GltfAccessorLayout.RWGltf_GltfAccessorLayout_Vec3
RWGltf_GltfAccessorLayout_Vec4 = RWGltf_GltfAccessorLayout.RWGltf_GltfAccessorLayout_Vec4
RWGltf_GltfAccessorLayout_Mat2 = RWGltf_GltfAccessorLayout.RWGltf_GltfAccessorLayout_Mat2
RWGltf_GltfAccessorLayout_Mat3 = RWGltf_GltfAccessorLayout.RWGltf_GltfAccessorLayout_Mat3
RWGltf_GltfAccessorLayout_Mat4 = RWGltf_GltfAccessorLayout.RWGltf_GltfAccessorLayout_Mat4

class RWGltf_GltfAlphaMode(IntEnum):
	RWGltf_GltfAlphaMode_Opaque = 0
	RWGltf_GltfAlphaMode_Mask = 1
	RWGltf_GltfAlphaMode_Blend = 2
RWGltf_GltfAlphaMode_Opaque = RWGltf_GltfAlphaMode.RWGltf_GltfAlphaMode_Opaque
RWGltf_GltfAlphaMode_Mask = RWGltf_GltfAlphaMode.RWGltf_GltfAlphaMode_Mask
RWGltf_GltfAlphaMode_Blend = RWGltf_GltfAlphaMode.RWGltf_GltfAlphaMode_Blend

class RWGltf_GltfArrayType(IntEnum):
	RWGltf_GltfArrayType_UNKNOWN = 0
	RWGltf_GltfArrayType_Indices = 1
	RWGltf_GltfArrayType_Position = 2
	RWGltf_GltfArrayType_Normal = 3
	RWGltf_GltfArrayType_Color = 4
	RWGltf_GltfArrayType_TCoord0 = 5
	RWGltf_GltfArrayType_TCoord1 = 6
	RWGltf_GltfArrayType_Joint = 7
	RWGltf_GltfArrayType_Weight = 8
RWGltf_GltfArrayType_UNKNOWN = RWGltf_GltfArrayType.RWGltf_GltfArrayType_UNKNOWN
RWGltf_GltfArrayType_Indices = RWGltf_GltfArrayType.RWGltf_GltfArrayType_Indices
RWGltf_GltfArrayType_Position = RWGltf_GltfArrayType.RWGltf_GltfArrayType_Position
RWGltf_GltfArrayType_Normal = RWGltf_GltfArrayType.RWGltf_GltfArrayType_Normal
RWGltf_GltfArrayType_Color = RWGltf_GltfArrayType.RWGltf_GltfArrayType_Color
RWGltf_GltfArrayType_TCoord0 = RWGltf_GltfArrayType.RWGltf_GltfArrayType_TCoord0
RWGltf_GltfArrayType_TCoord1 = RWGltf_GltfArrayType.RWGltf_GltfArrayType_TCoord1
RWGltf_GltfArrayType_Joint = RWGltf_GltfArrayType.RWGltf_GltfArrayType_Joint
RWGltf_GltfArrayType_Weight = RWGltf_GltfArrayType.RWGltf_GltfArrayType_Weight

class RWGltf_GltfBufferViewTarget(IntEnum):
	RWGltf_GltfBufferViewTarget_UNKNOWN = 0
	RWGltf_GltfBufferViewTarget_ARRAY_BUFFER = 34962
	RWGltf_GltfBufferViewTarget_ELEMENT_ARRAY_BUFFER = 34963
RWGltf_GltfBufferViewTarget_UNKNOWN = RWGltf_GltfBufferViewTarget.RWGltf_GltfBufferViewTarget_UNKNOWN
RWGltf_GltfBufferViewTarget_ARRAY_BUFFER = RWGltf_GltfBufferViewTarget.RWGltf_GltfBufferViewTarget_ARRAY_BUFFER
RWGltf_GltfBufferViewTarget_ELEMENT_ARRAY_BUFFER = RWGltf_GltfBufferViewTarget.RWGltf_GltfBufferViewTarget_ELEMENT_ARRAY_BUFFER

class RWGltf_GltfPrimitiveMode(IntEnum):
	RWGltf_GltfPrimitiveMode_UNKNOWN = - 1
	RWGltf_GltfPrimitiveMode_Points = 0
	RWGltf_GltfPrimitiveMode_Lines = 1
	RWGltf_GltfPrimitiveMode_LineLoop = 2
	RWGltf_GltfPrimitiveMode_LineStrip = 3
	RWGltf_GltfPrimitiveMode_Triangles = 4
	RWGltf_GltfPrimitiveMode_TriangleStrip = 5
	RWGltf_GltfPrimitiveMode_TriangleFan = 6
RWGltf_GltfPrimitiveMode_UNKNOWN = RWGltf_GltfPrimitiveMode.RWGltf_GltfPrimitiveMode_UNKNOWN
RWGltf_GltfPrimitiveMode_Points = RWGltf_GltfPrimitiveMode.RWGltf_GltfPrimitiveMode_Points
RWGltf_GltfPrimitiveMode_Lines = RWGltf_GltfPrimitiveMode.RWGltf_GltfPrimitiveMode_Lines
RWGltf_GltfPrimitiveMode_LineLoop = RWGltf_GltfPrimitiveMode.RWGltf_GltfPrimitiveMode_LineLoop
RWGltf_GltfPrimitiveMode_LineStrip = RWGltf_GltfPrimitiveMode.RWGltf_GltfPrimitiveMode_LineStrip
RWGltf_GltfPrimitiveMode_Triangles = RWGltf_GltfPrimitiveMode.RWGltf_GltfPrimitiveMode_Triangles
RWGltf_GltfPrimitiveMode_TriangleStrip = RWGltf_GltfPrimitiveMode.RWGltf_GltfPrimitiveMode_TriangleStrip
RWGltf_GltfPrimitiveMode_TriangleFan = RWGltf_GltfPrimitiveMode.RWGltf_GltfPrimitiveMode_TriangleFan

class RWGltf_GltfRootElement(IntEnum):
	RWGltf_GltfRootElement_Asset = 0
	RWGltf_GltfRootElement_Scenes = 1
	RWGltf_GltfRootElement_Scene = 2
	RWGltf_GltfRootElement_Nodes = 3
	RWGltf_GltfRootElement_Meshes = 4
	RWGltf_GltfRootElement_Accessors = 5
	RWGltf_GltfRootElement_BufferViews = 6
	RWGltf_GltfRootElement_Buffers = 7
	RWGltf_GltfRootElement_NB_MANDATORY = 8
	RWGltf_GltfRootElement_Animations = RWGltf_GltfRootElement_NB_MANDATORY
	RWGltf_GltfRootElement_Materials = 10
	RWGltf_GltfRootElement_Programs = 11
	RWGltf_GltfRootElement_Samplers = 12
	RWGltf_GltfRootElement_Shaders = 13
	RWGltf_GltfRootElement_Skins = 14
	RWGltf_GltfRootElement_Techniques = 15
	RWGltf_GltfRootElement_Textures = 16
	RWGltf_GltfRootElement_Images = 17
	RWGltf_GltfRootElement_ExtensionsUsed = 18
	RWGltf_GltfRootElement_ExtensionsRequired = 19
	RWGltf_GltfRootElement_NB = 20
RWGltf_GltfRootElement_Asset = RWGltf_GltfRootElement.RWGltf_GltfRootElement_Asset
RWGltf_GltfRootElement_Scenes = RWGltf_GltfRootElement.RWGltf_GltfRootElement_Scenes
RWGltf_GltfRootElement_Scene = RWGltf_GltfRootElement.RWGltf_GltfRootElement_Scene
RWGltf_GltfRootElement_Nodes = RWGltf_GltfRootElement.RWGltf_GltfRootElement_Nodes
RWGltf_GltfRootElement_Meshes = RWGltf_GltfRootElement.RWGltf_GltfRootElement_Meshes
RWGltf_GltfRootElement_Accessors = RWGltf_GltfRootElement.RWGltf_GltfRootElement_Accessors
RWGltf_GltfRootElement_BufferViews = RWGltf_GltfRootElement.RWGltf_GltfRootElement_BufferViews
RWGltf_GltfRootElement_Buffers = RWGltf_GltfRootElement.RWGltf_GltfRootElement_Buffers
RWGltf_GltfRootElement_NB_MANDATORY = RWGltf_GltfRootElement.RWGltf_GltfRootElement_NB_MANDATORY
RWGltf_GltfRootElement_Animations = RWGltf_GltfRootElement.RWGltf_GltfRootElement_Animations
RWGltf_GltfRootElement_Materials = RWGltf_GltfRootElement.RWGltf_GltfRootElement_Materials
RWGltf_GltfRootElement_Programs = RWGltf_GltfRootElement.RWGltf_GltfRootElement_Programs
RWGltf_GltfRootElement_Samplers = RWGltf_GltfRootElement.RWGltf_GltfRootElement_Samplers
RWGltf_GltfRootElement_Shaders = RWGltf_GltfRootElement.RWGltf_GltfRootElement_Shaders
RWGltf_GltfRootElement_Skins = RWGltf_GltfRootElement.RWGltf_GltfRootElement_Skins
RWGltf_GltfRootElement_Techniques = RWGltf_GltfRootElement.RWGltf_GltfRootElement_Techniques
RWGltf_GltfRootElement_Textures = RWGltf_GltfRootElement.RWGltf_GltfRootElement_Textures
RWGltf_GltfRootElement_Images = RWGltf_GltfRootElement.RWGltf_GltfRootElement_Images
RWGltf_GltfRootElement_ExtensionsUsed = RWGltf_GltfRootElement.RWGltf_GltfRootElement_ExtensionsUsed
RWGltf_GltfRootElement_ExtensionsRequired = RWGltf_GltfRootElement.RWGltf_GltfRootElement_ExtensionsRequired
RWGltf_GltfRootElement_NB = RWGltf_GltfRootElement.RWGltf_GltfRootElement_NB

class RWGltf_WriterTrsfFormat(IntEnum):
	RWGltf_WriterTrsfFormat_Compact = 0
	RWGltf_WriterTrsfFormat_Mat4 = 1
	RWGltf_WriterTrsfFormat_TRS = 2
RWGltf_WriterTrsfFormat_Compact = RWGltf_WriterTrsfFormat.RWGltf_WriterTrsfFormat_Compact
RWGltf_WriterTrsfFormat_Mat4 = RWGltf_WriterTrsfFormat.RWGltf_WriterTrsfFormat_Mat4
RWGltf_WriterTrsfFormat_TRS = RWGltf_WriterTrsfFormat.RWGltf_WriterTrsfFormat_TRS


def Handle_RWGltf_CafWriter_Create():
    return _RWGltf.Handle_RWGltf_CafWriter_Create()

def Handle_RWGltf_CafWriter_DownCast(t):
    return _RWGltf.Handle_RWGltf_CafWriter_DownCast(t)

def Handle_RWGltf_CafWriter_IsNull(t):
    return _RWGltf.Handle_RWGltf_CafWriter_IsNull(t)

def Handle_RWGltf_GltfFace_Create():
    return _RWGltf.Handle_RWGltf_GltfFace_Create()

def Handle_RWGltf_GltfFace_DownCast(t):
    return _RWGltf.Handle_RWGltf_GltfFace_DownCast(t)

def Handle_RWGltf_GltfFace_IsNull(t):
    return _RWGltf.Handle_RWGltf_GltfFace_IsNull(t)

def Handle_RWGltf_MaterialCommon_Create():
    return _RWGltf.Handle_RWGltf_MaterialCommon_Create()

def Handle_RWGltf_MaterialCommon_DownCast(t):
    return _RWGltf.Handle_RWGltf_MaterialCommon_DownCast(t)

def Handle_RWGltf_MaterialCommon_IsNull(t):
    return _RWGltf.Handle_RWGltf_MaterialCommon_IsNull(t)

def Handle_RWGltf_MaterialMetallicRoughness_Create():
    return _RWGltf.Handle_RWGltf_MaterialMetallicRoughness_Create()

def Handle_RWGltf_MaterialMetallicRoughness_DownCast(t):
    return _RWGltf.Handle_RWGltf_MaterialMetallicRoughness_DownCast(t)

def Handle_RWGltf_MaterialMetallicRoughness_IsNull(t):
    return _RWGltf.Handle_RWGltf_MaterialMetallicRoughness_IsNull(t)
class RWGltf_CafReader(OCC.Core.RWMesh.RWMesh_CafReader):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Empty constructor.

        """
        _RWGltf.RWGltf_CafReader_swiginit(self, _RWGltf.new_RWGltf_CafReader(*args))

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

        Description
        -----------
        Return flag to fill in triangulation using double or single precision; false by default.

        """
        return _RWGltf.RWGltf_CafReader_IsDoublePrecision(self, *args)

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

        Parameters
        ----------
        theIsDouble: bool

        Return
        -------
        None

        Description
        -----------
        Set flag to fill in triangulation using double or single precision.

        """
        return _RWGltf.RWGltf_CafReader_SetDoublePrecision(self, *args)

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

        Parameters
        ----------
        theToLoadAll: bool

        Return
        -------
        None

        Description
        -----------
        Set flag to flag to load all scenes in the document, false by default which means only main (default) scene will be loaded.

        """
        return _RWGltf.RWGltf_CafReader_SetLoadAllScenes(self, *args)

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

        Parameters
        ----------
        theToFallback: bool

        Return
        -------
        None

        Description
        -----------
        Set flag to use mesh name in case if node name is empty.

        """
        return _RWGltf.RWGltf_CafReader_SetMeshNameAsFallback(self, *args)

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

        Parameters
        ----------
        theToParallel: bool

        Return
        -------
        None

        Description
        -----------
        Setup multithreaded execution.

        """
        return _RWGltf.RWGltf_CafReader_SetParallel(self, *args)

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

        Parameters
        ----------
        theToSkip: bool

        Return
        -------
        None

        Description
        -----------
        Set flag to ignore nodes without geometry.

        """
        return _RWGltf.RWGltf_CafReader_SetSkipEmptyNodes(self, *args)

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

        Parameters
        ----------
        theToKeep: bool

        Return
        -------
        None

        Description
        -----------
        Sets flag to keep information about deferred storage to load/unload data later.

        """
        return _RWGltf.RWGltf_CafReader_SetToKeepLateData(self, *args)

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

        Parameters
        ----------
        theToPrint: bool

        Return
        -------
        None

        Description
        -----------
        Sets flag to print debug information.

        """
        return _RWGltf.RWGltf_CafReader_SetToPrintDebugMessages(self, *args)

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

        Parameters
        ----------
        theToSkip: bool

        Return
        -------
        None

        Description
        -----------
        Sets flag to skip data loading.

        """
        return _RWGltf.RWGltf_CafReader_SetToSkipLateDataLoading(self, *args)

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

        Description
        -----------
        Returns true if data should be loaded into itself without its transfering to new structure. it allows to keep information about deferred storage to load/unload this data later. true by default.

        """
        return _RWGltf.RWGltf_CafReader_ToKeepLateData(self, *args)

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

        Description
        -----------
        Return true if all scenes in the document should be loaded, false by default which means only main (default) scene will be loaded.

        """
        return _RWGltf.RWGltf_CafReader_ToLoadAllScenes(self, *args)

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

        Description
        -----------
        Return true if multithreaded optimizations are allowed; false by default.

        """
        return _RWGltf.RWGltf_CafReader_ToParallel(self, *args)

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

        Description
        -----------
        Returns true if additional debug information should be print; false by default.

        """
        return _RWGltf.RWGltf_CafReader_ToPrintDebugMessages(self, *args)

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

        Description
        -----------
        Return true if nodes without geometry should be ignored, true by default.

        """
        return _RWGltf.RWGltf_CafReader_ToSkipEmptyNodes(self, *args)

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

        Description
        -----------
        Returns true if data loading should be skipped and can be performed later; false by default.

        """
        return _RWGltf.RWGltf_CafReader_ToSkipLateDataLoading(self, *args)

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

        Description
        -----------
        Set flag to use mesh name in case if node name is empty, true by default.

        """
        return _RWGltf.RWGltf_CafReader_ToUseMeshNameAsFallback(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _RWGltf.delete_RWGltf_CafReader

# Register RWGltf_CafReader in _RWGltf:
_RWGltf.RWGltf_CafReader_swigregister(RWGltf_CafReader)
class RWGltf_CafWriter(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theFile: str
        theIsBinary: bool

        Return
        -------
        None

        Description
        -----------
        Main constructor. @param thefile [in] path to output gltf file @param theisbinary [in] flag to write into binary gltf format (.glb).

        """
        _RWGltf.RWGltf_CafWriter_swiginit(self, _RWGltf.new_RWGltf_CafWriter(*args))

    def ChangeCoordinateSystemConverter(self, *args):
        r"""
        Return
        -------
        RWMesh_CoordinateSystemConverter

        Description
        -----------
        Return transformation from occt to gltf coordinate system.

        """
        return _RWGltf.RWGltf_CafWriter_ChangeCoordinateSystemConverter(self, *args)

    def CompressionParameters(self, *args):
        r"""
        Return
        -------
        RWGltf_DracoParameters

        Description
        -----------
        Return draco parameters.

        """
        return _RWGltf.RWGltf_CafWriter_CompressionParameters(self, *args)

    def CoordinateSystemConverter(self, *args):
        r"""
        Return
        -------
        RWMesh_CoordinateSystemConverter

        Description
        -----------
        Return transformation from occt to gltf coordinate system.

        """
        return _RWGltf.RWGltf_CafWriter_CoordinateSystemConverter(self, *args)

    def DefaultStyle(self, *args):
        r"""
        Return
        -------
        XCAFPrs_Style

        Description
        -----------
        Return default material definition to be used for nodes with only color defined.

        """
        return _RWGltf.RWGltf_CafWriter_DefaultStyle(self, *args)

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

        Description
        -----------
        Return flag to write into binary gltf format (.glb), specified within class constructor.

        """
        return _RWGltf.RWGltf_CafWriter_IsBinary(self, *args)

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

        Description
        -----------
        Return true to export uv coordinates even if there are no mapped texture; false by default.

        """
        return _RWGltf.RWGltf_CafWriter_IsForcedUVExport(self, *args)

    def MeshNameFormat(self, *args):
        r"""
        Return
        -------
        RWMesh_NameFormat

        Description
        -----------
        Return name format for exporting meshes; rwmesh_nameformat_product by default.

        """
        return _RWGltf.RWGltf_CafWriter_MeshNameFormat(self, *args)

    def NodeNameFormat(self, *args):
        r"""
        Return
        -------
        RWMesh_NameFormat

        Description
        -----------
        Return name format for exporting nodes; rwmesh_nameformat_instanceorproduct by default.

        """
        return _RWGltf.RWGltf_CafWriter_NodeNameFormat(self, *args)

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

        Parameters
        ----------
        theDocument: TDocStd_Document
        theRootLabels: TDF_LabelSequence
        theLabelFilter: TColStd_MapOfAsciiString *
        theFileInfo: TColStd_IndexedDataMapOfStringString
        theProgress: Message_ProgressRange

        Return
        -------
        bool

        Description
        -----------
        Write gltf file and associated binary file. triangulation data should be precomputed within shapes! @param thedocument [in] input document @param therootlabels [in] list of root shapes to export @param thelabelfilter [in] optional filter with document nodes to export,  with keys defined by xcafprs_documentexplorer::definechildid() and filled recursively  (leaves and parent assembly nodes at all levels);  when not null, all nodes not included into the map will be ignored @param thefileinfo [in] map with file metadata to put into gltf header section @param theprogress [in] optional progress indicator return false on file writing failure.

        Parameters
        ----------
        theDocument: TDocStd_Document
        theFileInfo: TColStd_IndexedDataMapOfStringString
        theProgress: Message_ProgressRange

        Return
        -------
        bool

        Description
        -----------
        Write gltf file and associated binary file. triangulation data should be precomputed within shapes! @param thedocument [in] input document @param thefileinfo [in] map with file metadata to put into gltf header section @param theprogress [in] optional progress indicator return false on file writing failure.

        """
        return _RWGltf.RWGltf_CafWriter_Perform(self, *args)

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

        Parameters
        ----------
        theDracoParameters: RWGltf_DracoParameters

        Return
        -------
        None

        Description
        -----------
        Set draco parameters.

        """
        return _RWGltf.RWGltf_CafWriter_SetCompressionParameters(self, *args)

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

        Parameters
        ----------
        theConverter: RWMesh_CoordinateSystemConverter

        Return
        -------
        None

        Description
        -----------
        Set transformation from occt to gltf coordinate system.

        """
        return _RWGltf.RWGltf_CafWriter_SetCoordinateSystemConverter(self, *args)

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

        Parameters
        ----------
        theStyle: XCAFPrs_Style

        Return
        -------
        None

        Description
        -----------
        Set default material definition to be used for nodes with only color defined.

        """
        return _RWGltf.RWGltf_CafWriter_SetDefaultStyle(self, *args)

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

        Parameters
        ----------
        theToForce: bool

        Return
        -------
        None

        Description
        -----------
        Set flag to export uv coordinates even if there are no mapped texture; false by default.

        """
        return _RWGltf.RWGltf_CafWriter_SetForcedUVExport(self, *args)

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

        Parameters
        ----------
        theToMerge: bool

        Return
        -------
        None

        Description
        -----------
        Set flag to merge faces within a single part. may reduce json size thanks to smaller number of primitive arrays.

        """
        return _RWGltf.RWGltf_CafWriter_SetMergeFaces(self, *args)

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

        Parameters
        ----------
        theFormat: RWMesh_NameFormat

        Return
        -------
        None

        Description
        -----------
        Set name format for exporting meshes.

        """
        return _RWGltf.RWGltf_CafWriter_SetMeshNameFormat(self, *args)

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

        Parameters
        ----------
        theFormat: RWMesh_NameFormat

        Return
        -------
        None

        Description
        -----------
        Set name format for exporting nodes.

        """
        return _RWGltf.RWGltf_CafWriter_SetNodeNameFormat(self, *args)

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

        Parameters
        ----------
        theToParallel: bool

        Return
        -------
        None

        Description
        -----------
        Setup multithreaded execution.

        """
        return _RWGltf.RWGltf_CafWriter_SetParallel(self, *args)

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

        Parameters
        ----------
        theToSplit: bool

        Return
        -------
        None

        Description
        -----------
        Set flag to prefer keeping 16-bit indexes while merging face. has effect only with tomergefaces() option turned on. may reduce binary data size thanks to smaller triangle indexes.

        """
        return _RWGltf.RWGltf_CafWriter_SetSplitIndices16(self, *args)

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

        Parameters
        ----------
        theToEmbedTexturesInGlb: bool

        Return
        -------
        None

        Description
        -----------
        Set flag to write image textures into glb file (binary gltf export).

        """
        return _RWGltf.RWGltf_CafWriter_SetToEmbedTexturesInGlb(self, *args)

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

        Parameters
        ----------
        theFormat: RWGltf_WriterTrsfFormat

        Return
        -------
        None

        Description
        -----------
        Set preferred transformation format for writing into gltf file.

        """
        return _RWGltf.RWGltf_CafWriter_SetTransformationFormat(self, *args)

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

        Description
        -----------
        Return flag to write image textures into glb file (binary gltf export); true by default. when set to false, texture images will be written as separate files. has no effect on writing into non-binary format.

        """
        return _RWGltf.RWGltf_CafWriter_ToEmbedTexturesInGlb(self, *args)

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

        Description
        -----------
        Return flag to merge faces within a single part; false by default.

        """
        return _RWGltf.RWGltf_CafWriter_ToMergeFaces(self, *args)

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

        Description
        -----------
        Return true if multithreaded optimizations are allowed; false by default.

        """
        return _RWGltf.RWGltf_CafWriter_ToParallel(self, *args)

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

        Description
        -----------
        Return flag to prefer keeping 16-bit indexes while merging face; false by default.

        """
        return _RWGltf.RWGltf_CafWriter_ToSplitIndices16(self, *args)

    def TransformationFormat(self, *args):
        r"""
        Return
        -------
        RWGltf_WriterTrsfFormat

        Description
        -----------
        Return preferred transformation format for writing into gltf file; rwgltf_writertrsfformat_compact by default.

        """
        return _RWGltf.RWGltf_CafWriter_TransformationFormat(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _RWGltf.delete_RWGltf_CafWriter

# Register RWGltf_CafWriter in _RWGltf:
_RWGltf.RWGltf_CafWriter_swigregister(RWGltf_CafWriter)
class RWGltf_ConfigurationNode(OCC.Core.DE.DE_ConfigurationNode):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    InternalParameters = property(_RWGltf.RWGltf_ConfigurationNode_InternalParameters_get, _RWGltf.RWGltf_ConfigurationNode_InternalParameters_set)

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

        Description
        -----------
        Initializes all field by default.

        Parameters
        ----------
        theNode: RWGltf_ConfigurationNode

        Return
        -------
        None

        Description
        -----------
        Copies values of all fields @param[in] thenode object to copy.

        """
        _RWGltf.RWGltf_ConfigurationNode_swiginit(self, _RWGltf.new_RWGltf_ConfigurationNode(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _RWGltf.delete_RWGltf_ConfigurationNode

# Register RWGltf_ConfigurationNode in _RWGltf:
_RWGltf.RWGltf_ConfigurationNode_swigregister(RWGltf_ConfigurationNode)
class RWGltf_DracoParameters(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    DracoCompression = property(_RWGltf.RWGltf_DracoParameters_DracoCompression_get, _RWGltf.RWGltf_DracoParameters_DracoCompression_set)
    CompressionLevel = property(_RWGltf.RWGltf_DracoParameters_CompressionLevel_get, _RWGltf.RWGltf_DracoParameters_CompressionLevel_set)
    QuantizePositionBits = property(_RWGltf.RWGltf_DracoParameters_QuantizePositionBits_get, _RWGltf.RWGltf_DracoParameters_QuantizePositionBits_set)
    QuantizeNormalBits = property(_RWGltf.RWGltf_DracoParameters_QuantizeNormalBits_get, _RWGltf.RWGltf_DracoParameters_QuantizeNormalBits_set)
    QuantizeTexcoordBits = property(_RWGltf.RWGltf_DracoParameters_QuantizeTexcoordBits_get, _RWGltf.RWGltf_DracoParameters_QuantizeTexcoordBits_set)
    QuantizeColorBits = property(_RWGltf.RWGltf_DracoParameters_QuantizeColorBits_get, _RWGltf.RWGltf_DracoParameters_QuantizeColorBits_set)
    QuantizeGenericBits = property(_RWGltf.RWGltf_DracoParameters_QuantizeGenericBits_get, _RWGltf.RWGltf_DracoParameters_QuantizeGenericBits_set)
    UnifiedQuantization = property(_RWGltf.RWGltf_DracoParameters_UnifiedQuantization_get, _RWGltf.RWGltf_DracoParameters_UnifiedQuantization_set)

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

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

        """
        _RWGltf.RWGltf_DracoParameters_swiginit(self, _RWGltf.new_RWGltf_DracoParameters(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _RWGltf.delete_RWGltf_DracoParameters

# Register RWGltf_DracoParameters in _RWGltf:
_RWGltf.RWGltf_DracoParameters_swigregister(RWGltf_DracoParameters)
class RWGltf_GltfAccessor(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Id = property(_RWGltf.RWGltf_GltfAccessor_Id_get, _RWGltf.RWGltf_GltfAccessor_Id_set)
    ByteOffset = property(_RWGltf.RWGltf_GltfAccessor_ByteOffset_get, _RWGltf.RWGltf_GltfAccessor_ByteOffset_set)
    Count = property(_RWGltf.RWGltf_GltfAccessor_Count_get, _RWGltf.RWGltf_GltfAccessor_Count_set)
    ByteStride = property(_RWGltf.RWGltf_GltfAccessor_ByteStride_get, _RWGltf.RWGltf_GltfAccessor_ByteStride_set)
    Type = property(_RWGltf.RWGltf_GltfAccessor_Type_get, _RWGltf.RWGltf_GltfAccessor_Type_set)
    ComponentType = property(_RWGltf.RWGltf_GltfAccessor_ComponentType_get, _RWGltf.RWGltf_GltfAccessor_ComponentType_set)
    BndBox = property(_RWGltf.RWGltf_GltfAccessor_BndBox_get, _RWGltf.RWGltf_GltfAccessor_BndBox_set)
    IsCompressed = property(_RWGltf.RWGltf_GltfAccessor_IsCompressed_get, _RWGltf.RWGltf_GltfAccessor_IsCompressed_set)

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

        Description
        -----------
        Empty constructor.

        """
        _RWGltf.RWGltf_GltfAccessor_swiginit(self, _RWGltf.new_RWGltf_GltfAccessor(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _RWGltf.delete_RWGltf_GltfAccessor

# Register RWGltf_GltfAccessor in _RWGltf:
_RWGltf.RWGltf_GltfAccessor_swigregister(RWGltf_GltfAccessor)
class RWGltf_GltfBufferView(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Id = property(_RWGltf.RWGltf_GltfBufferView_Id_get, _RWGltf.RWGltf_GltfBufferView_Id_set)
    ByteOffset = property(_RWGltf.RWGltf_GltfBufferView_ByteOffset_get, _RWGltf.RWGltf_GltfBufferView_ByteOffset_set)
    ByteLength = property(_RWGltf.RWGltf_GltfBufferView_ByteLength_get, _RWGltf.RWGltf_GltfBufferView_ByteLength_set)
    ByteStride = property(_RWGltf.RWGltf_GltfBufferView_ByteStride_get, _RWGltf.RWGltf_GltfBufferView_ByteStride_set)
    Target = property(_RWGltf.RWGltf_GltfBufferView_Target_get, _RWGltf.RWGltf_GltfBufferView_Target_set)

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

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

        """
        _RWGltf.RWGltf_GltfBufferView_swiginit(self, _RWGltf.new_RWGltf_GltfBufferView(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _RWGltf.delete_RWGltf_GltfBufferView

# Register RWGltf_GltfBufferView in _RWGltf:
_RWGltf.RWGltf_GltfBufferView_swigregister(RWGltf_GltfBufferView)
class RWGltf_GltfFace(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    NodePos = property(_RWGltf.RWGltf_GltfFace_NodePos_get, _RWGltf.RWGltf_GltfFace_NodePos_set)
    NodeNorm = property(_RWGltf.RWGltf_GltfFace_NodeNorm_get, _RWGltf.RWGltf_GltfFace_NodeNorm_set)
    NodeUV = property(_RWGltf.RWGltf_GltfFace_NodeUV_get, _RWGltf.RWGltf_GltfFace_NodeUV_set)
    Indices = property(_RWGltf.RWGltf_GltfFace_Indices_get, _RWGltf.RWGltf_GltfFace_Indices_set)
    Shape = property(_RWGltf.RWGltf_GltfFace_Shape_get, _RWGltf.RWGltf_GltfFace_Shape_set)
    Style = property(_RWGltf.RWGltf_GltfFace_Style_get, _RWGltf.RWGltf_GltfFace_Style_set)
    NbIndexedNodes = property(_RWGltf.RWGltf_GltfFace_NbIndexedNodes_get, _RWGltf.RWGltf_GltfFace_NbIndexedNodes_set)

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

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

        """
        _RWGltf.RWGltf_GltfFace_swiginit(self, _RWGltf.new_RWGltf_GltfFace(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _RWGltf.delete_RWGltf_GltfFace

# Register RWGltf_GltfFace in _RWGltf:
_RWGltf.RWGltf_GltfFace_swigregister(RWGltf_GltfFace)
class RWGltf_GltfLatePrimitiveArray(OCC.Core.RWMesh.RWMesh_TriangulationSource):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theId: str
        theName: str

        Return
        -------
        None

        Description
        -----------
        Constructor.

        """
        _RWGltf.RWGltf_GltfLatePrimitiveArray_swiginit(self, _RWGltf.new_RWGltf_GltfLatePrimitiveArray(*args))

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

        Parameters
        ----------
        theType: RWGltf_GltfArrayType

        Return
        -------
        RWGltf_GltfPrimArrayData

        Description
        -----------
        Add primitive array data element.

        """
        return _RWGltf.RWGltf_GltfLatePrimitiveArray_AddPrimArrayData(self, *args)

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

        Description
        -----------
        Return base color.

        """
        return _RWGltf.RWGltf_GltfLatePrimitiveArray_BaseColor(self, *args)

    def Data(self, *args):
        r"""
        Return
        -------
        NCollection_Sequence<RWGltf_GltfPrimArrayData>

        Description
        -----------
        Return primitive array data elements.

        """
        return _RWGltf.RWGltf_GltfLatePrimitiveArray_Data(self, *args)

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

        Description
        -----------
        Return true if primitive array has assigned material.

        """
        return _RWGltf.RWGltf_GltfLatePrimitiveArray_HasStyle(self, *args)

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

        Description
        -----------
        Entity id.

        """
        return _RWGltf.RWGltf_GltfLatePrimitiveArray_Id(self, *args)

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

        Description
        -----------
        Load primitive array saved as stream buffer to new triangulation object.

        """
        return _RWGltf.RWGltf_GltfLatePrimitiveArray_LoadStreamData(self, *args)

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

        Description
        -----------
        Return common (obsolete) material definition.

        """
        return _RWGltf.RWGltf_GltfLatePrimitiveArray_MaterialCommon(self, *args)

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

        Description
        -----------
        Return pbr material definition.

        """
        return _RWGltf.RWGltf_GltfLatePrimitiveArray_MaterialPbr(self, *args)

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

        Description
        -----------
        Entity name.

        """
        return _RWGltf.RWGltf_GltfLatePrimitiveArray_Name(self, *args)

    def PrimitiveMode(self, *args):
        r"""
        Return
        -------
        RWGltf_GltfPrimitiveMode

        Description
        -----------
        Return type of primitive array.

        """
        return _RWGltf.RWGltf_GltfLatePrimitiveArray_PrimitiveMode(self, *args)

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

        Parameters
        ----------
        theMat: RWGltf_MaterialCommon

        Return
        -------
        None

        Description
        -----------
        Set common (obsolete) material definition.

        """
        return _RWGltf.RWGltf_GltfLatePrimitiveArray_SetMaterialCommon(self, *args)

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

        Parameters
        ----------
        theMat: RWGltf_MaterialMetallicRoughness

        Return
        -------
        None

        Description
        -----------
        Set pbr material definition.

        """
        return _RWGltf.RWGltf_GltfLatePrimitiveArray_SetMaterialPbr(self, *args)

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

        Parameters
        ----------
        theName: str

        Return
        -------
        None

        Description
        -----------
        Assign entity name.

        """
        return _RWGltf.RWGltf_GltfLatePrimitiveArray_SetName(self, *args)

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

        Parameters
        ----------
        theMode: RWGltf_GltfPrimitiveMode

        Return
        -------
        None

        Description
        -----------
        Set type of primitive array.

        """
        return _RWGltf.RWGltf_GltfLatePrimitiveArray_SetPrimitiveMode(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _RWGltf.delete_RWGltf_GltfLatePrimitiveArray

# Register RWGltf_GltfLatePrimitiveArray in _RWGltf:
_RWGltf.RWGltf_GltfLatePrimitiveArray_swigregister(RWGltf_GltfLatePrimitiveArray)
class RWGltf_GltfMaterialMap(OCC.Core.RWMesh.RWMesh_MaterialMap):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theFile: str
        theDefSamplerId: int

        Return
        -------
        None

        Description
        -----------
        Main constructor.

        """
        _RWGltf.RWGltf_GltfMaterialMap_swiginit(self, _RWGltf.new_RWGltf_GltfMaterialMap(*args))

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

        Parameters
        ----------
        theBinFile: std::ostream
        theStyle: XCAFPrs_Style

        Return
        -------
        None

        Description
        -----------
        Add material images into glb stream. @param thebinfile [in] [out] output file stream @param thestyle [in] material images to add.

        """
        return _RWGltf.RWGltf_GltfMaterialMap_AddGlbImages(self, *args)

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

        Parameters
        ----------
        theWriter: RWGltf_GltfOStreamWriter *
        theStyle: XCAFPrs_Style

        Return
        -------
        theIsStarted: bool

        Description
        -----------
        Add material images in case of non-glb file (an alternative to addimagestoglb() + flushbufferviews() + flushimagesglb()).

        """
        return _RWGltf.RWGltf_GltfMaterialMap_AddImages(self, *args)

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

        Parameters
        ----------
        theWriter: RWGltf_GltfOStreamWriter *
        theStyle: XCAFPrs_Style

        Return
        -------
        theIsStarted: bool

        Description
        -----------
        Add material.

        """
        return _RWGltf.RWGltf_GltfMaterialMap_AddMaterial(self, *args)

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

        Parameters
        ----------
        theWriter: RWGltf_GltfOStreamWriter *
        theStyle: XCAFPrs_Style

        Return
        -------
        theIsStarted: bool

        Description
        -----------
        Add material textures.

        """
        return _RWGltf.RWGltf_GltfMaterialMap_AddTextures(self, *args)

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

        Parameters
        ----------
        theWriter: RWGltf_GltfOStreamWriter *
        theBinDataBufferId: int

        Return
        -------
        theBuffViewId: int

        Description
        -----------
        Add bufferview's into rwgltf_gltfrootelement_bufferviews section with images collected by addimagestoglb().

        """
        return _RWGltf.RWGltf_GltfMaterialMap_FlushGlbBufferViews(self, *args)

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

        Parameters
        ----------
        theWriter: RWGltf_GltfOStreamWriter *

        Return
        -------
        None

        Description
        -----------
        Write rwgltf_gltfrootelement_images section with images collected by addimagestoglb().

        """
        return _RWGltf.RWGltf_GltfMaterialMap_FlushGlbImages(self, *args)

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

        Description
        -----------
        Return extent of images map.

        """
        return _RWGltf.RWGltf_GltfMaterialMap_NbImages(self, *args)

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

        Description
        -----------
        Return extent of textures map.

        """
        return _RWGltf.RWGltf_GltfMaterialMap_NbTextures(self, *args)

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

        Parameters
        ----------
        theMat: XCAFDoc_VisMaterial

        Return
        -------
        opencascade::handle<Image_Texture>

        Description
        -----------
        Return base color texture.

        """
        return _RWGltf.RWGltf_GltfMaterialMap_baseColorTexture(*args)

    __repr__ = _dumps_object

    __swig_destroy__ = _RWGltf.delete_RWGltf_GltfMaterialMap

# Register RWGltf_GltfMaterialMap in _RWGltf:
_RWGltf.RWGltf_GltfMaterialMap_swigregister(RWGltf_GltfMaterialMap)
class RWGltf_GltfOStreamWriter(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theOStream: rapidjson::OStreamWrapper

        Return
        -------
        None

        Description
        -----------
        Main constructor.

        """
        _RWGltf.RWGltf_GltfOStreamWriter_swiginit(self, _RWGltf.new_RWGltf_GltfOStreamWriter(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _RWGltf.delete_RWGltf_GltfOStreamWriter

# Register RWGltf_GltfOStreamWriter in _RWGltf:
_RWGltf.RWGltf_GltfOStreamWriter_swigregister(RWGltf_GltfOStreamWriter)
class RWGltf_GltfPrimArrayData(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    StreamData = property(_RWGltf.RWGltf_GltfPrimArrayData_StreamData_get, _RWGltf.RWGltf_GltfPrimArrayData_StreamData_set)
    StreamUri = property(_RWGltf.RWGltf_GltfPrimArrayData_StreamUri_get, _RWGltf.RWGltf_GltfPrimArrayData_StreamUri_set)
    StreamOffset = property(_RWGltf.RWGltf_GltfPrimArrayData_StreamOffset_get, _RWGltf.RWGltf_GltfPrimArrayData_StreamOffset_set)
    StreamLength = property(_RWGltf.RWGltf_GltfPrimArrayData_StreamLength_get, _RWGltf.RWGltf_GltfPrimArrayData_StreamLength_set)
    Accessor = property(_RWGltf.RWGltf_GltfPrimArrayData_Accessor_get, _RWGltf.RWGltf_GltfPrimArrayData_Accessor_set)
    Type = property(_RWGltf.RWGltf_GltfPrimArrayData_Type_get, _RWGltf.RWGltf_GltfPrimArrayData_Type_set)

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

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

        Parameters
        ----------
        theType: RWGltf_GltfArrayType

        Return
        -------
        None

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

        """
        _RWGltf.RWGltf_GltfPrimArrayData_swiginit(self, _RWGltf.new_RWGltf_GltfPrimArrayData(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _RWGltf.delete_RWGltf_GltfPrimArrayData

# Register RWGltf_GltfPrimArrayData in _RWGltf:
_RWGltf.RWGltf_GltfPrimArrayData_swigregister(RWGltf_GltfPrimArrayData)
class RWGltf_GltfSceneNodeMap(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Empty constructor.

        """
        _RWGltf.RWGltf_GltfSceneNodeMap_swiginit(self, _RWGltf.new_RWGltf_GltfSceneNodeMap(*args))

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

        Parameters
        ----------
        theNodeId: str

        Return
        -------
        int

        Description
        -----------
        Find index from document node string identifier.

        """
        return _RWGltf.RWGltf_GltfSceneNodeMap_FindIndex(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _RWGltf.delete_RWGltf_GltfSceneNodeMap

# Register RWGltf_GltfSceneNodeMap in _RWGltf:
_RWGltf.RWGltf_GltfSceneNodeMap_swigregister(RWGltf_GltfSceneNodeMap)
class RWGltf_MaterialCommon(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AmbientTexture = property(_RWGltf.RWGltf_MaterialCommon_AmbientTexture_get, _RWGltf.RWGltf_MaterialCommon_AmbientTexture_set)
    DiffuseTexture = property(_RWGltf.RWGltf_MaterialCommon_DiffuseTexture_get, _RWGltf.RWGltf_MaterialCommon_DiffuseTexture_set)
    SpecularTexture = property(_RWGltf.RWGltf_MaterialCommon_SpecularTexture_get, _RWGltf.RWGltf_MaterialCommon_SpecularTexture_set)
    Id = property(_RWGltf.RWGltf_MaterialCommon_Id_get, _RWGltf.RWGltf_MaterialCommon_Id_set)
    Name = property(_RWGltf.RWGltf_MaterialCommon_Name_get, _RWGltf.RWGltf_MaterialCommon_Name_set)
    AmbientColor = property(_RWGltf.RWGltf_MaterialCommon_AmbientColor_get, _RWGltf.RWGltf_MaterialCommon_AmbientColor_set)
    DiffuseColor = property(_RWGltf.RWGltf_MaterialCommon_DiffuseColor_get, _RWGltf.RWGltf_MaterialCommon_DiffuseColor_set)
    SpecularColor = property(_RWGltf.RWGltf_MaterialCommon_SpecularColor_get, _RWGltf.RWGltf_MaterialCommon_SpecularColor_set)
    EmissiveColor = property(_RWGltf.RWGltf_MaterialCommon_EmissiveColor_get, _RWGltf.RWGltf_MaterialCommon_EmissiveColor_set)
    Shininess = property(_RWGltf.RWGltf_MaterialCommon_Shininess_get, _RWGltf.RWGltf_MaterialCommon_Shininess_set)
    Transparency = property(_RWGltf.RWGltf_MaterialCommon_Transparency_get, _RWGltf.RWGltf_MaterialCommon_Transparency_set)

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

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

        """
        _RWGltf.RWGltf_MaterialCommon_swiginit(self, _RWGltf.new_RWGltf_MaterialCommon(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _RWGltf.delete_RWGltf_MaterialCommon

# Register RWGltf_MaterialCommon in _RWGltf:
_RWGltf.RWGltf_MaterialCommon_swigregister(RWGltf_MaterialCommon)
class RWGltf_MaterialMetallicRoughness(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    BaseColorTexture = property(_RWGltf.RWGltf_MaterialMetallicRoughness_BaseColorTexture_get, _RWGltf.RWGltf_MaterialMetallicRoughness_BaseColorTexture_set)
    MetallicRoughnessTexture = property(_RWGltf.RWGltf_MaterialMetallicRoughness_MetallicRoughnessTexture_get, _RWGltf.RWGltf_MaterialMetallicRoughness_MetallicRoughnessTexture_set)
    EmissiveTexture = property(_RWGltf.RWGltf_MaterialMetallicRoughness_EmissiveTexture_get, _RWGltf.RWGltf_MaterialMetallicRoughness_EmissiveTexture_set)
    OcclusionTexture = property(_RWGltf.RWGltf_MaterialMetallicRoughness_OcclusionTexture_get, _RWGltf.RWGltf_MaterialMetallicRoughness_OcclusionTexture_set)
    NormalTexture = property(_RWGltf.RWGltf_MaterialMetallicRoughness_NormalTexture_get, _RWGltf.RWGltf_MaterialMetallicRoughness_NormalTexture_set)
    Id = property(_RWGltf.RWGltf_MaterialMetallicRoughness_Id_get, _RWGltf.RWGltf_MaterialMetallicRoughness_Id_set)
    Name = property(_RWGltf.RWGltf_MaterialMetallicRoughness_Name_get, _RWGltf.RWGltf_MaterialMetallicRoughness_Name_set)
    BaseColor = property(_RWGltf.RWGltf_MaterialMetallicRoughness_BaseColor_get, _RWGltf.RWGltf_MaterialMetallicRoughness_BaseColor_set)
    EmissiveFactor = property(_RWGltf.RWGltf_MaterialMetallicRoughness_EmissiveFactor_get, _RWGltf.RWGltf_MaterialMetallicRoughness_EmissiveFactor_set)
    Metallic = property(_RWGltf.RWGltf_MaterialMetallicRoughness_Metallic_get, _RWGltf.RWGltf_MaterialMetallicRoughness_Metallic_set)
    Roughness = property(_RWGltf.RWGltf_MaterialMetallicRoughness_Roughness_get, _RWGltf.RWGltf_MaterialMetallicRoughness_Roughness_set)
    AlphaCutOff = property(_RWGltf.RWGltf_MaterialMetallicRoughness_AlphaCutOff_get, _RWGltf.RWGltf_MaterialMetallicRoughness_AlphaCutOff_set)
    AlphaMode = property(_RWGltf.RWGltf_MaterialMetallicRoughness_AlphaMode_get, _RWGltf.RWGltf_MaterialMetallicRoughness_AlphaMode_set)
    IsDoubleSided = property(_RWGltf.RWGltf_MaterialMetallicRoughness_IsDoubleSided_get, _RWGltf.RWGltf_MaterialMetallicRoughness_IsDoubleSided_set)

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

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

        """
        _RWGltf.RWGltf_MaterialMetallicRoughness_swiginit(self, _RWGltf.new_RWGltf_MaterialMetallicRoughness(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _RWGltf.delete_RWGltf_MaterialMetallicRoughness

# Register RWGltf_MaterialMetallicRoughness in _RWGltf:
_RWGltf.RWGltf_MaterialMetallicRoughness_swigregister(RWGltf_MaterialMetallicRoughness)
class RWGltf_Provider(OCC.Core.DE.DE_Provider):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Default constructor configure translation process with global configuration.

        Parameters
        ----------
        theNode: DE_ConfigurationNode

        Return
        -------
        None

        Description
        -----------
        Configure translation process @param[in] thenode object to copy.

        """
        _RWGltf.RWGltf_Provider_swiginit(self, _RWGltf.new_RWGltf_Provider(*args))

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

        Parameters
        ----------
        thePath: str
        theDocument: TDocStd_Document
        theWS: XSControl_WorkSession
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Reads a cad file, according internal configuration @param[in] thepath path to the import cad file @param[out] thedocument document to save result @param[in] thews current work session @param theprogress[in] progress indicator return true if read operation has ended correctly.

        Parameters
        ----------
        thePath: str
        theDocument: TDocStd_Document
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Reads a cad file, according internal configuration @param[in] thepath path to the import cad file @param[out] thedocument document to save result @param theprogress[in] progress indicator return true if read operation has ended correctly.

        Parameters
        ----------
        thePath: str
        theShape: TopoDS_Shape
        theWS: XSControl_WorkSession
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Reads a cad file, according internal configuration @param[in] thepath path to the import cad file @param[out] theshape shape to save result @param[in] thews current work session @param theprogress[in] progress indicator return true if read operation has ended correctly.

        Parameters
        ----------
        thePath: str
        theShape: TopoDS_Shape
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Reads a cad file, according internal configuration @param[in] thepath path to the import cad file @param[out] theshape shape to save result @param theprogress[in] progress indicator return true if read operation has ended correctly.

        """
        return _RWGltf.RWGltf_Provider_Read(self, *args)

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

        Parameters
        ----------
        thePath: str
        theDocument: TDocStd_Document
        theWS: XSControl_WorkSession
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Writes a cad file, according internal configuration @param[in] thepath path to the export cad file @param[out] thedocument document to export @param[in] thews current work session @param theprogress[in] progress indicator return true if write operation has ended correctly.

        Parameters
        ----------
        thePath: str
        theDocument: TDocStd_Document
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Writes a cad file, according internal configuration @param[in] thepath path to the export cad file @param[out] thedocument document to export @param theprogress[in] progress indicator return true if write operation has ended correctly.

        Parameters
        ----------
        thePath: str
        theShape: TopoDS_Shape
        theWS: XSControl_WorkSession
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Writes a cad file, according internal configuration @param[in] thepath path to the export cad file @param[out] theshape shape to export @param[in] thews current work session @param theprogress[in] progress indicator return true if write operation has ended correctly.

        Parameters
        ----------
        thePath: str
        theShape: TopoDS_Shape
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        bool

        Description
        -----------
        Writes a cad file, according internal configuration @param[in] thepath path to the export cad file @param[out] theshape shape to export @param theprogress[in] progress indicator return true if write operation has ended correctly.

        """
        return _RWGltf.RWGltf_Provider_Write(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _RWGltf.delete_RWGltf_Provider

# Register RWGltf_Provider in _RWGltf:
_RWGltf.RWGltf_Provider_swigregister(RWGltf_Provider)
class RWGltf_TriangulationReader(OCC.Core.RWMesh.RWMesh_TriangulationReader):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Empty constructor.

        """
        _RWGltf.RWGltf_TriangulationReader_swiginit(self, _RWGltf.new_RWGltf_TriangulationReader(*args))

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

        Parameters
        ----------
        theSourceMesh: RWMesh_TriangulationSource
        theDestMesh: Poly_Triangulation

        Return
        -------
        bool

        Description
        -----------
        Loads only primitive arrays saved as stream buffer (it is primarily gltf data encoded in base64 saved to temporary buffer during gltf file reading).

        """
        return _RWGltf.RWGltf_TriangulationReader_LoadStreamData(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _RWGltf.delete_RWGltf_TriangulationReader

# Register RWGltf_TriangulationReader in _RWGltf:
_RWGltf.RWGltf_TriangulationReader_swigregister(RWGltf_TriangulationReader)

@classnotwrapped
class RWGltf_GltfSharedIStream:
	pass





@deprecated
def RWGltf_GltfMaterialMap_baseColorTexture(*args):
	return RWGltf_GltfMaterialMap.baseColorTexture(*args)



