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

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

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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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


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


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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


def process_exception(error, method_name, class_name):
    return _VrmlConverter.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.Adaptor3d
import OCC.Core.Geom
import OCC.Core.gp
import OCC.Core.TColStd
import OCC.Core.TCollection
import OCC.Core.GeomAbs
import OCC.Core.TColgp
import OCC.Core.TopAbs
import OCC.Core.Adaptor2d
import OCC.Core.Geom2d
import OCC.Core.math
import OCC.Core.Message
import OCC.Core.OSD
import OCC.Core.Aspect
import OCC.Core.Quantity
import OCC.Core.Graphic3d
import OCC.Core.BVH
import OCC.Core.TopLoc
import OCC.Core.Bnd
import OCC.Core.Image
import OCC.Core.Media
import OCC.Core.TopoDS
import OCC.Core.Vrml
import OCC.Core.DE
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.XSControl
import OCC.Core.IFSelect
import OCC.Core.Interface
import OCC.Core.MoniTool
import OCC.Core.Transfer
import OCC.Core.TopTools
import OCC.Core.HLRAlgo
import OCC.Core.Poly
import OCC.Core.TShort
import OCC.Core.BRepAdaptor
import OCC.Core.GeomAdaptor
import OCC.Core.Geom2dAdaptor

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

VrmlConverter_NoCamera = _VrmlConverter.VrmlConverter_NoCamera
VrmlConverter_PerspectiveCamera = _VrmlConverter.VrmlConverter_PerspectiveCamera
VrmlConverter_OrthographicCamera = _VrmlConverter.VrmlConverter_OrthographicCamera
VrmlConverter_NoLight = _VrmlConverter.VrmlConverter_NoLight
VrmlConverter_DirectionLight = _VrmlConverter.VrmlConverter_DirectionLight
VrmlConverter_PointLight = _VrmlConverter.VrmlConverter_PointLight
VrmlConverter_SpotLight = _VrmlConverter.VrmlConverter_SpotLight


class VrmlConverter_TypeOfCamera(IntEnum):
	VrmlConverter_NoCamera = 0
	VrmlConverter_PerspectiveCamera = 1
	VrmlConverter_OrthographicCamera = 2
VrmlConverter_NoCamera = VrmlConverter_TypeOfCamera.VrmlConverter_NoCamera
VrmlConverter_PerspectiveCamera = VrmlConverter_TypeOfCamera.VrmlConverter_PerspectiveCamera
VrmlConverter_OrthographicCamera = VrmlConverter_TypeOfCamera.VrmlConverter_OrthographicCamera

class VrmlConverter_TypeOfLight(IntEnum):
	VrmlConverter_NoLight = 0
	VrmlConverter_DirectionLight = 1
	VrmlConverter_PointLight = 2
	VrmlConverter_SpotLight = 3
VrmlConverter_NoLight = VrmlConverter_TypeOfLight.VrmlConverter_NoLight
VrmlConverter_DirectionLight = VrmlConverter_TypeOfLight.VrmlConverter_DirectionLight
VrmlConverter_PointLight = VrmlConverter_TypeOfLight.VrmlConverter_PointLight
VrmlConverter_SpotLight = VrmlConverter_TypeOfLight.VrmlConverter_SpotLight


def Handle_VrmlConverter_Drawer_Create():
    return _VrmlConverter.Handle_VrmlConverter_Drawer_Create()

def Handle_VrmlConverter_Drawer_DownCast(t):
    return _VrmlConverter.Handle_VrmlConverter_Drawer_DownCast(t)

def Handle_VrmlConverter_Drawer_IsNull(t):
    return _VrmlConverter.Handle_VrmlConverter_Drawer_IsNull(t)

def Handle_VrmlConverter_LineAspect_Create():
    return _VrmlConverter.Handle_VrmlConverter_LineAspect_Create()

def Handle_VrmlConverter_LineAspect_DownCast(t):
    return _VrmlConverter.Handle_VrmlConverter_LineAspect_DownCast(t)

def Handle_VrmlConverter_LineAspect_IsNull(t):
    return _VrmlConverter.Handle_VrmlConverter_LineAspect_IsNull(t)

