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

"""
VrmlConverter module, see official documentation at
https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_vrmlconverter.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 _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 == "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__ = _VrmlConverter.delete_SwigPyIterator

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    def __sub__(self, *args) -> "ptrdiff_t":
        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: "Standard_Failure", method_name: "std::string", class_name: "std::string") -> "void":
    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.Image
import OCC.Core.Graphic3d
import OCC.Core.BVH
import OCC.Core.TopLoc
import OCC.Core.Bnd
import OCC.Core.Media
import OCC.Core.TopoDS
import OCC.Core.Vrml
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_NoLight = _VrmlConverter.VrmlConverter_NoLight
VrmlConverter_DirectionLight = _VrmlConverter.VrmlConverter_DirectionLight
VrmlConverter_PointLight = _VrmlConverter.VrmlConverter_PointLight
VrmlConverter_SpotLight = _VrmlConverter.VrmlConverter_SpotLight
VrmlConverter_NoCamera = _VrmlConverter.VrmlConverter_NoCamera
VrmlConverter_PerspectiveCamera = _VrmlConverter.VrmlConverter_PerspectiveCamera
VrmlConverter_OrthographicCamera = _VrmlConverter.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

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


def Handle_VrmlConverter_Drawer_Create() -> "opencascade::handle< VrmlConverter_Drawer >":
    return _VrmlConverter.Handle_VrmlConverter_Drawer_Create()

def Handle_VrmlConverter_Drawer_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlConverter_Drawer >":
    return _VrmlConverter.Handle_VrmlConverter_Drawer_DownCast(t)

def Handle_VrmlConverter_Drawer_IsNull(t: "opencascade::handle< VrmlConverter_Drawer > const &") -> "bool":
    return _VrmlConverter.Handle_VrmlConverter_Drawer_IsNull(t)

def Handle_VrmlConverter_LineAspect_Create() -> "opencascade::handle< VrmlConverter_LineAspect >":
    return _VrmlConverter.Handle_VrmlConverter_LineAspect_Create()

def Handle_VrmlConverter_LineAspect_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlConverter_LineAspect >":
    return _VrmlConverter.Handle_VrmlConverter_LineAspect_DownCast(t)

def Handle_VrmlConverter_LineAspect_IsNull(t: "opencascade::handle< VrmlConverter_LineAspect > const &") -> "bool":
    return _VrmlConverter.Handle_VrmlConverter_LineAspect_IsNull(t)

def Handle_VrmlConverter_PointAspect_Create() -> "opencascade::handle< VrmlConverter_PointAspect >":
    return _VrmlConverter.Handle_VrmlConverter_PointAspect_Create()

def Handle_VrmlConverter_PointAspect_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlConverter_PointAspect >":
    return _VrmlConverter.Handle_VrmlConverter_PointAspect_DownCast(t)

def Handle_VrmlConverter_PointAspect_IsNull(t: "opencascade::handle< VrmlConverter_PointAspect > const &") -> "bool":
    return _VrmlConverter.Handle_VrmlConverter_PointAspect_IsNull(t)

def Handle_VrmlConverter_Projector_Create() -> "opencascade::handle< VrmlConverter_Projector >":
    return _VrmlConverter.Handle_VrmlConverter_Projector_Create()

def Handle_VrmlConverter_Projector_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlConverter_Projector >":
    return _VrmlConverter.Handle_VrmlConverter_Projector_DownCast(t)

def Handle_VrmlConverter_Projector_IsNull(t: "opencascade::handle< VrmlConverter_Projector > const &") -> "bool":
    return _VrmlConverter.Handle_VrmlConverter_Projector_IsNull(t)

def Handle_VrmlConverter_ShadingAspect_Create() -> "opencascade::handle< VrmlConverter_ShadingAspect >":
    return _VrmlConverter.Handle_VrmlConverter_ShadingAspect_Create()

def Handle_VrmlConverter_ShadingAspect_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlConverter_ShadingAspect >":
    return _VrmlConverter.Handle_VrmlConverter_ShadingAspect_DownCast(t)

def Handle_VrmlConverter_ShadingAspect_IsNull(t: "opencascade::handle< VrmlConverter_ShadingAspect > const &") -> "bool":
    return _VrmlConverter.Handle_VrmlConverter_ShadingAspect_IsNull(t)

def Handle_VrmlConverter_IsoAspect_Create() -> "opencascade::handle< VrmlConverter_IsoAspect >":
    return _VrmlConverter.Handle_VrmlConverter_IsoAspect_Create()

def Handle_VrmlConverter_IsoAspect_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< VrmlConverter_IsoAspect >":
    return _VrmlConverter.Handle_VrmlConverter_IsoAspect_DownCast(t)

def Handle_VrmlConverter_IsoAspect_IsNull(t: "opencascade::handle< VrmlConverter_IsoAspect > const &") -> "bool":
    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"""
        No available documentation.

        Returns
        -------
        None

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

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

        Returns
        -------
        float

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

    def DisableDrawHiddenLine(self, *args) -> "void":
        r"""
        Sets drawhiddenline = standard_false - the hidden lines are not drawn.

        Returns
        -------
        None

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

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

        Returns
        -------
        int

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

    def DrawHiddenLine(self, *args) -> "Standard_Boolean":
        r"""
        Returns standard_true if the hidden lines are to be drawn. by default the hidden lines are not drawn.

        Returns
        -------
        bool

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

    def EnableDrawHiddenLine(self, *args) -> "void":
        r"""
        Sets drawhiddenline = standard_true - the hidden lines are drawn.

        Returns
        -------
        None

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

    def FreeBoundaryAspect(self, *args) -> "opencascade::handle< VrmlConverter_LineAspect >":
        r"""
        The default values are the same default values from vrml package. these attributes are used by the following algorithms: vrmlconverter_wfshape vrmlconverter_wfdeflectionshape.

        Returns
        -------
        opencascade::handle<VrmlConverter_LineAspect>

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

    def FreeBoundaryDraw(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the drawing of the free boundaries is enabled.

        Returns
        -------
        bool

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

    def HiddenLineAspect(self, *args) -> "opencascade::handle< VrmlConverter_LineAspect >":
        r"""
        Returns lineaspect for the hidden lines. the default values are the same default values from vrml package.

        Returns
        -------
        opencascade::handle<VrmlConverter_LineAspect>

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

    def IsoOnPlane(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the drawing of isos on planes is enabled.

        Returns
        -------
        bool

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

    def LineAspect(self, *args) -> "opencascade::handle< VrmlConverter_LineAspect >":
        r"""
        The default values are the same default values from vrml package.

        Returns
        -------
        opencascade::handle<VrmlConverter_LineAspect>

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

    def MaximalChordialDeviation(self, *args) -> "Standard_Real":
        r"""
        Returns the maximal chordial deviation. default value: 0.1.

        Returns
        -------
        float

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

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

        Returns
        -------
        float

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

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

        Returns
        -------
        opencascade::handle<VrmlConverter_PointAspect>

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

    def SeenLineAspect(self, *args) -> "opencascade::handle< VrmlConverter_LineAspect >":
        r"""
        Returns lineaspect for the seen lines. the default values are the same default values from vrml package.

        Returns
        -------
        opencascade::handle<VrmlConverter_LineAspect>

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

    def SetDeviationCoefficient(self, *args) -> "void":
        r"""
        Default 0.001.

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

    def SetFreeBoundaryDraw(self, *args) -> "void":
        r"""
        Enables the drawing the free boundaries by default the free boundaries are drawn.

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

        Returns
        -------
        None

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

    def SetHiddenLineAspect(self, *args) -> "void":
        r"""
        Sets lineaspect for the hidden lines.

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

        Returns
        -------
        None

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

    def SetIsoOnPlane(self, *args) -> "void":
        r"""
        Enables the drawing of isos on planes. by default there are no isos on planes.

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

    def SetMaximalParameterValue(self, *args) -> "void":
        r"""
        Defines the maximum value allowed for the first and last parameters of an infinite curve. default value: 500. vrmlconverter_curve vrmlconverter_wfrestrictedface vrmlconverter_wfshape.

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

    def SetSeenLineAspect(self, *args) -> "void":
        r"""
        Sets lineaspect for the seen lines.

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

    def SetTypeOfDeflection(self, *args) -> "void":
        r"""
        By default: tod_relative; however, except for the shapes, the drawing will be made using the absolute deviation.

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

    def SetUnFreeBoundaryDraw(self, *args) -> "void":
        r"""
        Enables the drawing the unfree boundaries by default the unfree boundaries are drawn.

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

    def SetWireDraw(self, *args) -> "void":
        r"""
        Enables the drawing the wire by default the wire are drawn.

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

        Returns
        -------
        None

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

    def ShadingAspect(self, *args) -> "opencascade::handle< VrmlConverter_ShadingAspect >":
        r"""
        The default values are the same default values from vrml package.

        Returns
        -------
        opencascade::handle<VrmlConverter_ShadingAspect>

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

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

        Returns
        -------
        Aspect_TypeOfDeflection

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

    def UIsoAspect(self, *args) -> "opencascade::handle< VrmlConverter_IsoAspect >":
        r"""
        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.

        Returns
        -------
        opencascade::handle<VrmlConverter_IsoAspect>

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

    def UnFreeBoundaryAspect(self, *args) -> "opencascade::handle< VrmlConverter_LineAspect >":
        r"""
        The default values are the same default values from vrml package. these attributes are used by the following algorithms: vrmlconverter_wfshape vrmlconverter_wfdeflectionshape.

        Returns
        -------
        opencascade::handle<VrmlConverter_LineAspect>

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

    def UnFreeBoundaryDraw(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the drawing of the unfree boundaries is enabled.

        Returns
        -------
        bool

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

    def VIsoAspect(self, *args) -> "opencascade::handle< VrmlConverter_IsoAspect >":
        r"""
        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.

        Returns
        -------
        opencascade::handle<VrmlConverter_IsoAspect>

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

    def WireAspect(self, *args) -> "opencascade::handle< VrmlConverter_LineAspect >":
        r"""
        The default values are the same default values from vrml package. these attributes are used by the following algorithms: vrmlconverter_wfshape vrmlconverter_wfdeflectionshape.

        Returns
        -------
        opencascade::handle<VrmlConverter_LineAspect>

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

    def WireDraw(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the drawing of the wire is enabled.

        Returns
        -------
        bool

        """
        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"""
        Create a default lineaspect. default value: hasmaterial = false - a line hasn't own material (color).

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

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

        Returns
        -------
        None

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

    def HasMaterial(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the materials is writing into ostream.

        Returns
        -------
        bool

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

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

        Returns
        -------
        opencascade::handle<Vrml_Material>

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

        """
        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"""
        Create a default pointaspect. default value: hasmaterial = false - a line hasn't own material (color).

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

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

        Returns
        -------
        None

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

    def HasMaterial(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the materials is writing into ostream.

        Returns
        -------
        bool

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

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

        Returns
        -------
        opencascade::handle<Vrml_Material>

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        VrmlConverter_TypeOfCamera

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

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

        Returns
        -------
        VrmlConverter_TypeOfLight

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

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

        Returns
        -------
        HLRAlgo_Projector

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

        """
        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) -> "void":
        r"""
        No available documentation.

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

        Returns
        -------
        None

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

def VrmlConverter_ShadedShape_ComputeNormal(*args) -> "void":
    r"""
    No available documentation.

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

    Returns
    -------
    None

    """
    return _VrmlConverter.VrmlConverter_ShadedShape_ComputeNormal(*args)

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"""
        Create a default shadingaspect.

        Returns
        -------
        None

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

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

        Returns
        -------
        opencascade::handle<Vrml_Material>

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

    def HasMaterial(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the materials is writing into ostream.

        Returns
        -------
        bool

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

    def HasNormals(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the normals are calculating.

        Returns
        -------
        bool

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

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

        Returns
        -------
        None

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

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

        Returns
        -------
        Vrml_ShapeHints

        """
        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"""
        Create a default isoaspect. default value: mynumber - 10.

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

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

        Returns
        -------
        None

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

    def Number(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of u or v isoparametric curves drawn for a single face.

        Returns
        -------
        int

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

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

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

        Returns
        -------
        None

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





