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

"""
The soqt module is a wrapper for the SoQt library. The module will try
to import the shiboken module which is used for PySide. If found the involved
wrapped Qt structures are converted to ones suitable for PySide,
otherwise it will fall back to regular SWIG structures.
"""

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 _soqt
else:
    import _soqt

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 charp(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):
        _soqt.charp_swiginit(self, _soqt.new_charp())
    __swig_destroy__ = _soqt.delete_charp

    def assign(self, value: "char") -> "void":
        return _soqt.charp_assign(self, value)

    def value(self) -> "char":
        return _soqt.charp_value(self)

    def cast(self) -> "char *":
        return _soqt.charp_cast(self)

    @staticmethod
    def frompointer(t: "char *") -> "charp *":
        return _soqt.charp_frompointer(t)

# Register charp in _soqt:
_soqt.charp_swigregister(charp)
cast = _soqt.cast

def charp_frompointer(t: "char *") -> "charp *":
    return _soqt.charp_frompointer(t)

class intp(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):
        _soqt.intp_swiginit(self, _soqt.new_intp())
    __swig_destroy__ = _soqt.delete_intp

    def assign(self, value: "int") -> "void":
        return _soqt.intp_assign(self, value)

    def value(self) -> "int":
        return _soqt.intp_value(self)

    def cast(self) -> "int *":
        return _soqt.intp_cast(self)

    @staticmethod
    def frompointer(t: "int *") -> "intp *":
        return _soqt.intp_frompointer(t)

# Register intp in _soqt:
_soqt.intp_swigregister(intp)

def intp_frompointer(t: "int *") -> "intp *":
    return _soqt.intp_frompointer(t)

class longp(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):
        _soqt.longp_swiginit(self, _soqt.new_longp())
    __swig_destroy__ = _soqt.delete_longp

    def assign(self, value: "long") -> "void":
        return _soqt.longp_assign(self, value)

    def value(self) -> "long":
        return _soqt.longp_value(self)

    def cast(self) -> "long *":
        return _soqt.longp_cast(self)

    @staticmethod
    def frompointer(t: "long *") -> "longp *":
        return _soqt.longp_frompointer(t)

# Register longp in _soqt:
_soqt.longp_swigregister(longp)

def longp_frompointer(t: "long *") -> "longp *":
    return _soqt.longp_frompointer(t)

class floatp(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):
        _soqt.floatp_swiginit(self, _soqt.new_floatp())
    __swig_destroy__ = _soqt.delete_floatp

    def assign(self, value: "float") -> "void":
        return _soqt.floatp_assign(self, value)

    def value(self) -> "float":
        return _soqt.floatp_value(self)

    def cast(self) -> "float *":
        return _soqt.floatp_cast(self)

    @staticmethod
    def frompointer(t: "float *") -> "floatp *":
        return _soqt.floatp_frompointer(t)

# Register floatp in _soqt:
_soqt.floatp_swigregister(floatp)

def floatp_frompointer(t: "float *") -> "floatp *":
    return _soqt.floatp_frompointer(t)

class doublep(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):
        _soqt.doublep_swiginit(self, _soqt.new_doublep())
    __swig_destroy__ = _soqt.delete_doublep

    def assign(self, value: "double") -> "void":
        return _soqt.doublep_assign(self, value)

    def value(self) -> "double":
        return _soqt.doublep_value(self)

    def cast(self) -> "double *":
        return _soqt.doublep_cast(self)

    @staticmethod
    def frompointer(t: "double *") -> "doublep *":
        return _soqt.doublep_frompointer(t)

# Register doublep in _soqt:
_soqt.doublep_swigregister(doublep)

def doublep_frompointer(t: "double *") -> "doublep *":
    return _soqt.doublep_frompointer(t)

FALSE = _soqt.FALSE
TRUE = _soqt.TRUE
HAVE_INTTYPES_H = _soqt.HAVE_INTTYPES_H
HAVE_STDINT_H = _soqt.HAVE_STDINT_H
HAVE_SYS_TYPES_H = _soqt.HAVE_SYS_TYPES_H
HAVE_STDDEF_H = _soqt.HAVE_STDDEF_H
HAVE_INT8_T = _soqt.HAVE_INT8_T
HAVE_UINT8_T = _soqt.HAVE_UINT8_T
HAVE_INT16_T = _soqt.HAVE_INT16_T
HAVE_UINT16_T = _soqt.HAVE_UINT16_T
HAVE_INT32_T = _soqt.HAVE_INT32_T
HAVE_UINT32_T = _soqt.HAVE_UINT32_T
HAVE_INT64_T = _soqt.HAVE_INT64_T
HAVE_UINT64_T = _soqt.HAVE_UINT64_T
HAVE_INTPTR_T = _soqt.HAVE_INTPTR_T
HAVE_UINTPTR_T = _soqt.HAVE_UINTPTR_T
M_E = _soqt.M_E
M_LOG2E = _soqt.M_LOG2E
M_LOG10E = _soqt.M_LOG10E
M_LN2 = _soqt.M_LN2
M_LN10 = _soqt.M_LN10
M_PI = _soqt.M_PI
M_TWOPI = _soqt.M_TWOPI
M_PI_2 = _soqt.M_PI_2
M_PI_4 = _soqt.M_PI_4
M_3PI_4 = _soqt.M_3PI_4
M_SQRTPI = _soqt.M_SQRTPI
M_1_PI = _soqt.M_1_PI
M_2_PI = _soqt.M_2_PI
M_2_SQRTPI = _soqt.M_2_SQRTPI
M_SQRT2 = _soqt.M_SQRT2
M_SQRT1_2 = _soqt.M_SQRT1_2
M_LN2LO = _soqt.M_LN2LO
M_LN2HI = _soqt.M_LN2HI
M_SQRT3 = _soqt.M_SQRT3
M_IVLN10 = _soqt.M_IVLN10
M_LOG2_E = _soqt.M_LOG2_E
M_INVLN2 = _soqt.M_INVLN2
COIN_MAJOR_VERSION = _soqt.COIN_MAJOR_VERSION
COIN_MINOR_VERSION = _soqt.COIN_MINOR_VERSION
COIN_MICRO_VERSION = _soqt.COIN_MICRO_VERSION
COIN_VERSION = _soqt.COIN_VERSION
HAVE_HASH_QUOTING = _soqt.HAVE_HASH_QUOTING
SUN_CC_4_0_SOTYPE_INIT_BUG = _soqt.SUN_CC_4_0_SOTYPE_INIT_BUG
class SbDict(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):
        _soqt.SbDict_swiginit(self, _soqt.new_SbDict(*args))
    __swig_destroy__ = _soqt.delete_SbDict

    def applyToAll(self, *args) -> "void":
        return _soqt.SbDict_applyToAll(self, *args)

    def clear(self) -> "void":
        return _soqt.SbDict_clear(self)

    def enter(self, key: "SbDict::Key const", value: "void *const") -> "SbBool":
        return _soqt.SbDict_enter(self, key, value)

    def find(self, key: "SbDict::Key const", value: "void *&") -> "SbBool":
        return _soqt.SbDict_find(self, key, value)

    def makePList(self, keys: "SbPList", values: "SbPList") -> "void":
        return _soqt.SbDict_makePList(self, keys, values)

    def remove(self, key: "SbDict::Key const") -> "SbBool":
        return _soqt.SbDict_remove(self, key)

    def setHashingFunction(self, func: "SbDictHashingFunc *") -> "void":
        return _soqt.SbDict_setHashingFunction(self, func)

# Register SbDict in _soqt:
_soqt.SbDict_swigregister(SbDict)

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

    @staticmethod
    def fromName(name: "SbName") -> "SoType":
        return _soqt.SoType_fromName(name)

    def getName(self) -> "SbName":
        return _soqt.SoType_getName(self)

    def getParent(self) -> "SoType const":
        return _soqt.SoType_getParent(self)

    def isDerivedFrom(self, type: "SoType") -> "SbBool":
        return _soqt.SoType_isDerivedFrom(self, type)

    @staticmethod
    def getAllDerivedFrom(type: "SoType", list: "SoTypeList") -> "int":
        return _soqt.SoType_getAllDerivedFrom(type, list)

    def canCreateInstance(self) -> "SbBool":
        return _soqt.SoType_canCreateInstance(self)

    def getData(self) -> "uint16_t":
        return _soqt.SoType_getData(self)

    def getKey(self) -> "int16_t":
        return _soqt.SoType_getKey(self)

    def __eq__(self, type: "SoType") -> "SbBool":
        return _soqt.SoType___eq__(self, type)

    def __ne__(self, type: "SoType") -> "SbBool":
        return _soqt.SoType___ne__(self, type)

    def __lt__(self, type: "SoType") -> "SbBool":
        return _soqt.SoType___lt__(self, type)

    def __le__(self, type: "SoType") -> "SbBool":
        return _soqt.SoType___le__(self, type)

    def __ge__(self, type: "SoType") -> "SbBool":
        return _soqt.SoType___ge__(self, type)

    def __gt__(self, type: "SoType") -> "SbBool":
        return _soqt.SoType___gt__(self, type)

    @staticmethod
    def removeType(name: "SbName") -> "SbBool":
        return _soqt.SoType_removeType(name)

    @staticmethod
    def init() -> "void":
        return _soqt.SoType_init()

    @staticmethod
    def fromKey(key: "uint16_t") -> "SoType":
        return _soqt.SoType_fromKey(key)

    @staticmethod
    def badType() -> "SoType":
        return _soqt.SoType_badType()

    def isBad(self) -> "SbBool":
        return _soqt.SoType_isBad(self)

    def makeInternal(self) -> "void":
        return _soqt.SoType_makeInternal(self)

    def isInternal(self) -> "SbBool":
        return _soqt.SoType_isInternal(self)

    @staticmethod
    def getNumTypes() -> "int":
        return _soqt.SoType_getNumTypes()

    def getInstantiationMethod(self) -> "SoType::instantiationMethod":
        return _soqt.SoType_getInstantiationMethod(self)

    def createInstance(self) -> "PyObject *":
        return _soqt.SoType_createInstance(self)

    def __init__(self):
        r"""__init__(SoType self) -> SoType"""
        _soqt.SoType_swiginit(self, _soqt.new_SoType())
    __swig_destroy__ = _soqt.delete_SoType

# Register SoType in _soqt:
_soqt.SoType_swigregister(SoType)

def SoType_fromName(name: "SbName") -> "SoType":
    return _soqt.SoType_fromName(name)

def SoType_getAllDerivedFrom(type: "SoType", list: "SoTypeList") -> "int":
    return _soqt.SoType_getAllDerivedFrom(type, list)

def SoType_removeType(name: "SbName") -> "SbBool":
    return _soqt.SoType_removeType(name)

def SoType_init() -> "void":
    return _soqt.SoType_init()

def SoType_fromKey(key: "uint16_t") -> "SoType":
    return _soqt.SoType_fromKey(key)

def SoType_badType() -> "SoType":
    return _soqt.SoType_badType()

def SoType_getNumTypes() -> "int":
    return _soqt.SoType_getNumTypes()

class SbPList(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):
        _soqt.SbPList_swiginit(self, _soqt.new_SbPList(*args))
    __swig_destroy__ = _soqt.delete_SbPList

    def copy(self, l: "SbPList") -> "void":
        return _soqt.SbPList_copy(self, l)

    def fit(self) -> "void":
        return _soqt.SbPList_fit(self)

    def append(self, item: "void *") -> "void":
        return _soqt.SbPList_append(self, item)

    def find(self, item: "void const *") -> "int":
        return _soqt.SbPList_find(self, item)

    def insert(self, item: "void *", insertbefore: "int const") -> "void":
        return _soqt.SbPList_insert(self, item, insertbefore)

    def removeItem(self, item: "void *") -> "void":
        return _soqt.SbPList_removeItem(self, item)

    def remove(self, index: "int const") -> "void":
        return _soqt.SbPList_remove(self, index)

    def removeFast(self, index: "int const") -> "void":
        return _soqt.SbPList_removeFast(self, index)

    def getLength(self) -> "int":
        return _soqt.SbPList_getLength(self)

    def truncate(self, length: "int const", fit: "int const"=0) -> "void":
        return _soqt.SbPList_truncate(self, length, fit)

    def getArrayPtr(self, start: "int const"=0) -> "void **":
        return _soqt.SbPList_getArrayPtr(self, start)

    def __eq__(self, l: "SbPList") -> "int":
        return _soqt.SbPList___eq__(self, l)

    def __ne__(self, l: "SbPList") -> "int":
        return _soqt.SbPList___ne__(self, l)

    def get(self, index: "int const") -> "void *":
        return _soqt.SbPList_get(self, index)

    def set(self, index: "int const", item: "void *") -> "void":
        return _soqt.SbPList_set(self, index, item)

    def __getitem__(self, i: "int") -> "void *":
        return _soqt.SbPList___getitem__(self, i)

    def __setitem__(self, i: "int", val: "void *") -> "void":
        return _soqt.SbPList___setitem__(self, i, val)

    def __iter__(self):
       for i in range(self.getLength()):
          yield self[i]


# Register SbPList in _soqt:
_soqt.SbPList_swigregister(SbPList)

class SbIntList(SbPList):
    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):
        _soqt.SbIntList_swiginit(self, _soqt.new_SbIntList(*args))

    def append(self, item: "int const") -> "void":
        return _soqt.SbIntList_append(self, item)

    def find(self, item: "int const") -> "int":
        return _soqt.SbIntList_find(self, item)

    def insert(self, item: "int const", addbefore: "int const") -> "void":
        return _soqt.SbIntList_insert(self, item, addbefore)

    def __setitem__(self, i: "int const", value: "int *") -> "void":
        return _soqt.SbIntList___setitem__(self, i, value)

    def __getitem__(self, i: "int const") -> "int &":
        return _soqt.SbIntList___getitem__(self, i)

    def get(self, i: "int const") -> "int":
        return _soqt.SbIntList_get(self, i)
    __swig_destroy__ = _soqt.delete_SbIntList

# Register SbIntList in _soqt:
_soqt.SbIntList_swigregister(SbIntList)

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

    def __init__(self, *args):
        _soqt.SbString_swiginit(self, _soqt.new_SbString(*args))
    __swig_destroy__ = _soqt.delete_SbString

    @staticmethod
    def hash(*args) -> "uint32_t":
        return _soqt.SbString_hash(*args)

    def getLength(self) -> "int":
        return _soqt.SbString_getLength(self)

    def makeEmpty(self, freeold: "SbBool"=1) -> "void":
        return _soqt.SbString_makeEmpty(self, freeold)

    def getString(self) -> "char const *":
        return _soqt.SbString_getString(self)

    def getSubString(self, startidx: "int", endidx: "int"=-1) -> "SbString":
        return _soqt.SbString_getSubString(self, startidx, endidx)

    def deleteSubString(self, startidx: "int", endidx: "int"=-1) -> "void":
        return _soqt.SbString_deleteSubString(self, startidx, endidx)

    def addIntString(self, value: "int const") -> "void":
        return _soqt.SbString_addIntString(self, value)

    def __iadd__(self, *args) -> "SbString &":
        return _soqt.SbString___iadd__(self, *args)

    def compareSubString(self, text: "char const *", offset: "int"=0) -> "int":
        return _soqt.SbString_compareSubString(self, text, offset)

    def sprintf(self, formatstr: "char const *") -> "SbString &":
        return _soqt.SbString_sprintf(self, formatstr)

    def apply(self, func: "char (*)(char)") -> "void":
        return _soqt.SbString_apply(self, func)

    def find(self, s: "SbString") -> "int":
        return _soqt.SbString_find(self, s)

    def findAll(self, s: "SbString", found: "SbIntList") -> "SbBool":
        return _soqt.SbString_findAll(self, s, found)

    def lower(self) -> "SbString":
        return _soqt.SbString_lower(self)

    def upper(self) -> "SbString":
        return _soqt.SbString_upper(self)

    def _print(self, fp: "std::FILE *") -> "void":
        return _soqt.SbString__print(self, fp)

    def __eq__(self, *args) -> "int":
        return _soqt.SbString___eq__(self, *args)

    def __nq__(self, *args) -> "int":
        return _soqt.SbString___nq__(self, *args)

    def __getitem__(self, i: "int") -> "char":
        return _soqt.SbString___getitem__(self, i)

    def __iter__(self):
      return getString().__iter__()


    def __repr__(self) -> "char const *":
        return _soqt.SbString___repr__(self)

# Register SbString in _soqt:
_soqt.SbString_swigregister(SbString)

def SbString_hash(*args) -> "uint32_t":
    return _soqt.SbString_hash(*args)

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

    def __init__(self, *args):
        _soqt.SbName_swiginit(self, _soqt.new_SbName(*args))
    __swig_destroy__ = _soqt.delete_SbName

    def getString(self) -> "char const *":
        return _soqt.SbName_getString(self)

    def getLength(self) -> "int":
        return _soqt.SbName_getLength(self)

    @staticmethod
    def isIdentStartChar(c: "char const") -> "SbBool":
        return _soqt.SbName_isIdentStartChar(c)

    @staticmethod
    def isIdentChar(c: "char const") -> "SbBool":
        return _soqt.SbName_isIdentChar(c)

    @staticmethod
    def isBaseNameStartChar(c: "char const") -> "SbBool":
        return _soqt.SbName_isBaseNameStartChar(c)

    @staticmethod
    def isBaseNameChar(c: "char const") -> "SbBool":
        return _soqt.SbName_isBaseNameChar(c)

    @staticmethod
    def empty() -> "SbName const &":
        return _soqt.SbName_empty()

    def __eq__(self, *args) -> "int":
        return _soqt.SbName___eq__(self, *args)

    def __nq__(self, *args) -> "int":
        return _soqt.SbName___nq__(self, *args)

    def __getitem__(self, i: "int") -> "char":
        return _soqt.SbName___getitem__(self, i)

    def __iter__(self):
      return getString().__iter__()


    def __repr__(self) -> "char const *":
        return _soqt.SbName___repr__(self)

