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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# Register SwigPyIterator in _Graphic3d:
_Graphic3d.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 _Graphic3d.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.BVH
import OCC.Core.Quantity
import OCC.Core.TCollection
import OCC.Core.gp
import OCC.Core.TColStd
import OCC.Core.Aspect
import OCC.Core.Image
import OCC.Core.TopLoc
import OCC.Core.Bnd
import OCC.Core.TColgp
import OCC.Core.OSD
import OCC.Core.Media

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

Graphic3d_ClipState_Out = _Graphic3d.Graphic3d_ClipState_Out
Graphic3d_ClipState_In = _Graphic3d.Graphic3d_ClipState_In
Graphic3d_ClipState_On = _Graphic3d.Graphic3d_ClipState_On
Graphic3d_BT_RGB = _Graphic3d.Graphic3d_BT_RGB
Graphic3d_BT_RGBA = _Graphic3d.Graphic3d_BT_RGBA
Graphic3d_BT_Depth = _Graphic3d.Graphic3d_BT_Depth
Graphic3d_BT_RGB_RayTraceHdrLeft = _Graphic3d.Graphic3d_BT_RGB_RayTraceHdrLeft
Graphic3d_BT_Red = _Graphic3d.Graphic3d_BT_Red
Graphic3d_FrameStatsTimer_ElapsedFrame = _Graphic3d.Graphic3d_FrameStatsTimer_ElapsedFrame
Graphic3d_FrameStatsTimer_CpuFrame = _Graphic3d.Graphic3d_FrameStatsTimer_CpuFrame
Graphic3d_FrameStatsTimer_CpuCulling = _Graphic3d.Graphic3d_FrameStatsTimer_CpuCulling
Graphic3d_FrameStatsTimer_CpuPicking = _Graphic3d.Graphic3d_FrameStatsTimer_CpuPicking
Graphic3d_FrameStatsTimer_CpuDynamics = _Graphic3d.Graphic3d_FrameStatsTimer_CpuDynamics
Graphic3d_FrameStatsTimer_NB = _Graphic3d.Graphic3d_FrameStatsTimer_NB
Graphic3d_VTA_BOTTOM = _Graphic3d.Graphic3d_VTA_BOTTOM
Graphic3d_VTA_CENTER = _Graphic3d.Graphic3d_VTA_CENTER
Graphic3d_VTA_TOP = _Graphic3d.Graphic3d_VTA_TOP
Graphic3d_VTA_TOPFIRSTLINE = _Graphic3d.Graphic3d_VTA_TOPFIRSTLINE
Graphic3d_LOTA_OFF = _Graphic3d.Graphic3d_LOTA_OFF
Graphic3d_LOTA_FAST = _Graphic3d.Graphic3d_LOTA_FAST
Graphic3d_LOTA_MIDDLE = _Graphic3d.Graphic3d_LOTA_MIDDLE
Graphic3d_LOTA_QUALITY = _Graphic3d.Graphic3d_LOTA_QUALITY
Graphic3d_TypeOfLimit_MaxNbLights = _Graphic3d.Graphic3d_TypeOfLimit_MaxNbLights
Graphic3d_TypeOfLimit_MaxNbClipPlanes = _Graphic3d.Graphic3d_TypeOfLimit_MaxNbClipPlanes
Graphic3d_TypeOfLimit_MaxNbViews = _Graphic3d.Graphic3d_TypeOfLimit_MaxNbViews
Graphic3d_TypeOfLimit_MaxTextureSize = _Graphic3d.Graphic3d_TypeOfLimit_MaxTextureSize
Graphic3d_TypeOfLimit_MaxViewDumpSizeX = _Graphic3d.Graphic3d_TypeOfLimit_MaxViewDumpSizeX
Graphic3d_TypeOfLimit_MaxViewDumpSizeY = _Graphic3d.Graphic3d_TypeOfLimit_MaxViewDumpSizeY
Graphic3d_TypeOfLimit_MaxCombinedTextureUnits = _Graphic3d.Graphic3d_TypeOfLimit_MaxCombinedTextureUnits
Graphic3d_TypeOfLimit_MaxMsaa = _Graphic3d.Graphic3d_TypeOfLimit_MaxMsaa
Graphic3d_TypeOfLimit_HasPBR = _Graphic3d.Graphic3d_TypeOfLimit_HasPBR
Graphic3d_TypeOfLimit_HasRayTracing = _Graphic3d.Graphic3d_TypeOfLimit_HasRayTracing
Graphic3d_TypeOfLimit_HasRayTracingTextures = _Graphic3d.Graphic3d_TypeOfLimit_HasRayTracingTextures
Graphic3d_TypeOfLimit_HasRayTracingAdaptiveSampling = _Graphic3d.Graphic3d_TypeOfLimit_HasRayTracingAdaptiveSampling
Graphic3d_TypeOfLimit_HasRayTracingAdaptiveSamplingAtomic = _Graphic3d.Graphic3d_TypeOfLimit_HasRayTracingAdaptiveSamplingAtomic
Graphic3d_TypeOfLimit_HasSRGB = _Graphic3d.Graphic3d_TypeOfLimit_HasSRGB
Graphic3d_TypeOfLimit_HasBlendedOit = _Graphic3d.Graphic3d_TypeOfLimit_HasBlendedOit
Graphic3d_TypeOfLimit_HasBlendedOitMsaa = _Graphic3d.Graphic3d_TypeOfLimit_HasBlendedOitMsaa
Graphic3d_TypeOfLimit_HasFlatShading = _Graphic3d.Graphic3d_TypeOfLimit_HasFlatShading
Graphic3d_TypeOfLimit_HasMeshEdges = _Graphic3d.Graphic3d_TypeOfLimit_HasMeshEdges
Graphic3d_TypeOfLimit_IsWorkaroundFBO = _Graphic3d.Graphic3d_TypeOfLimit_IsWorkaroundFBO
Graphic3d_TypeOfLimit_NB = _Graphic3d.Graphic3d_TypeOfLimit_NB
Graphic3d_DiagnosticInfo_Device = _Graphic3d.Graphic3d_DiagnosticInfo_Device
Graphic3d_DiagnosticInfo_FrameBuffer = _Graphic3d.Graphic3d_DiagnosticInfo_FrameBuffer
Graphic3d_DiagnosticInfo_Limits = _Graphic3d.Graphic3d_DiagnosticInfo_Limits
Graphic3d_DiagnosticInfo_Memory = _Graphic3d.Graphic3d_DiagnosticInfo_Memory
Graphic3d_DiagnosticInfo_NativePlatform = _Graphic3d.Graphic3d_DiagnosticInfo_NativePlatform
Graphic3d_DiagnosticInfo_Extensions = _Graphic3d.Graphic3d_DiagnosticInfo_Extensions
Graphic3d_DiagnosticInfo_Short = _Graphic3d.Graphic3d_DiagnosticInfo_Short
Graphic3d_DiagnosticInfo_Basic = _Graphic3d.Graphic3d_DiagnosticInfo_Basic
Graphic3d_DiagnosticInfo_Complete = _Graphic3d.Graphic3d_DiagnosticInfo_Complete
Graphic3d_StereoMode_QuadBuffer = _Graphic3d.Graphic3d_StereoMode_QuadBuffer
Graphic3d_StereoMode_Anaglyph = _Graphic3d.Graphic3d_StereoMode_Anaglyph
Graphic3d_StereoMode_RowInterlaced = _Graphic3d.Graphic3d_StereoMode_RowInterlaced
Graphic3d_StereoMode_ColumnInterlaced = _Graphic3d.Graphic3d_StereoMode_ColumnInterlaced
Graphic3d_StereoMode_ChessBoard = _Graphic3d.Graphic3d_StereoMode_ChessBoard
Graphic3d_StereoMode_SideBySide = _Graphic3d.Graphic3d_StereoMode_SideBySide
Graphic3d_StereoMode_OverUnder = _Graphic3d.Graphic3d_StereoMode_OverUnder
Graphic3d_StereoMode_SoftPageFlip = _Graphic3d.Graphic3d_StereoMode_SoftPageFlip
Graphic3d_StereoMode_OpenVR = _Graphic3d.Graphic3d_StereoMode_OpenVR
Graphic3d_StereoMode_NB = _Graphic3d.Graphic3d_StereoMode_NB
Graphic3d_AlphaMode_Opaque = _Graphic3d.Graphic3d_AlphaMode_Opaque
Graphic3d_AlphaMode_Mask = _Graphic3d.Graphic3d_AlphaMode_Mask
Graphic3d_AlphaMode_Blend = _Graphic3d.Graphic3d_AlphaMode_Blend
Graphic3d_AlphaMode_BlendAuto = _Graphic3d.Graphic3d_AlphaMode_BlendAuto
Graphic3d_FM_SCHLICK = _Graphic3d.Graphic3d_FM_SCHLICK
Graphic3d_FM_CONSTANT = _Graphic3d.Graphic3d_FM_CONSTANT
Graphic3d_FM_CONDUCTOR = _Graphic3d.Graphic3d_FM_CONDUCTOR
Graphic3d_FM_DIELECTRIC = _Graphic3d.Graphic3d_FM_DIELECTRIC
Graphic3d_TOR_AMBIENT = _Graphic3d.Graphic3d_TOR_AMBIENT
Graphic3d_TOR_DIFFUSE = _Graphic3d.Graphic3d_TOR_DIFFUSE
Graphic3d_TOR_SPECULAR = _Graphic3d.Graphic3d_TOR_SPECULAR
Graphic3d_TOR_EMISSION = _Graphic3d.Graphic3d_TOR_EMISSION
Graphic3d_TypeOfReflection_NB = _Graphic3d.Graphic3d_TypeOfReflection_NB
Graphic3d_RTM_BLEND_UNORDERED = _Graphic3d.Graphic3d_RTM_BLEND_UNORDERED
Graphic3d_RTM_BLEND_OIT = _Graphic3d.Graphic3d_RTM_BLEND_OIT
Graphic3d_RM_RASTERIZATION = _Graphic3d.Graphic3d_RM_RASTERIZATION
Graphic3d_RM_RAYTRACING = _Graphic3d.Graphic3d_RM_RAYTRACING
Graphic3d_FrameStatsCounter_NbLayers = _Graphic3d.Graphic3d_FrameStatsCounter_NbLayers
Graphic3d_FrameStatsCounter_NbStructs = _Graphic3d.Graphic3d_FrameStatsCounter_NbStructs
Graphic3d_FrameStatsCounter_EstimatedBytesGeom = _Graphic3d.Graphic3d_FrameStatsCounter_EstimatedBytesGeom
Graphic3d_FrameStatsCounter_EstimatedBytesFbos = _Graphic3d.Graphic3d_FrameStatsCounter_EstimatedBytesFbos
Graphic3d_FrameStatsCounter_EstimatedBytesTextures = _Graphic3d.Graphic3d_FrameStatsCounter_EstimatedBytesTextures
Graphic3d_FrameStatsCounter_NbLayersNotCulled = _Graphic3d.Graphic3d_FrameStatsCounter_NbLayersNotCulled
Graphic3d_FrameStatsCounter_NbStructsNotCulled = _Graphic3d.Graphic3d_FrameStatsCounter_NbStructsNotCulled
Graphic3d_FrameStatsCounter_NbGroupsNotCulled = _Graphic3d.Graphic3d_FrameStatsCounter_NbGroupsNotCulled
Graphic3d_FrameStatsCounter_NbElemsNotCulled = _Graphic3d.Graphic3d_FrameStatsCounter_NbElemsNotCulled
Graphic3d_FrameStatsCounter_NbElemsFillNotCulled = _Graphic3d.Graphic3d_FrameStatsCounter_NbElemsFillNotCulled
Graphic3d_FrameStatsCounter_NbElemsLineNotCulled = _Graphic3d.Graphic3d_FrameStatsCounter_NbElemsLineNotCulled
Graphic3d_FrameStatsCounter_NbElemsPointNotCulled = _Graphic3d.Graphic3d_FrameStatsCounter_NbElemsPointNotCulled
Graphic3d_FrameStatsCounter_NbElemsTextNotCulled = _Graphic3d.Graphic3d_FrameStatsCounter_NbElemsTextNotCulled
Graphic3d_FrameStatsCounter_NbTrianglesNotCulled = _Graphic3d.Graphic3d_FrameStatsCounter_NbTrianglesNotCulled
Graphic3d_FrameStatsCounter_NbLinesNotCulled = _Graphic3d.Graphic3d_FrameStatsCounter_NbLinesNotCulled
Graphic3d_FrameStatsCounter_NbPointsNotCulled = _Graphic3d.Graphic3d_FrameStatsCounter_NbPointsNotCulled
Graphic3d_FrameStatsCounter_NbLayersImmediate = _Graphic3d.Graphic3d_FrameStatsCounter_NbLayersImmediate
Graphic3d_FrameStatsCounter_NbStructsImmediate = _Graphic3d.Graphic3d_FrameStatsCounter_NbStructsImmediate
Graphic3d_FrameStatsCounter_NbGroupsImmediate = _Graphic3d.Graphic3d_FrameStatsCounter_NbGroupsImmediate
Graphic3d_FrameStatsCounter_NbElemsImmediate = _Graphic3d.Graphic3d_FrameStatsCounter_NbElemsImmediate
Graphic3d_FrameStatsCounter_NbElemsFillImmediate = _Graphic3d.Graphic3d_FrameStatsCounter_NbElemsFillImmediate
Graphic3d_FrameStatsCounter_NbElemsLineImmediate = _Graphic3d.Graphic3d_FrameStatsCounter_NbElemsLineImmediate
Graphic3d_FrameStatsCounter_NbElemsPointImmediate = _Graphic3d.Graphic3d_FrameStatsCounter_NbElemsPointImmediate
Graphic3d_FrameStatsCounter_NbElemsTextImmediate = _Graphic3d.Graphic3d_FrameStatsCounter_NbElemsTextImmediate
Graphic3d_FrameStatsCounter_NbTrianglesImmediate = _Graphic3d.Graphic3d_FrameStatsCounter_NbTrianglesImmediate
Graphic3d_FrameStatsCounter_NbLinesImmediate = _Graphic3d.Graphic3d_FrameStatsCounter_NbLinesImmediate
Graphic3d_FrameStatsCounter_NbPointsImmediate = _Graphic3d.Graphic3d_FrameStatsCounter_NbPointsImmediate
Graphic3d_FrameStatsCounter_NB = _Graphic3d.Graphic3d_FrameStatsCounter_NB
Graphic3d_FrameStatsCounter_SCENE_LOWER = _Graphic3d.Graphic3d_FrameStatsCounter_SCENE_LOWER
Graphic3d_FrameStatsCounter_SCENE_UPPER = _Graphic3d.Graphic3d_FrameStatsCounter_SCENE_UPPER
Graphic3d_FrameStatsCounter_RENDERED_LOWER = _Graphic3d.Graphic3d_FrameStatsCounter_RENDERED_LOWER
Graphic3d_FrameStatsCounter_RENDERED_UPPER = _Graphic3d.Graphic3d_FrameStatsCounter_RENDERED_UPPER
Graphic3d_FrameStatsCounter_IMMEDIATE_LOWER = _Graphic3d.Graphic3d_FrameStatsCounter_IMMEDIATE_LOWER
Graphic3d_FrameStatsCounter_IMMEDIATE_UPPER = _Graphic3d.Graphic3d_FrameStatsCounter_IMMEDIATE_UPPER
Graphic3d_TOB_NONE = _Graphic3d.Graphic3d_TOB_NONE
Graphic3d_TOB_GRADIENT = _Graphic3d.Graphic3d_TOB_GRADIENT
Graphic3d_TOB_TEXTURE = _Graphic3d.Graphic3d_TOB_TEXTURE
Graphic3d_TOB_CUBEMAP = _Graphic3d.Graphic3d_TOB_CUBEMAP
Graphic3d_TypeOfBackground_NB = _Graphic3d.Graphic3d_TypeOfBackground_NB
Graphic3d_TOS_WIREFRAME = _Graphic3d.Graphic3d_TOS_WIREFRAME
Graphic3d_TOS_SHADING = _Graphic3d.Graphic3d_TOS_SHADING
Graphic3d_TOS_COMPUTED = _Graphic3d.Graphic3d_TOS_COMPUTED
Graphic3d_TOS_ALL = _Graphic3d.Graphic3d_TOS_ALL
Graphic3d_TOTM_OBJECT = _Graphic3d.Graphic3d_TOTM_OBJECT
Graphic3d_TOTM_SPHERE = _Graphic3d.Graphic3d_TOTM_SPHERE
Graphic3d_TOTM_EYE = _Graphic3d.Graphic3d_TOTM_EYE
Graphic3d_TOTM_MANUAL = _Graphic3d.Graphic3d_TOTM_MANUAL
Graphic3d_TOTM_SPRITE = _Graphic3d.Graphic3d_TOTM_SPRITE
Graphic3d_TOS_VERTEX = _Graphic3d.Graphic3d_TOS_VERTEX
Graphic3d_TOS_TESS_CONTROL = _Graphic3d.Graphic3d_TOS_TESS_CONTROL
Graphic3d_TOS_TESS_EVALUATION = _Graphic3d.Graphic3d_TOS_TESS_EVALUATION
Graphic3d_TOS_GEOMETRY = _Graphic3d.Graphic3d_TOS_GEOMETRY
Graphic3d_TOS_FRAGMENT = _Graphic3d.Graphic3d_TOS_FRAGMENT
Graphic3d_TOS_COMPUTE = _Graphic3d.Graphic3d_TOS_COMPUTE
Graphic3d_ZLayerDepthTest = _Graphic3d.Graphic3d_ZLayerDepthTest
Graphic3d_ZLayerDepthWrite = _Graphic3d.Graphic3d_ZLayerDepthWrite
Graphic3d_ZLayerDepthClear = _Graphic3d.Graphic3d_ZLayerDepthClear
Graphic3d_ZLayerDepthOffset = _Graphic3d.Graphic3d_ZLayerDepthOffset
Graphic3d_CappingFlags_None = _Graphic3d.Graphic3d_CappingFlags_None
Graphic3d_CappingFlags_ObjectMaterial = _Graphic3d.Graphic3d_CappingFlags_ObjectMaterial
Graphic3d_CappingFlags_ObjectTexture = _Graphic3d.Graphic3d_CappingFlags_ObjectTexture
Graphic3d_CappingFlags_ObjectShader = _Graphic3d.Graphic3d_CappingFlags_ObjectShader
Graphic3d_CappingFlags_ObjectAspect = _Graphic3d.Graphic3d_CappingFlags_ObjectAspect
Graphic3d_NOTP_XY = _Graphic3d.Graphic3d_NOTP_XY
Graphic3d_NOTP_YZ = _Graphic3d.Graphic3d_NOTP_YZ
Graphic3d_NOTP_ZX = _Graphic3d.Graphic3d_NOTP_ZX
Graphic3d_NOTP_UNKNOWN = _Graphic3d.Graphic3d_NOTP_UNKNOWN
Graphic3d_TOSM_DEFAULT = _Graphic3d.Graphic3d_TOSM_DEFAULT
Graphic3d_TOSM_UNLIT = _Graphic3d.Graphic3d_TOSM_UNLIT
Graphic3d_TOSM_FACET = _Graphic3d.Graphic3d_TOSM_FACET
Graphic3d_TOSM_VERTEX = _Graphic3d.Graphic3d_TOSM_VERTEX
Graphic3d_TOSM_FRAGMENT = _Graphic3d.Graphic3d_TOSM_FRAGMENT
Graphic3d_TOSM_PBR = _Graphic3d.Graphic3d_TOSM_PBR
Graphic3d_TOSM_PBR_FACET = _Graphic3d.Graphic3d_TOSM_PBR_FACET
Graphic3d_TOSM_NONE = _Graphic3d.Graphic3d_TOSM_NONE
V3d_COLOR = _Graphic3d.V3d_COLOR
V3d_FLAT = _Graphic3d.V3d_FLAT
V3d_GOURAUD = _Graphic3d.V3d_GOURAUD
V3d_PHONG = _Graphic3d.V3d_PHONG
Graphic3d_TypeOfShadingModel_NB = _Graphic3d.Graphic3d_TypeOfShadingModel_NB
Graphic3d_TOPA_UNDEFINED = _Graphic3d.Graphic3d_TOPA_UNDEFINED
Graphic3d_TOPA_POINTS = _Graphic3d.Graphic3d_TOPA_POINTS
Graphic3d_TOPA_SEGMENTS = _Graphic3d.Graphic3d_TOPA_SEGMENTS
Graphic3d_TOPA_POLYLINES = _Graphic3d.Graphic3d_TOPA_POLYLINES
Graphic3d_TOPA_TRIANGLES = _Graphic3d.Graphic3d_TOPA_TRIANGLES
Graphic3d_TOPA_TRIANGLESTRIPS = _Graphic3d.Graphic3d_TOPA_TRIANGLESTRIPS
Graphic3d_TOPA_TRIANGLEFANS = _Graphic3d.Graphic3d_TOPA_TRIANGLEFANS
Graphic3d_TOPA_LINES_ADJACENCY = _Graphic3d.Graphic3d_TOPA_LINES_ADJACENCY
Graphic3d_TOPA_LINE_STRIP_ADJACENCY = _Graphic3d.Graphic3d_TOPA_LINE_STRIP_ADJACENCY
Graphic3d_TOPA_TRIANGLES_ADJACENCY = _Graphic3d.Graphic3d_TOPA_TRIANGLES_ADJACENCY
Graphic3d_TOPA_TRIANGLE_STRIP_ADJACENCY = _Graphic3d.Graphic3d_TOPA_TRIANGLE_STRIP_ADJACENCY
Graphic3d_TOPA_QUADRANGLES = _Graphic3d.Graphic3d_TOPA_QUADRANGLES
Graphic3d_TOPA_QUADRANGLESTRIPS = _Graphic3d.Graphic3d_TOPA_QUADRANGLESTRIPS
Graphic3d_TOPA_POLYGONS = _Graphic3d.Graphic3d_TOPA_POLYGONS
Graphic3d_ToneMappingMethod_Disabled = _Graphic3d.Graphic3d_ToneMappingMethod_Disabled
Graphic3d_ToneMappingMethod_Filmic = _Graphic3d.Graphic3d_ToneMappingMethod_Filmic
Graphic3d_TOT_1D = _Graphic3d.Graphic3d_TOT_1D
Graphic3d_TOT_2D = _Graphic3d.Graphic3d_TOT_2D
Graphic3d_TOT_2D_MIPMAP = _Graphic3d.Graphic3d_TOT_2D_MIPMAP
Graphic3d_TOT_CUBEMAP = _Graphic3d.Graphic3d_TOT_CUBEMAP
Graphic3d_MATERIAL_ASPECT = _Graphic3d.Graphic3d_MATERIAL_ASPECT
Graphic3d_MATERIAL_PHYSIC = _Graphic3d.Graphic3d_MATERIAL_PHYSIC
Graphic3d_TOBM_AUTOMATIC = _Graphic3d.Graphic3d_TOBM_AUTOMATIC
Graphic3d_TOBM_FORCE = _Graphic3d.Graphic3d_TOBM_FORCE
Graphic3d_TOBM_DISABLE = _Graphic3d.Graphic3d_TOBM_DISABLE
Graphic3d_HTA_LEFT = _Graphic3d.Graphic3d_HTA_LEFT
Graphic3d_HTA_CENTER = _Graphic3d.Graphic3d_HTA_CENTER
Graphic3d_HTA_RIGHT = _Graphic3d.Graphic3d_HTA_RIGHT
Graphic3d_TMF_None = _Graphic3d.Graphic3d_TMF_None
Graphic3d_TMF_ZoomPers = _Graphic3d.Graphic3d_TMF_ZoomPers
Graphic3d_TMF_RotatePers = _Graphic3d.Graphic3d_TMF_RotatePers
Graphic3d_TMF_TriedronPers = _Graphic3d.Graphic3d_TMF_TriedronPers
Graphic3d_TMF_2d = _Graphic3d.Graphic3d_TMF_2d
Graphic3d_TMF_ZoomRotatePers = _Graphic3d.Graphic3d_TMF_ZoomRotatePers
Graphic3d_ArrayFlags_None = _Graphic3d.Graphic3d_ArrayFlags_None
Graphic3d_ArrayFlags_VertexNormal = _Graphic3d.Graphic3d_ArrayFlags_VertexNormal
Graphic3d_ArrayFlags_VertexColor = _Graphic3d.Graphic3d_ArrayFlags_VertexColor
Graphic3d_ArrayFlags_VertexTexel = _Graphic3d.Graphic3d_ArrayFlags_VertexTexel
Graphic3d_ArrayFlags_BoundColor = _Graphic3d.Graphic3d_ArrayFlags_BoundColor
Graphic3d_ArrayFlags_AttribsMutable = _Graphic3d.Graphic3d_ArrayFlags_AttribsMutable
Graphic3d_ArrayFlags_AttribsDeinterleaved = _Graphic3d.Graphic3d_ArrayFlags_AttribsDeinterleaved
Graphic3d_ArrayFlags_IndexesMutable = _Graphic3d.Graphic3d_ArrayFlags_IndexesMutable
Graphic3d_TOA_YES = _Graphic3d.Graphic3d_TOA_YES
Graphic3d_TOA_NO = _Graphic3d.Graphic3d_TOA_NO
Graphic3d_TOA_COMPUTE = _Graphic3d.Graphic3d_TOA_COMPUTE
Graphic3d_ASPECT_LINE = _Graphic3d.Graphic3d_ASPECT_LINE
Graphic3d_ASPECT_TEXT = _Graphic3d.Graphic3d_ASPECT_TEXT
Graphic3d_ASPECT_MARKER = _Graphic3d.Graphic3d_ASPECT_MARKER
Graphic3d_ASPECT_FILL_AREA = _Graphic3d.Graphic3d_ASPECT_FILL_AREA
Graphic3d_TextureUnit_0 = _Graphic3d.Graphic3d_TextureUnit_0
Graphic3d_TextureUnit_1 = _Graphic3d.Graphic3d_TextureUnit_1
Graphic3d_TextureUnit_2 = _Graphic3d.Graphic3d_TextureUnit_2
Graphic3d_TextureUnit_3 = _Graphic3d.Graphic3d_TextureUnit_3
Graphic3d_TextureUnit_4 = _Graphic3d.Graphic3d_TextureUnit_4
Graphic3d_TextureUnit_5 = _Graphic3d.Graphic3d_TextureUnit_5
Graphic3d_TextureUnit_6 = _Graphic3d.Graphic3d_TextureUnit_6
Graphic3d_TextureUnit_7 = _Graphic3d.Graphic3d_TextureUnit_7
Graphic3d_TextureUnit_8 = _Graphic3d.Graphic3d_TextureUnit_8
Graphic3d_TextureUnit_9 = _Graphic3d.Graphic3d_TextureUnit_9
Graphic3d_TextureUnit_10 = _Graphic3d.Graphic3d_TextureUnit_10
Graphic3d_TextureUnit_11 = _Graphic3d.Graphic3d_TextureUnit_11
Graphic3d_TextureUnit_12 = _Graphic3d.Graphic3d_TextureUnit_12
Graphic3d_TextureUnit_13 = _Graphic3d.Graphic3d_TextureUnit_13
Graphic3d_TextureUnit_14 = _Graphic3d.Graphic3d_TextureUnit_14
Graphic3d_TextureUnit_15 = _Graphic3d.Graphic3d_TextureUnit_15
Graphic3d_TextureUnit_BaseColor = _Graphic3d.Graphic3d_TextureUnit_BaseColor
Graphic3d_TextureUnit_Emissive = _Graphic3d.Graphic3d_TextureUnit_Emissive
Graphic3d_TextureUnit_Occlusion = _Graphic3d.Graphic3d_TextureUnit_Occlusion
Graphic3d_TextureUnit_Normal = _Graphic3d.Graphic3d_TextureUnit_Normal
Graphic3d_TextureUnit_MetallicRoughness = _Graphic3d.Graphic3d_TextureUnit_MetallicRoughness
Graphic3d_TextureUnit_EnvMap = _Graphic3d.Graphic3d_TextureUnit_EnvMap
Graphic3d_TextureUnit_PointSprite = _Graphic3d.Graphic3d_TextureUnit_PointSprite
Graphic3d_TextureUnit_PbrEnvironmentLUT = _Graphic3d.Graphic3d_TextureUnit_PbrEnvironmentLUT
Graphic3d_TextureUnit_PbrIblDiffuseSH = _Graphic3d.Graphic3d_TextureUnit_PbrIblDiffuseSH
Graphic3d_TextureUnit_PbrIblSpecular = _Graphic3d.Graphic3d_TextureUnit_PbrIblSpecular
Graphic3d_TextureUnit_NB = _Graphic3d.Graphic3d_TextureUnit_NB
Graphic3d_TOC_ANCESTOR = _Graphic3d.Graphic3d_TOC_ANCESTOR
Graphic3d_TOC_DESCENDANT = _Graphic3d.Graphic3d_TOC_DESCENDANT
Graphic3d_NOT_1D_ELEVATION = _Graphic3d.Graphic3d_NOT_1D_ELEVATION
Graphic3d_NOT_1D_UNKNOWN = _Graphic3d.Graphic3d_NOT_1D_UNKNOWN
Graphic3d_TP_UP = _Graphic3d.Graphic3d_TP_UP
Graphic3d_TP_DOWN = _Graphic3d.Graphic3d_TP_DOWN
Graphic3d_TP_LEFT = _Graphic3d.Graphic3d_TP_LEFT
Graphic3d_TP_RIGHT = _Graphic3d.Graphic3d_TP_RIGHT
Graphic3d_CMS_POS_X = _Graphic3d.Graphic3d_CMS_POS_X
Graphic3d_CMS_NEG_X = _Graphic3d.Graphic3d_CMS_NEG_X
Graphic3d_CMS_POS_Y = _Graphic3d.Graphic3d_CMS_POS_Y
Graphic3d_CMS_NEG_Y = _Graphic3d.Graphic3d_CMS_NEG_Y
Graphic3d_CMS_POS_Z = _Graphic3d.Graphic3d_CMS_POS_Z
Graphic3d_CMS_NEG_Z = _Graphic3d.Graphic3d_CMS_NEG_Z
Graphic3d_ZLayerId_UNKNOWN = _Graphic3d.Graphic3d_ZLayerId_UNKNOWN
Graphic3d_ZLayerId_Default = _Graphic3d.Graphic3d_ZLayerId_Default
Graphic3d_ZLayerId_Top = _Graphic3d.Graphic3d_ZLayerId_Top
Graphic3d_ZLayerId_Topmost = _Graphic3d.Graphic3d_ZLayerId_Topmost
Graphic3d_ZLayerId_TopOSD = _Graphic3d.Graphic3d_ZLayerId_TopOSD
Graphic3d_ZLayerId_BotOSD = _Graphic3d.Graphic3d_ZLayerId_BotOSD
Graphic3d_TextureSetBits_NONE = _Graphic3d.Graphic3d_TextureSetBits_NONE
Graphic3d_TextureSetBits_BaseColor = _Graphic3d.Graphic3d_TextureSetBits_BaseColor
Graphic3d_TextureSetBits_Emissive = _Graphic3d.Graphic3d_TextureSetBits_Emissive
Graphic3d_TextureSetBits_Occlusion = _Graphic3d.Graphic3d_TextureSetBits_Occlusion
Graphic3d_TextureSetBits_Normal = _Graphic3d.Graphic3d_TextureSetBits_Normal
Graphic3d_TextureSetBits_MetallicRoughness = _Graphic3d.Graphic3d_TextureSetBits_MetallicRoughness
Graphic3d_TOC_REPLACE = _Graphic3d.Graphic3d_TOC_REPLACE
Graphic3d_TOC_POSTCONCATENATE = _Graphic3d.Graphic3d_TOC_POSTCONCATENATE
Graphic3d_TOA_POS = _Graphic3d.Graphic3d_TOA_POS
Graphic3d_TOA_NORM = _Graphic3d.Graphic3d_TOA_NORM
Graphic3d_TOA_UV = _Graphic3d.Graphic3d_TOA_UV
Graphic3d_TOA_COLOR = _Graphic3d.Graphic3d_TOA_COLOR
Graphic3d_TOA_CUSTOM = _Graphic3d.Graphic3d_TOA_CUSTOM
Graphic3d_TOD_USHORT = _Graphic3d.Graphic3d_TOD_USHORT
Graphic3d_TOD_UINT = _Graphic3d.Graphic3d_TOD_UINT
Graphic3d_TOD_VEC2 = _Graphic3d.Graphic3d_TOD_VEC2
Graphic3d_TOD_VEC3 = _Graphic3d.Graphic3d_TOD_VEC3
Graphic3d_TOD_VEC4 = _Graphic3d.Graphic3d_TOD_VEC4
Graphic3d_TOD_VEC4UB = _Graphic3d.Graphic3d_TOD_VEC4UB
Graphic3d_TOD_FLOAT = _Graphic3d.Graphic3d_TOD_FLOAT
Graphic3d_NOT_2D_MATRA = _Graphic3d.Graphic3d_NOT_2D_MATRA
Graphic3d_NOT_2D_ALIENSKIN = _Graphic3d.Graphic3d_NOT_2D_ALIENSKIN
Graphic3d_NOT_2D_BLUE_ROCK = _Graphic3d.Graphic3d_NOT_2D_BLUE_ROCK
Graphic3d_NOT_2D_BLUEWHITE_PAPER = _Graphic3d.Graphic3d_NOT_2D_BLUEWHITE_PAPER
Graphic3d_NOT_2D_BRUSHED = _Graphic3d.Graphic3d_NOT_2D_BRUSHED
Graphic3d_NOT_2D_BUBBLES = _Graphic3d.Graphic3d_NOT_2D_BUBBLES
Graphic3d_NOT_2D_BUMP = _Graphic3d.Graphic3d_NOT_2D_BUMP
Graphic3d_NOT_2D_CAST = _Graphic3d.Graphic3d_NOT_2D_CAST
Graphic3d_NOT_2D_CHIPBD = _Graphic3d.Graphic3d_NOT_2D_CHIPBD
Graphic3d_NOT_2D_CLOUDS = _Graphic3d.Graphic3d_NOT_2D_CLOUDS
Graphic3d_NOT_2D_FLESH = _Graphic3d.Graphic3d_NOT_2D_FLESH
Graphic3d_NOT_2D_FLOOR = _Graphic3d.Graphic3d_NOT_2D_FLOOR
Graphic3d_NOT_2D_GALVNISD = _Graphic3d.Graphic3d_NOT_2D_GALVNISD
Graphic3d_NOT_2D_GRASS = _Graphic3d.Graphic3d_NOT_2D_GRASS
Graphic3d_NOT_2D_ALUMINUM = _Graphic3d.Graphic3d_NOT_2D_ALUMINUM
Graphic3d_NOT_2D_ROCK = _Graphic3d.Graphic3d_NOT_2D_ROCK
Graphic3d_NOT_2D_KNURL = _Graphic3d.Graphic3d_NOT_2D_KNURL
Graphic3d_NOT_2D_MAPLE = _Graphic3d.Graphic3d_NOT_2D_MAPLE
Graphic3d_NOT_2D_MARBLE = _Graphic3d.Graphic3d_NOT_2D_MARBLE
Graphic3d_NOT_2D_MOTTLED = _Graphic3d.Graphic3d_NOT_2D_MOTTLED
Graphic3d_NOT_2D_RAIN = _Graphic3d.Graphic3d_NOT_2D_RAIN
Graphic3d_NOT_2D_CHESS = _Graphic3d.Graphic3d_NOT_2D_CHESS
Graphic3d_NOT_2D_UNKNOWN = _Graphic3d.Graphic3d_NOT_2D_UNKNOWN
Graphic3d_NameOfMaterial_Brass = _Graphic3d.Graphic3d_NameOfMaterial_Brass
Graphic3d_NameOfMaterial_Bronze = _Graphic3d.Graphic3d_NameOfMaterial_Bronze
Graphic3d_NameOfMaterial_Copper = _Graphic3d.Graphic3d_NameOfMaterial_Copper
Graphic3d_NameOfMaterial_Gold = _Graphic3d.Graphic3d_NameOfMaterial_Gold
Graphic3d_NameOfMaterial_Pewter = _Graphic3d.Graphic3d_NameOfMaterial_Pewter
Graphic3d_NameOfMaterial_Plastered = _Graphic3d.Graphic3d_NameOfMaterial_Plastered
Graphic3d_NameOfMaterial_Plastified = _Graphic3d.Graphic3d_NameOfMaterial_Plastified
Graphic3d_NameOfMaterial_Silver = _Graphic3d.Graphic3d_NameOfMaterial_Silver
Graphic3d_NameOfMaterial_Steel = _Graphic3d.Graphic3d_NameOfMaterial_Steel
Graphic3d_NameOfMaterial_Stone = _Graphic3d.Graphic3d_NameOfMaterial_Stone
Graphic3d_NameOfMaterial_ShinyPlastified = _Graphic3d.Graphic3d_NameOfMaterial_ShinyPlastified
Graphic3d_NameOfMaterial_Satin = _Graphic3d.Graphic3d_NameOfMaterial_Satin
Graphic3d_NameOfMaterial_Metalized = _Graphic3d.Graphic3d_NameOfMaterial_Metalized
Graphic3d_NameOfMaterial_Ionized = _Graphic3d.Graphic3d_NameOfMaterial_Ionized
Graphic3d_NameOfMaterial_Chrome = _Graphic3d.Graphic3d_NameOfMaterial_Chrome
Graphic3d_NameOfMaterial_Aluminum = _Graphic3d.Graphic3d_NameOfMaterial_Aluminum
Graphic3d_NameOfMaterial_Obsidian = _Graphic3d.Graphic3d_NameOfMaterial_Obsidian
Graphic3d_NameOfMaterial_Neon = _Graphic3d.Graphic3d_NameOfMaterial_Neon
Graphic3d_NameOfMaterial_Jade = _Graphic3d.Graphic3d_NameOfMaterial_Jade
Graphic3d_NameOfMaterial_Charcoal = _Graphic3d.Graphic3d_NameOfMaterial_Charcoal
Graphic3d_NameOfMaterial_Water = _Graphic3d.Graphic3d_NameOfMaterial_Water
Graphic3d_NameOfMaterial_Glass = _Graphic3d.Graphic3d_NameOfMaterial_Glass
Graphic3d_NameOfMaterial_Diamond = _Graphic3d.Graphic3d_NameOfMaterial_Diamond
Graphic3d_NameOfMaterial_Transparent = _Graphic3d.Graphic3d_NameOfMaterial_Transparent
Graphic3d_NameOfMaterial_DEFAULT = _Graphic3d.Graphic3d_NameOfMaterial_DEFAULT
Graphic3d_NameOfMaterial_UserDefined = _Graphic3d.Graphic3d_NameOfMaterial_UserDefined
Graphic3d_NOM_BRASS = _Graphic3d.Graphic3d_NOM_BRASS
Graphic3d_NOM_BRONZE = _Graphic3d.Graphic3d_NOM_BRONZE
Graphic3d_NOM_COPPER = _Graphic3d.Graphic3d_NOM_COPPER
Graphic3d_NOM_GOLD = _Graphic3d.Graphic3d_NOM_GOLD
Graphic3d_NOM_PEWTER = _Graphic3d.Graphic3d_NOM_PEWTER
Graphic3d_NOM_PLASTER = _Graphic3d.Graphic3d_NOM_PLASTER
Graphic3d_NOM_PLASTIC = _Graphic3d.Graphic3d_NOM_PLASTIC
Graphic3d_NOM_SILVER = _Graphic3d.Graphic3d_NOM_SILVER
Graphic3d_NOM_STEEL = _Graphic3d.Graphic3d_NOM_STEEL
Graphic3d_NOM_STONE = _Graphic3d.Graphic3d_NOM_STONE
Graphic3d_NOM_SHINY_PLASTIC = _Graphic3d.Graphic3d_NOM_SHINY_PLASTIC
Graphic3d_NOM_SATIN = _Graphic3d.Graphic3d_NOM_SATIN
Graphic3d_NOM_METALIZED = _Graphic3d.Graphic3d_NOM_METALIZED
Graphic3d_NOM_NEON_GNC = _Graphic3d.Graphic3d_NOM_NEON_GNC
Graphic3d_NOM_CHROME = _Graphic3d.Graphic3d_NOM_CHROME
Graphic3d_NOM_ALUMINIUM = _Graphic3d.Graphic3d_NOM_ALUMINIUM
Graphic3d_NOM_OBSIDIAN = _Graphic3d.Graphic3d_NOM_OBSIDIAN
Graphic3d_NOM_NEON_PHC = _Graphic3d.Graphic3d_NOM_NEON_PHC
Graphic3d_NOM_JADE = _Graphic3d.Graphic3d_NOM_JADE
Graphic3d_NOM_CHARCOAL = _Graphic3d.Graphic3d_NOM_CHARCOAL
Graphic3d_NOM_WATER = _Graphic3d.Graphic3d_NOM_WATER
Graphic3d_NOM_GLASS = _Graphic3d.Graphic3d_NOM_GLASS
Graphic3d_NOM_DIAMOND = _Graphic3d.Graphic3d_NOM_DIAMOND
Graphic3d_NOM_TRANSPARENT = _Graphic3d.Graphic3d_NOM_TRANSPARENT
Graphic3d_NOM_DEFAULT = _Graphic3d.Graphic3d_NOM_DEFAULT
Graphic3d_NOM_UserDefined = _Graphic3d.Graphic3d_NOM_UserDefined
Graphic3d_TOTF_NEAREST = _Graphic3d.Graphic3d_TOTF_NEAREST
Graphic3d_TOTF_BILINEAR = _Graphic3d.Graphic3d_TOTF_BILINEAR
Graphic3d_TOTF_TRILINEAR = _Graphic3d.Graphic3d_TOTF_TRILINEAR
Graphic3d_TOV_WIREFRAME = _Graphic3d.Graphic3d_TOV_WIREFRAME
Graphic3d_TOV_SHADING = _Graphic3d.Graphic3d_TOV_SHADING
Graphic3d_TOLS_AMBIENT = _Graphic3d.Graphic3d_TOLS_AMBIENT
Graphic3d_TOLS_DIRECTIONAL = _Graphic3d.Graphic3d_TOLS_DIRECTIONAL
Graphic3d_TOLS_POSITIONAL = _Graphic3d.Graphic3d_TOLS_POSITIONAL
Graphic3d_TOLS_SPOT = _Graphic3d.Graphic3d_TOLS_SPOT
V3d_AMBIENT = _Graphic3d.V3d_AMBIENT
V3d_DIRECTIONAL = _Graphic3d.V3d_DIRECTIONAL
V3d_POSITIONAL = _Graphic3d.V3d_POSITIONAL
V3d_SPOT = _Graphic3d.V3d_SPOT
Graphic3d_TypeOfLightSource_NB = _Graphic3d.Graphic3d_TypeOfLightSource_NB
Graphic3d_NOT_ENV_CLOUDS = _Graphic3d.Graphic3d_NOT_ENV_CLOUDS
Graphic3d_NOT_ENV_CV = _Graphic3d.Graphic3d_NOT_ENV_CV
Graphic3d_NOT_ENV_MEDIT = _Graphic3d.Graphic3d_NOT_ENV_MEDIT
Graphic3d_NOT_ENV_PEARL = _Graphic3d.Graphic3d_NOT_ENV_PEARL
Graphic3d_NOT_ENV_SKY1 = _Graphic3d.Graphic3d_NOT_ENV_SKY1
Graphic3d_NOT_ENV_SKY2 = _Graphic3d.Graphic3d_NOT_ENV_SKY2
Graphic3d_NOT_ENV_LINES = _Graphic3d.Graphic3d_NOT_ENV_LINES
Graphic3d_NOT_ENV_ROAD = _Graphic3d.Graphic3d_NOT_ENV_ROAD
Graphic3d_NOT_ENV_UNKNOWN = _Graphic3d.Graphic3d_NOT_ENV_UNKNOWN


class Graphic3d_ClipState(IntEnum):
	Graphic3d_ClipState_Out = 0
	Graphic3d_ClipState_In = 1
	Graphic3d_ClipState_On = 2
Graphic3d_ClipState_Out = Graphic3d_ClipState.Graphic3d_ClipState_Out
Graphic3d_ClipState_In = Graphic3d_ClipState.Graphic3d_ClipState_In
Graphic3d_ClipState_On = Graphic3d_ClipState.Graphic3d_ClipState_On

class Graphic3d_BufferType(IntEnum):
	Graphic3d_BT_RGB = 0
	Graphic3d_BT_RGBA = 1
	Graphic3d_BT_Depth = 2
	Graphic3d_BT_RGB_RayTraceHdrLeft = 3
	Graphic3d_BT_Red = 4
Graphic3d_BT_RGB = Graphic3d_BufferType.Graphic3d_BT_RGB
Graphic3d_BT_RGBA = Graphic3d_BufferType.Graphic3d_BT_RGBA
Graphic3d_BT_Depth = Graphic3d_BufferType.Graphic3d_BT_Depth
Graphic3d_BT_RGB_RayTraceHdrLeft = Graphic3d_BufferType.Graphic3d_BT_RGB_RayTraceHdrLeft
Graphic3d_BT_Red = Graphic3d_BufferType.Graphic3d_BT_Red

class Graphic3d_FrameStatsTimer(IntEnum):
	Graphic3d_FrameStatsTimer_ElapsedFrame = 0
	Graphic3d_FrameStatsTimer_CpuFrame = 1
	Graphic3d_FrameStatsTimer_CpuCulling = 2
	Graphic3d_FrameStatsTimer_CpuPicking = 3
	Graphic3d_FrameStatsTimer_CpuDynamics = 4
Graphic3d_FrameStatsTimer_ElapsedFrame = Graphic3d_FrameStatsTimer.Graphic3d_FrameStatsTimer_ElapsedFrame
Graphic3d_FrameStatsTimer_CpuFrame = Graphic3d_FrameStatsTimer.Graphic3d_FrameStatsTimer_CpuFrame
Graphic3d_FrameStatsTimer_CpuCulling = Graphic3d_FrameStatsTimer.Graphic3d_FrameStatsTimer_CpuCulling
Graphic3d_FrameStatsTimer_CpuPicking = Graphic3d_FrameStatsTimer.Graphic3d_FrameStatsTimer_CpuPicking
Graphic3d_FrameStatsTimer_CpuDynamics = Graphic3d_FrameStatsTimer.Graphic3d_FrameStatsTimer_CpuDynamics

class Graphic3d_VerticalTextAlignment(IntEnum):
	Graphic3d_VTA_BOTTOM = 0
	Graphic3d_VTA_CENTER = 1
	Graphic3d_VTA_TOP = 2
	Graphic3d_VTA_TOPFIRSTLINE = 3
Graphic3d_VTA_BOTTOM = Graphic3d_VerticalTextAlignment.Graphic3d_VTA_BOTTOM
Graphic3d_VTA_CENTER = Graphic3d_VerticalTextAlignment.Graphic3d_VTA_CENTER
Graphic3d_VTA_TOP = Graphic3d_VerticalTextAlignment.Graphic3d_VTA_TOP
Graphic3d_VTA_TOPFIRSTLINE = Graphic3d_VerticalTextAlignment.Graphic3d_VTA_TOPFIRSTLINE

class Graphic3d_LevelOfTextureAnisotropy(IntEnum):
	Graphic3d_LOTA_OFF = 0
	Graphic3d_LOTA_FAST = 1
	Graphic3d_LOTA_MIDDLE = 2
	Graphic3d_LOTA_QUALITY = 3
Graphic3d_LOTA_OFF = Graphic3d_LevelOfTextureAnisotropy.Graphic3d_LOTA_OFF
Graphic3d_LOTA_FAST = Graphic3d_LevelOfTextureAnisotropy.Graphic3d_LOTA_FAST
Graphic3d_LOTA_MIDDLE = Graphic3d_LevelOfTextureAnisotropy.Graphic3d_LOTA_MIDDLE
Graphic3d_LOTA_QUALITY = Graphic3d_LevelOfTextureAnisotropy.Graphic3d_LOTA_QUALITY

class Graphic3d_TypeOfLimit(IntEnum):
	Graphic3d_TypeOfLimit_MaxNbLights = 0
	Graphic3d_TypeOfLimit_MaxNbClipPlanes = 1
	Graphic3d_TypeOfLimit_MaxNbViews = 2
	Graphic3d_TypeOfLimit_MaxTextureSize = 3
	Graphic3d_TypeOfLimit_MaxViewDumpSizeX = 4
	Graphic3d_TypeOfLimit_MaxViewDumpSizeY = 5
	Graphic3d_TypeOfLimit_MaxCombinedTextureUnits = 6
	Graphic3d_TypeOfLimit_MaxMsaa = 7
	Graphic3d_TypeOfLimit_HasPBR = 8
	Graphic3d_TypeOfLimit_HasRayTracing = 9
	Graphic3d_TypeOfLimit_HasRayTracingTextures = 10
	Graphic3d_TypeOfLimit_HasRayTracingAdaptiveSampling = 11
	Graphic3d_TypeOfLimit_HasRayTracingAdaptiveSamplingAtomic = 12
	Graphic3d_TypeOfLimit_HasSRGB = 13
	Graphic3d_TypeOfLimit_HasBlendedOit = 14
	Graphic3d_TypeOfLimit_HasBlendedOitMsaa = 15
	Graphic3d_TypeOfLimit_HasFlatShading = 16
	Graphic3d_TypeOfLimit_HasMeshEdges = 17
	Graphic3d_TypeOfLimit_IsWorkaroundFBO = 18
	Graphic3d_TypeOfLimit_NB = 19
Graphic3d_TypeOfLimit_MaxNbLights = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_MaxNbLights
Graphic3d_TypeOfLimit_MaxNbClipPlanes = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_MaxNbClipPlanes
Graphic3d_TypeOfLimit_MaxNbViews = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_MaxNbViews
Graphic3d_TypeOfLimit_MaxTextureSize = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_MaxTextureSize
Graphic3d_TypeOfLimit_MaxViewDumpSizeX = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_MaxViewDumpSizeX
Graphic3d_TypeOfLimit_MaxViewDumpSizeY = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_MaxViewDumpSizeY
Graphic3d_TypeOfLimit_MaxCombinedTextureUnits = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_MaxCombinedTextureUnits
Graphic3d_TypeOfLimit_MaxMsaa = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_MaxMsaa
Graphic3d_TypeOfLimit_HasPBR = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_HasPBR
Graphic3d_TypeOfLimit_HasRayTracing = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_HasRayTracing
Graphic3d_TypeOfLimit_HasRayTracingTextures = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_HasRayTracingTextures
Graphic3d_TypeOfLimit_HasRayTracingAdaptiveSampling = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_HasRayTracingAdaptiveSampling
Graphic3d_TypeOfLimit_HasRayTracingAdaptiveSamplingAtomic = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_HasRayTracingAdaptiveSamplingAtomic
Graphic3d_TypeOfLimit_HasSRGB = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_HasSRGB
Graphic3d_TypeOfLimit_HasBlendedOit = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_HasBlendedOit
Graphic3d_TypeOfLimit_HasBlendedOitMsaa = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_HasBlendedOitMsaa
Graphic3d_TypeOfLimit_HasFlatShading = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_HasFlatShading
Graphic3d_TypeOfLimit_HasMeshEdges = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_HasMeshEdges
Graphic3d_TypeOfLimit_IsWorkaroundFBO = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_IsWorkaroundFBO
Graphic3d_TypeOfLimit_NB = Graphic3d_TypeOfLimit.Graphic3d_TypeOfLimit_NB

class Graphic3d_DiagnosticInfo(IntEnum):
	Graphic3d_DiagnosticInfo_Device = 1
	Graphic3d_DiagnosticInfo_FrameBuffer = 2
	Graphic3d_DiagnosticInfo_Limits = 4
	Graphic3d_DiagnosticInfo_Memory = 8
	Graphic3d_DiagnosticInfo_NativePlatform = 16
	Graphic3d_DiagnosticInfo_Extensions = 32
	Graphic3d_DiagnosticInfo_Short = Graphic3d_DiagnosticInfo_Device | Graphic3d_DiagnosticInfo_FrameBuffer | Graphic3d_DiagnosticInfo_Limits
	Graphic3d_DiagnosticInfo_Basic = Graphic3d_DiagnosticInfo_Short | Graphic3d_DiagnosticInfo_NativePlatform | Graphic3d_DiagnosticInfo_Memory
	Graphic3d_DiagnosticInfo_Complete = Graphic3d_DiagnosticInfo_Basic | Graphic3d_DiagnosticInfo_Extensions
Graphic3d_DiagnosticInfo_Device = Graphic3d_DiagnosticInfo.Graphic3d_DiagnosticInfo_Device
Graphic3d_DiagnosticInfo_FrameBuffer = Graphic3d_DiagnosticInfo.Graphic3d_DiagnosticInfo_FrameBuffer
Graphic3d_DiagnosticInfo_Limits = Graphic3d_DiagnosticInfo.Graphic3d_DiagnosticInfo_Limits
Graphic3d_DiagnosticInfo_Memory = Graphic3d_DiagnosticInfo.Graphic3d_DiagnosticInfo_Memory
Graphic3d_DiagnosticInfo_NativePlatform = Graphic3d_DiagnosticInfo.Graphic3d_DiagnosticInfo_NativePlatform
Graphic3d_DiagnosticInfo_Extensions = Graphic3d_DiagnosticInfo.Graphic3d_DiagnosticInfo_Extensions
Graphic3d_DiagnosticInfo_Short = Graphic3d_DiagnosticInfo.Graphic3d_DiagnosticInfo_Short
Graphic3d_DiagnosticInfo_Basic = Graphic3d_DiagnosticInfo.Graphic3d_DiagnosticInfo_Basic
Graphic3d_DiagnosticInfo_Complete = Graphic3d_DiagnosticInfo.Graphic3d_DiagnosticInfo_Complete

class Graphic3d_StereoMode(IntEnum):
	Graphic3d_StereoMode_QuadBuffer = 0
	Graphic3d_StereoMode_Anaglyph = 1
	Graphic3d_StereoMode_RowInterlaced = 2
	Graphic3d_StereoMode_ColumnInterlaced = 3
	Graphic3d_StereoMode_ChessBoard = 4
	Graphic3d_StereoMode_SideBySide = 5
	Graphic3d_StereoMode_OverUnder = 6
	Graphic3d_StereoMode_SoftPageFlip = 7
	Graphic3d_StereoMode_OpenVR = 8
	Graphic3d_StereoMode_NB = 9
Graphic3d_StereoMode_QuadBuffer = Graphic3d_StereoMode.Graphic3d_StereoMode_QuadBuffer
Graphic3d_StereoMode_Anaglyph = Graphic3d_StereoMode.Graphic3d_StereoMode_Anaglyph
Graphic3d_StereoMode_RowInterlaced = Graphic3d_StereoMode.Graphic3d_StereoMode_RowInterlaced
Graphic3d_StereoMode_ColumnInterlaced = Graphic3d_StereoMode.Graphic3d_StereoMode_ColumnInterlaced
Graphic3d_StereoMode_ChessBoard = Graphic3d_StereoMode.Graphic3d_StereoMode_ChessBoard
Graphic3d_StereoMode_SideBySide = Graphic3d_StereoMode.Graphic3d_StereoMode_SideBySide
Graphic3d_StereoMode_OverUnder = Graphic3d_StereoMode.Graphic3d_StereoMode_OverUnder
Graphic3d_StereoMode_SoftPageFlip = Graphic3d_StereoMode.Graphic3d_StereoMode_SoftPageFlip
Graphic3d_StereoMode_OpenVR = Graphic3d_StereoMode.Graphic3d_StereoMode_OpenVR
Graphic3d_StereoMode_NB = Graphic3d_StereoMode.Graphic3d_StereoMode_NB

class Graphic3d_AlphaMode(IntEnum):
	Graphic3d_AlphaMode_Opaque = 0
	Graphic3d_AlphaMode_Mask = 1
	Graphic3d_AlphaMode_Blend = 2
	Graphic3d_AlphaMode_BlendAuto = - 1
Graphic3d_AlphaMode_Opaque = Graphic3d_AlphaMode.Graphic3d_AlphaMode_Opaque
Graphic3d_AlphaMode_Mask = Graphic3d_AlphaMode.Graphic3d_AlphaMode_Mask
Graphic3d_AlphaMode_Blend = Graphic3d_AlphaMode.Graphic3d_AlphaMode_Blend
Graphic3d_AlphaMode_BlendAuto = Graphic3d_AlphaMode.Graphic3d_AlphaMode_BlendAuto

class Graphic3d_FresnelModel(IntEnum):
	Graphic3d_FM_SCHLICK = 0
	Graphic3d_FM_CONSTANT = 1
	Graphic3d_FM_CONDUCTOR = 2
	Graphic3d_FM_DIELECTRIC = 3
Graphic3d_FM_SCHLICK = Graphic3d_FresnelModel.Graphic3d_FM_SCHLICK
Graphic3d_FM_CONSTANT = Graphic3d_FresnelModel.Graphic3d_FM_CONSTANT
Graphic3d_FM_CONDUCTOR = Graphic3d_FresnelModel.Graphic3d_FM_CONDUCTOR
Graphic3d_FM_DIELECTRIC = Graphic3d_FresnelModel.Graphic3d_FM_DIELECTRIC

class Graphic3d_TypeOfReflection(IntEnum):
	Graphic3d_TOR_AMBIENT = 0
	Graphic3d_TOR_DIFFUSE = 1
	Graphic3d_TOR_SPECULAR = 2
	Graphic3d_TOR_EMISSION = 3
Graphic3d_TOR_AMBIENT = Graphic3d_TypeOfReflection.Graphic3d_TOR_AMBIENT
Graphic3d_TOR_DIFFUSE = Graphic3d_TypeOfReflection.Graphic3d_TOR_DIFFUSE
Graphic3d_TOR_SPECULAR = Graphic3d_TypeOfReflection.Graphic3d_TOR_SPECULAR
Graphic3d_TOR_EMISSION = Graphic3d_TypeOfReflection.Graphic3d_TOR_EMISSION

class Graphic3d_RenderTransparentMethod(IntEnum):
	Graphic3d_RTM_BLEND_UNORDERED = 0
	Graphic3d_RTM_BLEND_OIT = 1
Graphic3d_RTM_BLEND_UNORDERED = Graphic3d_RenderTransparentMethod.Graphic3d_RTM_BLEND_UNORDERED
Graphic3d_RTM_BLEND_OIT = Graphic3d_RenderTransparentMethod.Graphic3d_RTM_BLEND_OIT

class Graphic3d_RenderingMode(IntEnum):
	Graphic3d_RM_RASTERIZATION = 0
	Graphic3d_RM_RAYTRACING = 1
Graphic3d_RM_RASTERIZATION = Graphic3d_RenderingMode.Graphic3d_RM_RASTERIZATION
Graphic3d_RM_RAYTRACING = Graphic3d_RenderingMode.Graphic3d_RM_RAYTRACING

class Graphic3d_FrameStatsCounter(IntEnum):
	Graphic3d_FrameStatsCounter_NbLayers = 0
	Graphic3d_FrameStatsCounter_NbStructs = 1
	Graphic3d_FrameStatsCounter_EstimatedBytesGeom = 2
	Graphic3d_FrameStatsCounter_EstimatedBytesFbos = 3
	Graphic3d_FrameStatsCounter_EstimatedBytesTextures = 4
	Graphic3d_FrameStatsCounter_NbLayersNotCulled = 5
	Graphic3d_FrameStatsCounter_NbStructsNotCulled = 6
	Graphic3d_FrameStatsCounter_NbGroupsNotCulled = 7
	Graphic3d_FrameStatsCounter_NbElemsNotCulled = 8
	Graphic3d_FrameStatsCounter_NbElemsFillNotCulled = 9
	Graphic3d_FrameStatsCounter_NbElemsLineNotCulled = 10
	Graphic3d_FrameStatsCounter_NbElemsPointNotCulled = 11
	Graphic3d_FrameStatsCounter_NbElemsTextNotCulled = 12
	Graphic3d_FrameStatsCounter_NbTrianglesNotCulled = 13
	Graphic3d_FrameStatsCounter_NbLinesNotCulled = 14
	Graphic3d_FrameStatsCounter_NbPointsNotCulled = 15
	Graphic3d_FrameStatsCounter_NbLayersImmediate = 16
	Graphic3d_FrameStatsCounter_NbStructsImmediate = 17
	Graphic3d_FrameStatsCounter_NbGroupsImmediate = 18
	Graphic3d_FrameStatsCounter_NbElemsImmediate = 19
	Graphic3d_FrameStatsCounter_NbElemsFillImmediate = 20
	Graphic3d_FrameStatsCounter_NbElemsLineImmediate = 21
	Graphic3d_FrameStatsCounter_NbElemsPointImmediate = 22
	Graphic3d_FrameStatsCounter_NbElemsTextImmediate = 23
	Graphic3d_FrameStatsCounter_NbTrianglesImmediate = 24
	Graphic3d_FrameStatsCounter_NbLinesImmediate = 25
	Graphic3d_FrameStatsCounter_NbPointsImmediate = 26
Graphic3d_FrameStatsCounter_NbLayers = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbLayers
Graphic3d_FrameStatsCounter_NbStructs = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbStructs
Graphic3d_FrameStatsCounter_EstimatedBytesGeom = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_EstimatedBytesGeom
Graphic3d_FrameStatsCounter_EstimatedBytesFbos = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_EstimatedBytesFbos
Graphic3d_FrameStatsCounter_EstimatedBytesTextures = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_EstimatedBytesTextures
Graphic3d_FrameStatsCounter_NbLayersNotCulled = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbLayersNotCulled
Graphic3d_FrameStatsCounter_NbStructsNotCulled = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbStructsNotCulled
Graphic3d_FrameStatsCounter_NbGroupsNotCulled = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbGroupsNotCulled
Graphic3d_FrameStatsCounter_NbElemsNotCulled = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbElemsNotCulled
Graphic3d_FrameStatsCounter_NbElemsFillNotCulled = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbElemsFillNotCulled
Graphic3d_FrameStatsCounter_NbElemsLineNotCulled = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbElemsLineNotCulled
Graphic3d_FrameStatsCounter_NbElemsPointNotCulled = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbElemsPointNotCulled
Graphic3d_FrameStatsCounter_NbElemsTextNotCulled = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbElemsTextNotCulled
Graphic3d_FrameStatsCounter_NbTrianglesNotCulled = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbTrianglesNotCulled
Graphic3d_FrameStatsCounter_NbLinesNotCulled = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbLinesNotCulled
Graphic3d_FrameStatsCounter_NbPointsNotCulled = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbPointsNotCulled
Graphic3d_FrameStatsCounter_NbLayersImmediate = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbLayersImmediate
Graphic3d_FrameStatsCounter_NbStructsImmediate = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbStructsImmediate
Graphic3d_FrameStatsCounter_NbGroupsImmediate = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbGroupsImmediate
Graphic3d_FrameStatsCounter_NbElemsImmediate = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbElemsImmediate
Graphic3d_FrameStatsCounter_NbElemsFillImmediate = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbElemsFillImmediate
Graphic3d_FrameStatsCounter_NbElemsLineImmediate = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbElemsLineImmediate
Graphic3d_FrameStatsCounter_NbElemsPointImmediate = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbElemsPointImmediate
Graphic3d_FrameStatsCounter_NbElemsTextImmediate = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbElemsTextImmediate
Graphic3d_FrameStatsCounter_NbTrianglesImmediate = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbTrianglesImmediate
Graphic3d_FrameStatsCounter_NbLinesImmediate = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbLinesImmediate
Graphic3d_FrameStatsCounter_NbPointsImmediate = Graphic3d_FrameStatsCounter.Graphic3d_FrameStatsCounter_NbPointsImmediate

class Graphic3d_TypeOfBackground(IntEnum):
	Graphic3d_TOB_NONE = - 1
	Graphic3d_TOB_GRADIENT = 1
	Graphic3d_TOB_TEXTURE = 2
	Graphic3d_TOB_CUBEMAP = 3
Graphic3d_TOB_NONE = Graphic3d_TypeOfBackground.Graphic3d_TOB_NONE
Graphic3d_TOB_GRADIENT = Graphic3d_TypeOfBackground.Graphic3d_TOB_GRADIENT
Graphic3d_TOB_TEXTURE = Graphic3d_TypeOfBackground.Graphic3d_TOB_TEXTURE
Graphic3d_TOB_CUBEMAP = Graphic3d_TypeOfBackground.Graphic3d_TOB_CUBEMAP

class Graphic3d_TypeOfStructure(IntEnum):
	Graphic3d_TOS_WIREFRAME = 0
	Graphic3d_TOS_SHADING = 1
	Graphic3d_TOS_COMPUTED = 2
	Graphic3d_TOS_ALL = 3
Graphic3d_TOS_WIREFRAME = Graphic3d_TypeOfStructure.Graphic3d_TOS_WIREFRAME
Graphic3d_TOS_SHADING = Graphic3d_TypeOfStructure.Graphic3d_TOS_SHADING
Graphic3d_TOS_COMPUTED = Graphic3d_TypeOfStructure.Graphic3d_TOS_COMPUTED
Graphic3d_TOS_ALL = Graphic3d_TypeOfStructure.Graphic3d_TOS_ALL

class Graphic3d_TypeOfTextureMode(IntEnum):
	Graphic3d_TOTM_OBJECT = 0
	Graphic3d_TOTM_SPHERE = 1
	Graphic3d_TOTM_EYE = 2
	Graphic3d_TOTM_MANUAL = 3
	Graphic3d_TOTM_SPRITE = 4
Graphic3d_TOTM_OBJECT = Graphic3d_TypeOfTextureMode.Graphic3d_TOTM_OBJECT
Graphic3d_TOTM_SPHERE = Graphic3d_TypeOfTextureMode.Graphic3d_TOTM_SPHERE
Graphic3d_TOTM_EYE = Graphic3d_TypeOfTextureMode.Graphic3d_TOTM_EYE
Graphic3d_TOTM_MANUAL = Graphic3d_TypeOfTextureMode.Graphic3d_TOTM_MANUAL
Graphic3d_TOTM_SPRITE = Graphic3d_TypeOfTextureMode.Graphic3d_TOTM_SPRITE

class Graphic3d_TypeOfShaderObject(IntEnum):
	Graphic3d_TOS_VERTEX = 1
	Graphic3d_TOS_TESS_CONTROL = 2
	Graphic3d_TOS_TESS_EVALUATION = 4
	Graphic3d_TOS_GEOMETRY = 8
	Graphic3d_TOS_FRAGMENT = 16
	Graphic3d_TOS_COMPUTE = 32
Graphic3d_TOS_VERTEX = Graphic3d_TypeOfShaderObject.Graphic3d_TOS_VERTEX
Graphic3d_TOS_TESS_CONTROL = Graphic3d_TypeOfShaderObject.Graphic3d_TOS_TESS_CONTROL
Graphic3d_TOS_TESS_EVALUATION = Graphic3d_TypeOfShaderObject.Graphic3d_TOS_TESS_EVALUATION
Graphic3d_TOS_GEOMETRY = Graphic3d_TypeOfShaderObject.Graphic3d_TOS_GEOMETRY
Graphic3d_TOS_FRAGMENT = Graphic3d_TypeOfShaderObject.Graphic3d_TOS_FRAGMENT
Graphic3d_TOS_COMPUTE = Graphic3d_TypeOfShaderObject.Graphic3d_TOS_COMPUTE

class Graphic3d_ZLayerSetting(IntEnum):
	Graphic3d_ZLayerDepthTest = 1
	Graphic3d_ZLayerDepthWrite = 2
	Graphic3d_ZLayerDepthClear = 4
	Graphic3d_ZLayerDepthOffset = 8
Graphic3d_ZLayerDepthTest = Graphic3d_ZLayerSetting.Graphic3d_ZLayerDepthTest
Graphic3d_ZLayerDepthWrite = Graphic3d_ZLayerSetting.Graphic3d_ZLayerDepthWrite
Graphic3d_ZLayerDepthClear = Graphic3d_ZLayerSetting.Graphic3d_ZLayerDepthClear
Graphic3d_ZLayerDepthOffset = Graphic3d_ZLayerSetting.Graphic3d_ZLayerDepthOffset

class Graphic3d_CappingFlags(IntEnum):
	Graphic3d_CappingFlags_None = 0
	Graphic3d_CappingFlags_ObjectMaterial = 1
	Graphic3d_CappingFlags_ObjectTexture = 2
	Graphic3d_CappingFlags_ObjectShader = 8
	Graphic3d_CappingFlags_ObjectAspect = Graphic3d_CappingFlags_ObjectMaterial | Graphic3d_CappingFlags_ObjectTexture | Graphic3d_CappingFlags_ObjectShader
Graphic3d_CappingFlags_None = Graphic3d_CappingFlags.Graphic3d_CappingFlags_None
Graphic3d_CappingFlags_ObjectMaterial = Graphic3d_CappingFlags.Graphic3d_CappingFlags_ObjectMaterial
Graphic3d_CappingFlags_ObjectTexture = Graphic3d_CappingFlags.Graphic3d_CappingFlags_ObjectTexture
Graphic3d_CappingFlags_ObjectShader = Graphic3d_CappingFlags.Graphic3d_CappingFlags_ObjectShader
Graphic3d_CappingFlags_ObjectAspect = Graphic3d_CappingFlags.Graphic3d_CappingFlags_ObjectAspect

class Graphic3d_NameOfTexturePlane(IntEnum):
	Graphic3d_NOTP_XY = 0
	Graphic3d_NOTP_YZ = 1
	Graphic3d_NOTP_ZX = 2
	Graphic3d_NOTP_UNKNOWN = 3
Graphic3d_NOTP_XY = Graphic3d_NameOfTexturePlane.Graphic3d_NOTP_XY
Graphic3d_NOTP_YZ = Graphic3d_NameOfTexturePlane.Graphic3d_NOTP_YZ
Graphic3d_NOTP_ZX = Graphic3d_NameOfTexturePlane.Graphic3d_NOTP_ZX
Graphic3d_NOTP_UNKNOWN = Graphic3d_NameOfTexturePlane.Graphic3d_NOTP_UNKNOWN

class Graphic3d_TypeOfShadingModel(IntEnum):
	Graphic3d_TOSM_DEFAULT = - 1
	Graphic3d_TOSM_UNLIT = 0
	Graphic3d_TOSM_FACET = 1
	Graphic3d_TOSM_VERTEX = 2
	Graphic3d_TOSM_FRAGMENT = 3
	Graphic3d_TOSM_PBR = 4
	Graphic3d_TOSM_PBR_FACET = 5
	Graphic3d_TOSM_NONE = Graphic3d_TOSM_UNLIT
	V3d_COLOR = Graphic3d_TOSM_NONE
	V3d_FLAT = Graphic3d_TOSM_FACET
	V3d_GOURAUD = Graphic3d_TOSM_VERTEX
	V3d_PHONG = Graphic3d_TOSM_FRAGMENT
Graphic3d_TOSM_DEFAULT = Graphic3d_TypeOfShadingModel.Graphic3d_TOSM_DEFAULT
Graphic3d_TOSM_UNLIT = Graphic3d_TypeOfShadingModel.Graphic3d_TOSM_UNLIT
Graphic3d_TOSM_FACET = Graphic3d_TypeOfShadingModel.Graphic3d_TOSM_FACET
Graphic3d_TOSM_VERTEX = Graphic3d_TypeOfShadingModel.Graphic3d_TOSM_VERTEX
Graphic3d_TOSM_FRAGMENT = Graphic3d_TypeOfShadingModel.Graphic3d_TOSM_FRAGMENT
Graphic3d_TOSM_PBR = Graphic3d_TypeOfShadingModel.Graphic3d_TOSM_PBR
Graphic3d_TOSM_PBR_FACET = Graphic3d_TypeOfShadingModel.Graphic3d_TOSM_PBR_FACET
Graphic3d_TOSM_NONE = Graphic3d_TypeOfShadingModel.Graphic3d_TOSM_NONE
V3d_COLOR = Graphic3d_TypeOfShadingModel.V3d_COLOR
V3d_FLAT = Graphic3d_TypeOfShadingModel.V3d_FLAT
V3d_GOURAUD = Graphic3d_TypeOfShadingModel.V3d_GOURAUD
V3d_PHONG = Graphic3d_TypeOfShadingModel.V3d_PHONG

class Graphic3d_TypeOfPrimitiveArray(IntEnum):
	Graphic3d_TOPA_UNDEFINED = 0
	Graphic3d_TOPA_POINTS = 1
	Graphic3d_TOPA_SEGMENTS = 2
	Graphic3d_TOPA_POLYLINES = 3
	Graphic3d_TOPA_TRIANGLES = 4
	Graphic3d_TOPA_TRIANGLESTRIPS = 5
	Graphic3d_TOPA_TRIANGLEFANS = 6
	Graphic3d_TOPA_LINES_ADJACENCY = 7
	Graphic3d_TOPA_LINE_STRIP_ADJACENCY = 8
	Graphic3d_TOPA_TRIANGLES_ADJACENCY = 9
	Graphic3d_TOPA_TRIANGLE_STRIP_ADJACENCY = 10
	Graphic3d_TOPA_QUADRANGLES = 11
	Graphic3d_TOPA_QUADRANGLESTRIPS = 12
	Graphic3d_TOPA_POLYGONS = 13
Graphic3d_TOPA_UNDEFINED = Graphic3d_TypeOfPrimitiveArray.Graphic3d_TOPA_UNDEFINED
Graphic3d_TOPA_POINTS = Graphic3d_TypeOfPrimitiveArray.Graphic3d_TOPA_POINTS
Graphic3d_TOPA_SEGMENTS = Graphic3d_TypeOfPrimitiveArray.Graphic3d_TOPA_SEGMENTS
Graphic3d_TOPA_POLYLINES = Graphic3d_TypeOfPrimitiveArray.Graphic3d_TOPA_POLYLINES
Graphic3d_TOPA_TRIANGLES = Graphic3d_TypeOfPrimitiveArray.Graphic3d_TOPA_TRIANGLES
Graphic3d_TOPA_TRIANGLESTRIPS = Graphic3d_TypeOfPrimitiveArray.Graphic3d_TOPA_TRIANGLESTRIPS
Graphic3d_TOPA_TRIANGLEFANS = Graphic3d_TypeOfPrimitiveArray.Graphic3d_TOPA_TRIANGLEFANS
Graphic3d_TOPA_LINES_ADJACENCY = Graphic3d_TypeOfPrimitiveArray.Graphic3d_TOPA_LINES_ADJACENCY
Graphic3d_TOPA_LINE_STRIP_ADJACENCY = Graphic3d_TypeOfPrimitiveArray.Graphic3d_TOPA_LINE_STRIP_ADJACENCY
Graphic3d_TOPA_TRIANGLES_ADJACENCY = Graphic3d_TypeOfPrimitiveArray.Graphic3d_TOPA_TRIANGLES_ADJACENCY
Graphic3d_TOPA_TRIANGLE_STRIP_ADJACENCY = Graphic3d_TypeOfPrimitiveArray.Graphic3d_TOPA_TRIANGLE_STRIP_ADJACENCY
Graphic3d_TOPA_QUADRANGLES = Graphic3d_TypeOfPrimitiveArray.Graphic3d_TOPA_QUADRANGLES
Graphic3d_TOPA_QUADRANGLESTRIPS = Graphic3d_TypeOfPrimitiveArray.Graphic3d_TOPA_QUADRANGLESTRIPS
Graphic3d_TOPA_POLYGONS = Graphic3d_TypeOfPrimitiveArray.Graphic3d_TOPA_POLYGONS

class Graphic3d_ToneMappingMethod(IntEnum):
	Graphic3d_ToneMappingMethod_Disabled = 0
	Graphic3d_ToneMappingMethod_Filmic = 1
Graphic3d_ToneMappingMethod_Disabled = Graphic3d_ToneMappingMethod.Graphic3d_ToneMappingMethod_Disabled
Graphic3d_ToneMappingMethod_Filmic = Graphic3d_ToneMappingMethod.Graphic3d_ToneMappingMethod_Filmic

class Graphic3d_TypeOfTexture(IntEnum):
	Graphic3d_TOT_1D = 0
	Graphic3d_TOT_2D = 1
	Graphic3d_TOT_2D_MIPMAP = 2
	Graphic3d_TOT_CUBEMAP = 3
Graphic3d_TOT_1D = Graphic3d_TypeOfTexture.Graphic3d_TOT_1D
Graphic3d_TOT_2D = Graphic3d_TypeOfTexture.Graphic3d_TOT_2D
Graphic3d_TOT_2D_MIPMAP = Graphic3d_TypeOfTexture.Graphic3d_TOT_2D_MIPMAP
Graphic3d_TOT_CUBEMAP = Graphic3d_TypeOfTexture.Graphic3d_TOT_CUBEMAP

class Graphic3d_TypeOfMaterial(IntEnum):
	Graphic3d_MATERIAL_ASPECT = 0
	Graphic3d_MATERIAL_PHYSIC = 1
Graphic3d_MATERIAL_ASPECT = Graphic3d_TypeOfMaterial.Graphic3d_MATERIAL_ASPECT
Graphic3d_MATERIAL_PHYSIC = Graphic3d_TypeOfMaterial.Graphic3d_MATERIAL_PHYSIC

class Graphic3d_TypeOfBackfacingModel(IntEnum):
	Graphic3d_TOBM_AUTOMATIC = 0
	Graphic3d_TOBM_FORCE = 1
	Graphic3d_TOBM_DISABLE = 2
Graphic3d_TOBM_AUTOMATIC = Graphic3d_TypeOfBackfacingModel.Graphic3d_TOBM_AUTOMATIC
Graphic3d_TOBM_FORCE = Graphic3d_TypeOfBackfacingModel.Graphic3d_TOBM_FORCE
Graphic3d_TOBM_DISABLE = Graphic3d_TypeOfBackfacingModel.Graphic3d_TOBM_DISABLE

class Graphic3d_HorizontalTextAlignment(IntEnum):
	Graphic3d_HTA_LEFT = 0
	Graphic3d_HTA_CENTER = 1
	Graphic3d_HTA_RIGHT = 2
Graphic3d_HTA_LEFT = Graphic3d_HorizontalTextAlignment.Graphic3d_HTA_LEFT
Graphic3d_HTA_CENTER = Graphic3d_HorizontalTextAlignment.Graphic3d_HTA_CENTER
Graphic3d_HTA_RIGHT = Graphic3d_HorizontalTextAlignment.Graphic3d_HTA_RIGHT

class Graphic3d_TransModeFlags(IntEnum):
	Graphic3d_TMF_None = 0
	Graphic3d_TMF_ZoomPers = 2
	Graphic3d_TMF_RotatePers = 8
	Graphic3d_TMF_TriedronPers = 32
	Graphic3d_TMF_2d = 64
	Graphic3d_TMF_ZoomRotatePers = Graphic3d_TMF_ZoomPers | Graphic3d_TMF_RotatePers
Graphic3d_TMF_None = Graphic3d_TransModeFlags.Graphic3d_TMF_None
Graphic3d_TMF_ZoomPers = Graphic3d_TransModeFlags.Graphic3d_TMF_ZoomPers
Graphic3d_TMF_RotatePers = Graphic3d_TransModeFlags.Graphic3d_TMF_RotatePers
Graphic3d_TMF_TriedronPers = Graphic3d_TransModeFlags.Graphic3d_TMF_TriedronPers
Graphic3d_TMF_2d = Graphic3d_TransModeFlags.Graphic3d_TMF_2d
Graphic3d_TMF_ZoomRotatePers = Graphic3d_TransModeFlags.Graphic3d_TMF_ZoomRotatePers

class Graphic3d_TypeOfAnswer(IntEnum):
	Graphic3d_TOA_YES = 0
	Graphic3d_TOA_NO = 1
	Graphic3d_TOA_COMPUTE = 2
Graphic3d_TOA_YES = Graphic3d_TypeOfAnswer.Graphic3d_TOA_YES
Graphic3d_TOA_NO = Graphic3d_TypeOfAnswer.Graphic3d_TOA_NO
Graphic3d_TOA_COMPUTE = Graphic3d_TypeOfAnswer.Graphic3d_TOA_COMPUTE

class Graphic3d_GroupAspect(IntEnum):
	Graphic3d_ASPECT_LINE = 0
	Graphic3d_ASPECT_TEXT = 1
	Graphic3d_ASPECT_MARKER = 2
	Graphic3d_ASPECT_FILL_AREA = 3
Graphic3d_ASPECT_LINE = Graphic3d_GroupAspect.Graphic3d_ASPECT_LINE
Graphic3d_ASPECT_TEXT = Graphic3d_GroupAspect.Graphic3d_ASPECT_TEXT
Graphic3d_ASPECT_MARKER = Graphic3d_GroupAspect.Graphic3d_ASPECT_MARKER
Graphic3d_ASPECT_FILL_AREA = Graphic3d_GroupAspect.Graphic3d_ASPECT_FILL_AREA

class Graphic3d_TextureUnit(IntEnum):
	Graphic3d_TextureUnit_0 = 0
	Graphic3d_TextureUnit_1 = 1
	Graphic3d_TextureUnit_2 = 2
	Graphic3d_TextureUnit_3 = 3
	Graphic3d_TextureUnit_4 = 4
	Graphic3d_TextureUnit_5 = 5
	Graphic3d_TextureUnit_6 = 6
	Graphic3d_TextureUnit_7 = 7
	Graphic3d_TextureUnit_8 = 8
	Graphic3d_TextureUnit_9 = 9
	Graphic3d_TextureUnit_10 = 10
	Graphic3d_TextureUnit_11 = 11
	Graphic3d_TextureUnit_12 = 12
	Graphic3d_TextureUnit_13 = 13
	Graphic3d_TextureUnit_14 = 14
	Graphic3d_TextureUnit_15 = 15
	Graphic3d_TextureUnit_BaseColor = Graphic3d_TextureUnit_0
	Graphic3d_TextureUnit_Emissive = Graphic3d_TextureUnit_1
	Graphic3d_TextureUnit_Occlusion = Graphic3d_TextureUnit_2
	Graphic3d_TextureUnit_Normal = Graphic3d_TextureUnit_3
	Graphic3d_TextureUnit_MetallicRoughness = Graphic3d_TextureUnit_4
	Graphic3d_TextureUnit_EnvMap = Graphic3d_TextureUnit_0
	Graphic3d_TextureUnit_PointSprite = Graphic3d_TextureUnit_1
	Graphic3d_TextureUnit_PbrEnvironmentLUT = - 3
	Graphic3d_TextureUnit_PbrIblDiffuseSH = - 2
	Graphic3d_TextureUnit_PbrIblSpecular = - 1
Graphic3d_TextureUnit_0 = Graphic3d_TextureUnit.Graphic3d_TextureUnit_0
Graphic3d_TextureUnit_1 = Graphic3d_TextureUnit.Graphic3d_TextureUnit_1
Graphic3d_TextureUnit_2 = Graphic3d_TextureUnit.Graphic3d_TextureUnit_2
Graphic3d_TextureUnit_3 = Graphic3d_TextureUnit.Graphic3d_TextureUnit_3
Graphic3d_TextureUnit_4 = Graphic3d_TextureUnit.Graphic3d_TextureUnit_4
Graphic3d_TextureUnit_5 = Graphic3d_TextureUnit.Graphic3d_TextureUnit_5
Graphic3d_TextureUnit_6 = Graphic3d_TextureUnit.Graphic3d_TextureUnit_6
Graphic3d_TextureUnit_7 = Graphic3d_TextureUnit.Graphic3d_TextureUnit_7
Graphic3d_TextureUnit_8 = Graphic3d_TextureUnit.Graphic3d_TextureUnit_8
Graphic3d_TextureUnit_9 = Graphic3d_TextureUnit.Graphic3d_TextureUnit_9
Graphic3d_TextureUnit_10 = Graphic3d_TextureUnit.Graphic3d_TextureUnit_10
Graphic3d_TextureUnit_11 = Graphic3d_TextureUnit.Graphic3d_TextureUnit_11
Graphic3d_TextureUnit_12 = Graphic3d_TextureUnit.Graphic3d_TextureUnit_12
Graphic3d_TextureUnit_13 = Graphic3d_TextureUnit.Graphic3d_TextureUnit_13
Graphic3d_TextureUnit_14 = Graphic3d_TextureUnit.Graphic3d_TextureUnit_14
Graphic3d_TextureUnit_15 = Graphic3d_TextureUnit.Graphic3d_TextureUnit_15
Graphic3d_TextureUnit_BaseColor = Graphic3d_TextureUnit.Graphic3d_TextureUnit_BaseColor
Graphic3d_TextureUnit_Emissive = Graphic3d_TextureUnit.Graphic3d_TextureUnit_Emissive
Graphic3d_TextureUnit_Occlusion = Graphic3d_TextureUnit.Graphic3d_TextureUnit_Occlusion
Graphic3d_TextureUnit_Normal = Graphic3d_TextureUnit.Graphic3d_TextureUnit_Normal
Graphic3d_TextureUnit_MetallicRoughness = Graphic3d_TextureUnit.Graphic3d_TextureUnit_MetallicRoughness
Graphic3d_TextureUnit_EnvMap = Graphic3d_TextureUnit.Graphic3d_TextureUnit_EnvMap
Graphic3d_TextureUnit_PointSprite = Graphic3d_TextureUnit.Graphic3d_TextureUnit_PointSprite
Graphic3d_TextureUnit_PbrEnvironmentLUT = Graphic3d_TextureUnit.Graphic3d_TextureUnit_PbrEnvironmentLUT
Graphic3d_TextureUnit_PbrIblDiffuseSH = Graphic3d_TextureUnit.Graphic3d_TextureUnit_PbrIblDiffuseSH
Graphic3d_TextureUnit_PbrIblSpecular = Graphic3d_TextureUnit.Graphic3d_TextureUnit_PbrIblSpecular

class Graphic3d_TypeOfConnection(IntEnum):
	Graphic3d_TOC_ANCESTOR = 0
	Graphic3d_TOC_DESCENDANT = 1
Graphic3d_TOC_ANCESTOR = Graphic3d_TypeOfConnection.Graphic3d_TOC_ANCESTOR
Graphic3d_TOC_DESCENDANT = Graphic3d_TypeOfConnection.Graphic3d_TOC_DESCENDANT

class Graphic3d_NameOfTexture1D(IntEnum):
	Graphic3d_NOT_1D_ELEVATION = 0
	Graphic3d_NOT_1D_UNKNOWN = 1
Graphic3d_NOT_1D_ELEVATION = Graphic3d_NameOfTexture1D.Graphic3d_NOT_1D_ELEVATION
Graphic3d_NOT_1D_UNKNOWN = Graphic3d_NameOfTexture1D.Graphic3d_NOT_1D_UNKNOWN

class Graphic3d_TextPath(IntEnum):
	Graphic3d_TP_UP = 0
	Graphic3d_TP_DOWN = 1
	Graphic3d_TP_LEFT = 2
	Graphic3d_TP_RIGHT = 3
Graphic3d_TP_UP = Graphic3d_TextPath.Graphic3d_TP_UP
Graphic3d_TP_DOWN = Graphic3d_TextPath.Graphic3d_TP_DOWN
Graphic3d_TP_LEFT = Graphic3d_TextPath.Graphic3d_TP_LEFT
Graphic3d_TP_RIGHT = Graphic3d_TextPath.Graphic3d_TP_RIGHT

class Graphic3d_CubeMapSide(IntEnum):
	Graphic3d_CMS_POS_X = 0
	Graphic3d_CMS_NEG_X = 1
	Graphic3d_CMS_POS_Y = 2
	Graphic3d_CMS_NEG_Y = 3
	Graphic3d_CMS_POS_Z = 4
	Graphic3d_CMS_NEG_Z = 5
Graphic3d_CMS_POS_X = Graphic3d_CubeMapSide.Graphic3d_CMS_POS_X
Graphic3d_CMS_NEG_X = Graphic3d_CubeMapSide.Graphic3d_CMS_NEG_X
Graphic3d_CMS_POS_Y = Graphic3d_CubeMapSide.Graphic3d_CMS_POS_Y
Graphic3d_CMS_NEG_Y = Graphic3d_CubeMapSide.Graphic3d_CMS_NEG_Y
Graphic3d_CMS_POS_Z = Graphic3d_CubeMapSide.Graphic3d_CMS_POS_Z
Graphic3d_CMS_NEG_Z = Graphic3d_CubeMapSide.Graphic3d_CMS_NEG_Z

class Graphic3d_TextureSetBits(IntEnum):
	Graphic3d_TextureSetBits_NONE = 0
	Graphic3d_TextureSetBits_BaseColor = Graphic3d_TextureUnit_BaseColor
	Graphic3d_TextureSetBits_Emissive = Graphic3d_TextureUnit_Emissive
	Graphic3d_TextureSetBits_Occlusion = Graphic3d_TextureUnit_Occlusion
	Graphic3d_TextureSetBits_Normal = Graphic3d_TextureUnit_Normal
	Graphic3d_TextureSetBits_MetallicRoughness = Graphic3d_TextureUnit_MetallicRoughness
Graphic3d_TextureSetBits_NONE = Graphic3d_TextureSetBits.Graphic3d_TextureSetBits_NONE
Graphic3d_TextureSetBits_BaseColor = Graphic3d_TextureSetBits.Graphic3d_TextureSetBits_BaseColor
Graphic3d_TextureSetBits_Emissive = Graphic3d_TextureSetBits.Graphic3d_TextureSetBits_Emissive
Graphic3d_TextureSetBits_Occlusion = Graphic3d_TextureSetBits.Graphic3d_TextureSetBits_Occlusion
Graphic3d_TextureSetBits_Normal = Graphic3d_TextureSetBits.Graphic3d_TextureSetBits_Normal
Graphic3d_TextureSetBits_MetallicRoughness = Graphic3d_TextureSetBits.Graphic3d_TextureSetBits_MetallicRoughness

class Graphic3d_TypeOfComposition(IntEnum):
	Graphic3d_TOC_REPLACE = 0
	Graphic3d_TOC_POSTCONCATENATE = 1
Graphic3d_TOC_REPLACE = Graphic3d_TypeOfComposition.Graphic3d_TOC_REPLACE
Graphic3d_TOC_POSTCONCATENATE = Graphic3d_TypeOfComposition.Graphic3d_TOC_POSTCONCATENATE

class Graphic3d_TypeOfAttribute(IntEnum):
	Graphic3d_TOA_POS = 0
	Graphic3d_TOA_NORM = 1
	Graphic3d_TOA_UV = 2
	Graphic3d_TOA_COLOR = 3
	Graphic3d_TOA_CUSTOM = 4
Graphic3d_TOA_POS = Graphic3d_TypeOfAttribute.Graphic3d_TOA_POS
Graphic3d_TOA_NORM = Graphic3d_TypeOfAttribute.Graphic3d_TOA_NORM
Graphic3d_TOA_UV = Graphic3d_TypeOfAttribute.Graphic3d_TOA_UV
Graphic3d_TOA_COLOR = Graphic3d_TypeOfAttribute.Graphic3d_TOA_COLOR
Graphic3d_TOA_CUSTOM = Graphic3d_TypeOfAttribute.Graphic3d_TOA_CUSTOM

class Graphic3d_TypeOfData(IntEnum):
	Graphic3d_TOD_USHORT = 0
	Graphic3d_TOD_UINT = 1
	Graphic3d_TOD_VEC2 = 2
	Graphic3d_TOD_VEC3 = 3
	Graphic3d_TOD_VEC4 = 4
	Graphic3d_TOD_VEC4UB = 5
	Graphic3d_TOD_FLOAT = 6
Graphic3d_TOD_USHORT = Graphic3d_TypeOfData.Graphic3d_TOD_USHORT
Graphic3d_TOD_UINT = Graphic3d_TypeOfData.Graphic3d_TOD_UINT
Graphic3d_TOD_VEC2 = Graphic3d_TypeOfData.Graphic3d_TOD_VEC2
Graphic3d_TOD_VEC3 = Graphic3d_TypeOfData.Graphic3d_TOD_VEC3
Graphic3d_TOD_VEC4 = Graphic3d_TypeOfData.Graphic3d_TOD_VEC4
Graphic3d_TOD_VEC4UB = Graphic3d_TypeOfData.Graphic3d_TOD_VEC4UB
Graphic3d_TOD_FLOAT = Graphic3d_TypeOfData.Graphic3d_TOD_FLOAT

class Graphic3d_NameOfTexture2D(IntEnum):
	Graphic3d_NOT_2D_MATRA = 0
	Graphic3d_NOT_2D_ALIENSKIN = 1
	Graphic3d_NOT_2D_BLUE_ROCK = 2
	Graphic3d_NOT_2D_BLUEWHITE_PAPER = 3
	Graphic3d_NOT_2D_BRUSHED = 4
	Graphic3d_NOT_2D_BUBBLES = 5
	Graphic3d_NOT_2D_BUMP = 6
	Graphic3d_NOT_2D_CAST = 7
	Graphic3d_NOT_2D_CHIPBD = 8
	Graphic3d_NOT_2D_CLOUDS = 9
	Graphic3d_NOT_2D_FLESH = 10
	Graphic3d_NOT_2D_FLOOR = 11
	Graphic3d_NOT_2D_GALVNISD = 12
	Graphic3d_NOT_2D_GRASS = 13
	Graphic3d_NOT_2D_ALUMINUM = 14
	Graphic3d_NOT_2D_ROCK = 15
	Graphic3d_NOT_2D_KNURL = 16
	Graphic3d_NOT_2D_MAPLE = 17
	Graphic3d_NOT_2D_MARBLE = 18
	Graphic3d_NOT_2D_MOTTLED = 19
	Graphic3d_NOT_2D_RAIN = 20
	Graphic3d_NOT_2D_CHESS = 21
	Graphic3d_NOT_2D_UNKNOWN = 22
Graphic3d_NOT_2D_MATRA = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_MATRA
Graphic3d_NOT_2D_ALIENSKIN = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_ALIENSKIN
Graphic3d_NOT_2D_BLUE_ROCK = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_BLUE_ROCK
Graphic3d_NOT_2D_BLUEWHITE_PAPER = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_BLUEWHITE_PAPER
Graphic3d_NOT_2D_BRUSHED = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_BRUSHED
Graphic3d_NOT_2D_BUBBLES = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_BUBBLES
Graphic3d_NOT_2D_BUMP = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_BUMP
Graphic3d_NOT_2D_CAST = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_CAST
Graphic3d_NOT_2D_CHIPBD = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_CHIPBD
Graphic3d_NOT_2D_CLOUDS = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_CLOUDS
Graphic3d_NOT_2D_FLESH = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_FLESH
Graphic3d_NOT_2D_FLOOR = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_FLOOR
Graphic3d_NOT_2D_GALVNISD = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_GALVNISD
Graphic3d_NOT_2D_GRASS = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_GRASS
Graphic3d_NOT_2D_ALUMINUM = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_ALUMINUM
Graphic3d_NOT_2D_ROCK = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_ROCK
Graphic3d_NOT_2D_KNURL = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_KNURL
Graphic3d_NOT_2D_MAPLE = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_MAPLE
Graphic3d_NOT_2D_MARBLE = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_MARBLE
Graphic3d_NOT_2D_MOTTLED = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_MOTTLED
Graphic3d_NOT_2D_RAIN = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_RAIN
Graphic3d_NOT_2D_CHESS = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_CHESS
Graphic3d_NOT_2D_UNKNOWN = Graphic3d_NameOfTexture2D.Graphic3d_NOT_2D_UNKNOWN

class Graphic3d_NameOfMaterial(IntEnum):
	Graphic3d_NameOfMaterial_Brass = 0
	Graphic3d_NameOfMaterial_Bronze = 1
	Graphic3d_NameOfMaterial_Copper = 2
	Graphic3d_NameOfMaterial_Gold = 3
	Graphic3d_NameOfMaterial_Pewter = 4
	Graphic3d_NameOfMaterial_Plastered = 5
	Graphic3d_NameOfMaterial_Plastified = 6
	Graphic3d_NameOfMaterial_Silver = 7
	Graphic3d_NameOfMaterial_Steel = 8
	Graphic3d_NameOfMaterial_Stone = 9
	Graphic3d_NameOfMaterial_ShinyPlastified = 10
	Graphic3d_NameOfMaterial_Satin = 11
	Graphic3d_NameOfMaterial_Metalized = 12
	Graphic3d_NameOfMaterial_Ionized = 13
	Graphic3d_NameOfMaterial_Chrome = 14
	Graphic3d_NameOfMaterial_Aluminum = 15
	Graphic3d_NameOfMaterial_Obsidian = 16
	Graphic3d_NameOfMaterial_Neon = 17
	Graphic3d_NameOfMaterial_Jade = 18
	Graphic3d_NameOfMaterial_Charcoal = 19
	Graphic3d_NameOfMaterial_Water = 20
	Graphic3d_NameOfMaterial_Glass = 21
	Graphic3d_NameOfMaterial_Diamond = 22
	Graphic3d_NameOfMaterial_Transparent = 23
	Graphic3d_NameOfMaterial_DEFAULT = 24
	Graphic3d_NameOfMaterial_UserDefined = 25
	Graphic3d_NOM_BRASS = Graphic3d_NameOfMaterial_Brass
	Graphic3d_NOM_BRONZE = Graphic3d_NameOfMaterial_Bronze
	Graphic3d_NOM_COPPER = Graphic3d_NameOfMaterial_Copper
	Graphic3d_NOM_GOLD = Graphic3d_NameOfMaterial_Gold
	Graphic3d_NOM_PEWTER = Graphic3d_NameOfMaterial_Pewter
	Graphic3d_NOM_PLASTER = Graphic3d_NameOfMaterial_Plastered
	Graphic3d_NOM_PLASTIC = Graphic3d_NameOfMaterial_Plastified
	Graphic3d_NOM_SILVER = Graphic3d_NameOfMaterial_Silver
	Graphic3d_NOM_STEEL = Graphic3d_NameOfMaterial_Steel
	Graphic3d_NOM_STONE = Graphic3d_NameOfMaterial_Stone
	Graphic3d_NOM_SHINY_PLASTIC = Graphic3d_NameOfMaterial_ShinyPlastified
	Graphic3d_NOM_SATIN = Graphic3d_NameOfMaterial_Satin
	Graphic3d_NOM_METALIZED = Graphic3d_NameOfMaterial_Metalized
	Graphic3d_NOM_NEON_GNC = Graphic3d_NameOfMaterial_Ionized
	Graphic3d_NOM_CHROME = Graphic3d_NameOfMaterial_Chrome
	Graphic3d_NOM_ALUMINIUM = Graphic3d_NameOfMaterial_Aluminum
	Graphic3d_NOM_OBSIDIAN = Graphic3d_NameOfMaterial_Obsidian
	Graphic3d_NOM_NEON_PHC = Graphic3d_NameOfMaterial_Neon
	Graphic3d_NOM_JADE = Graphic3d_NameOfMaterial_Jade
	Graphic3d_NOM_CHARCOAL = Graphic3d_NameOfMaterial_Charcoal
	Graphic3d_NOM_WATER = Graphic3d_NameOfMaterial_Water
	Graphic3d_NOM_GLASS = Graphic3d_NameOfMaterial_Glass
	Graphic3d_NOM_DIAMOND = Graphic3d_NameOfMaterial_Diamond
	Graphic3d_NOM_TRANSPARENT = Graphic3d_NameOfMaterial_Transparent
	Graphic3d_NOM_DEFAULT = Graphic3d_NameOfMaterial_DEFAULT
	Graphic3d_NOM_UserDefined = Graphic3d_NameOfMaterial_UserDefined
Graphic3d_NameOfMaterial_Brass = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Brass
Graphic3d_NameOfMaterial_Bronze = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Bronze
Graphic3d_NameOfMaterial_Copper = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Copper
Graphic3d_NameOfMaterial_Gold = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Gold
Graphic3d_NameOfMaterial_Pewter = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Pewter
Graphic3d_NameOfMaterial_Plastered = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Plastered
Graphic3d_NameOfMaterial_Plastified = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Plastified
Graphic3d_NameOfMaterial_Silver = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Silver
Graphic3d_NameOfMaterial_Steel = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Steel
Graphic3d_NameOfMaterial_Stone = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Stone
Graphic3d_NameOfMaterial_ShinyPlastified = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_ShinyPlastified
Graphic3d_NameOfMaterial_Satin = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Satin
Graphic3d_NameOfMaterial_Metalized = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Metalized
Graphic3d_NameOfMaterial_Ionized = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Ionized
Graphic3d_NameOfMaterial_Chrome = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Chrome
Graphic3d_NameOfMaterial_Aluminum = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Aluminum
Graphic3d_NameOfMaterial_Obsidian = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Obsidian
Graphic3d_NameOfMaterial_Neon = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Neon
Graphic3d_NameOfMaterial_Jade = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Jade
Graphic3d_NameOfMaterial_Charcoal = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Charcoal
Graphic3d_NameOfMaterial_Water = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Water
Graphic3d_NameOfMaterial_Glass = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Glass
Graphic3d_NameOfMaterial_Diamond = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Diamond
Graphic3d_NameOfMaterial_Transparent = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_Transparent
Graphic3d_NameOfMaterial_DEFAULT = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_DEFAULT
Graphic3d_NameOfMaterial_UserDefined = Graphic3d_NameOfMaterial.Graphic3d_NameOfMaterial_UserDefined
Graphic3d_NOM_BRASS = Graphic3d_NameOfMaterial.Graphic3d_NOM_BRASS
Graphic3d_NOM_BRONZE = Graphic3d_NameOfMaterial.Graphic3d_NOM_BRONZE
Graphic3d_NOM_COPPER = Graphic3d_NameOfMaterial.Graphic3d_NOM_COPPER
Graphic3d_NOM_GOLD = Graphic3d_NameOfMaterial.Graphic3d_NOM_GOLD
Graphic3d_NOM_PEWTER = Graphic3d_NameOfMaterial.Graphic3d_NOM_PEWTER
Graphic3d_NOM_PLASTER = Graphic3d_NameOfMaterial.Graphic3d_NOM_PLASTER
Graphic3d_NOM_PLASTIC = Graphic3d_NameOfMaterial.Graphic3d_NOM_PLASTIC
Graphic3d_NOM_SILVER = Graphic3d_NameOfMaterial.Graphic3d_NOM_SILVER
Graphic3d_NOM_STEEL = Graphic3d_NameOfMaterial.Graphic3d_NOM_STEEL
Graphic3d_NOM_STONE = Graphic3d_NameOfMaterial.Graphic3d_NOM_STONE
Graphic3d_NOM_SHINY_PLASTIC = Graphic3d_NameOfMaterial.Graphic3d_NOM_SHINY_PLASTIC
Graphic3d_NOM_SATIN = Graphic3d_NameOfMaterial.Graphic3d_NOM_SATIN
Graphic3d_NOM_METALIZED = Graphic3d_NameOfMaterial.Graphic3d_NOM_METALIZED
Graphic3d_NOM_NEON_GNC = Graphic3d_NameOfMaterial.Graphic3d_NOM_NEON_GNC
Graphic3d_NOM_CHROME = Graphic3d_NameOfMaterial.Graphic3d_NOM_CHROME
Graphic3d_NOM_ALUMINIUM = Graphic3d_NameOfMaterial.Graphic3d_NOM_ALUMINIUM
Graphic3d_NOM_OBSIDIAN = Graphic3d_NameOfMaterial.Graphic3d_NOM_OBSIDIAN
Graphic3d_NOM_NEON_PHC = Graphic3d_NameOfMaterial.Graphic3d_NOM_NEON_PHC
Graphic3d_NOM_JADE = Graphic3d_NameOfMaterial.Graphic3d_NOM_JADE
Graphic3d_NOM_CHARCOAL = Graphic3d_NameOfMaterial.Graphic3d_NOM_CHARCOAL
Graphic3d_NOM_WATER = Graphic3d_NameOfMaterial.Graphic3d_NOM_WATER
Graphic3d_NOM_GLASS = Graphic3d_NameOfMaterial.Graphic3d_NOM_GLASS
Graphic3d_NOM_DIAMOND = Graphic3d_NameOfMaterial.Graphic3d_NOM_DIAMOND
Graphic3d_NOM_TRANSPARENT = Graphic3d_NameOfMaterial.Graphic3d_NOM_TRANSPARENT
Graphic3d_NOM_DEFAULT = Graphic3d_NameOfMaterial.Graphic3d_NOM_DEFAULT
Graphic3d_NOM_UserDefined = Graphic3d_NameOfMaterial.Graphic3d_NOM_UserDefined

class Graphic3d_TypeOfTextureFilter(IntEnum):
	Graphic3d_TOTF_NEAREST = 0
	Graphic3d_TOTF_BILINEAR = 1
	Graphic3d_TOTF_TRILINEAR = 2
Graphic3d_TOTF_NEAREST = Graphic3d_TypeOfTextureFilter.Graphic3d_TOTF_NEAREST
Graphic3d_TOTF_BILINEAR = Graphic3d_TypeOfTextureFilter.Graphic3d_TOTF_BILINEAR
Graphic3d_TOTF_TRILINEAR = Graphic3d_TypeOfTextureFilter.Graphic3d_TOTF_TRILINEAR

class Graphic3d_TypeOfVisualization(IntEnum):
	Graphic3d_TOV_WIREFRAME = 0
	Graphic3d_TOV_SHADING = 1
Graphic3d_TOV_WIREFRAME = Graphic3d_TypeOfVisualization.Graphic3d_TOV_WIREFRAME
Graphic3d_TOV_SHADING = Graphic3d_TypeOfVisualization.Graphic3d_TOV_SHADING

class Graphic3d_TypeOfLightSource(IntEnum):
	Graphic3d_TOLS_AMBIENT = 0
	Graphic3d_TOLS_DIRECTIONAL = 1
	Graphic3d_TOLS_POSITIONAL = 2
	Graphic3d_TOLS_SPOT = 3
	V3d_AMBIENT = Graphic3d_TOLS_AMBIENT
	V3d_DIRECTIONAL = Graphic3d_TOLS_DIRECTIONAL
	V3d_POSITIONAL = Graphic3d_TOLS_POSITIONAL
	V3d_SPOT = Graphic3d_TOLS_SPOT
Graphic3d_TOLS_AMBIENT = Graphic3d_TypeOfLightSource.Graphic3d_TOLS_AMBIENT
Graphic3d_TOLS_DIRECTIONAL = Graphic3d_TypeOfLightSource.Graphic3d_TOLS_DIRECTIONAL
Graphic3d_TOLS_POSITIONAL = Graphic3d_TypeOfLightSource.Graphic3d_TOLS_POSITIONAL
Graphic3d_TOLS_SPOT = Graphic3d_TypeOfLightSource.Graphic3d_TOLS_SPOT
V3d_AMBIENT = Graphic3d_TypeOfLightSource.V3d_AMBIENT
V3d_DIRECTIONAL = Graphic3d_TypeOfLightSource.V3d_DIRECTIONAL
V3d_POSITIONAL = Graphic3d_TypeOfLightSource.V3d_POSITIONAL
V3d_SPOT = Graphic3d_TypeOfLightSource.V3d_SPOT

class Graphic3d_NameOfTextureEnv(IntEnum):
	Graphic3d_NOT_ENV_CLOUDS = 0
	Graphic3d_NOT_ENV_CV = 1
	Graphic3d_NOT_ENV_MEDIT = 2
	Graphic3d_NOT_ENV_PEARL = 3
	Graphic3d_NOT_ENV_SKY1 = 4
	Graphic3d_NOT_ENV_SKY2 = 5
	Graphic3d_NOT_ENV_LINES = 6
	Graphic3d_NOT_ENV_ROAD = 7
	Graphic3d_NOT_ENV_UNKNOWN = 8
Graphic3d_NOT_ENV_CLOUDS = Graphic3d_NameOfTextureEnv.Graphic3d_NOT_ENV_CLOUDS
Graphic3d_NOT_ENV_CV = Graphic3d_NameOfTextureEnv.Graphic3d_NOT_ENV_CV
Graphic3d_NOT_ENV_MEDIT = Graphic3d_NameOfTextureEnv.Graphic3d_NOT_ENV_MEDIT
Graphic3d_NOT_ENV_PEARL = Graphic3d_NameOfTextureEnv.Graphic3d_NOT_ENV_PEARL
Graphic3d_NOT_ENV_SKY1 = Graphic3d_NameOfTextureEnv.Graphic3d_NOT_ENV_SKY1
Graphic3d_NOT_ENV_SKY2 = Graphic3d_NameOfTextureEnv.Graphic3d_NOT_ENV_SKY2
Graphic3d_NOT_ENV_LINES = Graphic3d_NameOfTextureEnv.Graphic3d_NOT_ENV_LINES
Graphic3d_NOT_ENV_ROAD = Graphic3d_NameOfTextureEnv.Graphic3d_NOT_ENV_ROAD
Graphic3d_NOT_ENV_UNKNOWN = Graphic3d_NameOfTextureEnv.Graphic3d_NOT_ENV_UNKNOWN


def Handle_Graphic3d_ArrayOfPrimitives_Create() -> "opencascade::handle< Graphic3d_ArrayOfPrimitives >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfPrimitives_Create()

def Handle_Graphic3d_ArrayOfPrimitives_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_ArrayOfPrimitives >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfPrimitives_DownCast(t)

def Handle_Graphic3d_ArrayOfPrimitives_IsNull(t: "opencascade::handle< Graphic3d_ArrayOfPrimitives > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_ArrayOfPrimitives_IsNull(t)

def Handle_Graphic3d_Aspects_Create() -> "opencascade::handle< Graphic3d_Aspects >":
    return _Graphic3d.Handle_Graphic3d_Aspects_Create()

def Handle_Graphic3d_Aspects_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_Aspects >":
    return _Graphic3d.Handle_Graphic3d_Aspects_DownCast(t)

def Handle_Graphic3d_Aspects_IsNull(t: "opencascade::handle< Graphic3d_Aspects > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_Aspects_IsNull(t)

def Handle_Graphic3d_BoundBuffer_Create() -> "opencascade::handle< Graphic3d_BoundBuffer >":
    return _Graphic3d.Handle_Graphic3d_BoundBuffer_Create()

def Handle_Graphic3d_BoundBuffer_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_BoundBuffer >":
    return _Graphic3d.Handle_Graphic3d_BoundBuffer_DownCast(t)

def Handle_Graphic3d_BoundBuffer_IsNull(t: "opencascade::handle< Graphic3d_BoundBuffer > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_BoundBuffer_IsNull(t)

def Handle_Graphic3d_CLight_Create() -> "opencascade::handle< Graphic3d_CLight >":
    return _Graphic3d.Handle_Graphic3d_CLight_Create()

def Handle_Graphic3d_CLight_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_CLight >":
    return _Graphic3d.Handle_Graphic3d_CLight_DownCast(t)

def Handle_Graphic3d_CLight_IsNull(t: "opencascade::handle< Graphic3d_CLight > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_CLight_IsNull(t)

def Handle_Graphic3d_CStructure_Create() -> "opencascade::handle< Graphic3d_CStructure >":
    return _Graphic3d.Handle_Graphic3d_CStructure_Create()

def Handle_Graphic3d_CStructure_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_CStructure >":
    return _Graphic3d.Handle_Graphic3d_CStructure_DownCast(t)

def Handle_Graphic3d_CStructure_IsNull(t: "opencascade::handle< Graphic3d_CStructure > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_CStructure_IsNull(t)

def Handle_Graphic3d_Camera_Create() -> "opencascade::handle< Graphic3d_Camera >":
    return _Graphic3d.Handle_Graphic3d_Camera_Create()

def Handle_Graphic3d_Camera_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_Camera >":
    return _Graphic3d.Handle_Graphic3d_Camera_DownCast(t)

def Handle_Graphic3d_Camera_IsNull(t: "opencascade::handle< Graphic3d_Camera > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_Camera_IsNull(t)

def Handle_Graphic3d_ClipPlane_Create() -> "opencascade::handle< Graphic3d_ClipPlane >":
    return _Graphic3d.Handle_Graphic3d_ClipPlane_Create()

def Handle_Graphic3d_ClipPlane_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_ClipPlane >":
    return _Graphic3d.Handle_Graphic3d_ClipPlane_DownCast(t)

def Handle_Graphic3d_ClipPlane_IsNull(t: "opencascade::handle< Graphic3d_ClipPlane > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_ClipPlane_IsNull(t)

def Handle_Graphic3d_DataStructureManager_Create() -> "opencascade::handle< Graphic3d_DataStructureManager >":
    return _Graphic3d.Handle_Graphic3d_DataStructureManager_Create()

def Handle_Graphic3d_DataStructureManager_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_DataStructureManager >":
    return _Graphic3d.Handle_Graphic3d_DataStructureManager_DownCast(t)

def Handle_Graphic3d_DataStructureManager_IsNull(t: "opencascade::handle< Graphic3d_DataStructureManager > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_DataStructureManager_IsNull(t)

def Handle_Graphic3d_FrameStats_Create() -> "opencascade::handle< Graphic3d_FrameStats >":
    return _Graphic3d.Handle_Graphic3d_FrameStats_Create()

def Handle_Graphic3d_FrameStats_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_FrameStats >":
    return _Graphic3d.Handle_Graphic3d_FrameStats_DownCast(t)

def Handle_Graphic3d_FrameStats_IsNull(t: "opencascade::handle< Graphic3d_FrameStats > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_FrameStats_IsNull(t)

def Handle_Graphic3d_GraphicDriver_Create() -> "opencascade::handle< Graphic3d_GraphicDriver >":
    return _Graphic3d.Handle_Graphic3d_GraphicDriver_Create()

def Handle_Graphic3d_GraphicDriver_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_GraphicDriver >":
    return _Graphic3d.Handle_Graphic3d_GraphicDriver_DownCast(t)

def Handle_Graphic3d_GraphicDriver_IsNull(t: "opencascade::handle< Graphic3d_GraphicDriver > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_GraphicDriver_IsNull(t)

def Handle_Graphic3d_Group_Create() -> "opencascade::handle< Graphic3d_Group >":
    return _Graphic3d.Handle_Graphic3d_Group_Create()

def Handle_Graphic3d_Group_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_Group >":
    return _Graphic3d.Handle_Graphic3d_Group_DownCast(t)

def Handle_Graphic3d_Group_IsNull(t: "opencascade::handle< Graphic3d_Group > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_Group_IsNull(t)

def Handle_Graphic3d_HatchStyle_Create() -> "opencascade::handle< Graphic3d_HatchStyle >":
    return _Graphic3d.Handle_Graphic3d_HatchStyle_Create()

def Handle_Graphic3d_HatchStyle_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_HatchStyle >":
    return _Graphic3d.Handle_Graphic3d_HatchStyle_DownCast(t)

def Handle_Graphic3d_HatchStyle_IsNull(t: "opencascade::handle< Graphic3d_HatchStyle > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_HatchStyle_IsNull(t)

def Handle_Graphic3d_Layer_Create() -> "opencascade::handle< Graphic3d_Layer >":
    return _Graphic3d.Handle_Graphic3d_Layer_Create()

def Handle_Graphic3d_Layer_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_Layer >":
    return _Graphic3d.Handle_Graphic3d_Layer_DownCast(t)

def Handle_Graphic3d_Layer_IsNull(t: "opencascade::handle< Graphic3d_Layer > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_Layer_IsNull(t)

def Handle_Graphic3d_LightSet_Create() -> "opencascade::handle< Graphic3d_LightSet >":
    return _Graphic3d.Handle_Graphic3d_LightSet_Create()

def Handle_Graphic3d_LightSet_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_LightSet >":
    return _Graphic3d.Handle_Graphic3d_LightSet_DownCast(t)

def Handle_Graphic3d_LightSet_IsNull(t: "opencascade::handle< Graphic3d_LightSet > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_LightSet_IsNull(t)

def Handle_Graphic3d_MarkerImage_Create() -> "opencascade::handle< Graphic3d_MarkerImage >":
    return _Graphic3d.Handle_Graphic3d_MarkerImage_Create()

def Handle_Graphic3d_MarkerImage_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_MarkerImage >":
    return _Graphic3d.Handle_Graphic3d_MarkerImage_DownCast(t)

def Handle_Graphic3d_MarkerImage_IsNull(t: "opencascade::handle< Graphic3d_MarkerImage > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_MarkerImage_IsNull(t)

def Handle_Graphic3d_PresentationAttributes_Create() -> "opencascade::handle< Graphic3d_PresentationAttributes >":
    return _Graphic3d.Handle_Graphic3d_PresentationAttributes_Create()

def Handle_Graphic3d_PresentationAttributes_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_PresentationAttributes >":
    return _Graphic3d.Handle_Graphic3d_PresentationAttributes_DownCast(t)

def Handle_Graphic3d_PresentationAttributes_IsNull(t: "opencascade::handle< Graphic3d_PresentationAttributes > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_PresentationAttributes_IsNull(t)

def Handle_Graphic3d_SequenceOfHClipPlane_Create() -> "opencascade::handle< Graphic3d_SequenceOfHClipPlane >":
    return _Graphic3d.Handle_Graphic3d_SequenceOfHClipPlane_Create()

def Handle_Graphic3d_SequenceOfHClipPlane_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_SequenceOfHClipPlane >":
    return _Graphic3d.Handle_Graphic3d_SequenceOfHClipPlane_DownCast(t)

def Handle_Graphic3d_SequenceOfHClipPlane_IsNull(t: "opencascade::handle< Graphic3d_SequenceOfHClipPlane > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_SequenceOfHClipPlane_IsNull(t)

def Handle_Graphic3d_ShaderAttribute_Create() -> "opencascade::handle< Graphic3d_ShaderAttribute >":
    return _Graphic3d.Handle_Graphic3d_ShaderAttribute_Create()

def Handle_Graphic3d_ShaderAttribute_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_ShaderAttribute >":
    return _Graphic3d.Handle_Graphic3d_ShaderAttribute_DownCast(t)

def Handle_Graphic3d_ShaderAttribute_IsNull(t: "opencascade::handle< Graphic3d_ShaderAttribute > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_ShaderAttribute_IsNull(t)

def Handle_Graphic3d_ShaderObject_Create() -> "opencascade::handle< Graphic3d_ShaderObject >":
    return _Graphic3d.Handle_Graphic3d_ShaderObject_Create()

def Handle_Graphic3d_ShaderObject_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_ShaderObject >":
    return _Graphic3d.Handle_Graphic3d_ShaderObject_DownCast(t)

def Handle_Graphic3d_ShaderObject_IsNull(t: "opencascade::handle< Graphic3d_ShaderObject > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_ShaderObject_IsNull(t)

def Handle_Graphic3d_ShaderProgram_Create() -> "opencascade::handle< Graphic3d_ShaderProgram >":
    return _Graphic3d.Handle_Graphic3d_ShaderProgram_Create()

def Handle_Graphic3d_ShaderProgram_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_ShaderProgram >":
    return _Graphic3d.Handle_Graphic3d_ShaderProgram_DownCast(t)

def Handle_Graphic3d_ShaderProgram_IsNull(t: "opencascade::handle< Graphic3d_ShaderProgram > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_ShaderProgram_IsNull(t)

def Handle_Graphic3d_ShaderVariable_Create() -> "opencascade::handle< Graphic3d_ShaderVariable >":
    return _Graphic3d.Handle_Graphic3d_ShaderVariable_Create()

def Handle_Graphic3d_ShaderVariable_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_ShaderVariable >":
    return _Graphic3d.Handle_Graphic3d_ShaderVariable_DownCast(t)

def Handle_Graphic3d_ShaderVariable_IsNull(t: "opencascade::handle< Graphic3d_ShaderVariable > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_ShaderVariable_IsNull(t)

def Handle_Graphic3d_Structure_Create() -> "opencascade::handle< Graphic3d_Structure >":
    return _Graphic3d.Handle_Graphic3d_Structure_Create()

def Handle_Graphic3d_Structure_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_Structure >":
    return _Graphic3d.Handle_Graphic3d_Structure_DownCast(t)

def Handle_Graphic3d_Structure_IsNull(t: "opencascade::handle< Graphic3d_Structure > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_Structure_IsNull(t)

def Handle_Graphic3d_StructureManager_Create() -> "opencascade::handle< Graphic3d_StructureManager >":
    return _Graphic3d.Handle_Graphic3d_StructureManager_Create()

def Handle_Graphic3d_StructureManager_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_StructureManager >":
    return _Graphic3d.Handle_Graphic3d_StructureManager_DownCast(t)

def Handle_Graphic3d_StructureManager_IsNull(t: "opencascade::handle< Graphic3d_StructureManager > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_StructureManager_IsNull(t)

def Handle_Graphic3d_Text_Create() -> "opencascade::handle< Graphic3d_Text >":
    return _Graphic3d.Handle_Graphic3d_Text_Create()

def Handle_Graphic3d_Text_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_Text >":
    return _Graphic3d.Handle_Graphic3d_Text_DownCast(t)

def Handle_Graphic3d_Text_IsNull(t: "opencascade::handle< Graphic3d_Text > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_Text_IsNull(t)

def Handle_Graphic3d_TextureParams_Create() -> "opencascade::handle< Graphic3d_TextureParams >":
    return _Graphic3d.Handle_Graphic3d_TextureParams_Create()

def Handle_Graphic3d_TextureParams_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_TextureParams >":
    return _Graphic3d.Handle_Graphic3d_TextureParams_DownCast(t)

def Handle_Graphic3d_TextureParams_IsNull(t: "opencascade::handle< Graphic3d_TextureParams > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_TextureParams_IsNull(t)

def Handle_Graphic3d_TextureRoot_Create() -> "opencascade::handle< Graphic3d_TextureRoot >":
    return _Graphic3d.Handle_Graphic3d_TextureRoot_Create()

def Handle_Graphic3d_TextureRoot_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_TextureRoot >":
    return _Graphic3d.Handle_Graphic3d_TextureRoot_DownCast(t)

def Handle_Graphic3d_TextureRoot_IsNull(t: "opencascade::handle< Graphic3d_TextureRoot > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_TextureRoot_IsNull(t)

def Handle_Graphic3d_ViewAffinity_Create() -> "opencascade::handle< Graphic3d_ViewAffinity >":
    return _Graphic3d.Handle_Graphic3d_ViewAffinity_Create()

def Handle_Graphic3d_ViewAffinity_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_ViewAffinity >":
    return _Graphic3d.Handle_Graphic3d_ViewAffinity_DownCast(t)

def Handle_Graphic3d_ViewAffinity_IsNull(t: "opencascade::handle< Graphic3d_ViewAffinity > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_ViewAffinity_IsNull(t)

def Handle_Graphic3d_ArrayOfPoints_Create() -> "opencascade::handle< Graphic3d_ArrayOfPoints >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfPoints_Create()

def Handle_Graphic3d_ArrayOfPoints_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_ArrayOfPoints >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfPoints_DownCast(t)

def Handle_Graphic3d_ArrayOfPoints_IsNull(t: "opencascade::handle< Graphic3d_ArrayOfPoints > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_ArrayOfPoints_IsNull(t)

def Handle_Graphic3d_ArrayOfPolygons_Create() -> "opencascade::handle< Graphic3d_ArrayOfPolygons >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfPolygons_Create()

def Handle_Graphic3d_ArrayOfPolygons_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_ArrayOfPolygons >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfPolygons_DownCast(t)

def Handle_Graphic3d_ArrayOfPolygons_IsNull(t: "opencascade::handle< Graphic3d_ArrayOfPolygons > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_ArrayOfPolygons_IsNull(t)

def Handle_Graphic3d_ArrayOfPolylines_Create() -> "opencascade::handle< Graphic3d_ArrayOfPolylines >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfPolylines_Create()

def Handle_Graphic3d_ArrayOfPolylines_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_ArrayOfPolylines >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfPolylines_DownCast(t)

def Handle_Graphic3d_ArrayOfPolylines_IsNull(t: "opencascade::handle< Graphic3d_ArrayOfPolylines > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_ArrayOfPolylines_IsNull(t)

def Handle_Graphic3d_ArrayOfQuadrangleStrips_Create() -> "opencascade::handle< Graphic3d_ArrayOfQuadrangleStrips >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfQuadrangleStrips_Create()

def Handle_Graphic3d_ArrayOfQuadrangleStrips_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_ArrayOfQuadrangleStrips >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfQuadrangleStrips_DownCast(t)

def Handle_Graphic3d_ArrayOfQuadrangleStrips_IsNull(t: "opencascade::handle< Graphic3d_ArrayOfQuadrangleStrips > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_ArrayOfQuadrangleStrips_IsNull(t)

def Handle_Graphic3d_ArrayOfQuadrangles_Create() -> "opencascade::handle< Graphic3d_ArrayOfQuadrangles >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfQuadrangles_Create()

def Handle_Graphic3d_ArrayOfQuadrangles_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_ArrayOfQuadrangles >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfQuadrangles_DownCast(t)

def Handle_Graphic3d_ArrayOfQuadrangles_IsNull(t: "opencascade::handle< Graphic3d_ArrayOfQuadrangles > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_ArrayOfQuadrangles_IsNull(t)

def Handle_Graphic3d_ArrayOfSegments_Create() -> "opencascade::handle< Graphic3d_ArrayOfSegments >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfSegments_Create()

def Handle_Graphic3d_ArrayOfSegments_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_ArrayOfSegments >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfSegments_DownCast(t)

def Handle_Graphic3d_ArrayOfSegments_IsNull(t: "opencascade::handle< Graphic3d_ArrayOfSegments > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_ArrayOfSegments_IsNull(t)

def Handle_Graphic3d_ArrayOfTriangleFans_Create() -> "opencascade::handle< Graphic3d_ArrayOfTriangleFans >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfTriangleFans_Create()

def Handle_Graphic3d_ArrayOfTriangleFans_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_ArrayOfTriangleFans >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfTriangleFans_DownCast(t)

def Handle_Graphic3d_ArrayOfTriangleFans_IsNull(t: "opencascade::handle< Graphic3d_ArrayOfTriangleFans > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_ArrayOfTriangleFans_IsNull(t)

def Handle_Graphic3d_ArrayOfTriangleStrips_Create() -> "opencascade::handle< Graphic3d_ArrayOfTriangleStrips >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfTriangleStrips_Create()

def Handle_Graphic3d_ArrayOfTriangleStrips_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_ArrayOfTriangleStrips >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfTriangleStrips_DownCast(t)

def Handle_Graphic3d_ArrayOfTriangleStrips_IsNull(t: "opencascade::handle< Graphic3d_ArrayOfTriangleStrips > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_ArrayOfTriangleStrips_IsNull(t)

def Handle_Graphic3d_ArrayOfTriangles_Create() -> "opencascade::handle< Graphic3d_ArrayOfTriangles >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfTriangles_Create()

def Handle_Graphic3d_ArrayOfTriangles_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_ArrayOfTriangles >":
    return _Graphic3d.Handle_Graphic3d_ArrayOfTriangles_DownCast(t)

def Handle_Graphic3d_ArrayOfTriangles_IsNull(t: "opencascade::handle< Graphic3d_ArrayOfTriangles > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_ArrayOfTriangles_IsNull(t)

def Handle_Graphic3d_AspectFillArea3d_Create() -> "opencascade::handle< Graphic3d_AspectFillArea3d >":
    return _Graphic3d.Handle_Graphic3d_AspectFillArea3d_Create()

def Handle_Graphic3d_AspectFillArea3d_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_AspectFillArea3d >":
    return _Graphic3d.Handle_Graphic3d_AspectFillArea3d_DownCast(t)

def Handle_Graphic3d_AspectFillArea3d_IsNull(t: "opencascade::handle< Graphic3d_AspectFillArea3d > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_AspectFillArea3d_IsNull(t)

def Handle_Graphic3d_AspectLine3d_Create() -> "opencascade::handle< Graphic3d_AspectLine3d >":
    return _Graphic3d.Handle_Graphic3d_AspectLine3d_Create()

def Handle_Graphic3d_AspectLine3d_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_AspectLine3d >":
    return _Graphic3d.Handle_Graphic3d_AspectLine3d_DownCast(t)

def Handle_Graphic3d_AspectLine3d_IsNull(t: "opencascade::handle< Graphic3d_AspectLine3d > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_AspectLine3d_IsNull(t)

def Handle_Graphic3d_AspectMarker3d_Create() -> "opencascade::handle< Graphic3d_AspectMarker3d >":
    return _Graphic3d.Handle_Graphic3d_AspectMarker3d_Create()

def Handle_Graphic3d_AspectMarker3d_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_AspectMarker3d >":
    return _Graphic3d.Handle_Graphic3d_AspectMarker3d_DownCast(t)

def Handle_Graphic3d_AspectMarker3d_IsNull(t: "opencascade::handle< Graphic3d_AspectMarker3d > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_AspectMarker3d_IsNull(t)

def Handle_Graphic3d_AspectText3d_Create() -> "opencascade::handle< Graphic3d_AspectText3d >":
    return _Graphic3d.Handle_Graphic3d_AspectText3d_Create()

def Handle_Graphic3d_AspectText3d_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_AspectText3d >":
    return _Graphic3d.Handle_Graphic3d_AspectText3d_DownCast(t)

def Handle_Graphic3d_AspectText3d_IsNull(t: "opencascade::handle< Graphic3d_AspectText3d > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_AspectText3d_IsNull(t)

def Handle_Graphic3d_CView_Create() -> "opencascade::handle< Graphic3d_CView >":
    return _Graphic3d.Handle_Graphic3d_CView_Create()

def Handle_Graphic3d_CView_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_CView >":
    return _Graphic3d.Handle_Graphic3d_CView_DownCast(t)

def Handle_Graphic3d_CView_IsNull(t: "opencascade::handle< Graphic3d_CView > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_CView_IsNull(t)

def Handle_Graphic3d_MediaTextureSet_Create() -> "opencascade::handle< Graphic3d_MediaTextureSet >":
    return _Graphic3d.Handle_Graphic3d_MediaTextureSet_Create()

def Handle_Graphic3d_MediaTextureSet_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_MediaTextureSet >":
    return _Graphic3d.Handle_Graphic3d_MediaTextureSet_DownCast(t)

def Handle_Graphic3d_MediaTextureSet_IsNull(t: "opencascade::handle< Graphic3d_MediaTextureSet > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_MediaTextureSet_IsNull(t)

def Handle_Graphic3d_TextureEnv_Create() -> "opencascade::handle< Graphic3d_TextureEnv >":
    return _Graphic3d.Handle_Graphic3d_TextureEnv_Create()

def Handle_Graphic3d_TextureEnv_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_TextureEnv >":
    return _Graphic3d.Handle_Graphic3d_TextureEnv_DownCast(t)

def Handle_Graphic3d_TextureEnv_IsNull(t: "opencascade::handle< Graphic3d_TextureEnv > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_TextureEnv_IsNull(t)

def Handle_Graphic3d_TextureMap_Create() -> "opencascade::handle< Graphic3d_TextureMap >":
    return _Graphic3d.Handle_Graphic3d_TextureMap_Create()

def Handle_Graphic3d_TextureMap_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_TextureMap >":
    return _Graphic3d.Handle_Graphic3d_TextureMap_DownCast(t)

def Handle_Graphic3d_TextureMap_IsNull(t: "opencascade::handle< Graphic3d_TextureMap > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_TextureMap_IsNull(t)

def Handle_Graphic3d_CubeMap_Create() -> "opencascade::handle< Graphic3d_CubeMap >":
    return _Graphic3d.Handle_Graphic3d_CubeMap_Create()

def Handle_Graphic3d_CubeMap_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_CubeMap >":
    return _Graphic3d.Handle_Graphic3d_CubeMap_DownCast(t)

def Handle_Graphic3d_CubeMap_IsNull(t: "opencascade::handle< Graphic3d_CubeMap > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_CubeMap_IsNull(t)

def Handle_Graphic3d_Texture1D_Create() -> "opencascade::handle< Graphic3d_Texture1D >":
    return _Graphic3d.Handle_Graphic3d_Texture1D_Create()

def Handle_Graphic3d_Texture1D_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_Texture1D >":
    return _Graphic3d.Handle_Graphic3d_Texture1D_DownCast(t)

def Handle_Graphic3d_Texture1D_IsNull(t: "opencascade::handle< Graphic3d_Texture1D > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_Texture1D_IsNull(t)

def Handle_Graphic3d_Texture2D_Create() -> "opencascade::handle< Graphic3d_Texture2D >":
    return _Graphic3d.Handle_Graphic3d_Texture2D_Create()

def Handle_Graphic3d_Texture2D_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_Texture2D >":
    return _Graphic3d.Handle_Graphic3d_Texture2D_DownCast(t)

def Handle_Graphic3d_Texture2D_IsNull(t: "opencascade::handle< Graphic3d_Texture2D > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_Texture2D_IsNull(t)

def Handle_Graphic3d_CubeMapSeparate_Create() -> "opencascade::handle< Graphic3d_CubeMapSeparate >":
    return _Graphic3d.Handle_Graphic3d_CubeMapSeparate_Create()

def Handle_Graphic3d_CubeMapSeparate_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_CubeMapSeparate >":
    return _Graphic3d.Handle_Graphic3d_CubeMapSeparate_DownCast(t)

def Handle_Graphic3d_CubeMapSeparate_IsNull(t: "opencascade::handle< Graphic3d_CubeMapSeparate > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_CubeMapSeparate_IsNull(t)

def Handle_Graphic3d_MediaTexture_Create() -> "opencascade::handle< Graphic3d_MediaTexture >":
    return _Graphic3d.Handle_Graphic3d_MediaTexture_Create()

def Handle_Graphic3d_MediaTexture_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_MediaTexture >":
    return _Graphic3d.Handle_Graphic3d_MediaTexture_DownCast(t)

def Handle_Graphic3d_MediaTexture_IsNull(t: "opencascade::handle< Graphic3d_MediaTexture > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_MediaTexture_IsNull(t)

def Handle_Graphic3d_Texture1Dmanual_Create() -> "opencascade::handle< Graphic3d_Texture1Dmanual >":
    return _Graphic3d.Handle_Graphic3d_Texture1Dmanual_Create()

def Handle_Graphic3d_Texture1Dmanual_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_Texture1Dmanual >":
    return _Graphic3d.Handle_Graphic3d_Texture1Dmanual_DownCast(t)

def Handle_Graphic3d_Texture1Dmanual_IsNull(t: "opencascade::handle< Graphic3d_Texture1Dmanual > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_Texture1Dmanual_IsNull(t)

def Handle_Graphic3d_Texture1Dsegment_Create() -> "opencascade::handle< Graphic3d_Texture1Dsegment >":
    return _Graphic3d.Handle_Graphic3d_Texture1Dsegment_Create()

def Handle_Graphic3d_Texture1Dsegment_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_Texture1Dsegment >":
    return _Graphic3d.Handle_Graphic3d_Texture1Dsegment_DownCast(t)

def Handle_Graphic3d_Texture1Dsegment_IsNull(t: "opencascade::handle< Graphic3d_Texture1Dsegment > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_Texture1Dsegment_IsNull(t)

def Handle_Graphic3d_Texture2Dmanual_Create() -> "opencascade::handle< Graphic3d_Texture2Dmanual >":
    return _Graphic3d.Handle_Graphic3d_Texture2Dmanual_Create()

def Handle_Graphic3d_Texture2Dmanual_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_Texture2Dmanual >":
    return _Graphic3d.Handle_Graphic3d_Texture2Dmanual_DownCast(t)

def Handle_Graphic3d_Texture2Dmanual_IsNull(t: "opencascade::handle< Graphic3d_Texture2Dmanual > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_Texture2Dmanual_IsNull(t)

def Handle_Graphic3d_Texture2Dplane_Create() -> "opencascade::handle< Graphic3d_Texture2Dplane >":
    return _Graphic3d.Handle_Graphic3d_Texture2Dplane_Create()

def Handle_Graphic3d_Texture2Dplane_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< Graphic3d_Texture2Dplane >":
    return _Graphic3d.Handle_Graphic3d_Texture2Dplane_DownCast(t)

def Handle_Graphic3d_Texture2Dplane_IsNull(t: "opencascade::handle< Graphic3d_Texture2Dplane > const &") -> "bool":
    return _Graphic3d.Handle_Graphic3d_Texture2Dplane_IsNull(t)
class Graphic3d_Array1OfAttribute(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_Array1< Graphic3d_Attribute >::iterator":
        return _Graphic3d.Graphic3d_Array1OfAttribute_begin(self)

    def end(self) -> "NCollection_Array1< Graphic3d_Attribute >::iterator":
        return _Graphic3d.Graphic3d_Array1OfAttribute_end(self)

    def cbegin(self) -> "NCollection_Array1< Graphic3d_Attribute >::const_iterator":
        return _Graphic3d.Graphic3d_Array1OfAttribute_cbegin(self)

    def cend(self) -> "NCollection_Array1< Graphic3d_Attribute >::const_iterator":
        return _Graphic3d.Graphic3d_Array1OfAttribute_cend(self)

    def __init__(self, *args):
        _Graphic3d.Graphic3d_Array1OfAttribute_swiginit(self, _Graphic3d.new_Graphic3d_Array1OfAttribute(*args))

    def Init(self, theValue: "Graphic3d_Attribute") -> "void":
        return _Graphic3d.Graphic3d_Array1OfAttribute_Init(self, theValue)

    def Size(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_Array1OfAttribute_Size(self)

    def Length(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_Array1OfAttribute_Length(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_Array1OfAttribute_IsEmpty(self)

    def Lower(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_Array1OfAttribute_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_Array1OfAttribute_Upper(self)

    def IsDeletable(self) -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_Array1OfAttribute_IsDeletable(self)

    def IsAllocated(self) -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_Array1OfAttribute_IsAllocated(self)

    def Assign(self, theOther: "Graphic3d_Array1OfAttribute") -> "NCollection_Array1< Graphic3d_Attribute > &":
        return _Graphic3d.Graphic3d_Array1OfAttribute_Assign(self, theOther)

    def Move(self, theOther: "Graphic3d_Array1OfAttribute") -> "NCollection_Array1< Graphic3d_Attribute > &":
        return _Graphic3d.Graphic3d_Array1OfAttribute_Move(self, theOther)

    def Set(self, *args) -> "NCollection_Array1< Graphic3d_Attribute > &":
        return _Graphic3d.Graphic3d_Array1OfAttribute_Set(self, *args)

    def First(self) -> "Graphic3d_Attribute const &":
        return _Graphic3d.Graphic3d_Array1OfAttribute_First(self)

    def ChangeFirst(self) -> "Graphic3d_Attribute &":
        return _Graphic3d.Graphic3d_Array1OfAttribute_ChangeFirst(self)

    def Last(self) -> "Graphic3d_Attribute const &":
        return _Graphic3d.Graphic3d_Array1OfAttribute_Last(self)

    def ChangeLast(self) -> "Graphic3d_Attribute &":
        return _Graphic3d.Graphic3d_Array1OfAttribute_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "Graphic3d_Attribute const &":
        return _Graphic3d.Graphic3d_Array1OfAttribute_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "Graphic3d_Attribute &":
        return _Graphic3d.Graphic3d_Array1OfAttribute_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "Graphic3d_Attribute &":
        return _Graphic3d.Graphic3d_Array1OfAttribute___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "Graphic3d_Attribute") -> "void":
        return _Graphic3d.Graphic3d_Array1OfAttribute_SetValue(self, theIndex, theItem)

    def Resize(self, theLower: "Standard_Integer const", theUpper: "Standard_Integer const", theToCopyData: "Standard_Boolean const") -> "void":
        return _Graphic3d.Graphic3d_Array1OfAttribute_Resize(self, theLower, theUpper, theToCopyData)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Array1OfAttribute

    def __getitem__(self, index):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            return self.Value(index + self.Lower())

    def __setitem__(self, index, value):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            self.SetValue(index + self.Lower(), value)

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

    def __iter__(self):
        self.low = self.Lower()
        self.up = self.Upper()
        self.current = self.Lower() - 1
        return self

    def next(self):
        if self.current >= self.Upper():
            raise StopIteration
        else:
            self.current += 1
        return self.Value(self.current)

    __next__ = next


# Register Graphic3d_Array1OfAttribute in _Graphic3d:
_Graphic3d.Graphic3d_Array1OfAttribute_swigregister(Graphic3d_Array1OfAttribute)

class Graphic3d_ArrayOfIndexedMapOfStructure(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_Array1< Graphic3d_IndexedMapOfStructure >::iterator":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_begin(self)

    def end(self) -> "NCollection_Array1< Graphic3d_IndexedMapOfStructure >::iterator":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_end(self)

    def cbegin(self) -> "NCollection_Array1< Graphic3d_IndexedMapOfStructure >::const_iterator":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_cbegin(self)

    def cend(self) -> "NCollection_Array1< Graphic3d_IndexedMapOfStructure >::const_iterator":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_cend(self)

    def __init__(self, *args):
        _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_swiginit(self, _Graphic3d.new_Graphic3d_ArrayOfIndexedMapOfStructure(*args))

    def Init(self, theValue: "Graphic3d_IndexedMapOfStructure") -> "void":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_Init(self, theValue)

    def Size(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_Size(self)

    def Length(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_Length(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_IsEmpty(self)

    def Lower(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_Upper(self)

    def IsDeletable(self) -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_IsDeletable(self)

    def IsAllocated(self) -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_IsAllocated(self)

    def Assign(self, theOther: "Graphic3d_ArrayOfIndexedMapOfStructure") -> "NCollection_Array1< Graphic3d_IndexedMapOfStructure > &":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_Assign(self, theOther)

    def Move(self, theOther: "Graphic3d_ArrayOfIndexedMapOfStructure") -> "NCollection_Array1< Graphic3d_IndexedMapOfStructure > &":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_Move(self, theOther)

    def Set(self, *args) -> "NCollection_Array1< Graphic3d_IndexedMapOfStructure > &":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_Set(self, *args)

    def First(self) -> "Graphic3d_IndexedMapOfStructure const &":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_First(self)

    def ChangeFirst(self) -> "Graphic3d_IndexedMapOfStructure &":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_ChangeFirst(self)

    def Last(self) -> "Graphic3d_IndexedMapOfStructure const &":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_Last(self)

    def ChangeLast(self) -> "Graphic3d_IndexedMapOfStructure &":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "Graphic3d_IndexedMapOfStructure const &":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "Graphic3d_IndexedMapOfStructure &":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "Graphic3d_IndexedMapOfStructure &":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "Graphic3d_IndexedMapOfStructure") -> "void":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_SetValue(self, theIndex, theItem)

    def Resize(self, theLower: "Standard_Integer const", theUpper: "Standard_Integer const", theToCopyData: "Standard_Boolean const") -> "void":
        return _Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_Resize(self, theLower, theUpper, theToCopyData)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ArrayOfIndexedMapOfStructure

    def __getitem__(self, index):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            return self.Value(index + self.Lower())

    def __setitem__(self, index, value):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            self.SetValue(index + self.Lower(), value)

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

    def __iter__(self):
        self.low = self.Lower()
        self.up = self.Upper()
        self.current = self.Lower() - 1
        return self

    def next(self):
        if self.current >= self.Upper():
            raise StopIteration
        else:
            self.current += 1
        return self.Value(self.current)

    __next__ = next


# Register Graphic3d_ArrayOfIndexedMapOfStructure in _Graphic3d:
_Graphic3d.Graphic3d_ArrayOfIndexedMapOfStructure_swigregister(Graphic3d_ArrayOfIndexedMapOfStructure)

class Graphic3d_CameraLerp(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):
        _Graphic3d.Graphic3d_CameraLerp_swiginit(self, _Graphic3d.new_Graphic3d_CameraLerp(*args))

    def Init(self, theStart: "opencascade::handle< Graphic3d_Camera > const &", theEnd: "opencascade::handle< Graphic3d_Camera > const &") -> "void":
        return _Graphic3d.Graphic3d_CameraLerp_Init(self, theStart, theEnd)

    def Interpolate(self, *args) -> "void":
        return _Graphic3d.Graphic3d_CameraLerp_Interpolate(self, *args)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_CameraLerp

# Register Graphic3d_CameraLerp in _Graphic3d:
_Graphic3d.Graphic3d_CameraLerp_swigregister(Graphic3d_CameraLerp)

class Graphic3d_IndexedMapOfStructure(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_IndexedMap< Graphic3d_CStructure const * >::const_iterator":
        return _Graphic3d.Graphic3d_IndexedMapOfStructure_cbegin(self)

    def cend(self) -> "NCollection_IndexedMap< Graphic3d_CStructure const * >::const_iterator":
        return _Graphic3d.Graphic3d_IndexedMapOfStructure_cend(self)

    def __init__(self, *args):
        _Graphic3d.Graphic3d_IndexedMapOfStructure_swiginit(self, _Graphic3d.new_Graphic3d_IndexedMapOfStructure(*args))

    def Exchange(self, theOther: "Graphic3d_IndexedMapOfStructure") -> "void":
        return _Graphic3d.Graphic3d_IndexedMapOfStructure_Exchange(self, theOther)

    def Assign(self, theOther: "Graphic3d_IndexedMapOfStructure") -> "NCollection_IndexedMap< Graphic3d_CStructure const * > &":
        return _Graphic3d.Graphic3d_IndexedMapOfStructure_Assign(self, theOther)

    def Set(self, theOther: "Graphic3d_IndexedMapOfStructure") -> "NCollection_IndexedMap< Graphic3d_CStructure const * > &":
        return _Graphic3d.Graphic3d_IndexedMapOfStructure_Set(self, theOther)

    def ReSize(self, theExtent: "Standard_Integer const") -> "void":
        return _Graphic3d.Graphic3d_IndexedMapOfStructure_ReSize(self, theExtent)

    def Add(self, theKey1: "Graphic3d_CStructure") -> "Standard_Integer":
        return _Graphic3d.Graphic3d_IndexedMapOfStructure_Add(self, theKey1)

    def Contains(self, theKey1: "Graphic3d_CStructure") -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_IndexedMapOfStructure_Contains(self, theKey1)

    def Substitute(self, theIndex: "Standard_Integer const", theKey1: "Graphic3d_CStructure") -> "void":
        return _Graphic3d.Graphic3d_IndexedMapOfStructure_Substitute(self, theIndex, theKey1)

    def Swap(self, theIndex1: "Standard_Integer const", theIndex2: "Standard_Integer const") -> "void":
        return _Graphic3d.Graphic3d_IndexedMapOfStructure_Swap(self, theIndex1, theIndex2)

    def RemoveLast(self) -> "void":
        return _Graphic3d.Graphic3d_IndexedMapOfStructure_RemoveLast(self)

    def RemoveFromIndex(self, theIndex: "Standard_Integer const") -> "void":
        return _Graphic3d.Graphic3d_IndexedMapOfStructure_RemoveFromIndex(self, theIndex)

    def RemoveKey(self, theKey1: "Graphic3d_CStructure") -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_IndexedMapOfStructure_RemoveKey(self, theKey1)

    def FindKey(self, theIndex: "Standard_Integer const") -> "Graphic3d_CStructure const *const &":
        return _Graphic3d.Graphic3d_IndexedMapOfStructure_FindKey(self, theIndex)

    def __call__(self, theIndex: "Standard_Integer const") -> "Graphic3d_CStructure const *const &":
        return _Graphic3d.Graphic3d_IndexedMapOfStructure___call__(self, theIndex)

    def FindIndex(self, theKey1: "Graphic3d_CStructure") -> "Standard_Integer":
        return _Graphic3d.Graphic3d_IndexedMapOfStructure_FindIndex(self, theKey1)

    def Clear(self, *args) -> "void":
        return _Graphic3d.Graphic3d_IndexedMapOfStructure_Clear(self, *args)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_IndexedMapOfStructure

    def Size(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_IndexedMapOfStructure_Size(self)

# Register Graphic3d_IndexedMapOfStructure in _Graphic3d:
_Graphic3d.Graphic3d_IndexedMapOfStructure_swigregister(Graphic3d_IndexedMapOfStructure)

class Graphic3d_IndexedMapOfView(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_IndexedMap< Graphic3d_CView * >::const_iterator":
        return _Graphic3d.Graphic3d_IndexedMapOfView_cbegin(self)

    def cend(self) -> "NCollection_IndexedMap< Graphic3d_CView * >::const_iterator":
        return _Graphic3d.Graphic3d_IndexedMapOfView_cend(self)

    def __init__(self, *args):
        _Graphic3d.Graphic3d_IndexedMapOfView_swiginit(self, _Graphic3d.new_Graphic3d_IndexedMapOfView(*args))

    def Exchange(self, theOther: "Graphic3d_IndexedMapOfView") -> "void":
        return _Graphic3d.Graphic3d_IndexedMapOfView_Exchange(self, theOther)

    def Assign(self, theOther: "Graphic3d_IndexedMapOfView") -> "NCollection_IndexedMap< Graphic3d_CView * > &":
        return _Graphic3d.Graphic3d_IndexedMapOfView_Assign(self, theOther)

    def Set(self, theOther: "Graphic3d_IndexedMapOfView") -> "NCollection_IndexedMap< Graphic3d_CView * > &":
        return _Graphic3d.Graphic3d_IndexedMapOfView_Set(self, theOther)

    def ReSize(self, theExtent: "Standard_Integer const") -> "void":
        return _Graphic3d.Graphic3d_IndexedMapOfView_ReSize(self, theExtent)

    def Add(self, theKey1: "Graphic3d_CView") -> "Standard_Integer":
        return _Graphic3d.Graphic3d_IndexedMapOfView_Add(self, theKey1)

    def Contains(self, theKey1: "Graphic3d_CView") -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_IndexedMapOfView_Contains(self, theKey1)

    def Substitute(self, theIndex: "Standard_Integer const", theKey1: "Graphic3d_CView") -> "void":
        return _Graphic3d.Graphic3d_IndexedMapOfView_Substitute(self, theIndex, theKey1)

    def Swap(self, theIndex1: "Standard_Integer const", theIndex2: "Standard_Integer const") -> "void":
        return _Graphic3d.Graphic3d_IndexedMapOfView_Swap(self, theIndex1, theIndex2)

    def RemoveLast(self) -> "void":
        return _Graphic3d.Graphic3d_IndexedMapOfView_RemoveLast(self)

    def RemoveFromIndex(self, theIndex: "Standard_Integer const") -> "void":
        return _Graphic3d.Graphic3d_IndexedMapOfView_RemoveFromIndex(self, theIndex)

    def RemoveKey(self, theKey1: "Graphic3d_CView") -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_IndexedMapOfView_RemoveKey(self, theKey1)

    def FindKey(self, theIndex: "Standard_Integer const") -> "Graphic3d_CView *const &":
        return _Graphic3d.Graphic3d_IndexedMapOfView_FindKey(self, theIndex)

    def __call__(self, theIndex: "Standard_Integer const") -> "Graphic3d_CView *const &":
        return _Graphic3d.Graphic3d_IndexedMapOfView___call__(self, theIndex)

    def FindIndex(self, theKey1: "Graphic3d_CView") -> "Standard_Integer":
        return _Graphic3d.Graphic3d_IndexedMapOfView_FindIndex(self, theKey1)

    def Clear(self, *args) -> "void":
        return _Graphic3d.Graphic3d_IndexedMapOfView_Clear(self, *args)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_IndexedMapOfView

    def Size(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_IndexedMapOfView_Size(self)

# Register Graphic3d_IndexedMapOfView in _Graphic3d:
_Graphic3d.Graphic3d_IndexedMapOfView_swigregister(Graphic3d_IndexedMapOfView)

class Graphic3d_MapOfAspectsToAspects(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< Graphic3d_Aspects >,opencascade::handle< Graphic3d_Aspects > >::iterator":
        return _Graphic3d.Graphic3d_MapOfAspectsToAspects_begin(self)

    def end(self) -> "NCollection_DataMap< opencascade::handle< Graphic3d_Aspects >,opencascade::handle< Graphic3d_Aspects > >::iterator":
        return _Graphic3d.Graphic3d_MapOfAspectsToAspects_end(self)

    def cbegin(self) -> "NCollection_DataMap< opencascade::handle< Graphic3d_Aspects >,opencascade::handle< Graphic3d_Aspects > >::const_iterator":
        return _Graphic3d.Graphic3d_MapOfAspectsToAspects_cbegin(self)

    def cend(self) -> "NCollection_DataMap< opencascade::handle< Graphic3d_Aspects >,opencascade::handle< Graphic3d_Aspects > >::const_iterator":
        return _Graphic3d.Graphic3d_MapOfAspectsToAspects_cend(self)

    def __init__(self, *args):
        _Graphic3d.Graphic3d_MapOfAspectsToAspects_swiginit(self, _Graphic3d.new_Graphic3d_MapOfAspectsToAspects(*args))

    def Exchange(self, theOther: "Graphic3d_MapOfAspectsToAspects") -> "void":
        return _Graphic3d.Graphic3d_MapOfAspectsToAspects_Exchange(self, theOther)

    def Assign(self, theOther: "Graphic3d_MapOfAspectsToAspects") -> "NCollection_DataMap< opencascade::handle< Graphic3d_Aspects >,opencascade::handle< Graphic3d_Aspects > > &":
        return _Graphic3d.Graphic3d_MapOfAspectsToAspects_Assign(self, theOther)

    def Set(self, theOther: "Graphic3d_MapOfAspectsToAspects") -> "NCollection_DataMap< opencascade::handle< Graphic3d_Aspects >,opencascade::handle< Graphic3d_Aspects > > &":
        return _Graphic3d.Graphic3d_MapOfAspectsToAspects_Set(self, theOther)

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

    def Bind(self, theKey: "opencascade::handle< Graphic3d_Aspects > const &", theItem: "opencascade::handle< Graphic3d_Aspects > const &") -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_MapOfAspectsToAspects_Bind(self, theKey, theItem)

    def Bound(self, theKey: "opencascade::handle< Graphic3d_Aspects > const &", theItem: "opencascade::handle< Graphic3d_Aspects > const &") -> "opencascade::handle< Graphic3d_Aspects > *":
        return _Graphic3d.Graphic3d_MapOfAspectsToAspects_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "opencascade::handle< Graphic3d_Aspects > const &") -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_MapOfAspectsToAspects_IsBound(self, theKey)

    def UnBind(self, theKey: "opencascade::handle< Graphic3d_Aspects > const &") -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_MapOfAspectsToAspects_UnBind(self, theKey)

    def Seek(self, theKey: "opencascade::handle< Graphic3d_Aspects > const &") -> "opencascade::handle< Graphic3d_Aspects > const *":
        return _Graphic3d.Graphic3d_MapOfAspectsToAspects_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_MapOfAspectsToAspects_Find(self, *args)

    def ChangeSeek(self, theKey: "opencascade::handle< Graphic3d_Aspects > const &") -> "opencascade::handle< Graphic3d_Aspects > *":
        return _Graphic3d.Graphic3d_MapOfAspectsToAspects_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "opencascade::handle< Graphic3d_Aspects > const &") -> "opencascade::handle< Graphic3d_Aspects > &":
        return _Graphic3d.Graphic3d_MapOfAspectsToAspects_ChangeFind(self, theKey)

    def __call__(self, *args) -> "opencascade::handle< Graphic3d_Aspects > &":
        return _Graphic3d.Graphic3d_MapOfAspectsToAspects___call__(self, *args)

    def Clear(self, *args) -> "void":
        return _Graphic3d.Graphic3d_MapOfAspectsToAspects_Clear(self, *args)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_MapOfAspectsToAspects

    def Size(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_MapOfAspectsToAspects_Size(self)

# Register Graphic3d_MapOfAspectsToAspects in _Graphic3d:
_Graphic3d.Graphic3d_MapOfAspectsToAspects_swigregister(Graphic3d_MapOfAspectsToAspects)

class Graphic3d_MapOfStructure(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< Graphic3d_Structure > >::const_iterator":
        return _Graphic3d.Graphic3d_MapOfStructure_cbegin(self)

    def cend(self) -> "NCollection_Map< opencascade::handle< Graphic3d_Structure > >::const_iterator":
        return _Graphic3d.Graphic3d_MapOfStructure_cend(self)

    def __init__(self, *args):
        _Graphic3d.Graphic3d_MapOfStructure_swiginit(self, _Graphic3d.new_Graphic3d_MapOfStructure(*args))

    def Exchange(self, theOther: "Graphic3d_MapOfStructure") -> "void":
        return _Graphic3d.Graphic3d_MapOfStructure_Exchange(self, theOther)

    def Assign(self, theOther: "Graphic3d_MapOfStructure") -> "NCollection_Map< opencascade::handle< Graphic3d_Structure > > &":
        return _Graphic3d.Graphic3d_MapOfStructure_Assign(self, theOther)

    def Set(self, theOther: "Graphic3d_MapOfStructure") -> "NCollection_Map< opencascade::handle< Graphic3d_Structure > > &":
        return _Graphic3d.Graphic3d_MapOfStructure_Set(self, theOther)

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

    def Add(self, K: "opencascade::handle< Graphic3d_Structure > const &") -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_MapOfStructure_Add(self, K)

    def Added(self, K: "opencascade::handle< Graphic3d_Structure > const &") -> "opencascade::handle< Graphic3d_Structure > const &":
        return _Graphic3d.Graphic3d_MapOfStructure_Added(self, K)

    def Remove(self, K: "opencascade::handle< Graphic3d_Structure > const &") -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_MapOfStructure_Remove(self, K)

    def Clear(self, *args) -> "void":
        return _Graphic3d.Graphic3d_MapOfStructure_Clear(self, *args)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_MapOfStructure

    def Size(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_MapOfStructure_Size(self)

    def IsEqual(self, theOther: "Graphic3d_MapOfStructure") -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_MapOfStructure_IsEqual(self, theOther)

    def Contains(self, *args) -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_MapOfStructure_Contains(self, *args)

    def Union(self, theLeft: "Graphic3d_MapOfStructure", theRight: "Graphic3d_MapOfStructure") -> "void":
        return _Graphic3d.Graphic3d_MapOfStructure_Union(self, theLeft, theRight)

    def Unite(self, theOther: "Graphic3d_MapOfStructure") -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_MapOfStructure_Unite(self, theOther)

    def HasIntersection(self, theMap: "Graphic3d_MapOfStructure") -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_MapOfStructure_HasIntersection(self, theMap)

    def Intersection(self, theLeft: "Graphic3d_MapOfStructure", theRight: "Graphic3d_MapOfStructure") -> "void":
        return _Graphic3d.Graphic3d_MapOfStructure_Intersection(self, theLeft, theRight)

    def Intersect(self, theOther: "Graphic3d_MapOfStructure") -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_MapOfStructure_Intersect(self, theOther)

    def Subtraction(self, theLeft: "Graphic3d_MapOfStructure", theRight: "Graphic3d_MapOfStructure") -> "void":
        return _Graphic3d.Graphic3d_MapOfStructure_Subtraction(self, theLeft, theRight)

    def Subtract(self, theOther: "Graphic3d_MapOfStructure") -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_MapOfStructure_Subtract(self, theOther)

    def Difference(self, theLeft: "Graphic3d_MapOfStructure", theRight: "Graphic3d_MapOfStructure") -> "void":
        return _Graphic3d.Graphic3d_MapOfStructure_Difference(self, theLeft, theRight)

    def Differ(self, theOther: "Graphic3d_MapOfStructure") -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_MapOfStructure_Differ(self, theOther)

# Register Graphic3d_MapOfStructure in _Graphic3d:
_Graphic3d.Graphic3d_MapOfStructure_swigregister(Graphic3d_MapOfStructure)

class Graphic3d_MapOfZLayerSettings(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< Graphic3d_ZLayerId,Graphic3d_ZLayerSettings >::iterator":
        return _Graphic3d.Graphic3d_MapOfZLayerSettings_begin(self)

    def end(self) -> "NCollection_DataMap< Graphic3d_ZLayerId,Graphic3d_ZLayerSettings >::iterator":
        return _Graphic3d.Graphic3d_MapOfZLayerSettings_end(self)

    def cbegin(self) -> "NCollection_DataMap< Graphic3d_ZLayerId,Graphic3d_ZLayerSettings >::const_iterator":
        return _Graphic3d.Graphic3d_MapOfZLayerSettings_cbegin(self)

    def cend(self) -> "NCollection_DataMap< Graphic3d_ZLayerId,Graphic3d_ZLayerSettings >::const_iterator":
        return _Graphic3d.Graphic3d_MapOfZLayerSettings_cend(self)

    def __init__(self, *args):
        _Graphic3d.Graphic3d_MapOfZLayerSettings_swiginit(self, _Graphic3d.new_Graphic3d_MapOfZLayerSettings(*args))

    def Exchange(self, theOther: "Graphic3d_MapOfZLayerSettings") -> "void":
        return _Graphic3d.Graphic3d_MapOfZLayerSettings_Exchange(self, theOther)

    def Assign(self, theOther: "Graphic3d_MapOfZLayerSettings") -> "NCollection_DataMap< Graphic3d_ZLayerId,Graphic3d_ZLayerSettings > &":
        return _Graphic3d.Graphic3d_MapOfZLayerSettings_Assign(self, theOther)

    def Set(self, theOther: "Graphic3d_MapOfZLayerSettings") -> "NCollection_DataMap< Graphic3d_ZLayerId,Graphic3d_ZLayerSettings > &":
        return _Graphic3d.Graphic3d_MapOfZLayerSettings_Set(self, theOther)

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

    def Bind(self, theKey: "Graphic3d_ZLayerId const &", theItem: "Graphic3d_ZLayerSettings") -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_MapOfZLayerSettings_Bind(self, theKey, theItem)

    def Bound(self, theKey: "Graphic3d_ZLayerId const &", theItem: "Graphic3d_ZLayerSettings") -> "Graphic3d_ZLayerSettings *":
        return _Graphic3d.Graphic3d_MapOfZLayerSettings_Bound(self, theKey, theItem)

    def IsBound(self, theKey: "Graphic3d_ZLayerId const &") -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_MapOfZLayerSettings_IsBound(self, theKey)

    def UnBind(self, theKey: "Graphic3d_ZLayerId const &") -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_MapOfZLayerSettings_UnBind(self, theKey)

    def Seek(self, theKey: "Graphic3d_ZLayerId const &") -> "Graphic3d_ZLayerSettings const *":
        return _Graphic3d.Graphic3d_MapOfZLayerSettings_Seek(self, theKey)

    def Find(self, *args) -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_MapOfZLayerSettings_Find(self, *args)

    def ChangeSeek(self, theKey: "Graphic3d_ZLayerId const &") -> "Graphic3d_ZLayerSettings *":
        return _Graphic3d.Graphic3d_MapOfZLayerSettings_ChangeSeek(self, theKey)

    def ChangeFind(self, theKey: "Graphic3d_ZLayerId const &") -> "Graphic3d_ZLayerSettings &":
        return _Graphic3d.Graphic3d_MapOfZLayerSettings_ChangeFind(self, theKey)

    def __call__(self, *args) -> "Graphic3d_ZLayerSettings &":
        return _Graphic3d.Graphic3d_MapOfZLayerSettings___call__(self, *args)

    def Clear(self, *args) -> "void":
        return _Graphic3d.Graphic3d_MapOfZLayerSettings_Clear(self, *args)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_MapOfZLayerSettings

    def Size(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_MapOfZLayerSettings_Size(self)

# Register Graphic3d_MapOfZLayerSettings in _Graphic3d:
_Graphic3d.Graphic3d_MapOfZLayerSettings_swigregister(Graphic3d_MapOfZLayerSettings)

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

    @staticmethod
    def Rows() -> "size_t":
        return _Graphic3d.Graphic3d_Mat4_Rows()

    @staticmethod
    def Cols() -> "size_t":
        return _Graphic3d.Graphic3d_Mat4_Cols()

    def __init__(self):
        _Graphic3d.Graphic3d_Mat4_swiginit(self, _Graphic3d.new_Graphic3d_Mat4())

    def GetValue(self, theRow: "size_t const", theCol: "size_t const") -> "float":
        return _Graphic3d.Graphic3d_Mat4_GetValue(self, theRow, theCol)

    def ChangeValue(self, theRow: "size_t const", theCol: "size_t const") -> "float &":
        return _Graphic3d.Graphic3d_Mat4_ChangeValue(self, theRow, theCol)

    def SetValue(self, theRow: "size_t const", theCol: "size_t const", theValue: "float const") -> "void":
        return _Graphic3d.Graphic3d_Mat4_SetValue(self, theRow, theCol, theValue)

    def GetRow(self, theRow: "size_t const") -> "NCollection_Vec4< float >":
        return _Graphic3d.Graphic3d_Mat4_GetRow(self, theRow)

    def SetRow(self, *args) -> "void":
        return _Graphic3d.Graphic3d_Mat4_SetRow(self, *args)

    def GetColumn(self, theCol: "size_t const") -> "NCollection_Vec4< float >":
        return _Graphic3d.Graphic3d_Mat4_GetColumn(self, theCol)

    def SetColumn(self, *args) -> "void":
        return _Graphic3d.Graphic3d_Mat4_SetColumn(self, *args)

    def GetDiagonal(self) -> "NCollection_Vec4< float >":
        return _Graphic3d.Graphic3d_Mat4_GetDiagonal(self)

    def SetDiagonal(self, *args) -> "void":
        return _Graphic3d.Graphic3d_Mat4_SetDiagonal(self, *args)

    def InitIdentity(self) -> "void":
        return _Graphic3d.Graphic3d_Mat4_InitIdentity(self)

    def IsIdentity(self) -> "bool":
        return _Graphic3d.Graphic3d_Mat4_IsIdentity(self)

    def IsEqual(self, theOther: "Graphic3d_Mat4") -> "bool":
        return _Graphic3d.Graphic3d_Mat4_IsEqual(self, theOther)

    def __eq__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Mat4___eq__(self, *args)

    def __ne__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Mat4___ne__(self, *args)

    def GetData(self) -> "float const *":
        return _Graphic3d.Graphic3d_Mat4_GetData(self)

    def ChangeData(self) -> "float *":
        return _Graphic3d.Graphic3d_Mat4_ChangeData(self)

    def Multiply(self, *args) -> "void":
        return _Graphic3d.Graphic3d_Mat4_Multiply(self, *args)

    def __imul__(self, *args) -> "NCollection_Mat4< Standard_ShortReal > &":
        return _Graphic3d.Graphic3d_Mat4___imul__(self, *args)

    def __mul__(self, *args) -> "NCollection_Mat4< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Mat4___mul__(self, *args)

    def Multiplied(self, *args) -> "NCollection_Mat4< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Mat4_Multiplied(self, *args)

    def Translate(self, theVec: "Graphic3d_Vec3") -> "void":
        return _Graphic3d.Graphic3d_Mat4_Translate(self, theVec)

    def Transposed(self) -> "NCollection_Mat4< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Mat4_Transposed(self)

    def Transpose(self) -> "void":
        return _Graphic3d.Graphic3d_Mat4_Transpose(self)

    def Inverted(self, theOutMx: "Graphic3d_Mat4") -> "bool":
        return _Graphic3d.Graphic3d_Mat4_Inverted(self, theOutMx)

    @staticmethod
    def Map(*args) -> "NCollection_Mat4< float > const &":
        return _Graphic3d.Graphic3d_Mat4_Map(*args)

    def DumpJson(self, theOStream: "Standard_OStream &", arg3: "Standard_Integer") -> "void":
        return _Graphic3d.Graphic3d_Mat4_DumpJson(self, theOStream, arg3)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Mat4

# Register Graphic3d_Mat4 in _Graphic3d:
_Graphic3d.Graphic3d_Mat4_swigregister(Graphic3d_Mat4)

def Graphic3d_Mat4_Rows() -> "size_t":
    return _Graphic3d.Graphic3d_Mat4_Rows()

def Graphic3d_Mat4_Cols() -> "size_t":
    return _Graphic3d.Graphic3d_Mat4_Cols()

def Graphic3d_Mat4_Map(*args) -> "NCollection_Mat4< float > const &":
    return _Graphic3d.Graphic3d_Mat4_Map(*args)

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

    @staticmethod
    def Rows() -> "size_t":
        return _Graphic3d.Graphic3d_Mat4d_Rows()

    @staticmethod
    def Cols() -> "size_t":
        return _Graphic3d.Graphic3d_Mat4d_Cols()

    def __init__(self):
        _Graphic3d.Graphic3d_Mat4d_swiginit(self, _Graphic3d.new_Graphic3d_Mat4d())

    def GetValue(self, theRow: "size_t const", theCol: "size_t const") -> "double":
        return _Graphic3d.Graphic3d_Mat4d_GetValue(self, theRow, theCol)

    def ChangeValue(self, theRow: "size_t const", theCol: "size_t const") -> "double &":
        return _Graphic3d.Graphic3d_Mat4d_ChangeValue(self, theRow, theCol)

    def SetValue(self, theRow: "size_t const", theCol: "size_t const", theValue: "double const") -> "void":
        return _Graphic3d.Graphic3d_Mat4d_SetValue(self, theRow, theCol, theValue)

    def GetRow(self, theRow: "size_t const") -> "NCollection_Vec4< double >":
        return _Graphic3d.Graphic3d_Mat4d_GetRow(self, theRow)

    def SetRow(self, *args) -> "void":
        return _Graphic3d.Graphic3d_Mat4d_SetRow(self, *args)

    def GetColumn(self, theCol: "size_t const") -> "NCollection_Vec4< double >":
        return _Graphic3d.Graphic3d_Mat4d_GetColumn(self, theCol)

    def SetColumn(self, *args) -> "void":
        return _Graphic3d.Graphic3d_Mat4d_SetColumn(self, *args)

    def GetDiagonal(self) -> "NCollection_Vec4< double >":
        return _Graphic3d.Graphic3d_Mat4d_GetDiagonal(self)

    def SetDiagonal(self, *args) -> "void":
        return _Graphic3d.Graphic3d_Mat4d_SetDiagonal(self, *args)

    def InitIdentity(self) -> "void":
        return _Graphic3d.Graphic3d_Mat4d_InitIdentity(self)

    def IsIdentity(self) -> "bool":
        return _Graphic3d.Graphic3d_Mat4d_IsIdentity(self)

    def IsEqual(self, theOther: "Graphic3d_Mat4d") -> "bool":
        return _Graphic3d.Graphic3d_Mat4d_IsEqual(self, theOther)

    def __eq__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Mat4d___eq__(self, *args)

    def __ne__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Mat4d___ne__(self, *args)

    def GetData(self) -> "double const *":
        return _Graphic3d.Graphic3d_Mat4d_GetData(self)

    def ChangeData(self) -> "double *":
        return _Graphic3d.Graphic3d_Mat4d_ChangeData(self)

    def Multiply(self, *args) -> "void":
        return _Graphic3d.Graphic3d_Mat4d_Multiply(self, *args)

    def __imul__(self, *args) -> "NCollection_Mat4< Standard_Real > &":
        return _Graphic3d.Graphic3d_Mat4d___imul__(self, *args)

    def __mul__(self, *args) -> "NCollection_Mat4< Standard_Real >":
        return _Graphic3d.Graphic3d_Mat4d___mul__(self, *args)

    def Multiplied(self, *args) -> "NCollection_Mat4< Standard_Real >":
        return _Graphic3d.Graphic3d_Mat4d_Multiplied(self, *args)

    def Translate(self, theVec: "Graphic3d_Vec3d") -> "void":
        return _Graphic3d.Graphic3d_Mat4d_Translate(self, theVec)

    def Transposed(self) -> "NCollection_Mat4< Standard_Real >":
        return _Graphic3d.Graphic3d_Mat4d_Transposed(self)

    def Transpose(self) -> "void":
        return _Graphic3d.Graphic3d_Mat4d_Transpose(self)

    def Inverted(self, theOutMx: "Graphic3d_Mat4d") -> "bool":
        return _Graphic3d.Graphic3d_Mat4d_Inverted(self, theOutMx)

    @staticmethod
    def Map(*args) -> "NCollection_Mat4< double > const &":
        return _Graphic3d.Graphic3d_Mat4d_Map(*args)

    def DumpJson(self, theOStream: "Standard_OStream &", arg3: "Standard_Integer") -> "void":
        return _Graphic3d.Graphic3d_Mat4d_DumpJson(self, theOStream, arg3)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Mat4d

# Register Graphic3d_Mat4d in _Graphic3d:
_Graphic3d.Graphic3d_Mat4d_swigregister(Graphic3d_Mat4d)

def Graphic3d_Mat4d_Rows() -> "size_t":
    return _Graphic3d.Graphic3d_Mat4d_Rows()

def Graphic3d_Mat4d_Cols() -> "size_t":
    return _Graphic3d.Graphic3d_Mat4d_Cols()

def Graphic3d_Mat4d_Map(*args) -> "NCollection_Mat4< double > const &":
    return _Graphic3d.Graphic3d_Mat4d_Map(*args)

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

    def begin(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_Group > >::iterator":
        return _Graphic3d.Graphic3d_SequenceOfGroup_begin(self)

    def end(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_Group > >::iterator":
        return _Graphic3d.Graphic3d_SequenceOfGroup_end(self)

    def cbegin(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_Group > >::const_iterator":
        return _Graphic3d.Graphic3d_SequenceOfGroup_cbegin(self)

    def cend(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_Group > >::const_iterator":
        return _Graphic3d.Graphic3d_SequenceOfGroup_cend(self)

    def __init__(self, *args):
        _Graphic3d.Graphic3d_SequenceOfGroup_swiginit(self, _Graphic3d.new_Graphic3d_SequenceOfGroup(*args))

    def Size(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_SequenceOfGroup_Size(self)

    def Length(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_SequenceOfGroup_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_SequenceOfGroup_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_SequenceOfGroup_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_SequenceOfGroup_IsEmpty(self)

    def Reverse(self) -> "void":
        return _Graphic3d.Graphic3d_SequenceOfGroup_Reverse(self)

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

    @staticmethod
    def delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
        return _Graphic3d.Graphic3d_SequenceOfGroup_delNode(theNode, theAl)

    def Clear(self, theAllocator: "opencascade::handle< NCollection_BaseAllocator > const &"=0) -> "void":
        return _Graphic3d.Graphic3d_SequenceOfGroup_Clear(self, theAllocator)

    def Assign(self, theOther: "Graphic3d_SequenceOfGroup") -> "NCollection_Sequence< opencascade::handle< Graphic3d_Group > > &":
        return _Graphic3d.Graphic3d_SequenceOfGroup_Assign(self, theOther)

    def Set(self, theOther: "Graphic3d_SequenceOfGroup") -> "NCollection_Sequence< opencascade::handle< Graphic3d_Group > > &":
        return _Graphic3d.Graphic3d_SequenceOfGroup_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _Graphic3d.Graphic3d_SequenceOfGroup_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _Graphic3d.Graphic3d_SequenceOfGroup_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _Graphic3d.Graphic3d_SequenceOfGroup_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _Graphic3d.Graphic3d_SequenceOfGroup_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _Graphic3d.Graphic3d_SequenceOfGroup_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "Graphic3d_SequenceOfGroup") -> "void":
        return _Graphic3d.Graphic3d_SequenceOfGroup_Split(self, theIndex, theSeq)

    def First(self) -> "opencascade::handle< Graphic3d_Group > const &":
        return _Graphic3d.Graphic3d_SequenceOfGroup_First(self)

    def ChangeFirst(self) -> "opencascade::handle< Graphic3d_Group > &":
        return _Graphic3d.Graphic3d_SequenceOfGroup_ChangeFirst(self)

    def Last(self) -> "opencascade::handle< Graphic3d_Group > const &":
        return _Graphic3d.Graphic3d_SequenceOfGroup_Last(self)

    def ChangeLast(self) -> "opencascade::handle< Graphic3d_Group > &":
        return _Graphic3d.Graphic3d_SequenceOfGroup_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "opencascade::handle< Graphic3d_Group > const &":
        return _Graphic3d.Graphic3d_SequenceOfGroup_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "opencascade::handle< Graphic3d_Group > &":
        return _Graphic3d.Graphic3d_SequenceOfGroup_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "opencascade::handle< Graphic3d_Group > &":
        return _Graphic3d.Graphic3d_SequenceOfGroup___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "opencascade::handle< Graphic3d_Group > const &") -> "void":
        return _Graphic3d.Graphic3d_SequenceOfGroup_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_SequenceOfGroup

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


# Register Graphic3d_SequenceOfGroup in _Graphic3d:
_Graphic3d.Graphic3d_SequenceOfGroup_swigregister(Graphic3d_SequenceOfGroup)

def Graphic3d_SequenceOfGroup_delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
    return _Graphic3d.Graphic3d_SequenceOfGroup_delNode(theNode, theAl)

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

    def begin(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_Structure > >::iterator":
        return _Graphic3d.Graphic3d_SequenceOfStructure_begin(self)

    def end(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_Structure > >::iterator":
        return _Graphic3d.Graphic3d_SequenceOfStructure_end(self)

    def cbegin(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_Structure > >::const_iterator":
        return _Graphic3d.Graphic3d_SequenceOfStructure_cbegin(self)

    def cend(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_Structure > >::const_iterator":
        return _Graphic3d.Graphic3d_SequenceOfStructure_cend(self)

    def __init__(self, *args):
        _Graphic3d.Graphic3d_SequenceOfStructure_swiginit(self, _Graphic3d.new_Graphic3d_SequenceOfStructure(*args))

    def Size(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_SequenceOfStructure_Size(self)

    def Length(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_SequenceOfStructure_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_SequenceOfStructure_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_SequenceOfStructure_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_SequenceOfStructure_IsEmpty(self)

    def Reverse(self) -> "void":
        return _Graphic3d.Graphic3d_SequenceOfStructure_Reverse(self)

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

    @staticmethod
    def delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
        return _Graphic3d.Graphic3d_SequenceOfStructure_delNode(theNode, theAl)

    def Clear(self, theAllocator: "opencascade::handle< NCollection_BaseAllocator > const &"=0) -> "void":
        return _Graphic3d.Graphic3d_SequenceOfStructure_Clear(self, theAllocator)

    def Assign(self, theOther: "Graphic3d_SequenceOfStructure") -> "NCollection_Sequence< opencascade::handle< Graphic3d_Structure > > &":
        return _Graphic3d.Graphic3d_SequenceOfStructure_Assign(self, theOther)

    def Set(self, theOther: "Graphic3d_SequenceOfStructure") -> "NCollection_Sequence< opencascade::handle< Graphic3d_Structure > > &":
        return _Graphic3d.Graphic3d_SequenceOfStructure_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _Graphic3d.Graphic3d_SequenceOfStructure_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _Graphic3d.Graphic3d_SequenceOfStructure_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _Graphic3d.Graphic3d_SequenceOfStructure_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _Graphic3d.Graphic3d_SequenceOfStructure_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _Graphic3d.Graphic3d_SequenceOfStructure_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "Graphic3d_SequenceOfStructure") -> "void":
        return _Graphic3d.Graphic3d_SequenceOfStructure_Split(self, theIndex, theSeq)

    def First(self) -> "opencascade::handle< Graphic3d_Structure > const &":
        return _Graphic3d.Graphic3d_SequenceOfStructure_First(self)

    def ChangeFirst(self) -> "opencascade::handle< Graphic3d_Structure > &":
        return _Graphic3d.Graphic3d_SequenceOfStructure_ChangeFirst(self)

    def Last(self) -> "opencascade::handle< Graphic3d_Structure > const &":
        return _Graphic3d.Graphic3d_SequenceOfStructure_Last(self)

    def ChangeLast(self) -> "opencascade::handle< Graphic3d_Structure > &":
        return _Graphic3d.Graphic3d_SequenceOfStructure_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "opencascade::handle< Graphic3d_Structure > const &":
        return _Graphic3d.Graphic3d_SequenceOfStructure_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "opencascade::handle< Graphic3d_Structure > &":
        return _Graphic3d.Graphic3d_SequenceOfStructure_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "opencascade::handle< Graphic3d_Structure > &":
        return _Graphic3d.Graphic3d_SequenceOfStructure___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "opencascade::handle< Graphic3d_Structure > const &") -> "void":
        return _Graphic3d.Graphic3d_SequenceOfStructure_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_SequenceOfStructure

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


# Register Graphic3d_SequenceOfStructure in _Graphic3d:
_Graphic3d.Graphic3d_SequenceOfStructure_swigregister(Graphic3d_SequenceOfStructure)

def Graphic3d_SequenceOfStructure_delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
    return _Graphic3d.Graphic3d_SequenceOfStructure_delNode(theNode, theAl)

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

    def begin(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_ShaderAttribute > >::iterator":
        return _Graphic3d.Graphic3d_ShaderAttributeList_begin(self)

    def end(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_ShaderAttribute > >::iterator":
        return _Graphic3d.Graphic3d_ShaderAttributeList_end(self)

    def cbegin(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_ShaderAttribute > >::const_iterator":
        return _Graphic3d.Graphic3d_ShaderAttributeList_cbegin(self)

    def cend(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_ShaderAttribute > >::const_iterator":
        return _Graphic3d.Graphic3d_ShaderAttributeList_cend(self)

    def __init__(self, *args):
        _Graphic3d.Graphic3d_ShaderAttributeList_swiginit(self, _Graphic3d.new_Graphic3d_ShaderAttributeList(*args))

    def Size(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_ShaderAttributeList_Size(self)

    def Length(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_ShaderAttributeList_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_ShaderAttributeList_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_ShaderAttributeList_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_ShaderAttributeList_IsEmpty(self)

    def Reverse(self) -> "void":
        return _Graphic3d.Graphic3d_ShaderAttributeList_Reverse(self)

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

    @staticmethod
    def delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
        return _Graphic3d.Graphic3d_ShaderAttributeList_delNode(theNode, theAl)

    def Clear(self, theAllocator: "opencascade::handle< NCollection_BaseAllocator > const &"=0) -> "void":
        return _Graphic3d.Graphic3d_ShaderAttributeList_Clear(self, theAllocator)

    def Assign(self, theOther: "Graphic3d_ShaderAttributeList") -> "NCollection_Sequence< opencascade::handle< Graphic3d_ShaderAttribute > > &":
        return _Graphic3d.Graphic3d_ShaderAttributeList_Assign(self, theOther)

    def Set(self, theOther: "Graphic3d_ShaderAttributeList") -> "NCollection_Sequence< opencascade::handle< Graphic3d_ShaderAttribute > > &":
        return _Graphic3d.Graphic3d_ShaderAttributeList_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _Graphic3d.Graphic3d_ShaderAttributeList_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _Graphic3d.Graphic3d_ShaderAttributeList_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _Graphic3d.Graphic3d_ShaderAttributeList_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _Graphic3d.Graphic3d_ShaderAttributeList_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _Graphic3d.Graphic3d_ShaderAttributeList_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "Graphic3d_ShaderAttributeList") -> "void":
        return _Graphic3d.Graphic3d_ShaderAttributeList_Split(self, theIndex, theSeq)

    def First(self) -> "opencascade::handle< Graphic3d_ShaderAttribute > const &":
        return _Graphic3d.Graphic3d_ShaderAttributeList_First(self)

    def ChangeFirst(self) -> "opencascade::handle< Graphic3d_ShaderAttribute > &":
        return _Graphic3d.Graphic3d_ShaderAttributeList_ChangeFirst(self)

    def Last(self) -> "opencascade::handle< Graphic3d_ShaderAttribute > const &":
        return _Graphic3d.Graphic3d_ShaderAttributeList_Last(self)

    def ChangeLast(self) -> "opencascade::handle< Graphic3d_ShaderAttribute > &":
        return _Graphic3d.Graphic3d_ShaderAttributeList_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "opencascade::handle< Graphic3d_ShaderAttribute > const &":
        return _Graphic3d.Graphic3d_ShaderAttributeList_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "opencascade::handle< Graphic3d_ShaderAttribute > &":
        return _Graphic3d.Graphic3d_ShaderAttributeList_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "opencascade::handle< Graphic3d_ShaderAttribute > &":
        return _Graphic3d.Graphic3d_ShaderAttributeList___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "opencascade::handle< Graphic3d_ShaderAttribute > const &") -> "void":
        return _Graphic3d.Graphic3d_ShaderAttributeList_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ShaderAttributeList

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


# Register Graphic3d_ShaderAttributeList in _Graphic3d:
_Graphic3d.Graphic3d_ShaderAttributeList_swigregister(Graphic3d_ShaderAttributeList)

def Graphic3d_ShaderAttributeList_delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
    return _Graphic3d.Graphic3d_ShaderAttributeList_delNode(theNode, theAl)

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

    def begin(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_ShaderObject > >::iterator":
        return _Graphic3d.Graphic3d_ShaderObjectList_begin(self)

    def end(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_ShaderObject > >::iterator":
        return _Graphic3d.Graphic3d_ShaderObjectList_end(self)

    def cbegin(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_ShaderObject > >::const_iterator":
        return _Graphic3d.Graphic3d_ShaderObjectList_cbegin(self)

    def cend(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_ShaderObject > >::const_iterator":
        return _Graphic3d.Graphic3d_ShaderObjectList_cend(self)

    def __init__(self, *args):
        _Graphic3d.Graphic3d_ShaderObjectList_swiginit(self, _Graphic3d.new_Graphic3d_ShaderObjectList(*args))

    def Size(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_ShaderObjectList_Size(self)

    def Length(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_ShaderObjectList_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_ShaderObjectList_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_ShaderObjectList_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_ShaderObjectList_IsEmpty(self)

    def Reverse(self) -> "void":
        return _Graphic3d.Graphic3d_ShaderObjectList_Reverse(self)

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

    @staticmethod
    def delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
        return _Graphic3d.Graphic3d_ShaderObjectList_delNode(theNode, theAl)

    def Clear(self, theAllocator: "opencascade::handle< NCollection_BaseAllocator > const &"=0) -> "void":
        return _Graphic3d.Graphic3d_ShaderObjectList_Clear(self, theAllocator)

    def Assign(self, theOther: "Graphic3d_ShaderObjectList") -> "NCollection_Sequence< opencascade::handle< Graphic3d_ShaderObject > > &":
        return _Graphic3d.Graphic3d_ShaderObjectList_Assign(self, theOther)

    def Set(self, theOther: "Graphic3d_ShaderObjectList") -> "NCollection_Sequence< opencascade::handle< Graphic3d_ShaderObject > > &":
        return _Graphic3d.Graphic3d_ShaderObjectList_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _Graphic3d.Graphic3d_ShaderObjectList_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _Graphic3d.Graphic3d_ShaderObjectList_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _Graphic3d.Graphic3d_ShaderObjectList_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _Graphic3d.Graphic3d_ShaderObjectList_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _Graphic3d.Graphic3d_ShaderObjectList_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "Graphic3d_ShaderObjectList") -> "void":
        return _Graphic3d.Graphic3d_ShaderObjectList_Split(self, theIndex, theSeq)

    def First(self) -> "opencascade::handle< Graphic3d_ShaderObject > const &":
        return _Graphic3d.Graphic3d_ShaderObjectList_First(self)

    def ChangeFirst(self) -> "opencascade::handle< Graphic3d_ShaderObject > &":
        return _Graphic3d.Graphic3d_ShaderObjectList_ChangeFirst(self)

    def Last(self) -> "opencascade::handle< Graphic3d_ShaderObject > const &":
        return _Graphic3d.Graphic3d_ShaderObjectList_Last(self)

    def ChangeLast(self) -> "opencascade::handle< Graphic3d_ShaderObject > &":
        return _Graphic3d.Graphic3d_ShaderObjectList_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "opencascade::handle< Graphic3d_ShaderObject > const &":
        return _Graphic3d.Graphic3d_ShaderObjectList_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "opencascade::handle< Graphic3d_ShaderObject > &":
        return _Graphic3d.Graphic3d_ShaderObjectList_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "opencascade::handle< Graphic3d_ShaderObject > &":
        return _Graphic3d.Graphic3d_ShaderObjectList___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "opencascade::handle< Graphic3d_ShaderObject > const &") -> "void":
        return _Graphic3d.Graphic3d_ShaderObjectList_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ShaderObjectList

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


# Register Graphic3d_ShaderObjectList in _Graphic3d:
_Graphic3d.Graphic3d_ShaderObjectList_swigregister(Graphic3d_ShaderObjectList)

def Graphic3d_ShaderObjectList_delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
    return _Graphic3d.Graphic3d_ShaderObjectList_delNode(theNode, theAl)

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

    def begin(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_ShaderVariable > >::iterator":
        return _Graphic3d.Graphic3d_ShaderVariableList_begin(self)

    def end(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_ShaderVariable > >::iterator":
        return _Graphic3d.Graphic3d_ShaderVariableList_end(self)

    def cbegin(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_ShaderVariable > >::const_iterator":
        return _Graphic3d.Graphic3d_ShaderVariableList_cbegin(self)

    def cend(self) -> "NCollection_Sequence< opencascade::handle< Graphic3d_ShaderVariable > >::const_iterator":
        return _Graphic3d.Graphic3d_ShaderVariableList_cend(self)

    def __init__(self, *args):
        _Graphic3d.Graphic3d_ShaderVariableList_swiginit(self, _Graphic3d.new_Graphic3d_ShaderVariableList(*args))

    def Size(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_ShaderVariableList_Size(self)

    def Length(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_ShaderVariableList_Length(self)

    def Lower(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_ShaderVariableList_Lower(self)

    def Upper(self) -> "Standard_Integer":
        return _Graphic3d.Graphic3d_ShaderVariableList_Upper(self)

    def IsEmpty(self) -> "Standard_Boolean":
        return _Graphic3d.Graphic3d_ShaderVariableList_IsEmpty(self)

    def Reverse(self) -> "void":
        return _Graphic3d.Graphic3d_ShaderVariableList_Reverse(self)

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

    @staticmethod
    def delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
        return _Graphic3d.Graphic3d_ShaderVariableList_delNode(theNode, theAl)

    def Clear(self, theAllocator: "opencascade::handle< NCollection_BaseAllocator > const &"=0) -> "void":
        return _Graphic3d.Graphic3d_ShaderVariableList_Clear(self, theAllocator)

    def Assign(self, theOther: "Graphic3d_ShaderVariableList") -> "NCollection_Sequence< opencascade::handle< Graphic3d_ShaderVariable > > &":
        return _Graphic3d.Graphic3d_ShaderVariableList_Assign(self, theOther)

    def Set(self, theOther: "Graphic3d_ShaderVariableList") -> "NCollection_Sequence< opencascade::handle< Graphic3d_ShaderVariable > > &":
        return _Graphic3d.Graphic3d_ShaderVariableList_Set(self, theOther)

    def Remove(self, *args) -> "void":
        return _Graphic3d.Graphic3d_ShaderVariableList_Remove(self, *args)

    def Append(self, *args) -> "void":
        return _Graphic3d.Graphic3d_ShaderVariableList_Append(self, *args)

    def Prepend(self, *args) -> "void":
        return _Graphic3d.Graphic3d_ShaderVariableList_Prepend(self, *args)

    def InsertBefore(self, *args) -> "void":
        return _Graphic3d.Graphic3d_ShaderVariableList_InsertBefore(self, *args)

    def InsertAfter(self, *args) -> "void":
        return _Graphic3d.Graphic3d_ShaderVariableList_InsertAfter(self, *args)

    def Split(self, theIndex: "Standard_Integer const", theSeq: "Graphic3d_ShaderVariableList") -> "void":
        return _Graphic3d.Graphic3d_ShaderVariableList_Split(self, theIndex, theSeq)

    def First(self) -> "opencascade::handle< Graphic3d_ShaderVariable > const &":
        return _Graphic3d.Graphic3d_ShaderVariableList_First(self)

    def ChangeFirst(self) -> "opencascade::handle< Graphic3d_ShaderVariable > &":
        return _Graphic3d.Graphic3d_ShaderVariableList_ChangeFirst(self)

    def Last(self) -> "opencascade::handle< Graphic3d_ShaderVariable > const &":
        return _Graphic3d.Graphic3d_ShaderVariableList_Last(self)

    def ChangeLast(self) -> "opencascade::handle< Graphic3d_ShaderVariable > &":
        return _Graphic3d.Graphic3d_ShaderVariableList_ChangeLast(self)

    def Value(self, theIndex: "Standard_Integer const") -> "opencascade::handle< Graphic3d_ShaderVariable > const &":
        return _Graphic3d.Graphic3d_ShaderVariableList_Value(self, theIndex)

    def ChangeValue(self, theIndex: "Standard_Integer const") -> "opencascade::handle< Graphic3d_ShaderVariable > &":
        return _Graphic3d.Graphic3d_ShaderVariableList_ChangeValue(self, theIndex)

    def __call__(self, *args) -> "opencascade::handle< Graphic3d_ShaderVariable > &":
        return _Graphic3d.Graphic3d_ShaderVariableList___call__(self, *args)

    def SetValue(self, theIndex: "Standard_Integer const", theItem: "opencascade::handle< Graphic3d_ShaderVariable > const &") -> "void":
        return _Graphic3d.Graphic3d_ShaderVariableList_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ShaderVariableList

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


# Register Graphic3d_ShaderVariableList in _Graphic3d:
_Graphic3d.Graphic3d_ShaderVariableList_swigregister(Graphic3d_ShaderVariableList)

def Graphic3d_ShaderVariableList_delNode(theNode: "NCollection_SeqNode *", theAl: "opencascade::handle< NCollection_BaseAllocator > &") -> "void":
    return _Graphic3d.Graphic3d_ShaderVariableList_delNode(theNode, theAl)

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

    @staticmethod
    def Length() -> "int":
        return _Graphic3d.Graphic3d_Vec2_Length()

    def __init__(self, *args):
        _Graphic3d.Graphic3d_Vec2_swiginit(self, _Graphic3d.new_Graphic3d_Vec2(*args))

    def SetValues(self, theX: "float const", theY: "float const") -> "void":
        return _Graphic3d.Graphic3d_Vec2_SetValues(self, theX, theY)

    def xy(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec2_xy(self)

    def yx(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec2_yx(self)

    def x(self, *args) -> "float &":
        return _Graphic3d.Graphic3d_Vec2_x(self, *args)

    def y(self, *args) -> "float &":
        return _Graphic3d.Graphic3d_Vec2_y(self, *args)

    def IsEqual(self, theOther: "Graphic3d_Vec2") -> "bool":
        return _Graphic3d.Graphic3d_Vec2_IsEqual(self, theOther)

    def __eq__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec2___eq__(self, *args)

    def __ne__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec2___ne__(self, *args)

    def GetData(self) -> "float const *":
        return _Graphic3d.Graphic3d_Vec2_GetData(self)

    def ChangeData(self) -> "float *":
        return _Graphic3d.Graphic3d_Vec2_ChangeData(self)

    def __iadd__(self, theAdd: "Graphic3d_Vec2") -> "NCollection_Vec2< Standard_ShortReal > &":
        return _Graphic3d.Graphic3d_Vec2___iadd__(self, theAdd)

    def __isub__(self, theDec: "Graphic3d_Vec2") -> "NCollection_Vec2< Standard_ShortReal > &":
        return _Graphic3d.Graphic3d_Vec2___isub__(self, theDec)

    def __neg__(self) -> "NCollection_Vec2< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec2___neg__(self)

    def Multiply(self, theFactor: "float const") -> "void":
        return _Graphic3d.Graphic3d_Vec2_Multiply(self, theFactor)

    def Multiplied(self, theFactor: "float const") -> "NCollection_Vec2< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec2_Multiplied(self, theFactor)

    def cwiseMin(self, theVec: "Graphic3d_Vec2") -> "NCollection_Vec2< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec2_cwiseMin(self, theVec)

    def cwiseMax(self, theVec: "Graphic3d_Vec2") -> "NCollection_Vec2< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec2_cwiseMax(self, theVec)

    def cwiseAbs(self) -> "NCollection_Vec2< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec2_cwiseAbs(self)

    def maxComp(self) -> "float":
        return _Graphic3d.Graphic3d_Vec2_maxComp(self)

    def minComp(self) -> "float":
        return _Graphic3d.Graphic3d_Vec2_minComp(self)

    def __imul__(self, *args) -> "NCollection_Vec2< Standard_ShortReal > &":
        return _Graphic3d.Graphic3d_Vec2___imul__(self, *args)

    def __itruediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec2___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __mul__(self, theFactor: "float const") -> "NCollection_Vec2< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec2___mul__(self, theFactor)

    def __truediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec2___truediv__(self, *args)
    __div__ = __truediv__



    def Dot(self, theOther: "Graphic3d_Vec2") -> "float":
        return _Graphic3d.Graphic3d_Vec2_Dot(self, theOther)

    def Modulus(self) -> "float":
        return _Graphic3d.Graphic3d_Vec2_Modulus(self)

    def SquareModulus(self) -> "float":
        return _Graphic3d.Graphic3d_Vec2_SquareModulus(self)

    @staticmethod
    def DX() -> "NCollection_Vec2< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec2_DX()

    @staticmethod
    def DY() -> "NCollection_Vec2< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec2_DY()

    def DumpJson(self, theOStream: "Standard_OStream &", theDepth: "Standard_Integer"=-1) -> "void":
        return _Graphic3d.Graphic3d_Vec2_DumpJson(self, theOStream, theDepth)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Vec2

# Register Graphic3d_Vec2 in _Graphic3d:
_Graphic3d.Graphic3d_Vec2_swigregister(Graphic3d_Vec2)

def Graphic3d_Vec2_Length() -> "int":
    return _Graphic3d.Graphic3d_Vec2_Length()

def Graphic3d_Vec2_DX() -> "NCollection_Vec2< Standard_ShortReal >":
    return _Graphic3d.Graphic3d_Vec2_DX()

def Graphic3d_Vec2_DY() -> "NCollection_Vec2< Standard_ShortReal >":
    return _Graphic3d.Graphic3d_Vec2_DY()

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

    @staticmethod
    def Length() -> "int":
        return _Graphic3d.Graphic3d_Vec2b_Length()

    def __init__(self, *args):
        _Graphic3d.Graphic3d_Vec2b_swiginit(self, _Graphic3d.new_Graphic3d_Vec2b(*args))

    def SetValues(self, theX: "char const", theY: "char const") -> "void":
        return _Graphic3d.Graphic3d_Vec2b_SetValues(self, theX, theY)

    def xy(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec2b_xy(self)

    def yx(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec2b_yx(self)

    def x(self, *args) -> "char &":
        return _Graphic3d.Graphic3d_Vec2b_x(self, *args)

    def y(self, *args) -> "char &":
        return _Graphic3d.Graphic3d_Vec2b_y(self, *args)

    def IsEqual(self, theOther: "Graphic3d_Vec2b") -> "bool":
        return _Graphic3d.Graphic3d_Vec2b_IsEqual(self, theOther)

    def __eq__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec2b___eq__(self, *args)

    def __ne__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec2b___ne__(self, *args)

    def GetData(self) -> "char const *":
        return _Graphic3d.Graphic3d_Vec2b_GetData(self)

    def ChangeData(self) -> "char *":
        return _Graphic3d.Graphic3d_Vec2b_ChangeData(self)

    def __iadd__(self, theAdd: "Graphic3d_Vec2b") -> "NCollection_Vec2< Standard_Character > &":
        return _Graphic3d.Graphic3d_Vec2b___iadd__(self, theAdd)

    def __isub__(self, theDec: "Graphic3d_Vec2b") -> "NCollection_Vec2< Standard_Character > &":
        return _Graphic3d.Graphic3d_Vec2b___isub__(self, theDec)

    def __neg__(self) -> "NCollection_Vec2< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec2b___neg__(self)

    def Multiply(self, theFactor: "char const") -> "void":
        return _Graphic3d.Graphic3d_Vec2b_Multiply(self, theFactor)

    def Multiplied(self, theFactor: "char const") -> "NCollection_Vec2< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec2b_Multiplied(self, theFactor)

    def cwiseMin(self, theVec: "Graphic3d_Vec2b") -> "NCollection_Vec2< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec2b_cwiseMin(self, theVec)

    def cwiseMax(self, theVec: "Graphic3d_Vec2b") -> "NCollection_Vec2< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec2b_cwiseMax(self, theVec)

    def cwiseAbs(self) -> "NCollection_Vec2< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec2b_cwiseAbs(self)

    def maxComp(self) -> "char":
        return _Graphic3d.Graphic3d_Vec2b_maxComp(self)

    def minComp(self) -> "char":
        return _Graphic3d.Graphic3d_Vec2b_minComp(self)

    def __imul__(self, *args) -> "NCollection_Vec2< Standard_Character > &":
        return _Graphic3d.Graphic3d_Vec2b___imul__(self, *args)

    def __itruediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec2b___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __mul__(self, theFactor: "char const") -> "NCollection_Vec2< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec2b___mul__(self, theFactor)

    def __truediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec2b___truediv__(self, *args)
    __div__ = __truediv__



    def Dot(self, theOther: "Graphic3d_Vec2b") -> "char":
        return _Graphic3d.Graphic3d_Vec2b_Dot(self, theOther)

    def Modulus(self) -> "char":
        return _Graphic3d.Graphic3d_Vec2b_Modulus(self)

    def SquareModulus(self) -> "char":
        return _Graphic3d.Graphic3d_Vec2b_SquareModulus(self)

    @staticmethod
    def DX() -> "NCollection_Vec2< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec2b_DX()

    @staticmethod
    def DY() -> "NCollection_Vec2< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec2b_DY()

    def DumpJson(self, theOStream: "Standard_OStream &", theDepth: "Standard_Integer"=-1) -> "void":
        return _Graphic3d.Graphic3d_Vec2b_DumpJson(self, theOStream, theDepth)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Vec2b

# Register Graphic3d_Vec2b in _Graphic3d:
_Graphic3d.Graphic3d_Vec2b_swigregister(Graphic3d_Vec2b)

def Graphic3d_Vec2b_Length() -> "int":
    return _Graphic3d.Graphic3d_Vec2b_Length()

def Graphic3d_Vec2b_DX() -> "NCollection_Vec2< Standard_Character >":
    return _Graphic3d.Graphic3d_Vec2b_DX()

def Graphic3d_Vec2b_DY() -> "NCollection_Vec2< Standard_Character >":
    return _Graphic3d.Graphic3d_Vec2b_DY()

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

    @staticmethod
    def Length() -> "int":
        return _Graphic3d.Graphic3d_Vec2d_Length()

    def __init__(self, *args):
        _Graphic3d.Graphic3d_Vec2d_swiginit(self, _Graphic3d.new_Graphic3d_Vec2d(*args))

    def SetValues(self, theX: "double const", theY: "double const") -> "void":
        return _Graphic3d.Graphic3d_Vec2d_SetValues(self, theX, theY)

    def xy(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec2d_xy(self)

    def yx(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec2d_yx(self)

    def x(self, *args) -> "double &":
        return _Graphic3d.Graphic3d_Vec2d_x(self, *args)

    def y(self, *args) -> "double &":
        return _Graphic3d.Graphic3d_Vec2d_y(self, *args)

    def IsEqual(self, theOther: "Graphic3d_Vec2d") -> "bool":
        return _Graphic3d.Graphic3d_Vec2d_IsEqual(self, theOther)

    def __eq__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec2d___eq__(self, *args)

    def __ne__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec2d___ne__(self, *args)

    def GetData(self) -> "double const *":
        return _Graphic3d.Graphic3d_Vec2d_GetData(self)

    def ChangeData(self) -> "double *":
        return _Graphic3d.Graphic3d_Vec2d_ChangeData(self)

    def __iadd__(self, theAdd: "Graphic3d_Vec2d") -> "NCollection_Vec2< Standard_Real > &":
        return _Graphic3d.Graphic3d_Vec2d___iadd__(self, theAdd)

    def __isub__(self, theDec: "Graphic3d_Vec2d") -> "NCollection_Vec2< Standard_Real > &":
        return _Graphic3d.Graphic3d_Vec2d___isub__(self, theDec)

    def __neg__(self) -> "NCollection_Vec2< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec2d___neg__(self)

    def Multiply(self, theFactor: "double const") -> "void":
        return _Graphic3d.Graphic3d_Vec2d_Multiply(self, theFactor)

    def Multiplied(self, theFactor: "double const") -> "NCollection_Vec2< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec2d_Multiplied(self, theFactor)

    def cwiseMin(self, theVec: "Graphic3d_Vec2d") -> "NCollection_Vec2< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec2d_cwiseMin(self, theVec)

    def cwiseMax(self, theVec: "Graphic3d_Vec2d") -> "NCollection_Vec2< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec2d_cwiseMax(self, theVec)

    def cwiseAbs(self) -> "NCollection_Vec2< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec2d_cwiseAbs(self)

    def maxComp(self) -> "double":
        return _Graphic3d.Graphic3d_Vec2d_maxComp(self)

    def minComp(self) -> "double":
        return _Graphic3d.Graphic3d_Vec2d_minComp(self)

    def __imul__(self, *args) -> "NCollection_Vec2< Standard_Real > &":
        return _Graphic3d.Graphic3d_Vec2d___imul__(self, *args)

    def __itruediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec2d___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __mul__(self, theFactor: "double const") -> "NCollection_Vec2< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec2d___mul__(self, theFactor)

    def __truediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec2d___truediv__(self, *args)
    __div__ = __truediv__



    def Dot(self, theOther: "Graphic3d_Vec2d") -> "double":
        return _Graphic3d.Graphic3d_Vec2d_Dot(self, theOther)

    def Modulus(self) -> "double":
        return _Graphic3d.Graphic3d_Vec2d_Modulus(self)

    def SquareModulus(self) -> "double":
        return _Graphic3d.Graphic3d_Vec2d_SquareModulus(self)

    @staticmethod
    def DX() -> "NCollection_Vec2< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec2d_DX()

    @staticmethod
    def DY() -> "NCollection_Vec2< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec2d_DY()

    def DumpJson(self, theOStream: "Standard_OStream &", theDepth: "Standard_Integer"=-1) -> "void":
        return _Graphic3d.Graphic3d_Vec2d_DumpJson(self, theOStream, theDepth)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Vec2d

# Register Graphic3d_Vec2d in _Graphic3d:
_Graphic3d.Graphic3d_Vec2d_swigregister(Graphic3d_Vec2d)

def Graphic3d_Vec2d_Length() -> "int":
    return _Graphic3d.Graphic3d_Vec2d_Length()

def Graphic3d_Vec2d_DX() -> "NCollection_Vec2< Standard_Real >":
    return _Graphic3d.Graphic3d_Vec2d_DX()

def Graphic3d_Vec2d_DY() -> "NCollection_Vec2< Standard_Real >":
    return _Graphic3d.Graphic3d_Vec2d_DY()

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

    @staticmethod
    def Length() -> "int":
        return _Graphic3d.Graphic3d_Vec2i_Length()

    def __init__(self, *args):
        _Graphic3d.Graphic3d_Vec2i_swiginit(self, _Graphic3d.new_Graphic3d_Vec2i(*args))

    def SetValues(self, theX: "int const", theY: "int const") -> "void":
        return _Graphic3d.Graphic3d_Vec2i_SetValues(self, theX, theY)

    def xy(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec2i_xy(self)

    def yx(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec2i_yx(self)

    def x(self, *args) -> "int &":
        return _Graphic3d.Graphic3d_Vec2i_x(self, *args)

    def y(self, *args) -> "int &":
        return _Graphic3d.Graphic3d_Vec2i_y(self, *args)

    def IsEqual(self, theOther: "Graphic3d_Vec2i") -> "bool":
        return _Graphic3d.Graphic3d_Vec2i_IsEqual(self, theOther)

    def __eq__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec2i___eq__(self, *args)

    def __ne__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec2i___ne__(self, *args)

    def GetData(self) -> "int const *":
        return _Graphic3d.Graphic3d_Vec2i_GetData(self)

    def ChangeData(self) -> "int *":
        return _Graphic3d.Graphic3d_Vec2i_ChangeData(self)

    def __iadd__(self, theAdd: "Graphic3d_Vec2i") -> "NCollection_Vec2< Standard_Integer > &":
        return _Graphic3d.Graphic3d_Vec2i___iadd__(self, theAdd)

    def __isub__(self, theDec: "Graphic3d_Vec2i") -> "NCollection_Vec2< Standard_Integer > &":
        return _Graphic3d.Graphic3d_Vec2i___isub__(self, theDec)

    def __neg__(self) -> "NCollection_Vec2< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec2i___neg__(self)

    def Multiply(self, theFactor: "int const") -> "void":
        return _Graphic3d.Graphic3d_Vec2i_Multiply(self, theFactor)

    def Multiplied(self, theFactor: "int const") -> "NCollection_Vec2< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec2i_Multiplied(self, theFactor)

    def cwiseMin(self, theVec: "Graphic3d_Vec2i") -> "NCollection_Vec2< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec2i_cwiseMin(self, theVec)

    def cwiseMax(self, theVec: "Graphic3d_Vec2i") -> "NCollection_Vec2< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec2i_cwiseMax(self, theVec)

    def cwiseAbs(self) -> "NCollection_Vec2< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec2i_cwiseAbs(self)

    def maxComp(self) -> "int":
        return _Graphic3d.Graphic3d_Vec2i_maxComp(self)

    def minComp(self) -> "int":
        return _Graphic3d.Graphic3d_Vec2i_minComp(self)

    def __imul__(self, *args) -> "NCollection_Vec2< Standard_Integer > &":
        return _Graphic3d.Graphic3d_Vec2i___imul__(self, *args)

    def __itruediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec2i___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __mul__(self, theFactor: "int const") -> "NCollection_Vec2< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec2i___mul__(self, theFactor)

    def __truediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec2i___truediv__(self, *args)
    __div__ = __truediv__



    def Dot(self, theOther: "Graphic3d_Vec2i") -> "int":
        return _Graphic3d.Graphic3d_Vec2i_Dot(self, theOther)

    def Modulus(self) -> "int":
        return _Graphic3d.Graphic3d_Vec2i_Modulus(self)

    def SquareModulus(self) -> "int":
        return _Graphic3d.Graphic3d_Vec2i_SquareModulus(self)

    @staticmethod
    def DX() -> "NCollection_Vec2< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec2i_DX()

    @staticmethod
    def DY() -> "NCollection_Vec2< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec2i_DY()

    def DumpJson(self, theOStream: "Standard_OStream &", theDepth: "Standard_Integer"=-1) -> "void":
        return _Graphic3d.Graphic3d_Vec2i_DumpJson(self, theOStream, theDepth)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Vec2i

# Register Graphic3d_Vec2i in _Graphic3d:
_Graphic3d.Graphic3d_Vec2i_swigregister(Graphic3d_Vec2i)

def Graphic3d_Vec2i_Length() -> "int":
    return _Graphic3d.Graphic3d_Vec2i_Length()

def Graphic3d_Vec2i_DX() -> "NCollection_Vec2< Standard_Integer >":
    return _Graphic3d.Graphic3d_Vec2i_DX()

def Graphic3d_Vec2i_DY() -> "NCollection_Vec2< Standard_Integer >":
    return _Graphic3d.Graphic3d_Vec2i_DY()

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

    @staticmethod
    def Length() -> "int":
        return _Graphic3d.Graphic3d_Vec2ub_Length()

    def __init__(self, *args):
        _Graphic3d.Graphic3d_Vec2ub_swiginit(self, _Graphic3d.new_Graphic3d_Vec2ub(*args))

    def SetValues(self, theX: "unsigned char const", theY: "unsigned char const") -> "void":
        return _Graphic3d.Graphic3d_Vec2ub_SetValues(self, theX, theY)

    def xy(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec2ub_xy(self)

    def yx(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec2ub_yx(self)

    def x(self, *args) -> "unsigned char &":
        return _Graphic3d.Graphic3d_Vec2ub_x(self, *args)

    def y(self, *args) -> "unsigned char &":
        return _Graphic3d.Graphic3d_Vec2ub_y(self, *args)

    def IsEqual(self, theOther: "Graphic3d_Vec2ub") -> "bool":
        return _Graphic3d.Graphic3d_Vec2ub_IsEqual(self, theOther)

    def __eq__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec2ub___eq__(self, *args)

    def __ne__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec2ub___ne__(self, *args)

    def GetData(self) -> "unsigned char const *":
        return _Graphic3d.Graphic3d_Vec2ub_GetData(self)

    def ChangeData(self) -> "unsigned char *":
        return _Graphic3d.Graphic3d_Vec2ub_ChangeData(self)

    def __iadd__(self, theAdd: "Graphic3d_Vec2ub") -> "NCollection_Vec2< Standard_Byte > &":
        return _Graphic3d.Graphic3d_Vec2ub___iadd__(self, theAdd)

    def __isub__(self, theDec: "Graphic3d_Vec2ub") -> "NCollection_Vec2< Standard_Byte > &":
        return _Graphic3d.Graphic3d_Vec2ub___isub__(self, theDec)

    def __neg__(self) -> "NCollection_Vec2< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec2ub___neg__(self)

    def Multiply(self, theFactor: "unsigned char const") -> "void":
        return _Graphic3d.Graphic3d_Vec2ub_Multiply(self, theFactor)

    def Multiplied(self, theFactor: "unsigned char const") -> "NCollection_Vec2< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec2ub_Multiplied(self, theFactor)

    def cwiseMin(self, theVec: "Graphic3d_Vec2ub") -> "NCollection_Vec2< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec2ub_cwiseMin(self, theVec)

    def cwiseMax(self, theVec: "Graphic3d_Vec2ub") -> "NCollection_Vec2< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec2ub_cwiseMax(self, theVec)

    def cwiseAbs(self) -> "NCollection_Vec2< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec2ub_cwiseAbs(self)

    def maxComp(self) -> "unsigned char":
        return _Graphic3d.Graphic3d_Vec2ub_maxComp(self)

    def minComp(self) -> "unsigned char":
        return _Graphic3d.Graphic3d_Vec2ub_minComp(self)

    def __imul__(self, *args) -> "NCollection_Vec2< Standard_Byte > &":
        return _Graphic3d.Graphic3d_Vec2ub___imul__(self, *args)

    def __itruediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec2ub___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __mul__(self, theFactor: "unsigned char const") -> "NCollection_Vec2< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec2ub___mul__(self, theFactor)

    def __truediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec2ub___truediv__(self, *args)
    __div__ = __truediv__



    def Dot(self, theOther: "Graphic3d_Vec2ub") -> "unsigned char":
        return _Graphic3d.Graphic3d_Vec2ub_Dot(self, theOther)

    def Modulus(self) -> "unsigned char":
        return _Graphic3d.Graphic3d_Vec2ub_Modulus(self)

    def SquareModulus(self) -> "unsigned char":
        return _Graphic3d.Graphic3d_Vec2ub_SquareModulus(self)

    @staticmethod
    def DX() -> "NCollection_Vec2< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec2ub_DX()

    @staticmethod
    def DY() -> "NCollection_Vec2< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec2ub_DY()

    def DumpJson(self, theOStream: "Standard_OStream &", theDepth: "Standard_Integer"=-1) -> "void":
        return _Graphic3d.Graphic3d_Vec2ub_DumpJson(self, theOStream, theDepth)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Vec2ub

# Register Graphic3d_Vec2ub in _Graphic3d:
_Graphic3d.Graphic3d_Vec2ub_swigregister(Graphic3d_Vec2ub)

def Graphic3d_Vec2ub_Length() -> "int":
    return _Graphic3d.Graphic3d_Vec2ub_Length()

def Graphic3d_Vec2ub_DX() -> "NCollection_Vec2< Standard_Byte >":
    return _Graphic3d.Graphic3d_Vec2ub_DX()

def Graphic3d_Vec2ub_DY() -> "NCollection_Vec2< Standard_Byte >":
    return _Graphic3d.Graphic3d_Vec2ub_DY()

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

    @staticmethod
    def Length() -> "int":
        return _Graphic3d.Graphic3d_Vec3_Length()

    def __init__(self, *args):
        _Graphic3d.Graphic3d_Vec3_swiginit(self, _Graphic3d.new_Graphic3d_Vec3(*args))

    def SetValues(self, *args) -> "void":
        return _Graphic3d.Graphic3d_Vec3_SetValues(self, *args)

    def xy(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec3_xy(self)

    def yx(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec3_yx(self)

    def xz(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec3_xz(self)

    def zx(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec3_zx(self)

    def yz(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec3_yz(self)

    def zy(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec3_zy(self)

    def xyz(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec3_xyz(self)

    def xzy(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec3_xzy(self)

    def yxz(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec3_yxz(self)

    def yzx(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec3_yzx(self)

    def zyx(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec3_zyx(self)

    def zxy(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec3_zxy(self)

    def x(self, *args) -> "float &":
        return _Graphic3d.Graphic3d_Vec3_x(self, *args)

    def r(self, *args) -> "float &":
        return _Graphic3d.Graphic3d_Vec3_r(self, *args)

    def y(self, *args) -> "float &":
        return _Graphic3d.Graphic3d_Vec3_y(self, *args)

    def g(self, *args) -> "float &":
        return _Graphic3d.Graphic3d_Vec3_g(self, *args)

    def z(self, *args) -> "float &":
        return _Graphic3d.Graphic3d_Vec3_z(self, *args)

    def b(self, *args) -> "float &":
        return _Graphic3d.Graphic3d_Vec3_b(self, *args)

    def IsEqual(self, theOther: "Graphic3d_Vec3") -> "bool":
        return _Graphic3d.Graphic3d_Vec3_IsEqual(self, theOther)

    def __eq__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec3___eq__(self, *args)

    def __ne__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec3___ne__(self, *args)

    def GetData(self) -> "float const *":
        return _Graphic3d.Graphic3d_Vec3_GetData(self)

    def ChangeData(self) -> "float *":
        return _Graphic3d.Graphic3d_Vec3_ChangeData(self)

    def __iadd__(self, theAdd: "Graphic3d_Vec3") -> "NCollection_Vec3< Standard_ShortReal > &":
        return _Graphic3d.Graphic3d_Vec3___iadd__(self, theAdd)

    def __neg__(self) -> "NCollection_Vec3< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec3___neg__(self)

    def __isub__(self, theDec: "Graphic3d_Vec3") -> "NCollection_Vec3< Standard_ShortReal > &":
        return _Graphic3d.Graphic3d_Vec3___isub__(self, theDec)

    def Multiply(self, theFactor: "float const") -> "void":
        return _Graphic3d.Graphic3d_Vec3_Multiply(self, theFactor)

    def __imul__(self, *args) -> "NCollection_Vec3< Standard_ShortReal > &":
        return _Graphic3d.Graphic3d_Vec3___imul__(self, *args)

    def __mul__(self, theFactor: "float const") -> "NCollection_Vec3< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec3___mul__(self, theFactor)

    def Multiplied(self, theFactor: "float const") -> "NCollection_Vec3< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec3_Multiplied(self, theFactor)

    def cwiseMin(self, theVec: "Graphic3d_Vec3") -> "NCollection_Vec3< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec3_cwiseMin(self, theVec)

    def cwiseMax(self, theVec: "Graphic3d_Vec3") -> "NCollection_Vec3< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec3_cwiseMax(self, theVec)

    def cwiseAbs(self) -> "NCollection_Vec3< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec3_cwiseAbs(self)

    def maxComp(self) -> "float":
        return _Graphic3d.Graphic3d_Vec3_maxComp(self)

    def minComp(self) -> "float":
        return _Graphic3d.Graphic3d_Vec3_minComp(self)

    def __itruediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec3___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec3___truediv__(self, *args)
    __div__ = __truediv__



    def Dot(self, theOther: "Graphic3d_Vec3") -> "float":
        return _Graphic3d.Graphic3d_Vec3_Dot(self, theOther)

    def Modulus(self) -> "float":
        return _Graphic3d.Graphic3d_Vec3_Modulus(self)

    def SquareModulus(self) -> "float":
        return _Graphic3d.Graphic3d_Vec3_SquareModulus(self)

    def Normalize(self) -> "void":
        return _Graphic3d.Graphic3d_Vec3_Normalize(self)

    def Normalized(self) -> "NCollection_Vec3< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec3_Normalized(self)

    @staticmethod
    def Cross(theVec1: "Graphic3d_Vec3", theVec2: "Graphic3d_Vec3") -> "NCollection_Vec3< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec3_Cross(theVec1, theVec2)

    @staticmethod
    def GetLERP(theFrom: "Graphic3d_Vec3", theTo: "Graphic3d_Vec3", theT: "float const") -> "NCollection_Vec3< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec3_GetLERP(theFrom, theTo, theT)

    @staticmethod
    def DX() -> "NCollection_Vec3< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec3_DX()

    @staticmethod
    def DY() -> "NCollection_Vec3< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec3_DY()

    @staticmethod
    def DZ() -> "NCollection_Vec3< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec3_DZ()

    def DumpJson(self, theOStream: "Standard_OStream &", theDepth: "Standard_Integer"=-1) -> "void":
        return _Graphic3d.Graphic3d_Vec3_DumpJson(self, theOStream, theDepth)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Vec3

# Register Graphic3d_Vec3 in _Graphic3d:
_Graphic3d.Graphic3d_Vec3_swigregister(Graphic3d_Vec3)

def Graphic3d_Vec3_Length() -> "int":
    return _Graphic3d.Graphic3d_Vec3_Length()

def Graphic3d_Vec3_Cross(theVec1: "Graphic3d_Vec3", theVec2: "Graphic3d_Vec3") -> "NCollection_Vec3< Standard_ShortReal >":
    return _Graphic3d.Graphic3d_Vec3_Cross(theVec1, theVec2)

def Graphic3d_Vec3_GetLERP(theFrom: "Graphic3d_Vec3", theTo: "Graphic3d_Vec3", theT: "float const") -> "NCollection_Vec3< Standard_ShortReal >":
    return _Graphic3d.Graphic3d_Vec3_GetLERP(theFrom, theTo, theT)

def Graphic3d_Vec3_DX() -> "NCollection_Vec3< Standard_ShortReal >":
    return _Graphic3d.Graphic3d_Vec3_DX()

def Graphic3d_Vec3_DY() -> "NCollection_Vec3< Standard_ShortReal >":
    return _Graphic3d.Graphic3d_Vec3_DY()

def Graphic3d_Vec3_DZ() -> "NCollection_Vec3< Standard_ShortReal >":
    return _Graphic3d.Graphic3d_Vec3_DZ()

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

    @staticmethod
    def Length() -> "int":
        return _Graphic3d.Graphic3d_Vec3b_Length()

    def __init__(self, *args):
        _Graphic3d.Graphic3d_Vec3b_swiginit(self, _Graphic3d.new_Graphic3d_Vec3b(*args))

    def SetValues(self, *args) -> "void":
        return _Graphic3d.Graphic3d_Vec3b_SetValues(self, *args)

    def xy(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec3b_xy(self)

    def yx(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec3b_yx(self)

    def xz(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec3b_xz(self)

    def zx(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec3b_zx(self)

    def yz(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec3b_yz(self)

    def zy(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec3b_zy(self)

    def xyz(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec3b_xyz(self)

    def xzy(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec3b_xzy(self)

    def yxz(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec3b_yxz(self)

    def yzx(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec3b_yzx(self)

    def zyx(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec3b_zyx(self)

    def zxy(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec3b_zxy(self)

    def x(self, *args) -> "char &":
        return _Graphic3d.Graphic3d_Vec3b_x(self, *args)

    def r(self, *args) -> "char &":
        return _Graphic3d.Graphic3d_Vec3b_r(self, *args)

    def y(self, *args) -> "char &":
        return _Graphic3d.Graphic3d_Vec3b_y(self, *args)

    def g(self, *args) -> "char &":
        return _Graphic3d.Graphic3d_Vec3b_g(self, *args)

    def z(self, *args) -> "char &":
        return _Graphic3d.Graphic3d_Vec3b_z(self, *args)

    def b(self, *args) -> "char &":
        return _Graphic3d.Graphic3d_Vec3b_b(self, *args)

    def IsEqual(self, theOther: "Graphic3d_Vec3b") -> "bool":
        return _Graphic3d.Graphic3d_Vec3b_IsEqual(self, theOther)

    def __eq__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec3b___eq__(self, *args)

    def __ne__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec3b___ne__(self, *args)

    def GetData(self) -> "char const *":
        return _Graphic3d.Graphic3d_Vec3b_GetData(self)

    def ChangeData(self) -> "char *":
        return _Graphic3d.Graphic3d_Vec3b_ChangeData(self)

    def __iadd__(self, theAdd: "Graphic3d_Vec3b") -> "NCollection_Vec3< Standard_Character > &":
        return _Graphic3d.Graphic3d_Vec3b___iadd__(self, theAdd)

    def __neg__(self) -> "NCollection_Vec3< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec3b___neg__(self)

    def __isub__(self, theDec: "Graphic3d_Vec3b") -> "NCollection_Vec3< Standard_Character > &":
        return _Graphic3d.Graphic3d_Vec3b___isub__(self, theDec)

    def Multiply(self, theFactor: "char const") -> "void":
        return _Graphic3d.Graphic3d_Vec3b_Multiply(self, theFactor)

    def __imul__(self, *args) -> "NCollection_Vec3< Standard_Character > &":
        return _Graphic3d.Graphic3d_Vec3b___imul__(self, *args)

    def __mul__(self, theFactor: "char const") -> "NCollection_Vec3< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec3b___mul__(self, theFactor)

    def Multiplied(self, theFactor: "char const") -> "NCollection_Vec3< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec3b_Multiplied(self, theFactor)

    def cwiseMin(self, theVec: "Graphic3d_Vec3b") -> "NCollection_Vec3< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec3b_cwiseMin(self, theVec)

    def cwiseMax(self, theVec: "Graphic3d_Vec3b") -> "NCollection_Vec3< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec3b_cwiseMax(self, theVec)

    def cwiseAbs(self) -> "NCollection_Vec3< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec3b_cwiseAbs(self)

    def maxComp(self) -> "char":
        return _Graphic3d.Graphic3d_Vec3b_maxComp(self)

    def minComp(self) -> "char":
        return _Graphic3d.Graphic3d_Vec3b_minComp(self)

    def __itruediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec3b___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec3b___truediv__(self, *args)
    __div__ = __truediv__



    def Dot(self, theOther: "Graphic3d_Vec3b") -> "char":
        return _Graphic3d.Graphic3d_Vec3b_Dot(self, theOther)

    def Modulus(self) -> "char":
        return _Graphic3d.Graphic3d_Vec3b_Modulus(self)

    def SquareModulus(self) -> "char":
        return _Graphic3d.Graphic3d_Vec3b_SquareModulus(self)

    def Normalize(self) -> "void":
        return _Graphic3d.Graphic3d_Vec3b_Normalize(self)

    def Normalized(self) -> "NCollection_Vec3< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec3b_Normalized(self)

    @staticmethod
    def Cross(theVec1: "Graphic3d_Vec3b", theVec2: "Graphic3d_Vec3b") -> "NCollection_Vec3< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec3b_Cross(theVec1, theVec2)

    @staticmethod
    def GetLERP(theFrom: "Graphic3d_Vec3b", theTo: "Graphic3d_Vec3b", theT: "char const") -> "NCollection_Vec3< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec3b_GetLERP(theFrom, theTo, theT)

    @staticmethod
    def DX() -> "NCollection_Vec3< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec3b_DX()

    @staticmethod
    def DY() -> "NCollection_Vec3< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec3b_DY()

    @staticmethod
    def DZ() -> "NCollection_Vec3< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec3b_DZ()

    def DumpJson(self, theOStream: "Standard_OStream &", theDepth: "Standard_Integer"=-1) -> "void":
        return _Graphic3d.Graphic3d_Vec3b_DumpJson(self, theOStream, theDepth)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Vec3b

# Register Graphic3d_Vec3b in _Graphic3d:
_Graphic3d.Graphic3d_Vec3b_swigregister(Graphic3d_Vec3b)

def Graphic3d_Vec3b_Length() -> "int":
    return _Graphic3d.Graphic3d_Vec3b_Length()

def Graphic3d_Vec3b_Cross(theVec1: "Graphic3d_Vec3b", theVec2: "Graphic3d_Vec3b") -> "NCollection_Vec3< Standard_Character >":
    return _Graphic3d.Graphic3d_Vec3b_Cross(theVec1, theVec2)

def Graphic3d_Vec3b_GetLERP(theFrom: "Graphic3d_Vec3b", theTo: "Graphic3d_Vec3b", theT: "char const") -> "NCollection_Vec3< Standard_Character >":
    return _Graphic3d.Graphic3d_Vec3b_GetLERP(theFrom, theTo, theT)

def Graphic3d_Vec3b_DX() -> "NCollection_Vec3< Standard_Character >":
    return _Graphic3d.Graphic3d_Vec3b_DX()

def Graphic3d_Vec3b_DY() -> "NCollection_Vec3< Standard_Character >":
    return _Graphic3d.Graphic3d_Vec3b_DY()

def Graphic3d_Vec3b_DZ() -> "NCollection_Vec3< Standard_Character >":
    return _Graphic3d.Graphic3d_Vec3b_DZ()

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

    @staticmethod
    def Length() -> "int":
        return _Graphic3d.Graphic3d_Vec3d_Length()

    def __init__(self, *args):
        _Graphic3d.Graphic3d_Vec3d_swiginit(self, _Graphic3d.new_Graphic3d_Vec3d(*args))

    def SetValues(self, *args) -> "void":
        return _Graphic3d.Graphic3d_Vec3d_SetValues(self, *args)

    def xy(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec3d_xy(self)

    def yx(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec3d_yx(self)

    def xz(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec3d_xz(self)

    def zx(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec3d_zx(self)

    def yz(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec3d_yz(self)

    def zy(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec3d_zy(self)

    def xyz(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec3d_xyz(self)

    def xzy(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec3d_xzy(self)

    def yxz(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec3d_yxz(self)

    def yzx(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec3d_yzx(self)

    def zyx(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec3d_zyx(self)

    def zxy(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec3d_zxy(self)

    def x(self, *args) -> "double &":
        return _Graphic3d.Graphic3d_Vec3d_x(self, *args)

    def r(self, *args) -> "double &":
        return _Graphic3d.Graphic3d_Vec3d_r(self, *args)

    def y(self, *args) -> "double &":
        return _Graphic3d.Graphic3d_Vec3d_y(self, *args)

    def g(self, *args) -> "double &":
        return _Graphic3d.Graphic3d_Vec3d_g(self, *args)

    def z(self, *args) -> "double &":
        return _Graphic3d.Graphic3d_Vec3d_z(self, *args)

    def b(self, *args) -> "double &":
        return _Graphic3d.Graphic3d_Vec3d_b(self, *args)

    def IsEqual(self, theOther: "Graphic3d_Vec3d") -> "bool":
        return _Graphic3d.Graphic3d_Vec3d_IsEqual(self, theOther)

    def __eq__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec3d___eq__(self, *args)

    def __ne__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec3d___ne__(self, *args)

    def GetData(self) -> "double const *":
        return _Graphic3d.Graphic3d_Vec3d_GetData(self)

    def ChangeData(self) -> "double *":
        return _Graphic3d.Graphic3d_Vec3d_ChangeData(self)

    def __iadd__(self, theAdd: "Graphic3d_Vec3d") -> "NCollection_Vec3< Standard_Real > &":
        return _Graphic3d.Graphic3d_Vec3d___iadd__(self, theAdd)

    def __neg__(self) -> "NCollection_Vec3< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec3d___neg__(self)

    def __isub__(self, theDec: "Graphic3d_Vec3d") -> "NCollection_Vec3< Standard_Real > &":
        return _Graphic3d.Graphic3d_Vec3d___isub__(self, theDec)

    def Multiply(self, theFactor: "double const") -> "void":
        return _Graphic3d.Graphic3d_Vec3d_Multiply(self, theFactor)

    def __imul__(self, *args) -> "NCollection_Vec3< Standard_Real > &":
        return _Graphic3d.Graphic3d_Vec3d___imul__(self, *args)

    def __mul__(self, theFactor: "double const") -> "NCollection_Vec3< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec3d___mul__(self, theFactor)

    def Multiplied(self, theFactor: "double const") -> "NCollection_Vec3< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec3d_Multiplied(self, theFactor)

    def cwiseMin(self, theVec: "Graphic3d_Vec3d") -> "NCollection_Vec3< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec3d_cwiseMin(self, theVec)

    def cwiseMax(self, theVec: "Graphic3d_Vec3d") -> "NCollection_Vec3< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec3d_cwiseMax(self, theVec)

    def cwiseAbs(self) -> "NCollection_Vec3< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec3d_cwiseAbs(self)

    def maxComp(self) -> "double":
        return _Graphic3d.Graphic3d_Vec3d_maxComp(self)

    def minComp(self) -> "double":
        return _Graphic3d.Graphic3d_Vec3d_minComp(self)

    def __itruediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec3d___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec3d___truediv__(self, *args)
    __div__ = __truediv__



    def Dot(self, theOther: "Graphic3d_Vec3d") -> "double":
        return _Graphic3d.Graphic3d_Vec3d_Dot(self, theOther)

    def Modulus(self) -> "double":
        return _Graphic3d.Graphic3d_Vec3d_Modulus(self)

    def SquareModulus(self) -> "double":
        return _Graphic3d.Graphic3d_Vec3d_SquareModulus(self)

    def Normalize(self) -> "void":
        return _Graphic3d.Graphic3d_Vec3d_Normalize(self)

    def Normalized(self) -> "NCollection_Vec3< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec3d_Normalized(self)

    @staticmethod
    def Cross(theVec1: "Graphic3d_Vec3d", theVec2: "Graphic3d_Vec3d") -> "NCollection_Vec3< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec3d_Cross(theVec1, theVec2)

    @staticmethod
    def GetLERP(theFrom: "Graphic3d_Vec3d", theTo: "Graphic3d_Vec3d", theT: "double const") -> "NCollection_Vec3< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec3d_GetLERP(theFrom, theTo, theT)

    @staticmethod
    def DX() -> "NCollection_Vec3< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec3d_DX()

    @staticmethod
    def DY() -> "NCollection_Vec3< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec3d_DY()

    @staticmethod
    def DZ() -> "NCollection_Vec3< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec3d_DZ()

    def DumpJson(self, theOStream: "Standard_OStream &", theDepth: "Standard_Integer"=-1) -> "void":
        return _Graphic3d.Graphic3d_Vec3d_DumpJson(self, theOStream, theDepth)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Vec3d

# Register Graphic3d_Vec3d in _Graphic3d:
_Graphic3d.Graphic3d_Vec3d_swigregister(Graphic3d_Vec3d)

def Graphic3d_Vec3d_Length() -> "int":
    return _Graphic3d.Graphic3d_Vec3d_Length()

def Graphic3d_Vec3d_Cross(theVec1: "Graphic3d_Vec3d", theVec2: "Graphic3d_Vec3d") -> "NCollection_Vec3< Standard_Real >":
    return _Graphic3d.Graphic3d_Vec3d_Cross(theVec1, theVec2)

def Graphic3d_Vec3d_GetLERP(theFrom: "Graphic3d_Vec3d", theTo: "Graphic3d_Vec3d", theT: "double const") -> "NCollection_Vec3< Standard_Real >":
    return _Graphic3d.Graphic3d_Vec3d_GetLERP(theFrom, theTo, theT)

def Graphic3d_Vec3d_DX() -> "NCollection_Vec3< Standard_Real >":
    return _Graphic3d.Graphic3d_Vec3d_DX()

def Graphic3d_Vec3d_DY() -> "NCollection_Vec3< Standard_Real >":
    return _Graphic3d.Graphic3d_Vec3d_DY()

def Graphic3d_Vec3d_DZ() -> "NCollection_Vec3< Standard_Real >":
    return _Graphic3d.Graphic3d_Vec3d_DZ()

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

    @staticmethod
    def Length() -> "int":
        return _Graphic3d.Graphic3d_Vec3i_Length()

    def __init__(self, *args):
        _Graphic3d.Graphic3d_Vec3i_swiginit(self, _Graphic3d.new_Graphic3d_Vec3i(*args))

    def SetValues(self, *args) -> "void":
        return _Graphic3d.Graphic3d_Vec3i_SetValues(self, *args)

    def xy(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec3i_xy(self)

    def yx(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec3i_yx(self)

    def xz(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec3i_xz(self)

    def zx(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec3i_zx(self)

    def yz(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec3i_yz(self)

    def zy(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec3i_zy(self)

    def xyz(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec3i_xyz(self)

    def xzy(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec3i_xzy(self)

    def yxz(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec3i_yxz(self)

    def yzx(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec3i_yzx(self)

    def zyx(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec3i_zyx(self)

    def zxy(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec3i_zxy(self)

    def x(self, *args) -> "int &":
        return _Graphic3d.Graphic3d_Vec3i_x(self, *args)

    def r(self, *args) -> "int &":
        return _Graphic3d.Graphic3d_Vec3i_r(self, *args)

    def y(self, *args) -> "int &":
        return _Graphic3d.Graphic3d_Vec3i_y(self, *args)

    def g(self, *args) -> "int &":
        return _Graphic3d.Graphic3d_Vec3i_g(self, *args)

    def z(self, *args) -> "int &":
        return _Graphic3d.Graphic3d_Vec3i_z(self, *args)

    def b(self, *args) -> "int &":
        return _Graphic3d.Graphic3d_Vec3i_b(self, *args)

    def IsEqual(self, theOther: "Graphic3d_Vec3i") -> "bool":
        return _Graphic3d.Graphic3d_Vec3i_IsEqual(self, theOther)

    def __eq__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec3i___eq__(self, *args)

    def __ne__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec3i___ne__(self, *args)

    def GetData(self) -> "int const *":
        return _Graphic3d.Graphic3d_Vec3i_GetData(self)

    def ChangeData(self) -> "int *":
        return _Graphic3d.Graphic3d_Vec3i_ChangeData(self)

    def __iadd__(self, theAdd: "Graphic3d_Vec3i") -> "NCollection_Vec3< Standard_Integer > &":
        return _Graphic3d.Graphic3d_Vec3i___iadd__(self, theAdd)

    def __neg__(self) -> "NCollection_Vec3< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec3i___neg__(self)

    def __isub__(self, theDec: "Graphic3d_Vec3i") -> "NCollection_Vec3< Standard_Integer > &":
        return _Graphic3d.Graphic3d_Vec3i___isub__(self, theDec)

    def Multiply(self, theFactor: "int const") -> "void":
        return _Graphic3d.Graphic3d_Vec3i_Multiply(self, theFactor)

    def __imul__(self, *args) -> "NCollection_Vec3< Standard_Integer > &":
        return _Graphic3d.Graphic3d_Vec3i___imul__(self, *args)

    def __mul__(self, theFactor: "int const") -> "NCollection_Vec3< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec3i___mul__(self, theFactor)

    def Multiplied(self, theFactor: "int const") -> "NCollection_Vec3< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec3i_Multiplied(self, theFactor)

    def cwiseMin(self, theVec: "Graphic3d_Vec3i") -> "NCollection_Vec3< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec3i_cwiseMin(self, theVec)

    def cwiseMax(self, theVec: "Graphic3d_Vec3i") -> "NCollection_Vec3< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec3i_cwiseMax(self, theVec)

    def cwiseAbs(self) -> "NCollection_Vec3< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec3i_cwiseAbs(self)

    def maxComp(self) -> "int":
        return _Graphic3d.Graphic3d_Vec3i_maxComp(self)

    def minComp(self) -> "int":
        return _Graphic3d.Graphic3d_Vec3i_minComp(self)

    def __itruediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec3i___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec3i___truediv__(self, *args)
    __div__ = __truediv__



    def Dot(self, theOther: "Graphic3d_Vec3i") -> "int":
        return _Graphic3d.Graphic3d_Vec3i_Dot(self, theOther)

    def Modulus(self) -> "int":
        return _Graphic3d.Graphic3d_Vec3i_Modulus(self)

    def SquareModulus(self) -> "int":
        return _Graphic3d.Graphic3d_Vec3i_SquareModulus(self)

    def Normalize(self) -> "void":
        return _Graphic3d.Graphic3d_Vec3i_Normalize(self)

    def Normalized(self) -> "NCollection_Vec3< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec3i_Normalized(self)

    @staticmethod
    def Cross(theVec1: "Graphic3d_Vec3i", theVec2: "Graphic3d_Vec3i") -> "NCollection_Vec3< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec3i_Cross(theVec1, theVec2)

    @staticmethod
    def GetLERP(theFrom: "Graphic3d_Vec3i", theTo: "Graphic3d_Vec3i", theT: "int const") -> "NCollection_Vec3< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec3i_GetLERP(theFrom, theTo, theT)

    @staticmethod
    def DX() -> "NCollection_Vec3< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec3i_DX()

    @staticmethod
    def DY() -> "NCollection_Vec3< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec3i_DY()

    @staticmethod
    def DZ() -> "NCollection_Vec3< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec3i_DZ()

    def DumpJson(self, theOStream: "Standard_OStream &", theDepth: "Standard_Integer"=-1) -> "void":
        return _Graphic3d.Graphic3d_Vec3i_DumpJson(self, theOStream, theDepth)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Vec3i

# Register Graphic3d_Vec3i in _Graphic3d:
_Graphic3d.Graphic3d_Vec3i_swigregister(Graphic3d_Vec3i)

def Graphic3d_Vec3i_Length() -> "int":
    return _Graphic3d.Graphic3d_Vec3i_Length()

def Graphic3d_Vec3i_Cross(theVec1: "Graphic3d_Vec3i", theVec2: "Graphic3d_Vec3i") -> "NCollection_Vec3< Standard_Integer >":
    return _Graphic3d.Graphic3d_Vec3i_Cross(theVec1, theVec2)

def Graphic3d_Vec3i_GetLERP(theFrom: "Graphic3d_Vec3i", theTo: "Graphic3d_Vec3i", theT: "int const") -> "NCollection_Vec3< Standard_Integer >":
    return _Graphic3d.Graphic3d_Vec3i_GetLERP(theFrom, theTo, theT)

def Graphic3d_Vec3i_DX() -> "NCollection_Vec3< Standard_Integer >":
    return _Graphic3d.Graphic3d_Vec3i_DX()

def Graphic3d_Vec3i_DY() -> "NCollection_Vec3< Standard_Integer >":
    return _Graphic3d.Graphic3d_Vec3i_DY()

def Graphic3d_Vec3i_DZ() -> "NCollection_Vec3< Standard_Integer >":
    return _Graphic3d.Graphic3d_Vec3i_DZ()

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

    @staticmethod
    def Length() -> "int":
        return _Graphic3d.Graphic3d_Vec3ub_Length()

    def __init__(self, *args):
        _Graphic3d.Graphic3d_Vec3ub_swiginit(self, _Graphic3d.new_Graphic3d_Vec3ub(*args))

    def SetValues(self, *args) -> "void":
        return _Graphic3d.Graphic3d_Vec3ub_SetValues(self, *args)

    def xy(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec3ub_xy(self)

    def yx(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec3ub_yx(self)

    def xz(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec3ub_xz(self)

    def zx(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec3ub_zx(self)

    def yz(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec3ub_yz(self)

    def zy(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec3ub_zy(self)

    def xyz(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec3ub_xyz(self)

    def xzy(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec3ub_xzy(self)

    def yxz(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec3ub_yxz(self)

    def yzx(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec3ub_yzx(self)

    def zyx(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec3ub_zyx(self)

    def zxy(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec3ub_zxy(self)

    def x(self, *args) -> "unsigned char &":
        return _Graphic3d.Graphic3d_Vec3ub_x(self, *args)

    def r(self, *args) -> "unsigned char &":
        return _Graphic3d.Graphic3d_Vec3ub_r(self, *args)

    def y(self, *args) -> "unsigned char &":
        return _Graphic3d.Graphic3d_Vec3ub_y(self, *args)

    def g(self, *args) -> "unsigned char &":
        return _Graphic3d.Graphic3d_Vec3ub_g(self, *args)

    def z(self, *args) -> "unsigned char &":
        return _Graphic3d.Graphic3d_Vec3ub_z(self, *args)

    def b(self, *args) -> "unsigned char &":
        return _Graphic3d.Graphic3d_Vec3ub_b(self, *args)

    def IsEqual(self, theOther: "Graphic3d_Vec3ub") -> "bool":
        return _Graphic3d.Graphic3d_Vec3ub_IsEqual(self, theOther)

    def __eq__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec3ub___eq__(self, *args)

    def __ne__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec3ub___ne__(self, *args)

    def GetData(self) -> "unsigned char const *":
        return _Graphic3d.Graphic3d_Vec3ub_GetData(self)

    def ChangeData(self) -> "unsigned char *":
        return _Graphic3d.Graphic3d_Vec3ub_ChangeData(self)

    def __iadd__(self, theAdd: "Graphic3d_Vec3ub") -> "NCollection_Vec3< Standard_Byte > &":
        return _Graphic3d.Graphic3d_Vec3ub___iadd__(self, theAdd)

    def __neg__(self) -> "NCollection_Vec3< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec3ub___neg__(self)

    def __isub__(self, theDec: "Graphic3d_Vec3ub") -> "NCollection_Vec3< Standard_Byte > &":
        return _Graphic3d.Graphic3d_Vec3ub___isub__(self, theDec)

    def Multiply(self, theFactor: "unsigned char const") -> "void":
        return _Graphic3d.Graphic3d_Vec3ub_Multiply(self, theFactor)

    def __imul__(self, *args) -> "NCollection_Vec3< Standard_Byte > &":
        return _Graphic3d.Graphic3d_Vec3ub___imul__(self, *args)

    def __mul__(self, theFactor: "unsigned char const") -> "NCollection_Vec3< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec3ub___mul__(self, theFactor)

    def Multiplied(self, theFactor: "unsigned char const") -> "NCollection_Vec3< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec3ub_Multiplied(self, theFactor)

    def cwiseMin(self, theVec: "Graphic3d_Vec3ub") -> "NCollection_Vec3< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec3ub_cwiseMin(self, theVec)

    def cwiseMax(self, theVec: "Graphic3d_Vec3ub") -> "NCollection_Vec3< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec3ub_cwiseMax(self, theVec)

    def cwiseAbs(self) -> "NCollection_Vec3< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec3ub_cwiseAbs(self)

    def maxComp(self) -> "unsigned char":
        return _Graphic3d.Graphic3d_Vec3ub_maxComp(self)

    def minComp(self) -> "unsigned char":
        return _Graphic3d.Graphic3d_Vec3ub_minComp(self)

    def __itruediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec3ub___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec3ub___truediv__(self, *args)
    __div__ = __truediv__



    def Dot(self, theOther: "Graphic3d_Vec3ub") -> "unsigned char":
        return _Graphic3d.Graphic3d_Vec3ub_Dot(self, theOther)

    def Modulus(self) -> "unsigned char":
        return _Graphic3d.Graphic3d_Vec3ub_Modulus(self)

    def SquareModulus(self) -> "unsigned char":
        return _Graphic3d.Graphic3d_Vec3ub_SquareModulus(self)

    def Normalize(self) -> "void":
        return _Graphic3d.Graphic3d_Vec3ub_Normalize(self)

    def Normalized(self) -> "NCollection_Vec3< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec3ub_Normalized(self)

    @staticmethod
    def Cross(theVec1: "Graphic3d_Vec3ub", theVec2: "Graphic3d_Vec3ub") -> "NCollection_Vec3< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec3ub_Cross(theVec1, theVec2)

    @staticmethod
    def GetLERP(theFrom: "Graphic3d_Vec3ub", theTo: "Graphic3d_Vec3ub", theT: "unsigned char const") -> "NCollection_Vec3< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec3ub_GetLERP(theFrom, theTo, theT)

    @staticmethod
    def DX() -> "NCollection_Vec3< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec3ub_DX()

    @staticmethod
    def DY() -> "NCollection_Vec3< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec3ub_DY()

    @staticmethod
    def DZ() -> "NCollection_Vec3< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec3ub_DZ()

    def DumpJson(self, theOStream: "Standard_OStream &", theDepth: "Standard_Integer"=-1) -> "void":
        return _Graphic3d.Graphic3d_Vec3ub_DumpJson(self, theOStream, theDepth)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Vec3ub

# Register Graphic3d_Vec3ub in _Graphic3d:
_Graphic3d.Graphic3d_Vec3ub_swigregister(Graphic3d_Vec3ub)

def Graphic3d_Vec3ub_Length() -> "int":
    return _Graphic3d.Graphic3d_Vec3ub_Length()

def Graphic3d_Vec3ub_Cross(theVec1: "Graphic3d_Vec3ub", theVec2: "Graphic3d_Vec3ub") -> "NCollection_Vec3< Standard_Byte >":
    return _Graphic3d.Graphic3d_Vec3ub_Cross(theVec1, theVec2)

def Graphic3d_Vec3ub_GetLERP(theFrom: "Graphic3d_Vec3ub", theTo: "Graphic3d_Vec3ub", theT: "unsigned char const") -> "NCollection_Vec3< Standard_Byte >":
    return _Graphic3d.Graphic3d_Vec3ub_GetLERP(theFrom, theTo, theT)

def Graphic3d_Vec3ub_DX() -> "NCollection_Vec3< Standard_Byte >":
    return _Graphic3d.Graphic3d_Vec3ub_DX()

def Graphic3d_Vec3ub_DY() -> "NCollection_Vec3< Standard_Byte >":
    return _Graphic3d.Graphic3d_Vec3ub_DY()

def Graphic3d_Vec3ub_DZ() -> "NCollection_Vec3< Standard_Byte >":
    return _Graphic3d.Graphic3d_Vec3ub_DZ()

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

    @staticmethod
    def Length() -> "int":
        return _Graphic3d.Graphic3d_Vec4_Length()

    def __init__(self, *args):
        _Graphic3d.Graphic3d_Vec4_swiginit(self, _Graphic3d.new_Graphic3d_Vec4(*args))

    def SetValues(self, *args) -> "void":
        return _Graphic3d.Graphic3d_Vec4_SetValues(self, *args)

    def xy(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec4_xy(self)

    def yx(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec4_yx(self)

    def xz(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec4_xz(self)

    def zx(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec4_zx(self)

    def xw(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec4_xw(self)

    def wx(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec4_wx(self)

    def yz(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec4_yz(self)

    def zy(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec4_zy(self)

    def yw(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec4_yw(self)

    def wy(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec4_wy(self)

    def zw(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec4_zw(self)

    def wz(self) -> "NCollection_Vec2< float > const":
        return _Graphic3d.Graphic3d_Vec4_wz(self)

    def xyz(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_xyz(self)

    def xzy(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_xzy(self)

    def yxz(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_yxz(self)

    def yzx(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_yzx(self)

    def zyx(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_zyx(self)

    def zxy(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_zxy(self)

    def xyw(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_xyw(self)

    def xwy(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_xwy(self)

    def yxw(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_yxw(self)

    def ywx(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_ywx(self)

    def wyx(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_wyx(self)

    def wxy(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_wxy(self)

    def xzw(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_xzw(self)

    def xwz(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_xwz(self)

    def zxw(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_zxw(self)

    def zwx(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_zwx(self)

    def wzx(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_wzx(self)

    def wxz(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_wxz(self)

    def yzw(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_yzw(self)

    def ywz(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_ywz(self)

    def zyw(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_zyw(self)

    def zwy(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_zwy(self)

    def wzy(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_wzy(self)

    def wyz(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_wyz(self)

    def rgb(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_rgb(self)

    def rbg(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_rbg(self)

    def grb(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_grb(self)

    def gbr(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_gbr(self)

    def bgr(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_bgr(self)

    def brg(self) -> "NCollection_Vec3< float > const":
        return _Graphic3d.Graphic3d_Vec4_brg(self)

    def x(self, *args) -> "float &":
        return _Graphic3d.Graphic3d_Vec4_x(self, *args)

    def r(self, *args) -> "float &":
        return _Graphic3d.Graphic3d_Vec4_r(self, *args)

    def y(self, *args) -> "float &":
        return _Graphic3d.Graphic3d_Vec4_y(self, *args)

    def g(self, *args) -> "float &":
        return _Graphic3d.Graphic3d_Vec4_g(self, *args)

    def z(self, *args) -> "float &":
        return _Graphic3d.Graphic3d_Vec4_z(self, *args)

    def b(self, *args) -> "float &":
        return _Graphic3d.Graphic3d_Vec4_b(self, *args)

    def w(self, *args) -> "float &":
        return _Graphic3d.Graphic3d_Vec4_w(self, *args)

    def a(self, *args) -> "float &":
        return _Graphic3d.Graphic3d_Vec4_a(self, *args)

    def IsEqual(self, theOther: "Graphic3d_Vec4") -> "bool":
        return _Graphic3d.Graphic3d_Vec4_IsEqual(self, theOther)

    def __eq__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec4___eq__(self, *args)

    def __ne__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec4___ne__(self, *args)

    def GetData(self) -> "float const *":
        return _Graphic3d.Graphic3d_Vec4_GetData(self)

    def ChangeData(self) -> "float *":
        return _Graphic3d.Graphic3d_Vec4_ChangeData(self)

    def __iadd__(self, theAdd: "Graphic3d_Vec4") -> "NCollection_Vec4< Standard_ShortReal > &":
        return _Graphic3d.Graphic3d_Vec4___iadd__(self, theAdd)

    def __neg__(self) -> "NCollection_Vec4< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec4___neg__(self)

    def __isub__(self, theDec: "Graphic3d_Vec4") -> "NCollection_Vec4< Standard_ShortReal > &":
        return _Graphic3d.Graphic3d_Vec4___isub__(self, theDec)

    def Multiply(self, theFactor: "float const") -> "void":
        return _Graphic3d.Graphic3d_Vec4_Multiply(self, theFactor)

    def __imul__(self, *args) -> "NCollection_Vec4< Standard_ShortReal > &":
        return _Graphic3d.Graphic3d_Vec4___imul__(self, *args)

    def __mul__(self, theFactor: "float const") -> "NCollection_Vec4< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec4___mul__(self, theFactor)

    def Multiplied(self, theFactor: "float const") -> "NCollection_Vec4< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec4_Multiplied(self, theFactor)

    def cwiseMin(self, theVec: "Graphic3d_Vec4") -> "NCollection_Vec4< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec4_cwiseMin(self, theVec)

    def cwiseMax(self, theVec: "Graphic3d_Vec4") -> "NCollection_Vec4< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec4_cwiseMax(self, theVec)

    def cwiseAbs(self) -> "NCollection_Vec4< Standard_ShortReal >":
        return _Graphic3d.Graphic3d_Vec4_cwiseAbs(self)

    def maxComp(self) -> "float":
        return _Graphic3d.Graphic3d_Vec4_maxComp(self)

    def minComp(self) -> "float":
        return _Graphic3d.Graphic3d_Vec4_minComp(self)

    def Dot(self, theOther: "Graphic3d_Vec4") -> "float":
        return _Graphic3d.Graphic3d_Vec4_Dot(self, theOther)

    def __itruediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec4___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec4___truediv__(self, *args)
    __div__ = __truediv__



    def DumpJson(self, theOStream: "Standard_OStream &", theDepth: "Standard_Integer"=-1) -> "void":
        return _Graphic3d.Graphic3d_Vec4_DumpJson(self, theOStream, theDepth)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Vec4

# Register Graphic3d_Vec4 in _Graphic3d:
_Graphic3d.Graphic3d_Vec4_swigregister(Graphic3d_Vec4)

def Graphic3d_Vec4_Length() -> "int":
    return _Graphic3d.Graphic3d_Vec4_Length()

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

    @staticmethod
    def Length() -> "int":
        return _Graphic3d.Graphic3d_Vec4b_Length()

    def __init__(self, *args):
        _Graphic3d.Graphic3d_Vec4b_swiginit(self, _Graphic3d.new_Graphic3d_Vec4b(*args))

    def SetValues(self, *args) -> "void":
        return _Graphic3d.Graphic3d_Vec4b_SetValues(self, *args)

    def xy(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec4b_xy(self)

    def yx(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec4b_yx(self)

    def xz(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec4b_xz(self)

    def zx(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec4b_zx(self)

    def xw(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec4b_xw(self)

    def wx(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec4b_wx(self)

    def yz(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec4b_yz(self)

    def zy(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec4b_zy(self)

    def yw(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec4b_yw(self)

    def wy(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec4b_wy(self)

    def zw(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec4b_zw(self)

    def wz(self) -> "NCollection_Vec2< char > const":
        return _Graphic3d.Graphic3d_Vec4b_wz(self)

    def xyz(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_xyz(self)

    def xzy(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_xzy(self)

    def yxz(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_yxz(self)

    def yzx(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_yzx(self)

    def zyx(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_zyx(self)

    def zxy(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_zxy(self)

    def xyw(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_xyw(self)

    def xwy(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_xwy(self)

    def yxw(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_yxw(self)

    def ywx(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_ywx(self)

    def wyx(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_wyx(self)

    def wxy(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_wxy(self)

    def xzw(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_xzw(self)

    def xwz(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_xwz(self)

    def zxw(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_zxw(self)

    def zwx(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_zwx(self)

    def wzx(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_wzx(self)

    def wxz(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_wxz(self)

    def yzw(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_yzw(self)

    def ywz(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_ywz(self)

    def zyw(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_zyw(self)

    def zwy(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_zwy(self)

    def wzy(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_wzy(self)

    def wyz(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_wyz(self)

    def rgb(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_rgb(self)

    def rbg(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_rbg(self)

    def grb(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_grb(self)

    def gbr(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_gbr(self)

    def bgr(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_bgr(self)

    def brg(self) -> "NCollection_Vec3< char > const":
        return _Graphic3d.Graphic3d_Vec4b_brg(self)

    def x(self, *args) -> "char &":
        return _Graphic3d.Graphic3d_Vec4b_x(self, *args)

    def r(self, *args) -> "char &":
        return _Graphic3d.Graphic3d_Vec4b_r(self, *args)

    def y(self, *args) -> "char &":
        return _Graphic3d.Graphic3d_Vec4b_y(self, *args)

    def g(self, *args) -> "char &":
        return _Graphic3d.Graphic3d_Vec4b_g(self, *args)

    def z(self, *args) -> "char &":
        return _Graphic3d.Graphic3d_Vec4b_z(self, *args)

    def b(self, *args) -> "char &":
        return _Graphic3d.Graphic3d_Vec4b_b(self, *args)

    def w(self, *args) -> "char &":
        return _Graphic3d.Graphic3d_Vec4b_w(self, *args)

    def a(self, *args) -> "char &":
        return _Graphic3d.Graphic3d_Vec4b_a(self, *args)

    def IsEqual(self, theOther: "Graphic3d_Vec4b") -> "bool":
        return _Graphic3d.Graphic3d_Vec4b_IsEqual(self, theOther)

    def __eq__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec4b___eq__(self, *args)

    def __ne__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec4b___ne__(self, *args)

    def GetData(self) -> "char const *":
        return _Graphic3d.Graphic3d_Vec4b_GetData(self)

    def ChangeData(self) -> "char *":
        return _Graphic3d.Graphic3d_Vec4b_ChangeData(self)

    def __iadd__(self, theAdd: "Graphic3d_Vec4b") -> "NCollection_Vec4< Standard_Character > &":
        return _Graphic3d.Graphic3d_Vec4b___iadd__(self, theAdd)

    def __neg__(self) -> "NCollection_Vec4< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec4b___neg__(self)

    def __isub__(self, theDec: "Graphic3d_Vec4b") -> "NCollection_Vec4< Standard_Character > &":
        return _Graphic3d.Graphic3d_Vec4b___isub__(self, theDec)

    def Multiply(self, theFactor: "char const") -> "void":
        return _Graphic3d.Graphic3d_Vec4b_Multiply(self, theFactor)

    def __imul__(self, *args) -> "NCollection_Vec4< Standard_Character > &":
        return _Graphic3d.Graphic3d_Vec4b___imul__(self, *args)

    def __mul__(self, theFactor: "char const") -> "NCollection_Vec4< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec4b___mul__(self, theFactor)

    def Multiplied(self, theFactor: "char const") -> "NCollection_Vec4< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec4b_Multiplied(self, theFactor)

    def cwiseMin(self, theVec: "Graphic3d_Vec4b") -> "NCollection_Vec4< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec4b_cwiseMin(self, theVec)

    def cwiseMax(self, theVec: "Graphic3d_Vec4b") -> "NCollection_Vec4< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec4b_cwiseMax(self, theVec)

    def cwiseAbs(self) -> "NCollection_Vec4< Standard_Character >":
        return _Graphic3d.Graphic3d_Vec4b_cwiseAbs(self)

    def maxComp(self) -> "char":
        return _Graphic3d.Graphic3d_Vec4b_maxComp(self)

    def minComp(self) -> "char":
        return _Graphic3d.Graphic3d_Vec4b_minComp(self)

    def Dot(self, theOther: "Graphic3d_Vec4b") -> "char":
        return _Graphic3d.Graphic3d_Vec4b_Dot(self, theOther)

    def __itruediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec4b___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec4b___truediv__(self, *args)
    __div__ = __truediv__



    def DumpJson(self, theOStream: "Standard_OStream &", theDepth: "Standard_Integer"=-1) -> "void":
        return _Graphic3d.Graphic3d_Vec4b_DumpJson(self, theOStream, theDepth)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Vec4b

# Register Graphic3d_Vec4b in _Graphic3d:
_Graphic3d.Graphic3d_Vec4b_swigregister(Graphic3d_Vec4b)

def Graphic3d_Vec4b_Length() -> "int":
    return _Graphic3d.Graphic3d_Vec4b_Length()

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

    @staticmethod
    def Length() -> "int":
        return _Graphic3d.Graphic3d_Vec4d_Length()

    def __init__(self, *args):
        _Graphic3d.Graphic3d_Vec4d_swiginit(self, _Graphic3d.new_Graphic3d_Vec4d(*args))

    def SetValues(self, *args) -> "void":
        return _Graphic3d.Graphic3d_Vec4d_SetValues(self, *args)

    def xy(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec4d_xy(self)

    def yx(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec4d_yx(self)

    def xz(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec4d_xz(self)

    def zx(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec4d_zx(self)

    def xw(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec4d_xw(self)

    def wx(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec4d_wx(self)

    def yz(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec4d_yz(self)

    def zy(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec4d_zy(self)

    def yw(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec4d_yw(self)

    def wy(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec4d_wy(self)

    def zw(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec4d_zw(self)

    def wz(self) -> "NCollection_Vec2< double > const":
        return _Graphic3d.Graphic3d_Vec4d_wz(self)

    def xyz(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_xyz(self)

    def xzy(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_xzy(self)

    def yxz(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_yxz(self)

    def yzx(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_yzx(self)

    def zyx(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_zyx(self)

    def zxy(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_zxy(self)

    def xyw(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_xyw(self)

    def xwy(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_xwy(self)

    def yxw(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_yxw(self)

    def ywx(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_ywx(self)

    def wyx(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_wyx(self)

    def wxy(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_wxy(self)

    def xzw(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_xzw(self)

    def xwz(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_xwz(self)

    def zxw(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_zxw(self)

    def zwx(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_zwx(self)

    def wzx(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_wzx(self)

    def wxz(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_wxz(self)

    def yzw(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_yzw(self)

    def ywz(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_ywz(self)

    def zyw(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_zyw(self)

    def zwy(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_zwy(self)

    def wzy(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_wzy(self)

    def wyz(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_wyz(self)

    def rgb(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_rgb(self)

    def rbg(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_rbg(self)

    def grb(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_grb(self)

    def gbr(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_gbr(self)

    def bgr(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_bgr(self)

    def brg(self) -> "NCollection_Vec3< double > const":
        return _Graphic3d.Graphic3d_Vec4d_brg(self)

    def x(self, *args) -> "double &":
        return _Graphic3d.Graphic3d_Vec4d_x(self, *args)

    def r(self, *args) -> "double &":
        return _Graphic3d.Graphic3d_Vec4d_r(self, *args)

    def y(self, *args) -> "double &":
        return _Graphic3d.Graphic3d_Vec4d_y(self, *args)

    def g(self, *args) -> "double &":
        return _Graphic3d.Graphic3d_Vec4d_g(self, *args)

    def z(self, *args) -> "double &":
        return _Graphic3d.Graphic3d_Vec4d_z(self, *args)

    def b(self, *args) -> "double &":
        return _Graphic3d.Graphic3d_Vec4d_b(self, *args)

    def w(self, *args) -> "double &":
        return _Graphic3d.Graphic3d_Vec4d_w(self, *args)

    def a(self, *args) -> "double &":
        return _Graphic3d.Graphic3d_Vec4d_a(self, *args)

    def IsEqual(self, theOther: "Graphic3d_Vec4d") -> "bool":
        return _Graphic3d.Graphic3d_Vec4d_IsEqual(self, theOther)

    def __eq__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec4d___eq__(self, *args)

    def __ne__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec4d___ne__(self, *args)

    def GetData(self) -> "double const *":
        return _Graphic3d.Graphic3d_Vec4d_GetData(self)

    def ChangeData(self) -> "double *":
        return _Graphic3d.Graphic3d_Vec4d_ChangeData(self)

    def __iadd__(self, theAdd: "Graphic3d_Vec4d") -> "NCollection_Vec4< Standard_Real > &":
        return _Graphic3d.Graphic3d_Vec4d___iadd__(self, theAdd)

    def __neg__(self) -> "NCollection_Vec4< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec4d___neg__(self)

    def __isub__(self, theDec: "Graphic3d_Vec4d") -> "NCollection_Vec4< Standard_Real > &":
        return _Graphic3d.Graphic3d_Vec4d___isub__(self, theDec)

    def Multiply(self, theFactor: "double const") -> "void":
        return _Graphic3d.Graphic3d_Vec4d_Multiply(self, theFactor)

    def __imul__(self, *args) -> "NCollection_Vec4< Standard_Real > &":
        return _Graphic3d.Graphic3d_Vec4d___imul__(self, *args)

    def __mul__(self, theFactor: "double const") -> "NCollection_Vec4< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec4d___mul__(self, theFactor)

    def Multiplied(self, theFactor: "double const") -> "NCollection_Vec4< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec4d_Multiplied(self, theFactor)

    def cwiseMin(self, theVec: "Graphic3d_Vec4d") -> "NCollection_Vec4< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec4d_cwiseMin(self, theVec)

    def cwiseMax(self, theVec: "Graphic3d_Vec4d") -> "NCollection_Vec4< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec4d_cwiseMax(self, theVec)

    def cwiseAbs(self) -> "NCollection_Vec4< Standard_Real >":
        return _Graphic3d.Graphic3d_Vec4d_cwiseAbs(self)

    def maxComp(self) -> "double":
        return _Graphic3d.Graphic3d_Vec4d_maxComp(self)

    def minComp(self) -> "double":
        return _Graphic3d.Graphic3d_Vec4d_minComp(self)

    def Dot(self, theOther: "Graphic3d_Vec4d") -> "double":
        return _Graphic3d.Graphic3d_Vec4d_Dot(self, theOther)

    def __itruediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec4d___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec4d___truediv__(self, *args)
    __div__ = __truediv__



    def DumpJson(self, theOStream: "Standard_OStream &", theDepth: "Standard_Integer"=-1) -> "void":
        return _Graphic3d.Graphic3d_Vec4d_DumpJson(self, theOStream, theDepth)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Vec4d

# Register Graphic3d_Vec4d in _Graphic3d:
_Graphic3d.Graphic3d_Vec4d_swigregister(Graphic3d_Vec4d)

def Graphic3d_Vec4d_Length() -> "int":
    return _Graphic3d.Graphic3d_Vec4d_Length()

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

    @staticmethod
    def Length() -> "int":
        return _Graphic3d.Graphic3d_Vec4i_Length()

    def __init__(self, *args):
        _Graphic3d.Graphic3d_Vec4i_swiginit(self, _Graphic3d.new_Graphic3d_Vec4i(*args))

    def SetValues(self, *args) -> "void":
        return _Graphic3d.Graphic3d_Vec4i_SetValues(self, *args)

    def xy(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec4i_xy(self)

    def yx(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec4i_yx(self)

    def xz(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec4i_xz(self)

    def zx(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec4i_zx(self)

    def xw(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec4i_xw(self)

    def wx(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec4i_wx(self)

    def yz(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec4i_yz(self)

    def zy(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec4i_zy(self)

    def yw(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec4i_yw(self)

    def wy(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec4i_wy(self)

    def zw(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec4i_zw(self)

    def wz(self) -> "NCollection_Vec2< int > const":
        return _Graphic3d.Graphic3d_Vec4i_wz(self)

    def xyz(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_xyz(self)

    def xzy(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_xzy(self)

    def yxz(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_yxz(self)

    def yzx(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_yzx(self)

    def zyx(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_zyx(self)

    def zxy(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_zxy(self)

    def xyw(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_xyw(self)

    def xwy(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_xwy(self)

    def yxw(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_yxw(self)

    def ywx(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_ywx(self)

    def wyx(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_wyx(self)

    def wxy(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_wxy(self)

    def xzw(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_xzw(self)

    def xwz(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_xwz(self)

    def zxw(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_zxw(self)

    def zwx(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_zwx(self)

    def wzx(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_wzx(self)

    def wxz(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_wxz(self)

    def yzw(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_yzw(self)

    def ywz(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_ywz(self)

    def zyw(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_zyw(self)

    def zwy(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_zwy(self)

    def wzy(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_wzy(self)

    def wyz(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_wyz(self)

    def rgb(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_rgb(self)

    def rbg(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_rbg(self)

    def grb(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_grb(self)

    def gbr(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_gbr(self)

    def bgr(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_bgr(self)

    def brg(self) -> "NCollection_Vec3< int > const":
        return _Graphic3d.Graphic3d_Vec4i_brg(self)

    def x(self, *args) -> "int &":
        return _Graphic3d.Graphic3d_Vec4i_x(self, *args)

    def r(self, *args) -> "int &":
        return _Graphic3d.Graphic3d_Vec4i_r(self, *args)

    def y(self, *args) -> "int &":
        return _Graphic3d.Graphic3d_Vec4i_y(self, *args)

    def g(self, *args) -> "int &":
        return _Graphic3d.Graphic3d_Vec4i_g(self, *args)

    def z(self, *args) -> "int &":
        return _Graphic3d.Graphic3d_Vec4i_z(self, *args)

    def b(self, *args) -> "int &":
        return _Graphic3d.Graphic3d_Vec4i_b(self, *args)

    def w(self, *args) -> "int &":
        return _Graphic3d.Graphic3d_Vec4i_w(self, *args)

    def a(self, *args) -> "int &":
        return _Graphic3d.Graphic3d_Vec4i_a(self, *args)

    def IsEqual(self, theOther: "Graphic3d_Vec4i") -> "bool":
        return _Graphic3d.Graphic3d_Vec4i_IsEqual(self, theOther)

    def __eq__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec4i___eq__(self, *args)

    def __ne__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec4i___ne__(self, *args)

    def GetData(self) -> "int const *":
        return _Graphic3d.Graphic3d_Vec4i_GetData(self)

    def ChangeData(self) -> "int *":
        return _Graphic3d.Graphic3d_Vec4i_ChangeData(self)

    def __iadd__(self, theAdd: "Graphic3d_Vec4i") -> "NCollection_Vec4< Standard_Integer > &":
        return _Graphic3d.Graphic3d_Vec4i___iadd__(self, theAdd)

    def __neg__(self) -> "NCollection_Vec4< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec4i___neg__(self)

    def __isub__(self, theDec: "Graphic3d_Vec4i") -> "NCollection_Vec4< Standard_Integer > &":
        return _Graphic3d.Graphic3d_Vec4i___isub__(self, theDec)

    def Multiply(self, theFactor: "int const") -> "void":
        return _Graphic3d.Graphic3d_Vec4i_Multiply(self, theFactor)

    def __imul__(self, *args) -> "NCollection_Vec4< Standard_Integer > &":
        return _Graphic3d.Graphic3d_Vec4i___imul__(self, *args)

    def __mul__(self, theFactor: "int const") -> "NCollection_Vec4< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec4i___mul__(self, theFactor)

    def Multiplied(self, theFactor: "int const") -> "NCollection_Vec4< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec4i_Multiplied(self, theFactor)

    def cwiseMin(self, theVec: "Graphic3d_Vec4i") -> "NCollection_Vec4< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec4i_cwiseMin(self, theVec)

    def cwiseMax(self, theVec: "Graphic3d_Vec4i") -> "NCollection_Vec4< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec4i_cwiseMax(self, theVec)

    def cwiseAbs(self) -> "NCollection_Vec4< Standard_Integer >":
        return _Graphic3d.Graphic3d_Vec4i_cwiseAbs(self)

    def maxComp(self) -> "int":
        return _Graphic3d.Graphic3d_Vec4i_maxComp(self)

    def minComp(self) -> "int":
        return _Graphic3d.Graphic3d_Vec4i_minComp(self)

    def Dot(self, theOther: "Graphic3d_Vec4i") -> "int":
        return _Graphic3d.Graphic3d_Vec4i_Dot(self, theOther)

    def __itruediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec4i___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec4i___truediv__(self, *args)
    __div__ = __truediv__



    def DumpJson(self, theOStream: "Standard_OStream &", theDepth: "Standard_Integer"=-1) -> "void":
        return _Graphic3d.Graphic3d_Vec4i_DumpJson(self, theOStream, theDepth)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Vec4i

# Register Graphic3d_Vec4i in _Graphic3d:
_Graphic3d.Graphic3d_Vec4i_swigregister(Graphic3d_Vec4i)

def Graphic3d_Vec4i_Length() -> "int":
    return _Graphic3d.Graphic3d_Vec4i_Length()

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

    @staticmethod
    def Length() -> "int":
        return _Graphic3d.Graphic3d_Vec4ub_Length()

    def __init__(self, *args):
        _Graphic3d.Graphic3d_Vec4ub_swiginit(self, _Graphic3d.new_Graphic3d_Vec4ub(*args))

    def SetValues(self, *args) -> "void":
        return _Graphic3d.Graphic3d_Vec4ub_SetValues(self, *args)

    def xy(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_xy(self)

    def yx(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_yx(self)

    def xz(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_xz(self)

    def zx(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_zx(self)

    def xw(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_xw(self)

    def wx(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_wx(self)

    def yz(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_yz(self)

    def zy(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_zy(self)

    def yw(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_yw(self)

    def wy(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_wy(self)

    def zw(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_zw(self)

    def wz(self) -> "NCollection_Vec2< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_wz(self)

    def xyz(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_xyz(self)

    def xzy(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_xzy(self)

    def yxz(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_yxz(self)

    def yzx(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_yzx(self)

    def zyx(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_zyx(self)

    def zxy(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_zxy(self)

    def xyw(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_xyw(self)

    def xwy(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_xwy(self)

    def yxw(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_yxw(self)

    def ywx(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_ywx(self)

    def wyx(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_wyx(self)

    def wxy(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_wxy(self)

    def xzw(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_xzw(self)

    def xwz(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_xwz(self)

    def zxw(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_zxw(self)

    def zwx(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_zwx(self)

    def wzx(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_wzx(self)

    def wxz(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_wxz(self)

    def yzw(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_yzw(self)

    def ywz(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_ywz(self)

    def zyw(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_zyw(self)

    def zwy(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_zwy(self)

    def wzy(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_wzy(self)

    def wyz(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_wyz(self)

    def rgb(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_rgb(self)

    def rbg(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_rbg(self)

    def grb(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_grb(self)

    def gbr(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_gbr(self)

    def bgr(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_bgr(self)

    def brg(self) -> "NCollection_Vec3< unsigned char > const":
        return _Graphic3d.Graphic3d_Vec4ub_brg(self)

    def x(self, *args) -> "unsigned char &":
        return _Graphic3d.Graphic3d_Vec4ub_x(self, *args)

    def r(self, *args) -> "unsigned char &":
        return _Graphic3d.Graphic3d_Vec4ub_r(self, *args)

    def y(self, *args) -> "unsigned char &":
        return _Graphic3d.Graphic3d_Vec4ub_y(self, *args)

    def g(self, *args) -> "unsigned char &":
        return _Graphic3d.Graphic3d_Vec4ub_g(self, *args)

    def z(self, *args) -> "unsigned char &":
        return _Graphic3d.Graphic3d_Vec4ub_z(self, *args)

    def b(self, *args) -> "unsigned char &":
        return _Graphic3d.Graphic3d_Vec4ub_b(self, *args)

    def w(self, *args) -> "unsigned char &":
        return _Graphic3d.Graphic3d_Vec4ub_w(self, *args)

    def a(self, *args) -> "unsigned char &":
        return _Graphic3d.Graphic3d_Vec4ub_a(self, *args)

    def IsEqual(self, theOther: "Graphic3d_Vec4ub") -> "bool":
        return _Graphic3d.Graphic3d_Vec4ub_IsEqual(self, theOther)

    def __eq__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec4ub___eq__(self, *args)

    def __ne__(self, *args) -> "bool":
        return _Graphic3d.Graphic3d_Vec4ub___ne__(self, *args)

    def GetData(self) -> "unsigned char const *":
        return _Graphic3d.Graphic3d_Vec4ub_GetData(self)

    def ChangeData(self) -> "unsigned char *":
        return _Graphic3d.Graphic3d_Vec4ub_ChangeData(self)

    def __iadd__(self, theAdd: "Graphic3d_Vec4ub") -> "NCollection_Vec4< Standard_Byte > &":
        return _Graphic3d.Graphic3d_Vec4ub___iadd__(self, theAdd)

    def __neg__(self) -> "NCollection_Vec4< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec4ub___neg__(self)

    def __isub__(self, theDec: "Graphic3d_Vec4ub") -> "NCollection_Vec4< Standard_Byte > &":
        return _Graphic3d.Graphic3d_Vec4ub___isub__(self, theDec)

    def Multiply(self, theFactor: "unsigned char const") -> "void":
        return _Graphic3d.Graphic3d_Vec4ub_Multiply(self, theFactor)

    def __imul__(self, *args) -> "NCollection_Vec4< Standard_Byte > &":
        return _Graphic3d.Graphic3d_Vec4ub___imul__(self, *args)

    def __mul__(self, theFactor: "unsigned char const") -> "NCollection_Vec4< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec4ub___mul__(self, theFactor)

    def Multiplied(self, theFactor: "unsigned char const") -> "NCollection_Vec4< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec4ub_Multiplied(self, theFactor)

    def cwiseMin(self, theVec: "Graphic3d_Vec4ub") -> "NCollection_Vec4< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec4ub_cwiseMin(self, theVec)

    def cwiseMax(self, theVec: "Graphic3d_Vec4ub") -> "NCollection_Vec4< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec4ub_cwiseMax(self, theVec)

    def cwiseAbs(self) -> "NCollection_Vec4< Standard_Byte >":
        return _Graphic3d.Graphic3d_Vec4ub_cwiseAbs(self)

    def maxComp(self) -> "unsigned char":
        return _Graphic3d.Graphic3d_Vec4ub_maxComp(self)

    def minComp(self) -> "unsigned char":
        return _Graphic3d.Graphic3d_Vec4ub_minComp(self)

    def Dot(self, theOther: "Graphic3d_Vec4ub") -> "unsigned char":
        return _Graphic3d.Graphic3d_Vec4ub_Dot(self, theOther)

    def __itruediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec4ub___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _Graphic3d.Graphic3d_Vec4ub___truediv__(self, *args)
    __div__ = __truediv__



    def DumpJson(self, theOStream: "Standard_OStream &", theDepth: "Standard_Integer"=-1) -> "void":
        return _Graphic3d.Graphic3d_Vec4ub_DumpJson(self, theOStream, theDepth)
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Vec4ub

# Register Graphic3d_Vec4ub in _Graphic3d:
_Graphic3d.Graphic3d_Vec4ub_swigregister(Graphic3d_Vec4ub)

def Graphic3d_Vec4ub_Length() -> "int":
    return _Graphic3d.Graphic3d_Vec4ub_Length()

class Graphic3d_ArrayOfPrimitives(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 AddBound(self, *args) -> "Standard_Integer":
        r"""
        Adds a bound of length theedgenumber in the bound array returns the actual bounds number.

        Parameters
        ----------
        theEdgeNumber: int

        Returns
        -------
        int
        Adds a bound of length theedgenumber and bound color thebcolor in the bound array. warning: thebcolor is ignored when the hasbcolors constructor parameter is false returns the actual bounds number.

        Parameters
        ----------
        theEdgeNumber: int
        theBColor: Quantity_Color

        Returns
        -------
        int
        Adds a bound of length theedgenumber and bound color coordinates in the bound array. warning: <ther,theg,theb> are ignored when the hasbcolors constructor parameter is false returns the actual bounds number.

        Parameters
        ----------
        theEdgeNumber: int
        theR: float
        theG: float
        theB: float

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_AddBound(self, *args)

    def AddEdge(self, *args) -> "Standard_Integer":
        r"""
        Adds an edge in the range [1,vertexnumber()] in the array. returns the actual edges number.

        Parameters
        ----------
        theVertexIndex: int

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_AddEdge(self, *args)

    def AddEdges(self, *args) -> "Standard_Integer":
        r"""
        Convenience method, adds two vertex indices (a segment) in the range [1,vertexnumber()] in the array. returns the actual edges number.

        Parameters
        ----------
        theVertexIndex1: int
        theVertexIndex2: int

        Returns
        -------
        int
        Convenience method, adds three vertex indices (a triangle) in the range [1,vertexnumber()] in the array. returns the actual edges number.

        Parameters
        ----------
        theVertexIndex1: int
        theVertexIndex2: int
        theVertexIndex3: int

        Returns
        -------
        int
        Convenience method, adds four vertex indices (a quad) in the range [1,vertexnumber()] in the array. returns the actual edges number.

        Parameters
        ----------
        theVertexIndex1: int
        theVertexIndex2: int
        theVertexIndex3: int
        theVertexIndex4: int

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_AddEdges(self, *args)

    def AddPolylineEdges(self, *args) -> "void":
        r"""
        Add line strip (polyline) into indexed segments array. n-1 segments are added from n input nodes (or n with closed flag). raises exception if array is not of type graphic3d_topa_segments. @param thevertexlower [in] index of first node defining line strip fun (center) @param thevertexupper [in] index of last node defining triangle fun @param thetoclose [in] close triangle fan (connect first and last points).

        Parameters
        ----------
        theVertexLower: int
        theVertexUpper: int
        theToClose: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_AddPolylineEdges(self, *args)

    def AddQuadEdges(self, *args) -> "Standard_Integer":
        r"""
        Convenience method, adds four vertex indices (a quad) in the range [1,vertexnumber()] in the array of quads. raises exception if array is not of type graphic3d_topa_quadrangles. returns the actual edges number.

        Parameters
        ----------
        theVertexIndex1: int
        theVertexIndex2: int
        theVertexIndex3: int
        theVertexIndex4: int

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_AddQuadEdges(self, *args)

    def AddQuadTriangleEdges(self, *args) -> "Standard_Integer":
        r"""
        Convenience method, adds quad indices in the range [1,vertexnumber()] into array or triangles as two triangles. raises exception if array is not of type graphic3d_topa_triangles. returns the actual edges number.

        Parameters
        ----------
        theVertexIndex1: int
        theVertexIndex2: int
        theVertexIndex3: int
        theVertexIndex4: int

        Returns
        -------
        int
        Convenience method, adds quad indices in the range [1,vertexnumber()] into array or triangles as two triangles. raises exception if array is not of type graphic3d_topa_triangles. returns the actual edges number.

        Parameters
        ----------
        theIndexes: Graphic3d_Vec4i

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_AddQuadTriangleEdges(self, *args)

    def AddSegmentEdges(self, *args) -> "Standard_Integer":
        r"""
        Convenience method, adds two vertex indices (a segment) in the range [1,vertexnumber()] in the array of segments (graphic3d_topa_segments). raises exception if array is not of type graphic3d_topa_segments. returns the actual edges number.

        Parameters
        ----------
        theVertexIndex1: int
        theVertexIndex2: int

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_AddSegmentEdges(self, *args)

    def AddTriangleEdges(self, *args) -> "Standard_Integer":
        r"""
        Convenience method, adds three vertex indices of triangle in the range [1,vertexnumber()] in the array of triangles. raises exception if array is not of type graphic3d_topa_triangles. returns the actual edges number.

        Parameters
        ----------
        theVertexIndex1: int
        theVertexIndex2: int
        theVertexIndex3: int

        Returns
        -------
        int
        Convenience method, adds three vertex indices of triangle in the range [1,vertexnumber()] in the array of triangles. raises exception if array is not of type graphic3d_topa_triangles. returns the actual edges number.

        Parameters
        ----------
        theIndexes: Graphic3d_Vec3i

        Returns
        -------
        int
        Convenience method, adds three vertex indices (4th component is ignored) of triangle in the range [1,vertexnumber()] in the array of triangles. raises exception if array is not of type graphic3d_topa_triangles. returns the actual edges number.

        Parameters
        ----------
        theIndexes: Graphic3d_Vec4i

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_AddTriangleEdges(self, *args)

    def AddTriangleFanEdges(self, *args) -> "void":
        r"""
        Add triangle fan into indexed triangulation array. n-2 triangles are added from n input nodes (or n-1 with closed flag). raises exception if array is not of type graphic3d_topa_triangles. @param thevertexlower [in] index of first node defining triangle fun (center) @param thevertexupper [in] index of last node defining triangle fun @param thetoclose [in] close triangle fan (connect first and last points).

        Parameters
        ----------
        theVertexLower: int
        theVertexUpper: int
        theToClose: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_AddTriangleFanEdges(self, *args)

    def AddTriangleStripEdges(self, *args) -> "void":
        r"""
        Add triangle strip into indexed triangulation array. n-2 triangles are added from n input nodes. raises exception if array is not of type graphic3d_topa_triangles. @param thevertexlower [in] index of first node defining triangle strip @param thevertexupper [in] index of last node defining triangle strip.

        Parameters
        ----------
        theVertexLower: int
        theVertexUpper: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_AddTriangleStripEdges(self, *args)

    def AddVertex(self, *args) -> "Standard_Integer":
        r"""
        Adds a vertice in the array. returns the actual vertex number.

        Parameters
        ----------
        theVertex: gp_Pnt

        Returns
        -------
        int
        Adds a vertice in the array. returns the actual vertex number.

        Parameters
        ----------
        theVertex: Graphic3d_Vec3

        Returns
        -------
        int
        Adds a vertice in the array. returns the actual vertex number.

        Parameters
        ----------
        theX: float
        theY: float
        theZ: float

        Returns
        -------
        int
        Adds a vertice in the array. returns the actual vertex number.

        Parameters
        ----------
        theX: Standard_ShortReal
        theY: Standard_ShortReal
        theZ: Standard_ShortReal

        Returns
        -------
        int
        Adds a vertice and vertex color in the vertex array. warning: thecolor is ignored when the hasvcolors constructor parameter is false returns the actual vertex number.

        Parameters
        ----------
        theVertex: gp_Pnt
        theColor: Quantity_Color

        Returns
        -------
        int
        Adds a vertice and vertex color in the vertex array. warning: thecolor is ignored when the hasvcolors constructor parameter is false @code thecolor32 = alpha << 24 + blue << 16 + green << 8 + red @endcode returns the actual vertex number.

        Parameters
        ----------
        theVertex: gp_Pnt
        theColor32: int

        Returns
        -------
        int
        Adds a vertice and vertex color in the vertex array. warning: thecolor is ignored when the hasvcolors constructor parameter is false returns the actual vertex number.

        Parameters
        ----------
        theVertex: gp_Pnt
        theColor: Graphic3d_Vec4ub

        Returns
        -------
        int
        Adds a vertice and vertex normal in the vertex array. warning: thenormal is ignored when the hasvnormals constructor parameter is false. returns the actual vertex number.

        Parameters
        ----------
        theVertex: gp_Pnt
        theNormal: gp_Dir

        Returns
        -------
        int
        Adds a vertice and vertex normal in the vertex array. warning: normal is ignored when the hasvnormals constructor parameter is false. returns the actual vertex number.

        Parameters
        ----------
        theX: float
        theY: float
        theZ: float
        theNX: float
        theNY: float
        theNZ: float

        Returns
        -------
        int
        Adds a vertice and vertex normal in the vertex array. warning: normal is ignored when the hasvnormals constructor parameter is false. returns the actual vertex number.

        Parameters
        ----------
        theX: Standard_ShortReal
        theY: Standard_ShortReal
        theZ: Standard_ShortReal
        theNX: Standard_ShortReal
        theNY: Standard_ShortReal
        theNZ: Standard_ShortReal

        Returns
        -------
        int
        Adds a vertice,vertex normal and color in the vertex array. warning: thenormal is ignored when the hasvnormals constructor parameter is false and thecolor is ignored when the hasvcolors constructor parameter is false. returns the actual vertex number.

        Parameters
        ----------
        theVertex: gp_Pnt
        theNormal: gp_Dir
        theColor: Quantity_Color

        Returns
        -------
        int
        Adds a vertice,vertex normal and color in the vertex array. warning: thenormal is ignored when the hasvnormals constructor parameter is false and thecolor is ignored when the hasvcolors constructor parameter is false. @code thecolor32 = alpha << 24 + blue << 16 + green << 8 + red @endcode returns the actual vertex number.

        Parameters
        ----------
        theVertex: gp_Pnt
        theNormal: gp_Dir
        theColor32: int

        Returns
        -------
        int
        Adds a vertice and vertex texture in the vertex array. thetexel is ignored when the hasvtexels constructor parameter is false. returns the actual vertex number.

        Parameters
        ----------
        theVertex: gp_Pnt
        theTexel: gp_Pnt2d

        Returns
        -------
        int
        Adds a vertice and vertex texture coordinates in the vertex array. texel is ignored when the hasvtexels constructor parameter is false. returns the actual vertex number.

        Parameters
        ----------
        theX: float
        theY: float
        theZ: float
        theTX: float
        theTY: float

        Returns
        -------
        int
        Adds a vertice and vertex texture coordinates in the vertex array. texel is ignored when the hasvtexels constructor parameter is false. returns the actual vertex number.

        Parameters
        ----------
        theX: Standard_ShortReal
        theY: Standard_ShortReal
        theZ: Standard_ShortReal
        theTX: Standard_ShortReal
        theTY: Standard_ShortReal

        Returns
        -------
        int
        Adds a vertice,vertex normal and texture in the vertex array. warning: thenormal is ignored when the hasvnormals constructor parameter is false and thetexel is ignored when the hasvtexels constructor parameter is false. returns the actual vertex number.

        Parameters
        ----------
        theVertex: gp_Pnt
        theNormal: gp_Dir
        theTexel: gp_Pnt2d

        Returns
        -------
        int
        Adds a vertice,vertex normal and texture in the vertex array. warning: normal is ignored when the hasvnormals constructor parameter is false and texel is ignored when the hasvtexels constructor parameter is false. returns the actual vertex number.

        Parameters
        ----------
        theX: float
        theY: float
        theZ: float
        theNX: float
        theNY: float
        theNZ: float
        theTX: float
        theTY: float

        Returns
        -------
        int
        Adds a vertice,vertex normal and texture in the vertex array. warning: normal is ignored when the hasvnormals constructor parameter is false and texel is ignored when the hasvtexels constructor parameter is false. returns the actual vertex number.

        Parameters
        ----------
        theX: Standard_ShortReal
        theY: Standard_ShortReal
        theZ: Standard_ShortReal
        theNX: Standard_ShortReal
        theNY: Standard_ShortReal
        theNZ: Standard_ShortReal
        theTX: Standard_ShortReal
        theTY: Standard_ShortReal

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_AddVertex(self, *args)

    def Attributes(self, *args) -> "opencascade::handle< Graphic3d_Buffer > const &":
        r"""
        Returns vertex attributes buffer (colors, normals, texture coordinates).

        Returns
        -------
        opencascade::handle<Graphic3d_Buffer>

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_Attributes(self, *args)

    def Bound(self, *args) -> "Standard_Integer":
        r"""
        Returns the edge number at rank therank.

        Parameters
        ----------
        theRank: int

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_Bound(self, *args)

    def BoundColor(self, *args) -> "void":
        r"""
        Returns the bound color at rank therank from the bound table if defined.

        Parameters
        ----------
        theRank: int

        Returns
        -------
        Quantity_Color
        Returns the bound color values at rank therank from the bound table if defined.

        Parameters
        ----------
        theRank: int

        Returns
        -------
        theR: float
        theG: float
        theB: float

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_BoundColor(self, *args)

    def BoundNumber(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of defined bounds.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_BoundNumber(self, *args)

    def BoundNumberAllocated(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of allocated bounds.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_BoundNumberAllocated(self, *args)

    def Bounds(self, *args) -> "opencascade::handle< Graphic3d_BoundBuffer > const &":
        r"""
        Returns optional bounds buffer.

        Returns
        -------
        opencascade::handle<Graphic3d_BoundBuffer>

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_Bounds(self, *args)

    @staticmethod
    def CreateArray(*args) -> "opencascade::handle< Graphic3d_ArrayOfPrimitives >":
        r"""
        Create an array of specified type.

        Parameters
        ----------
        theType: Graphic3d_TypeOfPrimitiveArray
        theMaxVertexs: int
        theMaxEdges: int
        theArrayFlags: int

        Returns
        -------
        opencascade::handle<Graphic3d_ArrayOfPrimitives>
        Create an array of specified type.

        Parameters
        ----------
        theType: Graphic3d_TypeOfPrimitiveArray
        theMaxVertexs: int
        theMaxBounds: int
        theMaxEdges: int
        theArrayFlags: int

        Returns
        -------
        opencascade::handle<Graphic3d_ArrayOfPrimitives>

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_CreateArray(*args)

    def Edge(self, *args) -> "Standard_Integer":
        r"""
        Returns the vertex index at rank therank in the range [1,edgenumber()].

        Parameters
        ----------
        theRank: int

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_Edge(self, *args)

    def EdgeNumber(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of defined edges.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_EdgeNumber(self, *args)

    def EdgeNumberAllocated(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of allocated edges.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_EdgeNumberAllocated(self, *args)

    def HasBoundColors(self, *args) -> "Standard_Boolean":
        r"""
        Returns true when bound colors array is defined.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_HasBoundColors(self, *args)

    def HasVertexColors(self, *args) -> "Standard_Boolean":
        r"""
        Returns true when vertex colors array is defined.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_HasVertexColors(self, *args)

    def HasVertexNormals(self, *args) -> "Standard_Boolean":
        r"""
        Returns true when vertex normals array is defined.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_HasVertexNormals(self, *args)

    def HasVertexTexels(self, *args) -> "Standard_Boolean":
        r"""
        Returns true when vertex texels array is defined.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_HasVertexTexels(self, *args)

    def Indices(self, *args) -> "opencascade::handle< Graphic3d_IndexBuffer > const &":
        r"""
        Returns optional index buffer.

        Returns
        -------
        opencascade::handle<Graphic3d_IndexBuffer>

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_Indices(self, *args)

    def IsValid(self, *args) -> "Standard_Boolean":
        r"""
        Returns true only when the contains of this array is available.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_IsValid(self, *args)

    def ItemNumber(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of total items according to the array type.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_ItemNumber(self, *args)

    def SetBoundColor(self, *args) -> "void":
        r"""
        Change the bound color of rank theindex in the array.

        Parameters
        ----------
        theIndex: int
        theColor: Quantity_Color

        Returns
        -------
        None
        Change the bound color of rank theindex in the array.

        Parameters
        ----------
        theIndex: int
        theR: float
        theG: float
        theB: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_SetBoundColor(self, *args)

    def SetVertexColor(self, *args) -> "void":
        r"""
        Change the vertex color of rank theindex in the array.

        Parameters
        ----------
        theIndex: int
        theColor: Quantity_Color

        Returns
        -------
        None
        Change the vertex color of rank theindex in the array.

        Parameters
        ----------
        theIndex: int
        theR: float
        theG: float
        theB: float

        Returns
        -------
        None
        Change the vertex color of rank theindex in the array.

        Parameters
        ----------
        theIndex: int
        theColor: Graphic3d_Vec4ub

        Returns
        -------
        None
        Change the vertex color of rank theindex> in the array. @code thecolor32 = alpha << 24 + blue << 16 + green << 8 + red @endcode.

        Parameters
        ----------
        theIndex: int
        theColor32: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_SetVertexColor(self, *args)

    def SetVertexNormal(self, *args) -> "void":
        r"""
        Change the vertex normal of rank theindex in the array.

        Parameters
        ----------
        theIndex: int
        theNormal: gp_Dir

        Returns
        -------
        None
        Change the vertex normal of rank theindex in the array.

        Parameters
        ----------
        theIndex: int
        theNX: float
        theNY: float
        theNZ: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_SetVertexNormal(self, *args)

    def SetVertexTexel(self, *args) -> "void":
        r"""
        Change the vertex texel of rank theindex in the array.

        Parameters
        ----------
        theIndex: int
        theTexel: gp_Pnt2d

        Returns
        -------
        None
        Change the vertex texel of rank theindex in the array.

        Parameters
        ----------
        theIndex: int
        theTX: float
        theTY: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_SetVertexTexel(self, *args)

    def SetVertice(self, *args) -> "void":
        r"""
        Change the vertice of rank theindex in the array.

        Parameters
        ----------
        theIndex: int
        theVertex: gp_Pnt

        Returns
        -------
        None
        Change the vertice of rank theindex in the array.

        Parameters
        ----------
        theIndex: int
        theX: Standard_ShortReal
        theY: Standard_ShortReal
        theZ: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_SetVertice(self, *args)

    def StringType(self, *args) -> "char const *":
        r"""
        Returns the string type of this primitive.

        Returns
        -------
        char *

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_StringType(self, *args)

    def Type(self, *args) -> "Graphic3d_TypeOfPrimitiveArray":
        r"""
        Returns the type of this primitive.

        Returns
        -------
        Graphic3d_TypeOfPrimitiveArray

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_Type(self, *args)

    def VertexColor(self, *args) -> "void":
        r"""
        Returns the vertex color at rank therank from the vertex table if defined.

        Parameters
        ----------
        theRank: int

        Returns
        -------
        Quantity_Color
        Returns the vertex color at rank theindex from the vertex table if defined.

        Parameters
        ----------
        theIndex: int
        theColor: Graphic3d_Vec4ub

        Returns
        -------
        None
        Returns the vertex color values at rank therank from the vertex table if defined.

        Parameters
        ----------
        theRank: int

        Returns
        -------
        theR: float
        theG: float
        theB: float
        Returns the vertex color values at rank therank from the vertex table if defined.

        Parameters
        ----------
        theRank: int

        Returns
        -------
        theColor: int

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_VertexColor(self, *args)

    def VertexNormal(self, *args) -> "void":
        r"""
        Returns the vertex normal at rank therank from the vertex table if defined.

        Parameters
        ----------
        theRank: int

        Returns
        -------
        gp_Dir
        Returns the vertex normal coordinates at rank therank from the vertex table if defined.

        Parameters
        ----------
        theRank: int

        Returns
        -------
        theNX: float
        theNY: float
        theNZ: float

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_VertexNormal(self, *args)

    def VertexNumber(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of defined vertex.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_VertexNumber(self, *args)

    def VertexNumberAllocated(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of allocated vertex.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_VertexNumberAllocated(self, *args)

    def VertexTexel(self, *args) -> "void":
        r"""
        Returns the vertex texture at rank therank from the vertex table if defined.

        Parameters
        ----------
        theRank: int

        Returns
        -------
        gp_Pnt2d
        Returns the vertex texture coordinates at rank therank from the vertex table if defined.

        Parameters
        ----------
        theRank: int

        Returns
        -------
        theTX: float
        theTY: float

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_VertexTexel(self, *args)

    def Vertice(self, *args) -> "void":
        r"""
        Returns the vertice at rank therank from the vertex table if defined.

        Parameters
        ----------
        theRank: int

        Returns
        -------
        gp_Pnt
        Returns the vertice coordinates at rank therank from the vertex table if defined.

        Parameters
        ----------
        theRank: int

        Returns
        -------
        theX: float
        theY: float
        theZ: float

        """
        return _Graphic3d.Graphic3d_ArrayOfPrimitives_Vertice(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ArrayOfPrimitives

# Register Graphic3d_ArrayOfPrimitives in _Graphic3d:
_Graphic3d.Graphic3d_ArrayOfPrimitives_swigregister(Graphic3d_ArrayOfPrimitives)

def Graphic3d_ArrayOfPrimitives_CreateArray(*args) -> "opencascade::handle< Graphic3d_ArrayOfPrimitives >":
    r"""
    Create an array of specified type.

    Parameters
    ----------
    theType: Graphic3d_TypeOfPrimitiveArray
    theMaxVertexs: int
    theMaxEdges: int
    theArrayFlags: int

    Returns
    -------
    opencascade::handle<Graphic3d_ArrayOfPrimitives>
    Create an array of specified type.

    Parameters
    ----------
    theType: Graphic3d_TypeOfPrimitiveArray
    theMaxVertexs: int
    theMaxBounds: int
    theMaxEdges: int
    theArrayFlags: int

    Returns
    -------
    opencascade::handle<Graphic3d_ArrayOfPrimitives>

    """
    return _Graphic3d.Graphic3d_ArrayOfPrimitives_CreateArray(*args)

class Graphic3d_Aspects(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"""
        Creates a context table for drawing primitives defined with the following default values:.

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_Aspects_swiginit(self, _Graphic3d.new_Graphic3d_Aspects(*args))

    def AllowBackFace(self, *args) -> "void":
        r"""
        Allows the display of back-facing filled polygons.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_AllowBackFace(self, *args)

    def AlphaCutoff(self, *args) -> "Standard_ShortReal":
        r"""
        Returns alpha cutoff threshold, for discarding fragments within graphic3d_alphamode_mask mode (0.5 by default). if the alpha value is greater than or equal to this value then it is rendered as fully opaque, otherwise, it is rendered as fully transparent.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_Aspects_AlphaCutoff(self, *args)

    def AlphaMode(self, *args) -> "Graphic3d_AlphaMode":
        r"""
        Returns the way how alpha value should be treated (graphic3d_alphamode_blendauto by default, for backward compatibility).

        Returns
        -------
        Graphic3d_AlphaMode

        """
        return _Graphic3d.Graphic3d_Aspects_AlphaMode(self, *args)

    def BackFace(self, *args) -> "bool":
        r"""
        Returns true if back faces should be suppressed (true by default).

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Aspects_BackFace(self, *args)

    def BackInteriorColor(self, *args) -> "Quantity_Color const &":
        r"""
        Return back interior color.

        Returns
        -------
        Quantity_Color

        """
        return _Graphic3d.Graphic3d_Aspects_BackInteriorColor(self, *args)

    def BackInteriorColorRGBA(self, *args) -> "Quantity_ColorRGBA const &":
        r"""
        Return back interior color.

        Returns
        -------
        Quantity_ColorRGBA

        """
        return _Graphic3d.Graphic3d_Aspects_BackInteriorColorRGBA(self, *args)

    def BackMaterial(self, *args) -> "Graphic3d_MaterialAspect const &":
        r"""
        Returns the surface material of internal faces.

        Returns
        -------
        Graphic3d_MaterialAspect

        """
        return _Graphic3d.Graphic3d_Aspects_BackMaterial(self, *args)

    def ChangeBackMaterial(self, *args) -> "Graphic3d_MaterialAspect &":
        r"""
        Returns the surface material of internal faces.

        Returns
        -------
        Graphic3d_MaterialAspect

        """
        return _Graphic3d.Graphic3d_Aspects_ChangeBackMaterial(self, *args)

    def ChangeFrontMaterial(self, *args) -> "Graphic3d_MaterialAspect &":
        r"""
        Returns the surface material of external faces.

        Returns
        -------
        Graphic3d_MaterialAspect

        """
        return _Graphic3d.Graphic3d_Aspects_ChangeFrontMaterial(self, *args)

    def Color(self, *args) -> "Quantity_Color const &":
        r"""
        Return the color.

        Returns
        -------
        Quantity_Color

        """
        return _Graphic3d.Graphic3d_Aspects_Color(self, *args)

    def ColorRGBA(self, *args) -> "Quantity_ColorRGBA const &":
        r"""
        Return color.

        Returns
        -------
        Quantity_ColorRGBA

        """
        return _Graphic3d.Graphic3d_Aspects_ColorRGBA(self, *args)

    def ColorSubTitle(self, *args) -> "Quantity_Color const &":
        r"""
        Return text background/shadow color; equals to edgecolor() property.

        Returns
        -------
        Quantity_Color

        """
        return _Graphic3d.Graphic3d_Aspects_ColorSubTitle(self, *args)

    def ColorSubTitleRGBA(self, *args) -> "Quantity_ColorRGBA const &":
        r"""
        Returns text background/shadow color; equals to edgecolor() property.

        Returns
        -------
        Quantity_ColorRGBA

        """
        return _Graphic3d.Graphic3d_Aspects_ColorSubTitleRGBA(self, *args)

    @staticmethod
    def DefaultLinePatternForType(*args) -> "uint16_t":
        r"""
        Return stipple line pattern for line type.

        Parameters
        ----------
        theType: Aspect_TypeOfLine

        Returns
        -------
        uint16_t

        """
        return _Graphic3d.Graphic3d_Aspects_DefaultLinePatternForType(*args)

    @staticmethod
    def DefaultLineTypeForPattern(*args) -> "Aspect_TypeOfLine":
        r"""
        Return line type for stipple line pattern.

        Parameters
        ----------
        thePattern: uint16_t

        Returns
        -------
        Aspect_TypeOfLine

        """
        return _Graphic3d.Graphic3d_Aspects_DefaultLineTypeForPattern(*args)

    def Distinguish(self, *args) -> "bool":
        r"""
        Returns true if material properties should be distinguished for back and front faces (false by default).

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Aspects_Distinguish(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_Aspects self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_Aspects_DumpJsonToString(self, depth)

    def EdgeColor(self, *args) -> "Quantity_Color const &":
        r"""
        Return color of edges.

        Returns
        -------
        Quantity_Color

        """
        return _Graphic3d.Graphic3d_Aspects_EdgeColor(self, *args)

    def EdgeColorRGBA(self, *args) -> "Quantity_ColorRGBA const &":
        r"""
        Return color of edges.

        Returns
        -------
        Quantity_ColorRGBA

        """
        return _Graphic3d.Graphic3d_Aspects_EdgeColorRGBA(self, *args)

    def EdgeLineType(self, *args) -> "Aspect_TypeOfLine":
        r"""
        Return edges line type (same as linetype()).

        Returns
        -------
        Aspect_TypeOfLine

        """
        return _Graphic3d.Graphic3d_Aspects_EdgeLineType(self, *args)

    def EdgeWidth(self, *args) -> "Standard_ShortReal":
        r"""
        Return width for edges in pixels (same as linewidth()).

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_Aspects_EdgeWidth(self, *args)

    def FrontMaterial(self, *args) -> "Graphic3d_MaterialAspect const &":
        r"""
        Returns the surface material of external faces.

        Returns
        -------
        Graphic3d_MaterialAspect

        """
        return _Graphic3d.Graphic3d_Aspects_FrontMaterial(self, *args)

    def HatchStyle(self, *args) -> "opencascade::handle< Graphic3d_HatchStyle > const &":
        r"""
        Returns the hatch type used when interiorstyle is is_hatch.

        Returns
        -------
        opencascade::handle<Graphic3d_HatchStyle>

        """
        return _Graphic3d.Graphic3d_Aspects_HatchStyle(self, *args)

    def InteriorColor(self, *args) -> "Quantity_Color const &":
        r"""
        Return interior color.

        Returns
        -------
        Quantity_Color

        """
        return _Graphic3d.Graphic3d_Aspects_InteriorColor(self, *args)

    def InteriorColorRGBA(self, *args) -> "Quantity_ColorRGBA const &":
        r"""
        Return interior color.

        Returns
        -------
        Quantity_ColorRGBA

        """
        return _Graphic3d.Graphic3d_Aspects_InteriorColorRGBA(self, *args)

    def InteriorStyle(self, *args) -> "Aspect_InteriorStyle":
        r"""
        Return interior rendering style; aspect_is_solid by default.

        Returns
        -------
        Aspect_InteriorStyle

        """
        return _Graphic3d.Graphic3d_Aspects_InteriorStyle(self, *args)

    def IsEqual(self, *args) -> "bool":
        r"""
        Check for equality with another aspects.

        Parameters
        ----------
        theOther: Graphic3d_Aspects

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Aspects_IsEqual(self, *args)

    def IsMarkerSprite(self, *args) -> "bool":
        r"""
        Returns true if marker should be drawn using marker sprite (either user-provided or generated).

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Aspects_IsMarkerSprite(self, *args)

    def IsTextZoomable(self, *args) -> "bool":
        r"""
        Returns true when the text zoomable is on.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Aspects_IsTextZoomable(self, *args)

    def LinePattern(self, *args) -> "uint16_t":
        r"""
        Return custom stipple line pattern; 0xffff by default.

        Returns
        -------
        uint16_t

        """
        return _Graphic3d.Graphic3d_Aspects_LinePattern(self, *args)

    def LineStippleFactor(self, *args) -> "uint16_t":
        r"""
        Return a multiplier for each bit in the line stipple pattern within [1, 256] range; 1 by default.

        Returns
        -------
        uint16_t

        """
        return _Graphic3d.Graphic3d_Aspects_LineStippleFactor(self, *args)

    def LineType(self, *args) -> "Aspect_TypeOfLine":
        r"""
        Return line type; aspect_tol_solid by default.

        Returns
        -------
        Aspect_TypeOfLine

        """
        return _Graphic3d.Graphic3d_Aspects_LineType(self, *args)

    def LineWidth(self, *args) -> "Standard_ShortReal":
        r"""
        Return width for edges in pixels; 1.0 by default.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_Aspects_LineWidth(self, *args)

    def MarkerImage(self, *args) -> "opencascade::handle< Graphic3d_MarkerImage > const &":
        r"""
        Returns marker's image texture. could be null handle if marker aspect has been initialized as default type of marker.

        Returns
        -------
        opencascade::handle<Graphic3d_MarkerImage>

        """
        return _Graphic3d.Graphic3d_Aspects_MarkerImage(self, *args)

    def MarkerScale(self, *args) -> "Standard_ShortReal":
        r"""
        Return marker scale factor; 1.0 by default.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_Aspects_MarkerScale(self, *args)

    def MarkerType(self, *args) -> "Aspect_TypeOfMarker":
        r"""
        Return marker type; aspect_tom_point by default.

        Returns
        -------
        Aspect_TypeOfMarker

        """
        return _Graphic3d.Graphic3d_Aspects_MarkerType(self, *args)

    def PolygonOffset(self, *args) -> "Graphic3d_PolygonOffset const &":
        r"""
        Returns current polygon offsets settings.

        Returns
        -------
        Graphic3d_PolygonOffset

        """
        return _Graphic3d.Graphic3d_Aspects_PolygonOffset(self, *args)

    def PolygonOffsets(self, *args) -> "void":
        r"""
        Returns current polygon offsets settings.

        Parameters
        ----------
        theFactor: Standard_ShortReal
        theUnits: Standard_ShortReal

        Returns
        -------
        theMode: int

        """
        return _Graphic3d.Graphic3d_Aspects_PolygonOffsets(self, *args)

    def SetAlphaMode(self, *args) -> "void":
        r"""
        Defines the way how alpha value should be treated.

        Parameters
        ----------
        theMode: Graphic3d_AlphaMode
        theAlphaCutoff: Standard_ShortReal,optional
        	default value is 0.5f

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetAlphaMode(self, *args)

    def SetBackInteriorColor(self, *args) -> "void":
        r"""
        Modifies the color of the interior of the back face.

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

        Returns
        -------
        None
        Modifies the color of the interior of the back face.

        Parameters
        ----------
        theColor: Quantity_ColorRGBA

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetBackInteriorColor(self, *args)

    def SetBackMaterial(self, *args) -> "void":
        r"""
        Modifies the surface material of internal faces.

        Parameters
        ----------
        theMaterial: Graphic3d_MaterialAspect

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetBackMaterial(self, *args)

    def SetColor(self, *args) -> "void":
        r"""
        Modifies the color.

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

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetColor(self, *args)

    def SetColorSubTitle(self, *args) -> "void":
        r"""
        Modifies text background/shadow color; equals to edgecolor() property.

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

        Returns
        -------
        None
        Modifies text background/shadow color; equals to edgecolor() property.

        Parameters
        ----------
        theColor: Quantity_ColorRGBA

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetColorSubTitle(self, *args)

    def SetDistinguish(self, *args) -> "void":
        r"""
        Set material distinction between front and back faces.

        Parameters
        ----------
        toDistinguish: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetDistinguish(self, *args)

    def SetDistinguishOff(self, *args) -> "void":
        r"""
        Forbids material distinction between front and back faces.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetDistinguishOff(self, *args)

    def SetDistinguishOn(self, *args) -> "void":
        r"""
        Allows material distinction between front and back faces.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetDistinguishOn(self, *args)

    def SetDrawEdges(self, *args) -> "void":
        r"""
        Set if mesh edges should be drawn or not.

        Parameters
        ----------
        theToDraw: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetDrawEdges(self, *args)

    def SetDrawSilhouette(self, *args) -> "void":
        r"""
        Enables/disables drawing silhouette (outline).

        Parameters
        ----------
        theToDraw: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetDrawSilhouette(self, *args)

    def SetEdgeColor(self, *args) -> "void":
        r"""
        Modifies the color of the edge of the face.

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

        Returns
        -------
        None
        Modifies the color of the edge of the face.

        Parameters
        ----------
        theColor: Quantity_ColorRGBA

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetEdgeColor(self, *args)

    def SetEdgeLineType(self, *args) -> "void":
        r"""
        Modifies the edge line type (same as setlinetype()).

        Parameters
        ----------
        theType: Aspect_TypeOfLine

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetEdgeLineType(self, *args)

    def SetEdgeOff(self, *args) -> "void":
        r"""
        The edges of fillareas are not drawn.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetEdgeOff(self, *args)

    def SetEdgeOn(self, *args) -> "void":
        r"""
        The edges of fillareas are drawn.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetEdgeOn(self, *args)

    def SetEdgeWidth(self, *args) -> "void":
        r"""
        Modifies the edge thickness (same as setlinewidth()).

        Parameters
        ----------
        theWidth: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetEdgeWidth(self, *args)

    def SetFrontMaterial(self, *args) -> "void":
        r"""
        Modifies the surface material of external faces.

        Parameters
        ----------
        theMaterial: Graphic3d_MaterialAspect

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetFrontMaterial(self, *args)

    def SetHatchStyle(self, *args) -> "void":
        r"""
        Modifies the hatch type used when interiorstyle is is_hatch.

        Parameters
        ----------
        theStyle: Graphic3d_HatchStyle

        Returns
        -------
        None
        Modifies the hatch type used when interiorstyle is is_hatch @warning this method always creates a new handle for a given hatch style.

        Parameters
        ----------
        theStyle: Aspect_HatchStyle

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetHatchStyle(self, *args)

    def SetInteriorColor(self, *args) -> "void":
        r"""
        Modifies the color of the interior of the face.

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

        Returns
        -------
        None
        Modifies the color of the interior of the face.

        Parameters
        ----------
        theColor: Quantity_ColorRGBA

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetInteriorColor(self, *args)

    def SetInteriorStyle(self, *args) -> "void":
        r"""
        Modifies the interior type used for rendering.

        Parameters
        ----------
        theStyle: Aspect_InteriorStyle

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetInteriorStyle(self, *args)

    def SetLinePattern(self, *args) -> "void":
        r"""
        Modifies the stipple line pattern, and changes line type to aspect_tol_userdefined for non-standard pattern.

        Parameters
        ----------
        thePattern: uint16_t

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetLinePattern(self, *args)

    def SetLineStippleFactor(self, *args) -> "void":
        r"""
        Set a multiplier for each bit in the line stipple pattern.

        Parameters
        ----------
        theFactor: uint16_t

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetLineStippleFactor(self, *args)

    def SetLineType(self, *args) -> "void":
        r"""
        Modifies the line type.

        Parameters
        ----------
        theType: Aspect_TypeOfLine

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetLineType(self, *args)

    def SetLineWidth(self, *args) -> "void":
        r"""
        Modifies the line thickness warning: raises standard_outofrange if the width is a negative value.

        Parameters
        ----------
        theWidth: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetLineWidth(self, *args)

    def SetMarkerImage(self, *args) -> "void":
        r"""
        Set marker's image texture.

        Parameters
        ----------
        theImage: Graphic3d_MarkerImage

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetMarkerImage(self, *args)

    def SetMarkerScale(self, *args) -> "void":
        r"""
        Modifies the scale factor. marker type aspect_tom_point is not affected by the marker size scale factor. it is always the smallest displayable dot. warning: raises standard_outofrange if the scale is a negative value.

        Parameters
        ----------
        theScale: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetMarkerScale(self, *args)

    def SetMarkerType(self, *args) -> "void":
        r"""
        Modifies the type of marker.

        Parameters
        ----------
        theType: Aspect_TypeOfMarker

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetMarkerType(self, *args)

    def SetPolygonOffset(self, *args) -> "void":
        r"""
        Sets polygon offsets settings.

        Parameters
        ----------
        theOffset: Graphic3d_PolygonOffset

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetPolygonOffset(self, *args)

    def SetPolygonOffsets(self, *args) -> "void":
        r"""
        Sets up opengl polygon offsets mechanism. <amode> parameter can contain various combinations of aspect_polygonoffsetmode enumeration elements (aspect_pom_none means that polygon offsets are not changed). if <amode> is different from aspect_pom_off and aspect_pom_none, then <afactor> and <aunits> arguments are used by graphic renderer to calculate a depth offset value: //! offset = <afactor> * m + <aunits> * r, where m - maximum depth slope for the polygon currently being displayed, r - minimum window coordinates depth resolution (implementation-specific) //! default settings for occ 3d viewer: mode = aspect_pom_fill, factor = 1., units = 0. //! negative offset values move polygons closer to the viewport, while positive values shift polygons away. consult opengl reference for details (glpolygonoffset function description).

        Parameters
        ----------
        theMode: int
        theFactor: Standard_ShortReal,optional
        	default value is 1.0f
        theUnits: Standard_ShortReal,optional
        	default value is 0.0f

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetPolygonOffsets(self, *args)

    def SetShaderProgram(self, *args) -> "void":
        r"""
        Sets up opengl/glsl shader program.

        Parameters
        ----------
        theProgram: Graphic3d_ShaderProgram

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetShaderProgram(self, *args)

    def SetShadingModel(self, *args) -> "void":
        r"""
        Sets shading model.

        Parameters
        ----------
        theShadingModel: Graphic3d_TypeOfShadingModel

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetShadingModel(self, *args)

    def SetSkipFirstEdge(self, *args) -> "void":
        r"""
        Set skip first triangle edge flag for drawing wireframe presentation of quads array split into triangles.

        Parameters
        ----------
        theToSkipFirstEdge: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetSkipFirstEdge(self, *args)

    def SetSuppressBackFaces(self, *args) -> "void":
        r"""
        Assign back faces culling flag.

        Parameters
        ----------
        theToSuppress: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetSuppressBackFaces(self, *args)

    def SetTextAngle(self, *args) -> "void":
        r"""
        Turns usage of text rotated.

        Parameters
        ----------
        theAngle: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetTextAngle(self, *args)

    def SetTextDisplayType(self, *args) -> "void":
        r"""
        Sets display type.

        Parameters
        ----------
        theType: Aspect_TypeOfDisplayText

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetTextDisplayType(self, *args)

    def SetTextFont(self, *args) -> "void":
        r"""
        Modifies the font.

        Parameters
        ----------
        theFont: TCollection_HAsciiString

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetTextFont(self, *args)

    def SetTextFontAspect(self, *args) -> "void":
        r"""
        Turns usage of aspect text.

        Parameters
        ----------
        theFontAspect: Font_FontAspect

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetTextFontAspect(self, *args)

    def SetTextStyle(self, *args) -> "void":
        r"""
        Modifies the style of the text.

        Parameters
        ----------
        theStyle: Aspect_TypeOfStyleText

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetTextStyle(self, *args)

    def SetTextZoomable(self, *args) -> "void":
        r"""
        Turns usage of text zoomable on/off.

        Parameters
        ----------
        theFlag: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetTextZoomable(self, *args)

    def SetTextureMap(self, *args) -> "void":
        r"""
        Assign texture to be mapped. see also settexturemapon() to actually activate texture mapping. ////standard_deprecated('deprecated method, settextureset() should be used instead').

        Parameters
        ----------
        theTexture: Graphic3d_TextureMap

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetTextureMap(self, *args)

    def SetTextureMapOff(self, *args) -> "void":
        r"""
        Disable texture mapping.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetTextureMapOff(self, *args)

    def SetTextureMapOn(self, *args) -> "void":
        r"""
        Enable or disable texture mapping (has no effect if texture is not set).

        Parameters
        ----------
        theToMap: bool

        Returns
        -------
        None
        Enable texture mapping (has no effect if texture is not set).

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetTextureMapOn(self, *args)

    def SetTextureSet(self, *args) -> "void":
        r"""
        Setup texture array to be mapped.

        Parameters
        ----------
        theTextures: Graphic3d_TextureSet

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SetTextureSet(self, *args)

    def ShaderProgram(self, *args) -> "opencascade::handle< Graphic3d_ShaderProgram > const &":
        r"""
        Return shader program.

        Returns
        -------
        opencascade::handle<Graphic3d_ShaderProgram>

        """
        return _Graphic3d.Graphic3d_Aspects_ShaderProgram(self, *args)

    def ShadingModel(self, *args) -> "Graphic3d_TypeOfShadingModel":
        r"""
        Returns shading model; graphic3d_tosm_default by default. graphic3d_tosm_default means that shading model set as default for entire viewer will be used.

        Returns
        -------
        Graphic3d_TypeOfShadingModel

        """
        return _Graphic3d.Graphic3d_Aspects_ShadingModel(self, *args)

    def SuppressBackFace(self, *args) -> "void":
        r"""
        Suppress the display of back-facing filled polygons. a back-facing polygon is defined as a polygon whose vertices are in a clockwise order with respect to screen coordinates.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Aspects_SuppressBackFace(self, *args)

    def TextAngle(self, *args) -> "Standard_ShortReal":
        r"""
        Returns angle of degree.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_Aspects_TextAngle(self, *args)

    def TextDisplayType(self, *args) -> "Aspect_TypeOfDisplayText":
        r"""
        Returns display type; aspect_todt_normal by default.

        Returns
        -------
        Aspect_TypeOfDisplayText

        """
        return _Graphic3d.Graphic3d_Aspects_TextDisplayType(self, *args)

    def TextFont(self, *args) -> "opencascade::handle< TCollection_HAsciiString > const &":
        r"""
        Returns the font; null string by default.

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

        """
        return _Graphic3d.Graphic3d_Aspects_TextFont(self, *args)

    def TextFontAspect(self, *args) -> "Font_FontAspect":
        r"""
        Returns text fontaspect.

        Returns
        -------
        Font_FontAspect

        """
        return _Graphic3d.Graphic3d_Aspects_TextFontAspect(self, *args)

    def TextStyle(self, *args) -> "Aspect_TypeOfStyleText":
        r"""
        Returns the text style; aspect_tost_normal by default.

        Returns
        -------
        Aspect_TypeOfStyleText

        """
        return _Graphic3d.Graphic3d_Aspects_TextStyle(self, *args)

    def TextureMap(self, *args) -> "opencascade::handle< Graphic3d_TextureMap >":
        r"""
        Return texture to be mapped. ////standard_deprecated('deprecated method, textureset() should be used instead').

        Returns
        -------
        opencascade::handle<Graphic3d_TextureMap>

        """
        return _Graphic3d.Graphic3d_Aspects_TextureMap(self, *args)

    def TextureMapState(self, *args) -> "bool":
        r"""
        Return true if texture mapping is enabled (false by default).

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Aspects_TextureMapState(self, *args)

    def TextureSet(self, *args) -> "opencascade::handle< Graphic3d_TextureSet > const &":
        r"""
        Return texture array to be mapped.

        Returns
        -------
        opencascade::handle<Graphic3d_TextureSet>

        """
        return _Graphic3d.Graphic3d_Aspects_TextureSet(self, *args)

    def ToDrawEdges(self, *args) -> "bool":
        r"""
        Returns true if mesh edges should be drawn (false by default).

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Aspects_ToDrawEdges(self, *args)

    def ToDrawSilhouette(self, *args) -> "bool":
        r"""
        Returns true if silhouette (outline) should be drawn (with edge color and width); false by default.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Aspects_ToDrawSilhouette(self, *args)

    def ToMapTexture(self, *args) -> "bool":
        r"""
        Return true if texture mapping is enabled (false by default).

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Aspects_ToMapTexture(self, *args)

    def ToSkipFirstEdge(self, *args) -> "bool":
        r"""
        Returns true if drawing element edges should discard first edge in triangle; false by default. graphics hardware works mostly with triangles, so that wireframe presentation will draw triangle edges by default. this flag allows rendering wireframe presentation of quad-only array split into triangles. for this, quads should be split in specific order, so that the quad diagonal (to be not rendered) goes first: 1------2 / / triangle #1: 2-0-1; triangle #2: 0-2-3 0------3.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Aspects_ToSkipFirstEdge(self, *args)

    def ToSuppressBackFaces(self, *args) -> "bool":
        r"""
        Returns true if back faces should be suppressed (true by default).

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Aspects_ToSuppressBackFaces(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Aspects

# Register Graphic3d_Aspects in _Graphic3d:
_Graphic3d.Graphic3d_Aspects_swigregister(Graphic3d_Aspects)

def Graphic3d_Aspects_DefaultLinePatternForType(*args) -> "uint16_t":
    r"""
    Return stipple line pattern for line type.

    Parameters
    ----------
    theType: Aspect_TypeOfLine

    Returns
    -------
    uint16_t

    """
    return _Graphic3d.Graphic3d_Aspects_DefaultLinePatternForType(*args)

def Graphic3d_Aspects_DefaultLineTypeForPattern(*args) -> "Aspect_TypeOfLine":
    r"""
    Return line type for stipple line pattern.

    Parameters
    ----------
    thePattern: uint16_t

    Returns
    -------
    Aspect_TypeOfLine

    """
    return _Graphic3d.Graphic3d_Aspects_DefaultLineTypeForPattern(*args)

class Graphic3d_Attribute(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Id = property(_Graphic3d.Graphic3d_Attribute_Id_get, _Graphic3d.Graphic3d_Attribute_Id_set)
    DataType = property(_Graphic3d.Graphic3d_Attribute_DataType_get, _Graphic3d.Graphic3d_Attribute_DataType_set)

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

        Returns
        -------
        int
        Returns size of attribute of specified data type.

        Parameters
        ----------
        theType: Graphic3d_TypeOfData

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_Attribute_Stride(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _Graphic3d.Graphic3d_Attribute_swiginit(self, _Graphic3d.new_Graphic3d_Attribute())
    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Attribute

# Register Graphic3d_Attribute in _Graphic3d:
_Graphic3d.Graphic3d_Attribute_swigregister(Graphic3d_Attribute)

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

    Returns
    -------
    int
    Returns size of attribute of specified data type.

    Parameters
    ----------
    theType: Graphic3d_TypeOfData

    Returns
    -------
    int

    """
    return _Graphic3d.Graphic3d_Attribute_Stride(*args)

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

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        theName: TCollection_ExtendedString,optional
        	default value is 
        theNameColor: Quantity_Color,optional
        	default value is Quantity_NOC_BLACK
        theColor: Quantity_Color,optional
        	default value is Quantity_NOC_BLACK
        theValuesOffset: int,optional
        	default value is 10
        theNameOffset: int,optional
        	default value is 30
        theTickmarksNumber: int,optional
        	default value is 5
        theTickmarksLength: int,optional
        	default value is 10
        theToDrawName: bool,optional
        	default value is Standard_True
        theToDrawValues: bool,optional
        	default value is Standard_True
        theToDrawTickmarks: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_AxisAspect_swiginit(self, _Graphic3d.new_Graphic3d_AxisAspect(*args))

    def Color(self, *args) -> "Quantity_Color const &":
        r"""
        Color of axis and values.

        Returns
        -------
        Quantity_Color

        """
        return _Graphic3d.Graphic3d_AxisAspect_Color(self, *args)

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

        Returns
        -------
        TCollection_ExtendedString

        """
        return _Graphic3d.Graphic3d_AxisAspect_Name(self, *args)

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

        Returns
        -------
        Quantity_Color

        """
        return _Graphic3d.Graphic3d_AxisAspect_NameColor(self, *args)

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

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_AxisAspect_NameOffset(self, *args)

    def SetColor(self, *args) -> "void":
        r"""
        Sets color of axis and values.

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

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AxisAspect_SetColor(self, *args)

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

        Parameters
        ----------
        theToDraw: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AxisAspect_SetDrawName(self, *args)

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

        Parameters
        ----------
        theToDraw: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AxisAspect_SetDrawTickmarks(self, *args)

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

        Parameters
        ----------
        theToDraw: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AxisAspect_SetDrawValues(self, *args)

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

        Parameters
        ----------
        theName: TCollection_ExtendedString

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AxisAspect_SetName(self, *args)

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

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

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AxisAspect_SetNameColor(self, *args)

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

        Parameters
        ----------
        theValue: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AxisAspect_SetNameOffset(self, *args)

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

        Parameters
        ----------
        theValue: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AxisAspect_SetTickmarksLength(self, *args)

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

        Parameters
        ----------
        theValue: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AxisAspect_SetTickmarksNumber(self, *args)

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

        Parameters
        ----------
        theValue: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AxisAspect_SetValuesOffset(self, *args)

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

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_AxisAspect_TickmarksLength(self, *args)

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

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_AxisAspect_TickmarksNumber(self, *args)

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

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_AxisAspect_ToDrawName(self, *args)

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

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_AxisAspect_ToDrawTickmarks(self, *args)

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

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_AxisAspect_ToDrawValues(self, *args)

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

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_AxisAspect_ValuesOffset(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_AxisAspect

# Register Graphic3d_AxisAspect in _Graphic3d:
_Graphic3d.Graphic3d_AxisAspect_swigregister(Graphic3d_AxisAspect)

class Graphic3d_BSDF(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Kc = property(_Graphic3d.Graphic3d_BSDF_Kc_get, _Graphic3d.Graphic3d_BSDF_Kc_set)
    Kd = property(_Graphic3d.Graphic3d_BSDF_Kd_get, _Graphic3d.Graphic3d_BSDF_Kd_set)
    Ks = property(_Graphic3d.Graphic3d_BSDF_Ks_get, _Graphic3d.Graphic3d_BSDF_Ks_set)
    Kt = property(_Graphic3d.Graphic3d_BSDF_Kt_get, _Graphic3d.Graphic3d_BSDF_Kt_set)
    Le = property(_Graphic3d.Graphic3d_BSDF_Le_get, _Graphic3d.Graphic3d_BSDF_Le_set)
    Absorption = property(_Graphic3d.Graphic3d_BSDF_Absorption_get, _Graphic3d.Graphic3d_BSDF_Absorption_set)
    FresnelCoat = property(_Graphic3d.Graphic3d_BSDF_FresnelCoat_get, _Graphic3d.Graphic3d_BSDF_FresnelCoat_set)
    FresnelBase = property(_Graphic3d.Graphic3d_BSDF_FresnelBase_get, _Graphic3d.Graphic3d_BSDF_FresnelBase_set)

    def __init__(self, *args):
        r"""
        Creates uninitialized bsdf.

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_BSDF_swiginit(self, _Graphic3d.new_Graphic3d_BSDF(*args))

    @staticmethod
    def CreateDiffuse(*args) -> "Graphic3d_BSDF":
        r"""
        Creates bsdf describing diffuse (lambertian) surface.

        Parameters
        ----------
        theWeight: Graphic3d_Vec3

        Returns
        -------
        Graphic3d_BSDF

        """
        return _Graphic3d.Graphic3d_BSDF_CreateDiffuse(*args)

    @staticmethod
    def CreateGlass(*args) -> "Graphic3d_BSDF":
        r"""
        Creates bsdf describing glass-like object. glass-like bsdf mixes refraction and reflection effects at grazing angles using physically-based fresnel dielectric model.

        Parameters
        ----------
        theWeight: Graphic3d_Vec3
        theAbsorptionColor: Graphic3d_Vec3
        theAbsorptionCoeff: Standard_ShortReal
        theRefractionIndex: Standard_ShortReal

        Returns
        -------
        Graphic3d_BSDF

        """
        return _Graphic3d.Graphic3d_BSDF_CreateGlass(*args)

    @staticmethod
    def CreateMetallic(*args) -> "Graphic3d_BSDF":
        r"""
        Creates bsdf describing polished metallic-like surface.

        Parameters
        ----------
        theWeight: Graphic3d_Vec3
        theFresnel: Graphic3d_Fresnel
        theRoughness: Standard_ShortReal

        Returns
        -------
        Graphic3d_BSDF

        """
        return _Graphic3d.Graphic3d_BSDF_CreateMetallic(*args)

    @staticmethod
    def CreateMetallicRoughness(*args) -> "Graphic3d_BSDF":
        r"""
        Creates bsdf from pbr metallic-roughness material.

        Parameters
        ----------
        thePbr: Graphic3d_PBRMaterial

        Returns
        -------
        Graphic3d_BSDF

        """
        return _Graphic3d.Graphic3d_BSDF_CreateMetallicRoughness(*args)

    @staticmethod
    def CreateTransparent(*args) -> "Graphic3d_BSDF":
        r"""
        Creates bsdf describing transparent object. transparent bsdf models simple transparency without refraction (the ray passes straight through the surface).

        Parameters
        ----------
        theWeight: Graphic3d_Vec3
        theAbsorptionColor: Graphic3d_Vec3
        theAbsorptionCoeff: Standard_ShortReal

        Returns
        -------
        Graphic3d_BSDF

        """
        return _Graphic3d.Graphic3d_BSDF_CreateTransparent(*args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_BSDF self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_BSDF_DumpJsonToString(self, depth)

    def Normalize(self, *args) -> "void":
        r"""
        Normalizes bsdf components.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_BSDF_Normalize(self, *args)

    def __eq_wrapper__(self, other: "Graphic3d_BSDF") -> "bool":
        r"""__eq_wrapper__(Graphic3d_BSDF self, Graphic3d_BSDF other) -> bool"""
        return _Graphic3d.Graphic3d_BSDF___eq_wrapper__(self, other)

    def __eq__(self, right):
        try:
            return self.__eq_wrapper__(right)
        except:
            return False


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_BSDF

# Register Graphic3d_BSDF in _Graphic3d:
_Graphic3d.Graphic3d_BSDF_swigregister(Graphic3d_BSDF)

def Graphic3d_BSDF_CreateDiffuse(*args) -> "Graphic3d_BSDF":
    r"""
    Creates bsdf describing diffuse (lambertian) surface.

    Parameters
    ----------
    theWeight: Graphic3d_Vec3

    Returns
    -------
    Graphic3d_BSDF

    """
    return _Graphic3d.Graphic3d_BSDF_CreateDiffuse(*args)

def Graphic3d_BSDF_CreateGlass(*args) -> "Graphic3d_BSDF":
    r"""
    Creates bsdf describing glass-like object. glass-like bsdf mixes refraction and reflection effects at grazing angles using physically-based fresnel dielectric model.

    Parameters
    ----------
    theWeight: Graphic3d_Vec3
    theAbsorptionColor: Graphic3d_Vec3
    theAbsorptionCoeff: Standard_ShortReal
    theRefractionIndex: Standard_ShortReal

    Returns
    -------
    Graphic3d_BSDF

    """
    return _Graphic3d.Graphic3d_BSDF_CreateGlass(*args)

def Graphic3d_BSDF_CreateMetallic(*args) -> "Graphic3d_BSDF":
    r"""
    Creates bsdf describing polished metallic-like surface.

    Parameters
    ----------
    theWeight: Graphic3d_Vec3
    theFresnel: Graphic3d_Fresnel
    theRoughness: Standard_ShortReal

    Returns
    -------
    Graphic3d_BSDF

    """
    return _Graphic3d.Graphic3d_BSDF_CreateMetallic(*args)

def Graphic3d_BSDF_CreateMetallicRoughness(*args) -> "Graphic3d_BSDF":
    r"""
    Creates bsdf from pbr metallic-roughness material.

    Parameters
    ----------
    thePbr: Graphic3d_PBRMaterial

    Returns
    -------
    Graphic3d_BSDF

    """
    return _Graphic3d.Graphic3d_BSDF_CreateMetallicRoughness(*args)

def Graphic3d_BSDF_CreateTransparent(*args) -> "Graphic3d_BSDF":
    r"""
    Creates bsdf describing transparent object. transparent bsdf models simple transparency without refraction (the ray passes straight through the surface).

    Parameters
    ----------
    theWeight: Graphic3d_Vec3
    theAbsorptionColor: Graphic3d_Vec3
    theAbsorptionCoeff: Standard_ShortReal

    Returns
    -------
    Graphic3d_BSDF

    """
    return _Graphic3d.Graphic3d_BSDF_CreateTransparent(*args)

class Graphic3d_BoundBuffer(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Colors = property(_Graphic3d.Graphic3d_BoundBuffer_Colors_get, _Graphic3d.Graphic3d_BoundBuffer_Colors_set)
    Bounds = property(_Graphic3d.Graphic3d_BoundBuffer_Bounds_get, _Graphic3d.Graphic3d_BoundBuffer_Bounds_set)
    NbBounds = property(_Graphic3d.Graphic3d_BoundBuffer_NbBounds_get, _Graphic3d.Graphic3d_BoundBuffer_NbBounds_set)
    NbMaxBounds = property(_Graphic3d.Graphic3d_BoundBuffer_NbMaxBounds_get, _Graphic3d.Graphic3d_BoundBuffer_NbMaxBounds_set)

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

        Parameters
        ----------
        theAlloc: NCollection_BaseAllocator

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_BoundBuffer_swiginit(self, _Graphic3d.new_Graphic3d_BoundBuffer(*args))

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_BoundBuffer self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_BoundBuffer_DumpJsonToString(self, depth)

    def Init(self, *args) -> "bool":
        r"""
        Allocates new empty array.

        Parameters
        ----------
        theNbBounds: int
        theHasColors: bool

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_BoundBuffer_Init(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_BoundBuffer

# Register Graphic3d_BoundBuffer in _Graphic3d:
_Graphic3d.Graphic3d_BoundBuffer_swigregister(Graphic3d_BoundBuffer)

class Graphic3d_BufferRange(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Start = property(_Graphic3d.Graphic3d_BufferRange_Start_get, _Graphic3d.Graphic3d_BufferRange_Start_set)
    Length = property(_Graphic3d.Graphic3d_BufferRange_Length_get, _Graphic3d.Graphic3d_BufferRange_Length_set)

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

        Returns
        -------
        None
        Constructor.

        Parameters
        ----------
        theStart: int
        theLength: int

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_BufferRange_swiginit(self, _Graphic3d.new_Graphic3d_BufferRange(*args))

    def Clear(self, *args) -> "void":
        r"""
        Clear the range.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_BufferRange_Clear(self, *args)

    def IsEmpty(self, *args) -> "Standard_Boolean":
        r"""
        Return true if range is empty.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_BufferRange_IsEmpty(self, *args)

    def Unite(self, *args) -> "void":
        r"""
        Add another range to this one.

        Parameters
        ----------
        theRange: Graphic3d_BufferRange

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_BufferRange_Unite(self, *args)

    def Upper(self, *args) -> "Standard_Integer":
        r"""
        Return the upper element within the range.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_BufferRange_Upper(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_BufferRange

# Register Graphic3d_BufferRange in _Graphic3d:
_Graphic3d.Graphic3d_BufferRange_swigregister(Graphic3d_BufferRange)

class Graphic3d_BvhCStructureSet(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")
    __repr__ = _swig_repr

    def Box(self, *args) -> "Graphic3d_BndBox3d":
        r"""
        Returns aabb of the structure.

        Parameters
        ----------
        theIdx: int

        Returns
        -------
        Graphic3d_BndBox3d

        """
        return _Graphic3d.Graphic3d_BvhCStructureSet_Box(self, *args)

    def Center(self, *args) -> "Standard_Real":
        r"""
        Calculates center of the aabb along given axis.

        Parameters
        ----------
        theIdx: int
        theAxis: int

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_BvhCStructureSet_Center(self, *args)

    def Size(self, *args) -> "Standard_Integer":
        r"""
        Returns total number of structures.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_BvhCStructureSet_Size(self, *args)

    def Structures(self, *args) -> "NCollection_IndexedMap< Graphic3d_CStructure const * > const &":
        r"""
        Access directly a collection of structures.

        Returns
        -------
        NCollection_IndexedMap< Graphic3d_CStructure *>

        """
        return _Graphic3d.Graphic3d_BvhCStructureSet_Structures(self, *args)

    def Swap(self, *args) -> "void":
        r"""
        Swaps structures with the given indices.

        Parameters
        ----------
        theIdx1: int
        theIdx2: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_BvhCStructureSet_Swap(self, *args)

    __repr__ = _dumps_object

    @methodnotwrapped
    def Graphic3d_BvhCStructureSet(self):
    	pass

    @methodnotwrapped
    def Add(self):
    	pass

    @methodnotwrapped
    def Clear(self):
    	pass

    @methodnotwrapped
    def GetStructureById(self):
    	pass

    @methodnotwrapped
    def Remove(self):
    	pass

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_BvhCStructureSet

# Register Graphic3d_BvhCStructureSet in _Graphic3d:
_Graphic3d.Graphic3d_BvhCStructureSet_swigregister(Graphic3d_BvhCStructureSet)

class Graphic3d_CLight(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"""
        Empty constructor, which should be followed by light source properties configuration.

        Parameters
        ----------
        theType: Graphic3d_TypeOfLightSource

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_CLight_swiginit(self, _Graphic3d.new_Graphic3d_CLight(*args))

    def Angle(self, *args) -> "Standard_ShortReal":
        r"""
        Returns an angle in radians of the cone created by the spot; 30 degrees by default.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_CLight_Angle(self, *args)

    def Attenuation(self, *args) -> "void":
        r"""
        Returns the attenuation factors.

        Parameters
        ----------

        Returns
        -------
        theConstAttenuation: float
        theLinearAttenuation: float

        """
        return _Graphic3d.Graphic3d_CLight_Attenuation(self, *args)

    def Color(self, *args) -> "Quantity_Color const &":
        r"""
        Returns the color of the light source; white by default.

        Returns
        -------
        Quantity_Color

        """
        return _Graphic3d.Graphic3d_CLight_Color(self, *args)

    def Concentration(self, *args) -> "Standard_ShortReal":
        r"""
        Returns intensity distribution of the spot light, within [0.0, 1.0] range; 1.0 by default. this coefficient should be converted into spotlight exponent within [0.0, 128.0] range: @code float aspotexponent = concentration() * 128.0; anattenuation *= pow (acosa, aspotexponent);' @endcode the concentration factor determines the dispersion of the light on the surface, the default value (1.0) corresponds to a minimum of dispersion.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_CLight_Concentration(self, *args)

    def ConstAttenuation(self, *args) -> "Standard_ShortReal":
        r"""
        Returns constant attenuation factor of positional/spot light source; 1.0f by default. distance attenuation factors of reducing positional/spot light intensity depending on the distance from its position: @code float anattenuation = 1.0 / (constattenuation() + linearattenuation() * thedistance + quadraticattenuation() * thedistance * thedistance); @endcode.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_CLight_ConstAttenuation(self, *args)

    def Direction(self, *args) -> "void":
        r"""
        Returns direction of directional/spot light.

        Returns
        -------
        gp_Dir
        Returns the thevx, thevy, thevz direction of the light source.

        Parameters
        ----------

        Returns
        -------
        theVx: float
        theVy: float
        theVz: float

        """
        return _Graphic3d.Graphic3d_CLight_Direction(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_CLight self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_CLight_DumpJsonToString(self, depth)

    def GetId(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Returns light resource identifier string.

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_CLight_GetId(self, *args)

    def Headlight(self, *args) -> "Standard_Boolean":
        r"""
        Alias for isheadlight().

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CLight_Headlight(self, *args)

    def Intensity(self, *args) -> "Standard_ShortReal":
        r"""
        Returns the intensity of light source; 1.0 by default.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_CLight_Intensity(self, *args)

    def IsEnabled(self, *args) -> "Standard_Boolean":
        r"""
        Check that the light source is turned on; true by default. this flag affects all occurrences of light sources, where it was registered and activated; so that it is possible defining an active light in view which is actually in disabled state.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CLight_IsEnabled(self, *args)

    def IsHeadlight(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the light is a headlight; false by default. headlight flag means that light position/direction are defined not in a world coordinate system, but relative to the camera orientation.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CLight_IsHeadlight(self, *args)

    def LinearAttenuation(self, *args) -> "Standard_ShortReal":
        r"""
        Returns linear attenuation factor of positional/spot light source; 0.0 by default. distance attenuation factors of reducing positional/spot light intensity depending on the distance from its position: @code float anattenuation = 1.0 / (constattenuation() + linearattenuation() * thedistance + quadraticattenuation() * thedistance * thedistance); @endcode.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_CLight_LinearAttenuation(self, *args)

    def Name(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Returns light source name; empty string by default.

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_CLight_Name(self, *args)

    def PackedColor(self, *args) -> "Graphic3d_Vec4 const &":
        r"""
        Returns the color of the light source with dummy alpha component, which should be ignored.

        Returns
        -------
        Graphic3d_Vec4

        """
        return _Graphic3d.Graphic3d_CLight_PackedColor(self, *args)

    def PackedDirectionRange(self, *args) -> "Graphic3d_Vec4 const &":
        r"""
        Returns direction of directional/spot light and range for positional/spot light in alpha channel.

        Returns
        -------
        Graphic3d_Vec4

        """
        return _Graphic3d.Graphic3d_CLight_PackedDirectionRange(self, *args)

    def PackedParams(self, *args) -> "Graphic3d_Vec4 const &":
        r"""
        Packed light parameters.

        Returns
        -------
        Graphic3d_Vec4

        """
        return _Graphic3d.Graphic3d_CLight_PackedParams(self, *args)

    def Position(self, *args) -> "void":
        r"""
        Returns location of positional/spot light; (0, 0, 0) by default.

        Returns
        -------
        gp_Pnt
        Returns location of positional/spot light.

        Parameters
        ----------

        Returns
        -------
        theX: float
        theY: float
        theZ: float

        """
        return _Graphic3d.Graphic3d_CLight_Position(self, *args)

    def Range(self, *args) -> "Standard_ShortReal":
        r"""
        Returns maximum distance on which point light source affects to objects and is considered during illumination calculations. 0.0 means disabling range considering at all without any distance limits. has sense only for point light sources (positional and spot). .

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_CLight_Range(self, *args)

    def Revision(self, *args) -> "Standard_Size":
        r"""
        Returns modification counter.

        Returns
        -------
        Standard_Size

        """
        return _Graphic3d.Graphic3d_CLight_Revision(self, *args)

    def SetAngle(self, *args) -> "void":
        r"""
        Angle in radians of the cone created by the spot, should be within range (0.0, m_pi).

        Parameters
        ----------
        theAngle: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CLight_SetAngle(self, *args)

    def SetAttenuation(self, *args) -> "void":
        r"""
        Defines the coefficients of attenuation; values should be >= 0.0 and their summ should not be equal to 0.

        Parameters
        ----------
        theConstAttenuation: Standard_ShortReal
        theLinearAttenuation: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CLight_SetAttenuation(self, *args)

    def SetColor(self, *args) -> "void":
        r"""
        Defines the color of a light source by giving the basic color.

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

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CLight_SetColor(self, *args)

    def SetConcentration(self, *args) -> "void":
        r"""
        Defines the coefficient of concentration; value should be within range [0.0, 1.0].

        Parameters
        ----------
        theConcentration: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CLight_SetConcentration(self, *args)

    def SetDirection(self, *args) -> "void":
        r"""
        Sets direction of directional/spot light.

        Parameters
        ----------
        theDir: gp_Dir

        Returns
        -------
        None
        Sets direction of directional/spot light.

        Parameters
        ----------
        theVx: float
        theVy: float
        theVz: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CLight_SetDirection(self, *args)

    def SetEnabled(self, *args) -> "void":
        r"""
        Change enabled state of the light state. this call does not remove or deactivate light source in views/viewers; instead it turns it off so that it just have no effect.

        Parameters
        ----------
        theIsOn: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CLight_SetEnabled(self, *args)

    def SetHeadlight(self, *args) -> "void":
        r"""
        Setup headlight flag.

        Parameters
        ----------
        theValue: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CLight_SetHeadlight(self, *args)

    def SetIntensity(self, *args) -> "void":
        r"""
        Modifies the intensity of light source, which should be > 0.0.

        Parameters
        ----------
        theValue: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CLight_SetIntensity(self, *args)

    def SetName(self, *args) -> "void":
        r"""
        Sets light source name.

        Parameters
        ----------
        theName: TCollection_AsciiString

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CLight_SetName(self, *args)

    def SetPosition(self, *args) -> "void":
        r"""
        Setup location of positional/spot light.

        Parameters
        ----------
        thePosition: gp_Pnt

        Returns
        -------
        None
        Setup location of positional/spot light.

        Parameters
        ----------
        theX: float
        theY: float
        theZ: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CLight_SetPosition(self, *args)

    def SetRange(self, *args) -> "void":
        r"""
        Modifies maximum distance on which point light source affects to objects and is considered during illumination calculations. positional and spot lights are only point light sources. 0.0 means disabling range considering at all without any distance limits.

        Parameters
        ----------
        theValue: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CLight_SetRange(self, *args)

    def SetSmoothAngle(self, *args) -> "void":
        r"""
        Modifies the smoothing angle (in radians) of directional light source; should be within range [0.0, m_pi/2].

        Parameters
        ----------
        theValue: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CLight_SetSmoothAngle(self, *args)

    def SetSmoothRadius(self, *args) -> "void":
        r"""
        Modifies the smoothing radius of positional/spot light; should be >= 0.0.

        Parameters
        ----------
        theValue: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CLight_SetSmoothRadius(self, *args)

    def Smoothness(self, *args) -> "Standard_ShortReal":
        r"""
        Returns the smoothness of light source (either smoothing angle for directional light or smoothing radius in case of positional light); 0.0 by default.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_CLight_Smoothness(self, *args)

    def Type(self, *args) -> "Graphic3d_TypeOfLightSource":
        r"""
        Returns the type of the light, cannot be changed after object construction.

        Returns
        -------
        Graphic3d_TypeOfLightSource

        """
        return _Graphic3d.Graphic3d_CLight_Type(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_CLight

# Register Graphic3d_CLight in _Graphic3d:
_Graphic3d.Graphic3d_CLight_swigregister(Graphic3d_CLight)

class Graphic3d_CStructure(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
    Id = property(_Graphic3d.Graphic3d_CStructure_Id_get, _Graphic3d.Graphic3d_CStructure_Id_set)
    myZLayer = property(_Graphic3d.Graphic3d_CStructure_myZLayer_get, _Graphic3d.Graphic3d_CStructure_myZLayer_set)
    Priority = property(_Graphic3d.Graphic3d_CStructure_Priority_get, _Graphic3d.Graphic3d_CStructure_Priority_set)
    PreviousPriority = property(_Graphic3d.Graphic3d_CStructure_PreviousPriority_get, _Graphic3d.Graphic3d_CStructure_PreviousPriority_set)
    ContainsFacet = property(_Graphic3d.Graphic3d_CStructure_ContainsFacet_get, _Graphic3d.Graphic3d_CStructure_ContainsFacet_set)
    ViewAffinity = property(_Graphic3d.Graphic3d_CStructure_ViewAffinity_get, _Graphic3d.Graphic3d_CStructure_ViewAffinity_set)
    IsInfinite = property(_Graphic3d.Graphic3d_CStructure_IsInfinite_get, _Graphic3d.Graphic3d_CStructure_IsInfinite_set)
    stick = property(_Graphic3d.Graphic3d_CStructure_stick_get, _Graphic3d.Graphic3d_CStructure_stick_set)
    highlight = property(_Graphic3d.Graphic3d_CStructure_highlight_get, _Graphic3d.Graphic3d_CStructure_highlight_set)
    visible = property(_Graphic3d.Graphic3d_CStructure_visible_get, _Graphic3d.Graphic3d_CStructure_visible_set)
    HLRValidation = property(_Graphic3d.Graphic3d_CStructure_HLRValidation_get, _Graphic3d.Graphic3d_CStructure_HLRValidation_set)
    IsForHighlight = property(_Graphic3d.Graphic3d_CStructure_IsForHighlight_get, _Graphic3d.Graphic3d_CStructure_IsForHighlight_set)
    IsMutable = property(_Graphic3d.Graphic3d_CStructure_IsMutable_get, _Graphic3d.Graphic3d_CStructure_IsMutable_set)
    Is2dText = property(_Graphic3d.Graphic3d_CStructure_Is2dText_get, _Graphic3d.Graphic3d_CStructure_Is2dText_set)

    def BndBoxClipCheck(self, *args) -> "Standard_Boolean":
        r"""
        Returns whether check of object's bounding box clipping is enabled before drawing of object; true by default.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CStructure_BndBoxClipCheck(self, *args)

    def BoundingBox(self, *args) -> "Graphic3d_BndBox3d const &":
        r"""
        Returns bounding box of this presentation.

        Returns
        -------
        Graphic3d_BndBox3d

        """
        return _Graphic3d.Graphic3d_CStructure_BoundingBox(self, *args)

    def ChangeBoundingBox(self, *args) -> "Graphic3d_BndBox3d &":
        r"""
        Returns bounding box of this presentation without transformation matrix applied.

        Returns
        -------
        Graphic3d_BndBox3d

        """
        return _Graphic3d.Graphic3d_CStructure_ChangeBoundingBox(self, *args)

    def Clear(self, *args) -> "void":
        r"""
        Clear graphic data.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CStructure_Clear(self, *args)

    def ClipPlanes(self, *args) -> "opencascade::handle< Graphic3d_SequenceOfHClipPlane > const &":
        r"""
        Returns associated clip planes.

        Returns
        -------
        opencascade::handle<Graphic3d_SequenceOfHClipPlane>

        """
        return _Graphic3d.Graphic3d_CStructure_ClipPlanes(self, *args)

    def Connect(self, *args) -> "void":
        r"""
        Connect other structure to this one.

        Parameters
        ----------
        theStructure: Graphic3d_CStructure

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CStructure_Connect(self, *args)

    def Disconnect(self, *args) -> "void":
        r"""
        Disconnect other structure to this one.

        Parameters
        ----------
        theStructure: Graphic3d_CStructure

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CStructure_Disconnect(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_CStructure self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_CStructure_DumpJsonToString(self, depth)

    def GraphicDriver(self, *args) -> "opencascade::handle< Graphic3d_GraphicDriver > const &":
        r"""
        Returns graphic driver created this structure.

        Returns
        -------
        opencascade::handle<Graphic3d_GraphicDriver>

        """
        return _Graphic3d.Graphic3d_CStructure_GraphicDriver(self, *args)

    def GraphicHighlight(self, *args) -> "void":
        r"""
        Highlights structure with the given style.

        Parameters
        ----------
        theStyle: Graphic3d_PresentationAttributes

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CStructure_GraphicHighlight(self, *args)

    def GraphicUnhighlight(self, *args) -> "void":
        r"""
        Unhighlights the structure and invalidates pointer to structure's highlight style.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CStructure_GraphicUnhighlight(self, *args)

    def Groups(self, *args) -> "Graphic3d_SequenceOfGroup const &":
        r"""
        Returns graphic groups.

        Returns
        -------
        Graphic3d_SequenceOfGroup

        """
        return _Graphic3d.Graphic3d_CStructure_Groups(self, *args)

    def HighlightStyle(self, *args) -> "opencascade::handle< Graphic3d_PresentationAttributes > const &":
        r"""
        Returns valid handle to highlight style of the structure in case if highlight flag is set to true.

        Returns
        -------
        opencascade::handle<Graphic3d_PresentationAttributes>

        """
        return _Graphic3d.Graphic3d_CStructure_HighlightStyle(self, *args)

    def IsAlwaysRendered(self, *args) -> "Standard_Boolean":
        r"""
        Checks if the structure should be included into bvh tree or not.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CStructure_IsAlwaysRendered(self, *args)

    def IsCulled(self, *args) -> "Standard_Boolean":
        r"""
        Returns false if the structure hits the current view volume, otherwise returns true.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CStructure_IsCulled(self, *args)

    def IsVisible(self, *args) -> "bool":
        r"""
        Return structure visibility flag.

        Returns
        -------
        bool
        Return structure visibility considering both view affinity and global visibility state.

        Parameters
        ----------
        theViewId: int

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CStructure_IsVisible(self, *args)

    def MarkAsNotCulled(self, *args) -> "void":
        r"""
        Marks structure as overlapping the current view volume one. the method is called during traverse of bvh tree.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CStructure_MarkAsNotCulled(self, *args)

    def NewGroup(self, *args) -> "opencascade::handle< Graphic3d_Group >":
        r"""
        Create new group within this structure.

        Parameters
        ----------
        theStruct: Graphic3d_Structure

        Returns
        -------
        opencascade::handle<Graphic3d_Group>

        """
        return _Graphic3d.Graphic3d_CStructure_NewGroup(self, *args)

    def OnVisibilityChanged(self, *args) -> "void":
        r"""
        Update structure visibility state.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CStructure_OnVisibilityChanged(self, *args)

    def RemoveGroup(self, *args) -> "void":
        r"""
        Remove group from this structure.

        Parameters
        ----------
        theGroup: Graphic3d_Group

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CStructure_RemoveGroup(self, *args)

    def SetBndBoxClipCheck(self, *args) -> "void":
        r"""
        Enable/disable check of object's bounding box clipping before drawing of object.

        Parameters
        ----------
        theBndBoxClipCheck: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CStructure_SetBndBoxClipCheck(self, *args)

    def SetClipPlanes(self, *args) -> "void":
        r"""
        Pass clip planes to the associated graphic driver structure.

        Parameters
        ----------
        thePlanes: Graphic3d_SequenceOfHClipPlane

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CStructure_SetClipPlanes(self, *args)

    def SetCulled(self, *args) -> "void":
        r"""
        Marks structure as culled/not culled - note that isalwaysrendered() is ignored here!.

        Parameters
        ----------
        theIsCulled: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CStructure_SetCulled(self, *args)

    def SetTransformPersistence(self, *args) -> "void":
        r"""
        Set transformation persistence.

        Parameters
        ----------
        theTrsfPers: Graphic3d_TransformPers

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CStructure_SetTransformPersistence(self, *args)

    def SetTransformation(self, *args) -> "void":
        r"""
        Assign transformation.

        Parameters
        ----------
        theTrsf: TopLoc_Datum3D

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CStructure_SetTransformation(self, *args)

    def SetZLayer(self, *args) -> "void":
        r"""
        Set z layer id to display the structure in specified layer.

        Parameters
        ----------
        theLayerIndex: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CStructure_SetZLayer(self, *args)

    def ShadowLink(self, *args) -> "opencascade::handle< Graphic3d_CStructure >":
        r"""
        Create shadow link to this structure.

        Parameters
        ----------
        theManager: Graphic3d_StructureManager

        Returns
        -------
        opencascade::handle<Graphic3d_CStructure>

        """
        return _Graphic3d.Graphic3d_CStructure_ShadowLink(self, *args)

    def TransformPersistence(self, *args) -> "opencascade::handle< Graphic3d_TransformPers > const &":
        r"""
        Return transformation persistence.

        Returns
        -------
        opencascade::handle<Graphic3d_TransformPers>

        """
        return _Graphic3d.Graphic3d_CStructure_TransformPersistence(self, *args)

    def Transformation(self, *args) -> "opencascade::handle< TopLoc_Datum3D > const &":
        r"""
        Return transformation.

        Returns
        -------
        opencascade::handle<TopLoc_Datum3D>

        """
        return _Graphic3d.Graphic3d_CStructure_Transformation(self, *args)

    def ZLayer(self, *args) -> "Graphic3d_ZLayerId":
        r"""
        Get z layer id.

        Returns
        -------
        Graphic3d_ZLayerId

        """
        return _Graphic3d.Graphic3d_CStructure_ZLayer(self, *args)

    def updateLayerTransformation(self, *args) -> "void":
        r"""
        Update render transformation matrix.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CStructure_updateLayerTransformation(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_CStructure

# Register Graphic3d_CStructure in _Graphic3d:
_Graphic3d.Graphic3d_CStructure_swigregister(Graphic3d_CStructure)

class Graphic3d_CTexture(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    TextureMap = property(_Graphic3d.Graphic3d_CTexture_TextureMap_get, _Graphic3d.Graphic3d_CTexture_TextureMap_set)
    doTextureMap = property(_Graphic3d.Graphic3d_CTexture_doTextureMap_get, _Graphic3d.Graphic3d_CTexture_doTextureMap_set)

    def __init__(self, *args):
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_CTexture_swiginit(self, _Graphic3d.new_Graphic3d_CTexture(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_CTexture

# Register Graphic3d_CTexture in _Graphic3d:
_Graphic3d.Graphic3d_CTexture_swigregister(Graphic3d_CTexture)

class Graphic3d_Camera(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
    Projection_Orthographic = _Graphic3d.Graphic3d_Camera_Projection_Orthographic
    Projection_Perspective = _Graphic3d.Graphic3d_Camera_Projection_Perspective
    Projection_Stereo = _Graphic3d.Graphic3d_Camera_Projection_Stereo
    Projection_MonoLeftEye = _Graphic3d.Graphic3d_Camera_Projection_MonoLeftEye
    Projection_MonoRightEye = _Graphic3d.Graphic3d_Camera_Projection_MonoRightEye
    FocusType_Absolute = _Graphic3d.Graphic3d_Camera_FocusType_Absolute
    FocusType_Relative = _Graphic3d.Graphic3d_Camera_FocusType_Relative
    IODType_Absolute = _Graphic3d.Graphic3d_Camera_IODType_Absolute
    IODType_Relative = _Graphic3d.Graphic3d_Camera_IODType_Relative
    FrustumVert_LeftBottomNear = _Graphic3d.Graphic3d_Camera_FrustumVert_LeftBottomNear
    FrustumVert_LeftBottomFar = _Graphic3d.Graphic3d_Camera_FrustumVert_LeftBottomFar
    FrustumVert_LeftTopNear = _Graphic3d.Graphic3d_Camera_FrustumVert_LeftTopNear
    FrustumVert_LeftTopFar = _Graphic3d.Graphic3d_Camera_FrustumVert_LeftTopFar
    FrustumVert_RightBottomNear = _Graphic3d.Graphic3d_Camera_FrustumVert_RightBottomNear
    FrustumVert_RightBottomFar = _Graphic3d.Graphic3d_Camera_FrustumVert_RightBottomFar
    FrustumVert_RightTopNear = _Graphic3d.Graphic3d_Camera_FrustumVert_RightTopNear
    FrustumVert_RightTopFar = _Graphic3d.Graphic3d_Camera_FrustumVert_RightTopFar
    FrustumVerticesNB = _Graphic3d.Graphic3d_Camera_FrustumVerticesNB


    class Projection(IntEnum):
    	Projection_Orthographic = 0
    	Projection_Perspective = 1
    	Projection_Stereo = 2
    	Projection_MonoLeftEye = 3
    	Projection_MonoRightEye = 4
    Projection_Orthographic = Projection.Projection_Orthographic
    Projection_Perspective = Projection.Projection_Perspective
    Projection_Stereo = Projection.Projection_Stereo
    Projection_MonoLeftEye = Projection.Projection_MonoLeftEye
    Projection_MonoRightEye = Projection.Projection_MonoRightEye

    class FocusType(IntEnum):
    	FocusType_Absolute = 0
    	FocusType_Relative = 1
    FocusType_Absolute = FocusType.FocusType_Absolute
    FocusType_Relative = FocusType.FocusType_Relative

    class IODType(IntEnum):
    	IODType_Absolute = 0
    	IODType_Relative = 1
    IODType_Absolute = IODType.IODType_Absolute
    IODType_Relative = IODType.IODType_Relative


    def __init__(self, *args):
        r"""
        Default constructor. initializes camera with the following properties: eye (0, 0, -2); center (0, 0, 0); up (0, 1, 0); type (orthographic); fovy (45); scale (1000); isstereo(false); znear (0.001); zfar (3000.0); aspect(1); zfocus(1.0); zfocustype(relative); iod(0.05); iodtype(relative).

        Returns
        -------
        None
        Copy constructor. @param theother [in] the camera to copy from.

        Parameters
        ----------
        theOther: Graphic3d_Camera

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_Camera_swiginit(self, _Graphic3d.new_Graphic3d_Camera(*args))

    def Aspect(self, *args) -> "Standard_Real":
        r"""
        Get camera display ratio. returns display ratio.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_Camera_Aspect(self, *args)

    def AxialScale(self, *args) -> "gp_XYZ const":
        r"""
        Get camera axial scale. returns camera's axial scale.

        Returns
        -------
        gp_XYZ

        """
        return _Graphic3d.Graphic3d_Camera_AxialScale(self, *args)

    def Center(self, *args) -> "gp_Pnt":
        r"""
        Get center of the camera, e.g. the point where camera looks at. this point is computed as eye() translated along direction() at distance(). returns the point where the camera looks at.

        Returns
        -------
        gp_Pnt

        """
        return _Graphic3d.Graphic3d_Camera_Center(self, *args)

    def ConvertProj2View(self, *args) -> "gp_Pnt":
        r"""
        Convert point from projection coordinate space to view coordinate space. @param thepnt [in] the point in ndc. returns point in vcs.

        Parameters
        ----------
        thePnt: gp_Pnt

        Returns
        -------
        gp_Pnt

        """
        return _Graphic3d.Graphic3d_Camera_ConvertProj2View(self, *args)

    def ConvertView2Proj(self, *args) -> "gp_Pnt":
        r"""
        Convert point from view coordinate space to projection coordinate space. @param thepnt [in] the point in vcs. returns point in ndc.

        Parameters
        ----------
        thePnt: gp_Pnt

        Returns
        -------
        gp_Pnt

        """
        return _Graphic3d.Graphic3d_Camera_ConvertView2Proj(self, *args)

    def ConvertView2World(self, *args) -> "gp_Pnt":
        r"""
        Convert point from view coordinate space to world coordinates. @param thepnt [in] the 3d point in vcs. returns point in wcs.

        Parameters
        ----------
        thePnt: gp_Pnt

        Returns
        -------
        gp_Pnt

        """
        return _Graphic3d.Graphic3d_Camera_ConvertView2World(self, *args)

    def ConvertWorld2View(self, *args) -> "gp_Pnt":
        r"""
        Convert point from world coordinate space to view coordinate space. @param thepnt [in] the 3d point in wcs. returns point in vcs.

        Parameters
        ----------
        thePnt: gp_Pnt

        Returns
        -------
        gp_Pnt

        """
        return _Graphic3d.Graphic3d_Camera_ConvertWorld2View(self, *args)

    def Copy(self, *args) -> "void":
        r"""
        Copy properties of another camera. @param theother [in] the camera to copy from.

        Parameters
        ----------
        theOther: Graphic3d_Camera

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_Copy(self, *args)

    def CopyMappingData(self, *args) -> "void":
        r"""
        Initialize mapping related parameters from other camera handle.

        Parameters
        ----------
        theOtherCamera: Graphic3d_Camera

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_CopyMappingData(self, *args)

    def CopyOrientationData(self, *args) -> "void":
        r"""
        Initialize orientation related parameters from other camera handle.

        Parameters
        ----------
        theOtherCamera: Graphic3d_Camera

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_CopyOrientationData(self, *args)

    def Direction(self, *args) -> "gp_Dir const":
        r"""
        Get camera look direction. returns camera look direction.

        Returns
        -------
        gp_Dir

        """
        return _Graphic3d.Graphic3d_Camera_Direction(self, *args)

    def Distance(self, *args) -> "Standard_Real":
        r"""
        Get distance of eye from camera center. returns the distance.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_Camera_Distance(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_Camera self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_Camera_DumpJsonToString(self, depth)

    def Eye(self, *args) -> "gp_Pnt const":
        r"""
        Get camera eye position. returns camera eye location.

        Returns
        -------
        gp_Pnt

        """
        return _Graphic3d.Graphic3d_Camera_Eye(self, *args)

    def FOV2d(self, *args) -> "Standard_Real":
        r"""
        Get field of view (fov) restriction for 2d on-screen elements; 180 degrees by default. when 2d fov is smaller than fovy or fovx, 2d elements defined within offset from view corner will be extended to fit into specified 2d fov. this can be useful to make 2d elements sharply visible, like in case of hmd normally having extra large fovy.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_Camera_FOV2d(self, *args)

    def FOVx(self, *args) -> "Standard_Real":
        r"""
        Get field of view (fov) in x axis. returns the fov value in degrees.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_Camera_FOVx(self, *args)

    def FOVy(self, *args) -> "Standard_Real":
        r"""
        Get field of view (fov) in y axis. returns the fov value in degrees.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_Camera_FOVy(self, *args)

    def Frustum(self, *args) -> "void":
        r"""
        Calculate wcs frustum planes for the camera projection volume. frustum is a convex volume determined by six planes directing inwards. the frustum planes are usually used as inputs for camera algorithms. thus, if any changes to projection matrix calculation are necessary, the frustum planes calculation should be also touched. @param theleft [out] the frustum plane for left side of view. @param theright [out] the frustum plane for right side of view. @param thebottom [out] the frustum plane for bottom side of view. @param thetop [out] the frustum plane for top side of view. @param thenear [out] the frustum plane for near side of view. @param thefar [out] the frustum plane for far side of view.

        Parameters
        ----------
        theLeft: gp_Pln
        theRight: gp_Pln
        theBottom: gp_Pln
        theTop: gp_Pln
        theNear: gp_Pln
        theFar: gp_Pln

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_Frustum(self, *args)

    def FrustumPoints(self, *args) -> "void":
        r"""
        Fill array of current view frustum corners. the size of this array is equal to frustumverticesnb. the order of vertices is as defined in frustumvert_* enumeration.

        Parameters
        ----------
        thePoints: NCollection_Array1<Graphic3d_Vec3d>
        theModelWorld: Graphic3d_Mat4d,optional
        	default value is Graphic3d_Mat4d()

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_FrustumPoints(self, *args)

    def GetIODType(self, *args) -> "Graphic3d_Camera::IODType":
        r"""
        Get intraocular distance definition type. returns definition type used for intraocular distance.

        Returns
        -------
        Graphic3d_Camera::IODType

        """
        return _Graphic3d.Graphic3d_Camera_GetIODType(self, *args)

    def IOD(self, *args) -> "Standard_Real":
        r"""
        Get intraocular distance value. returns absolute or relative iod value depending on its definition type.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_Camera_IOD(self, *args)

    def InvalidateOrientation(self, *args) -> "void":
        r"""
        Invalidate orientation matrix. the matrix will be updated on request.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_InvalidateOrientation(self, *args)

    def InvalidateProjection(self, *args) -> "void":
        r"""
        Invalidate state of projection matrix. the matrix will be updated on request.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_InvalidateProjection(self, *args)

    def IsCustomMonoProjection(self, *args) -> "bool":
        r"""
        Return true if custom projection matrix is set.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Camera_IsCustomMonoProjection(self, *args)

    def IsCustomStereoFrustum(self, *args) -> "bool":
        r"""
        Return true if custom stereo frustums are set.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Camera_IsCustomStereoFrustum(self, *args)

    def IsCustomStereoProjection(self, *args) -> "bool":
        r"""
        Return true if custom stereo projection matrices are set.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Camera_IsCustomStereoProjection(self, *args)

    def IsOrthographic(self, *args) -> "Standard_Boolean":
        r"""
        Check that the camera projection is orthographic. returns boolean flag that indicates whether the camera's projection is orthographic or not.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Camera_IsOrthographic(self, *args)

    def IsStereo(self, *args) -> "Standard_Boolean":
        r"""
        Check whether the camera projection is stereo. please note that stereo rendering is now implemented with support of quad buffering. returns boolean flag indicating whether the stereographic l/r projection is chosen.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Camera_IsStereo(self, *args)

    def MoveEyeTo(self, *args) -> "void":
        r"""
        Sets camera eye position. unlike seteye(), this method only changes eye point and preserves camera direction. @param theeye [in] the location of camera's eye. @sa seteye().

        Parameters
        ----------
        theEye: gp_Pnt

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_MoveEyeTo(self, *args)

    def NDC2dOffsetX(self, *args) -> "Standard_Real":
        r"""
        Return offset to the view corner in ndc space within dimension x for 2d on-screen elements, which is normally 0.5. can be clamped when fovx exceeds fov2d.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_Camera_NDC2dOffsetX(self, *args)

    def NDC2dOffsetY(self, *args) -> "Standard_Real":
        r"""
        Return offset to the view corner in ndc space within dimension x for 2d on-screen elements, which is normally 0.5. can be clamped when fovy exceeds fov2d.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_Camera_NDC2dOffsetY(self, *args)

    def OrientationMatrix(self, *args) -> "Graphic3d_Mat4d const &":
        r"""
        Get orientation matrix. returns camera orientation matrix.

        Returns
        -------
        Graphic3d_Mat4d

        """
        return _Graphic3d.Graphic3d_Camera_OrientationMatrix(self, *args)

    def OrientationMatrixF(self, *args) -> "Graphic3d_Mat4 const &":
        r"""
        Get orientation matrix of standard_shortreal precision. returns camera orientation matrix.

        Returns
        -------
        Graphic3d_Mat4

        """
        return _Graphic3d.Graphic3d_Camera_OrientationMatrixF(self, *args)

    def OrthogonalizeUp(self, *args) -> "void":
        r"""
        Orthogonalize up direction vector.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_OrthogonalizeUp(self, *args)

    def OrthogonalizedUp(self, *args) -> "gp_Dir":
        r"""
        Return a copy of orthogonalized up direction vector.

        Returns
        -------
        gp_Dir

        """
        return _Graphic3d.Graphic3d_Camera_OrthogonalizedUp(self, *args)

    def Project(self, *args) -> "gp_Pnt":
        r"""
        Project point from world coordinate space to normalized device coordinates (mapping). @param thepnt [in] the 3d point in wcs. returns mapped point in ndc.

        Parameters
        ----------
        thePnt: gp_Pnt

        Returns
        -------
        gp_Pnt

        """
        return _Graphic3d.Graphic3d_Camera_Project(self, *args)

    def ProjectionMatrix(self, *args) -> "Graphic3d_Mat4d const &":
        r"""
        Get monographic or middle point projection matrix used for monographic rendering and for point projection / unprojection. returns monographic projection matrix.

        Returns
        -------
        Graphic3d_Mat4d

        """
        return _Graphic3d.Graphic3d_Camera_ProjectionMatrix(self, *args)

    def ProjectionMatrixF(self, *args) -> "Graphic3d_Mat4 const &":
        r"""
        Get monographic or middle point projection matrix of standard_shortreal precision used for monographic rendering and for point projection / unprojection. returns monographic projection matrix.

        Returns
        -------
        Graphic3d_Mat4

        """
        return _Graphic3d.Graphic3d_Camera_ProjectionMatrixF(self, *args)

    def ProjectionState(self, *args) -> "Standard_Size":
        r"""
        Returns modification state of camera projection matrix.

        Returns
        -------
        Standard_Size

        """
        return _Graphic3d.Graphic3d_Camera_ProjectionState(self, *args)

    def ProjectionStereoLeft(self, *args) -> "Graphic3d_Mat4d const &":
        r"""
        Returns stereographic matrix computed for left eye. please note that this method is used for rendering for <i>projection_stereo</i>.

        Returns
        -------
        Graphic3d_Mat4d

        """
        return _Graphic3d.Graphic3d_Camera_ProjectionStereoLeft(self, *args)

    def ProjectionStereoLeftF(self, *args) -> "Graphic3d_Mat4 const &":
        r"""
        Returns stereographic matrix of standard_shortreal precision computed for left eye. please note that this method is used for rendering for <i>projection_stereo</i>.

        Returns
        -------
        Graphic3d_Mat4

        """
        return _Graphic3d.Graphic3d_Camera_ProjectionStereoLeftF(self, *args)

    def ProjectionStereoRight(self, *args) -> "Graphic3d_Mat4d const &":
        r"""
        Returns stereographic matrix computed for right eye. please note that this method is used for rendering for <i>projection_stereo</i>.

        Returns
        -------
        Graphic3d_Mat4d

        """
        return _Graphic3d.Graphic3d_Camera_ProjectionStereoRight(self, *args)

    def ProjectionStereoRightF(self, *args) -> "Graphic3d_Mat4 const &":
        r"""
        Returns stereographic matrix of standard_shortreal precision computed for right eye. please note that this method is used for rendering for <i>projection_stereo</i>.

        Returns
        -------
        Graphic3d_Mat4

        """
        return _Graphic3d.Graphic3d_Camera_ProjectionStereoRightF(self, *args)

    def ProjectionType(self, *args) -> "Graphic3d_Camera::Projection":
        r"""
        Returns camera projection type.

        Returns
        -------
        Graphic3d_Camera::Projection

        """
        return _Graphic3d.Graphic3d_Camera_ProjectionType(self, *args)

    def ResetCustomProjection(self, *args) -> "void":
        r"""
        Unset all custom frustums and projection matrices.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_ResetCustomProjection(self, *args)

    def Scale(self, *args) -> "Standard_Real":
        r"""
        Get camera scale. returns camera scale factor.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_Camera_Scale(self, *args)

    def SetAspect(self, *args) -> "void":
        r"""
        Changes width / height display ratio. @param theaspect [in] the display ratio.

        Parameters
        ----------
        theAspect: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetAspect(self, *args)

    def SetAxialScale(self, *args) -> "void":
        r"""
        Set camera axial scale. @param theaxialscale [in] the axial scale vector.

        Parameters
        ----------
        theAxialScale: gp_XYZ

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetAxialScale(self, *args)

    def SetCenter(self, *args) -> "void":
        r"""
        Sets center of the camera, e.g. the point where camera looks at. this methods changes camera direction, so that the new direction is computed from current eye position to specified center position. @param thecenter [in] the point where the camera looks at.

        Parameters
        ----------
        theCenter: gp_Pnt

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetCenter(self, *args)

    def SetCustomMonoProjection(self, *args) -> "void":
        r"""
        Set custom projection matrix.

        Parameters
        ----------
        theProj: Graphic3d_Mat4d

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetCustomMonoProjection(self, *args)

    def SetCustomStereoFrustums(self, *args) -> "void":
        r"""
        Set custom stereo frustums. these can be retrieved from apis like openvr.

        Parameters
        ----------
        theFrustumL: Aspect_FrustumLRBT<float>
        theFrustumR: Aspect_FrustumLRBT<float>

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetCustomStereoFrustums(self, *args)

    def SetCustomStereoProjection(self, *args) -> "void":
        r"""
        Set custom stereo projection matrices. @param theprojl [in] left eye projection matrix @param theheadtoeyel [in] left head to eye translation matrix @param theprojr [in] right eye projection matrix @param theheadtoeyer [in] right head to eye translation matrix.

        Parameters
        ----------
        theProjL: Graphic3d_Mat4d
        theHeadToEyeL: Graphic3d_Mat4d
        theProjR: Graphic3d_Mat4d
        theHeadToEyeR: Graphic3d_Mat4d

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetCustomStereoProjection(self, *args)

    def SetDirection(self, *args) -> "void":
        r"""
        Sets camera look direction and computes the new eye position relative to current center. warning! this method does not verify that the current up() vector is orthogonal to the new direction. @param thedir [in] the direction.

        Parameters
        ----------
        theDir: gp_Dir

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetDirection(self, *args)

    def SetDirectionFromEye(self, *args) -> "void":
        r"""
        Sets camera look direction preserving the current eye() position. warning! this method does not verify that the current up() vector is orthogonal to the new direction. @param thedir [in] the direction.

        Parameters
        ----------
        theDir: gp_Dir

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetDirectionFromEye(self, *args)

    def SetDistance(self, *args) -> "void":
        r"""
        Set distance of eye from camera center. @param thedistance [in] the distance.

        Parameters
        ----------
        theDistance: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetDistance(self, *args)

    def SetEye(self, *args) -> "void":
        r"""
        Sets camera eye position. warning! for backward compatibility reasons, this method also changes view direction, so that the new direction is computed from new eye position to old center position. @param theeye [in] the location of camera's eye. @sa moveeyeto(), seteyeandcenter().

        Parameters
        ----------
        theEye: gp_Pnt

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetEye(self, *args)

    def SetEyeAndCenter(self, *args) -> "void":
        r"""
        Sets camera eye and center positions. @param theeye [in] the location of camera's eye @param thecenter [in] the location of camera's center.

        Parameters
        ----------
        theEye: gp_Pnt
        theCenter: gp_Pnt

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetEyeAndCenter(self, *args)

    def SetFOV2d(self, *args) -> "void":
        r"""
        Set field of view (fov) restriction for 2d on-screen elements.

        Parameters
        ----------
        theFOV: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetFOV2d(self, *args)

    def SetFOVy(self, *args) -> "void":
        r"""
        Set field of view (fov) in y axis for perspective projection. field of view in x axis is automatically scaled from view aspect ratio. @param thefovy [in] the fov in degrees.

        Parameters
        ----------
        theFOVy: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetFOVy(self, *args)

    def SetIOD(self, *args) -> "void":
        r"""
        Sets intraocular distance. @param thetype [in] the iod definition type. iod can be defined as absolute value or relatively to (as coefficient of) camera focal length. @param theiod [in] the intraocular distance.

        Parameters
        ----------
        theType: IODType
        theIOD: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetIOD(self, *args)

    def SetProjectionType(self, *args) -> "void":
        r"""
        Change camera projection type. when switching to perspective projection from orthographic one, the znear and zfar are reset to default values (0.001, 3000.0) if less than 0.0. @param theprojectiontype [in] the camera projection type.

        Parameters
        ----------
        theProjection: Projection

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetProjectionType(self, *args)

    def SetScale(self, *args) -> "void":
        r"""
        Sets camera scale. for orthographic projection the scale factor corresponds to parallel scale of view mapping (i.e. size of viewport). for perspective camera scale is converted to distance. the scale specifies equal size of the view projection in both dimensions assuming that the aspect is 1.0. the projection height and width are specified with the scale and correspondingly multiplied by the aspect. @param thescale [in] the scale factor.

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

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetScale(self, *args)

    def SetTile(self, *args) -> "void":
        r"""
        Sets the tile defining the drawing sub-area within view. note that tile defining a region outside the view boundaries is also valid - use method graphic3d_cameratile::cropped() to assign a cropped copy. @param thetile tile definition.

        Parameters
        ----------
        theTile: Graphic3d_CameraTile

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetTile(self, *args)

    def SetUp(self, *args) -> "void":
        r"""
        Sets camera up direction vector, orthogonal to camera direction. warning! this method does not verify that the new up vector is orthogonal to the current direction(). @param theup [in] the up direction vector. @sa orthogonalizeup().

        Parameters
        ----------
        theUp: gp_Dir

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetUp(self, *args)

    def SetZFocus(self, *args) -> "void":
        r"""
        Sets stereographic focus distance. @param thetype [in] the focus definition type. focus can be defined as absolute value or relatively to (as coefficient of) coefficient of camera focal length. @param thezfocus [in] the focus absolute value or coefficient depending on the passed definition type.

        Parameters
        ----------
        theType: FocusType
        theZFocus: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetZFocus(self, *args)

    def SetZRange(self, *args) -> "void":
        r"""
        Change the near and far z-clipping plane positions. for orthographic projection, theznear, thezfar can be negative or positive. for perspective projection, only positive values are allowed. program error exception is raised if non-positive values are specified for perspective projection or theznear >= thezfar. @param theznear [in] the distance of the plane from the eye. @param thezfar [in] the distance of the plane from the eye.

        Parameters
        ----------
        theZNear: float
        theZFar: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_SetZRange(self, *args)

    def SideRight(self, *args) -> "gp_Dir":
        r"""
        Right side direction.

        Returns
        -------
        gp_Dir

        """
        return _Graphic3d.Graphic3d_Camera_SideRight(self, *args)

    def StereoProjection(self, *args) -> "void":
        r"""
        Get stereo projection matrices. @param theprojl [out] left eye projection matrix @param theheadtoeyel [out] left head to eye translation matrix @param theprojr [out] right eye projection matrix @param theheadtoeyer [out] right head to eye translation matrix.

        Parameters
        ----------
        theProjL: Graphic3d_Mat4d
        theHeadToEyeL: Graphic3d_Mat4d
        theProjR: Graphic3d_Mat4d
        theHeadToEyeR: Graphic3d_Mat4d

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_StereoProjection(self, *args)

    def StereoProjectionF(self, *args) -> "void":
        r"""
        Get stereo projection matrices. @param theprojl [out] left eye projection matrix @param theheadtoeyel [out] left head to eye translation matrix @param theprojr [out] right eye projection matrix @param theheadtoeyer [out] right head to eye translation matrix.

        Parameters
        ----------
        theProjL: Graphic3d_Mat4
        theHeadToEyeL: Graphic3d_Mat4
        theProjR: Graphic3d_Mat4
        theHeadToEyeR: Graphic3d_Mat4

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_StereoProjectionF(self, *args)

    def Tile(self, *args) -> "Graphic3d_CameraTile const &":
        r"""
        Get current tile.

        Returns
        -------
        Graphic3d_CameraTile

        """
        return _Graphic3d.Graphic3d_Camera_Tile(self, *args)

    def Transform(self, *args) -> "void":
        r"""
        Transform orientation components of the camera: eye, up and center points. @param thetrsf [in] the transformation to apply.

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

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_Transform(self, *args)

    def UnProject(self, *args) -> "gp_Pnt":
        r"""
        Unproject point from normalized device coordinates to world coordinate space. @param thepnt [in] the ndc point. returns 3d point in wcs.

        Parameters
        ----------
        thePnt: gp_Pnt

        Returns
        -------
        gp_Pnt

        """
        return _Graphic3d.Graphic3d_Camera_UnProject(self, *args)

    def Up(self, *args) -> "gp_Dir const":
        r"""
        Get camera up direction vector. returns camera's up direction vector.

        Returns
        -------
        gp_Dir

        """
        return _Graphic3d.Graphic3d_Camera_Up(self, *args)

    def ViewDimensions(self, *args) -> "gp_XYZ":
        r"""
        Calculate view plane size at center (target) point and distance between zfar and znear planes. returns values in form of gp_pnt (width, height, depth).

        Returns
        -------
        gp_XYZ
        Calculate view plane size at center point with specified z offset and distance between zfar and znear planes. @param thezvalue [in] the distance from the eye in eye-to-center direction returns values in form of gp_pnt (width, height, depth).

        Parameters
        ----------
        theZValue: float

        Returns
        -------
        gp_XYZ

        """
        return _Graphic3d.Graphic3d_Camera_ViewDimensions(self, *args)

    def WorldViewProjState(self, *args) -> "Graphic3d_WorldViewProjState const &":
        r"""
        Returns projection modification state of the camera.

        Returns
        -------
        Graphic3d_WorldViewProjState

        """
        return _Graphic3d.Graphic3d_Camera_WorldViewProjState(self, *args)

    def WorldViewState(self, *args) -> "Standard_Size":
        r"""
        Returns modification state of camera world view transformation matrix.

        Returns
        -------
        Standard_Size

        """
        return _Graphic3d.Graphic3d_Camera_WorldViewState(self, *args)

    def ZFar(self, *args) -> "Standard_Real":
        r"""
        Get the far z-clipping plane position. returns the distance of the plane from the eye.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_Camera_ZFar(self, *args)

    def ZFitAll(self, *args) -> "void":
        r"""
        Estimate z-min and z-max planes of projection volume to match the displayed objects. the methods ensures that view volume will be close by depth range to the displayed objects. fitting assumes that for orthogonal projection the view volume contains the displayed objects completely. for zoomed perspective view, the view volume is adjusted such that it contains the objects or their parts, located in front of the camera. @param thescalefactor [in] the scale factor for z-range. the range between z-min, z-max projection volume planes evaluated by z fitting method will be scaled using this coefficient. program error exception is thrown if negative or zero value is passed. @param theminmax [in] applicative min max boundaries. @param thescalefactor [in] real graphical boundaries (not accounting infinite flag).

        Parameters
        ----------
        theScaleFactor: float
        theMinMax: Bnd_Box
        theGraphicBB: Bnd_Box

        Returns
        -------
        theZNear: float
        theZFar: float
        Change z-min and z-max planes of projection volume to match the displayed objects.

        Parameters
        ----------
        theScaleFactor: float
        theMinMax: Bnd_Box
        theGraphicBB: Bnd_Box

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Camera_ZFitAll(self, *args)

    def ZFocus(self, *args) -> "Standard_Real":
        r"""
        Get stereographic focus value. returns absolute or relative stereographic focus value depending on its definition type.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_Camera_ZFocus(self, *args)

    def ZFocusType(self, *args) -> "Graphic3d_Camera::FocusType":
        r"""
        Get stereographic focus definition type. returns definition type used for stereographic focus.

        Returns
        -------
        Graphic3d_Camera::FocusType

        """
        return _Graphic3d.Graphic3d_Camera_ZFocusType(self, *args)

    def ZNear(self, *args) -> "Standard_Real":
        r"""
        Get the near z-clipping plane position. returns the distance of the plane from the eye.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_Camera_ZNear(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Camera

# Register Graphic3d_Camera in _Graphic3d:
_Graphic3d.Graphic3d_Camera_swigregister(Graphic3d_Camera)

class Graphic3d_CameraTile(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    TotalSize = property(_Graphic3d.Graphic3d_CameraTile_TotalSize_get, _Graphic3d.Graphic3d_CameraTile_TotalSize_set)
    TileSize = property(_Graphic3d.Graphic3d_CameraTile_TileSize_get, _Graphic3d.Graphic3d_CameraTile_TileSize_set)
    Offset = property(_Graphic3d.Graphic3d_CameraTile_Offset_get, _Graphic3d.Graphic3d_CameraTile_Offset_set)
    IsTopDown = property(_Graphic3d.Graphic3d_CameraTile_IsTopDown_get, _Graphic3d.Graphic3d_CameraTile_IsTopDown_set)

    def __init__(self, *args):
        r"""
        Default constructor. initializes the empty tile of zero size and lower-left offset orientation. such tile is considered uninitialized (invalid).

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_CameraTile_swiginit(self, _Graphic3d.new_Graphic3d_CameraTile(*args))

    def Cropped(self, *args) -> "Graphic3d_CameraTile":
        r"""
        Return the copy cropped by total size.

        Returns
        -------
        Graphic3d_CameraTile

        """
        return _Graphic3d.Graphic3d_CameraTile_Cropped(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_CameraTile self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_CameraTile_DumpJsonToString(self, depth)

    def IsValid(self, *args) -> "bool":
        r"""
        Return true if tile has been defined.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CameraTile_IsValid(self, *args)

    def OffsetLowerLeft(self, *args) -> "Graphic3d_Vec2i":
        r"""
        Return offset position from lower-left corner.

        Returns
        -------
        Graphic3d_Vec2i

        """
        return _Graphic3d.Graphic3d_CameraTile_OffsetLowerLeft(self, *args)

    def __eq_wrapper__(self, other: "Graphic3d_CameraTile") -> "bool":
        r"""__eq_wrapper__(Graphic3d_CameraTile self, Graphic3d_CameraTile other) -> bool"""
        return _Graphic3d.Graphic3d_CameraTile___eq_wrapper__(self, other)

    def __eq__(self, right):
        try:
            return self.__eq_wrapper__(right)
        except:
            return False


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_CameraTile

# Register Graphic3d_CameraTile in _Graphic3d:
_Graphic3d.Graphic3d_CameraTile_swigregister(Graphic3d_CameraTile)

class Graphic3d_ClipPlane(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"""
        Default constructor. initializes clip plane container with the following properties: - equation (0.0, 0.0, 1.0, 0) - ison (true), - iscapping (false), - material (graphic3d_nameofmaterial_default), - texture (null), - hatchstyle (aspect_hs_horizontal), - ishatchon (false).

        Returns
        -------
        None
        Copy constructor. @param theother [in] the copied plane.

        Parameters
        ----------
        theOther: Graphic3d_ClipPlane

        Returns
        -------
        None
        Construct clip plane for the passed equation. by default the plane is on, capping is turned off. @param theequation [in] the plane equation.

        Parameters
        ----------
        theEquation: Graphic3d_Vec4d

        Returns
        -------
        None
        Construct clip plane from the passed geometrical definition. by default the plane is on, capping is turned off. @param theplane [in] the plane.

        Parameters
        ----------
        thePlane: gp_Pln

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_ClipPlane_swiginit(self, _Graphic3d.new_Graphic3d_ClipPlane(*args))

    def CappingAspect(self, *args) -> "opencascade::handle< Graphic3d_AspectFillArea3d > const &":
        r"""
        Return capping aspect. returns capping surface rendering aspect.

        Returns
        -------
        opencascade::handle<Graphic3d_AspectFillArea3d>

        """
        return _Graphic3d.Graphic3d_ClipPlane_CappingAspect(self, *args)

    def CappingColor(self, *args) -> "Quantity_Color":
        r"""
        Return color for rendering capping surface.

        Returns
        -------
        Quantity_Color

        """
        return _Graphic3d.Graphic3d_ClipPlane_CappingColor(self, *args)

    def CappingCustomHatch(self, *args) -> "opencascade::handle< Graphic3d_HatchStyle > const &":
        r"""
        Returns hatching style.

        Returns
        -------
        opencascade::handle<Graphic3d_HatchStyle>

        """
        return _Graphic3d.Graphic3d_ClipPlane_CappingCustomHatch(self, *args)

    def CappingHatch(self, *args) -> "Aspect_HatchStyle":
        r"""
        Returns hatching style.

        Returns
        -------
        Aspect_HatchStyle

        """
        return _Graphic3d.Graphic3d_ClipPlane_CappingHatch(self, *args)

    def CappingMaterial(self, *args) -> "Graphic3d_MaterialAspect const &":
        r"""
        Returns capping material.

        Returns
        -------
        Graphic3d_MaterialAspect

        """
        return _Graphic3d.Graphic3d_ClipPlane_CappingMaterial(self, *args)

    def CappingTexture(self, *args) -> "opencascade::handle< Graphic3d_TextureMap >":
        r"""
        Returns capping texture map.

        Returns
        -------
        opencascade::handle<Graphic3d_TextureMap>

        """
        return _Graphic3d.Graphic3d_ClipPlane_CappingTexture(self, *args)

    def ChainNextPlane(self, *args) -> "opencascade::handle< Graphic3d_ClipPlane > const &":
        r"""
        No available documentation.

        Returns
        -------
        opencascade::handle<Graphic3d_ClipPlane>

        """
        return _Graphic3d.Graphic3d_ClipPlane_ChainNextPlane(self, *args)

    def ChainPreviousPlane(self, *args) -> "opencascade::handle< Graphic3d_ClipPlane >":
        r"""
        Return the previous plane in a chain of planes defining logical and operation, or null if there is no chain or it is a first element in chain. when clipping is defined by a chain of planes, it cuts a space only in case if check fails for all planes in chain.

        Returns
        -------
        opencascade::handle<Graphic3d_ClipPlane>

        """
        return _Graphic3d.Graphic3d_ClipPlane_ChainPreviousPlane(self, *args)

    def Clone(self, *args) -> "opencascade::handle< Graphic3d_ClipPlane >":
        r"""
        Clone plane. virtual method to simplify copying procedure if plane class is redefined at application level to add specific fields to it e.g. id, name, etc. returns new instance of clipping plane with same properties and attributes.

        Returns
        -------
        opencascade::handle<Graphic3d_ClipPlane>

        """
        return _Graphic3d.Graphic3d_ClipPlane_Clone(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_ClipPlane self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_ClipPlane_DumpJsonToString(self, depth)

    def GetEquation(self, *args) -> "Graphic3d_Vec4d const &":
        r"""
        Get 4-component equation vector for clipping plane. returns clipping plane equation vector.

        Returns
        -------
        Graphic3d_Vec4d

        """
        return _Graphic3d.Graphic3d_ClipPlane_GetEquation(self, *args)

    def GetId(self, *args) -> "TCollection_AsciiString const &":
        r"""
        This id is used for managing associated resources in graphical driver. the clip plane can be assigned within a range of io which can be displayed in separate opengl contexts. for each of the context an associated opengl resource for graphical aspects should be created and kept. the resources are stored in graphical driver for each of individual groups of shared context under the clip plane identifier. returns clip plane resource identifier string.

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_ClipPlane_GetId(self, *args)

    def IsBoxFullInHalfspace(self, *args) -> "bool":
        r"""
        Check if the given bounding box is fully inside (or touches from inside) the half-space (e.g. not discarded by clipping plane).

        Parameters
        ----------
        theBox: Graphic3d_BndBox3d

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ClipPlane_IsBoxFullInHalfspace(self, *args)

    def IsBoxFullOutHalfspace(self, *args) -> "bool":
        r"""
        Check if the given bounding box is fully outside of the half-space (e.g. should be discarded by clipping plane).

        Parameters
        ----------
        theBox: Graphic3d_BndBox3d

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ClipPlane_IsBoxFullOutHalfspace(self, *args)

    def IsCapping(self, *args) -> "Standard_Boolean":
        r"""
        Check state of capping surface rendering. returns true (turned on) or false depending on the state.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ClipPlane_IsCapping(self, *args)

    def IsChain(self, *args) -> "Standard_Boolean":
        r"""
        Return true if this item defines a conjunction (logical and) between a set of planes. graphic3d_clipplane item defines either a clipping halfspace (single clipping plane) or a clipping volume defined by a logical and (conjunction) operation between a set of planes defined as a chain (so that the volume cuts a space only in case if check fails for all planes in the chain). //! note that graphic3d_clipplane item cannot: - define a chain with logical or (disjunction) operation; this should be done through graphic3d_sequenceofhclipplane. - define nested chains. - disable chain items; only entire chain can be disabled (by disabled a head of chain). //! the head of a chain defines all visual properties of the chain, so that graphic3d_clipplane of next items in a chain merely defines only geometrical definition of the plane.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ClipPlane_IsChain(self, *args)

    def IsHatchOn(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if hatching mask is turned on.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ClipPlane_IsHatchOn(self, *args)

    def IsOn(self, *args) -> "Standard_Boolean":
        r"""
        Check that the clipping plane is turned on. returns boolean flag indicating whether the plane is in on or off state.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ClipPlane_IsOn(self, *args)

    def IsPointOutHalfspace(self, *args) -> "bool":
        r"""
        Check if the given point is outside of the half-space (e.g. should be discarded by clipping plane).

        Parameters
        ----------
        thePoint: Graphic3d_Vec4d

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ClipPlane_IsPointOutHalfspace(self, *args)

    def MCountAspect(self, *args) -> "unsigned int":
        r"""
        Returns modification counter for aspect.

        Returns
        -------
        unsigned int

        """
        return _Graphic3d.Graphic3d_ClipPlane_MCountAspect(self, *args)

    def MCountEquation(self, *args) -> "unsigned int":
        r"""
        Returns modification counter for equation.

        Returns
        -------
        unsigned int

        """
        return _Graphic3d.Graphic3d_ClipPlane_MCountEquation(self, *args)

    def NbChainNextPlanes(self, *args) -> "Standard_Integer":
        r"""
        Return the number of chains in forward direction (including this item, so it is always >= 1). for a head of chain - returns the length of entire chain.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ClipPlane_NbChainNextPlanes(self, *args)

    def ProbeBox(self, *args) -> "Graphic3d_ClipState":
        r"""
        Check if the given bounding box is fully outside / fully inside.

        Parameters
        ----------
        theBox: Graphic3d_BndBox3d

        Returns
        -------
        Graphic3d_ClipState

        """
        return _Graphic3d.Graphic3d_ClipPlane_ProbeBox(self, *args)

    def ProbeBoxHalfspace(self, *args) -> "Graphic3d_ClipState":
        r"""
        Check if the given bounding box is fully outside / fully inside the half-space.

        Parameters
        ----------
        theBox: Graphic3d_BndBox3d

        Returns
        -------
        Graphic3d_ClipState

        """
        return _Graphic3d.Graphic3d_ClipPlane_ProbeBoxHalfspace(self, *args)

    def ProbeBoxMaxPointHalfspace(self, *args) -> "Graphic3d_ClipState":
        r"""
        Check if the given bounding box is fully outside of the half-space (e.g. should be discarded by clipping plane).

        Parameters
        ----------
        theBox: Graphic3d_BndBox3d

        Returns
        -------
        Graphic3d_ClipState

        """
        return _Graphic3d.Graphic3d_ClipPlane_ProbeBoxMaxPointHalfspace(self, *args)

    def ProbeBoxTouch(self, *args) -> "Standard_Boolean":
        r"""
        Check if the given bounding box is in and touch the clipping planes.

        Parameters
        ----------
        theBox: Graphic3d_BndBox3d

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ClipPlane_ProbeBoxTouch(self, *args)

    def ProbePoint(self, *args) -> "Graphic3d_ClipState":
        r"""
        Check if the given point is outside / inside / on section.

        Parameters
        ----------
        thePoint: Graphic3d_Vec4d

        Returns
        -------
        Graphic3d_ClipState

        """
        return _Graphic3d.Graphic3d_ClipPlane_ProbePoint(self, *args)

    def ProbePointHalfspace(self, *args) -> "Graphic3d_ClipState":
        r"""
        Check if the given point is outside of the half-space (e.g. should be discarded by clipping plane).

        Parameters
        ----------
        thePoint: Graphic3d_Vec4d

        Returns
        -------
        Graphic3d_ClipState

        """
        return _Graphic3d.Graphic3d_ClipPlane_ProbePointHalfspace(self, *args)

    def ReversedEquation(self, *args) -> "Graphic3d_Vec4d const &":
        r"""
        Get 4-component equation vector for clipping plane. returns clipping plane equation vector.

        Returns
        -------
        Graphic3d_Vec4d

        """
        return _Graphic3d.Graphic3d_ClipPlane_ReversedEquation(self, *args)

    def SetCapping(self, *args) -> "void":
        r"""
        Change state of capping surface rendering. @param theison [in] the flag specifying whether the graphic driver should perform rendering of capping surface produced by this plane. the graphic driver produces this surface for convex graphics by means of stencil-test and multi-pass rendering.

        Parameters
        ----------
        theIsOn: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ClipPlane_SetCapping(self, *args)

    def SetCappingAspect(self, *args) -> "void":
        r"""
        Assign capping aspect.

        Parameters
        ----------
        theAspect: Graphic3d_AspectFillArea3d

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ClipPlane_SetCappingAspect(self, *args)

    def SetCappingColor(self, *args) -> "void":
        r"""
        Set color for rendering capping surface.

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

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ClipPlane_SetCappingColor(self, *args)

    def SetCappingCustomHatch(self, *args) -> "void":
        r"""
        Set custom hatch style (stipple) and turn hatching on. @param thestyle [in] the hatch pattern.

        Parameters
        ----------
        theStyle: Graphic3d_HatchStyle

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ClipPlane_SetCappingCustomHatch(self, *args)

    def SetCappingHatch(self, *args) -> "void":
        r"""
        Set hatch style (stipple) and turn hatching on. @param thestyle [in] the hatch style.

        Parameters
        ----------
        theStyle: Aspect_HatchStyle

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ClipPlane_SetCappingHatch(self, *args)

    def SetCappingHatchOff(self, *args) -> "void":
        r"""
        Turn off hatching.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ClipPlane_SetCappingHatchOff(self, *args)

    def SetCappingHatchOn(self, *args) -> "void":
        r"""
        Turn on hatching.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ClipPlane_SetCappingHatchOn(self, *args)

    def SetCappingMaterial(self, *args) -> "void":
        r"""
        Set material for rendering capping surface. @param themat [in] the material.

        Parameters
        ----------
        theMat: Graphic3d_MaterialAspect

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ClipPlane_SetCappingMaterial(self, *args)

    def SetCappingTexture(self, *args) -> "void":
        r"""
        Set texture to be applied on capping surface. @param thetexture [in] the texture.

        Parameters
        ----------
        theTexture: Graphic3d_TextureMap

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ClipPlane_SetCappingTexture(self, *args)

    def SetChainNextPlane(self, *args) -> "void":
        r"""
        Set the next plane in a chain of planes. this operation also updates relationship between chains (previous/next items), so that the previously set next plane is cut off.

        Parameters
        ----------
        thePlane: Graphic3d_ClipPlane

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ClipPlane_SetChainNextPlane(self, *args)

    def SetEquation(self, *args) -> "void":
        r"""
        Set plane equation by its geometrical definition. the equation is specified in 'world' coordinate system. @param theplane [in] the plane.

        Parameters
        ----------
        thePlane: gp_Pln

        Returns
        -------
        None
        Set 4-component equation vector for clipping plane. the equation is specified in 'world' coordinate system. @param theequation [in] the xyzw (or 'abcd') equation vector.

        Parameters
        ----------
        theEquation: Graphic3d_Vec4d

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ClipPlane_SetEquation(self, *args)

    def SetOn(self, *args) -> "void":
        r"""
        Change state of the clipping plane. @param theison [in] the flag specifying whether the graphic driver clipping by this plane should be turned on or off.

        Parameters
        ----------
        theIsOn: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ClipPlane_SetOn(self, *args)

    def SetUseObjectMaterial(self, *args) -> "void":
        r"""
        Set flag for controlling the source of capping plane material.

        Parameters
        ----------
        theToUse: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ClipPlane_SetUseObjectMaterial(self, *args)

    def SetUseObjectShader(self, *args) -> "void":
        r"""
        Set flag for controlling the source of capping plane shader program.

        Parameters
        ----------
        theToUse: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ClipPlane_SetUseObjectShader(self, *args)

    def SetUseObjectTexture(self, *args) -> "void":
        r"""
        Set flag for controlling the source of capping plane texture.

        Parameters
        ----------
        theToUse: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ClipPlane_SetUseObjectTexture(self, *args)

    def ToPlane(self, *args) -> "gp_Pln const":
        r"""
        Get geometrical definition. returns geometrical definition of clipping plane.

        Returns
        -------
        gp_Pln

        """
        return _Graphic3d.Graphic3d_ClipPlane_ToPlane(self, *args)

    def ToUseObjectMaterial(self, *args) -> "bool":
        r"""
        Flag indicating whether material for capping plane should be taken from object. default value: false (use dedicated capping plane material).

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ClipPlane_ToUseObjectMaterial(self, *args)

    def ToUseObjectProperties(self, *args) -> "bool":
        r"""
        Return true if some fill area aspect properties should be taken from object.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ClipPlane_ToUseObjectProperties(self, *args)

    def ToUseObjectShader(self, *args) -> "bool":
        r"""
        Flag indicating whether shader program for capping plane should be taken from object. default value: false.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ClipPlane_ToUseObjectShader(self, *args)

    def ToUseObjectTexture(self, *args) -> "bool":
        r"""
        Flag indicating whether texture for capping plane should be taken from object. default value: false.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ClipPlane_ToUseObjectTexture(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ClipPlane

# Register Graphic3d_ClipPlane in _Graphic3d:
_Graphic3d.Graphic3d_ClipPlane_swigregister(Graphic3d_ClipPlane)

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

    def __init__(self, *args):
        r"""
        Creates an empty selector object with parallel projection type by default.

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_CullingTool_swiginit(self, _Graphic3d.new_Graphic3d_CullingTool(*args))

    def CacheClipPtsProjections(self, *args) -> "void":
        r"""
        Caches view volume's vertices projections along its normals and aabbs dimensions. must be called at the beginning of each bvh tree traverse loop.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CullingTool_CacheClipPtsProjections(self, *args)

    def Camera(self, *args) -> "opencascade::handle< Graphic3d_Camera > const &":
        r"""
        Return the camera definition.

        Returns
        -------
        opencascade::handle<Graphic3d_Camera>

        """
        return _Graphic3d.Graphic3d_CullingTool_Camera(self, *args)

    def CameraDirection(self, *args) -> "Graphic3d_Vec3d const &":
        r"""
        Returns camera direction.

        Returns
        -------
        Graphic3d_Vec3d

        """
        return _Graphic3d.Graphic3d_CullingTool_CameraDirection(self, *args)

    def CameraEye(self, *args) -> "Graphic3d_Vec3d const &":
        r"""
        Returns camera eye position.

        Returns
        -------
        Graphic3d_Vec3d

        """
        return _Graphic3d.Graphic3d_CullingTool_CameraEye(self, *args)

    def IsCulled(self, *args) -> "bool":
        r"""
        Checks whether given aabb should be entirely culled or not. @param thectx [in] culling properties @param theminpnt [in] maximum point of aabb @param themaxpnt [in] minimum point of aabb @param theisinside [out] flag indicating if aabb is fully inside; initial value should be set to true returns true if aabb is completely outside of view frustum or culled by size/distance; false in case of partial or complete overlap (use theisinside to distinguish).

        Parameters
        ----------
        theCtx: CullingContext
        theMinPnt: Graphic3d_Vec3d
        theMaxPnt: Graphic3d_Vec3d
        theIsInside: bool *,optional
        	default value is NULL

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CullingTool_IsCulled(self, *args)

    def IsOutFrustum(self, *args) -> "bool":
        r"""
        Detects if aabb overlaps view volume using separating axis theorem (sat). @param theminpnt [in] maximum point of aabb @param themaxpnt [in] minimum point of aabb @param theisinside [out] flag indicating if aabb is fully inside; initial value should be set to true returns true if aabb is completely outside of view frustum; false in case of partial or complete overlap (use theisinside to distinguish) @sa selectmgr_frustum::hasoverlap().

        Parameters
        ----------
        theMinPnt: Graphic3d_Vec3d
        theMaxPnt: Graphic3d_Vec3d
        theIsInside: bool *,optional
        	default value is NULL

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CullingTool_IsOutFrustum(self, *args)

    def IsTooDistant(self, *args) -> "bool":
        r"""
        Returns true if given aabb should be discarded by distance culling criterion. @param theminpnt [in] maximum point of aabb @param themaxpnt [in] minimum point of aabb @param theisinside [out] flag indicating if aabb is fully inside; initial value should be set to true returns true if aabb is completely behind culling distance; false in case of partial or complete overlap (use theisinside to distinguish).

        Parameters
        ----------
        theCtx: CullingContext
        theMinPnt: Graphic3d_Vec3d
        theMaxPnt: Graphic3d_Vec3d
        theIsInside: bool *,optional
        	default value is NULL

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CullingTool_IsTooDistant(self, *args)

    def IsTooSmall(self, *args) -> "bool":
        r"""
        Returns true if given aabb should be discarded by size culling criterion.

        Parameters
        ----------
        theCtx: CullingContext
        theMinPnt: Graphic3d_Vec3d
        theMaxPnt: Graphic3d_Vec3d

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CullingTool_IsTooSmall(self, *args)

    def ProjectionMatrix(self, *args) -> "Graphic3d_Mat4d const &":
        r"""
        Returns current projection matrix.

        Returns
        -------
        Graphic3d_Mat4d

        """
        return _Graphic3d.Graphic3d_CullingTool_ProjectionMatrix(self, *args)

    def SetCullingDistance(self, *args) -> "void":
        r"""
        Setup distance culling.

        Parameters
        ----------
        theCtx: CullingContext
        theDistance: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CullingTool_SetCullingDistance(self, *args)

    def SetCullingSize(self, *args) -> "void":
        r"""
        Setup size culling.

        Parameters
        ----------
        theCtx: CullingContext
        theSize: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CullingTool_SetCullingSize(self, *args)

    def SetViewVolume(self, *args) -> "void":
        r"""
        Retrieves view volume's planes equations and its vertices from projection and world-view matrices. @param thecamera [in] camera definition @param themodelworld [in] optional object transformation for computing frustum in object local coordinate system.

        Parameters
        ----------
        theCamera: Graphic3d_Camera
        theModelWorld: Graphic3d_Mat4d,optional
        	default value is Graphic3d_Mat4d()

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CullingTool_SetViewVolume(self, *args)

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

        Parameters
        ----------
        theViewportWidth: int
        theViewportHeight: int
        theResolutionRatio: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CullingTool_SetViewportSize(self, *args)

    def SignedPlanePointDistance(self, *args) -> "Standard_Real":
        r"""
        Calculates signed distance from plane to point. @param thenormal [in] the plane's normal. @param thepnt [in].

        Parameters
        ----------
        theNormal: Graphic3d_Vec4d
        thePnt: Graphic3d_Vec4d

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_CullingTool_SignedPlanePointDistance(self, *args)

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

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_CullingTool_ViewportHeight(self, *args)

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

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_CullingTool_ViewportWidth(self, *args)

    def WorldViewMatrix(self, *args) -> "Graphic3d_Mat4d const &":
        r"""
        Returns current world view transformation matrix.

        Returns
        -------
        Graphic3d_Mat4d

        """
        return _Graphic3d.Graphic3d_CullingTool_WorldViewMatrix(self, *args)

    def WorldViewProjState(self, *args) -> "Graphic3d_WorldViewProjState const &":
        r"""
        Returns state of current world view projection transformation matrices.

        Returns
        -------
        Graphic3d_WorldViewProjState

        """
        return _Graphic3d.Graphic3d_CullingTool_WorldViewProjState(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_CullingTool

# Register Graphic3d_CullingTool in _Graphic3d:
_Graphic3d.Graphic3d_CullingTool_swigregister(Graphic3d_CullingTool)

class Graphic3d_DataStructureManager(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


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_DataStructureManager

# Register Graphic3d_DataStructureManager in _Graphic3d:
_Graphic3d.Graphic3d_DataStructureManager_swigregister(Graphic3d_DataStructureManager)

class Graphic3d_FrameStats(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 ActiveDataFrame(self, *args) -> "Graphic3d_FrameStatsDataTmp &":
        r"""
        Returns currently filling data frame for modification, should be called between ::framestart() and ::frameend() calls.

        Returns
        -------
        Graphic3d_FrameStatsDataTmp

        """
        return _Graphic3d.Graphic3d_FrameStats_ActiveDataFrame(self, *args)

    def ChangeCounter(self, *args) -> "Standard_Size &":
        r"""
        Returns value of specified counter for modification, should be called between ::framestart() and ::frameend() calls.

        Parameters
        ----------
        theCounter: Graphic3d_FrameStatsCounter

        Returns
        -------
        Standard_Size

        """
        return _Graphic3d.Graphic3d_FrameStats_ChangeCounter(self, *args)

    def ChangeDataFrames(self, *args) -> "NCollection_Array1< Graphic3d_FrameStatsData > &":
        r"""
        Returns data frames.

        Returns
        -------
        NCollection_Array1<Graphic3d_FrameStatsData>

        """
        return _Graphic3d.Graphic3d_FrameStats_ChangeDataFrames(self, *args)

    def GetChangeTimer(self, theTimer: "Graphic3d_FrameStatsTimer") -> "Standard_Real":
        r"""GetChangeTimer(Graphic3d_FrameStats self, Graphic3d_FrameStatsTimer theTimer) -> Standard_Real"""
        return _Graphic3d.Graphic3d_FrameStats_GetChangeTimer(self, theTimer)

    def SetChangeTimer(self, theTimer: "Graphic3d_FrameStatsTimer", value: "Standard_Real") -> "void":
        r"""SetChangeTimer(Graphic3d_FrameStats self, Graphic3d_FrameStatsTimer theTimer, Standard_Real value)"""
        return _Graphic3d.Graphic3d_FrameStats_SetChangeTimer(self, theTimer, value)

    def CounterValue(self, *args) -> "Standard_Size":
        r"""
        Returns value of specified counter, cached between stats updates. should not be called between ::framestart() and ::frameend() calls.

        Parameters
        ----------
        theCounter: Graphic3d_FrameStatsCounter

        Returns
        -------
        Standard_Size

        """
        return _Graphic3d.Graphic3d_FrameStats_CounterValue(self, *args)

    def DataFrames(self, *args) -> "NCollection_Array1< Graphic3d_FrameStatsData > const &":
        r"""
        Returns data frames.

        Returns
        -------
        NCollection_Array1<Graphic3d_FrameStatsData>

        """
        return _Graphic3d.Graphic3d_FrameStats_DataFrames(self, *args)

    def FormatStats(self, *args) -> "void":
        r"""
        Returns formatted string.

        Parameters
        ----------
        theFlags: Graphic3d_RenderingParams::PerfCounters

        Returns
        -------
        TCollection_AsciiString
        Fill in the dictionary with formatted statistic info.

        Parameters
        ----------
        theDict: TColStd_IndexedDataMapOfStringString
        theFlags: Graphic3d_RenderingParams::PerfCounters

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_FrameStats_FormatStats(self, *args)

    def FrameDuration(self, *args) -> "Standard_Real":
        r"""
        Returns duration of the last frame in seconds.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_FrameStats_FrameDuration(self, *args)

    def FrameEnd(self, *args) -> "void":
        r"""
        Frame redraw finished.

        Parameters
        ----------
        theView: Graphic3d_CView
        theIsImmediateOnly: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_FrameStats_FrameEnd(self, *args)

    def FrameRate(self, *args) -> "Standard_Real":
        r"""
        Returns fps (frames per seconds, elapsed time). this number indicates an actual frame rate averaged for several frames within updateinterval() duration, basing on a real elapsed time between updates.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_FrameStats_FrameRate(self, *args)

    def FrameRateCpu(self, *args) -> "Standard_Real":
        r"""
        Returns cpu fps (frames per seconds, cpu time). this number indicates a predicted frame rate, basing on cpu elapsed time between updates and not real elapsed time (which might include periods of cpu inactivity). number is expected to be greater then actual frame rate returned by framerate(). values significantly greater actual frame rate indicate that rendering is limited by gpu performance (cpu is stalled in-between), while values around actual frame rate indicate rendering being limited by cpu performance (gpu is stalled in-between).

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_FrameStats_FrameRateCpu(self, *args)

    def FrameStart(self, *args) -> "void":
        r"""
        Frame redraw started.

        Parameters
        ----------
        theView: Graphic3d_CView
        theIsImmediateOnly: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_FrameStats_FrameStart(self, *args)

    def HasCulledLayers(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if some layers have been culled.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_FrameStats_HasCulledLayers(self, *args)

    def HasCulledStructs(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if some structures have been culled.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_FrameStats_HasCulledStructs(self, *args)

    def IsLongLineFormat(self, *args) -> "Standard_Boolean":
        r"""
        Prefer longer lines over more greater of lines.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_FrameStats_IsLongLineFormat(self, *args)

    def LastDataFrame(self, *args) -> "Graphic3d_FrameStatsData const &":
        r"""
        Returns last data frame, cached between stats updates. should not be called between ::framestart() and ::frameend() calls.

        Returns
        -------
        Graphic3d_FrameStatsData

        """
        return _Graphic3d.Graphic3d_FrameStats_LastDataFrame(self, *args)

    def LastDataFrameIndex(self, *args) -> "Standard_Integer":
        r"""
        Returns last data frame index.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_FrameStats_LastDataFrameIndex(self, *args)

    def SetLongLineFormat(self, *args) -> "void":
        r"""
        Set if format should prefer longer lines over greater number of lines.

        Parameters
        ----------
        theValue: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_FrameStats_SetLongLineFormat(self, *args)

    def SetUpdateInterval(self, *args) -> "void":
        r"""
        Sets interval in seconds for updating values.

        Parameters
        ----------
        theInterval: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_FrameStats_SetUpdateInterval(self, *args)

    def TimerValue(self, *args) -> "Standard_Real":
        r"""
        Returns value of specified timer for modification, should be called between ::framestart() and ::frameend() calls. should not be called between ::framestart() and ::frameend() calls.

        Parameters
        ----------
        theTimer: Graphic3d_FrameStatsTimer

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_FrameStats_TimerValue(self, *args)

    def UpdateInterval(self, *args) -> "Standard_Real":
        r"""
        Returns interval in seconds for updating meters across several frames; 1 second by default.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_FrameStats_UpdateInterval(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_FrameStats

# Register Graphic3d_FrameStats in _Graphic3d:
_Graphic3d.Graphic3d_FrameStats_swigregister(Graphic3d_FrameStats)

class Graphic3d_FrameStatsData(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

        """
        _Graphic3d.Graphic3d_FrameStatsData_swiginit(self, _Graphic3d.new_Graphic3d_FrameStatsData(*args))

    def CounterValue(self, *args) -> "Standard_Size":
        r"""
        Get counter value.

        Parameters
        ----------
        theIndex: Graphic3d_FrameStatsCounter

        Returns
        -------
        Standard_Size

        """
        return _Graphic3d.Graphic3d_FrameStatsData_CounterValue(self, *args)

    def FillMax(self, *args) -> "void":
        r"""
        Fill with maximum values.

        Parameters
        ----------
        theOther: Graphic3d_FrameStatsData

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_FrameStatsData_FillMax(self, *args)

    def FrameRate(self, *args) -> "Standard_Real":
        r"""
        Returns fps (frames per seconds, elapsed time). this number indicates an actual frame rate averaged for several frames within updateinterval() duration, basing on a real elapsed time between updates.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_FrameStatsData_FrameRate(self, *args)

    def FrameRateCpu(self, *args) -> "Standard_Real":
        r"""
        Returns cpu fps (frames per seconds, cpu time). this number indicates a predicted frame rate, basing on cpu elapsed time between updates and not real elapsed time (which might include periods of cpu inactivity). number is expected to be greater then actual frame rate returned by framerate(). values significantly greater actual frame rate indicate that rendering is limited by gpu performance (cpu is stalled in-between), while values around actual frame rate indicate rendering being limited by cpu performance (gpu is stalled in-between).

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_FrameStatsData_FrameRateCpu(self, *args)

    def ImmediateFrameRate(self, *args) -> "Standard_Real":
        r"""
        Returns fps for immediate redraws.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_FrameStatsData_ImmediateFrameRate(self, *args)

    def ImmediateFrameRateCpu(self, *args) -> "Standard_Real":
        r"""
        Returns cpu fps for immediate redraws.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_FrameStatsData_ImmediateFrameRateCpu(self, *args)

    def Reset(self, *args) -> "void":
        r"""
        Reset data.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_FrameStatsData_Reset(self, *args)

    def TimerValue(self, *args) -> "Standard_Real":
        r"""
        Get timer value.

        Parameters
        ----------
        theIndex: Graphic3d_FrameStatsTimer

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_FrameStatsData_TimerValue(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_FrameStatsData

# Register Graphic3d_FrameStatsData in _Graphic3d:
_Graphic3d.Graphic3d_FrameStatsData_swigregister(Graphic3d_FrameStatsData)

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

    def __init__(self, *args):
        r"""
        Creates uninitialized fresnel factor.

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_Fresnel_swiginit(self, _Graphic3d.new_Graphic3d_Fresnel(*args))

    @staticmethod
    def CreateConductor(*args) -> "Graphic3d_Fresnel":
        r"""
        Creates fresnel factor for physical-based conductor model.

        Parameters
        ----------
        theRefractionIndex: Standard_ShortReal
        theAbsorptionIndex: Standard_ShortReal

        Returns
        -------
        Graphic3d_Fresnel
        Creates fresnel factor for physical-based conductor model (spectral version).

        Parameters
        ----------
        theRefractionIndex: Graphic3d_Vec3
        theAbsorptionIndex: Graphic3d_Vec3

        Returns
        -------
        Graphic3d_Fresnel

        """
        return _Graphic3d.Graphic3d_Fresnel_CreateConductor(*args)

    @staticmethod
    def CreateConstant(*args) -> "Graphic3d_Fresnel":
        r"""
        Creates fresnel factor for constant reflection.

        Parameters
        ----------
        theReflection: Standard_ShortReal

        Returns
        -------
        Graphic3d_Fresnel

        """
        return _Graphic3d.Graphic3d_Fresnel_CreateConstant(*args)

    @staticmethod
    def CreateDielectric(*args) -> "Graphic3d_Fresnel":
        r"""
        Creates fresnel factor for physical-based dielectric model.

        Parameters
        ----------
        theRefractionIndex: Standard_ShortReal

        Returns
        -------
        Graphic3d_Fresnel

        """
        return _Graphic3d.Graphic3d_Fresnel_CreateDielectric(*args)

    @staticmethod
    def CreateSchlick(*args) -> "Graphic3d_Fresnel":
        r"""
        Creates schlick's approximation of fresnel factor.

        Parameters
        ----------
        theSpecularColor: Graphic3d_Vec3

        Returns
        -------
        Graphic3d_Fresnel

        """
        return _Graphic3d.Graphic3d_Fresnel_CreateSchlick(*args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_Fresnel self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_Fresnel_DumpJsonToString(self, depth)

    def FresnelType(self, *args) -> "Graphic3d_FresnelModel":
        r"""
        Returns type of fresnel.

        Returns
        -------
        Graphic3d_FresnelModel

        """
        return _Graphic3d.Graphic3d_Fresnel_FresnelType(self, *args)

    def Serialize(self, *args) -> "Graphic3d_Vec4":
        r"""
        Returns serialized representation of fresnel factor.

        Returns
        -------
        Graphic3d_Vec4

        """
        return _Graphic3d.Graphic3d_Fresnel_Serialize(self, *args)

    def __eq_wrapper__(self, other: "Graphic3d_Fresnel") -> "bool":
        r"""__eq_wrapper__(Graphic3d_Fresnel self, Graphic3d_Fresnel other) -> bool"""
        return _Graphic3d.Graphic3d_Fresnel___eq_wrapper__(self, other)

    def __eq__(self, right):
        try:
            return self.__eq_wrapper__(right)
        except:
            return False


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Fresnel

# Register Graphic3d_Fresnel in _Graphic3d:
_Graphic3d.Graphic3d_Fresnel_swigregister(Graphic3d_Fresnel)

def Graphic3d_Fresnel_CreateConductor(*args) -> "Graphic3d_Fresnel":
    r"""
    Creates fresnel factor for physical-based conductor model.

    Parameters
    ----------
    theRefractionIndex: Standard_ShortReal
    theAbsorptionIndex: Standard_ShortReal

    Returns
    -------
    Graphic3d_Fresnel
    Creates fresnel factor for physical-based conductor model (spectral version).

    Parameters
    ----------
    theRefractionIndex: Graphic3d_Vec3
    theAbsorptionIndex: Graphic3d_Vec3

    Returns
    -------
    Graphic3d_Fresnel

    """
    return _Graphic3d.Graphic3d_Fresnel_CreateConductor(*args)

def Graphic3d_Fresnel_CreateConstant(*args) -> "Graphic3d_Fresnel":
    r"""
    Creates fresnel factor for constant reflection.

    Parameters
    ----------
    theReflection: Standard_ShortReal

    Returns
    -------
    Graphic3d_Fresnel

    """
    return _Graphic3d.Graphic3d_Fresnel_CreateConstant(*args)

def Graphic3d_Fresnel_CreateDielectric(*args) -> "Graphic3d_Fresnel":
    r"""
    Creates fresnel factor for physical-based dielectric model.

    Parameters
    ----------
    theRefractionIndex: Standard_ShortReal

    Returns
    -------
    Graphic3d_Fresnel

    """
    return _Graphic3d.Graphic3d_Fresnel_CreateDielectric(*args)

def Graphic3d_Fresnel_CreateSchlick(*args) -> "Graphic3d_Fresnel":
    r"""
    Creates schlick's approximation of fresnel factor.

    Parameters
    ----------
    theSpecularColor: Graphic3d_Vec3

    Returns
    -------
    Graphic3d_Fresnel

    """
    return _Graphic3d.Graphic3d_Fresnel_CreateSchlick(*args)

class Graphic3d_GraduatedTrihedron(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    PtrView = property(_Graphic3d.Graphic3d_GraduatedTrihedron_PtrView_get, _Graphic3d.Graphic3d_GraduatedTrihedron_PtrView_set)

    def __init__(self, *args):
        r"""
        Default constructor constructs the default graduated trihedron with grid, x, y, z axes, and tickmarks.

        Parameters
        ----------
        theNamesFont: TCollection_AsciiString,optional
        	default value is 'Arial'
        theNamesStyle: Font_FontAspect,optional
        	default value is Font_FA_Bold
        theNamesSize: int,optional
        	default value is 12
        theValuesFont: TCollection_AsciiString,optional
        	default value is 'Arial'
        theValuesStyle: Font_FontAspect,optional
        	default value is Font_FA_Regular
        theValuesSize: int,optional
        	default value is 12
        theArrowsLength: Standard_ShortReal,optional
        	default value is 30.0f
        theGridColor: Quantity_Color,optional
        	default value is Quantity_NOC_WHITE
        theToDrawGrid: bool,optional
        	default value is Standard_True
        theToDrawAxes: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_GraduatedTrihedron_swiginit(self, _Graphic3d.new_Graphic3d_GraduatedTrihedron(*args))

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

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_ArrowsLength(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Returns
        -------
        Graphic3d_AxisAspect

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_AxisAspect(self, *args)

    def ChangeAxisAspect(self, *args) -> "Graphic3d_AxisAspect &":
        r"""
        No available documentation.

        Parameters
        ----------
        theIndex: int

        Returns
        -------
        Graphic3d_AxisAspect

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_ChangeAxisAspect(self, *args)

    def ChangeXAxisAspect(self, *args) -> "Graphic3d_AxisAspect &":
        r"""
        No available documentation.

        Returns
        -------
        Graphic3d_AxisAspect

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_ChangeXAxisAspect(self, *args)

    def ChangeYAxisAspect(self, *args) -> "Graphic3d_AxisAspect &":
        r"""
        No available documentation.

        Returns
        -------
        Graphic3d_AxisAspect

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_ChangeYAxisAspect(self, *args)

    def ChangeZAxisAspect(self, *args) -> "Graphic3d_AxisAspect &":
        r"""
        No available documentation.

        Returns
        -------
        Graphic3d_AxisAspect

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_ChangeZAxisAspect(self, *args)

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

        Returns
        -------
        Quantity_Color

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_GridColor(self, *args)

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

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_NamesFont(self, *args)

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

        Returns
        -------
        Font_FontAspect

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_NamesFontAspect(self, *args)

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

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_NamesSize(self, *args)

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

        Parameters
        ----------
        theValue: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_SetArrowsLength(self, *args)

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

        Parameters
        ----------
        theToDraw: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_SetDrawAxes(self, *args)

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

        Parameters
        ----------
        theToDraw: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_SetDrawGrid(self, *args)

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

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

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_SetGridColor(self, *args)

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

        Parameters
        ----------
        theFont: TCollection_AsciiString

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_SetNamesFont(self, *args)

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

        Parameters
        ----------
        theAspect: Font_FontAspect

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_SetNamesFontAspect(self, *args)

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

        Parameters
        ----------
        theValue: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_SetNamesSize(self, *args)

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

        Parameters
        ----------
        theFont: TCollection_AsciiString

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_SetValuesFont(self, *args)

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

        Parameters
        ----------
        theAspect: Font_FontAspect

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_SetValuesFontAspect(self, *args)

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

        Parameters
        ----------
        theValue: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_SetValuesSize(self, *args)

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

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_ToDrawAxes(self, *args)

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

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_ToDrawGrid(self, *args)

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

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_ValuesFont(self, *args)

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

        Returns
        -------
        Font_FontAspect

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_ValuesFontAspect(self, *args)

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

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_ValuesSize(self, *args)

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

        Returns
        -------
        Graphic3d_AxisAspect

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_XAxisAspect(self, *args)

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

        Returns
        -------
        Graphic3d_AxisAspect

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_YAxisAspect(self, *args)

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

        Returns
        -------
        Graphic3d_AxisAspect

        """
        return _Graphic3d.Graphic3d_GraduatedTrihedron_ZAxisAspect(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_GraduatedTrihedron

# Register Graphic3d_GraduatedTrihedron in _Graphic3d:
_Graphic3d.Graphic3d_GraduatedTrihedron_swigregister(Graphic3d_GraduatedTrihedron)

class Graphic3d_GraphicDriver(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 CreateStructure(self, *args) -> "opencascade::handle< Graphic3d_CStructure >":
        r"""
        Creates new empty graphic structure.

        Parameters
        ----------
        theManager: Graphic3d_StructureManager

        Returns
        -------
        opencascade::handle<Graphic3d_CStructure>

        """
        return _Graphic3d.Graphic3d_GraphicDriver_CreateStructure(self, *args)

    def CreateView(self, *args) -> "opencascade::handle< Graphic3d_CView >":
        r"""
        Creates new view for this graphic driver.

        Parameters
        ----------
        theMgr: Graphic3d_StructureManager

        Returns
        -------
        opencascade::handle<Graphic3d_CView>

        """
        return _Graphic3d.Graphic3d_GraphicDriver_CreateView(self, *args)

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

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_GraphicDriver_DefaultTextHeight(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_GraphicDriver self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_GraphicDriver_DumpJsonToString(self, depth)

    def EnableVBO(self, *args) -> "void":
        r"""
        Enables/disables usage of opengl vertex buffer arrays while drawing primitiev arrays.

        Parameters
        ----------
        status: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraphicDriver_EnableVBO(self, *args)

    def GetDisplayConnection(self, *args) -> "opencascade::handle< Aspect_DisplayConnection > const &":
        r"""
        Returns handle to display connection.

        Returns
        -------
        opencascade::handle<Aspect_DisplayConnection>

        """
        return _Graphic3d.Graphic3d_GraphicDriver_GetDisplayConnection(self, *args)

    def InquireLightLimit(self, *args) -> "Standard_Integer":
        r"""
        Request maximum number of active light sources supported by driver and hardware.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_GraphicDriver_InquireLightLimit(self, *args)

    def InquireLimit(self, *args) -> "Standard_Integer":
        r"""
        Request limit of graphic resource of specific type.

        Parameters
        ----------
        theType: Graphic3d_TypeOfLimit

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_GraphicDriver_InquireLimit(self, *args)

    def InquirePlaneLimit(self, *args) -> "Standard_Integer":
        r"""
        Request maximum number of active clipping planes supported by driver and hardware.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_GraphicDriver_InquirePlaneLimit(self, *args)

    def InquireViewLimit(self, *args) -> "Standard_Integer":
        r"""
        Request maximum number of views supported by driver.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_GraphicDriver_InquireViewLimit(self, *args)

    def InsertLayerAfter(self, *args) -> "void":
        r"""
        Adds a layer to all views. @param thenewlayerid [in] id of new layer, should be > 0 (negative values are reserved for default layers). @param thesettings [in] new layer settings @param thelayerbefore [in] id of layer to append new layer after.

        Parameters
        ----------
        theNewLayerId: int
        theSettings: Graphic3d_ZLayerSettings
        theLayerBefore: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraphicDriver_InsertLayerAfter(self, *args)

    def InsertLayerBefore(self, *args) -> "void":
        r"""
        Adds a layer to all views. to add a structure to desired layer on display it is necessary to set the layer id for the structure. @param thenewlayerid [in] id of new layer, should be > 0 (negative values are reserved for default layers). @param thesettings [in] new layer settings @param thelayerafter [in] id of layer to append new layer before.

        Parameters
        ----------
        theNewLayerId: int
        theSettings: Graphic3d_ZLayerSettings
        theLayerAfter: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraphicDriver_InsertLayerBefore(self, *args)

    def MemoryInfo(self, *args) -> "Standard_Boolean":
        r"""
        Returns information about gpu memory usage.

        Parameters
        ----------
        theFreeBytes: Standard_Size
        theInfo: TCollection_AsciiString

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_GraphicDriver_MemoryInfo(self, *args)

    def NewIdentification(self, *args) -> "Standard_Integer":
        r"""
        Returns a new identification number for a new structure.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_GraphicDriver_NewIdentification(self, *args)

    def RemoveIdentification(self, *args) -> "void":
        r"""
        Frees the identifier of a structure.

        Parameters
        ----------
        theId: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraphicDriver_RemoveIdentification(self, *args)

    def RemoveStructure(self, *args) -> "void":
        r"""
        Removes structure from graphic driver and releases its resources.

        Parameters
        ----------
        theCStructure: Graphic3d_CStructure

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraphicDriver_RemoveStructure(self, *args)

    def RemoveView(self, *args) -> "void":
        r"""
        Removes view from graphic driver and releases its resources.

        Parameters
        ----------
        theView: Graphic3d_CView

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraphicDriver_RemoveView(self, *args)

    def RemoveZLayer(self, *args) -> "void":
        r"""
        Removes z layer. all structures displayed at the moment in layer will be displayed in default layer (the bottom-level z layer). by default, there are always default bottom-level layer that can't be removed. the passed thelayerid should be not less than 0 (reserved for default layers that can not be removed).

        Parameters
        ----------
        theLayerId: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraphicDriver_RemoveZLayer(self, *args)

    def SetZLayerSettings(self, *args) -> "void":
        r"""
        Sets the settings for a single z layer.

        Parameters
        ----------
        theLayerId: int
        theSettings: Graphic3d_ZLayerSettings

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraphicDriver_SetZLayerSettings(self, *args)

    def TextSize(self, *args) -> "void":
        r"""
        Computes text width.

        Parameters
        ----------
        theView: Graphic3d_CView
        theText: char *
        theHeight: Standard_ShortReal
        theWidth: Standard_ShortReal
        theAscent: Standard_ShortReal
        theDescent: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraphicDriver_TextSize(self, *args)

    def ViewExists(self, *args) -> "Standard_Boolean":
        r"""
        Returns view associated with the window if it is exists and is activated. returns standard_true if the view associated to the window exists.

        Parameters
        ----------
        theWindow: Aspect_Window
        theView: Graphic3d_CView

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_GraphicDriver_ViewExists(self, *args)

    def ZLayerSettings(self, *args) -> "Graphic3d_ZLayerSettings const &":
        r"""
        Returns the settings of a single z layer.

        Parameters
        ----------
        theLayerId: int

        Returns
        -------
        Graphic3d_ZLayerSettings

        """
        return _Graphic3d.Graphic3d_GraphicDriver_ZLayerSettings(self, *args)

    def ZLayers(self, *args) -> "void":
        r"""
        Returns list of z layers defined for the graphical driver.

        Parameters
        ----------
        theLayerSeq: TColStd_SequenceOfInteger

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_GraphicDriver_ZLayers(self, *args)


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


    __repr__ = _dumps_object

    @methodnotwrapped
    def Print(self):
    	pass

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_GraphicDriver

# Register Graphic3d_GraphicDriver in _Graphic3d:
_Graphic3d.Graphic3d_GraphicDriver_swigregister(Graphic3d_GraphicDriver)

class Graphic3d_Group(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 AddPrimitiveArray(self, *args) -> "void":
        r"""
        Adds an array of primitives for display.

        Parameters
        ----------
        theType: Graphic3d_TypeOfPrimitiveArray
        theIndices: Graphic3d_IndexBuffer
        theAttribs: Graphic3d_Buffer
        theBounds: Graphic3d_BoundBuffer
        theToEvalMinMax: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        Adds an array of primitives for display.

        Parameters
        ----------
        thePrim: Graphic3d_ArrayOfPrimitives
        theToEvalMinMax: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Group_AddPrimitiveArray(self, *args)

    def AddText(self, *args) -> "void":
        r"""
        Adds a text for display.

        Parameters
        ----------
        theTextParams: Graphic3d_Text
        theToEvalMinMax: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Group_AddText(self, *args)

    def Aspects(self, *args) -> "opencascade::handle< Graphic3d_Aspects >":
        r"""
        Return fill area aspect.

        Returns
        -------
        opencascade::handle<Graphic3d_Aspects>

        """
        return _Graphic3d.Graphic3d_Group_Aspects(self, *args)

    def BoundingBox(self, *args) -> "Graphic3d_BndBox4f const &":
        r"""
        Returns boundary box of the group <self> without transformation applied,.

        Returns
        -------
        Graphic3d_BndBox4f

        """
        return _Graphic3d.Graphic3d_Group_BoundingBox(self, *args)

    def ChangeBoundingBox(self, *args) -> "Graphic3d_BndBox4f &":
        r"""
        Returns non-const boundary box of the group <self> without transformation applied,.

        Returns
        -------
        Graphic3d_BndBox4f

        """
        return _Graphic3d.Graphic3d_Group_ChangeBoundingBox(self, *args)

    def Clear(self, *args) -> "void":
        r"""
        Supress all primitives and attributes of <self>. to clear group without update in graphic3d_structuremanager pass standard_false as <theupdatestructuremgr>. this used on context and viewer destruction, when the pointer to structure manager in graphic3d_structure could be already released (pointers are used here to avoid handle cross-reference);.

        Parameters
        ----------
        theUpdateStructureMgr: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Group_Clear(self, *args)

    def ContainsFacet(self, *args) -> "bool":
        r"""
        Returns true if the group contains polygons, triangles or quadrangles.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Group_ContainsFacet(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_Group self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_Group_DumpJsonToString(self, depth)

    def IsClosed(self, *args) -> "bool":
        r"""
        Return true if primitive arrays within this graphic group form closed volume (do no contain open shells).

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Group_IsClosed(self, *args)

    def IsDeleted(self, *args) -> "Standard_Boolean":
        r"""
        Returns standard_true if the group <self> is deleted. <self> is deleted after the call remove (me) or the associated structure is deleted.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Group_IsDeleted(self, *args)

    def IsEmpty(self, *args) -> "Standard_Boolean":
        r"""
        Returns standard_true if the group <self> is empty.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Group_IsEmpty(self, *args)

    def Marker(self, *args) -> "void":
        r"""
        Creates a primitive array with single marker using addprimitivearray().

        Parameters
        ----------
        thePoint: Graphic3d_Vertex
        theToEvalMinMax: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Group_Marker(self, *args)

    def MinMaxValues(self, *args) -> "void":
        r"""
        Returns the coordinates of the boundary box of the group.

        Parameters
        ----------

        Returns
        -------
        theXMin: float
        theYMin: float
        theZMin: float
        theXMax: float
        theYMax: float
        theZMax: float

        """
        return _Graphic3d.Graphic3d_Group_MinMaxValues(self, *args)

    def Remove(self, *args) -> "void":
        r"""
        Supress the group <self> in the structure. warning: no more graphic operations in <self> after this call. modifies the current modelling transform persistence (pan, zoom or rotate) get the current modelling transform persistence (pan, zoom or rotate).

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Group_Remove(self, *args)

    def ReplaceAspects(self, *args) -> "void":
        r"""
        Replace aspects specified in the replacement map.

        Parameters
        ----------
        theMap: Graphic3d_MapOfAspectsToAspects

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Group_ReplaceAspects(self, *args)

    def SetClosed(self, *args) -> "void":
        r"""
        Changes property shown that primitive arrays within this group form closed volume (do no contain open shells).

        Parameters
        ----------
        theIsClosed: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Group_SetClosed(self, *args)

    def SetFlippingOptions(self, *args) -> "void":
        r"""
        Sets the flipping to theisenabled state.

        Parameters
        ----------
        theIsEnabled: bool
        theRefPlane: gp_Ax2

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Group_SetFlippingOptions(self, *args)

    def SetMinMaxValues(self, *args) -> "void":
        r"""
        Sets the coordinates of the boundary box of the group.

        Parameters
        ----------
        theXMin: float
        theYMin: float
        theZMin: float
        theXMax: float
        theYMax: float
        theZMax: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Group_SetMinMaxValues(self, *args)

    def SetPrimitivesAspect(self, *args) -> "void":
        r"""
        Modifies the current context of the group to give another aspect for all the primitives created after this call in the group.

        Parameters
        ----------
        theAspect: Graphic3d_Aspects

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Group_SetPrimitivesAspect(self, *args)

    def SetStencilTestOptions(self, *args) -> "void":
        r"""
        Sets the stencil test to theisenabled state;.

        Parameters
        ----------
        theIsEnabled: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Group_SetStencilTestOptions(self, *args)

    def Structure(self, *args) -> "opencascade::handle< Graphic3d_Structure >":
        r"""
        Returns the structure containing the group <self>.

        Returns
        -------
        opencascade::handle<Graphic3d_Structure>

        """
        return _Graphic3d.Graphic3d_Group_Structure(self, *args)

    def SynchronizeAspects(self, *args) -> "void":
        r"""
        Update presentation aspects after their modification.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Group_SynchronizeAspects(self, *args)

    def Text(self, *args) -> "void":
        r"""
        Creates the string <atext> at position <apoint>. the 3d point of attachment is projected. the text is written in the plane of projection. the attributes are given with respect to the plane of projection. aheight : height of text. (relative to the normalized projection coordinates (npc) space). aangle : orientation of the text (with respect to the horizontal).

        Parameters
        ----------
        AText: char *
        APoint: Graphic3d_Vertex
        AHeight: float
        AAngle: float
        ATp: Graphic3d_TextPath
        AHta: Graphic3d_HorizontalTextAlignment
        AVta: Graphic3d_VerticalTextAlignment
        EvalMinMax: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        Creates the string <atext> at position <apoint>. the 3d point of attachment is projected. the text is written in the plane of projection. the attributes are given with respect to the plane of projection. aheight : height of text. (relative to the normalized projection coordinates (npc) space). the other attributes have the following default values: aangle : pi / 2. atp : tp_right ahta : hta_left avta : vta_bottom.

        Parameters
        ----------
        AText: char *
        APoint: Graphic3d_Vertex
        AHeight: float
        EvalMinMax: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        Creates the string <atext> at position <apoint>. the 3d point of attachment is projected. the text is written in the plane of projection. the attributes are given with respect to the plane of projection. aheight : height of text. (relative to the normalized projection coordinates (npc) space). aangle : orientation of the text (with respect to the horizontal).

        Parameters
        ----------
        AText: TCollection_ExtendedString
        APoint: Graphic3d_Vertex
        AHeight: float
        AAngle: float
        ATp: Graphic3d_TextPath
        AHta: Graphic3d_HorizontalTextAlignment
        AVta: Graphic3d_VerticalTextAlignment
        EvalMinMax: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        Creates the string <atext> at position <apoint>. the 3d point of attachment is projected. the text is written in the plane of projection. the attributes are given with respect to the plane of projection. aheight : height of text. (relative to the normalized projection coordinates (npc) space). the other attributes have the following default values: aangle : pi / 2. atp : tp_right ahta : hta_left avta : vta_bottom.

        Parameters
        ----------
        AText: TCollection_ExtendedString
        APoint: Graphic3d_Vertex
        AHeight: float
        EvalMinMax: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        Creates the string <thetext> at orientation <theorientation> in 3d space.

        Parameters
        ----------
        theTextUtf: char *
        theOrientation: gp_Ax2
        theHeight: float
        theAngle: float
        theTp: Graphic3d_TextPath
        theHTA: Graphic3d_HorizontalTextAlignment
        theVTA: Graphic3d_VerticalTextAlignment
        theToEvalMinMax: bool,optional
        	default value is Standard_True
        theHasOwnAnchor: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        Creates the string <thetext> at orientation <theorientation> in 3d space.

        Parameters
        ----------
        theText: TCollection_ExtendedString
        theOrientation: gp_Ax2
        theHeight: float
        theAngle: float
        theTp: Graphic3d_TextPath
        theHTA: Graphic3d_HorizontalTextAlignment
        theVTA: Graphic3d_VerticalTextAlignment
        theToEvalMinMax: bool,optional
        	default value is Standard_True
        theHasOwnAnchor: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Group_Text(self, *args)


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


    __repr__ = _dumps_object

    @methodnotwrapped
    def SetGroupPrimitivesAspect(self):
    	pass

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Group

# Register Graphic3d_Group in _Graphic3d:
_Graphic3d.Graphic3d_Group_swigregister(Graphic3d_Group)

class Graphic3d_HatchStyle(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"""
        Creates a new custom hatch style with the given pattern and unique style id @warning raises a program error if given pattern image is not a valid 32*32 bitmap.

        Parameters
        ----------
        thePattern: Image_PixMap

        Returns
        -------
        None
        Creates a new predefined hatch style with the given id in aspect_hatchstyle enum. gpu memory for the pattern will not be allocated.

        Parameters
        ----------
        theType: Aspect_HatchStyle

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_HatchStyle_swiginit(self, _Graphic3d.new_Graphic3d_HatchStyle(*args))

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_HatchStyle self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_HatchStyle_DumpJsonToString(self, depth)

    def HatchType(self, *args) -> "Standard_Integer":
        r"""
        In case if predefined occt style is used, returns index in aspect_hatchstyle enumeration. if the style is custom, returns unique index of the style.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_HatchStyle_HatchType(self, *args)

    def Pattern(self, *args) -> "Standard_Byte const *":
        r"""
        Returns the pattern of custom hatch style.

        Returns
        -------
        Standard_Byte *

        """
        return _Graphic3d.Graphic3d_HatchStyle_Pattern(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_HatchStyle

# Register Graphic3d_HatchStyle in _Graphic3d:
_Graphic3d.Graphic3d_HatchStyle_swigregister(Graphic3d_HatchStyle)

class Graphic3d_Layer(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 Add(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        theStruct: Graphic3d_CStructure *
        thePriority: int
        isForChangePriority: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Layer_Add(self, *args)

    def Append(self, *args) -> "Standard_Boolean":
        r"""
        Append layer of acceptable type (with similar number of priorities or less). returns standard_false if the list can not be accepted.

        Parameters
        ----------
        theOther: Graphic3d_Layer

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Layer_Append(self, *args)

    def ArrayOfStructures(self, *args) -> "Graphic3d_ArrayOfIndexedMapOfStructure const &":
        r"""
        Returns array of structures.

        Returns
        -------
        Graphic3d_ArrayOfIndexedMapOfStructure

        """
        return _Graphic3d.Graphic3d_Layer_ArrayOfStructures(self, *args)

    def BoundingBox(self, *args) -> "Bnd_Box":
        r"""
        Returns layer bounding box. @param theviewid view index to consider view affinity in structure @param thecamera camera definition @param thewindowwidth viewport width (for applying transformation-persistence) @param thewindowheight viewport height (for applying transformation-persistence) @param thetoincludeauxiliary consider also auxiliary presentations (with infinite flag or with trihedron transformation persistence) returns computed bounding box.

        Parameters
        ----------
        theViewId: int
        theCamera: Graphic3d_Camera
        theWindowWidth: int
        theWindowHeight: int
        theToIncludeAuxiliary: bool

        Returns
        -------
        Bnd_Box

        """
        return _Graphic3d.Graphic3d_Layer_BoundingBox(self, *args)

    def CullableStructuresBVH(self, *args) -> "Graphic3d_BvhCStructureSet const &":
        r"""
        Returns set of graphic3d_cstructures structures for building bvh tree.

        Returns
        -------
        Graphic3d_BvhCStructureSet

        """
        return _Graphic3d.Graphic3d_Layer_CullableStructuresBVH(self, *args)

    def CullableTrsfPersStructuresBVH(self, *args) -> "Graphic3d_BvhCStructureSetTrsfPers const &":
        r"""
        Returns set of transform persistent graphic3d_cstructures for building bvh tree.

        Returns
        -------
        Graphic3d_BvhCStructureSetTrsfPers

        """
        return _Graphic3d.Graphic3d_Layer_CullableTrsfPersStructuresBVH(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_Layer self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_Layer_DumpJsonToString(self, depth)

    def InvalidateBVHData(self, *args) -> "void":
        r"""
        Marks bvh tree for given priority list as dirty and marks primitive set for rebuild.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Layer_InvalidateBVHData(self, *args)

    def InvalidateBoundingBox(self, *args) -> "void":
        r"""
        Marks cached bounding box as obsolete.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Layer_InvalidateBoundingBox(self, *args)

    def IsCulled(self, *args) -> "bool":
        r"""
        Returns true if layer is empty or has been discarded entirely by culling test.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Layer_IsCulled(self, *args)

    def IsImmediate(self, *args) -> "Standard_Boolean":
        r"""
        Return true if layer was marked with immediate flag.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Layer_IsImmediate(self, *args)

    def LayerId(self, *args) -> "Graphic3d_ZLayerId":
        r"""
        Return layer id.

        Returns
        -------
        Graphic3d_ZLayerId

        """
        return _Graphic3d.Graphic3d_Layer_LayerId(self, *args)

    def LayerSettings(self, *args) -> "Graphic3d_ZLayerSettings const &":
        r"""
        Returns settings of the layer object.

        Returns
        -------
        Graphic3d_ZLayerSettings

        """
        return _Graphic3d.Graphic3d_Layer_LayerSettings(self, *args)

    def NbOfTransformPersistenceObjects(self, *args) -> "Standard_Integer":
        r"""
        Returns number of transform persistence objects.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_Layer_NbOfTransformPersistenceObjects(self, *args)

    def NbPriorities(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of available priority levels.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_Layer_NbPriorities(self, *args)

    def NbStructures(self, *args) -> "Standard_Integer":
        r"""
        Returns the number of structures.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_Layer_NbStructures(self, *args)

    def NbStructuresNotCulled(self, *args) -> "Standard_Integer":
        r"""
        Number of not culled structures in the layer.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_Layer_NbStructuresNotCulled(self, *args)

    def NonCullableStructures(self, *args) -> "NCollection_IndexedMap< Graphic3d_CStructure const * > const &":
        r"""
        Returns indexed map of always rendered structures.

        Returns
        -------
        NCollection_IndexedMap< Graphic3d_CStructure *>

        """
        return _Graphic3d.Graphic3d_Layer_NonCullableStructures(self, *args)

    def Remove(self, *args) -> "bool":
        r"""
        Remove structure and returns its priority, if the structure is not found, method returns negative value.

        Parameters
        ----------
        theStruct: Graphic3d_CStructure *
        isForChangePriority: bool,optional
        	default value is Standard_False

        Returns
        -------
        thePriority: int

        """
        return _Graphic3d.Graphic3d_Layer_Remove(self, *args)

    def SetLayerSettings(self, *args) -> "void":
        r"""
        Sets settings of the layer object.

        Parameters
        ----------
        theSettings: Graphic3d_ZLayerSettings

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Layer_SetLayerSettings(self, *args)

    def UpdateCulling(self, *args) -> "void":
        r"""
        Update culling state - should be called before rendering. traverses through bvh tree to determine which structures are in view volume.

        Parameters
        ----------
        theViewId: int
        theSelector: Graphic3d_CullingTool
        theFrustumCullingState: Graphic3d_RenderingParams::FrustumCulling

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Layer_UpdateCulling(self, *args)

    def considerZoomPersistenceObjects(self, *args) -> "Standard_Real":
        r"""
        Returns zoom-scale factor.

        Parameters
        ----------
        theViewId: int
        theCamera: Graphic3d_Camera
        theWindowWidth: int
        theWindowHeight: int

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_Layer_considerZoomPersistenceObjects(self, *args)


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


    __repr__ = _dumps_object

    @methodnotwrapped
    def FrustumCullingBVHBuilder(self):
    	pass

    @methodnotwrapped
    def Graphic3d_Layer(self):
    	pass

    @methodnotwrapped
    def SetFrustumCullingBVHBuilder(self):
    	pass

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Layer

# Register Graphic3d_Layer in _Graphic3d:
_Graphic3d.Graphic3d_Layer_swigregister(Graphic3d_Layer)

class Graphic3d_LightSet(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
    IterationFilter_None = _Graphic3d.Graphic3d_LightSet_IterationFilter_None
    IterationFilter_ExcludeAmbient = _Graphic3d.Graphic3d_LightSet_IterationFilter_ExcludeAmbient
    IterationFilter_ExcludeDisabled = _Graphic3d.Graphic3d_LightSet_IterationFilter_ExcludeDisabled
    IterationFilter_ExcludeDisabledAndAmbient = _Graphic3d.Graphic3d_LightSet_IterationFilter_ExcludeDisabledAndAmbient


    class IterationFilter(IntEnum):
    	IterationFilter_None = 0
    	IterationFilter_ExcludeAmbient = 2
    	IterationFilter_ExcludeDisabled = 4
    	IterationFilter_ExcludeDisabledAndAmbient = IterationFilter_ExcludeAmbient | IterationFilter_ExcludeDisabled
    IterationFilter_None = IterationFilter.IterationFilter_None
    IterationFilter_ExcludeAmbient = IterationFilter.IterationFilter_ExcludeAmbient
    IterationFilter_ExcludeDisabled = IterationFilter.IterationFilter_ExcludeDisabled
    IterationFilter_ExcludeDisabledAndAmbient = IterationFilter.IterationFilter_ExcludeDisabledAndAmbient


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

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_LightSet_swiginit(self, _Graphic3d.new_Graphic3d_LightSet(*args))

    def Add(self, *args) -> "Standard_Boolean":
        r"""
        Append new light source.

        Parameters
        ----------
        theLight: Graphic3d_CLight

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_LightSet_Add(self, *args)

    def AmbientColor(self, *args) -> "Graphic3d_Vec4 const &":
        r"""
        Returns cumulative ambient color, which is computed as sum of all enabled ambient light sources. values are not clamped (can be greater than 1.0f) and alpha component is fixed to 1.0f. @sa updaterevision().

        Returns
        -------
        Graphic3d_Vec4

        """
        return _Graphic3d.Graphic3d_LightSet_AmbientColor(self, *args)

    def Contains(self, *args) -> "Standard_Boolean":
        r"""
        Return true if light source is defined in this set.

        Parameters
        ----------
        theLight: Graphic3d_CLight

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_LightSet_Contains(self, *args)

    def Extent(self, *args) -> "Standard_Integer":
        r"""
        Return number of light sources.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_LightSet_Extent(self, *args)

    def IsEmpty(self, *args) -> "Standard_Boolean":
        r"""
        Return true if lights list is empty.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_LightSet_IsEmpty(self, *args)

    def KeyEnabledLong(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Returns a string defining a list of enabled light sources as concatenation of letters 'd' (directional), 'p' (point), 's' (spot) depending on the type of light source in the list. example: 'dppp'. @sa updaterevision().

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_LightSet_KeyEnabledLong(self, *args)

    def KeyEnabledShort(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Returns a string defining a list of enabled light sources as concatenation of letters 'd' (directional), 'p' (point), 's' (spot) depending on the type of light source in the list, specified only once. example: 'dp'. @sa updaterevision().

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_LightSet_KeyEnabledShort(self, *args)

    def Lower(self, *args) -> "Standard_Integer":
        r"""
        Return lower light index.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_LightSet_Lower(self, *args)

    def NbEnabled(self, *args) -> "Standard_Integer":
        r"""
        Returns total amount of enabled lights excluding ambient. @sa updaterevision().

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_LightSet_NbEnabled(self, *args)

    def NbEnabledLightsOfType(self, *args) -> "Standard_Integer":
        r"""
        Returns total amount of enabled lights of specified type. @sa updaterevision().

        Parameters
        ----------
        theType: Graphic3d_TypeOfLightSource

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_LightSet_NbEnabledLightsOfType(self, *args)

    def NbLightsOfType(self, *args) -> "Standard_Integer":
        r"""
        Returns total amount of lights of specified type.

        Parameters
        ----------
        theType: Graphic3d_TypeOfLightSource

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_LightSet_NbLightsOfType(self, *args)

    def Remove(self, *args) -> "Standard_Boolean":
        r"""
        Remove light source.

        Parameters
        ----------
        theLight: Graphic3d_CLight

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_LightSet_Remove(self, *args)

    def Revision(self, *args) -> "Standard_Size":
        r"""
        Return light sources revision. @sa updaterevision().

        Returns
        -------
        Standard_Size

        """
        return _Graphic3d.Graphic3d_LightSet_Revision(self, *args)

    def UpdateRevision(self, *args) -> "Standard_Size":
        r"""
        Update light sources revision.

        Returns
        -------
        Standard_Size

        """
        return _Graphic3d.Graphic3d_LightSet_UpdateRevision(self, *args)

    def Upper(self, *args) -> "Standard_Integer":
        r"""
        Return upper light index.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_LightSet_Upper(self, *args)

    def Value(self, *args) -> "opencascade::handle< Graphic3d_CLight > const &":
        r"""
        Return the light source for specified index within range [lower(), upper()].

        Parameters
        ----------
        theIndex: int

        Returns
        -------
        opencascade::handle<Graphic3d_CLight>

        """
        return _Graphic3d.Graphic3d_LightSet_Value(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_LightSet

# Register Graphic3d_LightSet in _Graphic3d:
_Graphic3d.Graphic3d_LightSet_swigregister(Graphic3d_LightSet)

class Graphic3d_MarkerImage(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"""
        @param theimage - source image.

        Parameters
        ----------
        theImage: Image_PixMap

        Returns
        -------
        None
        Creates marker image from array of bytes (method for compatibility with old markers definition). @param thebitmap - source bitmap stored as array of bytes @param thewidth - number of bits in a row @param theheight - number of bits in a column.

        Parameters
        ----------
        theBitMap: TColStd_HArray1OfByte
        theWidth: int
        theHeight: int

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_MarkerImage_swiginit(self, _Graphic3d.new_Graphic3d_MarkerImage(*args))

    def GetBitMapArray(self, *args) -> "opencascade::handle< TColStd_HArray1OfByte >":
        r"""
        @param thealphavalue pixels in the image that have alpha value greater than  or equal to this parameter will be stored in bitmap as '1',  others will be stored as '0' returns marker image as array of bytes. if an instance of the class has been initialized with image, it will be converted to bitmap based on the parameter thealphavalue.

        Parameters
        ----------
        theAlphaValue: float,optional
        	default value is 0.5

        Returns
        -------
        opencascade::handle<TColStd_HArray1OfByte>

        """
        return _Graphic3d.Graphic3d_MarkerImage_GetBitMapArray(self, *args)

    def GetImage(self, *args) -> "opencascade::handle< Image_PixMap > const &":
        r"""
        Returns marker image. if an instance of the class has been initialized with a bitmap, it will be converted to image.

        Returns
        -------
        opencascade::handle<Image_PixMap>

        """
        return _Graphic3d.Graphic3d_MarkerImage_GetImage(self, *args)

    def GetImageAlpha(self, *args) -> "opencascade::handle< Image_PixMap > const &":
        r"""
        Returns image alpha as grayscale image. note that if an instance of the class has been initialized with a bitmap or with grayscale image this method will return exactly the same image as getimage().

        Returns
        -------
        opencascade::handle<Image_PixMap>

        """
        return _Graphic3d.Graphic3d_MarkerImage_GetImageAlpha(self, *args)

    def GetImageAlphaId(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Returns an unique id. this id will be used to manage resource in graphic driver.

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_MarkerImage_GetImageAlphaId(self, *args)

    def GetImageId(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Returns an unique id. this id will be used to manage resource in graphic driver.

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_MarkerImage_GetImageId(self, *args)

    def GetTextureSize(self, *args) -> "void":
        r"""
        Returns texture size.

        Parameters
        ----------

        Returns
        -------
        theWidth: int
        theHeight: int

        """
        return _Graphic3d.Graphic3d_MarkerImage_GetTextureSize(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_MarkerImage

# Register Graphic3d_MarkerImage in _Graphic3d:
_Graphic3d.Graphic3d_MarkerImage_swigregister(Graphic3d_MarkerImage)

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

    def __init__(self, *args):
        r"""
        Creates a material from default values.

        Returns
        -------
        None
        Creates a generic material.

        Parameters
        ----------
        theName: Graphic3d_NameOfMaterial

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_MaterialAspect_swiginit(self, _Graphic3d.new_Graphic3d_MaterialAspect(*args))

    def Alpha(self, *args) -> "Standard_ShortReal":
        r"""
        Returns the alpha coefficient of the surface (1.0 - transparency); 1.0 means opaque.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_MaterialAspect_Alpha(self, *args)

    def AmbientColor(self, *args) -> "Quantity_Color const &":
        r"""
        Returns the ambient color of the surface.

        Returns
        -------
        Quantity_Color

        """
        return _Graphic3d.Graphic3d_MaterialAspect_AmbientColor(self, *args)

    def BSDF(self, *args) -> "Graphic3d_BSDF const &":
        r"""
        Returns bsdf (bidirectional scattering distribution function).

        Returns
        -------
        Graphic3d_BSDF

        """
        return _Graphic3d.Graphic3d_MaterialAspect_BSDF(self, *args)

    def Color(self, *args) -> "Quantity_Color const &":
        r"""
        Returns the diffuse color of the surface. warning! this method does not return color for graphic3d_material_aspect material (color is defined by graphic3d_aspects::interiorcolor()).

        Returns
        -------
        Quantity_Color

        """
        return _Graphic3d.Graphic3d_MaterialAspect_Color(self, *args)

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

        Returns
        -------
        Quantity_Color

        """
        return _Graphic3d.Graphic3d_MaterialAspect_DiffuseColor(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_MaterialAspect self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_MaterialAspect_DumpJsonToString(self, depth)

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

        Returns
        -------
        Quantity_Color

        """
        return _Graphic3d.Graphic3d_MaterialAspect_EmissiveColor(self, *args)

    def IncreaseShine(self, *args) -> "void":
        r"""
        Increases or decreases the luminosity. @param thedelta a signed percentage.

        Parameters
        ----------
        theDelta: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MaterialAspect_IncreaseShine(self, *args)

    def IsDifferent(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if this material differs from specified one.

        Parameters
        ----------
        theOther: Graphic3d_MaterialAspect

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_MaterialAspect_IsDifferent(self, *args)

    def IsEqual(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if this material is identical to specified one.

        Parameters
        ----------
        theOther: Graphic3d_MaterialAspect

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_MaterialAspect_IsEqual(self, *args)

    @staticmethod
    def MaterialFromName(*args) -> "Graphic3d_NameOfMaterial":
        r"""
        Finds the material for specified name. @param thename [in] name to find @param themat [out] found material returns false if name was unrecognized.

        Parameters
        ----------
        theName: char *
        theMat: Graphic3d_NameOfMaterial

        Returns
        -------
        bool
        Returns the material for specified name or graphic3d_nameofmaterial_default if name is unknown.

        Parameters
        ----------
        theName: char *

        Returns
        -------
        Graphic3d_NameOfMaterial

        """
        return _Graphic3d.Graphic3d_MaterialAspect_MaterialFromName(*args)

    def MaterialName(self, *args) -> "char const *":
        r"""
        Returns the name of the predefined material of specified rank within range [1, numberofmaterials()].

        Parameters
        ----------
        theRank: int

        Returns
        -------
        char *
        Returns the given name of this material. this might be:.

        Returns
        -------
        char *

        """
        return _Graphic3d.Graphic3d_MaterialAspect_MaterialName(self, *args)

    def MaterialType(self, *args) -> "Standard_Boolean":
        r"""
        Returns the type of the predefined material of specified rank within range [1, numberofmaterials()].

        Parameters
        ----------
        theRank: int

        Returns
        -------
        Graphic3d_TypeOfMaterial
        Returns material type.

        Returns
        -------
        Graphic3d_TypeOfMaterial
        Returns true if type of this material is equal to specified type.

        Parameters
        ----------
        theType: Graphic3d_TypeOfMaterial

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_MaterialAspect_MaterialType(self, *args)

    def Name(self, *args) -> "Graphic3d_NameOfMaterial":
        r"""
        Returns the material name (within predefined enumeration).

        Returns
        -------
        Graphic3d_NameOfMaterial

        """
        return _Graphic3d.Graphic3d_MaterialAspect_Name(self, *args)

    @staticmethod
    def NumberOfMaterials(*args) -> "Standard_Integer":
        r"""
        Returns the number of predefined textures.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_MaterialAspect_NumberOfMaterials(*args)

    def PBRMaterial(self, *args) -> "Graphic3d_PBRMaterial const &":
        r"""
        Returns physically based representation of material.

        Returns
        -------
        Graphic3d_PBRMaterial

        """
        return _Graphic3d.Graphic3d_MaterialAspect_PBRMaterial(self, *args)

    def ReflectionMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the reflection mode is active, false otherwise.

        Parameters
        ----------
        theType: Graphic3d_TypeOfReflection

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_MaterialAspect_ReflectionMode(self, *args)

    def RefractionIndex(self, *args) -> "Standard_ShortReal":
        r"""
        Returns the refraction index of the material.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_MaterialAspect_RefractionIndex(self, *args)

    def RequestedName(self, *args) -> "Graphic3d_NameOfMaterial":
        r"""
        Returns the material name within predefined enumeration which has been requested (before modifications).

        Returns
        -------
        Graphic3d_NameOfMaterial

        """
        return _Graphic3d.Graphic3d_MaterialAspect_RequestedName(self, *args)

    def Reset(self, *args) -> "void":
        r"""
        Resets the material with the original values according to the material name but leave the current color values untouched for the material of type aspect.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MaterialAspect_Reset(self, *args)

    def SetAlpha(self, *args) -> "void":
        r"""
        Modifies the alpha coefficient of the surface, where 1.0 is opaque and 0.0 is fully transparent.

        Parameters
        ----------
        theValue: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MaterialAspect_SetAlpha(self, *args)

    def SetAmbientColor(self, *args) -> "void":
        r"""
        Modifies the ambient color of the surface.

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

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MaterialAspect_SetAmbientColor(self, *args)

    def SetBSDF(self, *args) -> "void":
        r"""
        Modifies the bsdf (bidirectional scattering distribution function).

        Parameters
        ----------
        theBSDF: Graphic3d_BSDF

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MaterialAspect_SetBSDF(self, *args)

    def SetColor(self, *args) -> "void":
        r"""
        Modifies the ambient and diffuse color of the surface. warning! has no effect for graphic3d_material_aspect material (color should be set to graphic3d_aspects::setinteriorcolor()).

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

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MaterialAspect_SetColor(self, *args)

    def SetDiffuseColor(self, *args) -> "void":
        r"""
        Modifies the diffuse color of the surface.

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

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MaterialAspect_SetDiffuseColor(self, *args)

    def SetEmissiveColor(self, *args) -> "void":
        r"""
        Modifies the emissive color of the surface.

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

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MaterialAspect_SetEmissiveColor(self, *args)

    def SetMaterialName(self, *args) -> "void":
        r"""
        The current material become a 'userdefined' material. set the name of the 'userdefined' material.

        Parameters
        ----------
        theName: TCollection_AsciiString

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MaterialAspect_SetMaterialName(self, *args)

    def SetMaterialType(self, *args) -> "void":
        r"""
        Set material type.

        Parameters
        ----------
        theType: Graphic3d_TypeOfMaterial

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MaterialAspect_SetMaterialType(self, *args)

    def SetPBRMaterial(self, *args) -> "void":
        r"""
        Modifies the physically based representation of material.

        Parameters
        ----------
        thePBRMaterial: Graphic3d_PBRMaterial

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MaterialAspect_SetPBRMaterial(self, *args)

    def SetReflectionModeOff(self, *args) -> "void":
        r"""
        Deactivates the reflective properties of the surface with specified reflection type.

        Parameters
        ----------
        theType: Graphic3d_TypeOfReflection

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MaterialAspect_SetReflectionModeOff(self, *args)

    def SetRefractionIndex(self, *args) -> "void":
        r"""
        Modifies the refraction index of the material. warning: raises materialdefinitionerror if given value is a lesser than 1.0.

        Parameters
        ----------
        theValue: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MaterialAspect_SetRefractionIndex(self, *args)

    def SetShininess(self, *args) -> "void":
        r"""
        Modifies the luminosity of the surface. warning: raises materialdefinitionerror if given value is a negative value or greater than 1.0.

        Parameters
        ----------
        theValue: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MaterialAspect_SetShininess(self, *args)

    def SetSpecularColor(self, *args) -> "void":
        r"""
        Modifies the specular color of the surface.

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

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MaterialAspect_SetSpecularColor(self, *args)

    def SetTransparency(self, *args) -> "void":
        r"""
        Modifies the transparency coefficient of the surface, where 0 is opaque and 1 is fully transparent. transparency is applicable to materials that have at least one of reflection modes (ambient, diffuse, specular or emissive) enabled. see also setreflectionmodeon() and setreflectionmodeoff() methods. //! warning: raises materialdefinitionerror if given value is a negative value or greater than 1.0.

        Parameters
        ----------
        theValue: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MaterialAspect_SetTransparency(self, *args)

    def Shininess(self, *args) -> "Standard_ShortReal":
        r"""
        Returns the luminosity of the surface.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_MaterialAspect_Shininess(self, *args)

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

        Returns
        -------
        Quantity_Color

        """
        return _Graphic3d.Graphic3d_MaterialAspect_SpecularColor(self, *args)

    def StringName(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Returns the given name of this material. this might be: - given name set by method ::setmaterialname() - standard name for a material within enumeration - 'userdefined' for non-standard material without name specified externally.

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_MaterialAspect_StringName(self, *args)

    def Transparency(self, *args) -> "Standard_ShortReal":
        r"""
        Returns the transparency coefficient of the surface (1.0 - alpha); 0.0 means opaque.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_MaterialAspect_Transparency(self, *args)

    def __ne_wrapper__(self, other: "Graphic3d_MaterialAspect") -> "bool":
        r"""__ne_wrapper__(Graphic3d_MaterialAspect self, Graphic3d_MaterialAspect other) -> bool"""
        return _Graphic3d.Graphic3d_MaterialAspect___ne_wrapper__(self, other)

    def __ne__(self, right):
        try:
            return self.__ne_wrapper__(right)
        except:
            return True


    def __eq_wrapper__(self, other: "Graphic3d_MaterialAspect") -> "bool":
        r"""__eq_wrapper__(Graphic3d_MaterialAspect self, Graphic3d_MaterialAspect other) -> bool"""
        return _Graphic3d.Graphic3d_MaterialAspect___eq_wrapper__(self, other)

    def __eq__(self, right):
        try:
            return self.__eq_wrapper__(right)
        except:
            return False


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_MaterialAspect

# Register Graphic3d_MaterialAspect in _Graphic3d:
_Graphic3d.Graphic3d_MaterialAspect_swigregister(Graphic3d_MaterialAspect)

def Graphic3d_MaterialAspect_MaterialFromName(*args) -> "Graphic3d_NameOfMaterial":
    r"""
    Finds the material for specified name. @param thename [in] name to find @param themat [out] found material returns false if name was unrecognized.

    Parameters
    ----------
    theName: char *
    theMat: Graphic3d_NameOfMaterial

    Returns
    -------
    bool
    Returns the material for specified name or graphic3d_nameofmaterial_default if name is unknown.

    Parameters
    ----------
    theName: char *

    Returns
    -------
    Graphic3d_NameOfMaterial

    """
    return _Graphic3d.Graphic3d_MaterialAspect_MaterialFromName(*args)

def Graphic3d_MaterialAspect_NumberOfMaterials(*args) -> "Standard_Integer":
    r"""
    Returns the number of predefined textures.

    Returns
    -------
    int

    """
    return _Graphic3d.Graphic3d_MaterialAspect_NumberOfMaterials(*args)

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

    def __init__(self, *args):
        r"""
        Creates new physically based material in metallic-roughness system. 'metallic' parameter is 0 by default. 'roughness' parameter is 1 by default. 'color' parameter is (0, 0, 0) by default. 'alpha' parameter is 1 by default. 'ior' parameter is 1.5 by default. 'emission' parameter is (0, 0, 0) by default.

        Returns
        -------
        None
        Creates new physically based material in metallic-roughness system from graphic3d_bsdf.

        Parameters
        ----------
        theBSDF: Graphic3d_BSDF

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_PBRMaterial_swiginit(self, _Graphic3d.new_Graphic3d_PBRMaterial(*args))

    def Alpha(self, *args) -> "Standard_ShortReal":
        r"""
        Returns alpha component in range [0, 1].

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_PBRMaterial_Alpha(self, *args)

    def Color(self, *args) -> "Quantity_ColorRGBA const &":
        r"""
        Returns albedo color with alpha component of material.

        Returns
        -------
        Quantity_ColorRGBA

        """
        return _Graphic3d.Graphic3d_PBRMaterial_Color(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_PBRMaterial self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_PBRMaterial_DumpJsonToString(self, depth)

    def Emission(self, *args) -> "Graphic3d_Vec3":
        r"""
        Returns light intensity emitted by material. values are greater or equal 0.

        Returns
        -------
        Graphic3d_Vec3

        """
        return _Graphic3d.Graphic3d_PBRMaterial_Emission(self, *args)

    @staticmethod
    def GenerateEnvLUT(*args) -> "void":
        r"""
        Generates 2d look up table of scale and bias for fresnell zero coefficient. it is needed for calculation reflectance part of environment lighting. @param [out] thelut table storage (must be image_format_rgf). @param [in] theintegralsamplescount number of importance samples in hemisphere integral calculation for every table item.

        Parameters
        ----------
        theLUT: Image_PixMap
        theNbIntegralSamples: unsigned int,optional
        	default value is 1024

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_PBRMaterial_GenerateEnvLUT(*args)

    def IOR(self, *args) -> "Standard_ShortReal":
        r"""
        Returns index of refraction in [1, 3] range.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_PBRMaterial_IOR(self, *args)

    def Metallic(self, *args) -> "Standard_ShortReal":
        r"""
        Returns material's metallic coefficient in [0, 1] range. 1 for metals and 0 for dielectrics. it is preferable to be exactly 0 or 1. average values are needed for textures mixing in shader.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_PBRMaterial_Metallic(self, *args)

    @staticmethod
    def MetallicFromSpecular(*args) -> "Standard_ShortReal":
        r"""
        Compute material metallicity from common material (specular color). @param thespecular [in] specular color returns metallicity within [0..1] range.

        Parameters
        ----------
        theSpecular: Quantity_Color

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_PBRMaterial_MetallicFromSpecular(*args)

    @staticmethod
    def MinRoughness(*args) -> "Standard_ShortReal":
        r"""
        Roughness cannot be 0 in real calculations, so it returns minimal achievable level of roughness in practice.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_PBRMaterial_MinRoughness(*args)

    def NormalizedRoughness(self, *args) -> "Standard_ShortReal":
        r"""
        Returns roughness mapping parameter in [0, 1] range. roughness is defined in [0, 1] for handful material settings and is mapped to [minroughness, 1] for calculations.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_PBRMaterial_NormalizedRoughness(self, *args)

    def Roughness(self, *args) -> "Standard_ShortReal":
        r"""
        Maps roughness from [0, 1] to [minroughness, 1] for calculations.

        Parameters
        ----------
        theNormalizedRoughness: Standard_ShortReal

        Returns
        -------
        Standard_ShortReal
        Returns real value of roughness in [minroughness, 1] range for calculations.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_PBRMaterial_Roughness(self, *args)

    @staticmethod
    def RoughnessFromSpecular(*args) -> "Standard_ShortReal":
        r"""
        Compute material roughness from common material (specular color + shininess). @param thespecular [in] specular color @param theshiness [in] normalized shininess coefficient within [0..1] range returns roughness within [0..1] range.

        Parameters
        ----------
        theSpecular: Quantity_Color
        theShiness: float

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_PBRMaterial_RoughnessFromSpecular(*args)

    def SetAlpha(self, *args) -> "void":
        r"""
        Modifies alpha component.

        Parameters
        ----------
        theAlpha: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_PBRMaterial_SetAlpha(self, *args)

    def SetBSDF(self, *args) -> "void":
        r"""
        Generates material in metallic-roughness system from graphic3d_bsdf.

        Parameters
        ----------
        theBSDF: Graphic3d_BSDF

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_PBRMaterial_SetBSDF(self, *args)

    def SetColor(self, *args) -> "void":
        r"""
        Modifies albedo color with alpha component.

        Parameters
        ----------
        theColor: Quantity_ColorRGBA

        Returns
        -------
        None
        Modifies only albedo color.

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

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_PBRMaterial_SetColor(self, *args)

    def SetEmission(self, *args) -> "void":
        r"""
        Modifies light intensity emitted by material.

        Parameters
        ----------
        theEmission: Graphic3d_Vec3

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_PBRMaterial_SetEmission(self, *args)

    def SetIOR(self, *args) -> "void":
        r"""
        Modifies index of refraction in [1, 3] range. in practice affects only on non-metal materials reflection possibilities.

        Parameters
        ----------
        theIOR: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_PBRMaterial_SetIOR(self, *args)

    def SetMetallic(self, *args) -> "void":
        r"""
        Modifies metallic coefficient of material in [0, 1] range.

        Parameters
        ----------
        theMetallic: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_PBRMaterial_SetMetallic(self, *args)

    def SetRoughness(self, *args) -> "void":
        r"""
        Modifies roughness coefficient of material in [0, 1] range.

        Parameters
        ----------
        theRoughness: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_PBRMaterial_SetRoughness(self, *args)

    @staticmethod
    def SpecIBLMapSamplesFactor(*args) -> "Standard_ShortReal":
        r"""
        Shows how much times less samples can be used in certain roughness value specular ibl map generation in compare with samples number for map with roughness of 1. specular ibl maps with less roughness values have higher resolution but require less samples for the same quality of baking. so that reducing samples number is good strategy to improve performance of baking. the samples number for specular ibl map with roughness of 1 (the maximum possible samples number) is expected to be defined as baking parameter. samples number for other roughness values can be calculated by multiplication origin samples number by this factor. @param theprobability value from 0 to 1 controlling strength of samples reducing. bigger values result in slower reduction to provide better quality but worse performance. value of 1 doesn't affect at all so that 1 will be returned (it can be used to disable reduction strategy). @param theroughness roughness value of current generated specular ibl map (from 0 to 1). returns factor to calculate number of samples for current specular ibl map baking. be aware! it has no obligation to return 1 in case of roughness of 1. be aware! it produces poor quality with small number of origin samples. in that case it is recommended to be disabled.

        Parameters
        ----------
        theProbability: Standard_ShortReal
        theRoughness: Standard_ShortReal

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_PBRMaterial_SpecIBLMapSamplesFactor(*args)

    def __eq_wrapper__(self, other: "Graphic3d_PBRMaterial") -> "bool":
        r"""__eq_wrapper__(Graphic3d_PBRMaterial self, Graphic3d_PBRMaterial other) -> bool"""
        return _Graphic3d.Graphic3d_PBRMaterial___eq_wrapper__(self, other)

    def __eq__(self, right):
        try:
            return self.__eq_wrapper__(right)
        except:
            return False


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_PBRMaterial

# Register Graphic3d_PBRMaterial in _Graphic3d:
_Graphic3d.Graphic3d_PBRMaterial_swigregister(Graphic3d_PBRMaterial)

def Graphic3d_PBRMaterial_GenerateEnvLUT(*args) -> "void":
    r"""
    Generates 2d look up table of scale and bias for fresnell zero coefficient. it is needed for calculation reflectance part of environment lighting. @param [out] thelut table storage (must be image_format_rgf). @param [in] theintegralsamplescount number of importance samples in hemisphere integral calculation for every table item.

    Parameters
    ----------
    theLUT: Image_PixMap
    theNbIntegralSamples: unsigned int,optional
    	default value is 1024

    Returns
    -------
    None

    """
    return _Graphic3d.Graphic3d_PBRMaterial_GenerateEnvLUT(*args)

def Graphic3d_PBRMaterial_MetallicFromSpecular(*args) -> "Standard_ShortReal":
    r"""
    Compute material metallicity from common material (specular color). @param thespecular [in] specular color returns metallicity within [0..1] range.

    Parameters
    ----------
    theSpecular: Quantity_Color

    Returns
    -------
    Standard_ShortReal

    """
    return _Graphic3d.Graphic3d_PBRMaterial_MetallicFromSpecular(*args)

def Graphic3d_PBRMaterial_MinRoughness(*args) -> "Standard_ShortReal":
    r"""
    Roughness cannot be 0 in real calculations, so it returns minimal achievable level of roughness in practice.

    Returns
    -------
    Standard_ShortReal

    """
    return _Graphic3d.Graphic3d_PBRMaterial_MinRoughness(*args)

def Graphic3d_PBRMaterial_RoughnessFromSpecular(*args) -> "Standard_ShortReal":
    r"""
    Compute material roughness from common material (specular color + shininess). @param thespecular [in] specular color @param theshiness [in] normalized shininess coefficient within [0..1] range returns roughness within [0..1] range.

    Parameters
    ----------
    theSpecular: Quantity_Color
    theShiness: float

    Returns
    -------
    Standard_ShortReal

    """
    return _Graphic3d.Graphic3d_PBRMaterial_RoughnessFromSpecular(*args)

def Graphic3d_PBRMaterial_SpecIBLMapSamplesFactor(*args) -> "Standard_ShortReal":
    r"""
    Shows how much times less samples can be used in certain roughness value specular ibl map generation in compare with samples number for map with roughness of 1. specular ibl maps with less roughness values have higher resolution but require less samples for the same quality of baking. so that reducing samples number is good strategy to improve performance of baking. the samples number for specular ibl map with roughness of 1 (the maximum possible samples number) is expected to be defined as baking parameter. samples number for other roughness values can be calculated by multiplication origin samples number by this factor. @param theprobability value from 0 to 1 controlling strength of samples reducing. bigger values result in slower reduction to provide better quality but worse performance. value of 1 doesn't affect at all so that 1 will be returned (it can be used to disable reduction strategy). @param theroughness roughness value of current generated specular ibl map (from 0 to 1). returns factor to calculate number of samples for current specular ibl map baking. be aware! it has no obligation to return 1 in case of roughness of 1. be aware! it produces poor quality with small number of origin samples. in that case it is recommended to be disabled.

    Parameters
    ----------
    theProbability: Standard_ShortReal
    theRoughness: Standard_ShortReal

    Returns
    -------
    Standard_ShortReal

    """
    return _Graphic3d.Graphic3d_PBRMaterial_SpecIBLMapSamplesFactor(*args)

class Graphic3d_PolygonOffset(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Mode = property(_Graphic3d.Graphic3d_PolygonOffset_Mode_get, _Graphic3d.Graphic3d_PolygonOffset_Mode_set)
    Factor = property(_Graphic3d.Graphic3d_PolygonOffset_Factor_get, _Graphic3d.Graphic3d_PolygonOffset_Factor_set)
    Units = property(_Graphic3d.Graphic3d_PolygonOffset_Units_get, _Graphic3d.Graphic3d_PolygonOffset_Units_set)

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

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_PolygonOffset_swiginit(self, _Graphic3d.new_Graphic3d_PolygonOffset(*args))

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_PolygonOffset self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_PolygonOffset_DumpJsonToString(self, depth)

    def __eq_wrapper__(self, other: "Graphic3d_PolygonOffset") -> "bool":
        r"""__eq_wrapper__(Graphic3d_PolygonOffset self, Graphic3d_PolygonOffset other) -> bool"""
        return _Graphic3d.Graphic3d_PolygonOffset___eq_wrapper__(self, other)

    def __eq__(self, right):
        try:
            return self.__eq_wrapper__(right)
        except:
            return False


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_PolygonOffset

# Register Graphic3d_PolygonOffset in _Graphic3d:
_Graphic3d.Graphic3d_PolygonOffset_swigregister(Graphic3d_PolygonOffset)

class Graphic3d_PresentationAttributes(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"""
        Empty constructor.

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_PresentationAttributes_swiginit(self, _Graphic3d.new_Graphic3d_PresentationAttributes(*args))

    def BasicFillAreaAspect(self, *args) -> "opencascade::handle< Graphic3d_AspectFillArea3d > const &":
        r"""
        Return basic presentation fill area aspect, null by default. when set, might be used instead of color() property.

        Returns
        -------
        opencascade::handle<Graphic3d_AspectFillArea3d>

        """
        return _Graphic3d.Graphic3d_PresentationAttributes_BasicFillAreaAspect(self, *args)

    def Color(self, *args) -> "Quantity_Color const &":
        r"""
        Returns basic presentation color, quantity_noc_white by default.

        Returns
        -------
        Quantity_Color

        """
        return _Graphic3d.Graphic3d_PresentationAttributes_Color(self, *args)

    def ColorRGBA(self, *args) -> "Quantity_ColorRGBA const &":
        r"""
        Returns basic presentation color (including alpha channel).

        Returns
        -------
        Quantity_ColorRGBA

        """
        return _Graphic3d.Graphic3d_PresentationAttributes_ColorRGBA(self, *args)

    def DisplayMode(self, *args) -> "Standard_Integer":
        r"""
        Returns display mode, 0 by default. -1 means undefined (main display mode of presentation to be used).

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_PresentationAttributes_DisplayMode(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_PresentationAttributes self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_PresentationAttributes_DumpJsonToString(self, depth)

    def Method(self, *args) -> "Aspect_TypeOfHighlightMethod":
        r"""
        Returns highlight method, aspect_tohm_color by default.

        Returns
        -------
        Aspect_TypeOfHighlightMethod

        """
        return _Graphic3d.Graphic3d_PresentationAttributes_Method(self, *args)

    def SetBasicFillAreaAspect(self, *args) -> "void":
        r"""
        Sets basic presentation fill area aspect.

        Parameters
        ----------
        theAspect: Graphic3d_AspectFillArea3d

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_PresentationAttributes_SetBasicFillAreaAspect(self, *args)

    def SetColor(self, *args) -> "void":
        r"""
        Sets basic presentation color (rgb components, does not modifies transparency).

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

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_PresentationAttributes_SetColor(self, *args)

    def SetDisplayMode(self, *args) -> "void":
        r"""
        Sets display mode.

        Parameters
        ----------
        theMode: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_PresentationAttributes_SetDisplayMode(self, *args)

    def SetMethod(self, *args) -> "void":
        r"""
        Changes highlight method to the given one.

        Parameters
        ----------
        theMethod: Aspect_TypeOfHighlightMethod

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_PresentationAttributes_SetMethod(self, *args)

    def SetTransparency(self, *args) -> "void":
        r"""
        Sets basic presentation transparency (0 - opaque, 1 - fully transparent).

        Parameters
        ----------
        theTranspCoef: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_PresentationAttributes_SetTransparency(self, *args)

    def SetZLayer(self, *args) -> "void":
        r"""
        Sets presentation zlayer.

        Parameters
        ----------
        theLayer: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_PresentationAttributes_SetZLayer(self, *args)

    def Transparency(self, *args) -> "Standard_ShortReal":
        r"""
        Returns basic presentation transparency (0 - opaque, 1 - fully transparent), 0 by default (opaque).

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_PresentationAttributes_Transparency(self, *args)

    def ZLayer(self, *args) -> "Graphic3d_ZLayerId":
        r"""
        Returns presentation zlayer, graphic3d_zlayerid_default by default. graphic3d_zlayerid_unknown means undefined (a layer of main presentation to be used).

        Returns
        -------
        Graphic3d_ZLayerId

        """
        return _Graphic3d.Graphic3d_PresentationAttributes_ZLayer(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_PresentationAttributes

# Register Graphic3d_PresentationAttributes in _Graphic3d:
_Graphic3d.Graphic3d_PresentationAttributes_swigregister(Graphic3d_PresentationAttributes)

class Graphic3d_RenderingParams(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Anaglyph_RedCyan_Simple = _Graphic3d.Graphic3d_RenderingParams_Anaglyph_RedCyan_Simple
    Anaglyph_RedCyan_Optimized = _Graphic3d.Graphic3d_RenderingParams_Anaglyph_RedCyan_Optimized
    Anaglyph_YellowBlue_Simple = _Graphic3d.Graphic3d_RenderingParams_Anaglyph_YellowBlue_Simple
    Anaglyph_YellowBlue_Optimized = _Graphic3d.Graphic3d_RenderingParams_Anaglyph_YellowBlue_Optimized
    Anaglyph_GreenMagenta_Simple = _Graphic3d.Graphic3d_RenderingParams_Anaglyph_GreenMagenta_Simple
    Anaglyph_UserDefined = _Graphic3d.Graphic3d_RenderingParams_Anaglyph_UserDefined
    PerfCounters_NONE = _Graphic3d.Graphic3d_RenderingParams_PerfCounters_NONE
    PerfCounters_FrameRate = _Graphic3d.Graphic3d_RenderingParams_PerfCounters_FrameRate
    PerfCounters_CPU = _Graphic3d.Graphic3d_RenderingParams_PerfCounters_CPU
    PerfCounters_Layers = _Graphic3d.Graphic3d_RenderingParams_PerfCounters_Layers
    PerfCounters_Structures = _Graphic3d.Graphic3d_RenderingParams_PerfCounters_Structures
    PerfCounters_Groups = _Graphic3d.Graphic3d_RenderingParams_PerfCounters_Groups
    PerfCounters_GroupArrays = _Graphic3d.Graphic3d_RenderingParams_PerfCounters_GroupArrays
    PerfCounters_Triangles = _Graphic3d.Graphic3d_RenderingParams_PerfCounters_Triangles
    PerfCounters_Points = _Graphic3d.Graphic3d_RenderingParams_PerfCounters_Points
    PerfCounters_Lines = _Graphic3d.Graphic3d_RenderingParams_PerfCounters_Lines
    PerfCounters_EstimMem = _Graphic3d.Graphic3d_RenderingParams_PerfCounters_EstimMem
    PerfCounters_FrameTime = _Graphic3d.Graphic3d_RenderingParams_PerfCounters_FrameTime
    PerfCounters_FrameTimeMax = _Graphic3d.Graphic3d_RenderingParams_PerfCounters_FrameTimeMax
    PerfCounters_SkipImmediate = _Graphic3d.Graphic3d_RenderingParams_PerfCounters_SkipImmediate
    PerfCounters_Basic = _Graphic3d.Graphic3d_RenderingParams_PerfCounters_Basic
    PerfCounters_Extended = _Graphic3d.Graphic3d_RenderingParams_PerfCounters_Extended
    PerfCounters_All = _Graphic3d.Graphic3d_RenderingParams_PerfCounters_All
    FrustumCulling_Off = _Graphic3d.Graphic3d_RenderingParams_FrustumCulling_Off
    FrustumCulling_On = _Graphic3d.Graphic3d_RenderingParams_FrustumCulling_On
    FrustumCulling_NoUpdate = _Graphic3d.Graphic3d_RenderingParams_FrustumCulling_NoUpdate


    class Anaglyph(IntEnum):
    	Anaglyph_RedCyan_Simple = 0
    	Anaglyph_RedCyan_Optimized = 1
    	Anaglyph_YellowBlue_Simple = 2
    	Anaglyph_YellowBlue_Optimized = 3
    	Anaglyph_GreenMagenta_Simple = 4
    	Anaglyph_UserDefined = 5
    Anaglyph_RedCyan_Simple = Anaglyph.Anaglyph_RedCyan_Simple
    Anaglyph_RedCyan_Optimized = Anaglyph.Anaglyph_RedCyan_Optimized
    Anaglyph_YellowBlue_Simple = Anaglyph.Anaglyph_YellowBlue_Simple
    Anaglyph_YellowBlue_Optimized = Anaglyph.Anaglyph_YellowBlue_Optimized
    Anaglyph_GreenMagenta_Simple = Anaglyph.Anaglyph_GreenMagenta_Simple
    Anaglyph_UserDefined = Anaglyph.Anaglyph_UserDefined

    class PerfCounters(IntEnum):
    	PerfCounters_NONE = 0
    	PerfCounters_FrameRate = 1
    	PerfCounters_CPU = 2
    	PerfCounters_Layers = 4
    	PerfCounters_Structures = 8
    	PerfCounters_Groups = 16
    	PerfCounters_GroupArrays = 32
    	PerfCounters_Triangles = 64
    	PerfCounters_Points = 128
    	PerfCounters_Lines = 256
    	PerfCounters_EstimMem = 512
    	PerfCounters_FrameTime = 1024
    	PerfCounters_FrameTimeMax = 2048
    	PerfCounters_SkipImmediate = 4096
    	PerfCounters_Basic = PerfCounters_FrameRate | PerfCounters_CPU | PerfCounters_Layers | PerfCounters_Structures
    	PerfCounters_Extended = PerfCounters_Basic | PerfCounters_Groups | PerfCounters_GroupArrays | PerfCounters_Triangles | PerfCounters_Points | PerfCounters_Lines | PerfCounters_EstimMem
    	PerfCounters_All = PerfCounters_Extended | PerfCounters_FrameTime | PerfCounters_FrameTimeMax
    PerfCounters_NONE = PerfCounters.PerfCounters_NONE
    PerfCounters_FrameRate = PerfCounters.PerfCounters_FrameRate
    PerfCounters_CPU = PerfCounters.PerfCounters_CPU
    PerfCounters_Layers = PerfCounters.PerfCounters_Layers
    PerfCounters_Structures = PerfCounters.PerfCounters_Structures
    PerfCounters_Groups = PerfCounters.PerfCounters_Groups
    PerfCounters_GroupArrays = PerfCounters.PerfCounters_GroupArrays
    PerfCounters_Triangles = PerfCounters.PerfCounters_Triangles
    PerfCounters_Points = PerfCounters.PerfCounters_Points
    PerfCounters_Lines = PerfCounters.PerfCounters_Lines
    PerfCounters_EstimMem = PerfCounters.PerfCounters_EstimMem
    PerfCounters_FrameTime = PerfCounters.PerfCounters_FrameTime
    PerfCounters_FrameTimeMax = PerfCounters.PerfCounters_FrameTimeMax
    PerfCounters_SkipImmediate = PerfCounters.PerfCounters_SkipImmediate
    PerfCounters_Basic = PerfCounters.PerfCounters_Basic
    PerfCounters_Extended = PerfCounters.PerfCounters_Extended
    PerfCounters_All = PerfCounters.PerfCounters_All

    class FrustumCulling(IntEnum):
    	FrustumCulling_Off = 0
    	FrustumCulling_On = 1
    	FrustumCulling_NoUpdate = 2
    FrustumCulling_Off = FrustumCulling.FrustumCulling_Off
    FrustumCulling_On = FrustumCulling.FrustumCulling_On
    FrustumCulling_NoUpdate = FrustumCulling.FrustumCulling_NoUpdate

    Method = property(_Graphic3d.Graphic3d_RenderingParams_Method_get, _Graphic3d.Graphic3d_RenderingParams_Method_set)
    TransparencyMethod = property(_Graphic3d.Graphic3d_RenderingParams_TransparencyMethod_get, _Graphic3d.Graphic3d_RenderingParams_TransparencyMethod_set)
    LineFeather = property(_Graphic3d.Graphic3d_RenderingParams_LineFeather_get, _Graphic3d.Graphic3d_RenderingParams_LineFeather_set)
    PbrEnvPow2Size = property(_Graphic3d.Graphic3d_RenderingParams_PbrEnvPow2Size_get, _Graphic3d.Graphic3d_RenderingParams_PbrEnvPow2Size_set)
    PbrEnvSpecMapNbLevels = property(_Graphic3d.Graphic3d_RenderingParams_PbrEnvSpecMapNbLevels_get, _Graphic3d.Graphic3d_RenderingParams_PbrEnvSpecMapNbLevels_set)
    PbrEnvBakingDiffNbSamples = property(_Graphic3d.Graphic3d_RenderingParams_PbrEnvBakingDiffNbSamples_get, _Graphic3d.Graphic3d_RenderingParams_PbrEnvBakingDiffNbSamples_set)
    PbrEnvBakingSpecNbSamples = property(_Graphic3d.Graphic3d_RenderingParams_PbrEnvBakingSpecNbSamples_get, _Graphic3d.Graphic3d_RenderingParams_PbrEnvBakingSpecNbSamples_set)
    PbrEnvBakingProbability = property(_Graphic3d.Graphic3d_RenderingParams_PbrEnvBakingProbability_get, _Graphic3d.Graphic3d_RenderingParams_PbrEnvBakingProbability_set)
    OitDepthFactor = property(_Graphic3d.Graphic3d_RenderingParams_OitDepthFactor_get, _Graphic3d.Graphic3d_RenderingParams_OitDepthFactor_set)
    NbMsaaSamples = property(_Graphic3d.Graphic3d_RenderingParams_NbMsaaSamples_get, _Graphic3d.Graphic3d_RenderingParams_NbMsaaSamples_set)
    RenderResolutionScale = property(_Graphic3d.Graphic3d_RenderingParams_RenderResolutionScale_get, _Graphic3d.Graphic3d_RenderingParams_RenderResolutionScale_set)
    ToEnableDepthPrepass = property(_Graphic3d.Graphic3d_RenderingParams_ToEnableDepthPrepass_get, _Graphic3d.Graphic3d_RenderingParams_ToEnableDepthPrepass_set)
    ToEnableAlphaToCoverage = property(_Graphic3d.Graphic3d_RenderingParams_ToEnableAlphaToCoverage_get, _Graphic3d.Graphic3d_RenderingParams_ToEnableAlphaToCoverage_set)
    IsGlobalIlluminationEnabled = property(_Graphic3d.Graphic3d_RenderingParams_IsGlobalIlluminationEnabled_get, _Graphic3d.Graphic3d_RenderingParams_IsGlobalIlluminationEnabled_set)
    SamplesPerPixel = property(_Graphic3d.Graphic3d_RenderingParams_SamplesPerPixel_get, _Graphic3d.Graphic3d_RenderingParams_SamplesPerPixel_set)
    RaytracingDepth = property(_Graphic3d.Graphic3d_RenderingParams_RaytracingDepth_get, _Graphic3d.Graphic3d_RenderingParams_RaytracingDepth_set)
    IsShadowEnabled = property(_Graphic3d.Graphic3d_RenderingParams_IsShadowEnabled_get, _Graphic3d.Graphic3d_RenderingParams_IsShadowEnabled_set)
    IsReflectionEnabled = property(_Graphic3d.Graphic3d_RenderingParams_IsReflectionEnabled_get, _Graphic3d.Graphic3d_RenderingParams_IsReflectionEnabled_set)
    IsAntialiasingEnabled = property(_Graphic3d.Graphic3d_RenderingParams_IsAntialiasingEnabled_get, _Graphic3d.Graphic3d_RenderingParams_IsAntialiasingEnabled_set)
    IsTransparentShadowEnabled = property(_Graphic3d.Graphic3d_RenderingParams_IsTransparentShadowEnabled_get, _Graphic3d.Graphic3d_RenderingParams_IsTransparentShadowEnabled_set)
    UseEnvironmentMapBackground = property(_Graphic3d.Graphic3d_RenderingParams_UseEnvironmentMapBackground_get, _Graphic3d.Graphic3d_RenderingParams_UseEnvironmentMapBackground_set)
    ToIgnoreNormalMapInRayTracing = property(_Graphic3d.Graphic3d_RenderingParams_ToIgnoreNormalMapInRayTracing_get, _Graphic3d.Graphic3d_RenderingParams_ToIgnoreNormalMapInRayTracing_set)
    CoherentPathTracingMode = property(_Graphic3d.Graphic3d_RenderingParams_CoherentPathTracingMode_get, _Graphic3d.Graphic3d_RenderingParams_CoherentPathTracingMode_set)
    AdaptiveScreenSampling = property(_Graphic3d.Graphic3d_RenderingParams_AdaptiveScreenSampling_get, _Graphic3d.Graphic3d_RenderingParams_AdaptiveScreenSampling_set)
    AdaptiveScreenSamplingAtomic = property(_Graphic3d.Graphic3d_RenderingParams_AdaptiveScreenSamplingAtomic_get, _Graphic3d.Graphic3d_RenderingParams_AdaptiveScreenSamplingAtomic_set)
    ShowSamplingTiles = property(_Graphic3d.Graphic3d_RenderingParams_ShowSamplingTiles_get, _Graphic3d.Graphic3d_RenderingParams_ShowSamplingTiles_set)
    TwoSidedBsdfModels = property(_Graphic3d.Graphic3d_RenderingParams_TwoSidedBsdfModels_get, _Graphic3d.Graphic3d_RenderingParams_TwoSidedBsdfModels_set)
    RadianceClampingValue = property(_Graphic3d.Graphic3d_RenderingParams_RadianceClampingValue_get, _Graphic3d.Graphic3d_RenderingParams_RadianceClampingValue_set)
    RebuildRayTracingShaders = property(_Graphic3d.Graphic3d_RenderingParams_RebuildRayTracingShaders_get, _Graphic3d.Graphic3d_RenderingParams_RebuildRayTracingShaders_set)
    RayTracingTileSize = property(_Graphic3d.Graphic3d_RenderingParams_RayTracingTileSize_get, _Graphic3d.Graphic3d_RenderingParams_RayTracingTileSize_set)
    NbRayTracingTiles = property(_Graphic3d.Graphic3d_RenderingParams_NbRayTracingTiles_get, _Graphic3d.Graphic3d_RenderingParams_NbRayTracingTiles_set)
    CameraApertureRadius = property(_Graphic3d.Graphic3d_RenderingParams_CameraApertureRadius_get, _Graphic3d.Graphic3d_RenderingParams_CameraApertureRadius_set)
    CameraFocalPlaneDist = property(_Graphic3d.Graphic3d_RenderingParams_CameraFocalPlaneDist_get, _Graphic3d.Graphic3d_RenderingParams_CameraFocalPlaneDist_set)
    FrustumCullingState = property(_Graphic3d.Graphic3d_RenderingParams_FrustumCullingState_get, _Graphic3d.Graphic3d_RenderingParams_FrustumCullingState_set)
    ToneMappingMethod = property(_Graphic3d.Graphic3d_RenderingParams_ToneMappingMethod_get, _Graphic3d.Graphic3d_RenderingParams_ToneMappingMethod_set)
    Exposure = property(_Graphic3d.Graphic3d_RenderingParams_Exposure_get, _Graphic3d.Graphic3d_RenderingParams_Exposure_set)
    WhitePoint = property(_Graphic3d.Graphic3d_RenderingParams_WhitePoint_get, _Graphic3d.Graphic3d_RenderingParams_WhitePoint_set)
    StereoMode = property(_Graphic3d.Graphic3d_RenderingParams_StereoMode_get, _Graphic3d.Graphic3d_RenderingParams_StereoMode_set)
    HmdFov2d = property(_Graphic3d.Graphic3d_RenderingParams_HmdFov2d_get, _Graphic3d.Graphic3d_RenderingParams_HmdFov2d_set)
    AnaglyphFilter = property(_Graphic3d.Graphic3d_RenderingParams_AnaglyphFilter_get, _Graphic3d.Graphic3d_RenderingParams_AnaglyphFilter_set)
    AnaglyphLeft = property(_Graphic3d.Graphic3d_RenderingParams_AnaglyphLeft_get, _Graphic3d.Graphic3d_RenderingParams_AnaglyphLeft_set)
    AnaglyphRight = property(_Graphic3d.Graphic3d_RenderingParams_AnaglyphRight_get, _Graphic3d.Graphic3d_RenderingParams_AnaglyphRight_set)
    ToReverseStereo = property(_Graphic3d.Graphic3d_RenderingParams_ToReverseStereo_get, _Graphic3d.Graphic3d_RenderingParams_ToReverseStereo_set)
    ToMirrorComposer = property(_Graphic3d.Graphic3d_RenderingParams_ToMirrorComposer_get, _Graphic3d.Graphic3d_RenderingParams_ToMirrorComposer_set)
    StatsPosition = property(_Graphic3d.Graphic3d_RenderingParams_StatsPosition_get, _Graphic3d.Graphic3d_RenderingParams_StatsPosition_set)
    ChartPosition = property(_Graphic3d.Graphic3d_RenderingParams_ChartPosition_get, _Graphic3d.Graphic3d_RenderingParams_ChartPosition_set)
    ChartSize = property(_Graphic3d.Graphic3d_RenderingParams_ChartSize_get, _Graphic3d.Graphic3d_RenderingParams_ChartSize_set)
    StatsTextAspect = property(_Graphic3d.Graphic3d_RenderingParams_StatsTextAspect_get, _Graphic3d.Graphic3d_RenderingParams_StatsTextAspect_set)
    StatsUpdateInterval = property(_Graphic3d.Graphic3d_RenderingParams_StatsUpdateInterval_get, _Graphic3d.Graphic3d_RenderingParams_StatsUpdateInterval_set)
    StatsTextHeight = property(_Graphic3d.Graphic3d_RenderingParams_StatsTextHeight_get, _Graphic3d.Graphic3d_RenderingParams_StatsTextHeight_set)
    StatsNbFrames = property(_Graphic3d.Graphic3d_RenderingParams_StatsNbFrames_get, _Graphic3d.Graphic3d_RenderingParams_StatsNbFrames_set)
    StatsMaxChartTime = property(_Graphic3d.Graphic3d_RenderingParams_StatsMaxChartTime_get, _Graphic3d.Graphic3d_RenderingParams_StatsMaxChartTime_set)
    CollectedStats = property(_Graphic3d.Graphic3d_RenderingParams_CollectedStats_get, _Graphic3d.Graphic3d_RenderingParams_CollectedStats_set)
    ToShowStats = property(_Graphic3d.Graphic3d_RenderingParams_ToShowStats_get, _Graphic3d.Graphic3d_RenderingParams_ToShowStats_set)
    Resolution = property(_Graphic3d.Graphic3d_RenderingParams_Resolution_get, _Graphic3d.Graphic3d_RenderingParams_Resolution_set)

    def __init__(self, *args):
        r"""
        Creates default rendering parameters.

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_RenderingParams_swiginit(self, _Graphic3d.new_Graphic3d_RenderingParams(*args))

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_RenderingParams self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_RenderingParams_DumpJsonToString(self, depth)

    def ResolutionRatio(self, *args) -> "Standard_ShortReal":
        r"""
        Returns resolution ratio.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_RenderingParams_ResolutionRatio(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_RenderingParams

# Register Graphic3d_RenderingParams in _Graphic3d:
_Graphic3d.Graphic3d_RenderingParams_swigregister(Graphic3d_RenderingParams)

class Graphic3d_SequenceOfHClipPlane(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"""
        Empty constructor.

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_SequenceOfHClipPlane_swiginit(self, _Graphic3d.new_Graphic3d_SequenceOfHClipPlane(*args))

    def Append(self, *args) -> "bool":
        r"""
        Append a plane. returns true if new item has been added (false if item already existed).

        Parameters
        ----------
        theItem: Graphic3d_ClipPlane

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_SequenceOfHClipPlane_Append(self, *args)

    def Clear(self, *args) -> "void":
        r"""
        Clear the items out.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_SequenceOfHClipPlane_Clear(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_SequenceOfHClipPlane self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_SequenceOfHClipPlane_DumpJsonToString(self, depth)

    def First(self, *args) -> "opencascade::handle< Graphic3d_ClipPlane > const &":
        r"""
        Return the first item in sequence.

        Returns
        -------
        opencascade::handle<Graphic3d_ClipPlane>

        """
        return _Graphic3d.Graphic3d_SequenceOfHClipPlane_First(self, *args)

    def IsEmpty(self, *args) -> "bool":
        r"""
        Return true if sequence is empty.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_SequenceOfHClipPlane_IsEmpty(self, *args)

    def Remove(self, *args) -> "void":
        r"""
        Remove a plane. returns true if item has been found and removed.

        Parameters
        ----------
        theItem: Graphic3d_ClipPlane

        Returns
        -------
        bool
        Remove a plane.

        Parameters
        ----------
        theItem: Iterator

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_SequenceOfHClipPlane_Remove(self, *args)

    def SetOverrideGlobal(self, *args) -> "void":
        r"""
        Setup flag defining if local properties should override global properties.

        Parameters
        ----------
        theToOverride: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_SequenceOfHClipPlane_SetOverrideGlobal(self, *args)

    def Size(self, *args) -> "Standard_Integer":
        r"""
        Return the number of items in sequence.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_SequenceOfHClipPlane_Size(self, *args)

    def ToOverrideGlobal(self, *args) -> "Standard_Boolean":
        r"""
        Return true if local properties should override global properties.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_SequenceOfHClipPlane_ToOverrideGlobal(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_SequenceOfHClipPlane

# Register Graphic3d_SequenceOfHClipPlane in _Graphic3d:
_Graphic3d.Graphic3d_SequenceOfHClipPlane_swigregister(Graphic3d_SequenceOfHClipPlane)

class Graphic3d_ShaderAttribute(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"""
        Creates new attribute.

        Parameters
        ----------
        theName: TCollection_AsciiString
        theLocation: int

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_ShaderAttribute_swiginit(self, _Graphic3d.new_Graphic3d_ShaderAttribute(*args))

    def Location(self, *args) -> "int":
        r"""
        Returns attribute location to be bound on glsl program linkage stage.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ShaderAttribute_Location(self, *args)

    def Name(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Returns name of shader variable.

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_ShaderAttribute_Name(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ShaderAttribute

# Register Graphic3d_ShaderAttribute in _Graphic3d:
_Graphic3d.Graphic3d_ShaderAttribute_swigregister(Graphic3d_ShaderAttribute)

class Graphic3d_ShaderObject(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

    @staticmethod
    def CreateFromFile(*args) -> "opencascade::handle< Graphic3d_ShaderObject >":
        r"""
        Creates new shader object from specified file.

        Parameters
        ----------
        theType: Graphic3d_TypeOfShaderObject
        thePath: TCollection_AsciiString

        Returns
        -------
        opencascade::handle<Graphic3d_ShaderObject>

        """
        return _Graphic3d.Graphic3d_ShaderObject_CreateFromFile(*args)

    @staticmethod
    def CreateFromSource(*args) -> "opencascade::handle< Graphic3d_ShaderObject >":
        r"""
        Creates new shader object from specified source.

        Parameters
        ----------
        theType: Graphic3d_TypeOfShaderObject
        theSource: TCollection_AsciiString

        Returns
        -------
        opencascade::handle<Graphic3d_ShaderObject>

        """
        return _Graphic3d.Graphic3d_ShaderObject_CreateFromSource(*args)

    def GetId(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Returns unique id used to manage resource in graphic driver.

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_ShaderObject_GetId(self, *args)

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        Checks if the shader object is valid or not.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ShaderObject_IsDone(self, *args)

    def Path(self, *args) -> "OSD_Path const &":
        r"""
        Returns the full path to the shader source.

        Returns
        -------
        OSD_Path

        """
        return _Graphic3d.Graphic3d_ShaderObject_Path(self, *args)

    def Source(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Returns the source code of the shader object.

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_ShaderObject_Source(self, *args)

    def Type(self, *args) -> "Graphic3d_TypeOfShaderObject":
        r"""
        Returns type of the shader object.

        Returns
        -------
        Graphic3d_TypeOfShaderObject

        """
        return _Graphic3d.Graphic3d_ShaderObject_Type(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ShaderObject

# Register Graphic3d_ShaderObject in _Graphic3d:
_Graphic3d.Graphic3d_ShaderObject_swigregister(Graphic3d_ShaderObject)

def Graphic3d_ShaderObject_CreateFromFile(*args) -> "opencascade::handle< Graphic3d_ShaderObject >":
    r"""
    Creates new shader object from specified file.

    Parameters
    ----------
    theType: Graphic3d_TypeOfShaderObject
    thePath: TCollection_AsciiString

    Returns
    -------
    opencascade::handle<Graphic3d_ShaderObject>

    """
    return _Graphic3d.Graphic3d_ShaderObject_CreateFromFile(*args)

def Graphic3d_ShaderObject_CreateFromSource(*args) -> "opencascade::handle< Graphic3d_ShaderObject >":
    r"""
    Creates new shader object from specified source.

    Parameters
    ----------
    theType: Graphic3d_TypeOfShaderObject
    theSource: TCollection_AsciiString

    Returns
    -------
    opencascade::handle<Graphic3d_ShaderObject>

    """
    return _Graphic3d.Graphic3d_ShaderObject_CreateFromSource(*args)

class Graphic3d_ShaderProgram(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"""
        Creates new empty program object.

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_ShaderProgram_swiginit(self, _Graphic3d.new_Graphic3d_ShaderProgram(*args))

    def AppendToHeader(self, *args) -> "void":
        r"""
        Append line to glsl header.

        Parameters
        ----------
        theHeaderLine: TCollection_AsciiString

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ShaderProgram_AppendToHeader(self, *args)

    def AttachShader(self, *args) -> "Standard_Boolean":
        r"""
        Attaches shader object to the program object.

        Parameters
        ----------
        theShader: Graphic3d_ShaderObject

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ShaderProgram_AttachShader(self, *args)

    def ClearVariables(self, *args) -> "void":
        r"""
        Removes all custom uniform variables from the program.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ShaderProgram_ClearVariables(self, *args)

    def DetachShader(self, *args) -> "Standard_Boolean":
        r"""
        Detaches shader object from the program object.

        Parameters
        ----------
        theShader: Graphic3d_ShaderObject

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ShaderProgram_DetachShader(self, *args)

    def GetId(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Returns unique id used to manage resource in graphic driver.

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_ShaderProgram_GetId(self, *args)

    def HasAlphaTest(self, *args) -> "Standard_Boolean":
        r"""
        Return true if fragment shader should perform alpha test; false by default.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ShaderProgram_HasAlphaTest(self, *args)

    def HasDefaultSampler(self, *args) -> "Standard_Boolean":
        r"""
        Return true if standard program header should define default texture sampler occsampler0; true by default for compatibility.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ShaderProgram_HasDefaultSampler(self, *args)

    def HasWeightOitOutput(self, *args) -> "Standard_Boolean":
        r"""
        Return true if fragment shader color should output the weighted oit coverage; false by default.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ShaderProgram_HasWeightOitOutput(self, *args)

    def Header(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Returns glsl header (version code and extensions).

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_ShaderProgram_Header(self, *args)

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        Checks if the program object is valid or not.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ShaderProgram_IsDone(self, *args)

    def IsPBR(self, *args) -> "Standard_Boolean":
        r"""
        Return true if standard program header should define functions and variables used in pbr pipeline. false by default.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ShaderProgram_IsPBR(self, *args)

    def NbClipPlanesMax(self, *args) -> "Standard_Integer":
        r"""
        Return the length of array of clipping planes (the_max_clip_planes), to be used for initialization occclipplaneequations. default value is the_max_clip_planes_default.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ShaderProgram_NbClipPlanesMax(self, *args)

    def NbFragmentOutputs(self, *args) -> "Standard_Integer":
        r"""
        Returns the number (1+) of fragment shader outputs to be written to (more than 1 can be in case of multiple draw buffers); 1 by default.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ShaderProgram_NbFragmentOutputs(self, *args)

    def NbLightsMax(self, *args) -> "Standard_Integer":
        r"""
        Return the length of array of light sources (the_max_lights), to be used for initialization occlightsources. default value is the_max_lights_default.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ShaderProgram_NbLightsMax(self, *args)

    def PushVariableFloat(self, *args) -> "Standard_Boolean":
        r"""
        Pushes float uniform.

        Parameters
        ----------
        theName: TCollection_AsciiString
        theValue: float

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ShaderProgram_PushVariableFloat(self, *args)

    def PushVariableInt(self, *args) -> "Standard_Boolean":
        r"""
        Pushes int uniform.

        Parameters
        ----------
        theName: TCollection_AsciiString
        theValue: int

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ShaderProgram_PushVariableInt(self, *args)

    def PushVariableVec2(self, *args) -> "Standard_Boolean":
        r"""
        Pushes vec2 uniform.

        Parameters
        ----------
        theName: TCollection_AsciiString
        theValue: Graphic3d_Vec2

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ShaderProgram_PushVariableVec2(self, *args)

    def PushVariableVec2i(self, *args) -> "Standard_Boolean":
        r"""
        Pushes vec2i uniform.

        Parameters
        ----------
        theName: TCollection_AsciiString
        theValue: Graphic3d_Vec2i

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ShaderProgram_PushVariableVec2i(self, *args)

    def PushVariableVec3(self, *args) -> "Standard_Boolean":
        r"""
        Pushes vec3 uniform.

        Parameters
        ----------
        theName: TCollection_AsciiString
        theValue: Graphic3d_Vec3

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ShaderProgram_PushVariableVec3(self, *args)

    def PushVariableVec3i(self, *args) -> "Standard_Boolean":
        r"""
        Pushes vec3i uniform.

        Parameters
        ----------
        theName: TCollection_AsciiString
        theValue: Graphic3d_Vec3i

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ShaderProgram_PushVariableVec3i(self, *args)

    def PushVariableVec4(self, *args) -> "Standard_Boolean":
        r"""
        Pushes vec4 uniform.

        Parameters
        ----------
        theName: TCollection_AsciiString
        theValue: Graphic3d_Vec4

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ShaderProgram_PushVariableVec4(self, *args)

    def PushVariableVec4i(self, *args) -> "Standard_Boolean":
        r"""
        Pushes vec4i uniform.

        Parameters
        ----------
        theName: TCollection_AsciiString
        theValue: Graphic3d_Vec4i

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ShaderProgram_PushVariableVec4i(self, *args)

    def SetAlphaTest(self, *args) -> "void":
        r"""
        Set if fragment shader should perform alpha test. note that this flag is designed for usage with - custom shader program may discard fragment regardless this flag.

        Parameters
        ----------
        theAlphaTest: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ShaderProgram_SetAlphaTest(self, *args)

    def SetDefaultSampler(self, *args) -> "void":
        r"""
        Set if standard program header should define default texture sampler occsampler0.

        Parameters
        ----------
        theHasDefSampler: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ShaderProgram_SetDefaultSampler(self, *args)

    def SetHeader(self, *args) -> "void":
        r"""
        Setup glsl header containing language version code and used extensions. will be prepended to the very beginning of the source code. example: @code #version 300 es #extension gl_arb_bindless_texture : require @endcode.

        Parameters
        ----------
        theHeader: TCollection_AsciiString

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ShaderProgram_SetHeader(self, *args)

    def SetId(self, *args) -> "void":
        r"""
        Sets unique id used to manage resource in graphic driver. warning! graphic3d_shaderprogram constructor generates a unique id for proper resource management; however if application overrides it, it is responsibility of application to avoid name collisions.

        Parameters
        ----------
        theId: TCollection_AsciiString

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ShaderProgram_SetId(self, *args)

    def SetNbClipPlanesMax(self, *args) -> "void":
        r"""
        Specify the length of array of clipping planes (the_max_clip_planes).

        Parameters
        ----------
        theNbPlanes: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ShaderProgram_SetNbClipPlanesMax(self, *args)

    def SetNbFragmentOutputs(self, *args) -> "void":
        r"""
        Sets the number of fragment shader outputs to be written to. should be done before glsl program initialization.

        Parameters
        ----------
        theNbOutputs: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ShaderProgram_SetNbFragmentOutputs(self, *args)

    def SetNbLightsMax(self, *args) -> "void":
        r"""
        Specify the length of array of light sources (the_max_lights).

        Parameters
        ----------
        theNbLights: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ShaderProgram_SetNbLightsMax(self, *args)

    def SetPBR(self, *args) -> "void":
        r"""
        Sets whether standard program header should define functions and variables used in pbr pipeline.

        Parameters
        ----------
        theIsPBR: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ShaderProgram_SetPBR(self, *args)

    def SetTextureSetBits(self, *args) -> "void":
        r"""
        Set texture units declared within the program.

        Parameters
        ----------
        theBits: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ShaderProgram_SetTextureSetBits(self, *args)

    def SetVertexAttributes(self, *args) -> "void":
        r"""
        Assign the list of custom vertex attributes. should be done before glsl program initialization.

        Parameters
        ----------
        theAttributes: Graphic3d_ShaderAttributeList

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ShaderProgram_SetVertexAttributes(self, *args)

    def SetWeightOitOutput(self, *args) -> "void":
        r"""
        Set if fragment shader color should output the weighted oit coverage. note that weighted oit also requires at least 2 fragment outputs (color + coverage).

        Parameters
        ----------
        theOutput: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ShaderProgram_SetWeightOitOutput(self, *args)

    def ShaderObjects(self, *args) -> "Graphic3d_ShaderObjectList const &":
        r"""
        Returns list of attached shader objects.

        Returns
        -------
        Graphic3d_ShaderObjectList

        """
        return _Graphic3d.Graphic3d_ShaderProgram_ShaderObjects(self, *args)

    @staticmethod
    def ShadersFolder(*args) -> "TCollection_AsciiString const &":
        r"""
        The path to glsl programs determined from csf_shadersdirectory or casroot environment variables. returns the root folder with default glsl programs.

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_ShaderProgram_ShadersFolder(*args)

    def TextureSetBits(self, *args) -> "Standard_Integer":
        r"""
        Return texture units declared within the program, @sa graphic3d_texturesetbits.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_ShaderProgram_TextureSetBits(self, *args)

    def Variables(self, *args) -> "Graphic3d_ShaderVariableList const &":
        r"""
        The list of currently pushed but not applied custom uniform variables. this list is automatically cleared after applying to glsl program.

        Returns
        -------
        Graphic3d_ShaderVariableList

        """
        return _Graphic3d.Graphic3d_ShaderProgram_Variables(self, *args)

    def VertexAttributes(self, *args) -> "Graphic3d_ShaderAttributeList const &":
        r"""
        Return the list of custom vertex attributes.

        Returns
        -------
        Graphic3d_ShaderAttributeList

        """
        return _Graphic3d.Graphic3d_ShaderProgram_VertexAttributes(self, *args)


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


    __repr__ = _dumps_object

    @methodnotwrapped
    def PushVariable(self):
    	pass

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ShaderProgram

# Register Graphic3d_ShaderProgram in _Graphic3d:
_Graphic3d.Graphic3d_ShaderProgram_swigregister(Graphic3d_ShaderProgram)

def Graphic3d_ShaderProgram_ShadersFolder(*args) -> "TCollection_AsciiString const &":
    r"""
    The path to glsl programs determined from csf_shadersdirectory or casroot environment variables. returns the root folder with default glsl programs.

    Returns
    -------
    TCollection_AsciiString

    """
    return _Graphic3d.Graphic3d_ShaderProgram_ShadersFolder(*args)

class Graphic3d_ShaderVariable(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 IsDone(self, *args) -> "Standard_Boolean":
        r"""
        Checks if the shader variable is valid or not.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ShaderVariable_IsDone(self, *args)

    def Name(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Returns name of shader variable.

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_ShaderVariable_Name(self, *args)

    def Value(self, *args) -> "Graphic3d_ValueInterface *":
        r"""
        Returns interface of shader variable value.

        Returns
        -------
        Graphic3d_ValueInterface *

        """
        return _Graphic3d.Graphic3d_ShaderVariable_Value(self, *args)


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


    __repr__ = _dumps_object

    @methodnotwrapped
    def Create(self):
    	pass

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ShaderVariable

# Register Graphic3d_ShaderVariable in _Graphic3d:
_Graphic3d.Graphic3d_ShaderVariable_swigregister(Graphic3d_ShaderVariable)

class Graphic3d_Structure(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"""
        Creates a graphic object in the manager themanager. it will appear in all the views of the visualiser. the structure is not displayed when it is created. @param themanager structure manager holding this structure @param thelinkprs another structure for creating a shadow (linked) structure.

        Parameters
        ----------
        theManager: Graphic3d_StructureManager
        theLinkPrs: Graphic3d_Structure,optional
        	default value is opencascade::handle<Graphic3d_Structure>()

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_Structure_swiginit(self, _Graphic3d.new_Graphic3d_Structure(*args))

    @staticmethod
    def AcceptConnection(*args) -> "Standard_Boolean":
        r"""
        Returns standard_true if the connection is possible between <astructure1> and <astructure2> without a creation of a cycle. //! it's not possible to call the method astructure1->connect (astructure2, typeofconnection) if - the set of all ancestors of <astructure1> contains <astructure1> and if the typeofconnection == toc_descendant - the set of all descendants of <astructure1> contains <astructure2> and if the typeofconnection == toc_ancestor.

        Parameters
        ----------
        theStructure1: Graphic3d_Structure *
        theStructure2: Graphic3d_Structure *
        theType: Graphic3d_TypeOfConnection

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Structure_AcceptConnection(*args)

    def Ancestors(self, *args) -> "void":
        r"""
        Returns the group of structures to which <self> is connected.

        Parameters
        ----------
        SG: Graphic3d_MapOfStructure

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_Ancestors(self, *args)

    def CStructure(self, *args) -> "opencascade::handle< Graphic3d_CStructure > const &":
        r"""
        Returns the low-level structure.

        Returns
        -------
        opencascade::handle<Graphic3d_CStructure>

        """
        return _Graphic3d.Graphic3d_Structure_CStructure(self, *args)

    def CalculateBoundBox(self, *args) -> "void":
        r"""
        Computes axis-aligned bounding box of a structure.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_CalculateBoundBox(self, *args)

    def Clear(self, *args) -> "void":
        r"""
        If withdestruction == standard_true then suppress all the groups of primitives in the structure. and it is mandatory to create a new group in <self>. if withdestruction == standard_false then clears all the groups of primitives in the structure. and all the groups are conserved and empty. they will be erased at the next screen update. the structure itself is conserved. the transformation and the attributes of <self> are conserved. the childs of <self> are conserved.

        Parameters
        ----------
        WithDestruction: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_Clear(self, *args)

    def ClipPlanes(self, *args) -> "opencascade::handle< Graphic3d_SequenceOfHClipPlane > const &":
        r"""
        Get clip planes slicing the structure on rendering. returns set of clip planes.

        Returns
        -------
        opencascade::handle<Graphic3d_SequenceOfHClipPlane>

        """
        return _Graphic3d.Graphic3d_Structure_ClipPlanes(self, *args)

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

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_Compute(self, *args)

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

        Returns
        -------
        Graphic3d_TypeOfStructure

        """
        return _Graphic3d.Graphic3d_Structure_ComputeVisual(self, *args)

    def Connect(self, *args) -> "void":
        r"""
        If atype is toc_descendant then add <astructure> as a child structure of <self>. if atype is toc_ancestor then add <astructure> as a parent structure of <self>. the connection propagates display, highlight, erase, remove, and stacks the transformations. no connection if the graph of the structures contains a cycle and <withcheck> is standard_true;.

        Parameters
        ----------
        theStructure: Graphic3d_Structure *
        theType: Graphic3d_TypeOfConnection
        theWithCheck: bool,optional
        	default value is Standard_False

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

        Parameters
        ----------
        thePrs: Graphic3d_Structure

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_Connect(self, *args)

    def ContainsFacet(self, *args) -> "Standard_Boolean":
        r"""
        Returns standard_true if the structure <self> contains polygons, triangles or quadrangles.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Structure_ContainsFacet(self, *args)

    def CurrentGroup(self, *args) -> "opencascade::handle< Graphic3d_Group >":
        r"""
        Returns the last created group or creates new one if list is empty.

        Returns
        -------
        opencascade::handle<Graphic3d_Group>

        """
        return _Graphic3d.Graphic3d_Structure_CurrentGroup(self, *args)

    def Descendants(self, *args) -> "void":
        r"""
        Returns the group of structures connected to <self>.

        Parameters
        ----------
        SG: Graphic3d_MapOfStructure

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_Descendants(self, *args)

    def Disconnect(self, *args) -> "void":
        r"""
        Suppress the connection between <astructure> and <self>.

        Parameters
        ----------
        theStructure: Graphic3d_Structure *

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_Disconnect(self, *args)

    def DisconnectAll(self, *args) -> "void":
        r"""
        If atype is toc_descendant then suppress all the connections with the child structures of <self>. if atype is toc_ancestor then suppress all the connections with the parent structures of <self>.

        Parameters
        ----------
        AType: Graphic3d_TypeOfConnection

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_DisconnectAll(self, *args)

    def Display(self, *args) -> "void":
        r"""
        Displays the structure <self> in all the views of the visualiser.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_Display(self, *args)

    def DisplayPriority(self, *args) -> "Standard_Integer":
        r"""
        Returns the current display priority for this structure.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_Structure_DisplayPriority(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_Structure self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_Structure_DumpJsonToString(self, depth)

    def Erase(self, *args) -> "void":
        r"""
        Erases this structure in all the views of the visualiser.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_Erase(self, *args)

    def GetZLayer(self, *args) -> "Graphic3d_ZLayerId":
        r"""
        Get z layer id of displayed structure. the method returns -1 if the structure has no id (deleted from graphic driver).

        Returns
        -------
        Graphic3d_ZLayerId

        """
        return _Graphic3d.Graphic3d_Structure_GetZLayer(self, *args)

    def GraphicClear(self, *args) -> "void":
        r"""
        Clears the structure <self>.

        Parameters
        ----------
        WithDestruction: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_GraphicClear(self, *args)

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

        Parameters
        ----------
        theDaughter: Graphic3d_Structure

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_GraphicConnect(self, *args)

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

        Parameters
        ----------
        theDaughter: Graphic3d_Structure

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_GraphicDisconnect(self, *args)

    def GraphicTransform(self, *args) -> "void":
        r"""
        Internal method which sets new transformation without calling graphic manager callbacks.

        Parameters
        ----------
        theTrsf: TopLoc_Datum3D

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_GraphicTransform(self, *args)

    def Groups(self, *args) -> "Graphic3d_SequenceOfGroup const &":
        r"""
        Returns the groups sequence included in this structure.

        Returns
        -------
        Graphic3d_SequenceOfGroup

        """
        return _Graphic3d.Graphic3d_Structure_Groups(self, *args)

    def HLRValidation(self, *args) -> "Standard_Boolean":
        r"""
        Hidden parts stored in this structure are valid if: 1) the owner is defined. 2) they are not invalid.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Structure_HLRValidation(self, *args)

    def Highlight(self, *args) -> "void":
        r"""
        Highlights the structure in all the views with the given style @param thestyle [in] the style (type of highlighting: box/color, color and opacity) @param thetoupdatemgr [in] defines whether related computed structures will be highlighted via structure manager or not.

        Parameters
        ----------
        theStyle: Graphic3d_PresentationAttributes
        theToUpdateMgr: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_Highlight(self, *args)

    def HighlightStyle(self, *args) -> "opencascade::handle< Graphic3d_PresentationAttributes > const &":
        r"""
        Returns the highlight attributes.

        Returns
        -------
        opencascade::handle<Graphic3d_PresentationAttributes>

        """
        return _Graphic3d.Graphic3d_Structure_HighlightStyle(self, *args)

    def Identification(self, *args) -> "Standard_Integer":
        r"""
        Returns the identification number of this structure.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_Structure_Identification(self, *args)

    def IsDeleted(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if this structure is deleted (after remove() call).

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Structure_IsDeleted(self, *args)

    def IsDisplayed(self, *args) -> "Standard_Boolean":
        r"""
        Returns the display indicator for this structure.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Structure_IsDisplayed(self, *args)

    def IsEmpty(self, *args) -> "Standard_Boolean":
        r"""
        Returns standard_true if the structure <self> is empty. warning: a structure is empty if : it do not have group or all the groups are empties and it do not have descendant or all the descendants are empties.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Structure_IsEmpty(self, *args)

    def IsHighlighted(self, *args) -> "Standard_Boolean":
        r"""
        Returns the highlight indicator for this structure.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Structure_IsHighlighted(self, *args)

    def IsInfinite(self, *args) -> "Standard_Boolean":
        r"""
        Returns standard_true if the structure <self> is infinite.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Structure_IsInfinite(self, *args)

    def IsMutable(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if structure has mutable nature (content or location are be changed regularly). mutable structure will be managed in different way than static onces.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Structure_IsMutable(self, *args)

    def IsTransformed(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the structure is transformed.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Structure_IsTransformed(self, *args)

    def IsVisible(self, *args) -> "Standard_Boolean":
        r"""
        Returns the visibility indicator for this structure.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Structure_IsVisible(self, *args)

    def MinMaxValues(self, *args) -> "Bnd_Box":
        r"""
        Returns the coordinates of the boundary box of the structure <self>. if <thetoignoreinfiniteflag> is true, the method returns actual graphical boundaries of the graphic3d_group components. otherwise, the method returns boundaries taking into account infinite state of the structure. this approach generally used for application specific fit operation (e.g. fitting the model into screen, not taking into accout infinite helper elements). warning: if the structure <self> is empty then the empty box is returned, if the structure <self> is infinite then the whole box is returned.

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

        Returns
        -------
        Bnd_Box

        """
        return _Graphic3d.Graphic3d_Structure_MinMaxValues(self, *args)

    @staticmethod
    def Network(*args) -> "void":
        r"""
        Returns <aset> the group of structures : - directly or indirectly connected to <astructure> if the typeofconnection == toc_descendant - to which <astructure> is directly or indirectly connected if the typeofconnection == toc_ancestor.

        Parameters
        ----------
        theStructure: Graphic3d_Structure *
        theType: Graphic3d_TypeOfConnection
        theSet: NCollection_Map<Graphic3d_Structure *>

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_Network(*args)

    def NewGroup(self, *args) -> "opencascade::handle< Graphic3d_Group >":
        r"""
        Append new group to this structure.

        Returns
        -------
        opencascade::handle<Graphic3d_Group>

        """
        return _Graphic3d.Graphic3d_Structure_NewGroup(self, *args)

    def NumberOfGroups(self, *args) -> "Standard_Integer":
        r"""
        Returns the current number of groups in this structure.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_Structure_NumberOfGroups(self, *args)

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

        Returns
        -------
        Standard_Address

        """
        return _Graphic3d.Graphic3d_Structure_Owner(self, *args)

    @staticmethod
    def PrintNetwork(*args) -> "void":
        r"""
        Prints informations about the network associated with the structure <astructure>.

        Parameters
        ----------
        AStructure: Graphic3d_Structure
        AType: Graphic3d_TypeOfConnection

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_PrintNetwork(*args)

    def ReCompute(self, *args) -> "void":
        r"""
        Forces a new construction of the structure <self> if <self> is displayed and tos_computed.

        Returns
        -------
        None
        Forces a new construction of the structure <self> if <self> is displayed in <aprojetor> and tos_computed.

        Parameters
        ----------
        aProjector: Graphic3d_DataStructureManager

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_ReCompute(self, *args)

    def Remove(self, *args) -> "void":
        r"""
        Suppress the structure <self>. it will be erased at the next screen update. warning: no more graphic operations in <self> after this call. category: methods to modify the class definition.

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

        Parameters
        ----------
        thePrs: Graphic3d_Structure

        Returns
        -------
        None
        Suppress the structure in the list of descendants or in the list of ancestors.

        Parameters
        ----------
        thePtr: Graphic3d_Structure *
        theType: Graphic3d_TypeOfConnection

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_Remove(self, *args)

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

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_RemoveAll(self, *args)

    def ResetDisplayPriority(self, *args) -> "void":
        r"""
        Reset the current priority of the structure to the previous priority. category: methods to modify the class definition warning: if <self> is displayed then the setdisplaypriority method erase <self> and display <self> with the previous priority.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_ResetDisplayPriority(self, *args)

    def SetClipPlanes(self, *args) -> "void":
        r"""
        Changes a sequence of clip planes slicing the structure on rendering. @param theplanes [in] the set of clip planes.

        Parameters
        ----------
        thePlanes: Graphic3d_SequenceOfHClipPlane

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_SetClipPlanes(self, *args)

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

        Parameters
        ----------
        theVisual: Graphic3d_TypeOfStructure

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_SetComputeVisual(self, *args)

    def SetDisplayPriority(self, *args) -> "void":
        r"""
        Modifies the order of displaying the structure. values are between 0 and 10. structures are drawn according to their display priorities in ascending order. a structure of priority 10 is displayed the last and appears over the others. the default value is 5. category: methods to modify the class definition warning: if <self> is displayed then the setdisplaypriority method erase <self> and display <self> with the new priority. raises prioritydefinitionerror if <priority> is greater than 10 or a negative value.

        Parameters
        ----------
        Priority: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_SetDisplayPriority(self, *args)

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

        Parameters
        ----------
        theFlag: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_SetHLRValidation(self, *args)

    def SetInfiniteState(self, *args) -> "void":
        r"""
        Sets infinite flag. when true, the minmaxvalues method returns: thexmin = theymin = thezmin = realfirst(). thexmax = theymax = thezmax = reallast(). by default, structure is created not infinite but empty.

        Parameters
        ----------
        theToSet: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_SetInfiniteState(self, *args)

    def SetIsForHighlight(self, *args) -> "void":
        r"""
        Marks the structure <self> representing wired structure needed for highlight only so it won't be added to bvh tree.

        Parameters
        ----------
        isForHighlight: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_SetIsForHighlight(self, *args)

    def SetMutable(self, *args) -> "void":
        r"""
        Sets if the structure location has mutable nature (content or location will be changed regularly).

        Parameters
        ----------
        theIsMutable: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_SetMutable(self, *args)

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

        Parameters
        ----------
        theOwner: Standard_Address

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_SetOwner(self, *args)

    def SetTransformPersistence(self, *args) -> "void":
        r"""
        Modifies the current transform persistence (pan, zoom or rotate).

        Parameters
        ----------
        theTrsfPers: Graphic3d_TransformPers

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_SetTransformPersistence(self, *args)

    def SetTransformation(self, *args) -> "void":
        r"""
        Modifies the current local transformation.

        Parameters
        ----------
        theTrsf: TopLoc_Datum3D

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_SetTransformation(self, *args)

    def SetVisible(self, *args) -> "void":
        r"""
        Modifies the visibility indicator to standard_true or standard_false for the structure <self>. the default value at the definition of <self> is standard_true.

        Parameters
        ----------
        AValue: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_SetVisible(self, *args)

    def SetVisual(self, *args) -> "void":
        r"""
        Modifies the visualisation mode for the structure <self>.

        Parameters
        ----------
        AVisual: Graphic3d_TypeOfStructure

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_SetVisual(self, *args)

    def SetZLayer(self, *args) -> "void":
        r"""
        Set z layer id for the structure. the z layer mechanism allows to display structures presented in higher layers in overlay of structures in lower layers by switching off z buffer depth test between layers.

        Parameters
        ----------
        theLayerId: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_SetZLayer(self, *args)

    def SetZoomLimit(self, *args) -> "void":
        r"""
        Modifies the minimum and maximum zoom coefficients for the structure <self>. the default value at the definition of <self> is unlimited. category: methods to modify the class definition warning: raises structuredefinitionerror if <limitinf> is greater than <limitsup> or if <limitinf> or <limitsup> is a negative value.

        Parameters
        ----------
        LimitInf: float
        LimitSup: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_SetZoomLimit(self, *args)

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

        Parameters
        ----------
        theTrsf: TopLoc_Datum3D

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_Transform(self, *args)

    def TransformPersistence(self, *args) -> "opencascade::handle< Graphic3d_TransformPers > const &":
        r"""
        Returns transform persistence of the presentable object.

        Returns
        -------
        opencascade::handle<Graphic3d_TransformPers>

        """
        return _Graphic3d.Graphic3d_Structure_TransformPersistence(self, *args)

    def Transformation(self, *args) -> "opencascade::handle< TopLoc_Datum3D > const &":
        r"""
        Return local transformation.

        Returns
        -------
        opencascade::handle<TopLoc_Datum3D>

        """
        return _Graphic3d.Graphic3d_Structure_Transformation(self, *args)

    @staticmethod
    def Transforms(*args) -> "Standard_Real &, Standard_Real &, Standard_Real &":
        r"""
        Transforms thex, they, thez with the transformation thetrsf.

        Parameters
        ----------
        theTrsf: gp_Trsf
        theX: float
        theY: float
        theZ: float

        Returns
        -------
        theNewX: float
        theNewY: float
        theNewZ: float

        """
        return _Graphic3d.Graphic3d_Structure_Transforms(*args)

    def UnHighlight(self, *args) -> "void":
        r"""
        Suppresses the highlight for the structure <self> in all the views of the visualiser.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_UnHighlight(self, *args)

    def Visual(self, *args) -> "Graphic3d_TypeOfStructure":
        r"""
        Returns the visualisation mode for the structure <self>.

        Returns
        -------
        Graphic3d_TypeOfStructure

        """
        return _Graphic3d.Graphic3d_Structure_Visual(self, *args)

    def computeHLR(self, *args) -> "void":
        r"""
        Returns the new structure defined for the new visualization.

        Parameters
        ----------
        theProjector: Graphic3d_Camera
        theStructure: Graphic3d_Structure

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Structure_computeHLR(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Structure

# Register Graphic3d_Structure in _Graphic3d:
_Graphic3d.Graphic3d_Structure_swigregister(Graphic3d_Structure)

def Graphic3d_Structure_AcceptConnection(*args) -> "Standard_Boolean":
    r"""
    Returns standard_true if the connection is possible between <astructure1> and <astructure2> without a creation of a cycle. //! it's not possible to call the method astructure1->connect (astructure2, typeofconnection) if - the set of all ancestors of <astructure1> contains <astructure1> and if the typeofconnection == toc_descendant - the set of all descendants of <astructure1> contains <astructure2> and if the typeofconnection == toc_ancestor.

    Parameters
    ----------
    theStructure1: Graphic3d_Structure *
    theStructure2: Graphic3d_Structure *
    theType: Graphic3d_TypeOfConnection

    Returns
    -------
    bool

    """
    return _Graphic3d.Graphic3d_Structure_AcceptConnection(*args)

def Graphic3d_Structure_Network(*args) -> "void":
    r"""
    Returns <aset> the group of structures : - directly or indirectly connected to <astructure> if the typeofconnection == toc_descendant - to which <astructure> is directly or indirectly connected if the typeofconnection == toc_ancestor.

    Parameters
    ----------
    theStructure: Graphic3d_Structure *
    theType: Graphic3d_TypeOfConnection
    theSet: NCollection_Map<Graphic3d_Structure *>

    Returns
    -------
    None

    """
    return _Graphic3d.Graphic3d_Structure_Network(*args)

def Graphic3d_Structure_PrintNetwork(*args) -> "void":
    r"""
    Prints informations about the network associated with the structure <astructure>.

    Parameters
    ----------
    AStructure: Graphic3d_Structure
    AType: Graphic3d_TypeOfConnection

    Returns
    -------
    None

    """
    return _Graphic3d.Graphic3d_Structure_PrintNetwork(*args)

def Graphic3d_Structure_Transforms(*args) -> "Standard_Real &, Standard_Real &, Standard_Real &":
    r"""
    Transforms thex, they, thez with the transformation thetrsf.

    Parameters
    ----------
    theTrsf: gp_Trsf
    theX: float
    theY: float
    theZ: float

    Returns
    -------
    theNewX: float
    theNewY: float
    theNewZ: float

    """
    return _Graphic3d.Graphic3d_Structure_Transforms(*args)

class Graphic3d_StructureManager(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"""
        Initializes the viewmanager. currently creating of more than 100 viewer instances is not supported and leads to initializationerror and initialization failure. this limitation might be addressed in some future occt releases. warning: raises initialisationerror if the initialization of the viewmanager failed.

        Parameters
        ----------
        theDriver: Graphic3d_GraphicDriver

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_StructureManager_swiginit(self, _Graphic3d.new_Graphic3d_StructureManager(*args))

    def ChangeDisplayPriority(self, *args) -> "void":
        r"""
        Changes the display priority of the structure <astructure>.

        Parameters
        ----------
        theStructure: Graphic3d_Structure
        theOldPriority: int
        theNewPriority: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_ChangeDisplayPriority(self, *args)

    def ChangeZLayer(self, *args) -> "void":
        r"""
        Change z layer for structure. the z layer mechanism allows to display structures in higher layers in overlay of structures in lower layers.

        Parameters
        ----------
        theStructure: Graphic3d_Structure
        theLayerId: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_ChangeZLayer(self, *args)

    def Clear(self, *args) -> "void":
        r"""
        Clears the structure.

        Parameters
        ----------
        theStructure: Graphic3d_Structure *
        theWithDestruction: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_Clear(self, *args)

    def Connect(self, *args) -> "void":
        r"""
        Connects the structures.

        Parameters
        ----------
        theMother: Graphic3d_Structure *
        theDaughter: Graphic3d_Structure *

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_Connect(self, *args)

    def DefinedViews(self, *args) -> "Graphic3d_IndexedMapOfView const &":
        r"""
        Returns the group of views defined in the structure manager.

        Returns
        -------
        Graphic3d_IndexedMapOfView

        """
        return _Graphic3d.Graphic3d_StructureManager_DefinedViews(self, *args)

    def Disconnect(self, *args) -> "void":
        r"""
        Disconnects the structures.

        Parameters
        ----------
        theMother: Graphic3d_Structure *
        theDaughter: Graphic3d_Structure *

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_Disconnect(self, *args)

    def Display(self, *args) -> "void":
        r"""
        Display the structure.

        Parameters
        ----------
        theStructure: Graphic3d_Structure

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_Display(self, *args)

    def DisplayedStructures(self, *args) -> "void":
        r"""
        Returns the set of structures displayed in visualiser <self>.

        Parameters
        ----------
        SG: Graphic3d_MapOfStructure

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_DisplayedStructures(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_StructureManager self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_StructureManager_DumpJsonToString(self, depth)

    def Erase(self, *args) -> "void":
        r"""
        Erases all the structures.

        Returns
        -------
        None
        Erases the structure.

        Parameters
        ----------
        theStructure: Graphic3d_Structure

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_Erase(self, *args)

    def GraphicDriver(self, *args) -> "opencascade::handle< Graphic3d_GraphicDriver > const &":
        r"""
        Returns the graphic driver of <self>.

        Returns
        -------
        opencascade::handle<Graphic3d_GraphicDriver>

        """
        return _Graphic3d.Graphic3d_StructureManager_GraphicDriver(self, *args)

    def Highlight(self, *args) -> "void":
        r"""
        Highlights the structure.

        Parameters
        ----------
        theStructure: Graphic3d_Structure

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_Highlight(self, *args)

    def HighlightedStructures(self, *args) -> "void":
        r"""
        Returns the set of highlighted structures in a visualiser <self>.

        Parameters
        ----------
        SG: Graphic3d_MapOfStructure

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_HighlightedStructures(self, *args)

    def Identification(self, *args) -> "opencascade::handle< Graphic3d_Structure >":
        r"""
        Attaches the view to this structure manager and sets its identification number within the manager.

        Parameters
        ----------
        theView: Graphic3d_CView *

        Returns
        -------
        int
        Returns the structure with the identification number <aid>.

        Parameters
        ----------
        AId: int

        Returns
        -------
        opencascade::handle<Graphic3d_Structure>

        """
        return _Graphic3d.Graphic3d_StructureManager_Identification(self, *args)

    def IsDeviceLost(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if device lost flag has been set and presentation data should be reuploaded onto graphics driver.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_StructureManager_IsDeviceLost(self, *args)

    def MaxNumOfViews(self, *args) -> "Standard_Integer":
        r"""
        Returns the theoretical maximum number of definable views in the manager. warning: it's not possible to accept an infinite number of definable views because each view must have an identification and we have different managers.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_StructureManager_MaxNumOfViews(self, *args)

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

        Parameters
        ----------
        theObject: Standard_Transient

        Returns
        -------
        opencascade::handle<Graphic3d_ViewAffinity>

        """
        return _Graphic3d.Graphic3d_StructureManager_ObjectAffinity(self, *args)

    def ReCompute(self, *args) -> "void":
        r"""
        Forces a new construction of the structure. if <thestructure> is displayed and tos_computed.

        Parameters
        ----------
        theStructure: Graphic3d_Structure

        Returns
        -------
        None
        Forces a new construction of the structure. if <thestructure> is displayed in <theprojector> and tos_computed.

        Parameters
        ----------
        theStructure: Graphic3d_Structure
        theProjector: Graphic3d_DataStructureManager

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_ReCompute(self, *args)

    def RecomputeStructures(self, *args) -> "void":
        r"""
        Recomputes all structures in the manager. resets device lost flag.

        Returns
        -------
        None
        Recomputes all structures from thestructures.

        Parameters
        ----------
        theStructures: NCollection_Map<Graphic3d_Structure *>

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_RecomputeStructures(self, *args)

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

        Parameters
        ----------
        theObject: Standard_Transient

        Returns
        -------
        opencascade::handle<Graphic3d_ViewAffinity>

        """
        return _Graphic3d.Graphic3d_StructureManager_RegisterObject(self, *args)

    def Remove(self, *args) -> "void":
        r"""
        Deletes and erases the 3d structure manager.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_Remove(self, *args)

    def SetDeviceLost(self, *args) -> "void":
        r"""
        Sets device lost flag.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_SetDeviceLost(self, *args)

    def SetTransform(self, *args) -> "void":
        r"""
        Transforms the structure.

        Parameters
        ----------
        theStructure: Graphic3d_Structure
        theTrsf: TopLoc_Datum3D

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_SetTransform(self, *args)

    def UnHighlight(self, *args) -> "void":
        r"""
        Suppress the highlighting on the structure <astructure>.

        Parameters
        ----------
        AStructure: Graphic3d_Structure

        Returns
        -------
        None
        Suppresses the highlighting on all the structures in <self>.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_UnHighlight(self, *args)

    def UnIdentification(self, *args) -> "void":
        r"""
        Detach the view from this structure manager and release its identification.

        Parameters
        ----------
        theView: Graphic3d_CView *

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_UnIdentification(self, *args)

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

        Parameters
        ----------
        theObject: Standard_Transient

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_UnregisterObject(self, *args)

    def Update(self, *args) -> "void":
        r"""
        Invalidates bounding box of specified zlayerid.

        Parameters
        ----------
        theLayerId: int,optional
        	default value is Graphic3d_ZLayerId_UNKNOWN

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_StructureManager_Update(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_StructureManager

# Register Graphic3d_StructureManager in _Graphic3d:
_Graphic3d.Graphic3d_StructureManager_swigregister(Graphic3d_StructureManager)

class Graphic3d_Text(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"""
        Creates default text parameters.

        Parameters
        ----------
        theHeight: Standard_ShortReal

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_Text_swiginit(self, _Graphic3d.new_Graphic3d_Text(*args))

    def HasOwnAnchorPoint(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the text has an anchor point.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Text_HasOwnAnchorPoint(self, *args)

    def HasPlane(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the text is filled by a point.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Text_HasPlane(self, *args)

    def Height(self, *args) -> "Standard_ShortReal":
        r"""
        Sets height of text. (relative to the normalized projection coordinates (npc) space).

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_Text_Height(self, *args)

    def HorizontalAlignment(self, *args) -> "Graphic3d_HorizontalTextAlignment":
        r"""
        Returns horizontal alignment of text.

        Returns
        -------
        Graphic3d_HorizontalTextAlignment

        """
        return _Graphic3d.Graphic3d_Text_HorizontalAlignment(self, *args)

    def Orientation(self, *args) -> "gp_Ax2 const":
        r"""
        Returns text orientation in 3d space.

        Returns
        -------
        gp_Ax2

        """
        return _Graphic3d.Graphic3d_Text_Orientation(self, *args)

    def Position(self, *args) -> "gp_Pnt const":
        r"""
        The 3d point of attachment is projected. if the orientation is defined, the text is written in the plane of projection.

        Returns
        -------
        gp_Pnt

        """
        return _Graphic3d.Graphic3d_Text_Position(self, *args)

    def ResetOrientation(self, *args) -> "void":
        r"""
        Reset text orientation in 3d space.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Text_ResetOrientation(self, *args)

    def SetHeight(self, *args) -> "void":
        r"""
        Returns height of text.

        Parameters
        ----------
        theHeight: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Text_SetHeight(self, *args)

    def SetHorizontalAlignment(self, *args) -> "void":
        r"""
        Sets horizontal alignment of text.

        Parameters
        ----------
        theJustification: Graphic3d_HorizontalTextAlignment

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Text_SetHorizontalAlignment(self, *args)

    def SetOrientation(self, *args) -> "void":
        r"""
        Sets text orientation in 3d space.

        Parameters
        ----------
        theOrientation: gp_Ax2

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Text_SetOrientation(self, *args)

    def SetOwnAnchorPoint(self, *args) -> "void":
        r"""
        Returns true if the text has an anchor point.

        Parameters
        ----------
        theHasOwnAnchor: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Text_SetOwnAnchorPoint(self, *args)

    def SetPosition(self, *args) -> "void":
        r"""
        Sets text point.

        Parameters
        ----------
        thePoint: gp_Pnt

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Text_SetPosition(self, *args)

    def SetText(self, *args) -> "void":
        r"""
        Sets text value.

        Parameters
        ----------
        theText: NCollection_String

        Returns
        -------
        None
        Sets text value.

        Parameters
        ----------
        theText: TCollection_AsciiString

        Returns
        -------
        None
        Sets text value.

        Parameters
        ----------
        theText: char *

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Text_SetText(self, *args)

    def SetTextFormatter(self, *args) -> "void":
        r"""
        Setup text default formatter for text within this context.

        Parameters
        ----------
        theFormatter: Font_TextFormatter

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Text_SetTextFormatter(self, *args)

    def SetVerticalAlignment(self, *args) -> "void":
        r"""
        Sets vertical alignment of text.

        Parameters
        ----------
        theJustification: Graphic3d_VerticalTextAlignment

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Text_SetVerticalAlignment(self, *args)

    def Text(self, *args) -> "NCollection_String const &":
        r"""
        Returns text value.

        Returns
        -------
        NCollection_String

        """
        return _Graphic3d.Graphic3d_Text_Text(self, *args)

    def TextFormatter(self, *args) -> "opencascade::handle< Font_TextFormatter > const &":
        r"""
        Returns text formatter; null by default, which means standard text formatter will be used.

        Returns
        -------
        opencascade::handle<Font_TextFormatter>

        """
        return _Graphic3d.Graphic3d_Text_TextFormatter(self, *args)

    def VerticalAlignment(self, *args) -> "Graphic3d_VerticalTextAlignment":
        r"""
        Returns vertical alignment of text.

        Returns
        -------
        Graphic3d_VerticalTextAlignment

        """
        return _Graphic3d.Graphic3d_Text_VerticalAlignment(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Text

# Register Graphic3d_Text in _Graphic3d:
_Graphic3d.Graphic3d_Text_swigregister(Graphic3d_Text)

class Graphic3d_TextureParams(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"""
        Default constructor.

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_TextureParams_swiginit(self, _Graphic3d.new_Graphic3d_TextureParams(*args))

    def AnisoFilter(self, *args) -> "Graphic3d_LevelOfTextureAnisotropy":
        r"""
        Returns level of anisontropy texture filter. default value is graphic3d_lota_off.

        Returns
        -------
        Graphic3d_LevelOfTextureAnisotropy

        """
        return _Graphic3d.Graphic3d_TextureParams_AnisoFilter(self, *args)

    def BaseLevel(self, *args) -> "Standard_Integer":
        r"""
        Returns base texture mipmap level; 0 by default.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_TextureParams_BaseLevel(self, *args)

    def Filter(self, *args) -> "Graphic3d_TypeOfTextureFilter":
        r"""
        Returns texture interpolation filter. default value is graphic3d_totf_nearest.

        Returns
        -------
        Graphic3d_TypeOfTextureFilter

        """
        return _Graphic3d.Graphic3d_TextureParams_Filter(self, *args)

    def GenMode(self, *args) -> "Graphic3d_TypeOfTextureMode":
        r"""
        Returns texture coordinates generation mode. default value is graphic3d_totm_manual.

        Returns
        -------
        Graphic3d_TypeOfTextureMode

        """
        return _Graphic3d.Graphic3d_TextureParams_GenMode(self, *args)

    def GenPlaneS(self, *args) -> "Graphic3d_Vec4 const &":
        r"""
        Returns texture coordinates generation plane s.

        Returns
        -------
        Graphic3d_Vec4

        """
        return _Graphic3d.Graphic3d_TextureParams_GenPlaneS(self, *args)

    def GenPlaneT(self, *args) -> "Graphic3d_Vec4 const &":
        r"""
        Returns texture coordinates generation plane t.

        Returns
        -------
        Graphic3d_Vec4

        """
        return _Graphic3d.Graphic3d_TextureParams_GenPlaneT(self, *args)

    def IsModulate(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the texture is modulate. default value is false.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_TextureParams_IsModulate(self, *args)

    def IsRepeat(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the texture repeat is enabled. default value is false.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_TextureParams_IsRepeat(self, *args)

    def MaxLevel(self, *args) -> "Standard_Integer":
        r"""
        Return maximum texture mipmap array level; 1000 by default. real rendering limit will take into account mipmap generation flags and presence of mipmaps in loaded image.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_TextureParams_MaxLevel(self, *args)

    def Rotation(self, *args) -> "Standard_ShortReal":
        r"""
        Return rotation angle in degrees; 0 by default. complete transformation matrix: rotation -> translation -> scale.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_TextureParams_Rotation(self, *args)

    def SamplerRevision(self, *args) -> "unsigned int":
        r"""
        Return modification counter of parameters related to sampler state.

        Returns
        -------
        unsigned int

        """
        return _Graphic3d.Graphic3d_TextureParams_SamplerRevision(self, *args)

    def Scale(self, *args) -> "Graphic3d_Vec2 const &":
        r"""
        Return scale factor; (1.0; 1.0) by default, which means no scaling. complete transformation matrix: rotation -> translation -> scale.

        Returns
        -------
        Graphic3d_Vec2

        """
        return _Graphic3d.Graphic3d_TextureParams_Scale(self, *args)

    def SetAnisoFilter(self, *args) -> "void":
        r"""
        @param thelevel level of anisontropy texture filter.

        Parameters
        ----------
        theLevel: Graphic3d_LevelOfTextureAnisotropy

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureParams_SetAnisoFilter(self, *args)

    def SetFilter(self, *args) -> "void":
        r"""
        @param thefilter texture interpolation filter.

        Parameters
        ----------
        theFilter: Graphic3d_TypeOfTextureFilter

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureParams_SetFilter(self, *args)

    def SetGenMode(self, *args) -> "void":
        r"""
        Setup texture coordinates generation mode.

        Parameters
        ----------
        theMode: Graphic3d_TypeOfTextureMode
        thePlaneS: Graphic3d_Vec4
        thePlaneT: Graphic3d_Vec4

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureParams_SetGenMode(self, *args)

    def SetLevelsRange(self, *args) -> "void":
        r"""
        Setups texture mipmap array levels range. the lowest value will be the base level. the remaining one will be the maximum level.

        Parameters
        ----------
        theFirstLevel: int
        theSecondLevel: int,optional
        	default value is 0

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureParams_SetLevelsRange(self, *args)

    def SetModulate(self, *args) -> "void":
        r"""
        @param thetomodulate turn modulation on/off.

        Parameters
        ----------
        theToModulate: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureParams_SetModulate(self, *args)

    def SetRepeat(self, *args) -> "void":
        r"""
        @param thetorepeat turn texture repeat mode on or off (clamping).

        Parameters
        ----------
        theToRepeat: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureParams_SetRepeat(self, *args)

    def SetRotation(self, *args) -> "void":
        r"""
        @param theangledegrees rotation angle.

        Parameters
        ----------
        theAngleDegrees: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureParams_SetRotation(self, *args)

    def SetScale(self, *args) -> "void":
        r"""
        @param thescale scale factor.

        Parameters
        ----------
        theScale: Graphic3d_Vec2

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureParams_SetScale(self, *args)

    def SetTextureUnit(self, *args) -> "void":
        r"""
        Setup default texture unit.

        Parameters
        ----------
        theUnit: Graphic3d_TextureUnit

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureParams_SetTextureUnit(self, *args)

    def SetTranslation(self, *args) -> "void":
        r"""
        @param thevec translation vector.

        Parameters
        ----------
        theVec: Graphic3d_Vec2

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureParams_SetTranslation(self, *args)

    def TextureUnit(self, *args) -> "Graphic3d_TextureUnit":
        r"""
        Default texture unit to be used, default is graphic3d_textureunit_basecolor.

        Returns
        -------
        Graphic3d_TextureUnit

        """
        return _Graphic3d.Graphic3d_TextureParams_TextureUnit(self, *args)

    def Translation(self, *args) -> "Graphic3d_Vec2 const &":
        r"""
        Return translation vector; (0.0; 0.0), which means no translation. complete transformation matrix: rotation -> translation -> scale.

        Returns
        -------
        Graphic3d_Vec2

        """
        return _Graphic3d.Graphic3d_TextureParams_Translation(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_TextureParams

# Register Graphic3d_TextureParams in _Graphic3d:
_Graphic3d.Graphic3d_TextureParams_swigregister(Graphic3d_TextureParams)

class Graphic3d_TextureRoot(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 GetCompressedImage(self, *args) -> "opencascade::handle< Image_CompressedPixMap >":
        r"""
        This method will be called by graphic driver each time when texture resource should be created. it is called in front of getimage() for uploading compressed image formats natively supported by gpu. @param thesupported [in] the list of supported compressed texture formats;  returning image in unsupported format will result in texture upload failure returns compressed pixmap or null if image is not in supported compressed format.

        Parameters
        ----------
        theSupported: Image_SupportedFormats

        Returns
        -------
        opencascade::handle<Image_CompressedPixMap>

        """
        return _Graphic3d.Graphic3d_TextureRoot_GetCompressedImage(self, *args)

    def GetId(self, *args) -> "TCollection_AsciiString const &":
        r"""
        This id will be used to manage resource in graphic driver. //! default implementation generates unique id within constructor; inheritors may re-initialize it within their constructor, but should never modify it afterwards. //! multiple graphic3d_textureroot instances with same id will be treated as single texture with different parameters to optimize memory usage though this will be more natural to use same instance of graphic3d_textureroot when possible. //! if this id is set to empty string by inheritor, then independent graphical resource will be created for each instance of graphic3d_aspectfillarea3d where texture will be used. //! returns texture identifier.

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_TextureRoot_GetId(self, *args)

    def GetImage(self, *args) -> "opencascade::handle< Image_PixMap >":
        r"""
        This method will be called by graphic driver each time when texture resource should be created. default constructors allow defining the texture source as path to texture image or directly as pixmap. if the source is defined as path, then the image will be dynamically loaded when this method is called (and no copy will be preserved in this class instance). inheritors may dynamically generate the image. notice, image data should be in bottom-up order (see image_pixmap::istopdown())! returns the image for texture.

        Parameters
        ----------
        theSupported: Image_SupportedFormats

        Returns
        -------
        opencascade::handle<Image_PixMap>

        """
        return _Graphic3d.Graphic3d_TextureRoot_GetImage(self, *args)

    def GetParams(self, *args) -> "opencascade::handle< Graphic3d_TextureParams > const &":
        r"""
        Returns low-level texture parameters.

        Returns
        -------
        opencascade::handle<Graphic3d_TextureParams>

        """
        return _Graphic3d.Graphic3d_TextureRoot_GetParams(self, *args)

    def IsColorMap(self, *args) -> "Standard_Boolean":
        r"""
        Return flag indicating color nature of values within the texture; true by default. //! this flag will be used to interpret 8-bit per channel rgb(a) images as srgb(a) textures with implicit linearizion of color components. has no effect on images with floating point values (always considered linearized). //! when set to false, such images will be interpreted as textures will be linear component values, which is useful for rgb(a) textures defining non-color properties (like normalmap/metalness/roughness).

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_TextureRoot_IsColorMap(self, *args)

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        Checks if a texture class is valid or not. returns true if the construction of the class is correct.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_TextureRoot_IsDone(self, *args)

    def IsTopDown(self, *args) -> "Standard_Boolean":
        r"""
        Returns whether row's memory layout is top-down.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_TextureRoot_IsTopDown(self, *args)

    def Path(self, *args) -> "OSD_Path const &":
        r"""
        Returns the full path of the defined texture. it could be empty path if getimage() is overridden to load image not from file.

        Returns
        -------
        OSD_Path

        """
        return _Graphic3d.Graphic3d_TextureRoot_Path(self, *args)

    def Revision(self, *args) -> "Standard_Size":
        r"""
        Return image revision.

        Returns
        -------
        Standard_Size

        """
        return _Graphic3d.Graphic3d_TextureRoot_Revision(self, *args)

    def SetColorMap(self, *args) -> "void":
        r"""
        Set flag indicating color nature of values within the texture.

        Parameters
        ----------
        theIsColor: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureRoot_SetColorMap(self, *args)

    @staticmethod
    def TexturesFolder(*args) -> "TCollection_AsciiString":
        r"""
        The path to textures determined from csf_mdtvtexturesdirectory or casroot environment variables. returns the root folder with default textures.

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_TextureRoot_TexturesFolder(*args)

    def Type(self, *args) -> "Graphic3d_TypeOfTexture":
        r"""
        Returns the texture type.

        Returns
        -------
        Graphic3d_TypeOfTexture

        """
        return _Graphic3d.Graphic3d_TextureRoot_Type(self, *args)

    def UpdateRevision(self, *args) -> "void":
        r"""
        Update image revision. can be used for signaling changes in the texture source (e.g. file update, pixmap update) without re-creating texture source itself (since unique id should be never modified).

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureRoot_UpdateRevision(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_TextureRoot

# Register Graphic3d_TextureRoot in _Graphic3d:
_Graphic3d.Graphic3d_TextureRoot_swigregister(Graphic3d_TextureRoot)

def Graphic3d_TextureRoot_TexturesFolder(*args) -> "TCollection_AsciiString":
    r"""
    The path to textures determined from csf_mdtvtexturesdirectory or casroot environment variables. returns the root folder with default textures.

    Returns
    -------
    TCollection_AsciiString

    """
    return _Graphic3d.Graphic3d_TextureRoot_TexturesFolder(*args)

class Graphic3d_ValidatedCubeMapOrder(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"""
        Copy constructor.

        Parameters
        ----------
        theOther: Graphic3d_ValidatedCubeMapOrder

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_ValidatedCubeMapOrder_swiginit(self, _Graphic3d.new_Graphic3d_ValidatedCubeMapOrder(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ValidatedCubeMapOrder

# Register Graphic3d_ValidatedCubeMapOrder in _Graphic3d:
_Graphic3d.Graphic3d_ValidatedCubeMapOrder_swigregister(Graphic3d_ValidatedCubeMapOrder)

class Graphic3d_ValueInterface(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")
    __repr__ = _swig_repr

    def TypeID(self, *args) -> "Standard_Size":
        r"""
        Returns unique identifier of value type.

        Returns
        -------
        Standard_Size

        """
        return _Graphic3d.Graphic3d_ValueInterface_TypeID(self, *args)

    __repr__ = _dumps_object

    @methodnotwrapped
    def As(self):
    	pass

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ValueInterface

# Register Graphic3d_ValueInterface in _Graphic3d:
_Graphic3d.Graphic3d_ValueInterface_swigregister(Graphic3d_ValueInterface)

class Graphic3d_Vertex(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    xyz = property(_Graphic3d.Graphic3d_Vertex_xyz_get, _Graphic3d.Graphic3d_Vertex_xyz_set)

    def __init__(self, *args):
        r"""
        Creates a point with 0.0, 0.0, 0.0 coordinates.

        Returns
        -------
        None
        Creates a point with thex, they and thez coordinates.

        Parameters
        ----------
        theX: Standard_ShortReal
        theY: Standard_ShortReal
        theZ: Standard_ShortReal

        Returns
        -------
        None
        Creates a point with thex, they and thez coordinates.

        Parameters
        ----------
        theX: float
        theY: float
        theZ: float

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_Vertex_swiginit(self, _Graphic3d.new_Graphic3d_Vertex(*args))

    def Coord(self, *args) -> "void":
        r"""
        Returns the coordinates.

        Parameters
        ----------
        theX: Standard_ShortReal
        theY: Standard_ShortReal
        theZ: Standard_ShortReal

        Returns
        -------
        None
        Returns the coordinates.

        Parameters
        ----------

        Returns
        -------
        theX: float
        theY: float
        theZ: float

        """
        return _Graphic3d.Graphic3d_Vertex_Coord(self, *args)

    def Distance(self, *args) -> "Standard_ShortReal":
        r"""
        Returns the distance between two points.

        Parameters
        ----------
        theOther: Graphic3d_Vertex

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_Vertex_Distance(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_Vertex self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_Vertex_DumpJsonToString(self, depth)

    def SetCoord(self, *args) -> "void":
        r"""
        Modifies the coordinates.

        Parameters
        ----------
        theX: Standard_ShortReal
        theY: Standard_ShortReal
        theZ: Standard_ShortReal

        Returns
        -------
        None
        Modifies the coordinates.

        Parameters
        ----------
        theX: float
        theY: float
        theZ: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Vertex_SetCoord(self, *args)

    def X(self, *args) -> "Standard_ShortReal":
        r"""
        Returns the x coordinates.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_Vertex_X(self, *args)

    def Y(self, *args) -> "Standard_ShortReal":
        r"""
        Returns the y coordinate.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_Vertex_Y(self, *args)

    def Z(self, *args) -> "Standard_ShortReal":
        r"""
        Returns the z coordinate.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_Vertex_Z(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Vertex

# Register Graphic3d_Vertex in _Graphic3d:
_Graphic3d.Graphic3d_Vertex_swigregister(Graphic3d_Vertex)

class Graphic3d_ViewAffinity(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"""
        Empty constructor.

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_ViewAffinity_swiginit(self, _Graphic3d.new_Graphic3d_ViewAffinity(*args))

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_ViewAffinity self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_ViewAffinity_DumpJsonToString(self, depth)

    def IsVisible(self, *args) -> "bool":
        r"""
        Return visibility flag.

        Parameters
        ----------
        theViewId: int

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ViewAffinity_IsVisible(self, *args)

    def SetVisible(self, *args) -> "void":
        r"""
        Setup visibility flag for all views.

        Parameters
        ----------
        theIsVisible: bool

        Returns
        -------
        None
        Setup visibility flag.

        Parameters
        ----------
        theViewId: int
        theIsVisible: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ViewAffinity_SetVisible(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ViewAffinity

# Register Graphic3d_ViewAffinity in _Graphic3d:
_Graphic3d.Graphic3d_ViewAffinity_swigregister(Graphic3d_ViewAffinity)

class Graphic3d_WorldViewProjState(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"""
        Default constructor.

        Returns
        -------
        None
        Constructor for custom projector type. @param theprojectionstate [in] the projection state. @param theworldviewstate [in] the world view state. @param thecamera [in] the pointer to the class supplying projection and  world view matrices (camera).

        Parameters
        ----------
        theProjectionState: Standard_Size
        theWorldViewState: Standard_Size
        theCamera: Standard_Transient *,optional
        	default value is NULL

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_WorldViewProjState_swiginit(self, _Graphic3d.new_Graphic3d_WorldViewProjState(*args))

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_WorldViewProjState self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_WorldViewProjState_DumpJsonToString(self, depth)

    def Initialize(self, *args) -> "void":
        r"""
        Initialize world view projection state.

        Parameters
        ----------
        theProjectionState: Standard_Size
        theWorldViewState: Standard_Size
        theCamera: Standard_Transient *,optional
        	default value is NULL

        Returns
        -------
        None
        Initialize world view projection state.

        Parameters
        ----------
        theCamera: Standard_Transient *,optional
        	default value is NULL

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_WorldViewProjState_Initialize(self, *args)

    def IsChanged(self, *args) -> "Standard_Boolean":
        r"""
        Compare with other world view projection state. returns true when the projection of the given camera state differs from this one.

        Parameters
        ----------
        theState: Graphic3d_WorldViewProjState

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_WorldViewProjState_IsChanged(self, *args)

    def IsProjectionChanged(self, *args) -> "Standard_Boolean":
        r"""
        Compare projection with other state. returns true when the projection of the given camera state differs from this one.

        Parameters
        ----------
        theState: Graphic3d_WorldViewProjState

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_WorldViewProjState_IsProjectionChanged(self, *args)

    def IsValid(self, *args) -> "Standard_Boolean":
        r"""
        Check state validity. returns true if state is set.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_WorldViewProjState_IsValid(self, *args)

    def IsWorldViewChanged(self, *args) -> "Standard_Boolean":
        r"""
        Compare world view transformation with other state. returns true when the orientation of the given camera state differs from this one.

        Parameters
        ----------
        theState: Graphic3d_WorldViewProjState

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_WorldViewProjState_IsWorldViewChanged(self, *args)

    def ProjectionState(self, *args) -> "Standard_Size &":
        r"""
        Returns projection state counter.

        Returns
        -------
        Standard_Size

        """
        return _Graphic3d.Graphic3d_WorldViewProjState_ProjectionState(self, *args)

    def Reset(self, *args) -> "void":
        r"""
        Invalidate world view projection state.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_WorldViewProjState_Reset(self, *args)

    def WorldViewState(self, *args) -> "Standard_Size &":
        r"""
        Returns world view state counter.

        Returns
        -------
        Standard_Size

        """
        return _Graphic3d.Graphic3d_WorldViewProjState_WorldViewState(self, *args)

    def __ne_wrapper__(self, other: "Graphic3d_WorldViewProjState") -> "bool":
        r"""__ne_wrapper__(Graphic3d_WorldViewProjState self, Graphic3d_WorldViewProjState other) -> bool"""
        return _Graphic3d.Graphic3d_WorldViewProjState___ne_wrapper__(self, other)

    def __ne__(self, right):
        try:
            return self.__ne_wrapper__(right)
        except:
            return True


    def __eq_wrapper__(self, other: "Graphic3d_WorldViewProjState") -> "bool":
        r"""__eq_wrapper__(Graphic3d_WorldViewProjState self, Graphic3d_WorldViewProjState other) -> bool"""
        return _Graphic3d.Graphic3d_WorldViewProjState___eq_wrapper__(self, other)

    def __eq__(self, right):
        try:
            return self.__eq_wrapper__(right)
        except:
            return False


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_WorldViewProjState

# Register Graphic3d_WorldViewProjState in _Graphic3d:
_Graphic3d.Graphic3d_WorldViewProjState_swigregister(Graphic3d_WorldViewProjState)

class Graphic3d_ZLayerSettings(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"""
        Default settings.

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_ZLayerSettings_swiginit(self, _Graphic3d.new_Graphic3d_ZLayerSettings(*args))

    def ChangePolygonOffset(self, *args) -> "Graphic3d_PolygonOffset &":
        r"""
        Modify glpolygonoffset() arguments.

        Returns
        -------
        Graphic3d_PolygonOffset

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_ChangePolygonOffset(self, *args)

    def CullingDistance(self, *args) -> "Standard_Real":
        r"""
        Return the distance to discard drawing of distant objects (distance from camera eye point); by default it is infinite (distance culling is disabled). since camera eye definition has no strong meaning within orthographic projection, option is considered only within perspective projection. note also that this option has effect only when frustum culling is enabled.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_CullingDistance(self, *args)

    def CullingSize(self, *args) -> "Standard_Real":
        r"""
        Return the size to discard drawing of small objects; by default it is infinite (size culling is disabled). current implementation checks the length of projected diagonal of bounding box in pixels for discarding. note that this option has effect only when frustum culling is enabled.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_CullingSize(self, *args)

    def DisableSetting(self, *args) -> "void":
        r"""
        Disables thesetting.

        Parameters
        ----------
        theSetting: Graphic3d_ZLayerSetting

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_DisableSetting(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_ZLayerSettings self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_ZLayerSettings_DumpJsonToString(self, depth)

    def EnableSetting(self, *args) -> "void":
        r"""
        Enables thesetting.

        Parameters
        ----------
        theSetting: Graphic3d_ZLayerSetting

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_EnableSetting(self, *args)

    def HasCullingDistance(self, *args) -> "Standard_Boolean":
        r"""
        Return true, if culling of distant objects (distance culling) should be performed; false by default. @sa cullingdistance().

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_HasCullingDistance(self, *args)

    def HasCullingSize(self, *args) -> "Standard_Boolean":
        r"""
        Return true, if culling of small objects (size culling) should be performed; false by default. @sa cullingsize().

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_HasCullingSize(self, *args)

    def IsImmediate(self, *args) -> "Standard_Boolean":
        r"""
        Return true if this layer should be drawn after all normal (non-immediate) layers.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_IsImmediate(self, *args)

    def IsRaytracable(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if layer should be processed by ray-tracing renderer; true by default. note that this flag is ignored for layers with isimmediate() flag.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_IsRaytracable(self, *args)

    def IsSettingEnabled(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if thesetting is enabled.

        Parameters
        ----------
        theSetting: Graphic3d_ZLayerSetting

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_IsSettingEnabled(self, *args)

    def Lights(self, *args) -> "opencascade::handle< Graphic3d_LightSet > const &":
        r"""
        Return lights list to be used for rendering presentations within this z-layer; null by default. null list (but not empty list!) means that default lights assigned to the view should be used instead of per-layer lights.

        Returns
        -------
        opencascade::handle<Graphic3d_LightSet>

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_Lights(self, *args)

    def Name(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Return user-provided name.

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_Name(self, *args)

    def Origin(self, *args) -> "gp_XYZ const":
        r"""
        Return the origin of all objects within the layer.

        Returns
        -------
        gp_XYZ

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_Origin(self, *args)

    def OriginTransformation(self, *args) -> "opencascade::handle< TopLoc_Datum3D > const &":
        r"""
        Return the transformation to the origin.

        Returns
        -------
        opencascade::handle<TopLoc_Datum3D>

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_OriginTransformation(self, *args)

    def PolygonOffset(self, *args) -> "Graphic3d_PolygonOffset const &":
        r"""
        Return glpolygonoffset() arguments.

        Returns
        -------
        Graphic3d_PolygonOffset

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_PolygonOffset(self, *args)

    def SetClearDepth(self, *args) -> "void":
        r"""
        Set if depth values should be cleared before drawing the layer.

        Parameters
        ----------
        theValue: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_SetClearDepth(self, *args)

    def SetCullingDistance(self, *args) -> "void":
        r"""
        Set the distance to discard drawing objects.

        Parameters
        ----------
        theDistance: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_SetCullingDistance(self, *args)

    def SetCullingSize(self, *args) -> "void":
        r"""
        Set the distance to discard drawing objects.

        Parameters
        ----------
        theSize: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_SetCullingSize(self, *args)

    def SetDepthOffsetNegative(self, *args) -> "void":
        r"""
        Sets minimal possible negative depth offset.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_SetDepthOffsetNegative(self, *args)

    def SetDepthOffsetPositive(self, *args) -> "void":
        r"""
        Sets minimal possible positive depth offset.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_SetDepthOffsetPositive(self, *args)

    def SetEnableDepthTest(self, *args) -> "void":
        r"""
        Set if depth test should be enabled.

        Parameters
        ----------
        theValue: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_SetEnableDepthTest(self, *args)

    def SetEnableDepthWrite(self, *args) -> "void":
        r"""
        Set if depth values should be written during rendering.

        Parameters
        ----------
        theValue: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_SetEnableDepthWrite(self, *args)

    def SetEnvironmentTexture(self, *args) -> "void":
        r"""
        Set the flag to allow/prevent environment texture mapping usage for specific layer.

        Parameters
        ----------
        theValue: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_SetEnvironmentTexture(self, *args)

    def SetImmediate(self, *args) -> "void":
        r"""
        Set the flag indicating the immediate layer, which should be drawn after all normal (non-immediate) layers.

        Parameters
        ----------
        theValue: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_SetImmediate(self, *args)

    def SetLights(self, *args) -> "void":
        r"""
        Assign lights list to be used.

        Parameters
        ----------
        theLights: Graphic3d_LightSet

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_SetLights(self, *args)

    def SetName(self, *args) -> "void":
        r"""
        Set custom name.

        Parameters
        ----------
        theName: TCollection_AsciiString

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_SetName(self, *args)

    def SetOrigin(self, *args) -> "void":
        r"""
        Set the origin of all objects within the layer.

        Parameters
        ----------
        theOrigin: gp_XYZ

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_SetOrigin(self, *args)

    def SetPolygonOffset(self, *args) -> "void":
        r"""
        Setup glpolygonoffset() arguments.

        Parameters
        ----------
        theParams: Graphic3d_PolygonOffset

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_SetPolygonOffset(self, *args)

    def SetRaytracable(self, *args) -> "void":
        r"""
        Sets if layer should be processed by ray-tracing renderer.

        Parameters
        ----------
        theToRaytrace: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_SetRaytracable(self, *args)

    def SetRenderInDepthPrepass(self, *args) -> "void":
        r"""
        Set if layer should be rendered within depth pre-pass.

        Parameters
        ----------
        theToRender: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_SetRenderInDepthPrepass(self, *args)

    def ToClearDepth(self, *args) -> "Standard_Boolean":
        r"""
        Return true if depth values should be cleared before drawing the layer.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_ToClearDepth(self, *args)

    def ToEnableDepthTest(self, *args) -> "Standard_Boolean":
        r"""
        Return true if depth test should be enabled.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_ToEnableDepthTest(self, *args)

    def ToEnableDepthWrite(self, *args) -> "Standard_Boolean":
        r"""
        Return true depth values should be written during rendering.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_ToEnableDepthWrite(self, *args)

    def ToRenderInDepthPrepass(self, *args) -> "Standard_Boolean":
        r"""
        Return true if layer should be rendered within depth pre-pass; true by default.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_ToRenderInDepthPrepass(self, *args)

    def UseEnvironmentTexture(self, *args) -> "Standard_Boolean":
        r"""
        Return flag to allow/prevent environment texture mapping usage for specific layer.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_ZLayerSettings_UseEnvironmentTexture(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ZLayerSettings

# Register Graphic3d_ZLayerSettings in _Graphic3d:
_Graphic3d.Graphic3d_ZLayerSettings_swigregister(Graphic3d_ZLayerSettings)

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

    def __init__(self, *args):
        r"""
        Creates an array of points (graphic3d_topa_points). the array must be filled using the addvertex(point) method. @param themaxvertexs maximum number of points @param thearrayflags array flags.

        Parameters
        ----------
        theMaxVertexs: int
        theArrayFlags: int

        Returns
        -------
        None
        Creates an array of points (graphic3d_topa_points). the array must be filled using the addvertex(point) method. @param themaxvertexs maximum number of points @param thehasvcolors when true, addvertex(point,color) should be used for specifying vertex color @param thehasvnormals when true, addvertex(point,normal) should be used for specifying vertex normal.

        Parameters
        ----------
        theMaxVertexs: int
        theHasVColors: bool,optional
        	default value is Standard_False
        theHasVNormals: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_ArrayOfPoints_swiginit(self, _Graphic3d.new_Graphic3d_ArrayOfPoints(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ArrayOfPoints

# Register Graphic3d_ArrayOfPoints in _Graphic3d:
_Graphic3d.Graphic3d_ArrayOfPoints_swigregister(Graphic3d_ArrayOfPoints)

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

    def __init__(self, *args):
        r"""
        Creates an array of polygons (graphic3d_topa_polygons), a polygon can be filled as: 1) creating a single polygon defined with his vertexes, i.e: @code myarray = graphic3d_arrayofpolygons (7); myarray->addvertex (x1, y1, z1); .... myarray->addvertex (x7, y7, z7); @endcode 2) creating separate polygons defined with a predefined number of bounds and the number of vertex per bound, i.e: @code myarray = graphic3d_arrayofpolygons (7, 2); myarray->addbound (4); myarray->addvertex (x1, y1, z1); .... myarray->addvertex (x4, y4, z4); myarray->addbound (3); myarray->addvertex (x5, y5, z5); .... myarray->addvertex (x7, y7, z7); @endcode 3) creating a single indexed polygon defined with his vertex ans edges, i.e: @code myarray = graphic3d_arrayofpolygons (4, 0, 6); myarray->addvertex (x1, y1, z1); .... myarray->addvertex (x4, y4, z4); myarray->addedge (1); myarray->addedge (2); myarray->addedge (3); myarray->addedge (1); myarray->addedge (2); myarray->addedge (4); @endcode 4) creating separate polygons defined with a predefined number of bounds and the number of edges per bound, i.e: @code myarray = graphic3d_arrayofpolygons (6, 4, 14); myarray->addbound (3); myarray->addvertex (x1, y1, z1); myarray->addvertex (x2, y2, z2); myarray->addvertex (x3, y3, z3); myarray->addedge (1); myarray->addedge (2); myarray->addedge (3); myarray->addbound (3); myarray->addvertex (x4, y4, z4); myarray->addvertex (x5, y5, z5); myarray->addvertex (x6, y6, z6); myarray->addedge (4); myarray->addedge (5); myarray->addedge (6); myarray->addbound (4); myarray->addedge (2); myarray->addedge (3); myarray->addedge (5); myarray->addedge (6); myarray->addbound (4); myarray->addedge (1); myarray->addedge (3); myarray->addedge (5); myarray->addedge (4); @endcode @param themaxvertexs defines the maximum allowed vertex number in the array @param themaxbounds defines the maximum allowed bound number in the array @param themaxedges defines the maximum allowed edge number in the array @param thearrayflags array flags.

        Parameters
        ----------
        theMaxVertexs: int
        theMaxBounds: int
        theMaxEdges: int
        theArrayFlags: int

        Returns
        -------
        None
        Creates an array of polygons (graphic3d_topa_polygons): @param themaxvertexs defines the maximum allowed vertex number in the array @param themaxbounds defines the maximum allowed bound number in the array @param themaxedges defines the maximum allowed edge number in the array.

        Parameters
        ----------
        theMaxVertexs: int
        theMaxBounds: int,optional
        	default value is 0
        theMaxEdges: int,optional
        	default value is 0
        theHasVNormals: bool,optional
        	default value is Standard_False
        theHasVColors: bool,optional
        	default value is Standard_False
        theHasBColors: bool,optional
        	default value is Standard_False
        theHasVTexels: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_ArrayOfPolygons_swiginit(self, _Graphic3d.new_Graphic3d_ArrayOfPolygons(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ArrayOfPolygons

# Register Graphic3d_ArrayOfPolygons in _Graphic3d:
_Graphic3d.Graphic3d_ArrayOfPolygons_swigregister(Graphic3d_ArrayOfPolygons)

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

    def __init__(self, *args):
        r"""
        Creates an array of polylines (graphic3d_topa_polylines), a polyline can be filled as: 1) creating a single polyline defined with his vertexes, i.e: @code myarray = graphic3d_arrayofpolylines (7); myarray->addvertex (x1, y1, z1); .... myarray->addvertex (x7, y7, z7); @endcode 2) creating separate polylines defined with a predefined number of bounds and the number of vertex per bound, i.e: @code myarray = graphic3d_arrayofpolylines (7, 2); myarray->addbound (4); myarray->addvertex (x1, y1, z1); .... myarray->addvertex (x4, y4, z4); myarray->addbound (3); myarray->addvertex (x5, y5, z5); .... myarray->addvertex (x7, y7, z7); @endcode 3) creating a single indexed polyline defined with his vertex and edges, i.e: @code myarray = graphic3d_arrayofpolylines (4, 0, 6); myarray->addvertex (x1, y1, z1); .... myarray->addvertex (x4, y4, z4); myarray->addedge (1); myarray->addedge (2); myarray->addedge (3); myarray->addedge (1); myarray->addedge (2); myarray->addedge (4); @endcode 4) creating separate polylines defined with a predefined number of bounds and the number of edges per bound, i.e: @code myarray = graphic3d_arrayofpolylines (6, 4, 14); myarray->addbound (3); myarray->addvertex (x1, y1, z1); myarray->addvertex (x2, y2, z2); myarray->addvertex (x3, y3, z3); myarray->addedge (1); myarray->addedge (2); myarray->addedge (3); myarray->addbound (3); myarray->addvertex (x4, y4, z4); myarray->addvertex (x5, y5, z5); myarray->addvertex (x6, y6, z6); myarray->addedge (4); myarray->addedge (5); myarray->addedge (6); myarray->addbound (4); myarray->addedge (2); myarray->addedge (3); myarray->addedge (5); myarray->addedge (6); myarray->addbound (4); myarray->addedge (1); myarray->addedge (3); myarray->addedge (5); myarray->addedge (4); @endcode @param themaxvertexs defines the maximum allowed vertex number in the array @param themaxbounds defines the maximum allowed bound number in the array @param themaxedges defines the maximum allowed edge number in the array @param thearrayflags array flags.

        Parameters
        ----------
        theMaxVertexs: int
        theMaxBounds: int
        theMaxEdges: int
        theArrayFlags: int

        Returns
        -------
        None
        Creates an array of polylines (graphic3d_topa_polylines). @param themaxvertexs defines the maximum allowed vertex number in the array @param themaxbounds defines the maximum allowed bound number in the array @param themaxedges defines the maximum allowed edge number in the array @param thehasvcolors when true addvertex(point,color) or addvertex(point,normal,color) should be used to specify per-vertex color values @param thehasbcolors when true addbound(number,color) should be used to specify sub-group color.

        Parameters
        ----------
        theMaxVertexs: int
        theMaxBounds: int,optional
        	default value is 0
        theMaxEdges: int,optional
        	default value is 0
        theHasVColors: bool,optional
        	default value is Standard_False
        theHasBColors: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_ArrayOfPolylines_swiginit(self, _Graphic3d.new_Graphic3d_ArrayOfPolylines(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ArrayOfPolylines

# Register Graphic3d_ArrayOfPolylines in _Graphic3d:
_Graphic3d.Graphic3d_ArrayOfPolylines_swigregister(Graphic3d_ArrayOfPolylines)

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

    def __init__(self, *args):
        r"""
        Creates an array of quadrangle strips (graphic3d_topa_quadranglestrips), a polygon can be filled as: 1) creating a single strip defined with his vertexes, i.e: @code myarray = graphic3d_arrayofquadranglestrips (7); myarray->addvertex (x1, y1, z1); .... myarray->addvertex (x7, y7, z7); @endcode 2) creating separate strips defined with a predefined number of strips and the number of vertex per strip, i.e: @code myarray = graphic3d_arrayofquadranglestrips (8, 2); myarray->addbound (4); myarray->addvertex (x1, y1, z1); .... myarray->addvertex (x4, y4, z4); myarray->addbound (4); myarray->addvertex (x5, y5, z5); .... myarray->addvertex (x8, y8, z8); @endcode the number of quadrangle really drawn is: vertexnumber()/2 - min(1, boundnumber()). @param themaxvertexs defines the maximum allowed vertex number in the array @param themaxstrips defines the maximum allowed strip number in the array @param thearrayflags array flags.

        Parameters
        ----------
        theMaxVertexs: int
        theMaxStrips: int
        theArrayFlags: int

        Returns
        -------
        None
        Creates an array of quadrangle strips (graphic3d_topa_quadranglestrips). @param themaxvertexs defines the maximum allowed vertex number in the array @param themaxstrips defines the maximum allowed strip number in the array.

        Parameters
        ----------
        theMaxVertexs: int
        theMaxStrips: int,optional
        	default value is 0
        theHasVNormals: bool,optional
        	default value is Standard_False
        theHasVColors: bool,optional
        	default value is Standard_False
        theHasSColors: bool,optional
        	default value is Standard_False
        theHasVTexels: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_ArrayOfQuadrangleStrips_swiginit(self, _Graphic3d.new_Graphic3d_ArrayOfQuadrangleStrips(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ArrayOfQuadrangleStrips

# Register Graphic3d_ArrayOfQuadrangleStrips in _Graphic3d:
_Graphic3d.Graphic3d_ArrayOfQuadrangleStrips_swigregister(Graphic3d_ArrayOfQuadrangleStrips)

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

    def __init__(self, *args):
        r"""
        Creates an array of quadrangles (graphic3d_topa_quadrangles), a quadrangle can be filled as: 1) creating a set of quadrangles defined with his vertexes, i.e: @code myarray = graphic3d_arrayofquadrangles (8); myarray->addvertex (x1, y1, z1); .... myarray->addvertex (x8, y8, z8); @endcode 2) creating a set of indexed quadrangles defined with his vertex ans edges, i.e: @code myarray = graphic3d_arrayofquadrangles (6, 8); myarray->addvertex (x1, y1, z1); .... myarray->addvertex (x6, y6, z6); myarray->addedges (1, 2, 3, 4); myarray->addedges (3, 4, 5, 6); @endcode @param themaxvertexs defines the maximum allowed vertex number in the array @param themaxedges defines the maximum allowed edge number in the array (for indexed array) @param thearrayflags array flags.

        Parameters
        ----------
        theMaxVertexs: int
        theMaxEdges: int
        theArrayFlags: int

        Returns
        -------
        None
        Creates an array of quadrangles (graphic3d_topa_quadrangles). @param themaxvertexs defines the maximum allowed vertex number in the array @param themaxedges defines the maximum allowed edge number in the array (for indexed array).

        Parameters
        ----------
        theMaxVertexs: int
        theMaxEdges: int,optional
        	default value is 0
        theHasVNormals: bool,optional
        	default value is Standard_False
        theHasVColors: bool,optional
        	default value is Standard_False
        theHasVTexels: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_ArrayOfQuadrangles_swiginit(self, _Graphic3d.new_Graphic3d_ArrayOfQuadrangles(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ArrayOfQuadrangles

# Register Graphic3d_ArrayOfQuadrangles in _Graphic3d:
_Graphic3d.Graphic3d_ArrayOfQuadrangles_swigregister(Graphic3d_ArrayOfQuadrangles)

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

    def __init__(self, *args):
        r"""
        Creates an array of segments (graphic3d_topa_segments), a segment can be filled as: 1) creating a set of segments defined with his vertexes, i.e: @code myarray = graphic3d_arrayofsegments (4); myarray->addvertex (x1, y1, z1); .... myarray->addvertex (x4, y4, z4); @endcode 2) creating a set of indexed segments defined with his vertex and edges, i.e: @code myarray = graphic3d_arrayofsegments (4, 8); myarray->addvertex (x1, y1, z1); .... myarray->addvertex (x4, y4, z4); myarray->addedges (1, 2); myarray->addedges (3, 4); myarray->addedges (2, 4); myarray->addedges (1, 3); @endcode @param themaxvertexs defines the maximum allowed vertex number in the array @param themaxedges defines the maximum allowed edge number in the array @param thearrayflags array flags.

        Parameters
        ----------
        theMaxVertexs: int
        theMaxEdges: int
        theArrayFlags: int

        Returns
        -------
        None
        Creates an array of segments (graphic3d_topa_segments). @param themaxvertexs defines the maximum allowed vertex number in the array @param themaxedges defines the maximum allowed edge number in the array @param thehasvcolors when true, addvertex(point,color) should be used for specifying vertex color.

        Parameters
        ----------
        theMaxVertexs: int
        theMaxEdges: int,optional
        	default value is 0
        theHasVColors: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_ArrayOfSegments_swiginit(self, _Graphic3d.new_Graphic3d_ArrayOfSegments(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ArrayOfSegments

# Register Graphic3d_ArrayOfSegments in _Graphic3d:
_Graphic3d.Graphic3d_ArrayOfSegments_swigregister(Graphic3d_ArrayOfSegments)

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

    def __init__(self, *args):
        r"""
        Creates an array of triangle fans (graphic3d_topa_trianglefans), a polygon can be filled as: 1) creating a single fan defined with his vertexes, i.e: @code myarray = graphic3d_arrayoftrianglefans (7); myarray->addvertex (x1, y1, z1); .... myarray->addvertex (x7, y7, z7); @endcode 2) creating separate fans defined with a predefined number of fans and the number of vertex per fan, i.e: @code myarray = graphic3d_arrayoftrianglefans (8, 2); myarray->addbound (4); myarray->addvertex (x1, y1, z1); .... myarray->addvertex (x4, y4, z4); myarray->addbound (4); myarray->addvertex (x5, y5, z5); .... myarray->addvertex (x8, y8, z8); @endcode the number of triangle really drawn is: vertexnumber() - 2 * min(1, boundnumber()) @param themaxvertexs defines the maximum allowed vertex number in the array @param themaxfans defines the maximum allowed fan number in the array @param thearrayflags array flags.

        Parameters
        ----------
        theMaxVertexs: int
        theMaxFans: int
        theArrayFlags: int

        Returns
        -------
        None
        Creates an array of triangle fans (graphic3d_topa_trianglefans). @param themaxvertexs defines the maximum allowed vertex number in the array @param themaxfans defines the maximum allowed fan number in the array.

        Parameters
        ----------
        theMaxVertexs: int
        theMaxFans: int,optional
        	default value is 0
        theHasVNormals: bool,optional
        	default value is Standard_False
        theHasVColors: bool,optional
        	default value is Standard_False
        theHasBColors: bool,optional
        	default value is Standard_False
        theHasVTexels: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_ArrayOfTriangleFans_swiginit(self, _Graphic3d.new_Graphic3d_ArrayOfTriangleFans(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ArrayOfTriangleFans

# Register Graphic3d_ArrayOfTriangleFans in _Graphic3d:
_Graphic3d.Graphic3d_ArrayOfTriangleFans_swigregister(Graphic3d_ArrayOfTriangleFans)

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

    def __init__(self, *args):
        r"""
        Creates an array of triangle strips (graphic3d_topa_trianglestrips), a polygon can be filled as: 1) creating a single strip defined with his vertexes, i.e: @code myarray = graphic3d_arrayoftrianglestrips (7); myarray->addvertex (x1, y1, z1); .... myarray->addvertex (x7, y7, z7); @endcode 2) creating separate strips defined with a predefined number of strips and the number of vertex per strip, i.e: @code myarray = graphic3d_arrayoftrianglestrips (8, 2); myarray->addbound (4); myarray->addvertex (x1, y1, z1); .... myarray->addvertex (x4, y4, z4); myarray->addbound (4); myarray->addvertex (x5, y5, z5); .... myarray->addvertex (x8, y8, z8); @endcode @param themaxvertexs defines the maximum allowed vertex number in the array @param themaxstrips defines the maximum allowed strip number in the array;  the number of triangle really drawn is: vertexnumber() - 2 * min(1, boundnumber()) @param thearrayflags array flags.

        Parameters
        ----------
        theMaxVertexs: int
        theMaxStrips: int
        theArrayFlags: int

        Returns
        -------
        None
        Creates an array of triangle strips (graphic3d_topa_trianglestrips). @param themaxvertexs defines the maximum allowed vertex number in the array @param themaxstrips defines the maximum allowed strip number in the array;  the number of triangle really drawn is: vertexnumber() - 2 * min(1, boundnumber()) @param thehasvnormals when true, addvertex(point,normal), addvertex(point,normal,color) or addvertex(point,normal,texel) should be used to specify vertex normal;  vertex normals should be specified coherent to triangle orientation (defined by order of vertexes within triangle) for proper rendering @param thehasvcolors when true, addvertex(point,color) or addvertex(point,normal,color) should be used to specify vertex color @param thehasbcolors when true, addbound(number,color) should be used to specify sub-group color @param thehasvtexels when true, addvertex(point,texel) or addvertex(point,normal,texel) should be used to specify vertex uv coordinates.

        Parameters
        ----------
        theMaxVertexs: int
        theMaxStrips: int,optional
        	default value is 0
        theHasVNormals: bool,optional
        	default value is Standard_False
        theHasVColors: bool,optional
        	default value is Standard_False
        theHasBColors: bool,optional
        	default value is Standard_False
        theHasVTexels: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_ArrayOfTriangleStrips_swiginit(self, _Graphic3d.new_Graphic3d_ArrayOfTriangleStrips(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ArrayOfTriangleStrips

# Register Graphic3d_ArrayOfTriangleStrips in _Graphic3d:
_Graphic3d.Graphic3d_ArrayOfTriangleStrips_swigregister(Graphic3d_ArrayOfTriangleStrips)

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

    def __init__(self, *args):
        r"""
        Creates an array of triangles (graphic3d_topa_triangles), a triangle can be filled as: 1) creating a set of triangles defined with his vertexes, i.e: @code myarray = graphic3d_arrayoftriangles (6); myarray->addvertex (x1, y1, z1); .... myarray->addvertex (x6, y6, z6); @endcode 3) creating a set of indexed triangles defined with his vertex and edges, i.e: @code myarray = graphic3d_arrayoftriangles (4, 6); myarray->addvertex (x1, y1, z1); .... myarray->addvertex (x4, y4, z4); myarray->addedges (1, 2, 3); myarray->addedges (2, 3, 4); @endcode @param themaxvertexs defines the maximum allowed vertex number in the array @param themaxedges defines the maximum allowed edge number in the array @param thearrayflags array flags.

        Parameters
        ----------
        theMaxVertexs: int
        theMaxEdges: int
        theArrayFlags: int

        Returns
        -------
        None
        Creates an array of triangles (graphic3d_topa_triangles). @param themaxvertexs defines the maximum allowed vertex number in the array @param themaxedges defines the maximum allowed edge number in the array @param thehasvnormals when true, addvertex(point,normal), addvertex(point,normal,color) or addvertex(point,normal,texel) should be used to specify vertex normal;  vertex normals should be specified coherent to triangle orientation (defined by order of vertexes within triangle) for proper rendering @param thehasvcolors when true, addvertex(point,color) or addvertex(point,normal,color) should be used to specify vertex color @param thehasvtexels when true, addvertex(point,texel) or addvertex(point,normal,texel) should be used to specify vertex uv coordinates.

        Parameters
        ----------
        theMaxVertexs: int
        theMaxEdges: int,optional
        	default value is 0
        theHasVNormals: bool,optional
        	default value is Standard_False
        theHasVColors: bool,optional
        	default value is Standard_False
        theHasVTexels: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_ArrayOfTriangles_swiginit(self, _Graphic3d.new_Graphic3d_ArrayOfTriangles(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_ArrayOfTriangles

# Register Graphic3d_ArrayOfTriangles in _Graphic3d:
_Graphic3d.Graphic3d_ArrayOfTriangles_swigregister(Graphic3d_ArrayOfTriangles)

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

    def __init__(self, *args):
        r"""
        Creates a context table for fill area primitives defined with the following default values: //! interiorstyle : aspect_is_empty interiorcolor : quantity_noc_cyan1 edgecolor : quantity_noc_white edgelinetype : aspect_tol_solid edgewidth : 1.0 frontmaterial : nom_brass backmaterial : nom_brass hatchstyle : aspect_hs_solid //! display of back-facing filled polygons. no distinction between external and internal faces of fillareas. the edges are not drawn. polygon offset parameters: mode = aspect_pom_none, factor = 1., units = 0.

        Returns
        -------
        None
        Creates a context table for fill area primitives defined with the specified values. display of back-facing filled polygons. no distinction between external and internal faces of fillareas. the edges are not drawn. polygon offset parameters: mode = aspect_pom_none, factor = 1., units = 0.

        Parameters
        ----------
        theInterior: Aspect_InteriorStyle
        theInteriorColor: Quantity_Color
        theEdgeColor: Quantity_Color
        theEdgeLineType: Aspect_TypeOfLine
        theEdgeWidth: float
        theFrontMaterial: Graphic3d_MaterialAspect
        theBackMaterial: Graphic3d_MaterialAspect

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_AspectFillArea3d_swiginit(self, _Graphic3d.new_Graphic3d_AspectFillArea3d(*args))

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

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_AspectFillArea3d_Edge(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_AspectFillArea3d

# Register Graphic3d_AspectFillArea3d in _Graphic3d:
_Graphic3d.Graphic3d_AspectFillArea3d_swigregister(Graphic3d_AspectFillArea3d)

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

    def __init__(self, *args):
        r"""
        Creates a context table for line primitives defined with the following default values: //! color = quantity_noc_yellow; type = aspect_tol_solid; width = 1.0;.

        Returns
        -------
        None
        Creates a context table for line primitives defined with the specified values. warning: thewidth is the 'line width scale factor'. the nominal line width is 1 pixel. the width of the line is determined by applying the line width scale factor to this nominal line width. the supported line widths vary by 1-pixel units.

        Parameters
        ----------
        theColor: Quantity_Color
        theType: Aspect_TypeOfLine
        theWidth: float

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_AspectLine3d_swiginit(self, _Graphic3d.new_Graphic3d_AspectLine3d(*args))

    def SetType(self, *args) -> "void":
        r"""
        Modifies the type of line.

        Parameters
        ----------
        theType: Aspect_TypeOfLine

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AspectLine3d_SetType(self, *args)

    def SetWidth(self, *args) -> "void":
        r"""
        Modifies the line thickness. warning: raises standard_outofrange if the width is a negative value.

        Parameters
        ----------
        theWidth: float

        Returns
        -------
        None
        Modifies the line thickness. warning: raises standard_outofrange if the width is a negative value.

        Parameters
        ----------
        theWidth: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AspectLine3d_SetWidth(self, *args)

    def Type(self, *args) -> "Aspect_TypeOfLine":
        r"""
        Return line type.

        Returns
        -------
        Aspect_TypeOfLine

        """
        return _Graphic3d.Graphic3d_AspectLine3d_Type(self, *args)

    def Width(self, *args) -> "Standard_ShortReal":
        r"""
        Return line width.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_AspectLine3d_Width(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_AspectLine3d

# Register Graphic3d_AspectLine3d in _Graphic3d:
_Graphic3d.Graphic3d_AspectLine3d_swigregister(Graphic3d_AspectLine3d)

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

    def __init__(self, *args):
        r"""
        Creates a context table for marker primitives defined with the following default values: //! marker type : tom_x color : yellow scale factor: 1.0.

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

        Parameters
        ----------
        theType: Aspect_TypeOfMarker
        theColor: Quantity_Color
        theScale: float

        Returns
        -------
        None
        Creates a context table for marker primitives defined with the specified values.

        Parameters
        ----------
        theColor: Quantity_Color
        theWidth: int
        theHeight: int
        theTextureBitmap: TColStd_HArray1OfByte

        Returns
        -------
        None
        Creates a context table for marker primitives defined with the specified values.

        Parameters
        ----------
        theTextureImage: Image_PixMap

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_AspectMarker3d_swiginit(self, _Graphic3d.new_Graphic3d_AspectMarker3d(*args))

    def GetMarkerImage(self, *args) -> "opencascade::handle< Graphic3d_MarkerImage > const &":
        r"""
        Returns marker's image texture. could be null handle if marker aspect has been initialized as default type of marker.

        Returns
        -------
        opencascade::handle<Graphic3d_MarkerImage>

        """
        return _Graphic3d.Graphic3d_AspectMarker3d_GetMarkerImage(self, *args)

    def GetTextureSize(self, *args) -> "void":
        r"""
        Returns marker's texture size.

        Parameters
        ----------

        Returns
        -------
        theWidth: int
        theHeight: int

        """
        return _Graphic3d.Graphic3d_AspectMarker3d_GetTextureSize(self, *args)

    def Scale(self, *args) -> "Standard_ShortReal":
        r"""
        Return scale factor.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_AspectMarker3d_Scale(self, *args)

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

        Parameters
        ----------
        theWidth: int
        theHeight: int
        theTexture: TColStd_HArray1OfByte

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AspectMarker3d_SetBitMap(self, *args)

    def SetScale(self, *args) -> "void":
        r"""
        Modifies the scale factor. marker type aspect_tom_point is not affected by the marker size scale factor. it is always the smallest displayable dot. warning: raises standard_outofrange if the scale is a negative value.

        Parameters
        ----------
        theScale: Standard_ShortReal

        Returns
        -------
        None
        Assign scale factor.

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

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AspectMarker3d_SetScale(self, *args)

    def SetType(self, *args) -> "void":
        r"""
        Modifies the type of marker.

        Parameters
        ----------
        theType: Aspect_TypeOfMarker

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AspectMarker3d_SetType(self, *args)

    def Type(self, *args) -> "Aspect_TypeOfMarker":
        r"""
        Return marker type.

        Returns
        -------
        Aspect_TypeOfMarker

        """
        return _Graphic3d.Graphic3d_AspectMarker3d_Type(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_AspectMarker3d

# Register Graphic3d_AspectMarker3d in _Graphic3d:
_Graphic3d.Graphic3d_AspectMarker3d_swigregister(Graphic3d_AspectMarker3d)

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

    def __init__(self, *args):
        r"""
        Creates a context table for text primitives defined with the following default values: color : quantity_noc_yellow font : font_nof_ascii_mono the style : aspect_tost_normal the display type : aspect_todt_normal.

        Returns
        -------
        None
        Creates a context table for text primitives defined with the specified values. @param thecolor [in] text color @param thefont [in] font family name or alias like font_nof_ascii_mono @param theexpansionfactor [in] deprecated parameter, has no effect @param thespace [in] deprecated parameter, has no effect @param thestyle [in] font style @param thedisplaytype [in] display mode.

        Parameters
        ----------
        theColor: Quantity_Color
        theFont: char *
        theExpansionFactor: float
        theSpace: float
        theStyle: Aspect_TypeOfStyleText,optional
        	default value is Aspect_TOST_NORMAL
        theDisplayType: Aspect_TypeOfDisplayText,optional
        	default value is Aspect_TODT_NORMAL

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_AspectText3d_swiginit(self, _Graphic3d.new_Graphic3d_AspectText3d(*args))

    def Color(self, *args) -> "Quantity_Color const &":
        r"""
        Return the text color.

        Returns
        -------
        Quantity_Color

        """
        return _Graphic3d.Graphic3d_AspectText3d_Color(self, *args)

    def ColorRGBA(self, *args) -> "Quantity_ColorRGBA const &":
        r"""
        Return the text color.

        Returns
        -------
        Quantity_ColorRGBA

        """
        return _Graphic3d.Graphic3d_AspectText3d_ColorRGBA(self, *args)

    def DisplayType(self, *args) -> "Aspect_TypeOfDisplayText":
        r"""
        Return display type.

        Returns
        -------
        Aspect_TypeOfDisplayText

        """
        return _Graphic3d.Graphic3d_AspectText3d_DisplayType(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_AspectText3d self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_AspectText3d_DumpJsonToString(self, depth)

    def Font(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Return the font.

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_AspectText3d_Font(self, *args)

    def GetTextAngle(self, *args) -> "Standard_ShortReal":
        r"""
        Returns angle of degree.

        Returns
        -------
        Standard_ShortReal

        """
        return _Graphic3d.Graphic3d_AspectText3d_GetTextAngle(self, *args)

    def GetTextFontAspect(self, *args) -> "Font_FontAspect":
        r"""
        Returns text fontaspect.

        Returns
        -------
        Font_FontAspect

        """
        return _Graphic3d.Graphic3d_AspectText3d_GetTextFontAspect(self, *args)

    def GetTextZoomable(self, *args) -> "bool":
        r"""
        Returns true when the text zoomable is on.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_AspectText3d_GetTextZoomable(self, *args)

    def SetColor(self, *args) -> "void":
        r"""
        Modifies the color.

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

        Returns
        -------
        None
        Modifies the color.

        Parameters
        ----------
        theColor: Quantity_ColorRGBA

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AspectText3d_SetColor(self, *args)

    def SetDisplayType(self, *args) -> "void":
        r"""
        Define the display type of the text.

        Parameters
        ----------
        theDisplayType: Aspect_TypeOfDisplayText

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AspectText3d_SetDisplayType(self, *args)

    def SetFont(self, *args) -> "void":
        r"""
        Modifies the font.

        Parameters
        ----------
        theFont: TCollection_AsciiString

        Returns
        -------
        None
        Modifies the font.

        Parameters
        ----------
        theFont: char *

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AspectText3d_SetFont(self, *args)

    def SetStyle(self, *args) -> "void":
        r"""
        Modifies the style of the text.

        Parameters
        ----------
        theStyle: Aspect_TypeOfStyleText

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AspectText3d_SetStyle(self, *args)

    def SetTextAngle(self, *args) -> "void":
        r"""
        Turns usage of text rotated.

        Parameters
        ----------
        theAngle: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AspectText3d_SetTextAngle(self, *args)

    def Style(self, *args) -> "Aspect_TypeOfStyleText":
        r"""
        Return the text style.

        Returns
        -------
        Aspect_TypeOfStyleText

        """
        return _Graphic3d.Graphic3d_AspectText3d_Style(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_AspectText3d

# Register Graphic3d_AspectText3d in _Graphic3d:
_Graphic3d.Graphic3d_AspectText3d_swigregister(Graphic3d_AspectText3d)

class Graphic3d_AttribBuffer(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.

        Parameters
        ----------
        theAlloc: NCollection_BaseAllocator

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_AttribBuffer_swiginit(self, _Graphic3d.new_Graphic3d_AttribBuffer(*args))

    def Init(self, *args) -> "bool":
        r"""
        Allocates new empty array.

        Parameters
        ----------
        theNbElems: int
        theAttribs: Graphic3d_Attribute *
        theNbAttribs: int

        Returns
        -------
        bool
        Allocates new empty array.

        Parameters
        ----------
        theNbElems: int
        theAttribs: Graphic3d_Array1OfAttribute

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_AttribBuffer_Init(self, *args)

    def Invalidate(self, *args) -> "void":
        r"""
        Invalidate the entire buffer data.

        Returns
        -------
        None
        Invalidate the entire attribute data.

        Parameters
        ----------
        theAttributeIndex: int

        Returns
        -------
        None
        Invalidate attribute data within specified sub-range (starting from 0).

        Parameters
        ----------
        theAttributeIndex: int
        theVertexLower: int
        theVertexUpper: int

        Returns
        -------
        None
        Invalidate all attribute data within specified vertex sub-range (starting from 0).

        Parameters
        ----------
        theVertexLower: int
        theVertexUpper: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AttribBuffer_Invalidate(self, *args)

    def InvalidatedRange(self, *args) -> "Graphic3d_BufferRange":
        r"""
        Return invalidated range.

        Returns
        -------
        Graphic3d_BufferRange

        """
        return _Graphic3d.Graphic3d_AttribBuffer_InvalidatedRange(self, *args)

    def IsInterleaved(self, *args) -> "Standard_Boolean":
        r"""
        Return true for interleaved array; true by default.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_AttribBuffer_IsInterleaved(self, *args)

    def IsMutable(self, *args) -> "Standard_Boolean":
        r"""
        Return true if data can be invalidated; false by default.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_AttribBuffer_IsMutable(self, *args)

    def SetInterleaved(self, *args) -> "void":
        r"""
        Setup interleaved/non-interleaved array. warning! filling non-interleaved buffer should be implemented on user side without graphic3d_buffer auxiliary methods designed for interleaved data.

        Parameters
        ----------
        theIsInterleaved: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AttribBuffer_SetInterleaved(self, *args)

    def SetMutable(self, *args) -> "void":
        r"""
        Set if data can be invalidated.

        Parameters
        ----------
        theMutable: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AttribBuffer_SetMutable(self, *args)

    def Validate(self, *args) -> "void":
        r"""
        Reset invalidated range.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AttribBuffer_Validate(self, *args)

    def invalidate(self, *args) -> "void":
        r"""
        Invalidate specified sub-range of data (as byte offsets).

        Parameters
        ----------
        theRange: Graphic3d_BufferRange

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_AttribBuffer_invalidate(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_AttribBuffer

# Register Graphic3d_AttribBuffer in _Graphic3d:
_Graphic3d.Graphic3d_AttribBuffer_swigregister(Graphic3d_AttribBuffer)

class Graphic3d_CView(Graphic3d_DataStructureManager):
    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 Activate(self, *args) -> "void":
        r"""
        Activates the view. maps presentations defined within structure manager onto this view.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_Activate(self, *args)

    def BackfacingModel(self, *args) -> "Graphic3d_TypeOfBackfacingModel":
        r"""
        Return backfacing model used for the view.

        Returns
        -------
        Graphic3d_TypeOfBackfacingModel

        """
        return _Graphic3d.Graphic3d_CView_BackfacingModel(self, *args)

    def Background(self, *args) -> "Aspect_Background":
        r"""
        Returns background fill color.

        Returns
        -------
        Aspect_Background

        """
        return _Graphic3d.Graphic3d_CView_Background(self, *args)

    def BackgroundCubeMap(self, *args) -> "opencascade::handle< Graphic3d_CubeMap >":
        r"""
        Returns cubemap being setted last time on background.

        Returns
        -------
        opencascade::handle<Graphic3d_CubeMap>

        """
        return _Graphic3d.Graphic3d_CView_BackgroundCubeMap(self, *args)

    def BackgroundImage(self, *args) -> "opencascade::handle< Graphic3d_TextureMap >":
        r"""
        Returns background image texture map.

        Returns
        -------
        opencascade::handle<Graphic3d_TextureMap>

        """
        return _Graphic3d.Graphic3d_CView_BackgroundImage(self, *args)

    def BackgroundImageStyle(self, *args) -> "Aspect_FillMethod":
        r"""
        Returns background image fill style.

        Returns
        -------
        Aspect_FillMethod

        """
        return _Graphic3d.Graphic3d_CView_BackgroundImageStyle(self, *args)

    def BaseXRCamera(self, *args) -> "opencascade::handle< Graphic3d_Camera > const &":
        r"""
        Returns anchor camera definition (without tracked head orientation).

        Returns
        -------
        opencascade::handle<Graphic3d_Camera>

        """
        return _Graphic3d.Graphic3d_CView_BaseXRCamera(self, *args)

    def BufferDump(self, *args) -> "Standard_Boolean":
        r"""
        Dump active rendering buffer into specified memory buffer.

        Parameters
        ----------
        theImage: Image_PixMap
        theBufferType: Graphic3d_BufferType

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CView_BufferDump(self, *args)

    def Camera(self, *args) -> "opencascade::handle< Graphic3d_Camera > const &":
        r"""
        Returns camera object of the view.

        Returns
        -------
        opencascade::handle<Graphic3d_Camera>

        """
        return _Graphic3d.Graphic3d_CView_Camera(self, *args)

    def ChangeHiddenObjects(self, *args) -> "opencascade::handle< Graphic3d_NMapOfTransient > &":
        r"""
        Returns map of objects hidden within this specific view (not viewer-wise).

        Returns
        -------
        opencascade::handle<Graphic3d_NMapOfTransient>

        """
        return _Graphic3d.Graphic3d_CView_ChangeHiddenObjects(self, *args)

    def ChangeRenderingParams(self, *args) -> "Graphic3d_RenderingParams &":
        r"""
        Returns reference to current rendering parameters and effect settings.

        Returns
        -------
        Graphic3d_RenderingParams

        """
        return _Graphic3d.Graphic3d_CView_ChangeRenderingParams(self, *args)

    def ClearPBREnvironment(self, *args) -> "void":
        r"""
        Fills pbr specular probe and irradiance map with white color. so that environment indirect illumination will be constant and will be fully controlled by ambient light sources. if pbr is unavailable it does nothing.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_ClearPBREnvironment(self, *args)

    def ClipPlanes(self, *args) -> "opencascade::handle< Graphic3d_SequenceOfHClipPlane > const &":
        r"""
        Returns list of clip planes set for the view.

        Returns
        -------
        opencascade::handle<Graphic3d_SequenceOfHClipPlane>

        """
        return _Graphic3d.Graphic3d_CView_ClipPlanes(self, *args)

    def Compute(self, *args) -> "void":
        r"""
        Computes the new presentation of the structures displayed in this view with the type graphic3d_tos_computed.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_Compute(self, *args)

    def ComputeXRBaseCameraFromPosed(self, *args) -> "void":
        r"""
        Update based camera from posed camera by applying reversed transformation.

        Parameters
        ----------
        theCamPosed: Graphic3d_Camera
        thePoseTrsf: gp_Trsf

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_ComputeXRBaseCameraFromPosed(self, *args)

    def ComputeXRPosedCameraFromBase(self, *args) -> "void":
        r"""
        Compute camera position based on xr pose.

        Parameters
        ----------
        theCam: Graphic3d_Camera
        theXRTrsf: gp_Trsf

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_ComputeXRPosedCameraFromBase(self, *args)

    def ComputedMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns the computed hlr mode state.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CView_ComputedMode(self, *args)

    def ConsiderZoomPersistenceObjects(self, *args) -> "Standard_Real":
        r"""
        Returns zoom-scale factor.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_CView_ConsiderZoomPersistenceObjects(self, *args)

    def ContainsFacet(self, *args) -> "Standard_Boolean":
        r"""
        Returns standard_true if one of the structures displayed in the view contains polygons, triangles or quadrangles.

        Returns
        -------
        bool
        Returns standard_true if one of the structures in the set contains polygons, triangles or quadrangles.

        Parameters
        ----------
        theSet: Graphic3d_MapOfStructure

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CView_ContainsFacet(self, *args)

    def CopySettings(self, *args) -> "void":
        r"""
        Copy visualization settings from another view. method is used for cloning views in viewer when its required to create view with same view properties.

        Parameters
        ----------
        theOther: Graphic3d_CView

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_CopySettings(self, *args)

    def Deactivate(self, *args) -> "void":
        r"""
        Deactivates the view. unmaps presentations defined within structure manager. the view in deactivated state will ignore actions on structures such as display().

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_Deactivate(self, *args)

    def DiagnosticInformation(self, *args) -> "void":
        r"""
        Fill in the dictionary with diagnostic info. should be called within rendering thread. //! this api should be used only for user output or for creating automated reports. the format of returned information (e.g. key-value layout) is not part of this api and can be changed at any time. thus application should not parse returned information to weed out specific parameters.

        Parameters
        ----------
        theDict: TColStd_IndexedDataMapOfStringString
        theFlags: Graphic3d_DiagnosticInfo

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_DiagnosticInformation(self, *args)

    def DisplayedStructures(self, *args) -> "void":
        r"""
        Returns the set of structures displayed in this view.

        Parameters
        ----------
        theStructures: Graphic3d_MapOfStructure

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_DisplayedStructures(self, *args)

    def DumpJsonToString(self, depth: "int"=-1) -> "std::string":
        r"""DumpJsonToString(Graphic3d_CView self, int depth=-1) -> std::string"""
        return _Graphic3d.Graphic3d_CView_DumpJsonToString(self, depth)

    def FBO(self, *args) -> "opencascade::handle< Standard_Transient >":
        r"""
        Returns pointer to an assigned framebuffer object.

        Returns
        -------
        opencascade::handle<Standard_Transient>

        """
        return _Graphic3d.Graphic3d_CView_FBO(self, *args)

    def FBOChangeViewport(self, *args) -> "void":
        r"""
        Change offscreen fbo viewport.

        Parameters
        ----------
        theFbo: Standard_Transient
        theWidth: int
        theHeight: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_FBOChangeViewport(self, *args)

    def FBOCreate(self, *args) -> "opencascade::handle< Standard_Transient >":
        r"""
        Generate offscreen fbo in the graphic library. if not supported on hardware returns null.

        Parameters
        ----------
        theWidth: int
        theHeight: int

        Returns
        -------
        opencascade::handle<Standard_Transient>

        """
        return _Graphic3d.Graphic3d_CView_FBOCreate(self, *args)

    def FBOGetDimensions(self, *args) -> "void":
        r"""
        Read offscreen fbo configuration.

        Parameters
        ----------
        theFbo: Standard_Transient

        Returns
        -------
        theWidth: int
        theHeight: int
        theWidthMax: int
        theHeightMax: int

        """
        return _Graphic3d.Graphic3d_CView_FBOGetDimensions(self, *args)

    def FBORelease(self, *args) -> "void":
        r"""
        Remove offscreen fbo from the graphic library.

        Parameters
        ----------
        theFbo: Standard_Transient

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_FBORelease(self, *args)

    def GeneratePBREnvironment(self, *args) -> "void":
        r"""
        Generates pbr specular probe and irradiance map in order to provide environment indirect illumination in pbr shading model (image based lighting). the source of environment data is background cubemap. if pbr is unavailable it does nothing. if pbr is available but there is no cubemap being set to background it clears all ibl maps (see 'clearpbrenvironment').

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_GeneratePBREnvironment(self, *args)

    def GetGraduatedTrihedron(self, *args) -> "Graphic3d_GraduatedTrihedron const &":
        r"""
        Returns data of a graduated trihedron.

        Returns
        -------
        Graphic3d_GraduatedTrihedron

        """
        return _Graphic3d.Graphic3d_CView_GetGraduatedTrihedron(self, *args)

    def GradientBackground(self, *args) -> "Aspect_GradientBackground":
        r"""
        Returns gradient background fill colors.

        Returns
        -------
        Aspect_GradientBackground

        """
        return _Graphic3d.Graphic3d_CView_GradientBackground(self, *args)

    def GraduatedTrihedronDisplay(self, *args) -> "void":
        r"""
        Displays graduated trihedron.

        Parameters
        ----------
        theTrihedronData: Graphic3d_GraduatedTrihedron

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_GraduatedTrihedronDisplay(self, *args)

    def GraduatedTrihedronErase(self, *args) -> "void":
        r"""
        Erases graduated trihedron.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_GraduatedTrihedronErase(self, *args)

    def GraduatedTrihedronMinMaxValues(self, *args) -> "void":
        r"""
        Sets minimum and maximum points of scene bounding box for graduated trihedron stored in graphic view object. @param themin [in] the minimum point of scene. @param themax [in] the maximum point of scene.

        Parameters
        ----------
        theMin: Graphic3d_Vec3
        theMax: Graphic3d_Vec3

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_GraduatedTrihedronMinMaxValues(self, *args)

    def HiddenObjects(self, *args) -> "opencascade::handle< Graphic3d_NMapOfTransient > const &":
        r"""
        Returns map of objects hidden within this specific view (not viewer-wise).

        Returns
        -------
        opencascade::handle<Graphic3d_NMapOfTransient>

        """
        return _Graphic3d.Graphic3d_CView_HiddenObjects(self, *args)

    def Identification(self, *args) -> "Standard_Integer":
        r"""
        Returns the identification number of the view.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_CView_Identification(self, *args)

    def InitXR(self, *args) -> "bool":
        r"""
        Initialize xr session.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CView_InitXR(self, *args)

    def InsertLayerAfter(self, *args) -> "void":
        r"""
        Add a layer to the view. @param thenewlayerid [in] id of new layer, should be > 0 (negative values are reserved for default layers). @param thesettings [in] new layer settings @param thelayerbefore [in] id of layer to append new layer after.

        Parameters
        ----------
        theNewLayerId: int
        theSettings: Graphic3d_ZLayerSettings
        theLayerBefore: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_InsertLayerAfter(self, *args)

    def InsertLayerBefore(self, *args) -> "void":
        r"""
        Add a layer to the view. @param thenewlayerid [in] id of new layer, should be > 0 (negative values are reserved for default layers). @param thesettings [in] new layer settings @param thelayerafter [in] id of layer to append new layer before.

        Parameters
        ----------
        theNewLayerId: int
        theSettings: Graphic3d_ZLayerSettings
        theLayerAfter: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_InsertLayerBefore(self, *args)

    def Invalidate(self, *args) -> "void":
        r"""
        Invalidates content of the view but does not redraw it.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_Invalidate(self, *args)

    def InvalidateBVHData(self, *args) -> "void":
        r"""
        Marks bvh tree and the set of bvh primitives of correspondent priority list with id thelayerid as outdated.

        Parameters
        ----------
        theLayerId: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_InvalidateBVHData(self, *args)

    def InvalidateZLayerBoundingBox(self, *args) -> "void":
        r"""
        Returns the bounding box of all structures displayed in the z layer.

        Parameters
        ----------
        theLayerId: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_InvalidateZLayerBoundingBox(self, *args)

    def IsActive(self, *args) -> "Standard_Boolean":
        r"""
        Returns the activity flag of the view.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CView_IsActive(self, *args)

    def IsActiveXR(self, *args) -> "bool":
        r"""
        Return true if there is active xr session.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CView_IsActiveXR(self, *args)

    def IsComputed(self, *args) -> "Standard_Boolean":
        r"""
        Returns standard_true in case if the structure with the given <thestructid> is in list of structures to be computed and stores computed struct to <thecomputedstruct>.

        Parameters
        ----------
        theStructId: int
        theComputedStruct: Graphic3d_Structure

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CView_IsComputed(self, *args)

    def IsDefined(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the window associated to the view is defined.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CView_IsDefined(self, *args)

    def IsInvalidated(self, *args) -> "Standard_Boolean":
        r"""
        Return true if view content cache has been invalidated.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CView_IsInvalidated(self, *args)

    def IsRemoved(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the view was removed.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CView_IsRemoved(self, *args)

    def Layer(self, *args) -> "opencascade::handle< Graphic3d_Layer >":
        r"""
        Returns layer with given id or null if undefined.

        Parameters
        ----------
        theLayerId: int

        Returns
        -------
        opencascade::handle<Graphic3d_Layer>

        """
        return _Graphic3d.Graphic3d_CView_Layer(self, *args)

    def Layers(self, *args) -> "NCollection_List< opencascade::handle< Graphic3d_Layer > > const &":
        r"""
        Returns the list of layers.

        Returns
        -------
        NCollection_List<opencascade::handle<Graphic3d_Layer>>

        """
        return _Graphic3d.Graphic3d_CView_Layers(self, *args)

    def Lights(self, *args) -> "opencascade::handle< Graphic3d_LightSet > const &":
        r"""
        Returns list of lights of the view.

        Returns
        -------
        opencascade::handle<Graphic3d_LightSet>

        """
        return _Graphic3d.Graphic3d_CView_Lights(self, *args)

    def MinMaxValues(self, *args) -> "Bnd_Box":
        r"""
        Returns the bounding box of all structures displayed in the view. if thetoincludeauxiliary is true, then the boundary box also includes minimum and maximum limits of graphical elements forming parts of infinite and other auxiliary structures. @param thetoincludeauxiliary consider also auxiliary presentations (with infinite flag or with trihedron transformation persistence) returns computed bounding box.

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

        Returns
        -------
        Bnd_Box
        Returns the coordinates of the boundary box of all structures in the set <theset>. if <thetoignoreinfiniteflag> is true, then the boundary box also includes minimum and maximum limits of graphical elements forming parts of infinite structures.

        Parameters
        ----------
        theSet: Graphic3d_MapOfStructure
        theToIncludeAuxiliary: bool,optional
        	default value is Standard_False

        Returns
        -------
        Bnd_Box

        """
        return _Graphic3d.Graphic3d_CView_MinMaxValues(self, *args)

    def NumberOfDisplayedStructures(self, *args) -> "Standard_Integer":
        r"""
        Returns number of displayed structures in the view.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_CView_NumberOfDisplayedStructures(self, *args)

    def PoseXRToWorld(self, *args) -> "gp_Trsf":
        r"""
        Convert xr pose to world space. @param thetrsfxr [in] transformation defined in vr local coordinate system,  oriented as y-up, x-right and -z-forward returns transformation defining orientation of xr pose in world space.

        Parameters
        ----------
        thePoseXR: gp_Trsf

        Returns
        -------
        gp_Trsf

        """
        return _Graphic3d.Graphic3d_CView_PoseXRToWorld(self, *args)

    def PosedXRCamera(self, *args) -> "opencascade::handle< Graphic3d_Camera > const &":
        r"""
        Returns transient xr camera position with tracked head orientation applied.

        Returns
        -------
        opencascade::handle<Graphic3d_Camera>

        """
        return _Graphic3d.Graphic3d_CView_PosedXRCamera(self, *args)

    def ProcessXRInput(self, *args) -> "void":
        r"""
        Process input.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_ProcessXRInput(self, *args)

    def ReCompute(self, *args) -> "void":
        r"""
        Computes the new presentation of the structure displayed in this view with the type graphic3d_tos_computed.

        Parameters
        ----------
        theStructure: Graphic3d_Structure

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_ReCompute(self, *args)

    def Redraw(self, *args) -> "void":
        r"""
        Redraw content of the view.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_Redraw(self, *args)

    def RedrawImmediate(self, *args) -> "void":
        r"""
        Redraw immediate content of the view.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_RedrawImmediate(self, *args)

    def ReleaseXR(self, *args) -> "void":
        r"""
        Release xr session.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_ReleaseXR(self, *args)

    def Remove(self, *args) -> "void":
        r"""
        Erases the view and removes from graphic driver. no more graphic operations are allowed in this view after the call.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_Remove(self, *args)

    def RemoveZLayer(self, *args) -> "void":
        r"""
        Remove z layer from the specified view. all structures displayed at the moment in layer will be displayed in default layer ( the bottom-level z layer ). to unset layer id from associated structures use method unsetzlayer (...).

        Parameters
        ----------
        theLayerId: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_RemoveZLayer(self, *args)

    def RenderingParams(self, *args) -> "Graphic3d_RenderingParams const &":
        r"""
        Returns current rendering parameters and effect settings.

        Returns
        -------
        Graphic3d_RenderingParams

        """
        return _Graphic3d.Graphic3d_CView_RenderingParams(self, *args)

    def Resized(self, *args) -> "void":
        r"""
        Handle changing size of the rendering window.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_Resized(self, *args)

    def SetBackfacingModel(self, *args) -> "void":
        r"""
        Sets backfacing model for the view.

        Parameters
        ----------
        theModel: Graphic3d_TypeOfBackfacingModel

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetBackfacingModel(self, *args)

    def SetBackground(self, *args) -> "void":
        r"""
        Sets background fill color.

        Parameters
        ----------
        theBackground: Aspect_Background

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetBackground(self, *args)

    def SetBackgroundImage(self, *args) -> "void":
        r"""
        Sets image texture or environment cubemap as backround. @param thetexturemap [in] source to set a background;  should be either graphic3d_texture2d or graphic3d_cubemap @param thetoupdatepbrenv [in] defines whether ibl maps will be generated or not  (see generatepbrenvironment()).

        Parameters
        ----------
        theTextureMap: Graphic3d_TextureMap
        theToUpdatePBREnv: bool,optional
        	default value is Standard_True

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetBackgroundImage(self, *args)

    def SetBackgroundImageStyle(self, *args) -> "void":
        r"""
        Sets background image fill style.

        Parameters
        ----------
        theFillStyle: Aspect_FillMethod

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetBackgroundImageStyle(self, *args)

    def SetBaseXRCamera(self, *args) -> "void":
        r"""
        Sets anchor camera definition.

        Parameters
        ----------
        theCamera: Graphic3d_Camera

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetBaseXRCamera(self, *args)

    def SetCamera(self, *args) -> "void":
        r"""
        Sets camera used by the view.

        Parameters
        ----------
        theCamera: Graphic3d_Camera

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetCamera(self, *args)

    def SetClipPlanes(self, *args) -> "void":
        r"""
        Sets list of clip planes for the view.

        Parameters
        ----------
        thePlanes: Graphic3d_SequenceOfHClipPlane

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetClipPlanes(self, *args)

    def SetComputedMode(self, *args) -> "void":
        r"""
        Switches computed hlr mode in the view.

        Parameters
        ----------
        theMode: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetComputedMode(self, *args)

    def SetFBO(self, *args) -> "void":
        r"""
        Sets framebuffer object for offscreen rendering.

        Parameters
        ----------
        theFbo: Standard_Transient

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetFBO(self, *args)

    def SetGradientBackground(self, *args) -> "void":
        r"""
        Sets gradient background fill colors.

        Parameters
        ----------
        theBackground: Aspect_GradientBackground

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetGradientBackground(self, *args)

    def SetImmediateModeDrawToFront(self, *args) -> "Standard_Boolean":
        r"""
        @param thedrawtofrontbuffer advanced option to modify rendering mode: 1. true. drawing immediate mode structures directly to the front buffer over the scene image. fast, so preferred for interactive work (used by default). however these extra drawings will be missed in image dump since it is performed from back buffer. notice that since no pre-buffering used the v-sync will be ignored and rendering could be seen in run-time (in case of slow hardware) and/or tearing may appear. so this is strongly recommended to draw only simple (fast) structures. 2. false. drawing immediate mode structures to the back buffer. the complete scene is redrawn first, so this mode is slower if scene contains complex data and/or v-sync is turned on. but it works in any case and is especially useful for view dump because the dump image is read from the back buffer. returns previous mode.

        Parameters
        ----------
        theDrawToFrontBuffer: bool

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CView_SetImmediateModeDrawToFront(self, *args)

    def SetLights(self, *args) -> "void":
        r"""
        Sets list of lights for the view.

        Parameters
        ----------
        theLights: Graphic3d_LightSet

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetLights(self, *args)

    def SetPosedXRCamera(self, *args) -> "void":
        r"""
        Sets transient xr camera position with tracked head orientation applied.

        Parameters
        ----------
        theCamera: Graphic3d_Camera

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetPosedXRCamera(self, *args)

    def SetShadingModel(self, *args) -> "void":
        r"""
        Sets default shading model of the view. will throw an exception on attempt to set graphic3d_tosm_default.

        Parameters
        ----------
        theModel: Graphic3d_TypeOfShadingModel

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetShadingModel(self, *args)

    def SetTextureEnv(self, *args) -> "void":
        r"""
        Sets environment texture for the view.

        Parameters
        ----------
        theTextureEnv: Graphic3d_TextureEnv

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetTextureEnv(self, *args)

    def SetUnitFactor(self, *args) -> "void":
        r"""
        Set unit scale factor.

        Parameters
        ----------
        theFactor: float

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetUnitFactor(self, *args)

    def SetVisualizationType(self, *args) -> "void":
        r"""
        Sets visualization type of the view.

        Parameters
        ----------
        theType: Graphic3d_TypeOfVisualization

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetVisualizationType(self, *args)

    def SetWindow(self, *args) -> "void":
        r"""
        Creates and maps rendering window to the view. @param thewindow [in] the window. @param thecontext [in] the rendering context. if null the context will be created internally.

        Parameters
        ----------
        theWindow: Aspect_Window
        theContext: Aspect_RenderingContext,optional
        	default value is NULL

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetWindow(self, *args)

    def SetXRSession(self, *args) -> "void":
        r"""
        Set xr session.

        Parameters
        ----------
        theSession: Aspect_XRSession

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetXRSession(self, *args)

    def SetZLayerSettings(self, *args) -> "void":
        r"""
        Sets the settings for a single z layer of specified view.

        Parameters
        ----------
        theLayerId: int
        theSettings: Graphic3d_ZLayerSettings

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetZLayerSettings(self, *args)

    def SetupXRPosedCamera(self, *args) -> "void":
        r"""
        Compute posedxrcamera() based on current xr head pose and make it active.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SetupXRPosedCamera(self, *args)

    def ShadingModel(self, *args) -> "Graphic3d_TypeOfShadingModel":
        r"""
        Returns default shading model of the view; graphic3d_tosm_fragment by default.

        Returns
        -------
        Graphic3d_TypeOfShadingModel

        """
        return _Graphic3d.Graphic3d_CView_ShadingModel(self, *args)

    def StatisticInformation(self, *args) -> "void":
        r"""
        Returns string with statistic performance info.

        Returns
        -------
        TCollection_AsciiString
        Fills in the dictionary with statistic performance info.

        Parameters
        ----------
        theDict: TColStd_IndexedDataMapOfStringString

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_StatisticInformation(self, *args)

    def StructureManager(self, *args) -> "opencascade::handle< Graphic3d_StructureManager > const &":
        r"""
        Returns the structure manager handle which manage structures associated with this view.

        Returns
        -------
        opencascade::handle<Graphic3d_StructureManager>

        """
        return _Graphic3d.Graphic3d_CView_StructureManager(self, *args)

    def SynchronizeXRBaseToPosedCamera(self, *args) -> "void":
        r"""
        Recomputes posedxrcamera() based on basexrcamera() and head orientation.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SynchronizeXRBaseToPosedCamera(self, *args)

    def SynchronizeXRPosedToBaseCamera(self, *args) -> "void":
        r"""
        Checks if posedxrcamera() has been modified since setupxrposedcamera() and copies these modifications to basexrcamera().

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_SynchronizeXRPosedToBaseCamera(self, *args)

    def TextureEnv(self, *args) -> "opencascade::handle< Graphic3d_TextureEnv >":
        r"""
        Returns environment texture set for the view.

        Returns
        -------
        opencascade::handle<Graphic3d_TextureEnv>

        """
        return _Graphic3d.Graphic3d_CView_TextureEnv(self, *args)

    def TurnViewXRCamera(self, *args) -> "void":
        r"""
        Turn xr camera direction using current (head) eye position as anchor.

        Parameters
        ----------
        theTrsfTurn: gp_Trsf

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_TurnViewXRCamera(self, *args)

    def UnitFactor(self, *args) -> "Standard_Real":
        r"""
        Return unit scale factor defined as scale factor for m (meters); 1.0 by default. normally, view definition is unitless, however some operations like vr input requires proper units mapping.

        Returns
        -------
        float

        """
        return _Graphic3d.Graphic3d_CView_UnitFactor(self, *args)

    def UnsetXRPosedCamera(self, *args) -> "void":
        r"""
        Set current camera back to basexrcamera() and copy temporary modifications of posedxrcamera(). calls synchronizexrposedtobasecamera() beforehand.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_UnsetXRPosedCamera(self, *args)

    def Update(self, *args) -> "void":
        r"""
        Invalidates bounding box of specified zlayerid.

        Parameters
        ----------
        theLayerId: int,optional
        	default value is Graphic3d_ZLayerId_UNKNOWN

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CView_Update(self, *args)

    def VisualizationType(self, *args) -> "Graphic3d_TypeOfVisualization":
        r"""
        Returns visualization type of the view.

        Returns
        -------
        Graphic3d_TypeOfVisualization

        """
        return _Graphic3d.Graphic3d_CView_VisualizationType(self, *args)

    def Window(self, *args) -> "opencascade::handle< Aspect_Window >":
        r"""
        Returns the window associated to the view.

        Returns
        -------
        opencascade::handle<Aspect_Window>

        """
        return _Graphic3d.Graphic3d_CView_Window(self, *args)

    def XRSession(self, *args) -> "opencascade::handle< Aspect_XRSession > const &":
        r"""
        Return xr session.

        Returns
        -------
        opencascade::handle<Aspect_XRSession>

        """
        return _Graphic3d.Graphic3d_CView_XRSession(self, *args)

    def ZLayerMax(self, *args) -> "Standard_Integer":
        r"""
        Returns the maximum z layer id. first layer id is graphic3d_zlayerid_default, last id is zlayermax().

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_CView_ZLayerMax(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_CView

# Register Graphic3d_CView in _Graphic3d:
_Graphic3d.Graphic3d_CView_swigregister(Graphic3d_CView)

class Graphic3d_FrameStatsDataTmp(Graphic3d_FrameStatsData):
    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

        """
        _Graphic3d.Graphic3d_FrameStatsDataTmp_swiginit(self, _Graphic3d.new_Graphic3d_FrameStatsDataTmp(*args))

    def ChangeCounterValue(self, *args) -> "Standard_Size &":
        r"""
        Get counter value.

        Parameters
        ----------
        theIndex: Graphic3d_FrameStatsCounter

        Returns
        -------
        Standard_Size

        """
        return _Graphic3d.Graphic3d_FrameStatsDataTmp_ChangeCounterValue(self, *args)

    def GetChangeFrameRate(self) -> "Standard_Real":
        r"""GetChangeFrameRate(Graphic3d_FrameStatsDataTmp self) -> Standard_Real"""
        return _Graphic3d.Graphic3d_FrameStatsDataTmp_GetChangeFrameRate(self)

    def SetChangeFrameRate(self, value: "Standard_Real") -> "void":
        r"""SetChangeFrameRate(Graphic3d_FrameStatsDataTmp self, Standard_Real value)"""
        return _Graphic3d.Graphic3d_FrameStatsDataTmp_SetChangeFrameRate(self, value)

    def GetChangeFrameRateCpu(self) -> "Standard_Real":
        r"""GetChangeFrameRateCpu(Graphic3d_FrameStatsDataTmp self) -> Standard_Real"""
        return _Graphic3d.Graphic3d_FrameStatsDataTmp_GetChangeFrameRateCpu(self)

    def SetChangeFrameRateCpu(self, value: "Standard_Real") -> "void":
        r"""SetChangeFrameRateCpu(Graphic3d_FrameStatsDataTmp self, Standard_Real value)"""
        return _Graphic3d.Graphic3d_FrameStatsDataTmp_SetChangeFrameRateCpu(self, value)

    def GetChangeImmediateFrameRate(self) -> "Standard_Real":
        r"""GetChangeImmediateFrameRate(Graphic3d_FrameStatsDataTmp self) -> Standard_Real"""
        return _Graphic3d.Graphic3d_FrameStatsDataTmp_GetChangeImmediateFrameRate(self)

    def SetChangeImmediateFrameRate(self, value: "Standard_Real") -> "void":
        r"""SetChangeImmediateFrameRate(Graphic3d_FrameStatsDataTmp self, Standard_Real value)"""
        return _Graphic3d.Graphic3d_FrameStatsDataTmp_SetChangeImmediateFrameRate(self, value)

    def GetChangeImmediateFrameRateCpu(self) -> "Standard_Real":
        r"""GetChangeImmediateFrameRateCpu(Graphic3d_FrameStatsDataTmp self) -> Standard_Real"""
        return _Graphic3d.Graphic3d_FrameStatsDataTmp_GetChangeImmediateFrameRateCpu(self)

    def SetChangeImmediateFrameRateCpu(self, value: "Standard_Real") -> "void":
        r"""SetChangeImmediateFrameRateCpu(Graphic3d_FrameStatsDataTmp self, Standard_Real value)"""
        return _Graphic3d.Graphic3d_FrameStatsDataTmp_SetChangeImmediateFrameRateCpu(self, value)

    def ChangeTimer(self, *args) -> "OSD_Timer &":
        r"""
        Return a timer object for time measurements.

        Parameters
        ----------
        theTimer: Graphic3d_FrameStatsTimer

        Returns
        -------
        OSD_Timer

        """
        return _Graphic3d.Graphic3d_FrameStatsDataTmp_ChangeTimer(self, *args)

    def GetChangeTimerValue(self, theIndex: "Graphic3d_FrameStatsTimer") -> "Standard_Real":
        r"""GetChangeTimerValue(Graphic3d_FrameStatsDataTmp self, Graphic3d_FrameStatsTimer theIndex) -> Standard_Real"""
        return _Graphic3d.Graphic3d_FrameStatsDataTmp_GetChangeTimerValue(self, theIndex)

    def SetChangeTimerValue(self, theIndex: "Graphic3d_FrameStatsTimer", value: "Standard_Real") -> "void":
        r"""SetChangeTimerValue(Graphic3d_FrameStatsDataTmp self, Graphic3d_FrameStatsTimer theIndex, Standard_Real value)"""
        return _Graphic3d.Graphic3d_FrameStatsDataTmp_SetChangeTimerValue(self, theIndex, value)

    def FlushTimers(self, *args) -> "void":
        r"""
        Compute average data considering the amount of rendered frames.

        Parameters
        ----------
        theNbFrames: Standard_Size
        theIsFinal: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_FrameStatsDataTmp_FlushTimers(self, *args)

    def Reset(self, *args) -> "void":
        r"""
        Reset data.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_FrameStatsDataTmp_Reset(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_FrameStatsDataTmp

# Register Graphic3d_FrameStatsDataTmp in _Graphic3d:
_Graphic3d.Graphic3d_FrameStatsDataTmp_swigregister(Graphic3d_FrameStatsDataTmp)

class Graphic3d_MediaTextureSet(OCC.Core.Media.Media_IFrameQueue):
    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

        """
        _Graphic3d.Graphic3d_MediaTextureSet_swiginit(self, _Graphic3d.new_Graphic3d_MediaTextureSet(*args))

    def Duration(self, *args) -> "double":
        r"""
        Return duration in seconds.

        Returns
        -------
        double

        """
        return _Graphic3d.Graphic3d_MediaTextureSet_Duration(self, *args)

    def FrameSize(self, *args) -> "Graphic3d_Vec2i":
        r"""
        Return front frame dimensions.

        Returns
        -------
        Graphic3d_Vec2i

        """
        return _Graphic3d.Graphic3d_MediaTextureSet_FrameSize(self, *args)

    def Input(self, *args) -> "TCollection_AsciiString const &":
        r"""
        Return input media.

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_MediaTextureSet_Input(self, *args)

    def IsFullRangeYUV(self, *args) -> "Standard_Boolean":
        r"""
        Return true if yuv range is full.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_MediaTextureSet_IsFullRangeYUV(self, *args)

    def IsPlanarYUV(self, *args) -> "Standard_Boolean":
        r"""
        Return true if texture set defined 3 yuv planes.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_MediaTextureSet_IsPlanarYUV(self, *args)

    def Notify(self, *args) -> "void":
        r"""
        Call callback.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MediaTextureSet_Notify(self, *args)

    def OpenInput(self, *args) -> "void":
        r"""
        Open specified file. passing an empty path would close current input.

        Parameters
        ----------
        thePath: TCollection_AsciiString
        theToWait: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MediaTextureSet_OpenInput(self, *args)

    def PlayerContext(self, *args) -> "opencascade::handle< Media_PlayerContext > const &":
        r"""
        Return player context; it can be null until first openinput().

        Returns
        -------
        opencascade::handle<Media_PlayerContext>

        """
        return _Graphic3d.Graphic3d_MediaTextureSet_PlayerContext(self, *args)

    def Progress(self, *args) -> "double":
        r"""
        Return playback progress in seconds.

        Returns
        -------
        double

        """
        return _Graphic3d.Graphic3d_MediaTextureSet_Progress(self, *args)

    def ShaderProgram(self, *args) -> "opencascade::handle< Graphic3d_ShaderProgram >":
        r"""
        Return shader program for displaying texture set.

        Returns
        -------
        opencascade::handle<Graphic3d_ShaderProgram>

        """
        return _Graphic3d.Graphic3d_MediaTextureSet_ShaderProgram(self, *args)

    def SwapFrames(self, *args) -> "Standard_Boolean":
        r"""
        Swap front/back frames.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_MediaTextureSet_SwapFrames(self, *args)


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


    __repr__ = _dumps_object

    @methodnotwrapped
    def SetCallback(self):
    	pass

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_MediaTextureSet

# Register Graphic3d_MediaTextureSet in _Graphic3d:
_Graphic3d.Graphic3d_MediaTextureSet_swigregister(Graphic3d_MediaTextureSet)

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

    def __init__(self, *args):
        r"""
        Creates an environment texture from a file.

        Parameters
        ----------
        theFileName: TCollection_AsciiString

        Returns
        -------
        None
        Creates an environment texture from a predefined texture name set.

        Parameters
        ----------
        theName: Graphic3d_NameOfTextureEnv

        Returns
        -------
        None
        Creates an environment texture from the pixmap.

        Parameters
        ----------
        thePixMap: Image_PixMap

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_TextureEnv_swiginit(self, _Graphic3d.new_Graphic3d_TextureEnv(*args))

    def Name(self, *args) -> "Graphic3d_NameOfTextureEnv":
        r"""
        Returns the name of the predefined textures or not_env_unknown when the name is given as a filename.

        Returns
        -------
        Graphic3d_NameOfTextureEnv

        """
        return _Graphic3d.Graphic3d_TextureEnv_Name(self, *args)

    @staticmethod
    def NumberOfTextures(*args) -> "Standard_Integer":
        r"""
        Returns the number of predefined textures.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_TextureEnv_NumberOfTextures(*args)

    @staticmethod
    def TextureName(*args) -> "TCollection_AsciiString":
        r"""
        Returns the name of the predefined texture of rank <arank>.

        Parameters
        ----------
        theRank: int

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_TextureEnv_TextureName(*args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_TextureEnv

# Register Graphic3d_TextureEnv in _Graphic3d:
_Graphic3d.Graphic3d_TextureEnv_swigregister(Graphic3d_TextureEnv)

def Graphic3d_TextureEnv_NumberOfTextures(*args) -> "Standard_Integer":
    r"""
    Returns the number of predefined textures.

    Returns
    -------
    int

    """
    return _Graphic3d.Graphic3d_TextureEnv_NumberOfTextures(*args)

def Graphic3d_TextureEnv_TextureName(*args) -> "TCollection_AsciiString":
    r"""
    Returns the name of the predefined texture of rank <arank>.

    Parameters
    ----------
    theRank: int

    Returns
    -------
    TCollection_AsciiString

    """
    return _Graphic3d.Graphic3d_TextureEnv_TextureName(*args)

class Graphic3d_TextureMap(Graphic3d_TextureRoot):
    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 AnisoFilter(self, *args) -> "Graphic3d_LevelOfTextureAnisotropy":
        r"""
        Returns level of anisotropy texture filter. default value is graphic3d_lota_off.

        Returns
        -------
        Graphic3d_LevelOfTextureAnisotropy

        """
        return _Graphic3d.Graphic3d_TextureMap_AnisoFilter(self, *args)

    def DisableModulate(self, *args) -> "void":
        r"""
        Disable texture modulate mode. the image is directly decal on the surface.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureMap_DisableModulate(self, *args)

    def DisableRepeat(self, *args) -> "void":
        r"""
        Use this methods if you want to disable texture repetition on your objects.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureMap_DisableRepeat(self, *args)

    def DisableSmooth(self, *args) -> "void":
        r"""
        Disable texture smoothing.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureMap_DisableSmooth(self, *args)

    def EnableModulate(self, *args) -> "void":
        r"""
        Enable texture modulate mode. the image is modulate with the shading of the surface.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureMap_EnableModulate(self, *args)

    def EnableRepeat(self, *args) -> "void":
        r"""
        Use this methods if you want to enable texture repetition on your objects.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureMap_EnableRepeat(self, *args)

    def EnableSmooth(self, *args) -> "void":
        r"""
        Enable texture smoothing.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureMap_EnableSmooth(self, *args)

    def IsModulate(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the texture is modulate.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_TextureMap_IsModulate(self, *args)

    def IsRepeat(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the texture repeat is enable.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_TextureMap_IsRepeat(self, *args)

    def IsSmoothed(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the texture is smoothed.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_TextureMap_IsSmoothed(self, *args)

    def SetAnisoFilter(self, *args) -> "void":
        r"""
        @param thelevel level of anisotropy texture filter.

        Parameters
        ----------
        theLevel: Graphic3d_LevelOfTextureAnisotropy

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_TextureMap_SetAnisoFilter(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_TextureMap

# Register Graphic3d_TextureMap in _Graphic3d:
_Graphic3d.Graphic3d_TextureMap_swigregister(Graphic3d_TextureMap)

class Graphic3d_CubeMap(Graphic3d_TextureMap):
    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 CompressedValue(self, *args) -> "opencascade::handle< Image_CompressedPixMap >":
        r"""
        Returns current cubemap side as compressed pixmap. returns null handle if current side is invalid or if image is not in supported compressed format.

        Parameters
        ----------
        theSupported: Image_SupportedFormats

        Returns
        -------
        opencascade::handle<Image_CompressedPixMap>

        """
        return _Graphic3d.Graphic3d_CubeMap_CompressedValue(self, *args)

    def CurrentSide(self, *args) -> "Graphic3d_CubeMapSide":
        r"""
        Returns current cubemap side (iterator state).

        Returns
        -------
        Graphic3d_CubeMapSide

        """
        return _Graphic3d.Graphic3d_CubeMap_CurrentSide(self, *args)

    def HasMipmaps(self, *args) -> "Standard_Boolean":
        r"""
        Returns whether mipmaps of cubemap will be generated or not.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CubeMap_HasMipmaps(self, *args)

    def More(self, *args) -> "Standard_Boolean":
        r"""
        Returns whether the iterator has reached the end (true if it hasn't). .

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CubeMap_More(self, *args)

    def Next(self, *args) -> "void":
        r"""
        Moves iterator to the next cubemap side. uses opengl cubemap sides order +x -> -x -> +y -> -y -> +z -> -z.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CubeMap_Next(self, *args)

    def Reset(self, *args) -> "Graphic3d_CubeMap &":
        r"""
        Sets iterator state to +x cubemap side.

        Returns
        -------
        Graphic3d_CubeMap

        """
        return _Graphic3d.Graphic3d_CubeMap_Reset(self, *args)

    def SetMipmapsGeneration(self, *args) -> "void":
        r"""
        Sets whether to generate mipmaps of cubemap or not.

        Parameters
        ----------
        theToGenerateMipmaps: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CubeMap_SetMipmapsGeneration(self, *args)

    def SetZInversion(self, *args) -> "void":
        r"""
        Sets z axis inversion (vertical flipping).

        Parameters
        ----------
        theZIsInverted: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_CubeMap_SetZInversion(self, *args)

    def Value(self, *args) -> "opencascade::handle< Image_PixMap >":
        r"""
        Returns pixmap containing current side of cubemap. returns null handle if current side is invalid.

        Parameters
        ----------
        theSupported: Image_SupportedFormats

        Returns
        -------
        opencascade::handle<Image_PixMap>

        """
        return _Graphic3d.Graphic3d_CubeMap_Value(self, *args)

    def ZIsInverted(self, *args) -> "Standard_Boolean":
        r"""
        Returns whether z axis is inverted.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_CubeMap_ZIsInverted(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_CubeMap

# Register Graphic3d_CubeMap in _Graphic3d:
_Graphic3d.Graphic3d_CubeMap_swigregister(Graphic3d_CubeMap)

class Graphic3d_MutableIndexBuffer(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.

        Parameters
        ----------
        theAlloc: NCollection_BaseAllocator

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_MutableIndexBuffer_swiginit(self, _Graphic3d.new_Graphic3d_MutableIndexBuffer(*args))

    def Invalidate(self, *args) -> "void":
        r"""
        Invalidate the entire buffer data.

        Returns
        -------
        None
        Invalidate the given indexes (starting from 0).

        Parameters
        ----------
        theIndexLower: int
        theIndexUpper: int

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MutableIndexBuffer_Invalidate(self, *args)

    def InvalidatedRange(self, *args) -> "Graphic3d_BufferRange":
        r"""
        Return invalidated range.

        Returns
        -------
        Graphic3d_BufferRange

        """
        return _Graphic3d.Graphic3d_MutableIndexBuffer_InvalidatedRange(self, *args)

    def IsMutable(self, *args) -> "Standard_Boolean":
        r"""
        Return true if data can be invalidated.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_MutableIndexBuffer_IsMutable(self, *args)

    def Validate(self, *args) -> "void":
        r"""
        Reset invalidated range.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MutableIndexBuffer_Validate(self, *args)

    def invalidate(self, *args) -> "void":
        r"""
        Invalidate specified sub-range of data (as byte offsets).

        Parameters
        ----------
        theRange: Graphic3d_BufferRange

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MutableIndexBuffer_invalidate(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_MutableIndexBuffer

# Register Graphic3d_MutableIndexBuffer in _Graphic3d:
_Graphic3d.Graphic3d_MutableIndexBuffer_swigregister(Graphic3d_MutableIndexBuffer)

class Graphic3d_Texture1D(Graphic3d_TextureMap):
    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 Name(self, *args) -> "Graphic3d_NameOfTexture1D":
        r"""
        Returns the name of the predefined textures or not_1d_unknown when the name is given as a filename.

        Returns
        -------
        Graphic3d_NameOfTexture1D

        """
        return _Graphic3d.Graphic3d_Texture1D_Name(self, *args)

    @staticmethod
    def NumberOfTextures(*args) -> "Standard_Integer":
        r"""
        Returns the number of predefined textures.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_Texture1D_NumberOfTextures(*args)

    @staticmethod
    def TextureName(*args) -> "TCollection_AsciiString":
        r"""
        Returns the name of the predefined texture of rank <arank>.

        Parameters
        ----------
        aRank: int

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_Texture1D_TextureName(*args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Texture1D

# Register Graphic3d_Texture1D in _Graphic3d:
_Graphic3d.Graphic3d_Texture1D_swigregister(Graphic3d_Texture1D)

def Graphic3d_Texture1D_NumberOfTextures(*args) -> "Standard_Integer":
    r"""
    Returns the number of predefined textures.

    Returns
    -------
    int

    """
    return _Graphic3d.Graphic3d_Texture1D_NumberOfTextures(*args)

def Graphic3d_Texture1D_TextureName(*args) -> "TCollection_AsciiString":
    r"""
    Returns the name of the predefined texture of rank <arank>.

    Parameters
    ----------
    aRank: int

    Returns
    -------
    TCollection_AsciiString

    """
    return _Graphic3d.Graphic3d_Texture1D_TextureName(*args)

class Graphic3d_Texture2D(Graphic3d_TextureMap):
    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 HasMipMaps(self, *args) -> "Standard_Boolean":
        r"""
        Return true if mip-maps should be used.

        Returns
        -------
        bool

        """
        return _Graphic3d.Graphic3d_Texture2D_HasMipMaps(self, *args)

    def Name(self, *args) -> "Graphic3d_NameOfTexture2D":
        r"""
        Returns the name of the predefined textures or not_2d_unknown when the name is given as a filename.

        Returns
        -------
        Graphic3d_NameOfTexture2D

        """
        return _Graphic3d.Graphic3d_Texture2D_Name(self, *args)

    @staticmethod
    def NumberOfTextures(*args) -> "Standard_Integer":
        r"""
        Returns the number of predefined textures.

        Returns
        -------
        int

        """
        return _Graphic3d.Graphic3d_Texture2D_NumberOfTextures(*args)

    def SetImage(self, *args) -> "void":
        r"""
        Assign new image to the texture. note that this method does not invalidate already uploaded resources - consider calling ::updaterevision() if needed.

        Parameters
        ----------
        thePixMap: Image_PixMap

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture2D_SetImage(self, *args)

    def SetMipMaps(self, *args) -> "void":
        r"""
        Set if mip-maps should be used (generated if needed). note that this method should be called before loading / using the texture.

        Parameters
        ----------
        theToUse: bool

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture2D_SetMipMaps(self, *args)

    @staticmethod
    def TextureName(*args) -> "TCollection_AsciiString":
        r"""
        Returns the name of the predefined texture of rank <arank>.

        Parameters
        ----------
        theRank: int

        Returns
        -------
        TCollection_AsciiString

        """
        return _Graphic3d.Graphic3d_Texture2D_TextureName(*args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Texture2D

# Register Graphic3d_Texture2D in _Graphic3d:
_Graphic3d.Graphic3d_Texture2D_swigregister(Graphic3d_Texture2D)

def Graphic3d_Texture2D_NumberOfTextures(*args) -> "Standard_Integer":
    r"""
    Returns the number of predefined textures.

    Returns
    -------
    int

    """
    return _Graphic3d.Graphic3d_Texture2D_NumberOfTextures(*args)

def Graphic3d_Texture2D_TextureName(*args) -> "TCollection_AsciiString":
    r"""
    Returns the name of the predefined texture of rank <arank>.

    Parameters
    ----------
    theRank: int

    Returns
    -------
    TCollection_AsciiString

    """
    return _Graphic3d.Graphic3d_Texture2D_TextureName(*args)

class Graphic3d_CubeMapSeparate(Graphic3d_CubeMap):
    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"""
        Initializes cubemap to be loaded from file. @thepaths - array of paths to separate image files (has to have size equal 6).

        Parameters
        ----------
        thePaths: NCollection_Array1<TCollection_AsciiString>

        Returns
        -------
        None
        Initializes cubemap to be setted directly from pixmaps. @theimages - array if pixmaps (has to have size equal 6).

        Parameters
        ----------
        theImages: Image_PixMap

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_CubeMapSeparate_swiginit(self, _Graphic3d.new_Graphic3d_CubeMapSeparate(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_CubeMapSeparate

# Register Graphic3d_CubeMapSeparate in _Graphic3d:
_Graphic3d.Graphic3d_CubeMapSeparate_swigregister(Graphic3d_CubeMapSeparate)

class Graphic3d_MediaTexture(Graphic3d_Texture2D):
    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"""
        Main constructor.

        Parameters
        ----------
        theMutex: Media_HMutex
        thePlane: int,optional
        	default value is -1

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_MediaTexture_swiginit(self, _Graphic3d.new_Graphic3d_MediaTexture(*args))

    def Frame(self, *args) -> "opencascade::handle< Media_Frame > const &":
        r"""
        Return the frame.

        Returns
        -------
        opencascade::handle<Media_Frame>

        """
        return _Graphic3d.Graphic3d_MediaTexture_Frame(self, *args)

    def GenerateNewId(self, *args) -> "void":
        r"""
        Regenerate a new texture id.

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MediaTexture_GenerateNewId(self, *args)

    def SetFrame(self, *args) -> "void":
        r"""
        Set the frame.

        Parameters
        ----------
        theFrame: Media_Frame

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_MediaTexture_SetFrame(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_MediaTexture

# Register Graphic3d_MediaTexture in _Graphic3d:
_Graphic3d.Graphic3d_MediaTexture_swigregister(Graphic3d_MediaTexture)

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

    def __init__(self, *args):
        r"""
        Creates a texture from the file filename.

        Parameters
        ----------
        theFileName: TCollection_AsciiString

        Returns
        -------
        None
        Create a texture from a predefined texture name set.

        Parameters
        ----------
        theNOT: Graphic3d_NameOfTexture1D

        Returns
        -------
        None
        Creates a texture from the pixmap.

        Parameters
        ----------
        thePixMap: Image_PixMap

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_Texture1Dmanual_swiginit(self, _Graphic3d.new_Graphic3d_Texture1Dmanual(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Texture1Dmanual

# Register Graphic3d_Texture1Dmanual in _Graphic3d:
_Graphic3d.Graphic3d_Texture1Dmanual_swigregister(Graphic3d_Texture1Dmanual)

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

    def __init__(self, *args):
        r"""
        Creates a texture from a file.

        Parameters
        ----------
        theFileName: TCollection_AsciiString

        Returns
        -------
        None
        Creates a texture from a predefined texture name set.

        Parameters
        ----------
        theNOT: Graphic3d_NameOfTexture1D

        Returns
        -------
        None
        Creates a texture from the pixmap.

        Parameters
        ----------
        thePixMap: Image_PixMap

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_Texture1Dsegment_swiginit(self, _Graphic3d.new_Graphic3d_Texture1Dsegment(*args))

    def Segment(self, *args) -> "void":
        r"""
        Returns the values of the current segment x1, y1, z1 , x2, y2, z2.

        Parameters
        ----------
        theX1: Standard_ShortReal
        theY1: Standard_ShortReal
        theZ1: Standard_ShortReal
        theX2: Standard_ShortReal
        theY2: Standard_ShortReal
        theZ2: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture1Dsegment_Segment(self, *args)

    def SetSegment(self, *args) -> "void":
        r"""
        Sets the texture application bounds. defines the way the texture is stretched across facets. default values are <0.0, 0.0, 0.0> , <0.0, 0.0, 1.0>.

        Parameters
        ----------
        theX1: Standard_ShortReal
        theY1: Standard_ShortReal
        theZ1: Standard_ShortReal
        theX2: Standard_ShortReal
        theY2: Standard_ShortReal
        theZ2: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture1Dsegment_SetSegment(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Texture1Dsegment

# Register Graphic3d_Texture1Dsegment in _Graphic3d:
_Graphic3d.Graphic3d_Texture1Dsegment_swigregister(Graphic3d_Texture1Dsegment)

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

    def __init__(self, *args):
        r"""
        Creates a texture from a file. mipmaps levels will be automatically generated if needed.

        Parameters
        ----------
        theFileName: TCollection_AsciiString

        Returns
        -------
        None
        Creates a texture from a predefined texture name set. mipmaps levels will be automatically generated if needed.

        Parameters
        ----------
        theNOT: Graphic3d_NameOfTexture2D

        Returns
        -------
        None
        Creates a texture from the pixmap. mipmaps levels will be automatically generated if needed.

        Parameters
        ----------
        thePixMap: Image_PixMap

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_Texture2Dmanual_swiginit(self, _Graphic3d.new_Graphic3d_Texture2Dmanual(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Texture2Dmanual

# Register Graphic3d_Texture2Dmanual in _Graphic3d:
_Graphic3d.Graphic3d_Texture2Dmanual_swigregister(Graphic3d_Texture2Dmanual)

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

    def __init__(self, *args):
        r"""
        Creates a texture from a file.

        Parameters
        ----------
        theFileName: TCollection_AsciiString

        Returns
        -------
        None
        Creates a texture from a predefined texture name set.

        Parameters
        ----------
        theNOT: Graphic3d_NameOfTexture2D

        Returns
        -------
        None
        Creates a texture from the pixmap.

        Parameters
        ----------
        thePixMap: Image_PixMap

        Returns
        -------
        None

        """
        _Graphic3d.Graphic3d_Texture2Dplane_swiginit(self, _Graphic3d.new_Graphic3d_Texture2Dplane(*args))

    def Plane(self, *args) -> "Graphic3d_NameOfTexturePlane":
        r"""
        Returns the current texture plane name or notp_unknown when the plane is user defined.

        Returns
        -------
        Graphic3d_NameOfTexturePlane

        """
        return _Graphic3d.Graphic3d_Texture2Dplane_Plane(self, *args)

    def PlaneS(self, *args) -> "void":
        r"""
        Returns the current texture plane s equation.

        Parameters
        ----------
        A: Standard_ShortReal
        B: Standard_ShortReal
        C: Standard_ShortReal
        D: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture2Dplane_PlaneS(self, *args)

    def PlaneT(self, *args) -> "void":
        r"""
        Returns the current texture plane t equation.

        Parameters
        ----------
        A: Standard_ShortReal
        B: Standard_ShortReal
        C: Standard_ShortReal
        D: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture2Dplane_PlaneT(self, *args)

    def Rotation(self, *args) -> "void":
        r"""
        Returns the current texture rotation angle.

        Parameters
        ----------
        theVal: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture2Dplane_Rotation(self, *args)

    def ScaleS(self, *args) -> "void":
        r"""
        Returns the current texture s scale value.

        Parameters
        ----------
        theVal: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture2Dplane_ScaleS(self, *args)

    def ScaleT(self, *args) -> "void":
        r"""
        Returns the current texture t scale value.

        Parameters
        ----------
        theVal: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture2Dplane_ScaleT(self, *args)

    def SetPlane(self, *args) -> "void":
        r"""
        Defines the texture projection plane for both s and t texture coordinate default is notp_xy meaning: <1.0, 0.0, 0.0, 0.0> for s and <0.0, 1.0, 0.0, 0.0> for t.

        Parameters
        ----------
        thePlane: Graphic3d_NameOfTexturePlane

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture2Dplane_SetPlane(self, *args)

    def SetPlaneS(self, *args) -> "void":
        r"""
        Defines the texture projection plane for texture coordinate s default is <1.0, 0.0, 0.0, 0.0>.

        Parameters
        ----------
        A: Standard_ShortReal
        B: Standard_ShortReal
        C: Standard_ShortReal
        D: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture2Dplane_SetPlaneS(self, *args)

    def SetPlaneT(self, *args) -> "void":
        r"""
        Defines the texture projection plane for texture coordinate t default is <0.0, 1.0, 0.0, 0.0>.

        Parameters
        ----------
        A: Standard_ShortReal
        B: Standard_ShortReal
        C: Standard_ShortReal
        D: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture2Dplane_SetPlaneT(self, *args)

    def SetRotation(self, *args) -> "void":
        r"""
        Sets the rotation angle of the whole texture. the same result might be achieved by recomputing the s and t plane equation but it's not the easiest way... the angle is expressed in degrees default is 0.0.

        Parameters
        ----------
        theVal: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture2Dplane_SetRotation(self, *args)

    def SetScaleS(self, *args) -> "void":
        r"""
        Defines the texture scale for the s texture coordinate much easier than recomputing the s plane equation but the result is the same default to 1.0.

        Parameters
        ----------
        theVal: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture2Dplane_SetScaleS(self, *args)

    def SetScaleT(self, *args) -> "void":
        r"""
        Defines the texture scale for the t texture coordinate much easier than recompution the t plane equation but the result is the same default to 1.0.

        Parameters
        ----------
        theVal: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture2Dplane_SetScaleT(self, *args)

    def SetTranslateS(self, *args) -> "void":
        r"""
        Defines the texture translation for the s texture coordinate you can obtain the same effect by modifying the s plane equation but its not easier. default to 0.0.

        Parameters
        ----------
        theVal: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture2Dplane_SetTranslateS(self, *args)

    def SetTranslateT(self, *args) -> "void":
        r"""
        Defines the texture translation for the t texture coordinate you can obtain the same effect by modifying the t plane equation but its not easier. default to 0.0.

        Parameters
        ----------
        theVal: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture2Dplane_SetTranslateT(self, *args)

    def TranslateS(self, *args) -> "void":
        r"""
        Returns the current texture s translation value.

        Parameters
        ----------
        theVal: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture2Dplane_TranslateS(self, *args)

    def TranslateT(self, *args) -> "void":
        r"""
        Returns the current texture t translation value.

        Parameters
        ----------
        theVal: Standard_ShortReal

        Returns
        -------
        None

        """
        return _Graphic3d.Graphic3d_Texture2Dplane_TranslateT(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _Graphic3d.delete_Graphic3d_Texture2Dplane

# Register Graphic3d_Texture2Dplane in _Graphic3d:
_Graphic3d.Graphic3d_Texture2Dplane_swigregister(Graphic3d_Texture2Dplane)


@classnotwrapped
class Graphic3d_UniformValue:
	pass

@classnotwrapped
class Graphic3d_UniformValueType:
	pass

@classnotwrapped
class Graphic3d_UniformValueTypeID:
	pass

@classnotwrapped
class Graphic3d_Buffer:
	pass

@classnotwrapped
class Graphic3d_IndexBuffer:
	pass

@classnotwrapped
class Graphic3d_TransformPers:
	pass

@classnotwrapped
class Graphic3d_TextureSet:
	pass

@classnotwrapped
class Graphic3d_CubeMapOrder:
	pass

@classnotwrapped
class Graphic3d_CubeMapPacked:
	pass

@classnotwrapped
class Graphic3d_BvhCStructureSetTrsfPers:
	pass






