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

"""
PrsMgr module, see official documentation at
https://dev.opencascade.org/doc/occt-7.9.0/refman/html/package_prsmgr.html
"""

from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if getattr(globals().get("__spec__"), "parent", None) or __package__ or "." in __name__:
    from . import _PrsMgr
else:
    import _PrsMgr

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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


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


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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


def process_exception(error, method_name, class_name):
    return _PrsMgr.process_exception(error, method_name, class_name)

import warnings
from OCC.Wrapper.wrapper_utils import Proxy, deprecated

class ios_base(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
    erase_event = _PrsMgr.ios_base_erase_event
    imbue_event = _PrsMgr.ios_base_imbue_event
    copyfmt_event = _PrsMgr.ios_base_copyfmt_event

    def register_callback(self, __fn, __index):
        return _PrsMgr.ios_base_register_callback(self, __fn, __index)

    def flags(self, *args):
        return _PrsMgr.ios_base_flags(self, *args)

    def setf(self, *args):
        return _PrsMgr.ios_base_setf(self, *args)

    def unsetf(self, __mask):
        return _PrsMgr.ios_base_unsetf(self, __mask)

    def precision(self, *args):
        return _PrsMgr.ios_base_precision(self, *args)

    def width(self, *args):
        return _PrsMgr.ios_base_width(self, *args)

    @staticmethod
    def sync_with_stdio(__sync=True):
        return _PrsMgr.ios_base_sync_with_stdio(__sync)

    def imbue(self, __loc):
        return _PrsMgr.ios_base_imbue(self, __loc)

    def getloc(self):
        return _PrsMgr.ios_base_getloc(self)

    @staticmethod
    def xalloc():
        return _PrsMgr.ios_base_xalloc()

    def iword(self, __ix):
        return _PrsMgr.ios_base_iword(self, __ix)

    def pword(self, __ix):
        return _PrsMgr.ios_base_pword(self, __ix)
    __swig_destroy__ = _PrsMgr.delete_ios_base

# Register ios_base in _PrsMgr:
_PrsMgr.ios_base_swigregister(ios_base)
cvar = _PrsMgr.cvar
ios_base.boolalpha = _PrsMgr.cvar.ios_base_boolalpha
ios_base.dec = _PrsMgr.cvar.ios_base_dec
ios_base.fixed = _PrsMgr.cvar.ios_base_fixed
ios_base.hex = _PrsMgr.cvar.ios_base_hex
ios_base.internal = _PrsMgr.cvar.ios_base_internal
ios_base.left = _PrsMgr.cvar.ios_base_left
ios_base.oct = _PrsMgr.cvar.ios_base_oct
ios_base.right = _PrsMgr.cvar.ios_base_right
ios_base.scientific = _PrsMgr.cvar.ios_base_scientific
ios_base.showbase = _PrsMgr.cvar.ios_base_showbase
ios_base.showpoint = _PrsMgr.cvar.ios_base_showpoint
ios_base.showpos = _PrsMgr.cvar.ios_base_showpos
ios_base.skipws = _PrsMgr.cvar.ios_base_skipws
ios_base.unitbuf = _PrsMgr.cvar.ios_base_unitbuf
ios_base.uppercase = _PrsMgr.cvar.ios_base_uppercase
ios_base.adjustfield = _PrsMgr.cvar.ios_base_adjustfield
ios_base.basefield = _PrsMgr.cvar.ios_base_basefield
ios_base.floatfield = _PrsMgr.cvar.ios_base_floatfield
ios_base.badbit = _PrsMgr.cvar.ios_base_badbit
ios_base.eofbit = _PrsMgr.cvar.ios_base_eofbit
ios_base.failbit = _PrsMgr.cvar.ios_base_failbit
ios_base.goodbit = _PrsMgr.cvar.ios_base_goodbit
ios_base.app = _PrsMgr.cvar.ios_base_app
ios_base.ate = _PrsMgr.cvar.ios_base_ate
ios_base.binary = _PrsMgr.cvar.ios_base_binary
ios_base.ios_base_in = _PrsMgr.cvar.ios_base_ios_base_in
ios_base.out = _PrsMgr.cvar.ios_base_out
ios_base.trunc = _PrsMgr.cvar.ios_base_trunc
ios_base.beg = _PrsMgr.cvar.ios_base_beg
ios_base.cur = _PrsMgr.cvar.ios_base_cur
ios_base.end = _PrsMgr.cvar.ios_base_end

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

    def rdstate(self):
        return _PrsMgr.ios_rdstate(self)

    def clear(self, *args):
        return _PrsMgr.ios_clear(self, *args)

    def setstate(self, __state):
        return _PrsMgr.ios_setstate(self, __state)

    def good(self):
        return _PrsMgr.ios_good(self)

    def eof(self):
        return _PrsMgr.ios_eof(self)

    def fail(self):
        return _PrsMgr.ios_fail(self)

    def bad(self):
        return _PrsMgr.ios_bad(self)

    def exceptions(self, *args):
        return _PrsMgr.ios_exceptions(self, *args)

    def __init__(self, __sb):
        _PrsMgr.ios_swiginit(self, _PrsMgr.new_ios(__sb))
    __swig_destroy__ = _PrsMgr.delete_ios

    def tie(self, *args):
        return _PrsMgr.ios_tie(self, *args)

    def rdbuf(self, *args):
        return _PrsMgr.ios_rdbuf(self, *args)

    def copyfmt(self, __rhs):
        return _PrsMgr.ios_copyfmt(self, __rhs)

    def fill(self, *args):
        return _PrsMgr.ios_fill(self, *args)

    def imbue(self, __loc):
        return _PrsMgr.ios_imbue(self, __loc)

    def narrow(self, __c, __dfault):
        return _PrsMgr.ios_narrow(self, __c, __dfault)

    def widen(self, __c):
        return _PrsMgr.ios_widen(self, __c)

# Register ios in _PrsMgr:
_PrsMgr.ios_swigregister(ios)
class ostream(ios):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _PrsMgr.ostream_swiginit(self, _PrsMgr.new_ostream(__sb))
    __swig_destroy__ = _PrsMgr.delete_ostream

    def __lshift__(self, *args):
        return _PrsMgr.ostream___lshift__(self, *args)

    def put(self, __c):
        return _PrsMgr.ostream_put(self, __c)

    def write(self, __s, __n):
        return _PrsMgr.ostream_write(self, __s, __n)

    def flush(self):
        return _PrsMgr.ostream_flush(self)

    def tellp(self):
        return _PrsMgr.ostream_tellp(self)

    def seekp(self, *args):
        return _PrsMgr.ostream_seekp(self, *args)

# Register ostream in _PrsMgr:
_PrsMgr.ostream_swigregister(ostream)
class istream(ios):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _PrsMgr.istream_swiginit(self, _PrsMgr.new_istream(__sb))
    __swig_destroy__ = _PrsMgr.delete_istream

    def __rshift__(self, *args):
        return _PrsMgr.istream___rshift__(self, *args)

    def gcount(self):
        return _PrsMgr.istream_gcount(self)

    def get(self, *args):
        return _PrsMgr.istream_get(self, *args)

    def getline(self, *args):
        return _PrsMgr.istream_getline(self, *args)

    def ignore(self, *args):
        return _PrsMgr.istream_ignore(self, *args)

    def peek(self):
        return _PrsMgr.istream_peek(self)

    def read(self, __s, __n):
        return _PrsMgr.istream_read(self, __s, __n)

    def readsome(self, __s, __n):
        return _PrsMgr.istream_readsome(self, __s, __n)

    def putback(self, __c):
        return _PrsMgr.istream_putback(self, __c)

    def unget(self):
        return _PrsMgr.istream_unget(self)

    def sync(self):
        return _PrsMgr.istream_sync(self)

    def tellg(self):
        return _PrsMgr.istream_tellg(self)

    def seekg(self, *args):
        return _PrsMgr.istream_seekg(self, *args)

# Register istream in _PrsMgr:
_PrsMgr.istream_swigregister(istream)
class iostream(istream, ostream):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _PrsMgr.iostream_swiginit(self, _PrsMgr.new_iostream(__sb))
    __swig_destroy__ = _PrsMgr.delete_iostream

# Register iostream in _PrsMgr:
_PrsMgr.iostream_swigregister(iostream)
cin = cvar.cin
cout = cvar.cout
cerr = cvar.cerr
clog = cvar.clog

endl_cb_ptr = _PrsMgr.endl_cb_ptr
endl = _PrsMgr.endl
ends_cb_ptr = _PrsMgr.ends_cb_ptr
ends = _PrsMgr.ends
flush_cb_ptr = _PrsMgr.flush_cb_ptr
flush = _PrsMgr.flush
import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.Prs3d
import OCC.Core.TColgp
import OCC.Core.Graphic3d
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.OSD
import OCC.Core.Media
import OCC.Core.Poly
import OCC.Core.TShort
import OCC.Core.GeomAbs
import OCC.Core.V3d

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

PrsMgr_DisplayStatus_Displayed = _PrsMgr.PrsMgr_DisplayStatus_Displayed
PrsMgr_DisplayStatus_Erased = _PrsMgr.PrsMgr_DisplayStatus_Erased
PrsMgr_DisplayStatus_None = _PrsMgr.PrsMgr_DisplayStatus_None
AIS_DS_Displayed = _PrsMgr.AIS_DS_Displayed
AIS_DS_Erased = _PrsMgr.AIS_DS_Erased
AIS_DS_None = _PrsMgr.AIS_DS_None
PrsMgr_TOP_AllView = _PrsMgr.PrsMgr_TOP_AllView
PrsMgr_TOP_ProjectorDependent = _PrsMgr.PrsMgr_TOP_ProjectorDependent


class PrsMgr_DisplayStatus(IntEnum):
	PrsMgr_DisplayStatus_Displayed = 0
	PrsMgr_DisplayStatus_Erased = 1
	PrsMgr_DisplayStatus_None = 2
	AIS_DS_Displayed = PrsMgr_DisplayStatus_Displayed
	AIS_DS_Erased = PrsMgr_DisplayStatus_Erased
	AIS_DS_None = PrsMgr_DisplayStatus_None
PrsMgr_DisplayStatus_Displayed = PrsMgr_DisplayStatus.PrsMgr_DisplayStatus_Displayed
PrsMgr_DisplayStatus_Erased = PrsMgr_DisplayStatus.PrsMgr_DisplayStatus_Erased
PrsMgr_DisplayStatus_None = PrsMgr_DisplayStatus.PrsMgr_DisplayStatus_None
AIS_DS_Displayed = PrsMgr_DisplayStatus.AIS_DS_Displayed
AIS_DS_Erased = PrsMgr_DisplayStatus.AIS_DS_Erased
AIS_DS_None = PrsMgr_DisplayStatus.AIS_DS_None

class PrsMgr_TypeOfPresentation3d(IntEnum):
	PrsMgr_TOP_AllView = 0
	PrsMgr_TOP_ProjectorDependent = 1
PrsMgr_TOP_AllView = PrsMgr_TypeOfPresentation3d.PrsMgr_TOP_AllView
PrsMgr_TOP_ProjectorDependent = PrsMgr_TypeOfPresentation3d.PrsMgr_TOP_ProjectorDependent


def Handle_PrsMgr_PresentableObject_Create():
    return _PrsMgr.Handle_PrsMgr_PresentableObject_Create()

def Handle_PrsMgr_PresentableObject_DownCast(t):
    return _PrsMgr.Handle_PrsMgr_PresentableObject_DownCast(t)

def Handle_PrsMgr_PresentableObject_IsNull(t):
    return _PrsMgr.Handle_PrsMgr_PresentableObject_IsNull(t)

def Handle_PrsMgr_Presentation_Create():
    return _PrsMgr.Handle_PrsMgr_Presentation_Create()

def Handle_PrsMgr_Presentation_DownCast(t):
    return _PrsMgr.Handle_PrsMgr_Presentation_DownCast(t)

def Handle_PrsMgr_Presentation_IsNull(t):
    return _PrsMgr.Handle_PrsMgr_Presentation_IsNull(t)

def Handle_PrsMgr_PresentationManager_Create():
    return _PrsMgr.Handle_PrsMgr_PresentationManager_Create()

def Handle_PrsMgr_PresentationManager_DownCast(t):
    return _PrsMgr.Handle_PrsMgr_PresentationManager_DownCast(t)

def Handle_PrsMgr_PresentationManager_IsNull(t):
    return _PrsMgr.Handle_PrsMgr_PresentationManager_IsNull(t)
class PrsMgr_ListOfPresentableObjects(OCC.Core.NCollection.NCollection_BaseList):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _PrsMgr.PrsMgr_ListOfPresentableObjects_begin(self)

    def end(self):
        return _PrsMgr.PrsMgr_ListOfPresentableObjects_end(self)

    def cbegin(self):
        return _PrsMgr.PrsMgr_ListOfPresentableObjects_cbegin(self)

    def cend(self):
        return _PrsMgr.PrsMgr_ListOfPresentableObjects_cend(self)

    def __init__(self, *args):
        _PrsMgr.PrsMgr_ListOfPresentableObjects_swiginit(self, _PrsMgr.new_PrsMgr_ListOfPresentableObjects(*args))

    def Size(self):
        return _PrsMgr.PrsMgr_ListOfPresentableObjects_Size(self)

    def Assign(self, theOther):
        return _PrsMgr.PrsMgr_ListOfPresentableObjects_Assign(self, theOther)

    def Set(self, *args):
        return _PrsMgr.PrsMgr_ListOfPresentableObjects_Set(self, *args)

    def Clear(self, theAllocator=0):
        return _PrsMgr.PrsMgr_ListOfPresentableObjects_Clear(self, theAllocator)

    def First(self):
        return _PrsMgr.PrsMgr_ListOfPresentableObjects_First(self)

    def Last(self):
        return _PrsMgr.PrsMgr_ListOfPresentableObjects_Last(self)

    def Append(self, *args):
        return _PrsMgr.PrsMgr_ListOfPresentableObjects_Append(self, *args)

    def Prepend(self, *args):
        return _PrsMgr.PrsMgr_ListOfPresentableObjects_Prepend(self, *args)

    def RemoveFirst(self):
        return _PrsMgr.PrsMgr_ListOfPresentableObjects_RemoveFirst(self)

    def Remove(self, theIter):
        return _PrsMgr.PrsMgr_ListOfPresentableObjects_Remove(self, theIter)

    def InsertBefore(self, *args):
        return _PrsMgr.PrsMgr_ListOfPresentableObjects_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _PrsMgr.PrsMgr_ListOfPresentableObjects_InsertAfter(self, *args)

    def Reverse(self):
        return _PrsMgr.PrsMgr_ListOfPresentableObjects_Reverse(self)
    __swig_destroy__ = _PrsMgr.delete_PrsMgr_ListOfPresentableObjects

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


# Register PrsMgr_ListOfPresentableObjects in _PrsMgr:
_PrsMgr.PrsMgr_ListOfPresentableObjects_swigregister(PrsMgr_ListOfPresentableObjects)
class PrsMgr_ListOfPresentableObjectsIter(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):
        _PrsMgr.PrsMgr_ListOfPresentableObjectsIter_swiginit(self, _PrsMgr.new_PrsMgr_ListOfPresentableObjectsIter(*args))

    def More(self):
        return _PrsMgr.PrsMgr_ListOfPresentableObjectsIter_More(self)

    def Next(self):
        return _PrsMgr.PrsMgr_ListOfPresentableObjectsIter_Next(self)

    def Value(self):
        return _PrsMgr.PrsMgr_ListOfPresentableObjectsIter_Value(self)

    def ChangeValue(self):
        return _PrsMgr.PrsMgr_ListOfPresentableObjectsIter_ChangeValue(self)
    __swig_destroy__ = _PrsMgr.delete_PrsMgr_ListOfPresentableObjectsIter

# Register PrsMgr_ListOfPresentableObjectsIter in _PrsMgr:
_PrsMgr.PrsMgr_ListOfPresentableObjectsIter_swigregister(PrsMgr_ListOfPresentableObjectsIter)
class PrsMgr_ListOfPresentations(OCC.Core.NCollection.NCollection_BaseList):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self):
        return _PrsMgr.PrsMgr_ListOfPresentations_begin(self)

    def end(self):
        return _PrsMgr.PrsMgr_ListOfPresentations_end(self)

    def cbegin(self):
        return _PrsMgr.PrsMgr_ListOfPresentations_cbegin(self)

    def cend(self):
        return _PrsMgr.PrsMgr_ListOfPresentations_cend(self)

    def __init__(self, *args):
        _PrsMgr.PrsMgr_ListOfPresentations_swiginit(self, _PrsMgr.new_PrsMgr_ListOfPresentations(*args))

    def Size(self):
        return _PrsMgr.PrsMgr_ListOfPresentations_Size(self)

    def Assign(self, theOther):
        return _PrsMgr.PrsMgr_ListOfPresentations_Assign(self, theOther)

    def Set(self, *args):
        return _PrsMgr.PrsMgr_ListOfPresentations_Set(self, *args)

    def Clear(self, theAllocator=0):
        return _PrsMgr.PrsMgr_ListOfPresentations_Clear(self, theAllocator)

    def First(self):
        return _PrsMgr.PrsMgr_ListOfPresentations_First(self)

    def Last(self):
        return _PrsMgr.PrsMgr_ListOfPresentations_Last(self)

    def Append(self, *args):
        return _PrsMgr.PrsMgr_ListOfPresentations_Append(self, *args)

    def Prepend(self, *args):
        return _PrsMgr.PrsMgr_ListOfPresentations_Prepend(self, *args)

    def RemoveFirst(self):
        return _PrsMgr.PrsMgr_ListOfPresentations_RemoveFirst(self)

    def Remove(self, theIter):
        return _PrsMgr.PrsMgr_ListOfPresentations_Remove(self, theIter)

    def InsertBefore(self, *args):
        return _PrsMgr.PrsMgr_ListOfPresentations_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _PrsMgr.PrsMgr_ListOfPresentations_InsertAfter(self, *args)

    def Reverse(self):
        return _PrsMgr.PrsMgr_ListOfPresentations_Reverse(self)
    __swig_destroy__ = _PrsMgr.delete_PrsMgr_ListOfPresentations

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


