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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register SwigPyIterator in _VrmlData:
_VrmlData.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 _VrmlData.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.gp
import OCC.Core.TColStd
import OCC.Core.TopoDS
import OCC.Core.Message
import OCC.Core.OSD
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.TDocStd
import OCC.Core.TDF
import OCC.Core.CDF
import OCC.Core.CDM
import OCC.Core.Resource
import OCC.Core.PCDM
import OCC.Core.Storage
import OCC.Core.Bnd
import OCC.Core.TColgp
import OCC.Core.BVH
import OCC.Core.Quantity

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

VrmlData_StatusOK = _VrmlData.VrmlData_StatusOK
VrmlData_EmptyData = _VrmlData.VrmlData_EmptyData
VrmlData_UnrecoverableError = _VrmlData.VrmlData_UnrecoverableError
VrmlData_GeneralError = _VrmlData.VrmlData_GeneralError
VrmlData_EndOfFile = _VrmlData.VrmlData_EndOfFile
VrmlData_NotVrmlFile = _VrmlData.VrmlData_NotVrmlFile
VrmlData_CannotOpenFile = _VrmlData.VrmlData_CannotOpenFile
VrmlData_VrmlFormatError = _VrmlData.VrmlData_VrmlFormatError
VrmlData_NumericInputError = _VrmlData.VrmlData_NumericInputError
VrmlData_IrrelevantNumber = _VrmlData.VrmlData_IrrelevantNumber
VrmlData_BooleanInputError = _VrmlData.VrmlData_BooleanInputError
VrmlData_StringInputError = _VrmlData.VrmlData_StringInputError
VrmlData_NodeNameUnknown = _VrmlData.VrmlData_NodeNameUnknown
VrmlData_NonPositiveSize = _VrmlData.VrmlData_NonPositiveSize
VrmlData_ReadUnknownNode = _VrmlData.VrmlData_ReadUnknownNode
VrmlData_NonSupportedFeature = _VrmlData.VrmlData_NonSupportedFeature
VrmlData_OutputStreamUndefined = _VrmlData.VrmlData_OutputStreamUndefined
VrmlData_NotImplemented = _VrmlData.VrmlData_NotImplemented


class VrmlData_ErrorStatus(IntEnum):
	VrmlData_StatusOK = 0
	VrmlData_EmptyData = 1
	VrmlData_UnrecoverableError = 2
	VrmlData_GeneralError = 3
	VrmlData_EndOfFile = 4
	VrmlData_NotVrmlFile = 5
	VrmlData_CannotOpenFile = 6
	VrmlData_VrmlFormatError = 7
	VrmlData_NumericInputError = 8
	VrmlData_IrrelevantNumber = 9
	VrmlData_BooleanInputError = 10
	VrmlData_StringInputError = 11
	VrmlData_NodeNameUnknown = 12
	VrmlData_NonPositiveSize = 13
	VrmlData_ReadUnknownNode = 14
	VrmlData_NonSupportedFeature = 15
	VrmlData_OutputStreamUndefined = 16
	VrmlData_NotImplemented = 17
VrmlData_StatusOK = VrmlData_ErrorStatus.VrmlData_StatusOK
VrmlData_EmptyData = VrmlData_ErrorStatus.VrmlData_EmptyData
VrmlData_UnrecoverableError = VrmlData_ErrorStatus.VrmlData_UnrecoverableError
VrmlData_GeneralError = VrmlData_ErrorStatus.VrmlData_GeneralError
VrmlData_EndOfFile = VrmlData_ErrorStatus.VrmlData_EndOfFile
VrmlData_NotVrmlFile = VrmlData_ErrorStatus.VrmlData_NotVrmlFile
VrmlData_CannotOpenFile = VrmlData_ErrorStatus.VrmlData_CannotOpenFile
VrmlData_VrmlFormatError = VrmlData_ErrorStatus.VrmlData_VrmlFormatError
VrmlData_NumericInputError = VrmlData_ErrorStatus.VrmlData_NumericInputError
VrmlData_IrrelevantNumber = VrmlData_ErrorStatus.VrmlData_IrrelevantNumber
VrmlData_BooleanInputError = VrmlData_ErrorStatus.VrmlData_BooleanInputError
VrmlData_StringInputError = VrmlData_ErrorStatus.VrmlData_StringInputError
VrmlData_NodeNameUnknown = VrmlData_ErrorStatus.VrmlData_NodeNameUnknown
VrmlData_NonPositiveSize = VrmlData_ErrorStatus.VrmlData_NonPositiveSize
VrmlData_ReadUnknownNode = VrmlData_ErrorStatus.VrmlData_ReadUnknownNode
VrmlData_NonSupportedFeature = VrmlData_ErrorStatus.VrmlData_NonSupportedFeature
VrmlData_OutputStreamUndefined = VrmlData_ErrorStatus.VrmlData_OutputStreamUndefined
VrmlData_NotImplemented = VrmlData_ErrorStatus.VrmlData_NotImplemented


def Handle_VrmlData_Node_Create() -> "opencascade::handle< VrmlData_Node >":
    return _VrmlData.Handle_VrmlData_Node_Create()

def Handle_VrmlData_Node_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_Node >":
    return _VrmlData.Handle_VrmlData_Node_DownCast(t)