# Register SbName in _soqt:
_soqt.SbName_swigregister(SbName)

def SbName_isIdentStartChar(c: "char const") -> "SbBool":
    return _soqt.SbName_isIdentStartChar(c)

def SbName_isIdentChar(c: "char const") -> "SbBool":
    return _soqt.SbName_isIdentChar(c)

def SbName_isBaseNameStartChar(c: "char const") -> "SbBool":
    return _soqt.SbName_isBaseNameStartChar(c)

def SbName_isBaseNameChar(c: "char const") -> "SbBool":
    return _soqt.SbName_isBaseNameChar(c)

def SbName_empty() -> "SbName const &":
    return _soqt.SbName_empty()

class SoError(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):
        _soqt.SoError_swiginit(self, _soqt.new_SoError())
    __swig_destroy__ = _soqt.delete_SoError

    @staticmethod
    def setHandlerCallback(func: "SoErrorCB *const", data: "void *const") -> "void":
        return _soqt.SoError_setHandlerCallback(func, data)

    @staticmethod
    def getHandlerCallback() -> "SoErrorCB *":
        return _soqt.SoError_getHandlerCallback()

    @staticmethod
    def getHandlerData() -> "void *":
        return _soqt.SoError_getHandlerData()

    def getDebugString(self) -> "SbString const &":
        return _soqt.SoError_getDebugString(self)

    @staticmethod
    def getClassTypeId() -> "SoType":
        return _soqt.SoError_getClassTypeId()

    def getTypeId(self) -> "SoType":
        return _soqt.SoError_getTypeId(self)

    def isOfType(self, type: "SoType") -> "SbBool":
        return _soqt.SoError_isOfType(self, type)

    @staticmethod
    def post(*args) -> "void":
        return _soqt.SoError_post(*args)

    @staticmethod
    def getString(*args) -> "SbString":
        return _soqt.SoError_getString(*args)

    @staticmethod
    def initClass() -> "void":
        return _soqt.SoError_initClass()

    @staticmethod
    def initClasses() -> "void":
        return _soqt.SoError_initClasses()

# Register SoError in _soqt:
_soqt.SoError_swigregister(SoError)

def SoError_setHandlerCallback(func: "SoErrorCB *const", data: "void *const") -> "void":
    return _soqt.SoError_setHandlerCallback(func, data)

def SoError_getHandlerCallback() -> "SoErrorCB *":
    return _soqt.SoError_getHandlerCallback()

def SoError_getHandlerData() -> "void *":
    return _soqt.SoError_getHandlerData()

def SoError_getClassTypeId() -> "SoType":
    return _soqt.SoError_getClassTypeId()

def SoError_post(*args) -> "void":
    return _soqt.SoError_post(*args)

def SoError_getString(*args) -> "SbString":
    return _soqt.SoError_getString(*args)

def SoError_initClass() -> "void":
    return _soqt.SoError_initClass()

def SoError_initClasses() -> "void":
    return _soqt.SoError_initClasses()

class SoDebugError(SoError):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    ERROR = _soqt.SoDebugError_ERROR
    WARNING = _soqt.SoDebugError_WARNING
    INFO = _soqt.SoDebugError_INFO

    @staticmethod
    def setHandlerCallback(function: "SoErrorCB *const", data: "void *const") -> "void":
        return _soqt.SoDebugError_setHandlerCallback(function, data)

    @staticmethod
    def getHandlerCallback() -> "SoErrorCB *":
        return _soqt.SoDebugError_getHandlerCallback()

    @staticmethod
    def getHandlerData() -> "void *":
        return _soqt.SoDebugError_getHandlerData()

    @staticmethod
    def getClassTypeId() -> "SoType":
        return _soqt.SoDebugError_getClassTypeId()

    def getTypeId(self) -> "SoType":
        return _soqt.SoDebugError_getTypeId(self)

    def getSeverity(self) -> "SoDebugError::Severity":
        return _soqt.SoDebugError_getSeverity(self)

    @staticmethod
    def post(*args) -> "void":
        return _soqt.SoDebugError_post(*args)

    @staticmethod
    def postWarning(*args) -> "void":
        return _soqt.SoDebugError_postWarning(*args)

    @staticmethod
    def postInfo(*args) -> "void":
        return _soqt.SoDebugError_postInfo(*args)

    @staticmethod
    def initClass() -> "void":
        return _soqt.SoDebugError_initClass()

    def __init__(self):
        r"""__init__(SoDebugError self) -> SoDebugError"""
        _soqt.SoDebugError_swiginit(self, _soqt.new_SoDebugError())
    __swig_destroy__ = _soqt.delete_SoDebugError

# Register SoDebugError in _soqt:
_soqt.SoDebugError_swigregister(SoDebugError)

def SoDebugError_setHandlerCallback(function: "SoErrorCB *const", data: "void *const") -> "void":
    return _soqt.SoDebugError_setHandlerCallback(function, data)

def SoDebugError_getHandlerCallback() -> "SoErrorCB *":
    return _soqt.SoDebugError_getHandlerCallback()

def SoDebugError_getHandlerData() -> "void *":
    return _soqt.SoDebugError_getHandlerData()

def SoDebugError_getClassTypeId() -> "SoType":
    return _soqt.SoDebugError_getClassTypeId()

def SoDebugError_post(*args) -> "void":
    return _soqt.SoDebugError_post(*args)

def SoDebugError_postWarning(*args) -> "void":
    return _soqt.SoDebugError_postWarning(*args)

def SoDebugError_postInfo(*args) -> "void":
    return _soqt.SoDebugError_postInfo(*args)

def SoDebugError_initClass() -> "void":
    return _soqt.SoDebugError_initClass()

class SbVec2s(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):
        _soqt.SbVec2s_swiginit(self, _soqt.new_SbVec2s(*args))

    def setValue(self, *args) -> "SbVec2s &":
        return _soqt.SbVec2s_setValue(self, *args)

    def getValue(self) -> "void":
        return _soqt.SbVec2s_getValue(self)

    def dot(self, v: "SbVec2s") -> "int32_t":
        return _soqt.SbVec2s_dot(self, v)

    def negate(self) -> "void":
        return _soqt.SbVec2s_negate(self)

    def __imul__(self, *args) -> "SbVec2s &":
        return _soqt.SbVec2s___imul__(self, *args)

    def __itruediv__(self, *args):
        return _soqt.SbVec2s___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __iadd__(self, v: "SbVec2s") -> "SbVec2s &":
        return _soqt.SbVec2s___iadd__(self, v)

    def __isub__(self, v: "SbVec2s") -> "SbVec2s &":
        return _soqt.SbVec2s___isub__(self, v)

    def __neg__(self) -> "SbVec2s":
        return _soqt.SbVec2s___neg__(self)

    def toString(self) -> "SbString":
        return _soqt.SbVec2s_toString(self)

    def fromString(self, str: "SbString") -> "SbBool":
        return _soqt.SbVec2s_fromString(self, str)

    def output(self, fp: "FILE *") -> "void":
        return _soqt.SbVec2s_output(self, fp)

    def __add__(self, u: "SbVec2s") -> "SbVec2s":
        return _soqt.SbVec2s___add__(self, u)

    def __sub__(self, u: "SbVec2s") -> "SbVec2s":
        return _soqt.SbVec2s___sub__(self, u)

    def __mul__(self, d: "double const") -> "SbVec2s":
        return _soqt.SbVec2s___mul__(self, d)

    def __rmul__(self, d: "double const") -> "SbVec2s":
        return _soqt.SbVec2s___rmul__(self, d)

    def __div__(self, d: "double const") -> "SbVec2s":
        return _soqt.SbVec2s___div__(self, d)

    def __truediv__(self, d: "double const") -> "SbVec2s":
        return _soqt.SbVec2s___truediv__(self, d)

    def __eq__(self, u: "SbVec2s") -> "int":
        return _soqt.SbVec2s___eq__(self, u)

    def __nq__(self, u: "SbVec2s") -> "int":
        return _soqt.SbVec2s___nq__(self, u)

    def __getitem__(self, i: "int") -> "short":
        return _soqt.SbVec2s___getitem__(self, i)

    def __setitem__(self, i: "int", value: "short") -> "void":
        return _soqt.SbVec2s___setitem__(self, i, value)

    def __iter__(self):
       for i in range(2):
          yield self[i]

    def __len__(self):
          return 2

    __swig_destroy__ = _soqt.delete_SbVec2s

# Register SbVec2s in _soqt:
_soqt.SbVec2s_swigregister(SbVec2s)

class SbVec2f(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):
        _soqt.SbVec2f_swiginit(self, _soqt.new_SbVec2f(*args))

    def setValue(self, *args) -> "SbVec2f &":
        return _soqt.SbVec2f_setValue(self, *args)

    def getValue(self) -> "void":
        return _soqt.SbVec2f_getValue(self)

    def dot(self, v: "SbVec2f") -> "float":
        return _soqt.SbVec2f_dot(self, v)

    def equals(self, v: "SbVec2f", tolerance: "float") -> "SbBool":
        return _soqt.SbVec2f_equals(self, v, tolerance)

    def length(self) -> "float":
        return _soqt.SbVec2f_length(self)

    def sqrLength(self) -> "float":
        return _soqt.SbVec2f_sqrLength(self)

    def negate(self) -> "void":
        return _soqt.SbVec2f_negate(self)

    def normalize(self) -> "float":
        return _soqt.SbVec2f_normalize(self)

    def __imul__(self, d: "float") -> "SbVec2f &":
        return _soqt.SbVec2f___imul__(self, d)

    def __itruediv__(self, *args):
        return _soqt.SbVec2f___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __iadd__(self, v: "SbVec2f") -> "SbVec2f &":
        return _soqt.SbVec2f___iadd__(self, v)

    def __isub__(self, v: "SbVec2f") -> "SbVec2f &":
        return _soqt.SbVec2f___isub__(self, v)

    def __neg__(self) -> "SbVec2f":
        return _soqt.SbVec2f___neg__(self)

    def toString(self) -> "SbString":
        return _soqt.SbVec2f_toString(self)

    def fromString(self, str: "SbString") -> "SbBool":
        return _soqt.SbVec2f_fromString(self, str)

    def output(self, fp: "FILE *") -> "void":
        return _soqt.SbVec2f_output(self, fp)

    def __add__(self, u: "SbVec2f") -> "SbVec2f":
        return _soqt.SbVec2f___add__(self, u)

    def __sub__(self, u: "SbVec2f") -> "SbVec2f":
        return _soqt.SbVec2f___sub__(self, u)

    def __mul__(self, d: "float const") -> "SbVec2f":
        return _soqt.SbVec2f___mul__(self, d)

    def __rmul__(self, d: "float const") -> "SbVec2f":
        return _soqt.SbVec2f___rmul__(self, d)

    def __div__(self, d: "float const") -> "SbVec2f":
        return _soqt.SbVec2f___div__(self, d)

    def __truediv__(self, d: "float const") -> "SbVec2f":
        return _soqt.SbVec2f___truediv__(self, d)

    def __eq__(self, u: "SbVec2f") -> "int":
        return _soqt.SbVec2f___eq__(self, u)

    def __nq__(self, u: "SbVec2f") -> "int":
        return _soqt.SbVec2f___nq__(self, u)

    def __getitem__(self, i: "int") -> "float":
        return _soqt.SbVec2f___getitem__(self, i)

    def __setitem__(self, i: "int", value: "float") -> "void":
        return _soqt.SbVec2f___setitem__(self, i, value)

    def __iter__(self):
       for i in range(2):
          yield self[i]

    def __len__(self):
          return 2

    __swig_destroy__ = _soqt.delete_SbVec2f

# Register SbVec2f in _soqt:
_soqt.SbVec2f_swigregister(SbVec2f)

class SbTime(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):
        _soqt.SbTime_swiginit(self, _soqt.new_SbTime(*args))

    @staticmethod
    def getTimeOfDay() -> "SbTime":
        return _soqt.SbTime_getTimeOfDay()

    def setToTimeOfDay(self) -> "void":
        return _soqt.SbTime_setToTimeOfDay(self)

    @staticmethod
    def zero() -> "SbTime":
        return _soqt.SbTime_zero()

    @staticmethod
    def max() -> "SbTime":
        return _soqt.SbTime_max()

    @staticmethod
    def maxTime() -> "SbTime":
        return _soqt.SbTime_maxTime()

    @staticmethod
    def sleep(msec: "int") -> "void":
        return _soqt.SbTime_sleep(msec)

    def setValue(self, *args) -> "void":
        return _soqt.SbTime_setValue(self, *args)

    def setMsecValue(self, msec: "unsigned long const") -> "void":
        return _soqt.SbTime_setMsecValue(self, msec)

    def getValue(self, *args) -> "void":
        return _soqt.SbTime_getValue(self, *args)

    def getMsecValue(self) -> "unsigned long":
        return _soqt.SbTime_getMsecValue(self)

    def format(self, *args) -> "SbString":
        return _soqt.SbTime_format(self, *args)

    def formatDate(self, fmt: "char const *const"=None) -> "SbString":
        return _soqt.SbTime_formatDate(self, fmt)

    def parsedate(self, date: "char const *const") -> "SbBool":
        return _soqt.SbTime_parsedate(self, date)

    def __iadd__(self, tm: "SbTime") -> "SbTime &":
        return _soqt.SbTime___iadd__(self, tm)

    def __isub__(self, tm: "SbTime") -> "SbTime &":
        return _soqt.SbTime___isub__(self, tm)

    def __neg__(self) -> "SbTime":
        return _soqt.SbTime___neg__(self)

    def __imul__(self, s: "double const") -> "SbTime &":
        return _soqt.SbTime___imul__(self, s)

    def __itruediv__(self, *args):
        return _soqt.SbTime___itruediv__(self, *args)
    __idiv__ = __itruediv__



    def __truediv__(self, *args):
        return _soqt.SbTime___truediv__(self, *args)
    __div__ = __truediv__



    def __mod__(self, tm: "SbTime") -> "SbTime":
        return _soqt.SbTime___mod__(self, tm)

    def __eq__(self, tm: "SbTime") -> "int":
        return _soqt.SbTime___eq__(self, tm)

    def __ne__(self, tm: "SbTime") -> "int":
        return _soqt.SbTime___ne__(self, tm)

    def __lt__(self, tm: "SbTime") -> "SbBool":
        return _soqt.SbTime___lt__(self, tm)

    def __gt__(self, tm: "SbTime") -> "SbBool":
        return _soqt.SbTime___gt__(self, tm)

    def __le__(self, tm: "SbTime") -> "SbBool":
        return _soqt.SbTime___le__(self, tm)

    def __ge__(self, tm: "SbTime") -> "SbBool":
        return _soqt.SbTime___ge__(self, tm)

    def output(self, fp: "FILE *") -> "void":
        return _soqt.SbTime_output(self, fp)

    def __add__(self, u: "SbTime") -> "SbTime":
        return _soqt.SbTime___add__(self, u)

    def __sub__(self, u: "SbTime") -> "SbTime":
        return _soqt.SbTime___sub__(self, u)

    def __mul__(self, d: "double const") -> "SbTime":
        return _soqt.SbTime___mul__(self, d)

    def __rmul__(self, d: "double const") -> "SbTime":
        return _soqt.SbTime___rmul__(self, d)

    def __div__(self, d: "double const") -> "SbTime":
        return _soqt.SbTime___div__(self, d)
    __swig_destroy__ = _soqt.delete_SbTime

# Register SbTime in _soqt:
_soqt.SbTime_swigregister(SbTime)

def SbTime_getTimeOfDay() -> "SbTime":
    return _soqt.SbTime_getTimeOfDay()

def SbTime_zero() -> "SbTime":
    return _soqt.SbTime_zero()

def SbTime_max() -> "SbTime":
    return _soqt.SbTime_max()

def SbTime_maxTime() -> "SbTime":
    return _soqt.SbTime_maxTime()