# Register PrsMgr_ListOfPresentations in _PrsMgr:
_PrsMgr.PrsMgr_ListOfPresentations_swigregister(PrsMgr_ListOfPresentations)
class PrsMgr_Presentations(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):
        return _PrsMgr.PrsMgr_Presentations_begin(self)

    def end(self):
        return _PrsMgr.PrsMgr_Presentations_end(self)

    def cbegin(self):
        return _PrsMgr.PrsMgr_Presentations_cbegin(self)

    def cend(self):
        return _PrsMgr.PrsMgr_Presentations_cend(self)

    def __init__(self, *args):
        _PrsMgr.PrsMgr_Presentations_swiginit(self, _PrsMgr.new_PrsMgr_Presentations(*args))

    def Size(self):
        return _PrsMgr.PrsMgr_Presentations_Size(self)

    def Length(self):
        return _PrsMgr.PrsMgr_Presentations_Length(self)

    def Lower(self):
        return _PrsMgr.PrsMgr_Presentations_Lower(self)

    def Upper(self):
        return _PrsMgr.PrsMgr_Presentations_Upper(self)

    def IsEmpty(self):
        return _PrsMgr.PrsMgr_Presentations_IsEmpty(self)

    def Reverse(self):
        return _PrsMgr.PrsMgr_Presentations_Reverse(self)

    def Exchange(self, I, J):
        return _PrsMgr.PrsMgr_Presentations_Exchange(self, I, J)

    @staticmethod
    def delNode(theNode, theAl):
        return _PrsMgr.PrsMgr_Presentations_delNode(theNode, theAl)

    def Clear(self, theAllocator=0):
        return _PrsMgr.PrsMgr_Presentations_Clear(self, theAllocator)

    def Assign(self, theOther):
        return _PrsMgr.PrsMgr_Presentations_Assign(self, theOther)

    def Set(self, *args):
        return _PrsMgr.PrsMgr_Presentations_Set(self, *args)

    def Remove(self, *args):
        return _PrsMgr.PrsMgr_Presentations_Remove(self, *args)

    def Append(self, *args):
        return _PrsMgr.PrsMgr_Presentations_Append(self, *args)

    def Prepend(self, *args):
        return _PrsMgr.PrsMgr_Presentations_Prepend(self, *args)

    def InsertBefore(self, *args):
        return _PrsMgr.PrsMgr_Presentations_InsertBefore(self, *args)

    def InsertAfter(self, *args):
        return _PrsMgr.PrsMgr_Presentations_InsertAfter(self, *args)

    def Split(self, theIndex, theSeq):
        return _PrsMgr.PrsMgr_Presentations_Split(self, theIndex, theSeq)

    def First(self):
        return _PrsMgr.PrsMgr_Presentations_First(self)

    def ChangeFirst(self):
        return _PrsMgr.PrsMgr_Presentations_ChangeFirst(self)

    def Last(self):
        return _PrsMgr.PrsMgr_Presentations_Last(self)

    def ChangeLast(self):
        return _PrsMgr.PrsMgr_Presentations_ChangeLast(self)

    def Value(self, theIndex):
        return _PrsMgr.PrsMgr_Presentations_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _PrsMgr.PrsMgr_Presentations_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _PrsMgr.PrsMgr_Presentations___call__(self, *args)

    def SetValue(self, theIndex, theItem):
        return _PrsMgr.PrsMgr_Presentations_SetValue(self, theIndex, theItem)
    __swig_destroy__ = _PrsMgr.delete_PrsMgr_Presentations

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