def Handle_VrmlConverter_PointAspect_Create():
    return _VrmlConverter.Handle_VrmlConverter_PointAspect_Create()

def Handle_VrmlConverter_PointAspect_DownCast(t):
    return _VrmlConverter.Handle_VrmlConverter_PointAspect_DownCast(t)

def Handle_VrmlConverter_PointAspect_IsNull(t):
    return _VrmlConverter.Handle_VrmlConverter_PointAspect_IsNull(t)

def Handle_VrmlConverter_Projector_Create():
    return _VrmlConverter.Handle_VrmlConverter_Projector_Create()

def Handle_VrmlConverter_Projector_DownCast(t):
    return _VrmlConverter.Handle_VrmlConverter_Projector_DownCast(t)

def Handle_VrmlConverter_Projector_IsNull(t):
    return _VrmlConverter.Handle_VrmlConverter_Projector_IsNull(t)

def Handle_VrmlConverter_ShadingAspect_Create():
    return _VrmlConverter.Handle_VrmlConverter_ShadingAspect_Create()

def Handle_VrmlConverter_ShadingAspect_DownCast(t):
    return _VrmlConverter.Handle_VrmlConverter_ShadingAspect_DownCast(t)

def Handle_VrmlConverter_ShadingAspect_IsNull(t):
    return _VrmlConverter.Handle_VrmlConverter_ShadingAspect_IsNull(t)

def Handle_VrmlConverter_IsoAspect_Create():
    return _VrmlConverter.Handle_VrmlConverter_IsoAspect_Create()

def Handle_VrmlConverter_IsoAspect_DownCast(t):
    return _VrmlConverter.Handle_VrmlConverter_IsoAspect_DownCast(t)

def Handle_VrmlConverter_IsoAspect_IsNull(t):
    return _VrmlConverter.Handle_VrmlConverter_IsoAspect_IsNull(t)