def SbTime_sleep(msec: "int") -> "void":
    return _soqt.SbTime_sleep(msec)

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

    @staticmethod
    def getClassTypeId() -> "SoType":
        return _soqt.SoEvent_getClassTypeId()

    def getTypeId(self) -> "SoType":
        return _soqt.SoEvent_getTypeId(self)

    @staticmethod
    def initClass() -> "void":
        return _soqt.SoEvent_initClass()

    def __init__(self):
        _soqt.SoEvent_swiginit(self, _soqt.new_SoEvent())
    __swig_destroy__ = _soqt.delete_SoEvent

    def isOfType(self, type: "SoType") -> "SbBool":
        return _soqt.SoEvent_isOfType(self, type)

    def setTime(self, t: "SbTime") -> "void":
        return _soqt.SoEvent_setTime(self, t)

    def getTime(self) -> "SbTime":
        return _soqt.SoEvent_getTime(self)

    def setPosition(self, p: "SbVec2s") -> "void":
        return _soqt.SoEvent_setPosition(self, p)

    def getPosition(self, *args) -> "SbVec2s const &":
        return _soqt.SoEvent_getPosition(self, *args)

    def getNormalizedPosition(self, vpRgn: "SbViewportRegion") -> "SbVec2f const &":
        return _soqt.SoEvent_getNormalizedPosition(self, vpRgn)

    def setShiftDown(self, isDown: "SbBool") -> "void":
        return _soqt.SoEvent_setShiftDown(self, isDown)

    def wasShiftDown(self) -> "SbBool":
        return _soqt.SoEvent_wasShiftDown(self)

    def setCtrlDown(self, isDown: "SbBool") -> "void":
        return _soqt.SoEvent_setCtrlDown(self, isDown)

    def wasCtrlDown(self) -> "SbBool":
        return _soqt.SoEvent_wasCtrlDown(self)

    def setAltDown(self, isDown: "SbBool") -> "void":
        return _soqt.SoEvent_setAltDown(self, isDown)

    def wasAltDown(self) -> "SbBool":
        return _soqt.SoEvent_wasAltDown(self)

# Register SoEvent in _soqt:
_soqt.SoEvent_swigregister(SoEvent)

def SoEvent_getClassTypeId() -> "SoType":
    return _soqt.SoEvent_getClassTypeId()

def SoEvent_initClass() -> "void":
    return _soqt.SoEvent_initClass()