# Register PrsMgr_Presentations in _PrsMgr:
_PrsMgr.PrsMgr_Presentations_swigregister(PrsMgr_Presentations)
class PrsMgr_PresentableObject(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 AcceptDisplayMode(self, *args):
        r"""

        Parameters
        ----------
        theMode: int

        Return
        -------
        bool

        Description
        -----------
        Returns true if the class of objects accepts specified display mode index. The interactive context can have a default mode of representation for the set of Interactive Objects. This mode may not be accepted by a given class of objects. Consequently, this virtual method allowing us to get information about the class in question must be implemented. At least one display mode index should be accepted by this method. Although subclass can leave default implementation, it is highly desired defining exact list of supported modes instead, which is usually an enumeration for one object or objects class sharing similar list of display modes.

        """
        return _PrsMgr.PrsMgr_PresentableObject_AcceptDisplayMode(self, *args)

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

        Parameters
        ----------
        theObject: PrsMgr_PresentableObject

        Return
        -------
        None

        Description
        -----------
        Makes theObject child of current object in scene hierarchy.

        """
        return _PrsMgr.PrsMgr_PresentableObject_AddChild(self, *args)

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

        Parameters
        ----------
        theObject: PrsMgr_PresentableObject

        Return
        -------
        None

        Description
        -----------
        Makes theObject child of current object in scene hierarchy with keeping the current global transformation So the object keeps the same position/orientation in the global CS.

        """
        return _PrsMgr.PrsMgr_PresentableObject_AddChildWithCurrentTransformation(self, *args)

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

        Parameters
        ----------
        thePlane: Graphic3d_ClipPlane

        Return
        -------
        None

        Description
        -----------
        Adds clip plane for graphical clipping for all display mode presentations. The composition of clip planes truncates the rendering space to convex volume. Please be aware that number of supported clip plane is limited. The planes which exceed the limit are ignored. Besides of this, some planes can be already set in view where the object is shown: the number of these planes should be subtracted from limit to predict the maximum possible number of object clipping planes. 
        Input parameter: thePlane the clip plane to be appended to map of clip planes.

        """
        return _PrsMgr.PrsMgr_PresentableObject_AddClipPlane(self, *args)

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

        Description
        -----------
        Returns the attributes settings.

        """
        return _PrsMgr.PrsMgr_PresentableObject_Attributes(self, *args)

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

        Parameters
        ----------
        theBndBox: Bnd_Box

        Return
        -------
        None

        Description
        -----------
        Returns bounding box of object correspondingly to its current display mode. This method requires presentation to be already computed, since it relies on bounding box of presentation structures, which are supposed to be same/close amongst different display modes of this object.

        """
        return _PrsMgr.PrsMgr_PresentableObject_BoundingBox(self, *args)

    def Children(self, *args):
        r"""
        Return
        -------
        PrsMgr_ListOfPresentableObjects

        Description
        -----------
        Returns children of the current object.

        """
        return _PrsMgr.PrsMgr_PresentableObject_Children(self, *args)

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

        Description
        -----------
        Get clip planes. 
        Return: set of previously added clip planes for all display mode presentations.

        """
        return _PrsMgr.PrsMgr_PresentableObject_ClipPlanes(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Returns the color setting of the Interactive Object.

        """
        return _PrsMgr.PrsMgr_PresentableObject_Color(self, *args)

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

        Description
        -----------
        Return combined parent transformation.

        """
        return _PrsMgr.PrsMgr_PresentableObject_CombinedParentTransformation(self, *args)

    def CurrentFacingModel(self, *args):
        r"""
        Return
        -------
        Aspect_TypeOfFacingModel

        Description
        -----------
        Returns the current facing model which is in effect.

        """
        return _PrsMgr.PrsMgr_PresentableObject_CurrentFacingModel(self, *args)

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

        Description
        -----------
        Returns the default display mode.

        """
        return _PrsMgr.PrsMgr_PresentableObject_DefaultDisplayMode(self, *args)

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

        Description
        -----------
        Returns the display mode setting of the Interactive Object. The range of supported display mode indexes should be specified within object definition and filtered by AccepDisplayMode(). 
        See also: AcceptDisplayMode().

        """
        return _PrsMgr.PrsMgr_PresentableObject_DisplayMode(self, *args)

    def DisplayStatus(self, *args):
        r"""
        Return
        -------
        PrsMgr_DisplayStatus

        Description
        -----------
        Return presentation display status; PrsMgr_DisplayStatus_None by default.

        """
        return _PrsMgr.PrsMgr_PresentableObject_DisplayStatus(self, *args)

    def DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _PrsMgr.PrsMgr_PresentableObject_DumpJson(self, depth)

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

        Description
        -----------
        Returns the hilight attributes settings. When not NULL, overrides both Prs3d_TypeOfHighlight_LocalDynamic and Prs3d_TypeOfHighlight_Dynamic defined within AIS_InteractiveContext::HighlightStyle(). 
        See also: AIS_InteractiveContext::HighlightStyle().

        """
        return _PrsMgr.PrsMgr_PresentableObject_DynamicHilightAttributes(self, *args)

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

        Description
        -----------
        Returns true if the Interactive Object has color.

        """
        return _PrsMgr.PrsMgr_PresentableObject_HasColor(self, *args)

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

        Description
        -----------
        Returns true if the Interactive Object has display mode setting overriding global setting (within Interactive Context).

        """
        return _PrsMgr.PrsMgr_PresentableObject_HasDisplayMode(self, *args)

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

        Description
        -----------
        Returns true if the Interactive Object is in highlight mode. 
        See also: HilightAttributes().

        """
        return _PrsMgr.PrsMgr_PresentableObject_HasHilightMode(self, *args)

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

        Description
        -----------
        Returns true if the Interactive Object has a setting for material.

        """
        return _PrsMgr.PrsMgr_PresentableObject_HasMaterial(self, *args)

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

        Description
        -----------
        Returns true if object should have own presentations.

        """
        return _PrsMgr.PrsMgr_PresentableObject_HasOwnPresentations(self, *args)

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

        Description
        -----------
        Returns Standard_True if <myDrawer> has non-null shading aspect.

        """
        return _PrsMgr.PrsMgr_PresentableObject_HasPolygonOffsets(self, *args)

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

        Description
        -----------
        Returns true if object has a transformation that is different from the identity.

        """
        return _PrsMgr.PrsMgr_PresentableObject_HasTransformation(self, *args)

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

        Description
        -----------
        Returns true if the Interactive Object has width.

        """
        return _PrsMgr.PrsMgr_PresentableObject_HasWidth(self, *args)

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

        Description
        -----------
        Returns the hilight attributes settings. When not NULL, overrides both Prs3d_TypeOfHighlight_LocalSelected and Prs3d_TypeOfHighlight_Selected defined within AIS_InteractiveContext::HighlightStyle(). 
        See also: AIS_InteractiveContext::HighlightStyle().

        """
        return _PrsMgr.PrsMgr_PresentableObject_HilightAttributes(self, *args)

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

        Description
        -----------
        Returns highlight display mode. This is obsolete method for backward compatibility - use ::HilightAttributes() and ::DynamicHilightAttributes() instead. 
        See also: HilightAttributes().

        """
        return _PrsMgr.PrsMgr_PresentableObject_HilightMode(self, *args)

    def InversedTransformation(self, *args):
        r"""
        Return
        -------
        gp_GTrsf

        Description
        -----------
        Return inversed transformation.

        """
        return _PrsMgr.PrsMgr_PresentableObject_InversedTransformation(self, *args)

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

        Description
        -----------
        Returns true if the interactive object is infinite; False by default. This flag affects various operations operating on bounding box of graphic presentations of this object. For instance, infinite objects are not taken in account for View FitAll. This does not necessarily means that object is actually infinite, auxiliary objects might be also marked with this flag to achieve desired behavior.

        """
        return _PrsMgr.PrsMgr_PresentableObject_IsInfinite(self, *args)

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

        Description
        -----------
        Returns true if object has mutable nature (content or location are be changed regularly). Mutable object will be managed in different way than static onces (another optimizations).

        """
        return _PrsMgr.PrsMgr_PresentableObject_IsMutable(self, *args)

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

        Description
        -----------
        Returns true if there is a transparency setting.

        """
        return _PrsMgr.PrsMgr_PresentableObject_IsTransparent(self, *args)

    def LocalTransformation(self, *args):
        r"""
        Return
        -------
        gp_Trsf

        Description
        -----------
        Return the local transformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence.

        """
        return _PrsMgr.PrsMgr_PresentableObject_LocalTransformation(self, *args)

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

        Description
        -----------
        Return the local transformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence.

        """
        return _PrsMgr.PrsMgr_PresentableObject_LocalTransformationGeom(self, *args)

    def Material(self, *args):
        r"""
        Return
        -------
        Graphic3d_NameOfMaterial

        Description
        -----------
        Returns the current material setting as enumeration value.

        """
        return _PrsMgr.PrsMgr_PresentableObject_Material(self, *args)

    def Parent(self, *args):
        r"""
        Return
        -------
        PrsMgr_PresentableObject *

        Description
        -----------
        Returns parent of current object in scene hierarchy.

        """
        return _PrsMgr.PrsMgr_PresentableObject_Parent(self, *args)

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

        Parameters
        ----------

        Return
        -------
        aMode: int
        aFactor: float
        aUnits: float

        Description
        -----------
        Retrieves current polygon offsets settings from <myDrawer>.

        """
        return _PrsMgr.PrsMgr_PresentableObject_PolygonOffsets(self, *args)

    def Presentations(self, *args):
        r"""
        Return
        -------
        PrsMgr_Presentations

        Description
        -----------
        Return presentations.

        """
        return _PrsMgr.PrsMgr_PresentableObject_Presentations(self, *args)

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

        Parameters
        ----------
        theProjector: Graphic3d_Camera

        Return
        -------
        None

        Description
        -----------
        Calculates object presentation for specific camera position. Each of the views in the viewer and every modification such as rotation, for example, entails recalculation. 
        Parameter theProjector [in] view orientation.

        """
        return _PrsMgr.PrsMgr_PresentableObject_RecomputeTransformation(self, *args)

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

        Parameters
        ----------
        theObject: PrsMgr_PresentableObject

        Return
        -------
        None

        Description
        -----------
        Removes theObject from children of current object in scene hierarchy.

        """
        return _PrsMgr.PrsMgr_PresentableObject_RemoveChild(self, *args)

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

        Parameters
        ----------
        theObject: PrsMgr_PresentableObject

        Return
        -------
        None

        Description
        -----------
        Removes theObject from children of current object in scene hierarchy with keeping the current global transformation. So the object keeps the same position/orientation in the global CS.

        """
        return _PrsMgr.PrsMgr_PresentableObject_RemoveChildWithRestoreTransformation(self, *args)

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

        Parameters
        ----------
        thePlane: Graphic3d_ClipPlane

        Return
        -------
        None

        Description
        -----------
        Removes previously added clip plane. 
        Input parameter: thePlane the clip plane to be removed from map of clip planes.

        """
        return _PrsMgr.PrsMgr_PresentableObject_RemoveClipPlane(self, *args)

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

        Description
        -----------
        resets local transformation to identity.

        """
        return _PrsMgr.PrsMgr_PresentableObject_ResetTransformation(self, *args)

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

        Parameters
        ----------
        theDrawer: Prs3d_Drawer

        Return
        -------
        None

        Description
        -----------
        Initializes the drawing tool theDrawer.

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetAttributes(self, *args)

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

        Parameters
        ----------
        thePlanes: Graphic3d_SequenceOfHClipPlane

        Return
        -------
        None

        Description
        -----------
        Set clip planes for graphical clipping for all display mode presentations. The composition of clip planes truncates the rendering space to convex volume. Please be aware that number of supported clip plane is limited. The planes which exceed the limit are ignored. Besides of this, some planes can be already set in view where the object is shown: the number of these planes should be subtracted from limit to predict the maximum possible number of object clipping planes.

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetClipPlanes(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Only the interactive object knowns which Drawer attribute is affected by the color, if any (ex: for a wire,it's the wireaspect field of the drawer, but for a vertex, only the point aspect field is affected by the color). WARNING: Do not forget to set the corresponding fields here (hasOwnColor and myDrawer->SetColor()).

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetColor(self, *args)

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

        Parameters
        ----------
        theModel: Aspect_TypeOfFacingModel (optional, default to Aspect_TOFM_BOTH_SIDE)

        Return
        -------
        None

        Description
        -----------
        change the current facing model apply on polygons for SetColor(), SetTransparency(), SetMaterial() methods default facing model is Aspect_TOFM_TWO_SIDE. This mean that attributes is applying both on the front and back face.

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetCurrentFacingModel(self, *args)

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

        Parameters
        ----------
        theMode: int

        Return
        -------
        None

        Description
        -----------
        Sets the display mode for the interactive object. An object can have its own temporary display mode, which is different from that proposed by the interactive context. 
        See also: AcceptDisplayMode().

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetDisplayMode(self, *args)

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

        Parameters
        ----------
        theDrawer: Prs3d_Drawer

        Return
        -------
        None

        Description
        -----------
        Initializes the dynamic hilight drawing tool.

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetDynamicHilightAttributes(self, *args)

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

        Parameters
        ----------
        theDrawer: Prs3d_Drawer

        Return
        -------
        None

        Description
        -----------
        Initializes the hilight drawing tool theDrawer.

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetHilightAttributes(self, *args)

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

        Parameters
        ----------
        theMode: int

        Return
        -------
        None

        Description
        -----------
        Sets highlight display mode. This is obsolete method for backward compatibility - use ::HilightAttributes() and ::DynamicHilightAttributes() instead. 
        See also: HilightAttributes().

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetHilightMode(self, *args)

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

        Parameters
        ----------
        theFlag: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Sets if object should be considered as infinite.

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetInfiniteState(self, *args)

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

        Parameters
        ----------
        theIsEnabled: bool

        Return
        -------
        None

        Description
        -----------
        Enables or disables on-triangulation build of isolines according to the flag given.

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetIsoOnTriangulation(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Sets local transformation to theTransformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence.

        Parameters
        ----------
        theTrsf: TopLoc_Datum3D

        Return
        -------
        None

        Description
        -----------
        Sets local transformation to theTransformation. Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence.

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetLocalTransformation(self, *args)

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

        Parameters
        ----------
        aName: Graphic3d_MaterialAspect

        Return
        -------
        None

        Description
        -----------
        Sets the material aMat defining this display attribute for the interactive object. Material aspect determines shading aspect, color and transparency of visible entities.

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetMaterial(self, *args)

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

        Parameters
        ----------
        theIsMutable: bool

        Return
        -------
        None

        Description
        -----------
        Sets if the object has mutable nature (content or location will be changed regularly). This method should be called before object displaying to take effect.

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetMutable(self, *args)

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

        Parameters
        ----------
        aMode: int
        aFactor: float (optional, default to 1.0)
        aUnits: float (optional, default to 0.0)

        Return
        -------
        None

        Description
        -----------
        Sets up polygon offsets for this object. 
        See also: Graphic3d_Aspects::SetPolygonOffsets().

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetPolygonOffsets(self, *args)

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

        Parameters
        ----------
        theFlag: bool

        Return
        -------
        None

        Description
        -----------
        Change the value of the flag 'propagate visual state'.

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetPropagateVisualState(self, *args)

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

        Parameters
        ----------
        theMode: int

        Return
        -------
        None

        Description
        -----------
        Flags presentation to be updated; UpdatePresentations() will recompute these presentations. 
        Parameter theMode presentation (display mode) to invalidate, or -1 to invalidate them all.
        Return
        -------
        None

        Description
        -----------
        flags all the Presentations to be Updated.

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetToUpdate(self, *args)

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

        Parameters
        ----------
        theTrsfPers: Graphic3d_TransformPers

        Return
        -------
        None

        Description
        -----------
        Sets up Transform Persistence defining a special Local Coordinate system where this object should be located. Note that management of Transform Persistence object is more expensive than of the normal one, because it requires its position being recomputed basing on camera position within each draw call / traverse. 
        See also: Graphic3d_TransformPers class description.

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetTransformPersistence(self, *args)

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

        Parameters
        ----------
        aValue: float (optional, default to 0.6)

        Return
        -------
        None

        Description
        -----------
        Attributes a setting aValue for transparency. The transparency value should be between 0.0 and 1.0. At 0.0 an object will be totally opaque, and at 1.0, fully transparent. Warning At a value of 1.0, there may be nothing visible.

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetTransparency(self, *args)

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

        Parameters
        ----------
        theType: PrsMgr_TypeOfPresentation3d

        Return
        -------
        None

        Description
        -----------
        Set type of presentation.

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetTypeOfPresentation(self, *args)

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

        Parameters
        ----------
        theWidth: float

        Return
        -------
        None

        Description
        -----------
        Allows you to provide the setting aValue for width. Only the Interactive Object knows which Drawer attribute is affected by the width setting.

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetWidth(self, *args)

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

        Parameters
        ----------
        theLayerId: int

        Return
        -------
        None

        Description
        -----------
        Set Z layer ID and update all presentations of the presentable object. The layers mechanism allows drawing objects in higher layers in overlay of objects in lower layers.

        """
        return _PrsMgr.PrsMgr_PresentableObject_SetZLayer(self, *args)

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

        Description
        -----------
        Synchronize presentation aspects after their modification. //! This method should be called after modifying primitive aspect properties (material, texture, shader) so that modifications will take effect on already computed presentation groups (thus avoiding re-displaying the object).

        """
        return _PrsMgr.PrsMgr_PresentableObject_SynchronizeAspects(self, *args)

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

        Parameters
        ----------
        theToIncludeHidden: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Returns True if any active presentation has invalidation flag. 
        Parameter theToIncludeHidden when True, also checks hidden presentations.

        Parameters
        ----------
        ListOfMode: TColStd_ListOfInteger

        Return
        -------
        None

        Description
        -----------
        gives the list of modes which are flagged 'to be updated'.

        """
        return _PrsMgr.PrsMgr_PresentableObject_ToBeUpdated(self, *args)

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

        Description
        -----------
        Get value of the flag 'propagate visual state' It means that the display/erase/color visual state is propagated automatically to all children; by default, the flag is true.

        """
        return _PrsMgr.PrsMgr_PresentableObject_ToPropagateVisualState(self, *args)

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

        Description
        -----------
        Returns Transformation Persistence defining a special Local Coordinate system where this presentable object is located or NULL handle if not defined. Position of the object having Transformation Persistence is mutable and depends on camera position. The same applies to a bounding box of the object. 
        See also: Graphic3d_TransformPers class description.

        """
        return _PrsMgr.PrsMgr_PresentableObject_TransformPersistence(self, *args)

    def Transformation(self, *args):
        r"""
        Return
        -------
        gp_Trsf

        Description
        -----------
        Return the transformation taking into account transformation of parent object(s). Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence.

        """
        return _PrsMgr.PrsMgr_PresentableObject_Transformation(self, *args)

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

        Description
        -----------
        Return the transformation taking into account transformation of parent object(s). Note that the local transformation of the object having Transformation Persistence is applied within Local Coordinate system defined by this Persistence.

        """
        return _PrsMgr.PrsMgr_PresentableObject_TransformationGeom(self, *args)

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

        Description
        -----------
        Returns the transparency setting. This will be between 0.0 and 1.0. At 0.0 an object will be totally opaque, and at 1.0, fully transparent.

        """
        return _PrsMgr.PrsMgr_PresentableObject_Transparency(self, *args)

    def TypeOfPresentation3d(self, *args):
        r"""
        Return
        -------
        PrsMgr_TypeOfPresentation3d

        Description
        -----------
        Returns information on whether the object accepts display in HLR mode or not.

        """
        return _PrsMgr.PrsMgr_PresentableObject_TypeOfPresentation3d(self, *args)

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

        Description
        -----------
        Clears settings provided by the drawing tool aDrawer.

        """
        return _PrsMgr.PrsMgr_PresentableObject_UnsetAttributes(self, *args)

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

        Description
        -----------
        Removes color settings. Only the Interactive Object knows which Drawer attribute is affected by the color setting. For a wire, for example, wire aspect is the attribute affected. For a vertex, however, only point aspect is affected by the color setting.

        """
        return _PrsMgr.PrsMgr_PresentableObject_UnsetColor(self, *args)

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

        Description
        -----------
        Removes display mode settings from the interactive object.

        """
        return _PrsMgr.PrsMgr_PresentableObject_UnsetDisplayMode(self, *args)

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

        Description
        -----------
        Clears settings provided by the hilight drawing tool theDrawer.

        """
        return _PrsMgr.PrsMgr_PresentableObject_UnsetHilightAttributes(self, *args)

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

        Description
        -----------
        Unsets highlight display mode. 
        See also: HilightAttributes().

        """
        return _PrsMgr.PrsMgr_PresentableObject_UnsetHilightMode(self, *args)

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

        Description
        -----------
        Removes the setting for material.

        """
        return _PrsMgr.PrsMgr_PresentableObject_UnsetMaterial(self, *args)

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

        Description
        -----------
        Removes the transparency setting. The object is opaque by default.

        """
        return _PrsMgr.PrsMgr_PresentableObject_UnsetTransparency(self, *args)

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

        Description
        -----------
        Reset width to default value.

        """
        return _PrsMgr.PrsMgr_PresentableObject_UnsetWidth(self, *args)

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

        Description
        -----------
        Updates final transformation (parent + local) of presentable object and its presentations.

        """
        return _PrsMgr.PrsMgr_PresentableObject_UpdateTransformation(self, *args)

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

        Description
        -----------
        Return view affinity mask.

        """
        return _PrsMgr.PrsMgr_PresentableObject_ViewAffinity(self, *args)

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

        Description
        -----------
        Returns the width setting of the Interactive Object.

        """
        return _PrsMgr.PrsMgr_PresentableObject_Width(self, *args)

    def ZLayer(self, *args):
        r"""
        Return
        -------
        Graphic3d_ZLayerId

        Description
        -----------
        Get ID of Z layer for main presentation.

        """
        return _PrsMgr.PrsMgr_PresentableObject_ZLayer(self, *args)


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


    __repr__ = _dumps_object


# Register PrsMgr_PresentableObject in _PrsMgr:
_PrsMgr.PrsMgr_PresentableObject_swigregister(PrsMgr_PresentableObject)
class PrsMgr_Presentation(OCC.Core.Graphic3d.Graphic3d_Structure):
    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 DumpJson(self, depth=-1):
        r"""

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        Parameters
        ----------
        depth: int, default=-1

        Return
        -------
        str

        Description
        -----------
        Dump the object to JSON string.

        """
        return _PrsMgr.PrsMgr_Presentation_DumpJson(self, depth)

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

        Parameters
        ----------
        theStyle: Prs3d_Drawer

        Return
        -------
        None

        Description
        -----------
        Highlight structure.

        """
        return _PrsMgr.PrsMgr_Presentation_Highlight(self, *args)

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

        Description
        -----------
        Return display mode index.

        """
        return _PrsMgr.PrsMgr_Presentation_Mode(self, *args)

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

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

        """
        return _PrsMgr.PrsMgr_Presentation_MustBeUpdated(self, *args)

    def Presentation(self, *args):
        r"""
        Return
        -------
        Prs3d_Presentation *

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

        """
        return _PrsMgr.PrsMgr_Presentation_Presentation(self, *args)

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

        Description
        -----------
        returns the PresentationManager in which the presentation has been created.

        """
        return _PrsMgr.PrsMgr_Presentation_PresentationManager(self, *args)

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

        Parameters
        ----------
        theUpdateStatus: bool

        Return
        -------
        None

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

        """
        return _PrsMgr.PrsMgr_Presentation_SetUpdateStatus(self, *args)

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

        Description
        -----------
        Unhighlight structure.

        """
        return _PrsMgr.PrsMgr_Presentation_Unhighlight(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _PrsMgr.delete_PrsMgr_Presentation

# Register PrsMgr_Presentation in _PrsMgr:
_PrsMgr.PrsMgr_Presentation_swigregister(PrsMgr_Presentation)
class PrsMgr_PresentationManager(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theStructureManager: Graphic3d_StructureManager

        Return
        -------
        None

        Description
        -----------
        Creates a framework to manage displays and graphic entities with the 3D view theStructureManager.

        """
        _PrsMgr.PrsMgr_PresentationManager_swiginit(self, _PrsMgr.new_PrsMgr_PresentationManager(*args))

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

        Parameters
        ----------
        thePrs: Prs3d_Presentation

        Return
        -------
        None

        Description
        -----------
        Stores thePrs in the transient list of presentations to be displayed in immediate mode. Will be taken in account in EndImmediateDraw method.

        """
        return _PrsMgr.PrsMgr_PresentationManager_AddToImmediateList(self, *args)

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

        Description
        -----------
        Resets the transient list of presentations previously displayed in immediate mode and begins accumulation of new list by following AddToImmediateList()/Color()/Highlight() calls.

        """
        return _PrsMgr.PrsMgr_PresentationManager_BeginImmediateDraw(self, *args)

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

        Parameters
        ----------
        thePrsObject: PrsMgr_PresentableObject
        theMode: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Clears the presentation of the presentable object thePrsObject in this framework with the display mode theMode.

        """
        return _PrsMgr.PrsMgr_PresentationManager_Clear(self, *args)

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

        Description
        -----------
        Resets the transient list of presentations previously displayed in immediate mode.

        """
        return _PrsMgr.PrsMgr_PresentationManager_ClearImmediateDraw(self, *args)

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

        Parameters
        ----------
        thePrsObject: PrsMgr_PresentableObject
        theStyle: Prs3d_Drawer
        theMode: int (optional, default to 0)
        theSelObj: PrsMgr_PresentableObject (optional, default to NULL)
        theImmediateStructLayerId: int (optional, default to Graphic3d_ZLayerId_Topmost)

        Return
        -------
        None

        Description
        -----------
        Highlights the graphic object thePrsObject in the color theColor. thePrsObject has the display mode theMode; this has the default value of 0, that is, the wireframe display mode.

        """
        return _PrsMgr.PrsMgr_PresentationManager_Color(self, *args)

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

        Parameters
        ----------
        thePrsObject: PrsMgr_PresentableObject
        theOtherObject: PrsMgr_PresentableObject
        theMode: int (optional, default to 0)
        theOtherMode: int (optional, default to 0)

        Return
        -------
        None

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

        """
        return _PrsMgr.PrsMgr_PresentationManager_Connect(self, *args)

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

        Parameters
        ----------
        thePrsObject: PrsMgr_PresentableObject
        theMode: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Displays the presentation of the object in the given Presentation manager with the given mode. The mode should be enumerated by the object which inherits PresentableObject.

        """
        return _PrsMgr.PrsMgr_PresentationManager_Display(self, *args)

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

        Parameters
        ----------
        thePrsObject: PrsMgr_PresentableObject
        theMode: int

        Return
        -------
        Graphic3d_DisplayPriority

        Description
        -----------
        Returns the display priority of the presentable object thePrsObject in this framework with the display mode theMode.

        """
        return _PrsMgr.PrsMgr_PresentationManager_DisplayPriority(self, *args)

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

        Parameters
        ----------
        theViewer: V3d_Viewer

        Return
        -------
        None

        Description
        -----------
        Allows rapid drawing of the each view in theViewer by avoiding an update of the whole background.

        """
        return _PrsMgr.PrsMgr_PresentationManager_EndImmediateDraw(self, *args)

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

        Parameters
        ----------
        thePrsObject: PrsMgr_PresentableObject
        theMode: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        erases the presentation of the object in the given Presentation manager with the given mode. If @theMode is -1, then erases all presentations of the object.

        """
        return _PrsMgr.PrsMgr_PresentationManager_Erase(self, *args)

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

        Parameters
        ----------
        thePrsObject: PrsMgr_PresentableObject

        Return
        -------
        Graphic3d_ZLayerId

        Description
        -----------
        Get Z layer ID assigned to all presentations of the object. Method returns -1 value if object has no presentations and is impossible to get layer index.

        """
        return _PrsMgr.PrsMgr_PresentationManager_GetZLayer(self, *args)

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

        Parameters
        ----------
        thePrsObject: PrsMgr_PresentableObject
        theMode: int (optional, default to 0)

        Return
        -------
        bool

        Description
        -----------
        Returns true if there is a presentation of the presentable object thePrsObject in this framework, thePrsObject having the display mode theMode.

        """
        return _PrsMgr.PrsMgr_PresentationManager_HasPresentation(self, *args)

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

        Parameters
        ----------
        thePrsObject: PrsMgr_PresentableObject
        theMode: int (optional, default to 0)

        Return
        -------
        bool

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

        """
        return _PrsMgr.PrsMgr_PresentationManager_IsDisplayed(self, *args)

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

        Parameters
        ----------
        thePrsObject: PrsMgr_PresentableObject
        theMode: int (optional, default to 0)

        Return
        -------
        bool

        Description
        -----------
        Returns true if the presentation of the presentable object thePrsObject in this framework with the display mode theMode is highlighted.

        """
        return _PrsMgr.PrsMgr_PresentationManager_IsHighlighted(self, *args)

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

        Description
        -----------
        Returns true if Presentation Manager is accumulating transient list of presentations to be displayed in immediate mode.

        """
        return _PrsMgr.PrsMgr_PresentationManager_IsImmediateModeOn(self, *args)

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

        Parameters
        ----------
        thePrsObject: PrsMgr_PresentableObject
        theMode: int (optional, default to 0)
        theToCreate: bool (optional, default to Standard_False)
        theSelObj: PrsMgr_PresentableObject (optional, default to NULL)

        Return
        -------
        opencascade::handle<PrsMgr_Presentation>

        Description
        -----------
        Returns the presentation Presentation of the presentable object thePrsObject in this framework. When theToCreate is true - automatically creates presentation for specified mode when not exist. Optional argument theSelObj specifies parent decomposed object to inherit its view affinity.

        """
        return _PrsMgr.PrsMgr_PresentationManager_Presentation(self, *args)

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

        Parameters
        ----------
        theViewer: V3d_Viewer

        Return
        -------
        None

        Description
        -----------
        Clears and redisplays immediate structures of the viewer taking into account its affinity.

        """
        return _PrsMgr.PrsMgr_PresentationManager_RedrawImmediate(self, *args)

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

        Parameters
        ----------
        thePrsObject: PrsMgr_PresentableObject
        theMode: int
        theNewPrior: Graphic3d_DisplayPriority

        Return
        -------
        None

        Description
        -----------
        Sets the display priority theNewPrior of the presentable object thePrsObject in this framework with the display mode theMode.

        """
        return _PrsMgr.PrsMgr_PresentationManager_SetDisplayPriority(self, *args)

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

        Parameters
        ----------
        thePrsObject: PrsMgr_PresentableObject
        theMode: int
        theValue: bool

        Return
        -------
        None

        Description
        -----------
        Sets the visibility of presentable object.

        """
        return _PrsMgr.PrsMgr_PresentationManager_SetVisibility(self, *args)

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

        Parameters
        ----------
        thePrsObject: PrsMgr_PresentableObject
        theLayerId: int

        Return
        -------
        None

        Description
        -----------
        Set Z layer ID for all presentations of the object.

        """
        return _PrsMgr.PrsMgr_PresentationManager_SetZLayer(self, *args)

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

        Description
        -----------
        Returns the structure manager.

        """
        return _PrsMgr.PrsMgr_PresentationManager_StructureManager(self, *args)

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

        Parameters
        ----------
        thePrsObject: PrsMgr_PresentableObject
        theTransformation: TopLoc_Datum3D
        theMode: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Sets the transformation theTransformation for the presentable object thePrsObject. thePrsObject has the display mode theMode; this has the default value of 0, that is, the wireframe display mode.

        """
        return _PrsMgr.PrsMgr_PresentationManager_Transform(self, *args)

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

        Parameters
        ----------
        thePrsObject: PrsMgr_PresentableObject

        Return
        -------
        None

        Description
        -----------
        Removes highlighting from the presentation of the presentable object.

        """
        return _PrsMgr.PrsMgr_PresentationManager_Unhighlight(self, *args)

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

        Parameters
        ----------
        thePrsObject: PrsMgr_PresentableObject
        theMode: int (optional, default to 0)

        Return
        -------
        None

        Description
        -----------
        Updates the presentation of the presentable object thePrsObject in this framework with the display mode theMode.

        """
        return _PrsMgr.PrsMgr_PresentationManager_Update(self, *args)

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

        Parameters
        ----------
        theViewer: V3d_Viewer
        theObj: PrsMgr_PresentableObject
        theMode: int (optional, default to 0)
        theSelObj: PrsMgr_PresentableObject (optional, default to NULL)

        Return
        -------
        None

        Description
        -----------
        Allows to apply location transformation to shadow highlight presentation immediately. 
        Parameter theObj defines the base object, it local transformation will be applied to corresponding highlight structure 
        Parameter theMode defines display mode of the base object 
        Parameter theSelObj defines the object produced after decomposition of the base object for local selection.

        """
        return _PrsMgr.PrsMgr_PresentationManager_UpdateHighlightTrsf(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _PrsMgr.delete_PrsMgr_PresentationManager

# Register PrsMgr_PresentationManager in _PrsMgr:
_PrsMgr.PrsMgr_PresentationManager_swigregister(PrsMgr_PresentationManager)

Prs3d_Presentation=OCC.Core.Graphic3d.Graphic3d_Structure
PrsMgr_Presentation3d=PrsMgr_Presentation
PrsMgr_PresentationManager3d=PrsMgr_PresentationManager