class VrmlConverter_Curve(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    __repr__ = _dumps_object


    def __init__(self):
        _VrmlConverter.VrmlConverter_Curve_swiginit(self, _VrmlConverter.new_VrmlConverter_Curve())
    __swig_destroy__ = _VrmlConverter.delete_VrmlConverter_Curve

# Register VrmlConverter_Curve in _VrmlConverter:
_VrmlConverter.VrmlConverter_Curve_swigregister(VrmlConverter_Curve)
class VrmlConverter_DeflectionCurve(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    __repr__ = _dumps_object


    def __init__(self):
        _VrmlConverter.VrmlConverter_DeflectionCurve_swiginit(self, _VrmlConverter.new_VrmlConverter_DeflectionCurve())
    __swig_destroy__ = _VrmlConverter.delete_VrmlConverter_DeflectionCurve

# Register VrmlConverter_DeflectionCurve in _VrmlConverter:
_VrmlConverter.VrmlConverter_DeflectionCurve_swigregister(VrmlConverter_DeflectionCurve)
class VrmlConverter_Drawer(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

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

        """
        _VrmlConverter.VrmlConverter_Drawer_swiginit(self, _VrmlConverter.new_VrmlConverter_Drawer(*args))

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

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

        """
        return _VrmlConverter.VrmlConverter_Drawer_DeviationCoefficient(self, *args)

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

        Description
        -----------
        Sets drawhiddenline = standard_false - the hidden lines are not drawn.

        """
        return _VrmlConverter.VrmlConverter_Drawer_DisableDrawHiddenLine(self, *args)

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

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

        """
        return _VrmlConverter.VrmlConverter_Drawer_Discretisation(self, *args)

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

        Description
        -----------
        Returns standard_true if the hidden lines are to be drawn. by default the hidden lines are not drawn.

        """
        return _VrmlConverter.VrmlConverter_Drawer_DrawHiddenLine(self, *args)

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

        Description
        -----------
        Sets drawhiddenline = standard_true - the hidden lines are drawn.

        """
        return _VrmlConverter.VrmlConverter_Drawer_EnableDrawHiddenLine(self, *args)

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

        Description
        -----------
        The default values are the same default values from vrml package. these attributes are used by the following algorithms: vrmlconverter_wfshape vrmlconverter_wfdeflectionshape.

        """
        return _VrmlConverter.VrmlConverter_Drawer_FreeBoundaryAspect(self, *args)

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

        Description
        -----------
        Returns true if the drawing of the free boundaries is enabled.

        """
        return _VrmlConverter.VrmlConverter_Drawer_FreeBoundaryDraw(self, *args)

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

        Description
        -----------
        Returns lineaspect for the hidden lines. the default values are the same default values from vrml package.

        """
        return _VrmlConverter.VrmlConverter_Drawer_HiddenLineAspect(self, *args)

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

        Description
        -----------
        Returns true if the drawing of isos on planes is enabled.

        """
        return _VrmlConverter.VrmlConverter_Drawer_IsoOnPlane(self, *args)

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

        Description
        -----------
        The default values are the same default values from vrml package.

        """
        return _VrmlConverter.VrmlConverter_Drawer_LineAspect(self, *args)

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

        Description
        -----------
        Returns the maximal chordial deviation. default value: 0.1.

        """
        return _VrmlConverter.VrmlConverter_Drawer_MaximalChordialDeviation(self, *args)

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

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

        """
        return _VrmlConverter.VrmlConverter_Drawer_MaximalParameterValue(self, *args)

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

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

        """
        return _VrmlConverter.VrmlConverter_Drawer_PointAspect(self, *args)

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

        Description
        -----------
        Returns lineaspect for the seen lines. the default values are the same default values from vrml package.

        """
        return _VrmlConverter.VrmlConverter_Drawer_SeenLineAspect(self, *args)

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

        Parameters
        ----------
        aCoefficient: float

        Return
        -------
        None

        Description
        -----------
        Default 0.001.

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetDeviationCoefficient(self, *args)

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

        Parameters
        ----------
        d: int

        Return
        -------
        None

        Description
        -----------
        Default: 17 points. defines the discretisation (mynbpoints) when drawing any curve; if this value is one of the obvious parameters of methods, current value from drawer won't be used. this value is used by: //! vrmlconverter_curve vrmlconverter_wfrestrictedface vrmlconverter_wfshape.

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetDiscretisation(self, *args)

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

        Parameters
        ----------
        anAspect: VrmlConverter_LineAspect

        Return
        -------
        None

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

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetFreeBoundaryAspect(self, *args)

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

        Parameters
        ----------
        OnOff: bool

        Return
        -------
        None

        Description
        -----------
        Enables the drawing the free boundaries by default the free boundaries are drawn.

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetFreeBoundaryDraw(self, *args)

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

        Parameters
        ----------
        anAspect: VrmlConverter_LineAspect

        Return
        -------
        None

        Description
        -----------
        Sets lineaspect for the hidden lines.

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetHiddenLineAspect(self, *args)

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

        Parameters
        ----------
        OnOff: bool

        Return
        -------
        None

        Description
        -----------
        Enables the drawing of isos on planes. by default there are no isos on planes.

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetIsoOnPlane(self, *args)

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

        Parameters
        ----------
        anAspect: VrmlConverter_LineAspect

        Return
        -------
        None

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

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetLineAspect(self, *args)

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

        Parameters
        ----------
        aChordialDeviation: float

        Return
        -------
        None

        Description
        -----------
        Defines the maximal chordial deviation when drawing any curve; if this value is one of the obvious parameters of methods, current value from drawer won't be used. this value is used by: //! vrmlconverter_deflectioncurve vrmlconverter_wfdeflectionrestrictedface vrmlconverter_wfdeflectionshape.

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetMaximalChordialDeviation(self, *args)

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

        Parameters
        ----------
        Value: float

        Return
        -------
        None

        Description
        -----------
        Defines the maximum value allowed for the first and last parameters of an infinite curve. default value: 500. vrmlconverter_curve vrmlconverter_wfrestrictedface vrmlconverter_wfshape.

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetMaximalParameterValue(self, *args)

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

        Parameters
        ----------
        anAspect: VrmlConverter_PointAspect

        Return
        -------
        None

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

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetPointAspect(self, *args)

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

        Parameters
        ----------
        anAspect: VrmlConverter_LineAspect

        Return
        -------
        None

        Description
        -----------
        Sets lineaspect for the seen lines.

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetSeenLineAspect(self, *args)

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

        Parameters
        ----------
        anAspect: VrmlConverter_ShadingAspect

        Return
        -------
        None

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

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetShadingAspect(self, *args)

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

        Parameters
        ----------
        aTypeOfDeflection: Aspect_TypeOfDeflection

        Return
        -------
        None

        Description
        -----------
        By default: tod_relative; however, except for the shapes, the drawing will be made using the absolute deviation.

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetTypeOfDeflection(self, *args)

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

        Parameters
        ----------
        anAspect: VrmlConverter_IsoAspect

        Return
        -------
        None

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

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetUIsoAspect(self, *args)

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

        Parameters
        ----------
        anAspect: VrmlConverter_LineAspect

        Return
        -------
        None

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

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetUnFreeBoundaryAspect(self, *args)

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

        Parameters
        ----------
        OnOff: bool

        Return
        -------
        None

        Description
        -----------
        Enables the drawing the unfree boundaries by default the unfree boundaries are drawn.

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetUnFreeBoundaryDraw(self, *args)

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

        Parameters
        ----------
        anAspect: VrmlConverter_IsoAspect

        Return
        -------
        None

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

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetVIsoAspect(self, *args)

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

        Parameters
        ----------
        anAspect: VrmlConverter_LineAspect

        Return
        -------
        None

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

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetWireAspect(self, *args)

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

        Parameters
        ----------
        OnOff: bool

        Return
        -------
        None

        Description
        -----------
        Enables the drawing the wire by default the wire are drawn.

        """
        return _VrmlConverter.VrmlConverter_Drawer_SetWireDraw(self, *args)

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

        Description
        -----------
        The default values are the same default values from vrml package.

        """
        return _VrmlConverter.VrmlConverter_Drawer_ShadingAspect(self, *args)

    def TypeOfDeflection(self, *args):
        r"""
        Return
        -------
        Aspect_TypeOfDeflection

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

        """
        return _VrmlConverter.VrmlConverter_Drawer_TypeOfDeflection(self, *args)

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

        Description
        -----------
        Defines the attributes which are used when drawing an u isoparametric curve of a face. defines the number of u isoparametric curves to be drawn for a single face. the default values are the same default values from vrml package. //! these attributes are used by the following algorithms: vrmlconverter_wfrestrictedface vrmlconverter_wfdeflectionrestrictedface.

        """
        return _VrmlConverter.VrmlConverter_Drawer_UIsoAspect(self, *args)

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

        Description
        -----------
        The default values are the same default values from vrml package. these attributes are used by the following algorithms: vrmlconverter_wfshape vrmlconverter_wfdeflectionshape.

        """
        return _VrmlConverter.VrmlConverter_Drawer_UnFreeBoundaryAspect(self, *args)

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

        Description
        -----------
        Returns true if the drawing of the unfree boundaries is enabled.

        """
        return _VrmlConverter.VrmlConverter_Drawer_UnFreeBoundaryDraw(self, *args)

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

        Description
        -----------
        Defines the attributes which are used when drawing an v isoparametric curve of a face. defines the number of v isoparametric curves to be drawn for a single face. the default values are the same default values from vrml package. //! these attributes are used by the following algorithms: vrmlconverter_wfrestrictedface vrmlconverter_wfdeflectionrestrictedface.

        """
        return _VrmlConverter.VrmlConverter_Drawer_VIsoAspect(self, *args)

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

        Description
        -----------
        The default values are the same default values from vrml package. these attributes are used by the following algorithms: vrmlconverter_wfshape vrmlconverter_wfdeflectionshape.

        """
        return _VrmlConverter.VrmlConverter_Drawer_WireAspect(self, *args)

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

        Description
        -----------
        Returns true if the drawing of the wire is enabled.

        """
        return _VrmlConverter.VrmlConverter_Drawer_WireDraw(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlConverter.delete_VrmlConverter_Drawer

# Register VrmlConverter_Drawer in _VrmlConverter:
_VrmlConverter.VrmlConverter_Drawer_swigregister(VrmlConverter_Drawer)
class VrmlConverter_HLRShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    __repr__ = _dumps_object


    def __init__(self):
        _VrmlConverter.VrmlConverter_HLRShape_swiginit(self, _VrmlConverter.new_VrmlConverter_HLRShape())
    __swig_destroy__ = _VrmlConverter.delete_VrmlConverter_HLRShape

# Register VrmlConverter_HLRShape in _VrmlConverter:
_VrmlConverter.VrmlConverter_HLRShape_swigregister(VrmlConverter_HLRShape)
class VrmlConverter_LineAspect(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Create a default lineaspect. default value: hasmaterial = false - a line hasn't own material (color).

        Parameters
        ----------
        aMaterial: Vrml_Material
        OnOff: bool

        Return
        -------
        None

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

        """
        _VrmlConverter.VrmlConverter_LineAspect_swiginit(self, _VrmlConverter.new_VrmlConverter_LineAspect(*args))

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

        Description
        -----------
        Returns true if the materials is writing into ostream.

        """
        return _VrmlConverter.VrmlConverter_LineAspect_HasMaterial(self, *args)

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

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

        """
        return _VrmlConverter.VrmlConverter_LineAspect_Material(self, *args)

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

        Parameters
        ----------
        OnOff: bool

        Return
        -------
        None

        Description
        -----------
        Defines the necessary of writing own material from vrml into output ostream. by default false - the material is not writing into ostream, true - the material is writing.

        """
        return _VrmlConverter.VrmlConverter_LineAspect_SetHasMaterial(self, *args)

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

        Parameters
        ----------
        aMaterial: Vrml_Material

        Return
        -------
        None

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

        """
        return _VrmlConverter.VrmlConverter_LineAspect_SetMaterial(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlConverter.delete_VrmlConverter_LineAspect

# Register VrmlConverter_LineAspect in _VrmlConverter:
_VrmlConverter.VrmlConverter_LineAspect_swigregister(VrmlConverter_LineAspect)
class VrmlConverter_PointAspect(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Create a default pointaspect. default value: hasmaterial = false - a line hasn't own material (color).

        Parameters
        ----------
        aMaterial: Vrml_Material
        OnOff: bool

        Return
        -------
        None

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

        """
        _VrmlConverter.VrmlConverter_PointAspect_swiginit(self, _VrmlConverter.new_VrmlConverter_PointAspect(*args))

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

        Description
        -----------
        Returns true if the materials is writing into ostream.

        """
        return _VrmlConverter.VrmlConverter_PointAspect_HasMaterial(self, *args)

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

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

        """
        return _VrmlConverter.VrmlConverter_PointAspect_Material(self, *args)

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

        Parameters
        ----------
        OnOff: bool

        Return
        -------
        None

        Description
        -----------
        Defines the necessary of writing own material from vrml into output ostream. by default false - the material is not writing into ostream, true - the material is writing.

        """
        return _VrmlConverter.VrmlConverter_PointAspect_SetHasMaterial(self, *args)

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

        Parameters
        ----------
        aMaterial: Vrml_Material

        Return
        -------
        None

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

        """
        return _VrmlConverter.VrmlConverter_PointAspect_SetMaterial(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlConverter.delete_VrmlConverter_PointAspect

# Register VrmlConverter_PointAspect in _VrmlConverter:
_VrmlConverter.VrmlConverter_PointAspect_swigregister(VrmlConverter_PointAspect)
class VrmlConverter_Projector(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        Shapes: TopTools_Array1OfShape
        Focus: float
        DX: float
        DY: float
        DZ: float
        XUp: float
        YUp: float
        ZUp: float
        Camera: VrmlConverter_TypeOfCamera (optional, default to VrmlConverter_NoCamera)
        Light: VrmlConverter_TypeOfLight (optional, default to VrmlConverter_NoLight)

        Return
        -------
        None

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

        """
        _VrmlConverter.VrmlConverter_Projector_swiginit(self, _VrmlConverter.new_VrmlConverter_Projector(*args))

    def AddToString(self):
        r"""AddToString(VrmlConverter_Projector self) -> std::string"""
        return _VrmlConverter.VrmlConverter_Projector_AddToString(self)

    def Camera(self, *args):
        r"""
        Return
        -------
        VrmlConverter_TypeOfCamera

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

        """
        return _VrmlConverter.VrmlConverter_Projector_Camera(self, *args)

    def Light(self, *args):
        r"""
        Return
        -------
        VrmlConverter_TypeOfLight

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

        """
        return _VrmlConverter.VrmlConverter_Projector_Light(self, *args)

    def Projector(self, *args):
        r"""
        Return
        -------
        HLRAlgo_Projector

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

        """
        return _VrmlConverter.VrmlConverter_Projector_Projector(self, *args)

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

        Parameters
        ----------
        aCamera: VrmlConverter_TypeOfCamera

        Return
        -------
        None

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

        """
        return _VrmlConverter.VrmlConverter_Projector_SetCamera(self, *args)

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

        Parameters
        ----------
        aLight: VrmlConverter_TypeOfLight

        Return
        -------
        None

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

        """
        return _VrmlConverter.VrmlConverter_Projector_SetLight(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlConverter.delete_VrmlConverter_Projector

# Register VrmlConverter_Projector in _VrmlConverter:
_VrmlConverter.VrmlConverter_Projector_swigregister(VrmlConverter_Projector)
class VrmlConverter_ShadedShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        aFace: TopoDS_Face
        pc: Poly_Connect
        Nor: TColgp_Array1OfDir

        Return
        -------
        None

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

        """
        return _VrmlConverter.VrmlConverter_ShadedShape_ComputeNormal(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _VrmlConverter.VrmlConverter_ShadedShape_swiginit(self, _VrmlConverter.new_VrmlConverter_ShadedShape())
    __swig_destroy__ = _VrmlConverter.delete_VrmlConverter_ShadedShape

# Register VrmlConverter_ShadedShape in _VrmlConverter:
_VrmlConverter.VrmlConverter_ShadedShape_swigregister(VrmlConverter_ShadedShape)
class VrmlConverter_ShadingAspect(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Create a default shadingaspect.

        """
        _VrmlConverter.VrmlConverter_ShadingAspect_swiginit(self, _VrmlConverter.new_VrmlConverter_ShadingAspect(*args))

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

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

        """
        return _VrmlConverter.VrmlConverter_ShadingAspect_FrontMaterial(self, *args)

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

        Description
        -----------
        Returns true if the materials is writing into ostream.

        """
        return _VrmlConverter.VrmlConverter_ShadingAspect_HasMaterial(self, *args)

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

        Description
        -----------
        Returns true if the normals are calculating.

        """
        return _VrmlConverter.VrmlConverter_ShadingAspect_HasNormals(self, *args)

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

        Parameters
        ----------
        aMaterial: Vrml_Material

        Return
        -------
        None

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

        """
        return _VrmlConverter.VrmlConverter_ShadingAspect_SetFrontMaterial(self, *args)

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

        Parameters
        ----------
        OnOff: bool

        Return
        -------
        None

        Description
        -----------
        Defines necessary of writing material from vrml into output ostream. by default false - the material is not writing into ostream, true - the material is writing.

        """
        return _VrmlConverter.VrmlConverter_ShadingAspect_SetHasMaterial(self, *args)

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

        Parameters
        ----------
        OnOff: bool

        Return
        -------
        None

        Description
        -----------
        Defines necessary of a calculation of normals for shadedshape to more accurately display curved surfaces, pacticularly when smoooth or phong shading is used in vrml viewer. by default false - the normals are not calculated, true - the normals are calculated. warning: if normals are calculated the resulting vrml file will be substantially lager.

        """
        return _VrmlConverter.VrmlConverter_ShadingAspect_SetHasNormals(self, *args)

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

        Parameters
        ----------
        aShapeHints: Vrml_ShapeHints

        Return
        -------
        None

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

        """
        return _VrmlConverter.VrmlConverter_ShadingAspect_SetShapeHints(self, *args)

    def ShapeHints(self, *args):
        r"""
        Return
        -------
        Vrml_ShapeHints

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

        """
        return _VrmlConverter.VrmlConverter_ShadingAspect_ShapeHints(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlConverter.delete_VrmlConverter_ShadingAspect

# Register VrmlConverter_ShadingAspect in _VrmlConverter:
_VrmlConverter.VrmlConverter_ShadingAspect_swigregister(VrmlConverter_ShadingAspect)
class VrmlConverter_WFDeflectionRestrictedFace(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    __repr__ = _dumps_object


    def __init__(self):
        _VrmlConverter.VrmlConverter_WFDeflectionRestrictedFace_swiginit(self, _VrmlConverter.new_VrmlConverter_WFDeflectionRestrictedFace())
    __swig_destroy__ = _VrmlConverter.delete_VrmlConverter_WFDeflectionRestrictedFace

# Register VrmlConverter_WFDeflectionRestrictedFace in _VrmlConverter:
_VrmlConverter.VrmlConverter_WFDeflectionRestrictedFace_swigregister(VrmlConverter_WFDeflectionRestrictedFace)
class VrmlConverter_WFDeflectionShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    __repr__ = _dumps_object


    def __init__(self):
        _VrmlConverter.VrmlConverter_WFDeflectionShape_swiginit(self, _VrmlConverter.new_VrmlConverter_WFDeflectionShape())
    __swig_destroy__ = _VrmlConverter.delete_VrmlConverter_WFDeflectionShape

# Register VrmlConverter_WFDeflectionShape in _VrmlConverter:
_VrmlConverter.VrmlConverter_WFDeflectionShape_swigregister(VrmlConverter_WFDeflectionShape)
class VrmlConverter_WFRestrictedFace(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    __repr__ = _dumps_object


    def __init__(self):
        _VrmlConverter.VrmlConverter_WFRestrictedFace_swiginit(self, _VrmlConverter.new_VrmlConverter_WFRestrictedFace())
    __swig_destroy__ = _VrmlConverter.delete_VrmlConverter_WFRestrictedFace

# Register VrmlConverter_WFRestrictedFace in _VrmlConverter:
_VrmlConverter.VrmlConverter_WFRestrictedFace_swigregister(VrmlConverter_WFRestrictedFace)
class VrmlConverter_WFShape(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    __repr__ = _dumps_object


    def __init__(self):
        _VrmlConverter.VrmlConverter_WFShape_swiginit(self, _VrmlConverter.new_VrmlConverter_WFShape())
    __swig_destroy__ = _VrmlConverter.delete_VrmlConverter_WFShape

# Register VrmlConverter_WFShape in _VrmlConverter:
_VrmlConverter.VrmlConverter_WFShape_swigregister(VrmlConverter_WFShape)
class VrmlConverter_IsoAspect(VrmlConverter_LineAspect):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Create a default isoaspect. default value: mynumber - 10.

        Parameters
        ----------
        aMaterial: Vrml_Material
        OnOff: bool
        aNumber: int

        Return
        -------
        None

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

        """
        _VrmlConverter.VrmlConverter_IsoAspect_swiginit(self, _VrmlConverter.new_VrmlConverter_IsoAspect(*args))

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

        Description
        -----------
        Returns the number of u or v isoparametric curves drawn for a single face.

        """
        return _VrmlConverter.VrmlConverter_IsoAspect_Number(self, *args)

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

        Parameters
        ----------
        aNumber: int

        Return
        -------
        None

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

        """
        return _VrmlConverter.VrmlConverter_IsoAspect_SetNumber(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _VrmlConverter.delete_VrmlConverter_IsoAspect

# Register VrmlConverter_IsoAspect in _VrmlConverter:
_VrmlConverter.VrmlConverter_IsoAspect_swigregister(VrmlConverter_IsoAspect)



@deprecated
def VrmlConverter_ShadedShape_ComputeNormal(*args):
	return VrmlConverter_ShadedShape.ComputeNormal(*args)