class SoNotRec(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    CONTAINER = _soqt.SoNotRec_CONTAINER
    PARENT = _soqt.SoNotRec_PARENT
    SENSOR = _soqt.SoNotRec_SENSOR
    FIELD = _soqt.SoNotRec_FIELD
    ENGINE = _soqt.SoNotRec_ENGINE
    UNSPECIFIED = _soqt.SoNotRec_UNSPECIFIED
    FIELD_UPDATE = _soqt.SoNotRec_FIELD_UPDATE
    GROUP_ADDCHILD = _soqt.SoNotRec_GROUP_ADDCHILD
    GROUP_INSERTCHILD = _soqt.SoNotRec_GROUP_INSERTCHILD
    GROUP_REPLACECHILD = _soqt.SoNotRec_GROUP_REPLACECHILD
    GROUP_REMOVECHILD = _soqt.SoNotRec_GROUP_REMOVECHILD
    GROUP_REMOVEALLCHILDREN = _soqt.SoNotRec_GROUP_REMOVEALLCHILDREN

    def __init__(self, notifbase: "SoBase"):
        _soqt.SoNotRec_swiginit(self, _soqt.new_SoNotRec(notifbase))

    def setType(self, type: "SoNotRec::Type const") -> "void":
        return _soqt.SoNotRec_setType(self, type)

    def getBase(self) -> "SoBase *":
        return _soqt.SoNotRec_getBase(self)

    def getType(self) -> "SoNotRec::Type":
        return _soqt.SoNotRec_getType(self)

    def getPrevious(self) -> "SoNotRec const *":
        return _soqt.SoNotRec_getPrevious(self)

    def setPrevious(self, prev: "SoNotRec") -> "void":
        return _soqt.SoNotRec_setPrevious(self, prev)

    def output(self, file: "FILE *const") -> "void":
        return _soqt.SoNotRec_output(self, file)

    def getOperationType(self) -> "SoNotRec::OperationType":
        return _soqt.SoNotRec_getOperationType(self)

    def getIndex(self) -> "int":
        return _soqt.SoNotRec_getIndex(self)

    def getFieldNumIndices(self) -> "int":
        return _soqt.SoNotRec_getFieldNumIndices(self)

    def getGroupChild(self) -> "SoBase const *":
        return _soqt.SoNotRec_getGroupChild(self)

    def getGroupPrevChild(self) -> "SoBase const *":
        return _soqt.SoNotRec_getGroupPrevChild(self)

    def setOperationType(self, opType: "SoNotRec::OperationType const") -> "void":
        return _soqt.SoNotRec_setOperationType(self, opType)

    def setIndex(self, idx: "int const") -> "void":
        return _soqt.SoNotRec_setIndex(self, idx)

    def setFieldNumIndices(self, fldnumind: "int const") -> "void":
        return _soqt.SoNotRec_setFieldNumIndices(self, fldnumind)

    def setGroupChild(self, gc: "SoBase") -> "void":
        return _soqt.SoNotRec_setGroupChild(self, gc)

    def setGroupPrevChild(self, pc: "SoBase") -> "void":
        return _soqt.SoNotRec_setGroupPrevChild(self, pc)
    __swig_destroy__ = _soqt.delete_SoNotRec

# Register SoNotRec in _soqt:
_soqt.SoNotRec_swigregister(SoNotRec)

class SoNotList(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):
        _soqt.SoNotList_swiginit(self, _soqt.new_SoNotList(*args))

    def append(self, *args) -> "void":
        return _soqt.SoNotList_append(self, *args)

    def setLastType(self, type: "SoNotRec::Type const") -> "void":
        return _soqt.SoNotList_setLastType(self, type)

    def getFirstRec(self) -> "SoNotRec *":
        return _soqt.SoNotList_getFirstRec(self)

    def getLastRec(self) -> "SoNotRec *":
        return _soqt.SoNotList_getLastRec(self)

    def getFirstRecAtNode(self) -> "SoNotRec *":
        return _soqt.SoNotList_getFirstRecAtNode(self)

    def getLastField(self) -> "SoField *":
        return _soqt.SoNotList_getLastField(self)

    def getLastEngineOutput(self) -> "SoEngineOutput *":
        return _soqt.SoNotList_getLastEngineOutput(self)

    def getTimeStamp(self) -> "SbUniqueId":
        return _soqt.SoNotList_getTimeStamp(self)

    def output(self, *args) -> "void":
        return _soqt.SoNotList_output(self, *args)
    __swig_destroy__ = _soqt.delete_SoNotList

# Register SoNotList in _soqt:
_soqt.SoNotList_swigregister(SoNotList)

class SoField(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__ = _soqt.delete_SoField

    @staticmethod
    def initClass() -> "void":
        return _soqt.SoField_initClass()

    @staticmethod
    def initClasses() -> "void":
        return _soqt.SoField_initClasses()

    @staticmethod
    def cleanupClass() -> "void":
        return _soqt.SoField_cleanupClass()

    def setIgnored(self, ignore: "SbBool") -> "void":
        return _soqt.SoField_setIgnored(self, ignore)

    def isIgnored(self) -> "SbBool":
        return _soqt.SoField_isIgnored(self)

    def setDefault(self, defaultVal: "SbBool") -> "void":
        return _soqt.SoField_setDefault(self, defaultVal)

    def isDefault(self) -> "SbBool":
        return _soqt.SoField_isDefault(self)

    def getTypeId(self) -> "SoType":
        return _soqt.SoField_getTypeId(self)

    @staticmethod
    def getClassTypeId() -> "SoType":
        return _soqt.SoField_getClassTypeId()

    def isOfType(self, type: "SoType") -> "SbBool":
        return _soqt.SoField_isOfType(self, type)

    def enableConnection(self, flag: "SbBool") -> "void":
        return _soqt.SoField_enableConnection(self, flag)

    def isConnectionEnabled(self) -> "SbBool":
        return _soqt.SoField_isConnectionEnabled(self)

    def isConnectedFromEngine(self) -> "SbBool":
        return _soqt.SoField_isConnectedFromEngine(self)

    def getConnectedEngine(self, master: "SoEngineOutput *&") -> "SbBool":
        return _soqt.SoField_getConnectedEngine(self, master)

    def connectFrom(self, *args) -> "SbBool":
        return _soqt.SoField_connectFrom(self, *args)

    def appendConnection(self, *args) -> "SbBool":
        return _soqt.SoField_appendConnection(self, *args)

    def isConnectedFromField(self) -> "SbBool":
        return _soqt.SoField_isConnectedFromField(self)

    def getConnectedField(self, master: "SoField *&") -> "SbBool":
        return _soqt.SoField_getConnectedField(self, master)

    def getNumConnections(self) -> "int":
        return _soqt.SoField_getNumConnections(self)

    def getForwardConnections(self, slavelist: "SoFieldList") -> "int":
        return _soqt.SoField_getForwardConnections(self, slavelist)

    def getConnections(self, masterlist: "SoFieldList") -> "int":
        return _soqt.SoField_getConnections(self, masterlist)

    def disconnect(self, *args) -> "void":
        return _soqt.SoField_disconnect(self, *args)

    def isConnected(self) -> "SbBool":
        return _soqt.SoField_isConnected(self)

    def setContainer(self, cont: "SoFieldContainer") -> "void":
        return _soqt.SoField_setContainer(self, cont)

    def getContainer(self) -> "SoFieldContainer *":
        return _soqt.SoField_getContainer(self)

    def set(self, valuestring: "char const *") -> "SbBool":
        return _soqt.SoField_set(self, valuestring)

    def shouldWrite(self) -> "SbBool":
        return _soqt.SoField_shouldWrite(self)

    def touch(self) -> "void":
        return _soqt.SoField_touch(self)

    def startNotify(self) -> "void":
        return _soqt.SoField_startNotify(self)

    def notify(self, nlist: "SoNotList") -> "void":
        return _soqt.SoField_notify(self, nlist)

    def enableNotify(self, on: "SbBool") -> "SbBool":
        return _soqt.SoField_enableNotify(self, on)

    def isNotifyEnabled(self) -> "SbBool":
        return _soqt.SoField_isNotifyEnabled(self)

    def addAuditor(self, f: "void *", type: "SoNotRec::Type") -> "void":
        return _soqt.SoField_addAuditor(self, f, type)

    def removeAuditor(self, f: "void *", type: "SoNotRec::Type") -> "void":
        return _soqt.SoField_removeAuditor(self, f, type)

    def __eq__(self, f: "SoField") -> "int":
        return _soqt.SoField___eq__(self, f)

    def __ne__(self, f: "SoField") -> "int":
        return _soqt.SoField___ne__(self, f)

    def connectionStatusChanged(self, numconnections: "int") -> "void":
        return _soqt.SoField_connectionStatusChanged(self, numconnections)

    def isReadOnly(self) -> "SbBool":
        return _soqt.SoField_isReadOnly(self)

    def isSame(self, f: "SoField") -> "SbBool":
        return _soqt.SoField_isSame(self, f)

    def copyFrom(self, f: "SoField") -> "void":
        return _soqt.SoField_copyFrom(self, f)

    def fixCopy(self, copyconnections: "SbBool") -> "void":
        return _soqt.SoField_fixCopy(self, copyconnections)

    def referencesCopy(self) -> "SbBool":
        return _soqt.SoField_referencesCopy(self)

    def copyConnection(self, fromfield: "SoField") -> "void":
        return _soqt.SoField_copyConnection(self, fromfield)

    def read(self, input: "SoInput", name: "SbName") -> "SbBool":
        return _soqt.SoField_read(self, input, name)

    def write(self, out: "SoOutput", name: "SbName") -> "void":
        return _soqt.SoField_write(self, out, name)

    def countWriteRefs(self, out: "SoOutput") -> "void":
        return _soqt.SoField_countWriteRefs(self, out)
    NORMAL_FIELD = _soqt.SoField_NORMAL_FIELD
    EVENTIN_FIELD = _soqt.SoField_EVENTIN_FIELD
    EVENTOUT_FIELD = _soqt.SoField_EVENTOUT_FIELD
    EXPOSED_FIELD = _soqt.SoField_EXPOSED_FIELD

    def setFieldType(self, type: "int") -> "void":
        return _soqt.SoField_setFieldType(self, type)

    def getFieldType(self) -> "int":
        return _soqt.SoField_getFieldType(self)

    def getDirty(self) -> "SbBool":
        return _soqt.SoField_getDirty(self)

    def setDirty(self, dirty: "SbBool") -> "void":
        return _soqt.SoField_setDirty(self, dirty)

    def evaluate(self) -> "void":
        return _soqt.SoField_evaluate(self)

    def get(self) -> "SbString":
        return _soqt.SoField_get(self)

# Register SoField in _soqt:
_soqt.SoField_swigregister(SoField)

def SoField_initClass() -> "void":
    return _soqt.SoField_initClass()

def SoField_initClasses() -> "void":
    return _soqt.SoField_initClasses()

def SoField_cleanupClass() -> "void":
    return _soqt.SoField_cleanupClass()

def SoField_getClassTypeId() -> "SoType":
    return _soqt.SoField_getClassTypeId()

class SoSField(SoField):
    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__ = _soqt.delete_SoSField

    @staticmethod
    def initClass() -> "void":
        return _soqt.SoSField_initClass()

    @staticmethod
    def getClassTypeId() -> "SoType":
        return _soqt.SoSField_getClassTypeId()

    @staticmethod
    def atexit_cleanup() -> "void":
        return _soqt.SoSField_atexit_cleanup()

# Register SoSField in _soqt:
_soqt.SoSField_swigregister(SoSField)

def SoSField_initClass() -> "void":
    return _soqt.SoSField_initClass()

def SoSField_getClassTypeId() -> "SoType":
    return _soqt.SoSField_getClassTypeId()

def SoSField_atexit_cleanup() -> "void":
    return _soqt.SoSField_atexit_cleanup()

class SoMField(SoField):
    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__ = _soqt.delete_SoMField

    @staticmethod
    def getClassTypeId() -> "SoType":
        return _soqt.SoMField_getClassTypeId()

    @staticmethod
    def atexit_cleanup() -> "void":
        return _soqt.SoMField_atexit_cleanup()

    def getNum(self) -> "int":
        return _soqt.SoMField_getNum(self)

    def setNum(self, num: "int const") -> "void":
        return _soqt.SoMField_setNum(self, num)

    def deleteValues(self, start: "int", num: "int"=-1) -> "void":
        return _soqt.SoMField_deleteValues(self, start, num)

    def insertSpace(self, start: "int", num: "int") -> "void":
        return _soqt.SoMField_insertSpace(self, start, num)

    def set1(self, index: "int const", valuestring: "char const *const") -> "SbBool":
        return _soqt.SoMField_set1(self, index, valuestring)

    @staticmethod
    def initClass() -> "void":
        return _soqt.SoMField_initClass()

    def enableDeleteValues(self) -> "void":
        return _soqt.SoMField_enableDeleteValues(self)

    def isDeleteValuesEnabled(self) -> "SbBool":
        return _soqt.SoMField_isDeleteValuesEnabled(self)

    def __iter__(self):
       i = 0
       while i < self.getNum():
          yield self[i]
          i += 1


    def __len__(self) -> "int":
        return _soqt.SoMField___len__(self)

    def get1(self, index: "int const") -> "SbString":
        return _soqt.SoMField_get1(self, index)

    @property
    def values(self):
      def _values(obj):
        for value in obj:
          if hasattr(value, "__iter__"):
            yield list(_values(value))
          else:
            yield value
      out = _values(self)
      return list(out)

    @values.setter
    def values(self, arr):
      self.deleteValues(0)
      self.setValues(0, len(arr), arr)



# Register SoMField in _soqt:
_soqt.SoMField_swigregister(SoMField)

def SoMField_getClassTypeId() -> "SoType":
    return _soqt.SoMField_getClassTypeId()

def SoMField_atexit_cleanup() -> "void":
    return _soqt.SoMField_atexit_cleanup()

def SoMField_initClass() -> "void":
    return _soqt.SoMField_initClass()

import pivy.coin
class QEvent(object):
    r"""Proxy of C++ QEvent class."""

    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
    __swig_destroy__ = _soqt.delete_QEvent

# Register QEvent in _soqt:
_soqt.QEvent_swigregister(QEvent)

class QWidget(object):
    r"""Proxy of C++ QWidget class."""

    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
    __swig_destroy__ = _soqt.delete_QWidget

# Register QWidget in _soqt:
_soqt.QWidget_swigregister(QWidget)

SOQT_MAJOR_VERSION = _soqt.SOQT_MAJOR_VERSION

SOQT_MINOR_VERSION = _soqt.SOQT_MINOR_VERSION

SOQT_MICRO_VERSION = _soqt.SOQT_MICRO_VERSION

SOQT_VERSION = _soqt.SOQT_VERSION

GUI_TOOLKIT_VERSION = _soqt.GUI_TOOLKIT_VERSION

class SoQtObject(object):
    r"""Proxy of C++ SoQtObject class."""

    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

    @staticmethod
    def initClass() -> "void":
        r"""initClass()"""
        return _soqt.SoQtObject_initClass()

    @staticmethod
    def getClassTypeId() -> "SoType":
        r"""getClassTypeId() -> SoType"""
        return _soqt.SoQtObject_getClassTypeId()

    def getTypeId(self) -> "SoType":
        r"""getTypeId(SoQtObject self) -> SoType"""
        return _soqt.SoQtObject_getTypeId(self)

    def isOfType(self, type: "SoType") -> "SbBool":
        r"""isOfType(SoQtObject self, SoType type) -> SbBool"""
        return _soqt.SoQtObject_isOfType(self, type)

    @staticmethod
    def init() -> "void":
        r"""init()"""
        return _soqt.SoQtObject_init()
    __swig_destroy__ = _soqt.delete_SoQtObject

# Register SoQtObject in _soqt:
_soqt.SoQtObject_swigregister(SoQtObject)

def SoQtObject_initClass() -> "void":
    r"""SoQtObject_initClass()"""
    return _soqt.SoQtObject_initClass()

def SoQtObject_getClassTypeId() -> "SoType":
    r"""SoQtObject_getClassTypeId() -> SoType"""
    return _soqt.SoQtObject_getClassTypeId()

def SoQtObject_init() -> "void":
    r"""SoQtObject_init()"""
    return _soqt.SoQtObject_init()

SOQT_SUN_CC_4_0_SOTYPE_INIT_BUG = _soqt.SOQT_SUN_CC_4_0_SOTYPE_INIT_BUG

class SoQtDevice(SoQtObject):
    r"""Proxy of C++ SoQtDevice class."""

    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

    @staticmethod
    def initClass() -> "void":
        r"""initClass()"""
        return _soqt.SoQtDevice_initClass()

    @staticmethod
    def getClassTypeId() -> "SoType":
        r"""getClassTypeId() -> SoType"""
        return _soqt.SoQtDevice_getClassTypeId()

    def getTypeId(self) -> "SoType":
        r"""getTypeId(SoQtDevice self) -> SoType"""
        return _soqt.SoQtDevice_getTypeId(self)
    __swig_destroy__ = _soqt.delete_SoQtDevice

    def enable(self, w: "QWidget", handler: "SoQtEventHandler *", closure: "void *") -> "void":
        r"""enable(SoQtDevice self, QWidget w, SoQtEventHandler * handler, void * closure)"""
        return _soqt.SoQtDevice_enable(self, w, handler, closure)

    def disable(self, w: "QWidget", handler: "SoQtEventHandler *", closure: "void *") -> "void":
        r"""disable(SoQtDevice self, QWidget w, SoQtEventHandler * handler, void * closure)"""
        return _soqt.SoQtDevice_disable(self, w, handler, closure)

    def translateEvent(self, event: "QEvent") -> "SoEvent const *":
        r"""translateEvent(SoQtDevice self, QEvent event) -> SoEvent"""
        return _soqt.SoQtDevice_translateEvent(self, event)

    def setWindowSize(self, size: "SbVec2s") -> "void":
        r"""setWindowSize(SoQtDevice self, SbVec2s size)"""
        return _soqt.SoQtDevice_setWindowSize(self, size)

    def getWindowSize(self) -> "SbVec2s":
        r"""getWindowSize(SoQtDevice self) -> SbVec2s"""
        return _soqt.SoQtDevice_getWindowSize(self)

    @staticmethod
    def initClasses() -> "void":
        r"""initClasses()"""
        return _soqt.SoQtDevice_initClasses()

# Register SoQtDevice in _soqt:
_soqt.SoQtDevice_swigregister(SoQtDevice)

def SoQtDevice_initClass() -> "void":
    r"""SoQtDevice_initClass()"""
    return _soqt.SoQtDevice_initClass()

def SoQtDevice_getClassTypeId() -> "SoType":
    r"""SoQtDevice_getClassTypeId() -> SoType"""
    return _soqt.SoQtDevice_getClassTypeId()

def SoQtDevice_initClasses() -> "void":
    r"""SoQtDevice_initClasses()"""
    return _soqt.SoQtDevice_initClasses()

class SoQtKeyboard(SoQtDevice):
    r"""Proxy of C++ SoQtKeyboard class."""

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

    @staticmethod
    def initClass() -> "void":
        r"""initClass()"""
        return _soqt.SoQtKeyboard_initClass()

    @staticmethod
    def getClassTypeId() -> "SoType":
        r"""getClassTypeId() -> SoType"""
        return _soqt.SoQtKeyboard_getClassTypeId()

    def getTypeId(self) -> "SoType":
        r"""getTypeId(SoQtKeyboard self) -> SoType"""
        return _soqt.SoQtKeyboard_getTypeId(self)

    @staticmethod
    def createInstance() -> "void *":
        r"""createInstance() -> void *"""
        return _soqt.SoQtKeyboard_createInstance()
    KEY_PRESS = _soqt.SoQtKeyboard_KEY_PRESS
    
    KEY_RELEASE = _soqt.SoQtKeyboard_KEY_RELEASE
    
    ALL_EVENTS = _soqt.SoQtKeyboard_ALL_EVENTS
    

    def __init__(self, *args):
        r"""__init__(SoQtKeyboard self, int eventmask=ALL_EVENTS) -> SoQtKeyboard"""
        _soqt.SoQtKeyboard_swiginit(self, _soqt.new_SoQtKeyboard(*args))
    __swig_destroy__ = _soqt.delete_SoQtKeyboard

    def enable(self, widget: "QWidget", handler: "SoQtEventHandler *", closure: "void *") -> "void":
        r"""enable(SoQtKeyboard self, QWidget widget, SoQtEventHandler * handler, void * closure)"""
        return _soqt.SoQtKeyboard_enable(self, widget, handler, closure)

    def disable(self, widget: "QWidget", handler: "SoQtEventHandler *", closure: "void *") -> "void":
        r"""disable(SoQtKeyboard self, QWidget widget, SoQtEventHandler * handler, void * closure)"""
        return _soqt.SoQtKeyboard_disable(self, widget, handler, closure)

    def translateEvent(self, event: "QEvent") -> "SoEvent const *":
        r"""translateEvent(SoQtKeyboard self, QEvent event) -> SoEvent"""
        return _soqt.SoQtKeyboard_translateEvent(self, event)

# Register SoQtKeyboard in _soqt:
_soqt.SoQtKeyboard_swigregister(SoQtKeyboard)

def SoQtKeyboard_initClass() -> "void":
    r"""SoQtKeyboard_initClass()"""
    return _soqt.SoQtKeyboard_initClass()

def SoQtKeyboard_getClassTypeId() -> "SoType":
    r"""SoQtKeyboard_getClassTypeId() -> SoType"""
    return _soqt.SoQtKeyboard_getClassTypeId()

def SoQtKeyboard_createInstance() -> "void *":
    r"""SoQtKeyboard_createInstance() -> void *"""
    return _soqt.SoQtKeyboard_createInstance()

class SoQtMouse(SoQtDevice):
    r"""Proxy of C++ SoQtMouse class."""

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

    @staticmethod
    def initClass() -> "void":
        r"""initClass()"""
        return _soqt.SoQtMouse_initClass()

    @staticmethod
    def getClassTypeId() -> "SoType":
        r"""getClassTypeId() -> SoType"""
        return _soqt.SoQtMouse_getClassTypeId()

    def getTypeId(self) -> "SoType":
        r"""getTypeId(SoQtMouse self) -> SoType"""
        return _soqt.SoQtMouse_getTypeId(self)

    @staticmethod
    def createInstance() -> "void *":
        r"""createInstance() -> void *"""
        return _soqt.SoQtMouse_createInstance()
    BUTTON_PRESS = _soqt.SoQtMouse_BUTTON_PRESS
    
    BUTTON_RELEASE = _soqt.SoQtMouse_BUTTON_RELEASE
    
    POINTER_MOTION = _soqt.SoQtMouse_POINTER_MOTION
    
    BUTTON_MOTION = _soqt.SoQtMouse_BUTTON_MOTION
    
    ALL_EVENTS = _soqt.SoQtMouse_ALL_EVENTS
    

    def __init__(self, *args):
        r"""__init__(SoQtMouse self, int eventmask=ALL_EVENTS) -> SoQtMouse"""
        _soqt.SoQtMouse_swiginit(self, _soqt.new_SoQtMouse(*args))
    __swig_destroy__ = _soqt.delete_SoQtMouse

    def enable(self, widget: "QWidget", handler: "SoQtEventHandler *", closure: "void *") -> "void":
        r"""enable(SoQtMouse self, QWidget widget, SoQtEventHandler * handler, void * closure)"""
        return _soqt.SoQtMouse_enable(self, widget, handler, closure)

    def disable(self, widget: "QWidget", handler: "SoQtEventHandler *", closure: "void *") -> "void":
        r"""disable(SoQtMouse self, QWidget widget, SoQtEventHandler * handler, void * closure)"""
        return _soqt.SoQtMouse_disable(self, widget, handler, closure)

    def translateEvent(self, event: "QEvent") -> "SoEvent const *":
        r"""translateEvent(SoQtMouse self, QEvent event) -> SoEvent"""
        return _soqt.SoQtMouse_translateEvent(self, event)

# Register SoQtMouse in _soqt:
_soqt.SoQtMouse_swigregister(SoQtMouse)

def SoQtMouse_initClass() -> "void":
    r"""SoQtMouse_initClass()"""
    return _soqt.SoQtMouse_initClass()

def SoQtMouse_getClassTypeId() -> "SoType":
    r"""SoQtMouse_getClassTypeId() -> SoType"""
    return _soqt.SoQtMouse_getClassTypeId()

def SoQtMouse_createInstance() -> "void *":
    r"""SoQtMouse_createInstance() -> void *"""
    return _soqt.SoQtMouse_createInstance()

class SoQt(object):
    r"""Proxy of C++ SoQt class."""

    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 init(*args) -> "void":
        r"""
        init(char const * appname, char const * classname="SoQt") -> QWidget
        init(int & argc, char ** argv, char const * appname, char const * classname="SoQt") -> QWidget
        init(QWidget toplevelwidget)
        """
        return _soqt.SoQt_init(*args)

    @staticmethod
    def exitMainLoop() -> "void":
        r"""exitMainLoop()"""
        return _soqt.SoQt_exitMainLoop()

    @staticmethod
    def done() -> "void":
        r"""done()"""
        return _soqt.SoQt_done()

    @staticmethod
    def getTopLevelWidget() -> "QWidget *":
        r"""getTopLevelWidget() -> QWidget"""
        return _soqt.SoQt_getTopLevelWidget()

    @staticmethod
    def getShellWidget(w: "QWidget") -> "QWidget *":
        r"""getShellWidget(QWidget w) -> QWidget"""
        return _soqt.SoQt_getShellWidget(w)

    @staticmethod
    def show(widget: "QWidget") -> "void":
        r"""show(QWidget widget)"""
        return _soqt.SoQt_show(widget)

    @staticmethod
    def hide(widget: "QWidget") -> "void":
        r"""hide(QWidget widget)"""
        return _soqt.SoQt_hide(widget)

    @staticmethod
    def setWidgetSize(widget: "QWidget", size: "SbVec2s") -> "void":
        r"""setWidgetSize(QWidget widget, SbVec2s size)"""
        return _soqt.SoQt_setWidgetSize(widget, size)

    @staticmethod
    def getWidgetSize(widget: "QWidget") -> "SbVec2s":
        r"""getWidgetSize(QWidget widget) -> SbVec2s"""
        return _soqt.SoQt_getWidgetSize(widget)

    @staticmethod
    def createSimpleErrorDialog(widget: "QWidget", title: "char const *", string1: "char const *", string2: "char const *"=None) -> "void":
        r"""createSimpleErrorDialog(QWidget widget, char const * title, char const * string1, char const * string2=None)"""
        return _soqt.SoQt_createSimpleErrorDialog(widget, title, string1, string2)

    @staticmethod
    def getVersionInfo(major: "int *"=None, minor: "int *"=None, micro: "int *"=None) -> "void":
        r"""getVersionInfo(int * major=None, int * minor=None, int * micro=None)"""
        return _soqt.SoQt_getVersionInfo(major, minor, micro)

    @staticmethod
    def getVersionString() -> "char const *":
        r"""getVersionString() -> char const *"""
        return _soqt.SoQt_getVersionString()

    @staticmethod
    def getVersionToolkitString() -> "char const *":
        r"""getVersionToolkitString() -> char const *"""
        return _soqt.SoQt_getVersionToolkitString()
    UNSPECIFIED_ERROR = _soqt.SoQt_UNSPECIFIED_ERROR
    
    NO_OPENGL_CANVAS = _soqt.SoQt_NO_OPENGL_CANVAS
    
    INTERNAL_ASSERT = _soqt.SoQt_INTERNAL_ASSERT
    

    @staticmethod
    def setFatalErrorHandler(cb: "SoQt::FatalErrorCB *", userdata: "void *") -> "SoQt::FatalErrorCB *":
        r"""setFatalErrorHandler(SoQt::FatalErrorCB * cb, void * userdata) -> SoQt::FatalErrorCB *"""
        return _soqt.SoQt_setFatalErrorHandler(cb, userdata)

    @staticmethod
    def isDebugLibrary() -> "SbBool":
        r"""isDebugLibrary() -> SbBool"""
        return _soqt.SoQt_isDebugLibrary()

    @staticmethod
    def isCompatible(major: "unsigned int", minor: "unsigned int") -> "SbBool":
        r"""isCompatible(unsigned int major, unsigned int minor) -> SbBool"""
        return _soqt.SoQt_isCompatible(major, minor)
    DLL = _soqt.SoQt_DLL
    
    LIB = _soqt.SoQt_LIB
    
    UNKNOWN = _soqt.SoQt_UNKNOWN
    

    @staticmethod
    def getABIType() -> "SoQt::ABIType":
        r"""getABIType() -> SoQt::ABIType"""
        return _soqt.SoQt_getABIType()

    @staticmethod
    def lockGL() -> "void":
        r"""lockGL()"""
        return _soqt.SoQt_lockGL()

    @staticmethod
    def unlockGL() -> "void":
        r"""unlockGL()"""
        return _soqt.SoQt_unlockGL()

    @staticmethod
    def mainLoop() -> "void":
        r"""mainLoop()"""
        return _soqt.SoQt_mainLoop()

# Register SoQt in _soqt:
_soqt.SoQt_swigregister(SoQt)

def SoQt_init(*args) -> "void":
    r"""
    SoQt_init(char const * appname, char const * classname="SoQt") -> QWidget
    SoQt_init(int & argc, char ** argv, char const * appname, char const * classname="SoQt") -> QWidget
    SoQt_init(QWidget toplevelwidget)
    """
    return _soqt.SoQt_init(*args)

def SoQt_exitMainLoop() -> "void":
    r"""SoQt_exitMainLoop()"""
    return _soqt.SoQt_exitMainLoop()

def SoQt_done() -> "void":
    r"""SoQt_done()"""
    return _soqt.SoQt_done()

def SoQt_getTopLevelWidget() -> "QWidget *":
    r"""SoQt_getTopLevelWidget() -> QWidget"""
    return _soqt.SoQt_getTopLevelWidget()

def SoQt_getShellWidget(w: "QWidget") -> "QWidget *":
    r"""SoQt_getShellWidget(QWidget w) -> QWidget"""
    return _soqt.SoQt_getShellWidget(w)

def SoQt_show(widget: "QWidget") -> "void":
    r"""SoQt_show(QWidget widget)"""
    return _soqt.SoQt_show(widget)

def SoQt_hide(widget: "QWidget") -> "void":
    r"""SoQt_hide(QWidget widget)"""
    return _soqt.SoQt_hide(widget)

def SoQt_setWidgetSize(widget: "QWidget", size: "SbVec2s") -> "void":
    r"""SoQt_setWidgetSize(QWidget widget, SbVec2s size)"""
    return _soqt.SoQt_setWidgetSize(widget, size)

def SoQt_getWidgetSize(widget: "QWidget") -> "SbVec2s":
    r"""SoQt_getWidgetSize(QWidget widget) -> SbVec2s"""
    return _soqt.SoQt_getWidgetSize(widget)

def SoQt_createSimpleErrorDialog(widget: "QWidget", title: "char const *", string1: "char const *", string2: "char const *"=None) -> "void":
    r"""SoQt_createSimpleErrorDialog(QWidget widget, char const * title, char const * string1, char const * string2=None)"""
    return _soqt.SoQt_createSimpleErrorDialog(widget, title, string1, string2)

def SoQt_getVersionInfo(major: "int *"=None, minor: "int *"=None, micro: "int *"=None) -> "void":
    r"""SoQt_getVersionInfo(int * major=None, int * minor=None, int * micro=None)"""
    return _soqt.SoQt_getVersionInfo(major, minor, micro)

def SoQt_getVersionString() -> "char const *":
    r"""SoQt_getVersionString() -> char const *"""
    return _soqt.SoQt_getVersionString()

def SoQt_getVersionToolkitString() -> "char const *":
    r"""SoQt_getVersionToolkitString() -> char const *"""
    return _soqt.SoQt_getVersionToolkitString()

def SoQt_setFatalErrorHandler(cb: "SoQt::FatalErrorCB *", userdata: "void *") -> "SoQt::FatalErrorCB *":
    r"""SoQt_setFatalErrorHandler(SoQt::FatalErrorCB * cb, void * userdata) -> SoQt::FatalErrorCB *"""
    return _soqt.SoQt_setFatalErrorHandler(cb, userdata)

def SoQt_isDebugLibrary() -> "SbBool":
    r"""SoQt_isDebugLibrary() -> SbBool"""
    return _soqt.SoQt_isDebugLibrary()

def SoQt_isCompatible(major: "unsigned int", minor: "unsigned int") -> "SbBool":
    r"""SoQt_isCompatible(unsigned int major, unsigned int minor) -> SbBool"""
    return _soqt.SoQt_isCompatible(major, minor)

def SoQt_getABIType() -> "SoQt::ABIType":
    r"""SoQt_getABIType() -> SoQt::ABIType"""
    return _soqt.SoQt_getABIType()

def SoQt_lockGL() -> "void":
    r"""SoQt_lockGL()"""
    return _soqt.SoQt_lockGL()

def SoQt_unlockGL() -> "void":
    r"""SoQt_unlockGL()"""
    return _soqt.SoQt_unlockGL()

def SoQt_mainLoop() -> "void":
    r"""SoQt_mainLoop()"""
    return _soqt.SoQt_mainLoop()

class SoQtComponent(SoQtObject):
    r"""Proxy of C++ SoQtComponent class."""

    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 initClass() -> "void":
        r"""initClass()"""
        return _soqt.SoQtComponent_initClass()

    @staticmethod
    def getClassTypeId() -> "SoType":
        r"""getClassTypeId() -> SoType"""
        return _soqt.SoQtComponent_getClassTypeId()

    def getTypeId(self) -> "SoType":
        r"""getTypeId(SoQtComponent self) -> SoType"""
        return _soqt.SoQtComponent_getTypeId(self)
    __swig_destroy__ = _soqt.delete_SoQtComponent

    def show(self) -> "void":
        r"""show(SoQtComponent self)"""
        return _soqt.SoQtComponent_show(self)

    def hide(self) -> "void":
        r"""hide(SoQtComponent self)"""
        return _soqt.SoQtComponent_hide(self)

    def setComponentCursor(self, cursor: "SoQtCursor") -> "void":
        r"""setComponentCursor(SoQtComponent self, SoQtCursor cursor)"""
        return _soqt.SoQtComponent_setComponentCursor(self, cursor)

    @staticmethod
    def setWidgetCursor(w: "QWidget", cursor: "SoQtCursor") -> "void":
        r"""setWidgetCursor(QWidget w, SoQtCursor cursor)"""
        return _soqt.SoQtComponent_setWidgetCursor(w, cursor)

    def isFullScreen(self) -> "SbBool":
        r"""isFullScreen(SoQtComponent self) -> SbBool"""
        return _soqt.SoQtComponent_isFullScreen(self)

    def setFullScreen(self, onoff: "SbBool const") -> "SbBool":
        r"""setFullScreen(SoQtComponent self, SbBool const onoff) -> SbBool"""
        return _soqt.SoQtComponent_setFullScreen(self, onoff)

    def isVisible(self) -> "SbBool":
        r"""isVisible(SoQtComponent self) -> SbBool"""
        return _soqt.SoQtComponent_isVisible(self)

    def isTopLevelShell(self) -> "SbBool":
        r"""isTopLevelShell(SoQtComponent self) -> SbBool"""
        return _soqt.SoQtComponent_isTopLevelShell(self)

    def getWidget(self) -> "QWidget *":
        r"""getWidget(SoQtComponent self) -> QWidget"""
        return _soqt.SoQtComponent_getWidget(self)

    def getBaseWidget(self) -> "QWidget *":
        r"""getBaseWidget(SoQtComponent self) -> QWidget"""
        return _soqt.SoQtComponent_getBaseWidget(self)

    def getShellWidget(self) -> "QWidget *":
        r"""getShellWidget(SoQtComponent self) -> QWidget"""
        return _soqt.SoQtComponent_getShellWidget(self)

    def getParentWidget(self) -> "QWidget *":
        r"""getParentWidget(SoQtComponent self) -> QWidget"""
        return _soqt.SoQtComponent_getParentWidget(self)

    def setSize(self, size: "SbVec2s") -> "void":
        r"""setSize(SoQtComponent self, SbVec2s size)"""
        return _soqt.SoQtComponent_setSize(self, size)

    def getSize(self) -> "SbVec2s":
        r"""getSize(SoQtComponent self) -> SbVec2s"""
        return _soqt.SoQtComponent_getSize(self)

    def setTitle(self, title: "char const *const") -> "void":
        r"""setTitle(SoQtComponent self, char const *const title)"""
        return _soqt.SoQtComponent_setTitle(self, title)

    def getTitle(self) -> "char const *":
        r"""getTitle(SoQtComponent self) -> char const *"""
        return _soqt.SoQtComponent_getTitle(self)

    def setIconTitle(self, title: "char const *const") -> "void":
        r"""setIconTitle(SoQtComponent self, char const *const title)"""
        return _soqt.SoQtComponent_setIconTitle(self, title)

    def getIconTitle(self) -> "char const *":
        r"""getIconTitle(SoQtComponent self) -> char const *"""
        return _soqt.SoQtComponent_getIconTitle(self)

    def getWidgetName(self) -> "char const *":
        r"""getWidgetName(SoQtComponent self) -> char const *"""
        return _soqt.SoQtComponent_getWidgetName(self)

    def getClassName(self) -> "char const *":
        r"""getClassName(SoQtComponent self) -> char const *"""
        return _soqt.SoQtComponent_getClassName(self)

    def setWindowCloseCallback(self, func: "SoQtComponentCB *const", user: "void *const"=None) -> "void":
        r"""setWindowCloseCallback(SoQtComponent self, SoQtComponentCB *const func, void *const user=None)"""
        return _soqt.SoQtComponent_setWindowCloseCallback(self, func, user)

    @staticmethod
    def getComponent(widget: "QWidget") -> "SoQtComponent *":
        r"""getComponent(QWidget widget) -> SoQtComponent"""
        return _soqt.SoQtComponent_getComponent(widget)

    @staticmethod
    def initClasses() -> "void":
        r"""initClasses()"""
        return _soqt.SoQtComponent_initClasses()

# Register SoQtComponent in _soqt:
_soqt.SoQtComponent_swigregister(SoQtComponent)

def SoQtComponent_initClass() -> "void":
    r"""SoQtComponent_initClass()"""
    return _soqt.SoQtComponent_initClass()

def SoQtComponent_getClassTypeId() -> "SoType":
    r"""SoQtComponent_getClassTypeId() -> SoType"""
    return _soqt.SoQtComponent_getClassTypeId()

def SoQtComponent_setWidgetCursor(w: "QWidget", cursor: "SoQtCursor") -> "void":
    r"""SoQtComponent_setWidgetCursor(QWidget w, SoQtCursor cursor)"""
    return _soqt.SoQtComponent_setWidgetCursor(w, cursor)

def SoQtComponent_getComponent(widget: "QWidget") -> "SoQtComponent *":
    r"""SoQtComponent_getComponent(QWidget widget) -> SoQtComponent"""
    return _soqt.SoQtComponent_getComponent(widget)

def SoQtComponent_initClasses() -> "void":
    r"""SoQtComponent_initClasses()"""
    return _soqt.SoQtComponent_initClasses()

SO_GL_RGB = _soqt.SO_GL_RGB

SO_GLX_RGB = _soqt.SO_GLX_RGB

SO_GL_DOUBLE = _soqt.SO_GL_DOUBLE

SO_GLX_DOUBLE = _soqt.SO_GLX_DOUBLE

SO_GL_ZBUFFER = _soqt.SO_GL_ZBUFFER

SO_GLX_ZBUFFER = _soqt.SO_GLX_ZBUFFER

SO_GL_OVERLAY = _soqt.SO_GL_OVERLAY

SO_GLX_OVERLAY = _soqt.SO_GLX_OVERLAY

SO_GL_STEREO = _soqt.SO_GL_STEREO

SO_GLX_STEREO = _soqt.SO_GLX_STEREO

class SoQtGLWidget(SoQtComponent):
    r"""Proxy of C++ SoQtGLWidget class."""

    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

    @staticmethod
    def initClass() -> "void":
        r"""initClass()"""
        return _soqt.SoQtGLWidget_initClass()

    @staticmethod
    def getClassTypeId() -> "SoType":
        r"""getClassTypeId() -> SoType"""
        return _soqt.SoQtGLWidget_getClassTypeId()

    def getTypeId(self) -> "SoType":
        r"""getTypeId(SoQtGLWidget self) -> SoType"""
        return _soqt.SoQtGLWidget_getTypeId(self)

    def setBorder(self, enable: "SbBool const") -> "void":
        r"""setBorder(SoQtGLWidget self, SbBool const enable)"""
        return _soqt.SoQtGLWidget_setBorder(self, enable)

    def isBorder(self) -> "SbBool":
        r"""isBorder(SoQtGLWidget self) -> SbBool"""
        return _soqt.SoQtGLWidget_isBorder(self)

    def setDoubleBuffer(self, enable: "SbBool const") -> "void":
        r"""setDoubleBuffer(SoQtGLWidget self, SbBool const enable)"""
        return _soqt.SoQtGLWidget_setDoubleBuffer(self, enable)

    def isDoubleBuffer(self) -> "SbBool":
        r"""isDoubleBuffer(SoQtGLWidget self) -> SbBool"""
        return _soqt.SoQtGLWidget_isDoubleBuffer(self)

    def setDrawToFrontBufferEnable(self, enable: "SbBool const") -> "void":
        r"""setDrawToFrontBufferEnable(SoQtGLWidget self, SbBool const enable)"""
        return _soqt.SoQtGLWidget_setDrawToFrontBufferEnable(self, enable)

    def isDrawToFrontBufferEnable(self) -> "SbBool":
        r"""isDrawToFrontBufferEnable(SoQtGLWidget self) -> SbBool"""
        return _soqt.SoQtGLWidget_isDrawToFrontBufferEnable(self)

    def setQuadBufferStereo(self, enable: "SbBool const") -> "void":
        r"""setQuadBufferStereo(SoQtGLWidget self, SbBool const enable)"""
        return _soqt.SoQtGLWidget_setQuadBufferStereo(self, enable)

    def isQuadBufferStereo(self) -> "SbBool":
        r"""isQuadBufferStereo(SoQtGLWidget self) -> SbBool"""
        return _soqt.SoQtGLWidget_isQuadBufferStereo(self)

    def setAccumulationBuffer(self, enable: "SbBool const") -> "void":
        r"""setAccumulationBuffer(SoQtGLWidget self, SbBool const enable)"""
        return _soqt.SoQtGLWidget_setAccumulationBuffer(self, enable)

    def getAccumulationBuffer(self) -> "SbBool":
        r"""getAccumulationBuffer(SoQtGLWidget self) -> SbBool"""
        return _soqt.SoQtGLWidget_getAccumulationBuffer(self)

    def setStencilBuffer(self, enable: "SbBool const") -> "void":
        r"""setStencilBuffer(SoQtGLWidget self, SbBool const enable)"""
        return _soqt.SoQtGLWidget_setStencilBuffer(self, enable)

    def getStencilBuffer(self) -> "SbBool":
        r"""getStencilBuffer(SoQtGLWidget self) -> SbBool"""
        return _soqt.SoQtGLWidget_getStencilBuffer(self)

    def setAlphaChannel(self, enable: "SbBool const") -> "void":
        r"""setAlphaChannel(SoQtGLWidget self, SbBool const enable)"""
        return _soqt.SoQtGLWidget_setAlphaChannel(self, enable)

    def getAlphaChannel(self) -> "SbBool":
        r"""getAlphaChannel(SoQtGLWidget self) -> SbBool"""
        return _soqt.SoQtGLWidget_getAlphaChannel(self)

    def setOverlayRender(self, onoff: "SbBool const") -> "void":
        r"""setOverlayRender(SoQtGLWidget self, SbBool const onoff)"""
        return _soqt.SoQtGLWidget_setOverlayRender(self, onoff)

    def isOverlayRender(self) -> "SbBool":
        r"""isOverlayRender(SoQtGLWidget self) -> SbBool"""
        return _soqt.SoQtGLWidget_isOverlayRender(self)

    def setSampleBuffers(self, numsamples: "int const") -> "void":
        r"""setSampleBuffers(SoQtGLWidget self, int const numsamples)"""
        return _soqt.SoQtGLWidget_setSampleBuffers(self, numsamples)

    def getSampleBuffers(self) -> "int":
        r"""getSampleBuffers(SoQtGLWidget self) -> int"""
        return _soqt.SoQtGLWidget_getSampleBuffers(self)

    def setStealFocus(self, enable: "SbBool") -> "void":
        r"""setStealFocus(SoQtGLWidget self, SbBool enable)"""
        return _soqt.SoQtGLWidget_setStealFocus(self, enable)

    def isStealFocus(self) -> "SbBool":
        r"""isStealFocus(SoQtGLWidget self) -> SbBool"""
        return _soqt.SoQtGLWidget_isStealFocus(self)

    def getGLWidget(self) -> "QWidget *":
        r"""getGLWidget(SoQtGLWidget self) -> QWidget"""
        return _soqt.SoQtGLWidget_getGLWidget(self)

    def getNormalWidget(self) -> "QWidget *":
        r"""getNormalWidget(SoQtGLWidget self) -> QWidget"""
        return _soqt.SoQtGLWidget_getNormalWidget(self)

    def getOverlayWidget(self) -> "QWidget *":
        r"""getOverlayWidget(SoQtGLWidget self) -> QWidget"""
        return _soqt.SoQtGLWidget_getOverlayWidget(self)

    def hasOverlayGLArea(self) -> "SbBool":
        r"""hasOverlayGLArea(SoQtGLWidget self) -> SbBool"""
        return _soqt.SoQtGLWidget_hasOverlayGLArea(self)

    def hasNormalGLArea(self) -> "SbBool":
        r"""hasNormalGLArea(SoQtGLWidget self) -> SbBool"""
        return _soqt.SoQtGLWidget_hasNormalGLArea(self)

    def getOverlayTransparentPixel(self) -> "unsigned long":
        r"""getOverlayTransparentPixel(SoQtGLWidget self) -> unsigned long"""
        return _soqt.SoQtGLWidget_getOverlayTransparentPixel(self)

    def getPointSizeLimits(self, range: "SbVec2f", granularity: "float &") -> "void":
        r"""getPointSizeLimits(SoQtGLWidget self, SbVec2f range, float & granularity)"""
        return _soqt.SoQtGLWidget_getPointSizeLimits(self, range, granularity)

    def getLineWidthLimits(self, range: "SbVec2f", granularity: "float &") -> "void":
        r"""getLineWidthLimits(SoQtGLWidget self, SbVec2f range, float & granularity)"""
        return _soqt.SoQtGLWidget_getLineWidthLimits(self, range, granularity)

# Register SoQtGLWidget in _soqt:
_soqt.SoQtGLWidget_swigregister(SoQtGLWidget)

def SoQtGLWidget_initClass() -> "void":
    r"""SoQtGLWidget_initClass()"""
    return _soqt.SoQtGLWidget_initClass()

def SoQtGLWidget_getClassTypeId() -> "SoType":
    r"""SoQtGLWidget_getClassTypeId() -> SoType"""
    return _soqt.SoQtGLWidget_getClassTypeId()

class SoQtRenderArea(SoQtGLWidget):
    r"""Proxy of C++ SoQtRenderArea class."""

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

    @staticmethod
    def initClass() -> "void":
        r"""initClass()"""
        return _soqt.SoQtRenderArea_initClass()

    @staticmethod
    def getClassTypeId() -> "SoType":
        r"""getClassTypeId() -> SoType"""
        return _soqt.SoQtRenderArea_getClassTypeId()

    def getTypeId(self) -> "SoType":
        r"""getTypeId(SoQtRenderArea self) -> SoType"""
        return _soqt.SoQtRenderArea_getTypeId(self)

    @staticmethod
    def createInstance() -> "void *":
        r"""createInstance() -> void *"""
        return _soqt.SoQtRenderArea_createInstance()

    def __init__(self, parent: "QWidget"=None, name: "char const *"=None, embed: "SbBool"=1, mouseInput: "SbBool"=1, keyboardInput: "SbBool"=1):
        r"""__init__(SoQtRenderArea self, QWidget parent=None, char const * name=None, SbBool embed=1, SbBool mouseInput=1, SbBool keyboardInput=1) -> SoQtRenderArea"""
        _soqt.SoQtRenderArea_swiginit(self, _soqt.new_SoQtRenderArea(parent, name, embed, mouseInput, keyboardInput))
    __swig_destroy__ = _soqt.delete_SoQtRenderArea

    def setSceneGraph(self, scene: "SoNode") -> "void":
        r"""setSceneGraph(SoQtRenderArea self, SoNode scene)"""
        return _soqt.SoQtRenderArea_setSceneGraph(self, scene)

    def getSceneGraph(self) -> "SoNode *":
        r"""getSceneGraph(SoQtRenderArea self) -> SoNode"""
        return _soqt.SoQtRenderArea_getSceneGraph(self)

    def setOverlaySceneGraph(self, scene: "SoNode") -> "void":
        r"""setOverlaySceneGraph(SoQtRenderArea self, SoNode scene)"""
        return _soqt.SoQtRenderArea_setOverlaySceneGraph(self, scene)

    def getOverlaySceneGraph(self) -> "SoNode *":
        r"""getOverlaySceneGraph(SoQtRenderArea self) -> SoNode"""
        return _soqt.SoQtRenderArea_getOverlaySceneGraph(self)

    def setBackgroundColor(self, color: "SbColor") -> "void":
        r"""setBackgroundColor(SoQtRenderArea self, SbColor color)"""
        return _soqt.SoQtRenderArea_setBackgroundColor(self, color)

    def getBackgroundColor(self) -> "SbColor const &":
        r"""getBackgroundColor(SoQtRenderArea self) -> SbColor"""
        return _soqt.SoQtRenderArea_getBackgroundColor(self)

    def setBackgroundIndex(self, idx: "int") -> "void":
        r"""setBackgroundIndex(SoQtRenderArea self, int idx)"""
        return _soqt.SoQtRenderArea_setBackgroundIndex(self, idx)

    def getBackgroundIndex(self) -> "int":
        r"""getBackgroundIndex(SoQtRenderArea self) -> int"""
        return _soqt.SoQtRenderArea_getBackgroundIndex(self)

    def setOverlayBackgroundIndex(self, idx: "int") -> "void":
        r"""setOverlayBackgroundIndex(SoQtRenderArea self, int idx)"""
        return _soqt.SoQtRenderArea_setOverlayBackgroundIndex(self, idx)

    def getOverlayBackgroundIndex(self) -> "int":
        r"""getOverlayBackgroundIndex(SoQtRenderArea self) -> int"""
        return _soqt.SoQtRenderArea_getOverlayBackgroundIndex(self)

    def setColorMap(self, start: "int", num: "int", colors: "SbColor") -> "void":
        r"""setColorMap(SoQtRenderArea self, int start, int num, SbColor colors)"""
        return _soqt.SoQtRenderArea_setColorMap(self, start, num, colors)

    def setOverlayColorMap(self, start: "int", num: "int", colors: "SbColor") -> "void":
        r"""setOverlayColorMap(SoQtRenderArea self, int start, int num, SbColor colors)"""
        return _soqt.SoQtRenderArea_setOverlayColorMap(self, start, num, colors)

    def setViewportRegion(self, newRegion: "SbViewportRegion") -> "void":
        r"""setViewportRegion(SoQtRenderArea self, SbViewportRegion newRegion)"""
        return _soqt.SoQtRenderArea_setViewportRegion(self, newRegion)

    def getViewportRegion(self) -> "SbViewportRegion const &":
        r"""getViewportRegion(SoQtRenderArea self) -> SbViewportRegion"""
        return _soqt.SoQtRenderArea_getViewportRegion(self)

    def setTransparencyType(self, type: "SoGLRenderAction::TransparencyType") -> "void":
        r"""setTransparencyType(SoQtRenderArea self, SoGLRenderAction::TransparencyType type)"""
        return _soqt.SoQtRenderArea_setTransparencyType(self, type)

    def getTransparencyType(self) -> "SoGLRenderAction::TransparencyType":
        r"""getTransparencyType(SoQtRenderArea self) -> SoGLRenderAction::TransparencyType"""
        return _soqt.SoQtRenderArea_getTransparencyType(self)

    def setAntialiasing(self, smoothing: "SbBool", numPasses: "int") -> "void":
        r"""setAntialiasing(SoQtRenderArea self, SbBool smoothing, int numPasses)"""
        return _soqt.SoQtRenderArea_setAntialiasing(self, smoothing, numPasses)

    def getAntialiasing(self, smoothing: "SbBool &", numPasses: "int &") -> "void":
        r"""getAntialiasing(SoQtRenderArea self, SbBool & smoothing, int & numPasses)"""
        return _soqt.SoQtRenderArea_getAntialiasing(self, smoothing, numPasses)

    def setClearBeforeRender(self, enable: "SbBool", zbEnable: "SbBool"=1) -> "void":
        r"""setClearBeforeRender(SoQtRenderArea self, SbBool enable, SbBool zbEnable=1)"""
        return _soqt.SoQtRenderArea_setClearBeforeRender(self, enable, zbEnable)

    def isClearBeforeRender(self) -> "SbBool":
        r"""isClearBeforeRender(SoQtRenderArea self) -> SbBool"""
        return _soqt.SoQtRenderArea_isClearBeforeRender(self)

    def isClearZBufferBeforeRender(self) -> "SbBool":
        r"""isClearZBufferBeforeRender(SoQtRenderArea self) -> SbBool"""
        return _soqt.SoQtRenderArea_isClearZBufferBeforeRender(self)

    def setClearBeforeOverlayRender(self, enable: "SbBool") -> "void":
        r"""setClearBeforeOverlayRender(SoQtRenderArea self, SbBool enable)"""
        return _soqt.SoQtRenderArea_setClearBeforeOverlayRender(self, enable)

    def isClearBeforeOverlayRender(self) -> "SbBool":
        r"""isClearBeforeOverlayRender(SoQtRenderArea self) -> SbBool"""
        return _soqt.SoQtRenderArea_isClearBeforeOverlayRender(self)

    def setAutoRedraw(self, enable: "SbBool") -> "void":
        r"""setAutoRedraw(SoQtRenderArea self, SbBool enable)"""
        return _soqt.SoQtRenderArea_setAutoRedraw(self, enable)

    def isAutoRedraw(self) -> "SbBool":
        r"""isAutoRedraw(SoQtRenderArea self) -> SbBool"""
        return _soqt.SoQtRenderArea_isAutoRedraw(self)

    def setRedrawPriority(self, priority: "uint32_t") -> "void":
        r"""setRedrawPriority(SoQtRenderArea self, uint32_t priority)"""
        return _soqt.SoQtRenderArea_setRedrawPriority(self, priority)

    def getRedrawPriority(self) -> "uint32_t":
        r"""getRedrawPriority(SoQtRenderArea self) -> uint32_t"""
        return _soqt.SoQtRenderArea_getRedrawPriority(self)

    @staticmethod
    def getDefaultRedrawPriority() -> "uint32_t":
        r"""getDefaultRedrawPriority() -> uint32_t"""
        return _soqt.SoQtRenderArea_getDefaultRedrawPriority()

    def render(self) -> "void":
        r"""render(SoQtRenderArea self)"""
        return _soqt.SoQtRenderArea_render(self)

    def renderOverlay(self) -> "void":
        r"""renderOverlay(SoQtRenderArea self)"""
        return _soqt.SoQtRenderArea_renderOverlay(self)

    def scheduleRedraw(self) -> "void":
        r"""scheduleRedraw(SoQtRenderArea self)"""
        return _soqt.SoQtRenderArea_scheduleRedraw(self)

    def scheduleOverlayRedraw(self) -> "void":
        r"""scheduleOverlayRedraw(SoQtRenderArea self)"""
        return _soqt.SoQtRenderArea_scheduleOverlayRedraw(self)

    def redrawOnSelectionChange(self, selection: "SoSelection") -> "void":
        r"""redrawOnSelectionChange(SoQtRenderArea self, SoSelection selection)"""
        return _soqt.SoQtRenderArea_redrawOnSelectionChange(self, selection)

    def redrawOverlayOnSelectionChange(self, selection: "SoSelection") -> "void":
        r"""redrawOverlayOnSelectionChange(SoQtRenderArea self, SoSelection selection)"""
        return _soqt.SoQtRenderArea_redrawOverlayOnSelectionChange(self, selection)

    def setSceneManager(self, manager: "SoSceneManager") -> "void":
        r"""setSceneManager(SoQtRenderArea self, SoSceneManager manager)"""
        return _soqt.SoQtRenderArea_setSceneManager(self, manager)

    def getSceneManager(self) -> "SoSceneManager *":
        r"""getSceneManager(SoQtRenderArea self) -> SoSceneManager"""
        return _soqt.SoQtRenderArea_getSceneManager(self)

    def setOverlaySceneManager(self, manager: "SoSceneManager") -> "void":
        r"""setOverlaySceneManager(SoQtRenderArea self, SoSceneManager manager)"""
        return _soqt.SoQtRenderArea_setOverlaySceneManager(self, manager)

    def getOverlaySceneManager(self) -> "SoSceneManager *":
        r"""getOverlaySceneManager(SoQtRenderArea self) -> SoSceneManager"""
        return _soqt.SoQtRenderArea_getOverlaySceneManager(self)

    def setGLRenderAction(self, action: "SoGLRenderAction") -> "void":
        r"""setGLRenderAction(SoQtRenderArea self, SoGLRenderAction action)"""
        return _soqt.SoQtRenderArea_setGLRenderAction(self, action)

    def getGLRenderAction(self) -> "SoGLRenderAction *":
        r"""getGLRenderAction(SoQtRenderArea self) -> SoGLRenderAction"""
        return _soqt.SoQtRenderArea_getGLRenderAction(self)

    def setOverlayGLRenderAction(self, action: "SoGLRenderAction") -> "void":
        r"""setOverlayGLRenderAction(SoQtRenderArea self, SoGLRenderAction action)"""
        return _soqt.SoQtRenderArea_setOverlayGLRenderAction(self, action)

    def getOverlayGLRenderAction(self) -> "SoGLRenderAction *":
        r"""getOverlayGLRenderAction(SoQtRenderArea self) -> SoGLRenderAction"""
        return _soqt.SoQtRenderArea_getOverlayGLRenderAction(self)

    def sendSoEvent(self, event: "SoEvent") -> "SbBool":
        r"""sendSoEvent(SoQtRenderArea self, SoEvent event) -> SbBool"""
        return _soqt.SoQtRenderArea_sendSoEvent(self, event)

    def registerDevice(self, device: "SoQtDevice") -> "void":
        r"""registerDevice(SoQtRenderArea self, SoQtDevice device)"""
        return _soqt.SoQtRenderArea_registerDevice(self, device)

    def unregisterDevice(self, device: "SoQtDevice") -> "void":
        r"""unregisterDevice(SoQtRenderArea self, SoQtDevice device)"""
        return _soqt.SoQtRenderArea_unregisterDevice(self, device)

    def setEventCallback(self, *args) -> "void":
        r"""
        setEventCallback(SoQtRenderArea self, SoQtRenderAreaEventCB * func, void * user=None)
        setEventCallback(SoQtRenderArea self, PyObject * pyfunc, PyObject * user=None)
        """
        return _soqt.SoQtRenderArea_setEventCallback(self, *args)

# Register SoQtRenderArea in _soqt:
_soqt.SoQtRenderArea_swigregister(SoQtRenderArea)

def SoQtRenderArea_initClass() -> "void":
    r"""SoQtRenderArea_initClass()"""
    return _soqt.SoQtRenderArea_initClass()

def SoQtRenderArea_getClassTypeId() -> "SoType":
    r"""SoQtRenderArea_getClassTypeId() -> SoType"""
    return _soqt.SoQtRenderArea_getClassTypeId()

def SoQtRenderArea_createInstance() -> "void *":
    r"""SoQtRenderArea_createInstance() -> void *"""
    return _soqt.SoQtRenderArea_createInstance()

def SoQtRenderArea_getDefaultRedrawPriority() -> "uint32_t":
    r"""SoQtRenderArea_getDefaultRedrawPriority() -> uint32_t"""
    return _soqt.SoQtRenderArea_getDefaultRedrawPriority()

class SoQtViewer(SoQtRenderArea):
    r"""Proxy of C++ SoQtViewer class."""

    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 initClass() -> "void":
        r"""initClass()"""
        return _soqt.SoQtViewer_initClass()

    @staticmethod
    def getClassTypeId() -> "SoType":
        r"""getClassTypeId() -> SoType"""
        return _soqt.SoQtViewer_getClassTypeId()

    def getTypeId(self) -> "SoType":
        r"""getTypeId(SoQtViewer self) -> SoType"""
        return _soqt.SoQtViewer_getTypeId(self)
    BROWSER = _soqt.SoQtViewer_BROWSER
    
    EDITOR = _soqt.SoQtViewer_EDITOR
    
    VIEW_AS_IS = _soqt.SoQtViewer_VIEW_AS_IS
    
    VIEW_HIDDEN_LINE = _soqt.SoQtViewer_VIEW_HIDDEN_LINE
    
    VIEW_NO_TEXTURE = _soqt.SoQtViewer_VIEW_NO_TEXTURE
    
    VIEW_LOW_COMPLEXITY = _soqt.SoQtViewer_VIEW_LOW_COMPLEXITY
    
    VIEW_LINE = _soqt.SoQtViewer_VIEW_LINE
    
    VIEW_POINT = _soqt.SoQtViewer_VIEW_POINT
    
    VIEW_BBOX = _soqt.SoQtViewer_VIEW_BBOX
    
    VIEW_LOW_RES_LINE = _soqt.SoQtViewer_VIEW_LOW_RES_LINE
    
    VIEW_LOW_RES_POINT = _soqt.SoQtViewer_VIEW_LOW_RES_POINT
    
    VIEW_SAME_AS_STILL = _soqt.SoQtViewer_VIEW_SAME_AS_STILL
    
    VIEW_WIREFRAME_OVERLAY = _soqt.SoQtViewer_VIEW_WIREFRAME_OVERLAY
    
    STILL = _soqt.SoQtViewer_STILL
    
    INTERACTIVE = _soqt.SoQtViewer_INTERACTIVE
    
    BUFFER_SINGLE = _soqt.SoQtViewer_BUFFER_SINGLE
    
    BUFFER_DOUBLE = _soqt.SoQtViewer_BUFFER_DOUBLE
    
    BUFFER_INTERACTIVE = _soqt.SoQtViewer_BUFFER_INTERACTIVE
    
    VARIABLE_NEAR_PLANE = _soqt.SoQtViewer_VARIABLE_NEAR_PLANE
    
    CONSTANT_NEAR_PLANE = _soqt.SoQtViewer_CONSTANT_NEAR_PLANE
    

    def setCamera(self, camera: "SoCamera") -> "void":
        r"""setCamera(SoQtViewer self, SoCamera camera)"""
        return _soqt.SoQtViewer_setCamera(self, camera)

    def getCamera(self) -> "SoCamera *":
        r"""getCamera(SoQtViewer self) -> SoCamera"""
        return _soqt.SoQtViewer_getCamera(self)

    def setCameraType(self, type: "SoType") -> "void":
        r"""setCameraType(SoQtViewer self, SoType type)"""
        return _soqt.SoQtViewer_setCameraType(self, type)

    def getCameraType(self) -> "SoType":
        r"""getCameraType(SoQtViewer self) -> SoType"""
        return _soqt.SoQtViewer_getCameraType(self)

    def toggleCameraType(self) -> "void":
        r"""toggleCameraType(SoQtViewer self)"""
        return _soqt.SoQtViewer_toggleCameraType(self)

    def viewAll(self) -> "void":
        r"""viewAll(SoQtViewer self)"""
        return _soqt.SoQtViewer_viewAll(self)

    def saveHomePosition(self) -> "void":
        r"""saveHomePosition(SoQtViewer self)"""
        return _soqt.SoQtViewer_saveHomePosition(self)

    def resetToHomePosition(self) -> "void":
        r"""resetToHomePosition(SoQtViewer self)"""
        return _soqt.SoQtViewer_resetToHomePosition(self)

    def setHeadlight(self, enable: "SbBool") -> "void":
        r"""setHeadlight(SoQtViewer self, SbBool enable)"""
        return _soqt.SoQtViewer_setHeadlight(self, enable)

    def isHeadlight(self) -> "SbBool":
        r"""isHeadlight(SoQtViewer self) -> SbBool"""
        return _soqt.SoQtViewer_isHeadlight(self)

    def getHeadlight(self) -> "SoDirectionalLight *":
        r"""getHeadlight(SoQtViewer self) -> SoDirectionalLight"""
        return _soqt.SoQtViewer_getHeadlight(self)

    def setDrawStyle(self, type: "SoQtViewer::DrawType", style: "SoQtViewer::DrawStyle") -> "void":
        r"""setDrawStyle(SoQtViewer self, SoQtViewer::DrawType type, SoQtViewer::DrawStyle style)"""
        return _soqt.SoQtViewer_setDrawStyle(self, type, style)

    def getDrawStyle(self, type: "SoQtViewer::DrawType const") -> "SoQtViewer::DrawStyle":
        r"""getDrawStyle(SoQtViewer self, SoQtViewer::DrawType const type) -> SoQtViewer::DrawStyle"""
        return _soqt.SoQtViewer_getDrawStyle(self, type)

    def setBufferingType(self, type: "SoQtViewer::BufferType") -> "void":
        r"""setBufferingType(SoQtViewer self, SoQtViewer::BufferType type)"""
        return _soqt.SoQtViewer_setBufferingType(self, type)

    def getBufferingType(self) -> "SoQtViewer::BufferType":
        r"""getBufferingType(SoQtViewer self) -> SoQtViewer::BufferType"""
        return _soqt.SoQtViewer_getBufferingType(self)

    def setViewing(self, enable: "SbBool") -> "void":
        r"""setViewing(SoQtViewer self, SbBool enable)"""
        return _soqt.SoQtViewer_setViewing(self, enable)

    def isViewing(self) -> "SbBool":
        r"""isViewing(SoQtViewer self) -> SbBool"""
        return _soqt.SoQtViewer_isViewing(self)

    def setCursorEnabled(self, enable: "SbBool") -> "void":
        r"""setCursorEnabled(SoQtViewer self, SbBool enable)"""
        return _soqt.SoQtViewer_setCursorEnabled(self, enable)

    def isCursorEnabled(self) -> "SbBool":
        r"""isCursorEnabled(SoQtViewer self) -> SbBool"""
        return _soqt.SoQtViewer_isCursorEnabled(self)

    def setAutoClipping(self, enable: "SbBool") -> "void":
        r"""setAutoClipping(SoQtViewer self, SbBool enable)"""
        return _soqt.SoQtViewer_setAutoClipping(self, enable)

    def isAutoClipping(self) -> "SbBool":
        r"""isAutoClipping(SoQtViewer self) -> SbBool"""
        return _soqt.SoQtViewer_isAutoClipping(self)

    def setAutoClippingStrategy(self, strategy: "SoQtViewer::AutoClippingStrategy const", value: "float const"=0.6, cb: "SoQtAutoClippingCB *"=None, cbuserdata: "void *"=None) -> "void":
        r"""setAutoClippingStrategy(SoQtViewer self, SoQtViewer::AutoClippingStrategy const strategy, float const value=0.6, SoQtAutoClippingCB * cb=None, void * cbuserdata=None)"""
        return _soqt.SoQtViewer_setAutoClippingStrategy(self, strategy, value, cb, cbuserdata)

    def setStereoViewing(self, enable: "SbBool") -> "void":
        r"""setStereoViewing(SoQtViewer self, SbBool enable)"""
        return _soqt.SoQtViewer_setStereoViewing(self, enable)

    def isStereoViewing(self) -> "SbBool":
        r"""isStereoViewing(SoQtViewer self) -> SbBool"""
        return _soqt.SoQtViewer_isStereoViewing(self)

    def setStereoOffset(self, dist: "float const") -> "void":
        r"""setStereoOffset(SoQtViewer self, float const dist)"""
        return _soqt.SoQtViewer_setStereoOffset(self, dist)

    def getStereoOffset(self) -> "float":
        r"""getStereoOffset(SoQtViewer self) -> float"""
        return _soqt.SoQtViewer_getStereoOffset(self)
    STEREO_NONE = _soqt.SoQtViewer_STEREO_NONE
    
    STEREO_ANAGLYPH = _soqt.SoQtViewer_STEREO_ANAGLYPH
    
    STEREO_QUADBUFFER = _soqt.SoQtViewer_STEREO_QUADBUFFER
    
    STEREO_INTERLEAVED_ROWS = _soqt.SoQtViewer_STEREO_INTERLEAVED_ROWS
    
    STEREO_INTERLEAVED_COLUMNS = _soqt.SoQtViewer_STEREO_INTERLEAVED_COLUMNS
    

    def setStereoType(self, s: "SoQtViewer::StereoType") -> "SbBool":
        r"""setStereoType(SoQtViewer self, SoQtViewer::StereoType s) -> SbBool"""
        return _soqt.SoQtViewer_setStereoType(self, s)

    def getStereoType(self) -> "SoQtViewer::StereoType":
        r"""getStereoType(SoQtViewer self) -> SoQtViewer::StereoType"""
        return _soqt.SoQtViewer_getStereoType(self)

    def setAnaglyphStereoColorMasks(self, left: "SbBool const [3]", right: "SbBool const [3]") -> "void":
        r"""setAnaglyphStereoColorMasks(SoQtViewer self, SbBool const [3] left, SbBool const [3] right)"""
        return _soqt.SoQtViewer_setAnaglyphStereoColorMasks(self, left, right)

    def getAnaglyphStereoColorMasks(self, left: "SbBool [3]", right: "SbBool [3]") -> "void":
        r"""getAnaglyphStereoColorMasks(SoQtViewer self, SbBool [3] left, SbBool [3] right)"""
        return _soqt.SoQtViewer_getAnaglyphStereoColorMasks(self, left, right)

    def setDetailSeek(self, enable: "SbBool const") -> "void":
        r"""setDetailSeek(SoQtViewer self, SbBool const enable)"""
        return _soqt.SoQtViewer_setDetailSeek(self, enable)

    def isDetailSeek(self) -> "SbBool":
        r"""isDetailSeek(SoQtViewer self) -> SbBool"""
        return _soqt.SoQtViewer_isDetailSeek(self)

    def setSeekTime(self, seconds: "float const") -> "void":
        r"""setSeekTime(SoQtViewer self, float const seconds)"""
        return _soqt.SoQtViewer_setSeekTime(self, seconds)

    def getSeekTime(self) -> "float":
        r"""getSeekTime(SoQtViewer self) -> float"""
        return _soqt.SoQtViewer_getSeekTime(self)

    def addStartCallback(self, func: "SoQtViewerCB *", data: "void *"=None) -> "void":
        r"""addStartCallback(SoQtViewer self, SoQtViewerCB * func, void * data=None)"""
        return _soqt.SoQtViewer_addStartCallback(self, func, data)

    def addFinishCallback(self, func: "SoQtViewerCB *", data: "void *"=None) -> "void":
        r"""addFinishCallback(SoQtViewer self, SoQtViewerCB * func, void * data=None)"""
        return _soqt.SoQtViewer_addFinishCallback(self, func, data)

    def removeStartCallback(self, func: "SoQtViewerCB *", data: "void *"=None) -> "void":
        r"""removeStartCallback(SoQtViewer self, SoQtViewerCB * func, void * data=None)"""
        return _soqt.SoQtViewer_removeStartCallback(self, func, data)

    def removeFinishCallback(self, func: "SoQtViewerCB *", data: "void *"=None) -> "void":
        r"""removeFinishCallback(SoQtViewer self, SoQtViewerCB * func, void * data=None)"""
        return _soqt.SoQtViewer_removeFinishCallback(self, func, data)

    def setWireframeOverlayColor(self, color: "SbColor") -> "void":
        r"""setWireframeOverlayColor(SoQtViewer self, SbColor color)"""
        return _soqt.SoQtViewer_setWireframeOverlayColor(self, color)

    def getWireframeOverlayColor(self) -> "SbColor const &":
        r"""getWireframeOverlayColor(SoQtViewer self) -> SbColor"""
        return _soqt.SoQtViewer_getWireframeOverlayColor(self)

    def setDoubleBuffer(self, enable: "SbBool const") -> "void":
        r"""setDoubleBuffer(SoQtViewer self, SbBool const enable)"""
        return _soqt.SoQtViewer_setDoubleBuffer(self, enable)

    def setSceneGraph(self, root: "SoNode") -> "void":
        r"""setSceneGraph(SoQtViewer self, SoNode root)"""
        return _soqt.SoQtViewer_setSceneGraph(self, root)

    def getSceneGraph(self) -> "SoNode *":
        r"""getSceneGraph(SoQtViewer self) -> SoNode"""
        return _soqt.SoQtViewer_getSceneGraph(self)

# Register SoQtViewer in _soqt:
_soqt.SoQtViewer_swigregister(SoQtViewer)

def SoQtViewer_initClass() -> "void":
    r"""SoQtViewer_initClass()"""
    return _soqt.SoQtViewer_initClass()

def SoQtViewer_getClassTypeId() -> "SoType":
    r"""SoQtViewer_getClassTypeId() -> SoType"""
    return _soqt.SoQtViewer_getClassTypeId()

class SoQtFullViewer(SoQtViewer):
    r"""Proxy of C++ SoQtFullViewer class."""

    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 initClass() -> "void":
        r"""initClass()"""
        return _soqt.SoQtFullViewer_initClass()

    @staticmethod
    def getClassTypeId() -> "SoType":
        r"""getClassTypeId() -> SoType"""
        return _soqt.SoQtFullViewer_getClassTypeId()

    def getTypeId(self) -> "SoType":
        r"""getTypeId(SoQtFullViewer self) -> SoType"""
        return _soqt.SoQtFullViewer_getTypeId(self)
    BUILD_NONE = _soqt.SoQtFullViewer_BUILD_NONE
    
    BUILD_DECORATION = _soqt.SoQtFullViewer_BUILD_DECORATION
    
    BUILD_POPUP = _soqt.SoQtFullViewer_BUILD_POPUP
    
    BUILD_ALL = _soqt.SoQtFullViewer_BUILD_ALL
    

    def setDecoration(self, on: "SbBool const") -> "void":
        r"""setDecoration(SoQtFullViewer self, SbBool const on)"""
        return _soqt.SoQtFullViewer_setDecoration(self, on)

    def isDecoration(self) -> "SbBool":
        r"""isDecoration(SoQtFullViewer self) -> SbBool"""
        return _soqt.SoQtFullViewer_isDecoration(self)

    def setPopupMenuEnabled(self, on: "SbBool const") -> "void":
        r"""setPopupMenuEnabled(SoQtFullViewer self, SbBool const on)"""
        return _soqt.SoQtFullViewer_setPopupMenuEnabled(self, on)

    def isPopupMenuEnabled(self) -> "SbBool":
        r"""isPopupMenuEnabled(SoQtFullViewer self) -> SbBool"""
        return _soqt.SoQtFullViewer_isPopupMenuEnabled(self)

    def getAppPushButtonParent(self) -> "QWidget *":
        r"""getAppPushButtonParent(SoQtFullViewer self) -> QWidget"""
        return _soqt.SoQtFullViewer_getAppPushButtonParent(self)

    def addAppPushButton(self, newButton: "QWidget") -> "void":
        r"""addAppPushButton(SoQtFullViewer self, QWidget newButton)"""
        return _soqt.SoQtFullViewer_addAppPushButton(self, newButton)

    def insertAppPushButton(self, newButton: "QWidget", index: "int") -> "void":
        r"""insertAppPushButton(SoQtFullViewer self, QWidget newButton, int index)"""
        return _soqt.SoQtFullViewer_insertAppPushButton(self, newButton, index)

    def removeAppPushButton(self, oldButton: "QWidget") -> "void":
        r"""removeAppPushButton(SoQtFullViewer self, QWidget oldButton)"""
        return _soqt.SoQtFullViewer_removeAppPushButton(self, oldButton)

    def findAppPushButton(self, oldButton: "QWidget") -> "int":
        r"""findAppPushButton(SoQtFullViewer self, QWidget oldButton) -> int"""
        return _soqt.SoQtFullViewer_findAppPushButton(self, oldButton)

    def lengthAppPushButton(self) -> "int":
        r"""lengthAppPushButton(SoQtFullViewer self) -> int"""
        return _soqt.SoQtFullViewer_lengthAppPushButton(self)

    def getRenderAreaWidget(self) -> "QWidget *":
        r"""getRenderAreaWidget(SoQtFullViewer self) -> QWidget"""
        return _soqt.SoQtFullViewer_getRenderAreaWidget(self)

    def setViewing(self, on: "SbBool") -> "void":
        r"""setViewing(SoQtFullViewer self, SbBool on)"""
        return _soqt.SoQtFullViewer_setViewing(self, on)

    def setComponentCursor(self, cursor: "SoQtCursor") -> "void":
        r"""setComponentCursor(SoQtFullViewer self, SoQtCursor cursor)"""
        return _soqt.SoQtFullViewer_setComponentCursor(self, cursor)

# Register SoQtFullViewer in _soqt:
_soqt.SoQtFullViewer_swigregister(SoQtFullViewer)

def SoQtFullViewer_initClass() -> "void":
    r"""SoQtFullViewer_initClass()"""
    return _soqt.SoQtFullViewer_initClass()

def SoQtFullViewer_getClassTypeId() -> "SoType":
    r"""SoQtFullViewer_getClassTypeId() -> SoType"""
    return _soqt.SoQtFullViewer_getClassTypeId()

class SoQtPlaneViewer(SoQtFullViewer):
    r"""Proxy of C++ SoQtPlaneViewer class."""

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

    @staticmethod
    def initClass() -> "void":
        r"""initClass()"""
        return _soqt.SoQtPlaneViewer_initClass()

    @staticmethod
    def getClassTypeId() -> "SoType":
        r"""getClassTypeId() -> SoType"""
        return _soqt.SoQtPlaneViewer_getClassTypeId()

    def getTypeId(self) -> "SoType":
        r"""getTypeId(SoQtPlaneViewer self) -> SoType"""
        return _soqt.SoQtPlaneViewer_getTypeId(self)

    @staticmethod
    def createInstance() -> "void *":
        r"""createInstance() -> void *"""
        return _soqt.SoQtPlaneViewer_createInstance()

    def __init__(self, *args):
        r"""__init__(SoQtPlaneViewer self, QWidget parent=None, char const *const name=None, SbBool embed=1, SoQtFullViewer::BuildFlag flag=BUILD_ALL, SoQtViewer::Type type=BROWSER) -> SoQtPlaneViewer"""
        _soqt.SoQtPlaneViewer_swiginit(self, _soqt.new_SoQtPlaneViewer(*args))
    __swig_destroy__ = _soqt.delete_SoQtPlaneViewer

    def setViewing(self, enable: "SbBool") -> "void":
        r"""setViewing(SoQtPlaneViewer self, SbBool enable)"""
        return _soqt.SoQtPlaneViewer_setViewing(self, enable)

    def setCamera(self, camera: "SoCamera") -> "void":
        r"""setCamera(SoQtPlaneViewer self, SoCamera camera)"""
        return _soqt.SoQtPlaneViewer_setCamera(self, camera)

    def setCursorEnabled(self, enable: "SbBool") -> "void":
        r"""setCursorEnabled(SoQtPlaneViewer self, SbBool enable)"""
        return _soqt.SoQtPlaneViewer_setCursorEnabled(self, enable)

# Register SoQtPlaneViewer in _soqt:
_soqt.SoQtPlaneViewer_swigregister(SoQtPlaneViewer)

def SoQtPlaneViewer_initClass() -> "void":
    r"""SoQtPlaneViewer_initClass()"""
    return _soqt.SoQtPlaneViewer_initClass()

def SoQtPlaneViewer_getClassTypeId() -> "SoType":
    r"""SoQtPlaneViewer_getClassTypeId() -> SoType"""
    return _soqt.SoQtPlaneViewer_getClassTypeId()

def SoQtPlaneViewer_createInstance() -> "void *":
    r"""SoQtPlaneViewer_createInstance() -> void *"""
    return _soqt.SoQtPlaneViewer_createInstance()

class SoQtExaminerViewer(SoQtFullViewer):
    r"""Proxy of C++ SoQtExaminerViewer class."""

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

    @staticmethod
    def initClass() -> "void":
        r"""initClass()"""
        return _soqt.SoQtExaminerViewer_initClass()

    @staticmethod
    def getClassTypeId() -> "SoType":
        r"""getClassTypeId() -> SoType"""
        return _soqt.SoQtExaminerViewer_getClassTypeId()

    def getTypeId(self) -> "SoType":
        r"""getTypeId(SoQtExaminerViewer self) -> SoType"""
        return _soqt.SoQtExaminerViewer_getTypeId(self)

    @staticmethod
    def createInstance() -> "void *":
        r"""createInstance() -> void *"""
        return _soqt.SoQtExaminerViewer_createInstance()

    def __init__(self, *args):
        r"""__init__(SoQtExaminerViewer self, QWidget parent=None, char const * name=None, SbBool embed=1, SoQtFullViewer::BuildFlag flag=BUILD_ALL, SoQtViewer::Type type=BROWSER) -> SoQtExaminerViewer"""
        _soqt.SoQtExaminerViewer_swiginit(self, _soqt.new_SoQtExaminerViewer(*args))
    __swig_destroy__ = _soqt.delete_SoQtExaminerViewer

    def setAnimationEnabled(self, enable: "SbBool const") -> "void":
        r"""setAnimationEnabled(SoQtExaminerViewer self, SbBool const enable)"""
        return _soqt.SoQtExaminerViewer_setAnimationEnabled(self, enable)

    def isAnimationEnabled(self) -> "SbBool":
        r"""isAnimationEnabled(SoQtExaminerViewer self) -> SbBool"""
        return _soqt.SoQtExaminerViewer_isAnimationEnabled(self)

    def stopAnimating(self) -> "void":
        r"""stopAnimating(SoQtExaminerViewer self)"""
        return _soqt.SoQtExaminerViewer_stopAnimating(self)

    def isAnimating(self) -> "SbBool":
        r"""isAnimating(SoQtExaminerViewer self) -> SbBool"""
        return _soqt.SoQtExaminerViewer_isAnimating(self)

    def setFeedbackVisibility(self, enable: "SbBool const") -> "void":
        r"""setFeedbackVisibility(SoQtExaminerViewer self, SbBool const enable)"""
        return _soqt.SoQtExaminerViewer_setFeedbackVisibility(self, enable)

    def isFeedbackVisible(self) -> "SbBool":
        r"""isFeedbackVisible(SoQtExaminerViewer self) -> SbBool"""
        return _soqt.SoQtExaminerViewer_isFeedbackVisible(self)

    def setFeedbackSize(self, size: "int const") -> "void":
        r"""setFeedbackSize(SoQtExaminerViewer self, int const size)"""
        return _soqt.SoQtExaminerViewer_setFeedbackSize(self, size)

    def getFeedbackSize(self) -> "int":
        r"""getFeedbackSize(SoQtExaminerViewer self) -> int"""
        return _soqt.SoQtExaminerViewer_getFeedbackSize(self)

    def setViewing(self, enable: "SbBool") -> "void":
        r"""setViewing(SoQtExaminerViewer self, SbBool enable)"""
        return _soqt.SoQtExaminerViewer_setViewing(self, enable)

    def setCamera(self, camera: "SoCamera") -> "void":
        r"""setCamera(SoQtExaminerViewer self, SoCamera camera)"""
        return _soqt.SoQtExaminerViewer_setCamera(self, camera)

    def setCursorEnabled(self, enable: "SbBool") -> "void":
        r"""setCursorEnabled(SoQtExaminerViewer self, SbBool enable)"""
        return _soqt.SoQtExaminerViewer_setCursorEnabled(self, enable)

# Register SoQtExaminerViewer in _soqt:
_soqt.SoQtExaminerViewer_swigregister(SoQtExaminerViewer)

def SoQtExaminerViewer_initClass() -> "void":
    r"""SoQtExaminerViewer_initClass()"""
    return _soqt.SoQtExaminerViewer_initClass()

def SoQtExaminerViewer_getClassTypeId() -> "SoType":
    r"""SoQtExaminerViewer_getClassTypeId() -> SoType"""
    return _soqt.SoQtExaminerViewer_getClassTypeId()

def SoQtExaminerViewer_createInstance() -> "void *":
    r"""SoQtExaminerViewer_createInstance() -> void *"""
    return _soqt.SoQtExaminerViewer_createInstance()

class SoQtConstrainedViewer(SoQtFullViewer):
    r"""Proxy of C++ SoQtConstrainedViewer class."""

    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 initClass() -> "void":
        r"""initClass()"""
        return _soqt.SoQtConstrainedViewer_initClass()

    @staticmethod
    def getClassTypeId() -> "SoType":
        r"""getClassTypeId() -> SoType"""
        return _soqt.SoQtConstrainedViewer_getClassTypeId()

    def getTypeId(self) -> "SoType":
        r"""getTypeId(SoQtConstrainedViewer self) -> SoType"""
        return _soqt.SoQtConstrainedViewer_getTypeId(self)

    def setUpDirection(self, dir: "SbVec3f") -> "void":
        r"""setUpDirection(SoQtConstrainedViewer self, SbVec3f dir)"""
        return _soqt.SoQtConstrainedViewer_setUpDirection(self, dir)

    def getUpDirection(self) -> "SbVec3f const &":
        r"""getUpDirection(SoQtConstrainedViewer self) -> SbVec3f"""
        return _soqt.SoQtConstrainedViewer_getUpDirection(self)

    def setCamera(self, newcam: "SoCamera") -> "void":
        r"""setCamera(SoQtConstrainedViewer self, SoCamera newcam)"""
        return _soqt.SoQtConstrainedViewer_setCamera(self, newcam)

    def saveHomePosition(self) -> "void":
        r"""saveHomePosition(SoQtConstrainedViewer self)"""
        return _soqt.SoQtConstrainedViewer_saveHomePosition(self)

    def resetToHomePosition(self) -> "void":
        r"""resetToHomePosition(SoQtConstrainedViewer self)"""
        return _soqt.SoQtConstrainedViewer_resetToHomePosition(self)

# Register SoQtConstrainedViewer in _soqt:
_soqt.SoQtConstrainedViewer_swigregister(SoQtConstrainedViewer)

def SoQtConstrainedViewer_initClass() -> "void":
    r"""SoQtConstrainedViewer_initClass()"""
    return _soqt.SoQtConstrainedViewer_initClass()

def SoQtConstrainedViewer_getClassTypeId() -> "SoType":
    r"""SoQtConstrainedViewer_getClassTypeId() -> SoType"""
    return _soqt.SoQtConstrainedViewer_getClassTypeId()

class SoQtFlyViewer(SoQtConstrainedViewer):
    r"""Proxy of C++ SoQtFlyViewer class."""

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

    @staticmethod
    def initClass() -> "void":
        r"""initClass()"""
        return _soqt.SoQtFlyViewer_initClass()

    @staticmethod
    def getClassTypeId() -> "SoType":
        r"""getClassTypeId() -> SoType"""
        return _soqt.SoQtFlyViewer_getClassTypeId()

    def getTypeId(self) -> "SoType":
        r"""getTypeId(SoQtFlyViewer self) -> SoType"""
        return _soqt.SoQtFlyViewer_getTypeId(self)

    @staticmethod
    def createInstance() -> "void *":
        r"""createInstance() -> void *"""
        return _soqt.SoQtFlyViewer_createInstance()

    def __init__(self, *args):
        r"""__init__(SoQtFlyViewer self, QWidget parent=None, char const * name=None, SbBool embed=1, SoQtFullViewer::BuildFlag flag=BUILD_ALL, SoQtViewer::Type type=BROWSER) -> SoQtFlyViewer"""
        _soqt.SoQtFlyViewer_swiginit(self, _soqt.new_SoQtFlyViewer(*args))
    __swig_destroy__ = _soqt.delete_SoQtFlyViewer

    def setViewing(self, enable: "SbBool") -> "void":
        r"""setViewing(SoQtFlyViewer self, SbBool enable)"""
        return _soqt.SoQtFlyViewer_setViewing(self, enable)

    def viewAll(self) -> "void":
        r"""viewAll(SoQtFlyViewer self)"""
        return _soqt.SoQtFlyViewer_viewAll(self)

    def resetToHomePosition(self) -> "void":
        r"""resetToHomePosition(SoQtFlyViewer self)"""
        return _soqt.SoQtFlyViewer_resetToHomePosition(self)

    def setCamera(self, camera: "SoCamera") -> "void":
        r"""setCamera(SoQtFlyViewer self, SoCamera camera)"""
        return _soqt.SoQtFlyViewer_setCamera(self, camera)

    def setCursorEnabled(self, enable: "SbBool") -> "void":
        r"""setCursorEnabled(SoQtFlyViewer self, SbBool enable)"""
        return _soqt.SoQtFlyViewer_setCursorEnabled(self, enable)

    def setCameraType(self, type: "SoType") -> "void":
        r"""setCameraType(SoQtFlyViewer self, SoType type)"""
        return _soqt.SoQtFlyViewer_setCameraType(self, type)

# Register SoQtFlyViewer in _soqt:
_soqt.SoQtFlyViewer_swigregister(SoQtFlyViewer)

def SoQtFlyViewer_initClass() -> "void":
    r"""SoQtFlyViewer_initClass()"""
    return _soqt.SoQtFlyViewer_initClass()

def SoQtFlyViewer_getClassTypeId() -> "SoType":
    r"""SoQtFlyViewer_getClassTypeId() -> SoType"""
    return _soqt.SoQtFlyViewer_getClassTypeId()

def SoQtFlyViewer_createInstance() -> "void *":
    r"""SoQtFlyViewer_createInstance() -> void *"""
    return _soqt.SoQtFlyViewer_createInstance()

class SoQtPopupMenu(object):
    r"""Proxy of C++ SoQtPopupMenu class."""

    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

    @staticmethod
    def createInstance() -> "SoQtPopupMenu *":
        r"""createInstance() -> SoQtPopupMenu"""
        return _soqt.SoQtPopupMenu_createInstance()
    __swig_destroy__ = _soqt.delete_SoQtPopupMenu

    def newMenu(self, name: "char const *", menuid: "int"=-1) -> "int":
        r"""newMenu(SoQtPopupMenu self, char const * name, int menuid=-1) -> int"""
        return _soqt.SoQtPopupMenu_newMenu(self, name, menuid)

    def getMenu(self, name: "char const *") -> "int":
        r"""getMenu(SoQtPopupMenu self, char const * name) -> int"""
        return _soqt.SoQtPopupMenu_getMenu(self, name)

    def setMenuTitle(self, id: "int", title: "char const *") -> "void":
        r"""setMenuTitle(SoQtPopupMenu self, int id, char const * title)"""
        return _soqt.SoQtPopupMenu_setMenuTitle(self, id, title)

    def getMenuTitle(self, id: "int") -> "char const *":
        r"""getMenuTitle(SoQtPopupMenu self, int id) -> char const *"""
        return _soqt.SoQtPopupMenu_getMenuTitle(self, id)

    def newMenuItem(self, name: "char const *", itemid: "int"=-1) -> "int":
        r"""newMenuItem(SoQtPopupMenu self, char const * name, int itemid=-1) -> int"""
        return _soqt.SoQtPopupMenu_newMenuItem(self, name, itemid)

    def getMenuItem(self, name: "char const *") -> "int":
        r"""getMenuItem(SoQtPopupMenu self, char const * name) -> int"""
        return _soqt.SoQtPopupMenu_getMenuItem(self, name)

    def setMenuItemTitle(self, itemid: "int", title: "char const *") -> "void":
        r"""setMenuItemTitle(SoQtPopupMenu self, int itemid, char const * title)"""
        return _soqt.SoQtPopupMenu_setMenuItemTitle(self, itemid, title)

    def getMenuItemTitle(self, itemid: "int") -> "char const *":
        r"""getMenuItemTitle(SoQtPopupMenu self, int itemid) -> char const *"""
        return _soqt.SoQtPopupMenu_getMenuItemTitle(self, itemid)

    def setMenuItemEnabled(self, itemid: "int", enabled: "SbBool") -> "void":
        r"""setMenuItemEnabled(SoQtPopupMenu self, int itemid, SbBool enabled)"""
        return _soqt.SoQtPopupMenu_setMenuItemEnabled(self, itemid, enabled)

    def getMenuItemEnabled(self, itemid: "int") -> "SbBool":
        r"""getMenuItemEnabled(SoQtPopupMenu self, int itemid) -> SbBool"""
        return _soqt.SoQtPopupMenu_getMenuItemEnabled(self, itemid)

    def setMenuItemMarked(self, itemid: "int", marked: "SbBool") -> "void":
        r"""setMenuItemMarked(SoQtPopupMenu self, int itemid, SbBool marked)"""
        return _soqt.SoQtPopupMenu_setMenuItemMarked(self, itemid, marked)

    def getMenuItemMarked(self, itemid: "int") -> "SbBool":
        r"""getMenuItemMarked(SoQtPopupMenu self, int itemid) -> SbBool"""
        return _soqt.SoQtPopupMenu_getMenuItemMarked(self, itemid)

    def addMenu(self, menuid: "int", submenuid: "int", pos: "int"=-1) -> "void":
        r"""addMenu(SoQtPopupMenu self, int menuid, int submenuid, int pos=-1)"""
        return _soqt.SoQtPopupMenu_addMenu(self, menuid, submenuid, pos)

    def addMenuItem(self, menuid: "int", itemid: "int", pos: "int"=-1) -> "void":
        r"""addMenuItem(SoQtPopupMenu self, int menuid, int itemid, int pos=-1)"""
        return _soqt.SoQtPopupMenu_addMenuItem(self, menuid, itemid, pos)

    def addSeparator(self, menuid: "int", pos: "int"=-1) -> "void":
        r"""addSeparator(SoQtPopupMenu self, int menuid, int pos=-1)"""
        return _soqt.SoQtPopupMenu_addSeparator(self, menuid, pos)

    def removeMenu(self, menuid: "int") -> "void":
        r"""removeMenu(SoQtPopupMenu self, int menuid)"""
        return _soqt.SoQtPopupMenu_removeMenu(self, menuid)

    def removeMenuItem(self, itemid: "int") -> "void":
        r"""removeMenuItem(SoQtPopupMenu self, int itemid)"""
        return _soqt.SoQtPopupMenu_removeMenuItem(self, itemid)

    def popUp(self, inside: "QWidget", x: "int", y: "int") -> "void":
        r"""popUp(SoQtPopupMenu self, QWidget inside, int x, int y)"""
        return _soqt.SoQtPopupMenu_popUp(self, inside, x, y)

    def newRadioGroup(self, groupid: "int"=-1) -> "int":
        r"""newRadioGroup(SoQtPopupMenu self, int groupid=-1) -> int"""
        return _soqt.SoQtPopupMenu_newRadioGroup(self, groupid)

    def getRadioGroup(self, itemid: "int") -> "int":
        r"""getRadioGroup(SoQtPopupMenu self, int itemid) -> int"""
        return _soqt.SoQtPopupMenu_getRadioGroup(self, itemid)

    def getRadioGroupSize(self, groupid: "int") -> "int":
        r"""getRadioGroupSize(SoQtPopupMenu self, int groupid) -> int"""
        return _soqt.SoQtPopupMenu_getRadioGroupSize(self, groupid)

    def addRadioGroupItem(self, groupid: "int", itemid: "int") -> "void":
        r"""addRadioGroupItem(SoQtPopupMenu self, int groupid, int itemid)"""
        return _soqt.SoQtPopupMenu_addRadioGroupItem(self, groupid, itemid)

    def removeRadioGroupItem(self, itemid: "int") -> "void":
        r"""removeRadioGroupItem(SoQtPopupMenu self, int itemid)"""
        return _soqt.SoQtPopupMenu_removeRadioGroupItem(self, itemid)

    def setRadioGroupMarkedItem(self, itemid: "int") -> "void":
        r"""setRadioGroupMarkedItem(SoQtPopupMenu self, int itemid)"""
        return _soqt.SoQtPopupMenu_setRadioGroupMarkedItem(self, itemid)

    def getRadioGroupMarkedItem(self, groupid: "int") -> "int":
        r"""getRadioGroupMarkedItem(SoQtPopupMenu self, int groupid) -> int"""
        return _soqt.SoQtPopupMenu_getRadioGroupMarkedItem(self, groupid)

    def addMenuSelectionCallback(self, callback: "SoQtMenuSelectionCallback *", data: "void *") -> "void":
        r"""addMenuSelectionCallback(SoQtPopupMenu self, SoQtMenuSelectionCallback * callback, void * data)"""
        return _soqt.SoQtPopupMenu_addMenuSelectionCallback(self, callback, data)

    def removeMenuSelectionCallback(self, callback: "SoQtMenuSelectionCallback *", data: "void *") -> "void":
        r"""removeMenuSelectionCallback(SoQtPopupMenu self, SoQtMenuSelectionCallback * callback, void * data)"""
        return _soqt.SoQtPopupMenu_removeMenuSelectionCallback(self, callback, data)

# Register SoQtPopupMenu in _soqt:
_soqt.SoQtPopupMenu_swigregister(SoQtPopupMenu)

def SoQtPopupMenu_createInstance() -> "SoQtPopupMenu *":
    r"""SoQtPopupMenu_createInstance() -> SoQtPopupMenu"""
    return _soqt.SoQtPopupMenu_createInstance()

class SoQtCursor(object):
    r"""Proxy of C++ SoQtCursor class."""

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

    @staticmethod
    def initClass() -> "void":
        r"""initClass()"""
        return _soqt.SoQtCursor_initClass()
    CUSTOM_BITMAP = _soqt.SoQtCursor_CUSTOM_BITMAP
    
    DEFAULT = _soqt.SoQtCursor_DEFAULT
    
    BUSY = _soqt.SoQtCursor_BUSY
    
    CROSSHAIR = _soqt.SoQtCursor_CROSSHAIR
    
    UPARROW = _soqt.SoQtCursor_UPARROW
    

    def __init__(self, *args):
        r"""
        __init__(SoQtCursor self) -> SoQtCursor
        __init__(SoQtCursor self, SoQtCursor::Shape const shape) -> SoQtCursor
        __init__(SoQtCursor self, SoQtCursor::CustomCursor const * cc) -> SoQtCursor
        __init__(SoQtCursor self, SoQtCursor cursor) -> SoQtCursor
        """
        _soqt.SoQtCursor_swiginit(self, _soqt.new_SoQtCursor(*args))
    __swig_destroy__ = _soqt.delete_SoQtCursor

    def getShape(self) -> "SoQtCursor::Shape":
        r"""getShape(SoQtCursor self) -> SoQtCursor::Shape"""
        return _soqt.SoQtCursor_getShape(self)

    def setShape(self, shape: "SoQtCursor::Shape const") -> "void":
        r"""setShape(SoQtCursor self, SoQtCursor::Shape const shape)"""
        return _soqt.SoQtCursor_setShape(self, shape)

    def getCustomCursor(self) -> "SoQtCursor::CustomCursor const &":
        r"""getCustomCursor(SoQtCursor self) -> SoQtCursor::CustomCursor const &"""
        return _soqt.SoQtCursor_getCustomCursor(self)

    @staticmethod
    def getZoomCursor() -> "SoQtCursor const &":
        r"""getZoomCursor() -> SoQtCursor"""
        return _soqt.SoQtCursor_getZoomCursor()

    @staticmethod
    def getPanCursor() -> "SoQtCursor const &":
        r"""getPanCursor() -> SoQtCursor"""
        return _soqt.SoQtCursor_getPanCursor()

    @staticmethod
    def getRotateCursor() -> "SoQtCursor const &":
        r"""getRotateCursor() -> SoQtCursor"""
        return _soqt.SoQtCursor_getRotateCursor()

    @staticmethod
    def getBlankCursor() -> "SoQtCursor const &":
        r"""getBlankCursor() -> SoQtCursor"""
        return _soqt.SoQtCursor_getBlankCursor()

# Register SoQtCursor in _soqt:
_soqt.SoQtCursor_swigregister(SoQtCursor)

def SoQtCursor_initClass() -> "void":
    r"""SoQtCursor_initClass()"""
    return _soqt.SoQtCursor_initClass()

def SoQtCursor_getZoomCursor() -> "SoQtCursor const &":
    r"""SoQtCursor_getZoomCursor() -> SoQtCursor"""
    return _soqt.SoQtCursor_getZoomCursor()

def SoQtCursor_getPanCursor() -> "SoQtCursor const &":
    r"""SoQtCursor_getPanCursor() -> SoQtCursor"""
    return _soqt.SoQtCursor_getPanCursor()

def SoQtCursor_getRotateCursor() -> "SoQtCursor const &":
    r"""SoQtCursor_getRotateCursor() -> SoQtCursor"""
    return _soqt.SoQtCursor_getRotateCursor()

def SoQtCursor_getBlankCursor() -> "SoQtCursor const &":
    r"""SoQtCursor_getBlankCursor() -> SoQtCursor"""
    return _soqt.SoQtCursor_getBlankCursor()