def Handle_VrmlData_Node_IsNull(t: "opencascade::handle< VrmlData_Node > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_Node_IsNull(t)

def Handle_VrmlData_Appearance_Create() -> "opencascade::handle< VrmlData_Appearance >":
    return _VrmlData.Handle_VrmlData_Appearance_Create()

def Handle_VrmlData_Appearance_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_Appearance >":
    return _VrmlData.Handle_VrmlData_Appearance_DownCast(t)

def Handle_VrmlData_Appearance_IsNull(t: "opencascade::handle< VrmlData_Appearance > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_Appearance_IsNull(t)

def Handle_VrmlData_Geometry_Create() -> "opencascade::handle< VrmlData_Geometry >":
    return _VrmlData.Handle_VrmlData_Geometry_Create()

def Handle_VrmlData_Geometry_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_Geometry >":
    return _VrmlData.Handle_VrmlData_Geometry_DownCast(t)

def Handle_VrmlData_Geometry_IsNull(t: "opencascade::handle< VrmlData_Geometry > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_Geometry_IsNull(t)

def Handle_VrmlData_Group_Create() -> "opencascade::handle< VrmlData_Group >":
    return _VrmlData.Handle_VrmlData_Group_Create()

def Handle_VrmlData_Group_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_Group >":
    return _VrmlData.Handle_VrmlData_Group_DownCast(t)

def Handle_VrmlData_Group_IsNull(t: "opencascade::handle< VrmlData_Group > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_Group_IsNull(t)

def Handle_VrmlData_Material_Create() -> "opencascade::handle< VrmlData_Material >":
    return _VrmlData.Handle_VrmlData_Material_Create()

def Handle_VrmlData_Material_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_Material >":
    return _VrmlData.Handle_VrmlData_Material_DownCast(t)

def Handle_VrmlData_Material_IsNull(t: "opencascade::handle< VrmlData_Material > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_Material_IsNull(t)

def Handle_VrmlData_ShapeNode_Create() -> "opencascade::handle< VrmlData_ShapeNode >":
    return _VrmlData.Handle_VrmlData_ShapeNode_Create()

def Handle_VrmlData_ShapeNode_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_ShapeNode >":
    return _VrmlData.Handle_VrmlData_ShapeNode_DownCast(t)

def Handle_VrmlData_ShapeNode_IsNull(t: "opencascade::handle< VrmlData_ShapeNode > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_ShapeNode_IsNull(t)

def Handle_VrmlData_TextureCoordinate_Create() -> "opencascade::handle< VrmlData_TextureCoordinate >":
    return _VrmlData.Handle_VrmlData_TextureCoordinate_Create()

def Handle_VrmlData_TextureCoordinate_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_TextureCoordinate >":
    return _VrmlData.Handle_VrmlData_TextureCoordinate_DownCast(t)

def Handle_VrmlData_TextureCoordinate_IsNull(t: "opencascade::handle< VrmlData_TextureCoordinate > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_TextureCoordinate_IsNull(t)

def Handle_VrmlData_UnknownNode_Create() -> "opencascade::handle< VrmlData_UnknownNode >":
    return _VrmlData.Handle_VrmlData_UnknownNode_Create()

def Handle_VrmlData_UnknownNode_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_UnknownNode >":
    return _VrmlData.Handle_VrmlData_UnknownNode_DownCast(t)

def Handle_VrmlData_UnknownNode_IsNull(t: "opencascade::handle< VrmlData_UnknownNode > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_UnknownNode_IsNull(t)

def Handle_VrmlData_WorldInfo_Create() -> "opencascade::handle< VrmlData_WorldInfo >":
    return _VrmlData.Handle_VrmlData_WorldInfo_Create()

def Handle_VrmlData_WorldInfo_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_WorldInfo >":
    return _VrmlData.Handle_VrmlData_WorldInfo_DownCast(t)

def Handle_VrmlData_WorldInfo_IsNull(t: "opencascade::handle< VrmlData_WorldInfo > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_WorldInfo_IsNull(t)

def Handle_VrmlData_Box_Create() -> "opencascade::handle< VrmlData_Box >":
    return _VrmlData.Handle_VrmlData_Box_Create()

def Handle_VrmlData_Box_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_Box >":
    return _VrmlData.Handle_VrmlData_Box_DownCast(t)

def Handle_VrmlData_Box_IsNull(t: "opencascade::handle< VrmlData_Box > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_Box_IsNull(t)

def Handle_VrmlData_Color_Create() -> "opencascade::handle< VrmlData_Color >":
    return _VrmlData.Handle_VrmlData_Color_Create()

def Handle_VrmlData_Color_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_Color >":
    return _VrmlData.Handle_VrmlData_Color_DownCast(t)

def Handle_VrmlData_Color_IsNull(t: "opencascade::handle< VrmlData_Color > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_Color_IsNull(t)

def Handle_VrmlData_Cone_Create() -> "opencascade::handle< VrmlData_Cone >":
    return _VrmlData.Handle_VrmlData_Cone_Create()

def Handle_VrmlData_Cone_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_Cone >":
    return _VrmlData.Handle_VrmlData_Cone_DownCast(t)

def Handle_VrmlData_Cone_IsNull(t: "opencascade::handle< VrmlData_Cone > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_Cone_IsNull(t)

def Handle_VrmlData_Coordinate_Create() -> "opencascade::handle< VrmlData_Coordinate >":
    return _VrmlData.Handle_VrmlData_Coordinate_Create()

def Handle_VrmlData_Coordinate_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_Coordinate >":
    return _VrmlData.Handle_VrmlData_Coordinate_DownCast(t)

def Handle_VrmlData_Coordinate_IsNull(t: "opencascade::handle< VrmlData_Coordinate > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_Coordinate_IsNull(t)

def Handle_VrmlData_Cylinder_Create() -> "opencascade::handle< VrmlData_Cylinder >":
    return _VrmlData.Handle_VrmlData_Cylinder_Create()

def Handle_VrmlData_Cylinder_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_Cylinder >":
    return _VrmlData.Handle_VrmlData_Cylinder_DownCast(t)

def Handle_VrmlData_Cylinder_IsNull(t: "opencascade::handle< VrmlData_Cylinder > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_Cylinder_IsNull(t)

def Handle_VrmlData_ImageTexture_Create() -> "opencascade::handle< VrmlData_ImageTexture >":
    return _VrmlData.Handle_VrmlData_ImageTexture_Create()

def Handle_VrmlData_ImageTexture_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_ImageTexture >":
    return _VrmlData.Handle_VrmlData_ImageTexture_DownCast(t)

def Handle_VrmlData_ImageTexture_IsNull(t: "opencascade::handle< VrmlData_ImageTexture > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_ImageTexture_IsNull(t)

def Handle_VrmlData_IndexedLineSet_Create() -> "opencascade::handle< VrmlData_IndexedLineSet >":
    return _VrmlData.Handle_VrmlData_IndexedLineSet_Create()

def Handle_VrmlData_IndexedLineSet_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_IndexedLineSet >":
    return _VrmlData.Handle_VrmlData_IndexedLineSet_DownCast(t)

def Handle_VrmlData_IndexedLineSet_IsNull(t: "opencascade::handle< VrmlData_IndexedLineSet > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_IndexedLineSet_IsNull(t)

def Handle_VrmlData_Normal_Create() -> "opencascade::handle< VrmlData_Normal >":
    return _VrmlData.Handle_VrmlData_Normal_Create()

def Handle_VrmlData_Normal_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_Normal >":
    return _VrmlData.Handle_VrmlData_Normal_DownCast(t)

def Handle_VrmlData_Normal_IsNull(t: "opencascade::handle< VrmlData_Normal > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_Normal_IsNull(t)

def Handle_VrmlData_Sphere_Create() -> "opencascade::handle< VrmlData_Sphere >":
    return _VrmlData.Handle_VrmlData_Sphere_Create()

def Handle_VrmlData_Sphere_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_Sphere >":
    return _VrmlData.Handle_VrmlData_Sphere_DownCast(t)

def Handle_VrmlData_Sphere_IsNull(t: "opencascade::handle< VrmlData_Sphere > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_Sphere_IsNull(t)

def Handle_VrmlData_IndexedFaceSet_Create() -> "opencascade::handle< VrmlData_IndexedFaceSet >":
    return _VrmlData.Handle_VrmlData_IndexedFaceSet_Create()

def Handle_VrmlData_IndexedFaceSet_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlData_IndexedFaceSet >":
    return _VrmlData.Handle_VrmlData_IndexedFaceSet_DownCast(t)

def Handle_VrmlData_IndexedFaceSet_IsNull(t: "opencascade::handle< VrmlData_IndexedFaceSet > const &") -> "bool":
    return _VrmlData.Handle_VrmlData_IndexedFaceSet_IsNull(t)
class VrmlData_DataMapOfShapeAppearance(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< opencascade::handle< TopoDS_TShape >,opencascade::handle< VrmlData_Appearance > >::iterator":
        return _VrmlData.VrmlData_DataMapOfShapeAppearance_begin(self)

    def end(self) -> "NCollection_DataMap< opencascade::handle< TopoDS_TShape >,opencascade::handle< VrmlData_Appearance > >::iterator":
        return _VrmlData.VrmlData_DataMapOfShapeAppearance_end(self)

    def cbegin(self) -> "NCollection_DataMap< opencascade::handle< TopoDS_TShape >,opencascade::handle< VrmlData_Appearance > >::const_iterator":
        return _VrmlData.VrmlData_DataMapOfShapeAppearance_cbegin(self)

    def cend(self) -> "NCollection_DataMap< opencascade::handle< TopoDS_TShape >,opencascade::handle< VrmlData_Appearance > >::const_iterator":
        return _VrmlData.VrmlData_DataMapOfShapeAppearance_cend(self)

    def __init__(self, *args):
        _VrmlData.VrmlData_DataMapOfShapeAppearance_swiginit(self, _VrmlData.new_VrmlData_DataMapOfShapeAppearance(*args))

    def Exchange(self, theOther: "VrmlData_DataMapOfShapeAppearance") -> "void":
        return _VrmlData.VrmlData_DataMapOfShapeAppearance_Exchange(self, theOther)

    def Assign(self, theOther: "VrmlData_DataMapOfShapeAppearance") -> "NCollection_DataMap< opencascade::handle< TopoDS_TShape >,opencascade::handle< VrmlData_Appearance > > &":
        return _VrmlData.VrmlData_DataMapOfShapeAppearance_Assign(self, theOther)

    def Set(self, theOther: "VrmlData_DataMapOfShapeAppearance") -> "NCollection_DataMap< opencascade::handle< TopoDS_TShape >,opencascade::handle< VrmlData_Appearance > > &":
        return _VrmlData.VrmlData_DataMapOfShapeAppearance_Set(self, theOther)

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

    def Bind(self, theKey: "opencascade::handle< TopoDS_TShape > const &", theItem: "opencascade::handle< VrmlData_Appearance > const &") -> "Standard_Boolean":
        return _VrmlData.VrmlData_DataMapOfShapeAppearance_Bind(self, theKey, theItem)

    def Bound(self, theKey: "opencascade::handle< TopoDS_TShape > const &", theItem: "opencascade::handle< VrmlData_Appearance > const &") -> "opencascade::handle< VrmlData_Appearance > *":
        return _VrmlData.VrmlData_DataMapOfShapeAppearance_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "opencascade::handle< TopoDS_TShape > const &") -> "Standard_Boolean":
        return _VrmlData.VrmlData_DataMapOfShapeAppearance_IsBound(self, theKey)

    def UnBind(self, theKey: "opencascade::handle< TopoDS_TShape > const &") -> "Standard_Boolean":
        return _VrmlData.VrmlData_DataMapOfShapeAppearance_UnBind(self, theKey)

    def Seek(self, theKey: "opencascade::handle< TopoDS_TShape > const &") -> "opencascade::handle< VrmlData_Appearance > const *":
        return _VrmlData.VrmlData_DataMapOfShapeAppearance_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _VrmlData.VrmlData_DataMapOfShapeAppearance_Find(self, *args)

    def ChangeSeek(self, theKey: "opencascade::handle< TopoDS_TShape > const &") -> "opencascade::handle< VrmlData_Appearance > *":
        return _VrmlData.VrmlData_DataMapOfShapeAppearance_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "opencascade::handle< TopoDS_TShape > const &") -> "opencascade::handle< VrmlData_Appearance > &":
        return _VrmlData.VrmlData_DataMapOfShapeAppearance_ChangeFind(self, theKey)

    def __call__(self, *args) -> "opencascade::handle< VrmlData_Appearance > &":
        return _VrmlData.VrmlData_DataMapOfShapeAppearance___call__(self, *args)

    def Clear(self, *args) -> "void":
        return _VrmlData.VrmlData_DataMapOfShapeAppearance_Clear(self, *args)
    __swig_destroy__ = _VrmlData.delete_VrmlData_DataMapOfShapeAppearance

    def Size(self) -> "Standard_Integer":
        return _VrmlData.VrmlData_DataMapOfShapeAppearance_Size(self)

# Register VrmlData_DataMapOfShapeAppearance in _VrmlData:
_VrmlData.VrmlData_DataMapOfShapeAppearance_swigregister(VrmlData_DataMapOfShapeAppearance)

class VrmlData_ListOfNode(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_List< opencascade::handle< VrmlData_Node > >::iterator":
        return _VrmlData.VrmlData_ListOfNode_begin(self)

    def end(self) -> "NCollection_List< opencascade::handle< VrmlData_Node > >::iterator":
        return _VrmlData.VrmlData_ListOfNode_end(self)

    def cbegin(self) -> "NCollection_List< opencascade::handle< VrmlData_Node > >::const_iterator":
        return _VrmlData.VrmlData_ListOfNode_cbegin(self)

    def cend(self) -> "NCollection_List< opencascade::handle< VrmlData_Node > >::const_iterator":
        return _VrmlData.VrmlData_ListOfNode_cend(self)

    def __init__(self, *args):
        _VrmlData.VrmlData_ListOfNode_swiginit(self, _VrmlData.new_VrmlData_ListOfNode(*args))

    def Size(self) -> "Standard_Integer":
        return _VrmlData.VrmlData_ListOfNode_Size(self)

    def Assign(self, theOther: "VrmlData_ListOfNode") -> "NCollection_List< opencascade::handle< VrmlData_Node > > &":
        return _VrmlData.VrmlData_ListOfNode_Assign(self, theOther)

    def Set(self, theOther: "VrmlData_ListOfNode") -> "NCollection_List< opencascade::handle< VrmlData_Node > > &":
        return _VrmlData.VrmlData_ListOfNode_Set(self, theOther)

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

    def First(self) -> "opencascade::handle< VrmlData_Node > const &":
        return _VrmlData.VrmlData_ListOfNode_First(self)

    def Last(self) -> "opencascade::handle< VrmlData_Node > const &":
        return _VrmlData.VrmlData_ListOfNode_Last(self)

    def Append(self, *args) -> "void":
        return _VrmlData.VrmlData_ListOfNode_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _VrmlData.VrmlData_ListOfNode_Prepend(self, *args)

    def RemoveFirst(self) -> "void":
        return _VrmlData.VrmlData_ListOfNode_RemoveFirst(self)

    def Remove(self, theIter: "NCollection_List< opencascade::handle< VrmlData_Node > >::Iterator &") -> "void":
        return _VrmlData.VrmlData_ListOfNode_Remove(self, theIter)

    def InsertBefore(self, *args) -> "void":
        return _VrmlData.VrmlData_ListOfNode_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _VrmlData.VrmlData_ListOfNode_InsertAfter(self, *args)

    def Reverse(self) -> "void":
        return _VrmlData.VrmlData_ListOfNode_Reverse(self)
    __swig_destroy__ = _VrmlData.delete_VrmlData_ListOfNode

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


# Register VrmlData_ListOfNode in _VrmlData:
_VrmlData.VrmlData_ListOfNode_swigregister(VrmlData_ListOfNode)

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

    def cbegin(self) -> "NCollection_Map< opencascade::handle< VrmlData_Node > >::const_iterator":
        return _VrmlData.VrmlData_MapOfNode_cbegin(self)

    def cend(self) -> "NCollection_Map< opencascade::handle< VrmlData_Node > >::const_iterator":
        return _VrmlData.VrmlData_MapOfNode_cend(self)

    def __init__(self, *args):
        _VrmlData.VrmlData_MapOfNode_swiginit(self, _VrmlData.new_VrmlData_MapOfNode(*args))

    def Exchange(self, theOther: "VrmlData_MapOfNode") -> "void":
        return _VrmlData.VrmlData_MapOfNode_Exchange(self, theOther)

    def Assign(self, theOther: "VrmlData_MapOfNode") -> "NCollection_Map< opencascade::handle< VrmlData_Node > > &":
        return _VrmlData.VrmlData_MapOfNode_Assign(self, theOther)

    def Set(self, theOther: "VrmlData_MapOfNode") -> "NCollection_Map< opencascade::handle< VrmlData_Node > > &":
        return _VrmlData.VrmlData_MapOfNode_Set(self, theOther)

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

    def Add(self, K: "opencascade::handle< VrmlData_Node > const &") -> "Standard_Boolean":
        return _VrmlData.VrmlData_MapOfNode_Add(self, K)

    def Added(self, K: "opencascade::handle< VrmlData_Node > const &") -> "opencascade::handle< VrmlData_Node > const &":
        return _VrmlData.VrmlData_MapOfNode_Added(self, K)

    def Remove(self, K: "opencascade::handle< VrmlData_Node > const &") -> "Standard_Boolean":
        return _VrmlData.VrmlData_MapOfNode_Remove(self, K)

    def Clear(self, *args) -> "void":
        return _VrmlData.VrmlData_MapOfNode_Clear(self, *args)
    __swig_destroy__ = _VrmlData.delete_VrmlData_MapOfNode

    def Size(self) -> "Standard_Integer":
        return _VrmlData.VrmlData_MapOfNode_Size(self)

    def IsEqual(self, theOther: "VrmlData_MapOfNode") -> "Standard_Boolean":
        return _VrmlData.VrmlData_MapOfNode_IsEqual(self, theOther)

    def Contains(self, *args) -> "Standard_Boolean":
        return _VrmlData.VrmlData_MapOfNode_Contains(self, *args)

    def Union(self, theLeft: "VrmlData_MapOfNode", theRight: "VrmlData_MapOfNode") -> "void":
        return _VrmlData.VrmlData_MapOfNode_Union(self, theLeft, theRight)

    def Unite(self, theOther: "VrmlData_MapOfNode") -> "Standard_Boolean":
        return _VrmlData.VrmlData_MapOfNode_Unite(self, theOther)

    def HasIntersection(self, theMap: "VrmlData_MapOfNode") -> "Standard_Boolean":
        return _VrmlData.VrmlData_MapOfNode_HasIntersection(self, theMap)

    def Intersection(self, theLeft: "VrmlData_MapOfNode", theRight: "VrmlData_MapOfNode") -> "void":
        return _VrmlData.VrmlData_MapOfNode_Intersection(self, theLeft, theRight)

    def Intersect(self, theOther: "VrmlData_MapOfNode") -> "Standard_Boolean":
        return _VrmlData.VrmlData_MapOfNode_Intersect(self, theOther)

    def Subtraction(self, theLeft: "VrmlData_MapOfNode", theRight: "VrmlData_MapOfNode") -> "void":
        return _VrmlData.VrmlData_MapOfNode_Subtraction(self, theLeft, theRight)

    def Subtract(self, theOther: "VrmlData_MapOfNode") -> "Standard_Boolean":
        return _VrmlData.VrmlData_MapOfNode_Subtract(self, theOther)

    def Difference(self, theLeft: "VrmlData_MapOfNode", theRight: "VrmlData_MapOfNode") -> "void":
        return _VrmlData.VrmlData_MapOfNode_Difference(self, theLeft, theRight)

    def Differ(self, theOther: "VrmlData_MapOfNode") -> "Standard_Boolean":
        return _VrmlData.VrmlData_MapOfNode_Differ(self, theOther)

# Register VrmlData_MapOfNode in _VrmlData:
_VrmlData.VrmlData_MapOfNode_swigregister(VrmlData_MapOfNode)

class VrmlData_Node(OCC.Core.Standard.Standard_Transient):
    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 Clone(self, *args) -> "opencascade::handle< VrmlData_Node >":
        r"""
        /** * create a copy of this node. * if the parameter is null, a new copied node is created. otherwise new node * is not created, but rather the given one is modified.<p> * this method nullifies the argument node if its member myscene differs * from that one of the current instance. */.

        Parameters
        ----------
        &: VrmlData_Node

        Returns
        -------
        opencascade::handle<VrmlData_Node>

        """
        return _VrmlData.VrmlData_Node_Clone(self, *args)

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

        Returns
        -------
        int

        """
        return _VrmlData.VrmlData_Node_GlobalIndent(*args)

    def IsDefault(self, *args) -> "Standard_Boolean":
        r"""
        /** * returns true if the node is default, then it would not be written. */.

        Returns
        -------
        bool

        """
        return _VrmlData.VrmlData_Node_IsDefault(self, *args)

    def Name(self, *args) -> "char const *":
        r"""
        /** * query the name */.

        Returns
        -------
        char *

        """
        return _VrmlData.VrmlData_Node_Name(self, *args)

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

        Parameters
        ----------
        theStat: VrmlData_ErrorStatus

        Returns
        -------
        bool
        No available documentation.

        Parameters
        ----------
        outStat: VrmlData_ErrorStatus
        theStat: VrmlData_ErrorStatus

        Returns
        -------
        bool

        """
        return _VrmlData.VrmlData_Node_OK(*args)

    def Read(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * read the node from input stream. */.

        Parameters
        ----------
        theBuffer: VrmlData_InBuffer

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Node_Read(self, *args)

    @staticmethod
    def ReadBoolean(*args) -> "Standard_Boolean &":
        r"""
        /** * read one boolean value (true or false). */.

        Parameters
        ----------
        theBuffer: VrmlData_InBuffer

        Returns
        -------
        theResult: bool

        """
        return _VrmlData.VrmlData_Node_ReadBoolean(*args)

    @staticmethod
    def ReadInteger(*args) -> "VrmlData_ErrorStatus":
        r"""
        /** * read one integer value. */.

        Parameters
        ----------
        theBuffer: VrmlData_InBuffer
        theResult: long

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Node_ReadInteger(*args)

    @staticmethod
    def ReadMultiString(*args) -> "VrmlData_ErrorStatus":
        r"""
        /** * read one quoted string, the quotes are removed. */.

        Parameters
        ----------
        theBuffer: VrmlData_InBuffer
        theRes: NCollection_List<TCollection_AsciiString>

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Node_ReadMultiString(*args)

    def ReadNode(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * read a complete node definition from vrml stream * @param thebuffer * buffer receiving the input data. * @param thenode * <tt>[out]</tt> node restored from the buffer data * @param type * node type to be checked. if it is null(default) no type checking is done. * otherwise the created node is matched and an error is returned if * no match detected. */.

        Parameters
        ----------
        theBuffer: VrmlData_InBuffer
        theNode: VrmlData_Node
        Type: Standard_Type,optional
        	default value is NULL

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Node_ReadNode(self, *args)

    @staticmethod
    def ReadString(*args) -> "VrmlData_ErrorStatus":
        r"""
        /** * read one quoted string, the quotes are removed. */.

        Parameters
        ----------
        theBuffer: VrmlData_InBuffer
        theRes: TCollection_AsciiString

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Node_ReadString(*args)

    def Scene(self, *args) -> "VrmlData_Scene const &":
        r"""
        /** * query the scene that contains this node */.

        Returns
        -------
        VrmlData_Scene

        """
        return _VrmlData.VrmlData_Node_Scene(self, *args)

    def Write(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * write the node to output stream. */.

        Parameters
        ----------
        thePrefix: char *

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Node_Write(self, *args)

    def WriteClosing(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * write the closing brace in the end of a node output. */.

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Node_WriteClosing(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_Node

# Register VrmlData_Node in _VrmlData:
_VrmlData.VrmlData_Node_swigregister(VrmlData_Node)

def VrmlData_Node_GlobalIndent(*args) -> "Standard_Integer":
    r"""
    No available documentation.

    Returns
    -------
    int

    """
    return _VrmlData.VrmlData_Node_GlobalIndent(*args)

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

    Parameters
    ----------
    theStat: VrmlData_ErrorStatus

    Returns
    -------
    bool
    No available documentation.

    Parameters
    ----------
    outStat: VrmlData_ErrorStatus
    theStat: VrmlData_ErrorStatus

    Returns
    -------
    bool

    """
    return _VrmlData.VrmlData_Node_OK(*args)

def VrmlData_Node_ReadBoolean(*args) -> "Standard_Boolean &":
    r"""
    /** * read one boolean value (true or false). */.

    Parameters
    ----------
    theBuffer: VrmlData_InBuffer

    Returns
    -------
    theResult: bool

    """
    return _VrmlData.VrmlData_Node_ReadBoolean(*args)

def VrmlData_Node_ReadInteger(*args) -> "VrmlData_ErrorStatus":
    r"""
    /** * read one integer value. */.

    Parameters
    ----------
    theBuffer: VrmlData_InBuffer
    theResult: long

    Returns
    -------
    VrmlData_ErrorStatus

    """
    return _VrmlData.VrmlData_Node_ReadInteger(*args)

def VrmlData_Node_ReadMultiString(*args) -> "VrmlData_ErrorStatus":
    r"""
    /** * read one quoted string, the quotes are removed. */.

    Parameters
    ----------
    theBuffer: VrmlData_InBuffer
    theRes: NCollection_List<TCollection_AsciiString>

    Returns
    -------
    VrmlData_ErrorStatus

    """
    return _VrmlData.VrmlData_Node_ReadMultiString(*args)

def VrmlData_Node_ReadString(*args) -> "VrmlData_ErrorStatus":
    r"""
    /** * read one quoted string, the quotes are removed. */.

    Parameters
    ----------
    theBuffer: VrmlData_InBuffer
    theRes: TCollection_AsciiString

    Returns
    -------
    VrmlData_ErrorStatus

    """
    return _VrmlData.VrmlData_Node_ReadString(*args)

class VrmlData_Scene(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"""
        /** * constructor. */.

        Parameters
        ----------
        &: NCollection_IncAllocator,optional
        	default value is 0L

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_Scene_swiginit(self, _VrmlData.new_VrmlData_Scene(*args))

    def AddNode(self, *args) -> "opencascade::handle< VrmlData_Node > const &":
        r"""
        /** * add a node. if then belongs to another scene, it is cloned. * <p>vrmldata_worldinfo cannot be added, in this case the method * returns a null handle. */.

        Parameters
        ----------
        theN: VrmlData_Node
        isTopLevel: bool,optional
        	default value is Standard_True

        Returns
        -------
        opencascade::handle<VrmlData_Node>

        """
        return _VrmlData.VrmlData_Scene_AddNode(self, *args)

    def Allocator(self, *args) -> "opencascade::handle< NCollection_IncAllocator > const &":
        r"""
        /** * allocator used by all nodes contained in the scene. */.

        Returns
        -------
        opencascade::handle<NCollection_IncAllocator>

        """
        return _VrmlData.VrmlData_Scene_Allocator(self, *args)

    def DumpToString(self) -> "std::string":
        r"""DumpToString(VrmlData_Scene self) -> std::string"""
        return _VrmlData.VrmlData_Scene_DumpToString(self)

    def FindNode(self, *args) -> "opencascade::handle< VrmlData_Node >":
        r"""
        /** * find a node by its name. * @param thename * name of the node to find. * @param thetype * type to match. if this value is null, the first found node with the * given name is returned. if thetype is given, only the node that has * that type is returned. */.

        Parameters
        ----------
        theName: char *
        theType: Standard_Type,optional
        	default value is 0L

        Returns
        -------
        opencascade::handle<VrmlData_Node>
        /** * find a node by its name. * @param thename * name of the node to search for. * @param thelocation * location of the found node with respect to the whole vrml shape. */.

        Parameters
        ----------
        theName: char *
        theLocation: gp_Trsf

        Returns
        -------
        opencascade::handle<VrmlData_Node>

        """
        return _VrmlData.VrmlData_Scene_FindNode(self, *args)

    def GetIterator(self, *args) -> "VrmlData_Scene::Iterator":
        r"""
        /** * iterator of nodes */.

        Returns
        -------
        Iterator

        """
        return _VrmlData.VrmlData_Scene_GetIterator(self, *args)

    def GetLineError(self, *args) -> "Standard_Integer":
        r"""
        /** * query the line where the error occurred (if the status is not ok) */.

        Returns
        -------
        int

        """
        return _VrmlData.VrmlData_Scene_GetLineError(self, *args)

    def GetShape(self, *args) -> "TopoDS_Shape":
        r"""
        /** * convert the scene to a shape, with the information on materials defined * for each sub-shape. this method should be used instead of topods_shape * explicit conversion operator when you need to retrieve the material * aspect for each face or edge in the returned topological object. * @param m * data map that binds an appearance instance to each created tface or * tedge if the appearance node is defined in vrml scene for that geometry. * returns * topods_shape (compound) holding all the scene, similar to the result of * explicit topods_shape conversion operator. */.

        Parameters
        ----------
        M: VrmlData_DataMapOfShapeAppearance

        Returns
        -------
        TopoDS_Shape

        """
        return _VrmlData.VrmlData_Scene_GetShape(self, *args)

    def IsDummyWrite(self, *args) -> "Standard_Boolean":
        r"""
        /** * query if the current write operation is dummy, i.e., for the purpose of * collecting information before the real write is commenced. */.

        Returns
        -------
        bool

        """
        return _VrmlData.VrmlData_Scene_IsDummyWrite(self, *args)

    def NamedNodesIterator(self, *args) -> "VrmlData_MapOfNode::Iterator":
        r"""
        /** * get the iterator of named nodes. */.

        Returns
        -------
        VrmlData_MapOfNode::Iterator

        """
        return _VrmlData.VrmlData_Scene_NamedNodesIterator(self, *args)

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

        Parameters
        ----------
        theBuffer: VrmlData_InBuffer
        theArr: int * *
        theNBl: Standard_Size

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Scene_ReadArrIndex(self, *args)

    @staticmethod
    def ReadLine(*args) -> "VrmlData_ErrorStatus":
        r"""
        /** * read a vrml line. empty lines and comments are skipped. * the processing starts here from thebuffer.lineptr; if there is at least * one non-empty character (neither space nor comment), this line is used * without reading the next one. * @param theline * buffer receiving the input line * @param theinput * input stream * @param thelen * length of the input buffer (maximal line length) */.

        Parameters
        ----------
        theBuffer: VrmlData_InBuffer

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Scene_ReadLine(*args)

    def ReadReal(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * read one real value. */.

        Parameters
        ----------
        theBuffer: VrmlData_InBuffer
        isApplyScale: bool
        isOnlyPositive: bool

        Returns
        -------
        theResult: float

        """
        return _VrmlData.VrmlData_Scene_ReadReal(self, *args)

    @staticmethod
    def ReadWord(*args) -> "VrmlData_ErrorStatus":
        r"""
        /** * read a singel word from the input stream, delimited by whitespace. */.

        Parameters
        ----------
        theBuffer: VrmlData_InBuffer
        theStr: TCollection_AsciiString

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Scene_ReadWord(*args)

    def ReadXY(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * read one doublet of real values. */.

        Parameters
        ----------
        theBuffer: VrmlData_InBuffer
        theXYZ: gp_XY
        isApplyScale: bool
        isOnlyPositive: bool

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Scene_ReadXY(self, *args)

    def ReadXYZ(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * read one triplet of real values. */.

        Parameters
        ----------
        theBuffer: VrmlData_InBuffer
        theXYZ: gp_XYZ
        isApplyScale: bool
        isOnlyPositive: bool

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Scene_ReadXYZ(self, *args)

    def SetIndent(self, *args) -> "void":
        r"""
        /** * store the indentation for vrml output. * @param nspc * number of spaces to insert at every indentation level */.

        Parameters
        ----------
        nSpc: int

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Scene_SetIndent(self, *args)

    def SetLinearScale(self, *args) -> "void":
        r"""
        /** * set the scale factor that would be further used in methods * readreal, readxyz and readxy. all coordinates, distances and sized are * multiplied by this factor during reading the data. */.

        Parameters
        ----------
        theScale: float

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Scene_SetLinearScale(self, *args)

    def SetVrmlDir(self, *args) -> "void":
        r"""
        /** * add the given directory path to the list of vrml file search directories. * this method forms the list of directories ordered according to the * sequence of this method calls. when an inline node is found, the urls * in that node are matched with these directories. * the last (implicit) search directory is the current process directory * ('.'). it takes effect if the list is empty or if there is no match with * exisiting directories. */.

        Parameters
        ----------
        &: TCollection_ExtendedString

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Scene_SetVrmlDir(self, *args)

    def Status(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * query the status of the previous operation. * normally it should be equal to vrmldata_statusok (no error). */.

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Scene_Status(self, *args)

    def VrmlDirIterator(self, *args) -> "NCollection_List< TCollection_ExtendedString >::Iterator":
        r"""
        /** * returns the directory iterator, to check the presence of requested vrml * file in each iterated directory. */.

        Returns
        -------
        NCollection_List<TCollection_ExtendedString >::Iterator

        """
        return _VrmlData.VrmlData_Scene_VrmlDirIterator(self, *args)

    def WorldInfo(self, *args) -> "opencascade::handle< VrmlData_WorldInfo > const &":
        r"""
        /** * query the worldinfo member. */.

        Returns
        -------
        opencascade::handle<VrmlData_WorldInfo>

        """
        return _VrmlData.VrmlData_Scene_WorldInfo(self, *args)

    def WriteArrIndex(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * write an array of integer indices, for indexedfaceset and indexedlineset. */.

        Parameters
        ----------
        thePrefix: char *
        theArr: int * *
        theNbBl: Standard_Size

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Scene_WriteArrIndex(self, *args)

    def WriteLine(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * write a string to the output stream respecting the indentation. the string * can be defined as two substrings that will be separated by a space. * each of the substrings can be null, then it is ignored. if both * are null, then a single newline is output (without indent). * @param theline0 * the first part of string to output * @param theline1 * the second part of string to output * @param theindent * - 0 value ignored. * - negative decreases the current indent and then outputs. * - positive outputs and then increases the current indent. * returns * error status of the stream, or a special error if myoutput == null. */.

        Parameters
        ----------
        theLine0: char *
        theLine1: char *,optional
        	default value is 0L
        theIndent: int,optional
        	default value is 0

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Scene_WriteLine(self, *args)

    def WriteNode(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * write the given node to output stream 'myoutput'. */.

        Parameters
        ----------
        thePrefix: char *
        &: VrmlData_Node

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Scene_WriteNode(self, *args)

    def WriteXYZ(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * write a triplet of real values on a separate line. * @param thexyz * the value to be output. * @param isscale * if true, then each component is divided by mylinearscale. * @param thepostfix * optional string that is added before the end of the line. */.

        Parameters
        ----------
        theXYZ: gp_XYZ
        isScale: bool
        thePostfix: char *,optional
        	default value is 0L

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Scene_WriteXYZ(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_Scene

# Register VrmlData_Scene in _VrmlData:
_VrmlData.VrmlData_Scene_swigregister(VrmlData_Scene)

def VrmlData_Scene_ReadLine(*args) -> "VrmlData_ErrorStatus":
    r"""
    /** * read a vrml line. empty lines and comments are skipped. * the processing starts here from thebuffer.lineptr; if there is at least * one non-empty character (neither space nor comment), this line is used * without reading the next one. * @param theline * buffer receiving the input line * @param theinput * input stream * @param thelen * length of the input buffer (maximal line length) */.

    Parameters
    ----------
    theBuffer: VrmlData_InBuffer

    Returns
    -------
    VrmlData_ErrorStatus

    """
    return _VrmlData.VrmlData_Scene_ReadLine(*args)

def VrmlData_Scene_ReadWord(*args) -> "VrmlData_ErrorStatus":
    r"""
    /** * read a singel word from the input stream, delimited by whitespace. */.

    Parameters
    ----------
    theBuffer: VrmlData_InBuffer
    theStr: TCollection_AsciiString

    Returns
    -------
    VrmlData_ErrorStatus

    """
    return _VrmlData.VrmlData_Scene_ReadWord(*args)

class VrmlData_ShapeConvert(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"""
        /** * constructor. * @param thescene * scene receiving all vrml data. * @param thescale * scale factor, considering that vrml standard specifies coordinates in * meters. so if your data are in mm, you should provide thescale=0.001 */.

        Parameters
        ----------
        theScene: VrmlData_Scene
        theScale: float,optional
        	default value is 1

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_ShapeConvert_swiginit(self, _VrmlData.new_VrmlData_ShapeConvert(*args))

    def AddShape(self, *args) -> "void":
        r"""
        /** * add one shape to the internal list, may be called several times with * different shapes. */.

        Parameters
        ----------
        theShape: TopoDS_Shape
        theName: char *,optional
        	default value is 0L

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_ShapeConvert_AddShape(self, *args)

    def Convert(self, *args) -> "void":
        r"""
        /** * convert all accumulated shapes and store them in myscene. * the internal data structures are cleared in the end of convertion. * @param theextractfaces * if true, converter extracst faces from the shapes. * @param theextractedges * if true, converter extracts edges from the shapes. * @param thedeflection * deflection for tessellation of geometrical lines/surfaces. existing mesh * is used if its deflection is smaller than the one given by this * parameter. * @param thedeflangle * angular deflection for tessellation of geometrical lines. */.

        Parameters
        ----------
        theExtractFaces: bool
        theExtractEdges: bool
        theDeflection: float,optional
        	default value is 0.01
        theDeflAngle: float,optional
        	default value is 20*M_PI/180

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_ShapeConvert_Convert(self, *args)

    def ConvertDocument(self, *args) -> "void":
        r"""
        /** * add all shapes start from given document with colors and names to the internal structure */.

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

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_ShapeConvert_ConvertDocument(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_ShapeConvert

# Register VrmlData_ShapeConvert in _VrmlData:
_VrmlData.VrmlData_ShapeConvert_swigregister(VrmlData_ShapeConvert)

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

    def __init__(self, *args):
        r"""
        /** * empty constructor */.

        Returns
        -------
        None
        /** * constructor */.

        Parameters
        ----------
        theScene: VrmlData_Scene
        theName: char *

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_Appearance_swiginit(self, _VrmlData.new_VrmlData_Appearance(*args))

    def Material(self, *args) -> "opencascade::handle< VrmlData_Material > const &":
        r"""
        /** * query the material */.

        Returns
        -------
        opencascade::handle<VrmlData_Material>

        """
        return _VrmlData.VrmlData_Appearance_Material(self, *args)

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

        Parameters
        ----------
        theMat: VrmlData_Material

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Appearance_SetMaterial(self, *args)

    def SetTexture(self, *args) -> "void":
        r"""
        /** * set the texture */.

        Parameters
        ----------
        theTexture: VrmlData_Texture

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Appearance_SetTexture(self, *args)

    def SetTextureTransform(self, *args) -> "void":
        r"""
        /** * set the texture transform */.

        Parameters
        ----------
        theTT: VrmlData_TextureTransform

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Appearance_SetTextureTransform(self, *args)

    def Texture(self, *args) -> "opencascade::handle< VrmlData_Texture > const &":
        r"""
        /** * query the texture */.

        Returns
        -------
        opencascade::handle<VrmlData_Texture>

        """
        return _VrmlData.VrmlData_Appearance_Texture(self, *args)

    def TextureTransform(self, *args) -> "opencascade::handle< VrmlData_TextureTransform > const &":
        r"""
        /** * query the texturetransform */.

        Returns
        -------
        opencascade::handle<VrmlData_TextureTransform>

        """
        return _VrmlData.VrmlData_Appearance_TextureTransform(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_Appearance

# Register VrmlData_Appearance in _VrmlData:
_VrmlData.VrmlData_Appearance_swigregister(VrmlData_Appearance)

class VrmlData_Geometry(VrmlData_Node):
    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 TShape(self, *args) -> "opencascade::handle< TopoDS_TShape > const":
        r"""
        /** * query the shape. this method checks the flag myismodified; if true it * should rebuild the shape presentation. */.

        Returns
        -------
        opencascade::handle<TopoDS_TShape>

        """
        return _VrmlData.VrmlData_Geometry_TShape(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_Geometry

# Register VrmlData_Geometry in _VrmlData:
_VrmlData.VrmlData_Geometry_swigregister(VrmlData_Geometry)

class VrmlData_Group(VrmlData_Node):
    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. * @param istransform * true if the group of type transform is defined * @param thealloc * allocator used for the list of children */.

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

        Returns
        -------
        None
        /** * constructor. * @param thename * name of the group node * @param istransform * true if the group of type transform is defined * @param thealloc * allocator used for the list of children */.

        Parameters
        ----------
        theScene: VrmlData_Scene
        theName: char *
        isTransform: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_Group_swiginit(self, _VrmlData.new_VrmlData_Group(*args))

    def AddNode(self, *args) -> "opencascade::handle< VrmlData_Node > &":
        r"""
        /** * add one node to the group. */.

        Parameters
        ----------
        theNode: VrmlData_Node

        Returns
        -------
        opencascade::handle<VrmlData_Node>

        """
        return _VrmlData.VrmlData_Group_AddNode(self, *args)

    def Box(self, *args) -> "Bnd_B3f const &":
        r"""
        /** * query the bounding box. */.

        Returns
        -------
        Bnd_B3f

        """
        return _VrmlData.VrmlData_Group_Box(self, *args)

    def FindNode(self, *args) -> "opencascade::handle< VrmlData_Node >":
        r"""
        /** * find a node by its name, inside this group * @param thename * name of the node to search for. * @param thelocation * location of the found node with respect to this group. */.

        Parameters
        ----------
        theName: char *
        theLocation: gp_Trsf

        Returns
        -------
        opencascade::handle<VrmlData_Node>

        """
        return _VrmlData.VrmlData_Group_FindNode(self, *args)

    def GetTransform(self, *args) -> "gp_Trsf const":
        r"""
        No available documentation.

        Returns
        -------
        gp_Trsf

        """
        return _VrmlData.VrmlData_Group_GetTransform(self, *args)

    def IsTransform(self, *args) -> "Standard_Boolean":
        r"""
        /** * query if the node is transform type. */.

        Returns
        -------
        bool

        """
        return _VrmlData.VrmlData_Group_IsTransform(self, *args)

    def NodeIterator(self, *args) -> "VrmlData_Group::Iterator":
        r"""
        /** * create iterator on nodes belonging to the group. */.

        Returns
        -------
        Iterator

        """
        return _VrmlData.VrmlData_Group_NodeIterator(self, *args)

    def RemoveNode(self, *args) -> "Standard_Boolean":
        r"""
        /** * remove one node from the group. * returns * true if the node was located and removed, false if none removed. */.

        Parameters
        ----------
        theNode: VrmlData_Node

        Returns
        -------
        bool

        """
        return _VrmlData.VrmlData_Group_RemoveNode(self, *args)

    def SetBox(self, *args) -> "void":
        r"""
        /** * set the bounding box. */.

        Parameters
        ----------
        theBox: Bnd_B3f

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Group_SetBox(self, *args)

    def SetTransform(self, *args) -> "Standard_Boolean":
        r"""
        /** * set the transformation. returns true if the group is transform type, * otherwise do nothing and return false. */.

        Parameters
        ----------
        theTrsf: gp_Trsf

        Returns
        -------
        bool

        """
        return _VrmlData.VrmlData_Group_SetTransform(self, *args)

    def Shape(self, *args) -> "void":
        r"""
        /** * get the shape representing the group geometry. */.

        Parameters
        ----------
        theShape: TopoDS_Shape
        pMapApp: VrmlData_DataMapOfShapeAppearance *

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Group_Shape(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_Group

# Register VrmlData_Group in _VrmlData:
_VrmlData.VrmlData_Group_swigregister(VrmlData_Group)

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

    def __init__(self, *args):
        r"""
        /** * empty constructor */.

        Returns
        -------
        None
        /** * constructor */.

        Parameters
        ----------
        theScene: VrmlData_Scene
        theName: char *
        theAmbientIntensity: float,optional
        	default value is -1
        theShininess: float,optional
        	default value is -1
        theTransparency: float,optional
        	default value is -1

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_Material_swiginit(self, _VrmlData.new_VrmlData_Material(*args))

    def AmbientIntensity(self, *args) -> "Standard_Real":
        r"""
        /** * query the ambient intensity value */.

        Returns
        -------
        float

        """
        return _VrmlData.VrmlData_Material_AmbientIntensity(self, *args)

    def DiffuseColor(self, *args) -> "Quantity_Color const &":
        r"""
        /** * query the diffuse color */.

        Returns
        -------
        Quantity_Color

        """
        return _VrmlData.VrmlData_Material_DiffuseColor(self, *args)

    def EmissiveColor(self, *args) -> "Quantity_Color const &":
        r"""
        /** * query the emissive color */.

        Returns
        -------
        Quantity_Color

        """
        return _VrmlData.VrmlData_Material_EmissiveColor(self, *args)

    def SetAmbientIntensity(self, *args) -> "void":
        r"""
        /** * set the ambient intensity value */.

        Parameters
        ----------
        theAmbientIntensity: float

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Material_SetAmbientIntensity(self, *args)

    def SetDiffuseColor(self, *args) -> "void":
        r"""
        /** * query the diffuse color */.

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

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Material_SetDiffuseColor(self, *args)

    def SetEmissiveColor(self, *args) -> "void":
        r"""
        /** * query the emissive color */.

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

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Material_SetEmissiveColor(self, *args)

    def SetShininess(self, *args) -> "void":
        r"""
        /** * set the shininess value */.

        Parameters
        ----------
        theShininess: float

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Material_SetShininess(self, *args)

    def SetSpecularColor(self, *args) -> "void":
        r"""
        /** * query the specular color */.

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

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Material_SetSpecularColor(self, *args)

    def SetTransparency(self, *args) -> "void":
        r"""
        /** * set the transparency value */.

        Parameters
        ----------
        theTransparency: float

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Material_SetTransparency(self, *args)

    def Shininess(self, *args) -> "Standard_Real":
        r"""
        /** * query the shininess value */.

        Returns
        -------
        float

        """
        return _VrmlData.VrmlData_Material_Shininess(self, *args)

    def SpecularColor(self, *args) -> "Quantity_Color const &":
        r"""
        /** * query the specular color */.

        Returns
        -------
        Quantity_Color

        """
        return _VrmlData.VrmlData_Material_SpecularColor(self, *args)

    def Transparency(self, *args) -> "Standard_Real":
        r"""
        /** * query the transparency value */.

        Returns
        -------
        float

        """
        return _VrmlData.VrmlData_Material_Transparency(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_Material

# Register VrmlData_Material in _VrmlData:
_VrmlData.VrmlData_Material_swigregister(VrmlData_Material)

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

    def __init__(self, *args):
        r"""
        /** * empty constructor */.

        Returns
        -------
        None
        /** * constructor */.

        Parameters
        ----------
        theScene: VrmlData_Scene
        theName: char *

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_ShapeNode_swiginit(self, _VrmlData.new_VrmlData_ShapeNode(*args))

    def Appearance(self, *args) -> "opencascade::handle< VrmlData_Appearance > const &":
        r"""
        /** * query the appearance. */.

        Returns
        -------
        opencascade::handle<VrmlData_Appearance>

        """
        return _VrmlData.VrmlData_ShapeNode_Appearance(self, *args)

    def Geometry(self, *args) -> "opencascade::handle< VrmlData_Geometry > const &":
        r"""
        /** * query the geometry. */.

        Returns
        -------
        opencascade::handle<VrmlData_Geometry>

        """
        return _VrmlData.VrmlData_ShapeNode_Geometry(self, *args)

    def SetAppearance(self, *args) -> "void":
        r"""
        /** * set the appearance */.

        Parameters
        ----------
        theAppear: VrmlData_Appearance

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_ShapeNode_SetAppearance(self, *args)

    def SetGeometry(self, *args) -> "void":
        r"""
        /** * set the geometry */.

        Parameters
        ----------
        theGeometry: VrmlData_Geometry

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_ShapeNode_SetGeometry(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_ShapeNode

# Register VrmlData_ShapeNode in _VrmlData:
_VrmlData.VrmlData_ShapeNode_swigregister(VrmlData_ShapeNode)

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

    def __init__(self, *args):
        r"""
        /** * empty constructor */.

        Returns
        -------
        None
        /** * constructor */.

        Parameters
        ----------
        theScene: VrmlData_Scene
        theName: char *
        nPoints: size_t,optional
        	default value is 0
        arrPoints: gp_XY *,optional
        	default value is 0L

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_TextureCoordinate_swiginit(self, _VrmlData.new_VrmlData_TextureCoordinate(*args))

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

        Parameters
        ----------
        theLength: Standard_Size

        Returns
        -------
        bool

        """
        return _VrmlData.VrmlData_TextureCoordinate_AllocateValues(self, *args)

    def Length(self, *args) -> "size_t":
        r"""
        /** * query the number of points */.

        Returns
        -------
        size_t

        """
        return _VrmlData.VrmlData_TextureCoordinate_Length(self, *args)

    def Points(self, *args) -> "gp_XY const *":
        r"""
        /** * query the points */.

        Returns
        -------
        gp_XY *

        """
        return _VrmlData.VrmlData_TextureCoordinate_Points(self, *args)

    def SetPoints(self, *args) -> "void":
        r"""
        /** * set the points array */.

        Parameters
        ----------
        nPoints: size_t
        arrPoints: gp_XY *

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_TextureCoordinate_SetPoints(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_TextureCoordinate

# Register VrmlData_TextureCoordinate in _VrmlData:
_VrmlData.VrmlData_TextureCoordinate_swigregister(VrmlData_TextureCoordinate)

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

    def __init__(self, *args):
        r"""
        /** * empty constructor. */.

        Returns
        -------
        None
        /** * constructor. */.

        Parameters
        ----------
        theScene: VrmlData_Scene
        theName: char *,optional
        	default value is 0L
        theTitle: char *,optional
        	default value is 0L

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_UnknownNode_swiginit(self, _VrmlData.new_VrmlData_UnknownNode(*args))

    def GetTitle(self, *args) -> "TCollection_AsciiString const &":
        r"""
        /** * query the title of the unknown node. */.

        Returns
        -------
        TCollection_AsciiString

        """
        return _VrmlData.VrmlData_UnknownNode_GetTitle(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_UnknownNode

# Register VrmlData_UnknownNode in _VrmlData:
_VrmlData.VrmlData_UnknownNode_swigregister(VrmlData_UnknownNode)

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

    def __init__(self, *args):
        r"""
        /** * empty constructor. */.

        Returns
        -------
        None
        /** * constructor. */.

        Parameters
        ----------
        theScene: VrmlData_Scene
        theName: char *,optional
        	default value is 0L
        theTitle: char *,optional
        	default value is 0L

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_WorldInfo_swiginit(self, _VrmlData.new_VrmlData_WorldInfo(*args))

    def AddInfo(self, *args) -> "void":
        r"""
        /** * add a string to the list of info strings. */.

        Parameters
        ----------
        theString: char *

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_WorldInfo_AddInfo(self, *args)

    def InfoIterator(self, *args) -> "NCollection_List< char const * >::Iterator":
        r"""
        /** * return the iterator of info strings. */.

        Returns
        -------
        NCollection_List< char * >::Iterator

        """
        return _VrmlData.VrmlData_WorldInfo_InfoIterator(self, *args)

    def SetTitle(self, *args) -> "void":
        r"""
        /** * set or modify the title. */.

        Parameters
        ----------
        theString: char *

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_WorldInfo_SetTitle(self, *args)

    def Title(self, *args) -> "char const *":
        r"""
        /** * query the title string. */.

        Returns
        -------
        char *

        """
        return _VrmlData.VrmlData_WorldInfo_Title(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_WorldInfo

# Register VrmlData_WorldInfo in _VrmlData:
_VrmlData.VrmlData_WorldInfo_swigregister(VrmlData_WorldInfo)

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

    def __init__(self, *args):
        r"""
        /** * empty constructor */.

        Returns
        -------
        None
        /** * constructor */.

        Parameters
        ----------
        theScene: VrmlData_Scene
        theName: char *
        sizeX: float,optional
        	default value is 2
        sizeY: float,optional
        	default value is 2
        sizeZ: float,optional
        	default value is 2

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_Box_swiginit(self, _VrmlData.new_VrmlData_Box(*args))

    def SetSize(self, *args) -> "void":
        r"""
        /** * set the box size */.

        Parameters
        ----------
        theSize: gp_XYZ

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Box_SetSize(self, *args)

    def Size(self, *args) -> "gp_XYZ const":
        r"""
        /** * query the box size */.

        Returns
        -------
        gp_XYZ

        """
        return _VrmlData.VrmlData_Box_Size(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_Box

# Register VrmlData_Box in _VrmlData:
_VrmlData.VrmlData_Box_swigregister(VrmlData_Box)

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

    def __init__(self, *args):
        r"""
        /** * empty constructor. */.

        Returns
        -------
        None
        /** * constructor. */.

        Parameters
        ----------
        theScene: VrmlData_Scene
        theName: char *
        nColors: size_t,optional
        	default value is 0
        arrColors: gp_XYZ *,optional
        	default value is 0L

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_Color_swiginit(self, _VrmlData.new_VrmlData_Color(*args))

    def Clone(self, *args) -> "opencascade::handle< VrmlData_Node >":
        r"""
        /** * create a copy of this node. * if the parameter is null, a new copied node is created. otherwise new node * is not created, but rather the given one is modified.<p> */.

        Parameters
        ----------
        theOther: VrmlData_Node

        Returns
        -------
        opencascade::handle<VrmlData_Node>

        """
        return _VrmlData.VrmlData_Color_Clone(self, *args)

    def Color(self, *args) -> "Quantity_Color const":
        r"""
        /** * query one color * @param i * index in the array of colors [0 .. n-1] * returns * the color value for the index. if index irrelevant, returns (0., 0., 0.) */.

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

        Returns
        -------
        Quantity_Color

        """
        return _VrmlData.VrmlData_Color_Color(self, *args)

    def Read(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * read the node from input stream. */.

        Parameters
        ----------
        theBuffer: VrmlData_InBuffer

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Color_Read(self, *args)

    def SetColors(self, *args) -> "void":
        r"""
        /** * set the array data */.

        Parameters
        ----------
        nColors: size_t
        arrColors: gp_XYZ *

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Color_SetColors(self, *args)

    def Write(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * write the node to the scene output. */.

        Parameters
        ----------
        thePrefix: char *

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Color_Write(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_Color

# Register VrmlData_Color in _VrmlData:
_VrmlData.VrmlData_Color_swigregister(VrmlData_Color)

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

    def __init__(self, *args):
        r"""
        /** * empty constructor */.

        Returns
        -------
        None
        /** * constructor */.

        Parameters
        ----------
        theScene: VrmlData_Scene
        theName: char *
        theBottomRadius: float,optional
        	default value is 1
        theHeight: float,optional
        	default value is 2

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_Cone_swiginit(self, _VrmlData.new_VrmlData_Cone(*args))

    def BottomRadius(self, *args) -> "Standard_Real":
        r"""
        /** * query the bottom radius */.

        Returns
        -------
        float

        """
        return _VrmlData.VrmlData_Cone_BottomRadius(self, *args)

    def HasBottom(self, *args) -> "Standard_Boolean":
        r"""
        /** * query if the bottom circle is included */.

        Returns
        -------
        bool

        """
        return _VrmlData.VrmlData_Cone_HasBottom(self, *args)

    def HasSide(self, *args) -> "Standard_Boolean":
        r"""
        /** * query if the side surface is included */.

        Returns
        -------
        bool

        """
        return _VrmlData.VrmlData_Cone_HasSide(self, *args)

    def Height(self, *args) -> "Standard_Real":
        r"""
        /** * query the height */.

        Returns
        -------
        float

        """
        return _VrmlData.VrmlData_Cone_Height(self, *args)

    def SetBottomRadius(self, *args) -> "void":
        r"""
        /** * set the bottom radius */.

        Parameters
        ----------
        theRadius: float

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Cone_SetBottomRadius(self, *args)

    def SetFaces(self, *args) -> "void":
        r"""
        /** * set which faces are included */.

        Parameters
        ----------
        hasBottom: bool
        hasSide: bool

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Cone_SetFaces(self, *args)

    def SetHeight(self, *args) -> "void":
        r"""
        /** * set the height */.

        Parameters
        ----------
        theHeight: float

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Cone_SetHeight(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_Cone

# Register VrmlData_Cone in _VrmlData:
_VrmlData.VrmlData_Cone_swigregister(VrmlData_Cone)

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

    def __init__(self, *args):
        r"""
        /** * empty constructor */.

        Returns
        -------
        None
        /** * constructor */.

        Parameters
        ----------
        theScene: VrmlData_Scene
        theName: char *
        nPoints: size_t,optional
        	default value is 0
        arrPoints: gp_XYZ *,optional
        	default value is 0L

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_Coordinate_swiginit(self, _VrmlData.new_VrmlData_Coordinate(*args))

    def Clone(self, *args) -> "opencascade::handle< VrmlData_Node >":
        r"""
        /** * create a copy of this node. * if the parameter is null, a new copied node is created. otherwise new node * is not created, but rather the given one is modified. */.

        Parameters
        ----------
        theOther: VrmlData_Node

        Returns
        -------
        opencascade::handle<VrmlData_Node>

        """
        return _VrmlData.VrmlData_Coordinate_Clone(self, *args)

    def Coordinate(self, *args) -> "gp_XYZ const":
        r"""
        /** * query one point * @param i * index in the array of points [0 .. n-1] * returns * the coordinate for the index. if index irrelevant, returns (0., 0., 0.) */.

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

        Returns
        -------
        gp_XYZ

        """
        return _VrmlData.VrmlData_Coordinate_Coordinate(self, *args)

    def Read(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * read the node from input stream. */.

        Parameters
        ----------
        theBuffer: VrmlData_InBuffer

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Coordinate_Read(self, *args)

    def Write(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * write the node to the scene output. */.

        Parameters
        ----------
        thePrefix: char *

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Coordinate_Write(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_Coordinate

# Register VrmlData_Coordinate in _VrmlData:
_VrmlData.VrmlData_Coordinate_swigregister(VrmlData_Coordinate)

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

    def __init__(self, *args):
        r"""
        /** * empty constructor */.

        Returns
        -------
        None
        /** * constructor */.

        Parameters
        ----------
        theScene: VrmlData_Scene
        theName: char *
        theRadius: float,optional
        	default value is 1
        theHeight: float,optional
        	default value is 2

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_Cylinder_swiginit(self, _VrmlData.new_VrmlData_Cylinder(*args))

    def HasBottom(self, *args) -> "Standard_Boolean":
        r"""
        /** * query if the bottom circle is included */.

        Returns
        -------
        bool

        """
        return _VrmlData.VrmlData_Cylinder_HasBottom(self, *args)

    def HasSide(self, *args) -> "Standard_Boolean":
        r"""
        /** * query if the side surface is included */.

        Returns
        -------
        bool

        """
        return _VrmlData.VrmlData_Cylinder_HasSide(self, *args)

    def HasTop(self, *args) -> "Standard_Boolean":
        r"""
        /** * query if the top surface is included */.

        Returns
        -------
        bool

        """
        return _VrmlData.VrmlData_Cylinder_HasTop(self, *args)

    def Height(self, *args) -> "Standard_Real":
        r"""
        /** * query the height */.

        Returns
        -------
        float

        """
        return _VrmlData.VrmlData_Cylinder_Height(self, *args)

    def Radius(self, *args) -> "Standard_Real":
        r"""
        /** * query the radius */.

        Returns
        -------
        float

        """
        return _VrmlData.VrmlData_Cylinder_Radius(self, *args)

    def SetFaces(self, *args) -> "void":
        r"""
        /** * set which faces are included */.

        Parameters
        ----------
        hasBottom: bool
        hasSide: bool
        hasTop: bool

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Cylinder_SetFaces(self, *args)

    def SetHeight(self, *args) -> "void":
        r"""
        /** * set the height */.

        Parameters
        ----------
        theHeight: float

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Cylinder_SetHeight(self, *args)

    def SetRadius(self, *args) -> "void":
        r"""
        /** * set the radius */.

        Parameters
        ----------
        theRadius: float

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Cylinder_SetRadius(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_Cylinder

# Register VrmlData_Cylinder in _VrmlData:
_VrmlData.VrmlData_Cylinder_swigregister(VrmlData_Cylinder)

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

    def __init__(self, *args):
        r"""
        /** * empty constructor */.

        Returns
        -------
        None
        /** * constructor */.

        Parameters
        ----------
        theScene: VrmlData_Scene
        theName: char *
        theURL: char *,optional
        	default value is 0L
        theRepS: bool,optional
        	default value is Standard_False
        theRepT: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_ImageTexture_swiginit(self, _VrmlData.new_VrmlData_ImageTexture(*args))

    def Clone(self, *args) -> "opencascade::handle< VrmlData_Node >":
        r"""
        /** * create a copy of this node. * if the parameter is null, a new copied node is created. otherwise new node * is not created, but rather the given one is modified. */.

        Parameters
        ----------
        theOther: VrmlData_Node

        Returns
        -------
        opencascade::handle<VrmlData_Node>

        """
        return _VrmlData.VrmlData_ImageTexture_Clone(self, *args)

    def Read(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * read the node from input stream. */.

        Parameters
        ----------
        theBuffer: VrmlData_InBuffer

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_ImageTexture_Read(self, *args)

    def URL(self, *args) -> "NCollection_List< TCollection_AsciiString > const &":
        r"""
        /** * query the associated url. */.

        Returns
        -------
        NCollection_List<TCollection_AsciiString>

        """
        return _VrmlData.VrmlData_ImageTexture_URL(self, *args)

    def Write(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * write the node to output stream. */.

        Parameters
        ----------
        thePrefix: char *

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_ImageTexture_Write(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_ImageTexture

# Register VrmlData_ImageTexture in _VrmlData:
_VrmlData.VrmlData_ImageTexture_swigregister(VrmlData_ImageTexture)

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

    def __init__(self, *args):
        r"""
        /** * empty constructor. */.

        Returns
        -------
        None
        /** * constructor. */.

        Parameters
        ----------
        theScene: VrmlData_Scene
        theName: char *
        isColorPerVertex: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_IndexedLineSet_swiginit(self, _VrmlData.new_VrmlData_IndexedLineSet(*args))

    def ArrayColorInd(self, *args) -> "size_t":
        r"""
        /** * query the array of color indice * @param arrcolorind * <tt>[out]</tt> array of colorindex as it is described in vrml2.0 spec * returns * number of integers in the array arrcolorind. */.

        Parameters
        ----------
        arrColorInd: int * *

        Returns
        -------
        size_t

        """
        return _VrmlData.VrmlData_IndexedLineSet_ArrayColorInd(self, *args)

    def Colors(self, *args) -> "opencascade::handle< VrmlData_Color > const &":
        r"""
        /** * query the colors. */.

        Returns
        -------
        opencascade::handle<VrmlData_Color>

        """
        return _VrmlData.VrmlData_IndexedLineSet_Colors(self, *args)

    def Coordinates(self, *args) -> "opencascade::handle< VrmlData_Coordinate > const &":
        r"""
        /** * query the coordinates. */.

        Returns
        -------
        opencascade::handle<VrmlData_Coordinate>

        """
        return _VrmlData.VrmlData_IndexedLineSet_Coordinates(self, *args)

    def GetColor(self, *args) -> "Quantity_Color":
        r"""
        /** * query a color for one node in the given element. the color is * interpreted according to fields mycolors, myarrcolorind, * mycolorpervertex, as defined in vrml 2.0. * @param iface * rank of the polygon [0 .. n-1] * @param ivertex * rank of the vertex in the polygon [0 .. m-1]. this parameter is ignored * if (mycolorpervertex == false) * returns * color value (rgb); if the color is indefinite then returns (0., 0., 0.) */.

        Parameters
        ----------
        iFace: int
        iVertex: int

        Returns
        -------
        Quantity_Color

        """
        return _VrmlData.VrmlData_IndexedLineSet_GetColor(self, *args)

    def Polygon(self, *args) -> "Standard_Integer":
        r"""
        /** * query one polygon. * @param ipolygon * rank of the polygon [0 .. n-1] * @param outindice * <tt>[out]</tt> array of vertex indice * returns * number of vertice in the polygon - the dimension of outindice array */.

        Parameters
        ----------
        iPolygon: int
        outIndice: int *

        Returns
        -------
        int

        """
        return _VrmlData.VrmlData_IndexedLineSet_Polygon(self, *args)

    def Polygons(self, *args) -> "size_t":
        r"""
        /** * query the array of polygons */.

        Parameters
        ----------
        arrPolygons: int * *

        Returns
        -------
        size_t

        """
        return _VrmlData.VrmlData_IndexedLineSet_Polygons(self, *args)

    def SetColorInd(self, *args) -> "void":
        r"""
        /** * set the colors array of indice */.

        Parameters
        ----------
        nIndice: Standard_Size
        theIndice: int * *

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_IndexedLineSet_SetColorInd(self, *args)

    def SetColorPerVertex(self, *args) -> "void":
        r"""
        /** * set the boolean value 'colorpervertex' */.

        Parameters
        ----------
        isColorPerVertex: bool

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_IndexedLineSet_SetColorPerVertex(self, *args)

    def SetColors(self, *args) -> "void":
        r"""
        /** * set the color node */.

        Parameters
        ----------
        theColors: VrmlData_Color

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_IndexedLineSet_SetColors(self, *args)

    def SetCoordinates(self, *args) -> "void":
        r"""
        /** * set the nodes */.

        Parameters
        ----------
        theCoord: VrmlData_Coordinate

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_IndexedLineSet_SetCoordinates(self, *args)

    def SetPolygons(self, *args) -> "void":
        r"""
        /** * set the polygons */.

        Parameters
        ----------
        nPolygons: Standard_Size
        thePolygons: int * *

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_IndexedLineSet_SetPolygons(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_IndexedLineSet

# Register VrmlData_IndexedLineSet in _VrmlData:
_VrmlData.VrmlData_IndexedLineSet_swigregister(VrmlData_IndexedLineSet)

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

    def __init__(self, *args):
        r"""
        /** * empty constructor */.

        Returns
        -------
        None
        /** * constructor */.

        Parameters
        ----------
        theScene: VrmlData_Scene
        theName: char *
        nVec: size_t,optional
        	default value is 0
        arrVec: gp_XYZ *,optional
        	default value is 0L

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_Normal_swiginit(self, _VrmlData.new_VrmlData_Normal(*args))

    def Clone(self, *args) -> "opencascade::handle< VrmlData_Node >":
        r"""
        /** * create a copy of this node. * if the parameter is null, a new copied node is created. otherwise new node * is not created, but rather the given one is modified. */.

        Parameters
        ----------
        theOther: VrmlData_Node

        Returns
        -------
        opencascade::handle<VrmlData_Node>

        """
        return _VrmlData.VrmlData_Normal_Clone(self, *args)

    def Normal(self, *args) -> "gp_XYZ const":
        r"""
        /** * query one normal * @param i * index in the array of normals [0 .. n-1] * returns * the normal value for the index. if index irrelevant, returns (0., 0., 0.) */.

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

        Returns
        -------
        gp_XYZ

        """
        return _VrmlData.VrmlData_Normal_Normal(self, *args)

    def Read(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * read the node from input stream. */.

        Parameters
        ----------
        theBuffer: VrmlData_InBuffer

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Normal_Read(self, *args)

    def Write(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * write the node to the scene output. */.

        Parameters
        ----------
        thePrefix: char *

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_Normal_Write(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_Normal

# Register VrmlData_Normal in _VrmlData:
_VrmlData.VrmlData_Normal_swigregister(VrmlData_Normal)

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

    def __init__(self, *args):
        r"""
        /** * empty constructor */.

        Returns
        -------
        None
        /** * constructor */.

        Parameters
        ----------
        theScene: VrmlData_Scene
        theName: char *
        theRadius: float,optional
        	default value is 1

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_Sphere_swiginit(self, _VrmlData.new_VrmlData_Sphere(*args))

    def Radius(self, *args) -> "Standard_Real":
        r"""
        /** * query the sphere radius */.

        Returns
        -------
        float

        """
        return _VrmlData.VrmlData_Sphere_Radius(self, *args)

    def SetRadius(self, *args) -> "void":
        r"""
        /** * set the spere radius */.

        Parameters
        ----------
        theRadius: float

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_Sphere_SetRadius(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlData.delete_VrmlData_Sphere

# Register VrmlData_Sphere in _VrmlData:
_VrmlData.VrmlData_Sphere_swigregister(VrmlData_Sphere)

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

    def __init__(self, *args):
        r"""
        /** * empty constructor */.

        Returns
        -------
        None
        /** * constructor */.

        Parameters
        ----------
        theScene: VrmlData_Scene
        theName: char *
        isCCW: bool,optional
        	default value is Standard_True
        isSolid: bool,optional
        	default value is Standard_True
        isConvex: bool,optional
        	default value is Standard_True
        theCreaseAngle: float,optional
        	default value is 0

        Returns
        -------
        None

        """
        _VrmlData.VrmlData_IndexedFaceSet_swiginit(self, _VrmlData.new_VrmlData_IndexedFaceSet(*args))

    def ArrayColorInd(self, *args) -> "size_t":
        r"""
        /** * query the array of color indice * @param arrcolorind * <tt>[out]</tt> array of colorindex as it is described in vrml2.0 spec * returns * number of integers in the array arrcolorind. */.

        Parameters
        ----------
        arrColorInd: int * *

        Returns
        -------
        size_t

        """
        return _VrmlData.VrmlData_IndexedFaceSet_ArrayColorInd(self, *args)

    def ArrayNormalInd(self, *args) -> "size_t":
        r"""
        /** * query the array of normal indice * @param arrnormalind * <tt>[out]</tt> array of normalindex as it is described in vrml2.0 spec * returns * number of integers in the array arrnormalind. */.

        Parameters
        ----------
        arrNormalInd: int * *

        Returns
        -------
        size_t

        """
        return _VrmlData.VrmlData_IndexedFaceSet_ArrayNormalInd(self, *args)

    def ArrayTextureCoordInd(self, *args) -> "size_t":
        r"""
        /** * query the array of texture coordinate indice * @param arrtexturecoordind * <tt>[out]</tt> array of texcoordindex as it is described in vrml2.0 spec * returns * number of integers in the array texcoordindex. */.

        Parameters
        ----------
        arrTextureCoordInd: int * *

        Returns
        -------
        size_t

        """
        return _VrmlData.VrmlData_IndexedFaceSet_ArrayTextureCoordInd(self, *args)

    def Clone(self, *args) -> "opencascade::handle< VrmlData_Node >":
        r"""
        /** * create a copy of this node. * if the parameter is null, a new copied node is created. otherwise new node * is not created, but rather the given one is modified. */.

        Parameters
        ----------
        theOther: VrmlData_Node

        Returns
        -------
        opencascade::handle<VrmlData_Node>

        """
        return _VrmlData.VrmlData_IndexedFaceSet_Clone(self, *args)

    def Colors(self, *args) -> "opencascade::handle< VrmlData_Color > const &":
        r"""
        /** * query the colors. */.

        Returns
        -------
        opencascade::handle<VrmlData_Color>

        """
        return _VrmlData.VrmlData_IndexedFaceSet_Colors(self, *args)

    def Coordinates(self, *args) -> "opencascade::handle< VrmlData_Coordinate > const &":
        r"""
        /** * query the coordinates. */.

        Returns
        -------
        opencascade::handle<VrmlData_Coordinate>

        """
        return _VrmlData.VrmlData_IndexedFaceSet_Coordinates(self, *args)

    def GetColor(self, *args) -> "Quantity_Color":
        r"""
        /** * query a color for one node in the given element. the color is * interpreted according to fields mycolors, myarrcolorind, * mycolorpervertex, as defined in vrml 2.0. * @param iface * rank of the polygon [0 .. n-1] * @param ivertex * rank of the vertex in the polygon [0 .. m-1]. this parameter is ignored * if (mycolorpervertex == false) * returns * color value (rgb); if the color is indefinite then returns (0., 0., 0.) */.

        Parameters
        ----------
        iFace: int
        iVertex: int

        Returns
        -------
        Quantity_Color

        """
        return _VrmlData.VrmlData_IndexedFaceSet_GetColor(self, *args)

    def IndiceNormals(self, *args) -> "Standard_Integer":
        r"""
        /** * query normals indice for one face. this method should be called after * checking myarrnormalind != null, otherwise exception will be thrown. * @param iface * rank of the face [0 .. n-1] * @param outindice * <tt>[out]</tt> array of normals indice * returns * number of indice in the array - the dimension of outindice array */.

        Parameters
        ----------
        iFace: int
        outIndice: int *

        Returns
        -------
        int

        """
        return _VrmlData.VrmlData_IndexedFaceSet_IndiceNormals(self, *args)

    def IsDefault(self, *args) -> "Standard_Boolean":
        r"""
        /** * returns true if the node is default, so that it should not be written. */.

        Returns
        -------
        bool

        """
        return _VrmlData.VrmlData_IndexedFaceSet_IsDefault(self, *args)

    def Normals(self, *args) -> "opencascade::handle< VrmlData_Normal > const &":
        r"""
        /** * query the normals. */.

        Returns
        -------
        opencascade::handle<VrmlData_Normal>

        """
        return _VrmlData.VrmlData_IndexedFaceSet_Normals(self, *args)

    def Polygon(self, *args) -> "Standard_Integer":
        r"""
        /** * query one polygon. * @param iface * rank of the polygon [0 .. n-1] * @param outindice * <tt>[out]</tt> array of vertex indice * returns * number of vertice in the polygon - the dimension of outindice array */.

        Parameters
        ----------
        iFace: int
        outIndice: int *

        Returns
        -------
        int

        """
        return _VrmlData.VrmlData_IndexedFaceSet_Polygon(self, *args)

    def Polygons(self, *args) -> "size_t":
        r"""
        /** * query the array of polygons */.

        Parameters
        ----------
        arrPolygons: int * *

        Returns
        -------
        size_t

        """
        return _VrmlData.VrmlData_IndexedFaceSet_Polygons(self, *args)

    def Read(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * read the node from input stream. */.

        Parameters
        ----------
        theBuffer: VrmlData_InBuffer

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_IndexedFaceSet_Read(self, *args)

    def SetColorInd(self, *args) -> "void":
        r"""
        /** * set the colors array of indice */.

        Parameters
        ----------
        nIndice: Standard_Size
        theIndice: int * *

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_IndexedFaceSet_SetColorInd(self, *args)

    def SetColorPerVertex(self, *args) -> "void":
        r"""
        /** * set the boolean value 'colorpervertex' */.

        Parameters
        ----------
        isColorPerVertex: bool

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_IndexedFaceSet_SetColorPerVertex(self, *args)

    def SetColors(self, *args) -> "void":
        r"""
        /** * set the color node */.

        Parameters
        ----------
        theColors: VrmlData_Color

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_IndexedFaceSet_SetColors(self, *args)

    def SetCoordinates(self, *args) -> "void":
        r"""
        /** * set the nodes */.

        Parameters
        ----------
        theCoord: VrmlData_Coordinate

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_IndexedFaceSet_SetCoordinates(self, *args)

    def SetNormalInd(self, *args) -> "void":
        r"""
        /** * set the normals array of indice */.

        Parameters
        ----------
        nIndice: Standard_Size
        theIndice: int * *

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_IndexedFaceSet_SetNormalInd(self, *args)

    def SetNormalPerVertex(self, *args) -> "void":
        r"""
        /** * set the boolean value 'normalpervertex' */.

        Parameters
        ----------
        isNormalPerVertex: bool

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_IndexedFaceSet_SetNormalPerVertex(self, *args)

    def SetNormals(self, *args) -> "void":
        r"""
        /** * set the normals node */.

        Parameters
        ----------
        theNormals: VrmlData_Normal

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_IndexedFaceSet_SetNormals(self, *args)

    def SetPolygons(self, *args) -> "void":
        r"""
        /** * set the polygons */.

        Parameters
        ----------
        nPolygons: Standard_Size
        thePolygons: int * *

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_IndexedFaceSet_SetPolygons(self, *args)

    def SetTextureCoordInd(self, *args) -> "void":
        r"""
        /** * set the texcoordiante array of indice */.

        Parameters
        ----------
        nIndice: Standard_Size
        theIndice: int * *

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_IndexedFaceSet_SetTextureCoordInd(self, *args)

    def SetTextureCoords(self, *args) -> "void":
        r"""
        /** * set the texture coordinate node */.

        Parameters
        ----------
        tc: VrmlData_TextureCoordinate

        Returns
        -------
        None

        """
        return _VrmlData.VrmlData_IndexedFaceSet_SetTextureCoords(self, *args)

    def TShape(self, *args) -> "opencascade::handle< TopoDS_TShape > const":
        r"""
        /** * query the shape. this method checks the flag myismodified; if true it * should rebuild the shape presentation. */.

        Returns
        -------
        opencascade::handle<TopoDS_TShape>

        """
        return _VrmlData.VrmlData_IndexedFaceSet_TShape(self, *args)

    def TextureCoords(self, *args) -> "opencascade::handle< VrmlData_TextureCoordinate > const &":
        r"""
        /** * query the texture coordinates. */.

        Returns
        -------
        opencascade::handle<VrmlData_TextureCoordinate>

        """
        return _VrmlData.VrmlData_IndexedFaceSet_TextureCoords(self, *args)

    def Write(self, *args) -> "VrmlData_ErrorStatus":
        r"""
        /** * write the node to output stream. */.

        Parameters
        ----------
        thePrefix: char *

        Returns
        -------
        VrmlData_ErrorStatus

        """
        return _VrmlData.VrmlData_IndexedFaceSet_Write(self, *args)


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


    __repr__ = _dumps_object

    @methodnotwrapped
    def GetNormal(self):
    	pass

    __swig_destroy__ = _VrmlData.delete_VrmlData_IndexedFaceSet

# Register VrmlData_IndexedFaceSet in _VrmlData:
_VrmlData.VrmlData_IndexedFaceSet_swigregister(VrmlData_IndexedFaceSet)


@classnotwrapped
class VrmlData_InBuffer:
	pass

@classnotwrapped
class VrmlData_ArrayVec3d:
	pass

@classnotwrapped
class VrmlData_Texture:
	pass

@classnotwrapped
class VrmlData_TextureTransform:
	pass

@classnotwrapped
class VrmlData_Faceted:
	pass






