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

"""
TPrsStd module, see official documentation at
https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_tprsstd.html
"""

from sys import version_info as _swig_python_version_info
if _swig_python_version_info < (2, 7, 0):
    raise RuntimeError("Python 2.7 or later required")

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _TPrsStd
else:
    import _TPrsStd

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

_swig_new_instance_method = _TPrsStd.SWIG_PyInstanceMethod_New
_swig_new_static_method = _TPrsStd.SWIG_PyStaticMethod_New

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


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


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


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


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


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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _TPrsStd.delete_SwigPyIterator
    value = _swig_new_instance_method(_TPrsStd.SwigPyIterator_value)
    incr = _swig_new_instance_method(_TPrsStd.SwigPyIterator_incr)
    decr = _swig_new_instance_method(_TPrsStd.SwigPyIterator_decr)
    distance = _swig_new_instance_method(_TPrsStd.SwigPyIterator_distance)
    equal = _swig_new_instance_method(_TPrsStd.SwigPyIterator_equal)
    copy = _swig_new_instance_method(_TPrsStd.SwigPyIterator_copy)
    next = _swig_new_instance_method(_TPrsStd.SwigPyIterator_next)
    __next__ = _swig_new_instance_method(_TPrsStd.SwigPyIterator___next__)
    previous = _swig_new_instance_method(_TPrsStd.SwigPyIterator_previous)
    advance = _swig_new_instance_method(_TPrsStd.SwigPyIterator_advance)
    __eq__ = _swig_new_instance_method(_TPrsStd.SwigPyIterator___eq__)
    __ne__ = _swig_new_instance_method(_TPrsStd.SwigPyIterator___ne__)
    __iadd__ = _swig_new_instance_method(_TPrsStd.SwigPyIterator___iadd__)
    __isub__ = _swig_new_instance_method(_TPrsStd.SwigPyIterator___isub__)
    __add__ = _swig_new_instance_method(_TPrsStd.SwigPyIterator___add__)
    __sub__ = _swig_new_instance_method(_TPrsStd.SwigPyIterator___sub__)
    def __iter__(self):
        return self

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


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


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

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.TDataXtd
import OCC.Core.TDF
import OCC.Core.TCollection
import OCC.Core.TColStd
import OCC.Core.gp
import OCC.Core.TNaming
import OCC.Core.TopTools
import OCC.Core.TopoDS
import OCC.Core.Message
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.TDataStd
import OCC.Core.Quantity
import OCC.Core.Poly
import OCC.Core.TColgp
import OCC.Core.TShort
import OCC.Core.AIS
import OCC.Core.SelectMgr
import OCC.Core.PrsMgr
import OCC.Core.Prs3d
import OCC.Core.Graphic3d
import OCC.Core.BVH
import OCC.Core.Aspect
import OCC.Core.Geom
import OCC.Core.GeomAbs
import OCC.Core.Bnd
import OCC.Core.Image
import OCC.Core.OSD
import OCC.Core.HLRAlgo
import OCC.Core.V3d
import OCC.Core.SelectBasics
import OCC.Core.Select3D
import OCC.Core.StdSelect
import OCC.Core.DsgPrs
Handle_TPrsStd_Driver_Create = _TPrsStd.Handle_TPrsStd_Driver_Create
Handle_TPrsStd_Driver_DownCast = _TPrsStd.Handle_TPrsStd_Driver_DownCast
Handle_TPrsStd_Driver_IsNull = _TPrsStd.Handle_TPrsStd_Driver_IsNull
Handle_TPrsStd_DriverTable_Create = _TPrsStd.Handle_TPrsStd_DriverTable_Create
Handle_TPrsStd_DriverTable_DownCast = _TPrsStd.Handle_TPrsStd_DriverTable_DownCast
Handle_TPrsStd_DriverTable_IsNull = _TPrsStd.Handle_TPrsStd_DriverTable_IsNull
Handle_TPrsStd_AxisDriver_Create = _TPrsStd.Handle_TPrsStd_AxisDriver_Create
Handle_TPrsStd_AxisDriver_DownCast = _TPrsStd.Handle_TPrsStd_AxisDriver_DownCast
Handle_TPrsStd_AxisDriver_IsNull = _TPrsStd.Handle_TPrsStd_AxisDriver_IsNull
Handle_TPrsStd_ConstraintDriver_Create = _TPrsStd.Handle_TPrsStd_ConstraintDriver_Create
Handle_TPrsStd_ConstraintDriver_DownCast = _TPrsStd.Handle_TPrsStd_ConstraintDriver_DownCast
Handle_TPrsStd_ConstraintDriver_IsNull = _TPrsStd.Handle_TPrsStd_ConstraintDriver_IsNull
Handle_TPrsStd_GeometryDriver_Create = _TPrsStd.Handle_TPrsStd_GeometryDriver_Create
Handle_TPrsStd_GeometryDriver_DownCast = _TPrsStd.Handle_TPrsStd_GeometryDriver_DownCast
Handle_TPrsStd_GeometryDriver_IsNull = _TPrsStd.Handle_TPrsStd_GeometryDriver_IsNull
Handle_TPrsStd_NamedShapeDriver_Create = _TPrsStd.Handle_TPrsStd_NamedShapeDriver_Create
Handle_TPrsStd_NamedShapeDriver_DownCast = _TPrsStd.Handle_TPrsStd_NamedShapeDriver_DownCast
Handle_TPrsStd_NamedShapeDriver_IsNull = _TPrsStd.Handle_TPrsStd_NamedShapeDriver_IsNull
Handle_TPrsStd_PlaneDriver_Create = _TPrsStd.Handle_TPrsStd_PlaneDriver_Create
Handle_TPrsStd_PlaneDriver_DownCast = _TPrsStd.Handle_TPrsStd_PlaneDriver_DownCast
Handle_TPrsStd_PlaneDriver_IsNull = _TPrsStd.Handle_TPrsStd_PlaneDriver_IsNull
Handle_TPrsStd_PointDriver_Create = _TPrsStd.Handle_TPrsStd_PointDriver_Create
Handle_TPrsStd_PointDriver_DownCast = _TPrsStd.Handle_TPrsStd_PointDriver_DownCast
Handle_TPrsStd_PointDriver_IsNull = _TPrsStd.Handle_TPrsStd_PointDriver_IsNull
class TPrsStd_DataMapOfGUIDDriver(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver_begin)
    end = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver_end)
    cbegin = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver_cbegin)
    cend = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver_cend)

    def __init__(self, *args):
        _TPrsStd.TPrsStd_DataMapOfGUIDDriver_swiginit(self, _TPrsStd.new_TPrsStd_DataMapOfGUIDDriver(*args))
    Exchange = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver_Exchange)
    Assign = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver_Assign)
    Set = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver_Set)
    ReSize = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver_ReSize)
    Bind = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver_Bind)
    Bound = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver_Bound)
    IsBound = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver_IsBound)
    UnBind = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver_UnBind)
    Seek = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver_Seek)
    Find = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver_Find)
    ChangeSeek = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver_ChangeSeek)
    ChangeFind = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver_ChangeFind)
    __call__ = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver___call__)
    Clear = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver_Clear)
    __swig_destroy__ = _TPrsStd.delete_TPrsStd_DataMapOfGUIDDriver
    Size = _swig_new_instance_method(_TPrsStd.TPrsStd_DataMapOfGUIDDriver_Size)

# Register TPrsStd_DataMapOfGUIDDriver in _TPrsStd:
_TPrsStd.TPrsStd_DataMapOfGUIDDriver_swigregister(TPrsStd_DataMapOfGUIDDriver)

class TPrsStd_ConstraintTools(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    ComputeAngle = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeAngle)
    ComputeAngleForOneFace = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeAngleForOneFace)
    ComputeCoincident = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeCoincident)
    ComputeConcentric = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeConcentric)
    ComputeDiameter = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeDiameter)
    ComputeDistance = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeDistance)
    ComputeEqualDistance = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeEqualDistance)
    ComputeEqualRadius = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeEqualRadius)
    ComputeFix = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeFix)
    ComputeMaxRadius = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeMaxRadius)
    ComputeMidPoint = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeMidPoint)
    ComputeMinRadius = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeMinRadius)
    ComputeOffset = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeOffset)
    ComputeOthers = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeOthers)
    ComputeParallel = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeParallel)
    ComputePerpendicular = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputePerpendicular)
    ComputePlacement = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputePlacement)
    ComputeRadius = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeRadius)
    ComputeRound = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeRound)
    ComputeSymmetry = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeSymmetry)
    ComputeTangent = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeTangent)
    ComputeTextAndValue = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_ComputeTextAndValue)
    UpdateOnlyValue = _swig_new_static_method(_TPrsStd.TPrsStd_ConstraintTools_UpdateOnlyValue)

    __repr__ = _dumps_object


    def __init__(self):
        _TPrsStd.TPrsStd_ConstraintTools_swiginit(self, _TPrsStd.new_TPrsStd_ConstraintTools())
    __swig_destroy__ = _TPrsStd.delete_TPrsStd_ConstraintTools

# Register TPrsStd_ConstraintTools in _TPrsStd:
_TPrsStd.TPrsStd_ConstraintTools_swigregister(TPrsStd_ConstraintTools)
TPrsStd_ConstraintTools_ComputeAngle = _TPrsStd.TPrsStd_ConstraintTools_ComputeAngle
TPrsStd_ConstraintTools_ComputeAngleForOneFace = _TPrsStd.TPrsStd_ConstraintTools_ComputeAngleForOneFace
TPrsStd_ConstraintTools_ComputeCoincident = _TPrsStd.TPrsStd_ConstraintTools_ComputeCoincident
TPrsStd_ConstraintTools_ComputeConcentric = _TPrsStd.TPrsStd_ConstraintTools_ComputeConcentric
TPrsStd_ConstraintTools_ComputeDiameter = _TPrsStd.TPrsStd_ConstraintTools_ComputeDiameter
TPrsStd_ConstraintTools_ComputeDistance = _TPrsStd.TPrsStd_ConstraintTools_ComputeDistance
TPrsStd_ConstraintTools_ComputeEqualDistance = _TPrsStd.TPrsStd_ConstraintTools_ComputeEqualDistance
TPrsStd_ConstraintTools_ComputeEqualRadius = _TPrsStd.TPrsStd_ConstraintTools_ComputeEqualRadius
TPrsStd_ConstraintTools_ComputeFix = _TPrsStd.TPrsStd_ConstraintTools_ComputeFix
TPrsStd_ConstraintTools_ComputeMaxRadius = _TPrsStd.TPrsStd_ConstraintTools_ComputeMaxRadius
TPrsStd_ConstraintTools_ComputeMidPoint = _TPrsStd.TPrsStd_ConstraintTools_ComputeMidPoint
TPrsStd_ConstraintTools_ComputeMinRadius = _TPrsStd.TPrsStd_ConstraintTools_ComputeMinRadius
TPrsStd_ConstraintTools_ComputeOffset = _TPrsStd.TPrsStd_ConstraintTools_ComputeOffset
TPrsStd_ConstraintTools_ComputeOthers = _TPrsStd.TPrsStd_ConstraintTools_ComputeOthers
TPrsStd_ConstraintTools_ComputeParallel = _TPrsStd.TPrsStd_ConstraintTools_ComputeParallel
TPrsStd_ConstraintTools_ComputePerpendicular = _TPrsStd.TPrsStd_ConstraintTools_ComputePerpendicular
TPrsStd_ConstraintTools_ComputePlacement = _TPrsStd.TPrsStd_ConstraintTools_ComputePlacement
TPrsStd_ConstraintTools_ComputeRadius = _TPrsStd.TPrsStd_ConstraintTools_ComputeRadius
TPrsStd_ConstraintTools_ComputeRound = _TPrsStd.TPrsStd_ConstraintTools_ComputeRound
TPrsStd_ConstraintTools_ComputeSymmetry = _TPrsStd.TPrsStd_ConstraintTools_ComputeSymmetry
TPrsStd_ConstraintTools_ComputeTangent = _TPrsStd.TPrsStd_ConstraintTools_ComputeTangent
TPrsStd_ConstraintTools_ComputeTextAndValue = _TPrsStd.TPrsStd_ConstraintTools_ComputeTextAndValue
TPrsStd_ConstraintTools_UpdateOnlyValue = _TPrsStd.TPrsStd_ConstraintTools_UpdateOnlyValue

class TPrsStd_Driver(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr
    Update = _swig_new_instance_method(_TPrsStd.TPrsStd_Driver_Update)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TPrsStd.delete_TPrsStd_Driver

# Register TPrsStd_Driver in _TPrsStd:
_TPrsStd.TPrsStd_Driver_swigregister(TPrsStd_Driver)

class TPrsStd_DriverTable(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    AddDriver = _swig_new_instance_method(_TPrsStd.TPrsStd_DriverTable_AddDriver)
    Clear = _swig_new_instance_method(_TPrsStd.TPrsStd_DriverTable_Clear)
    FindDriver = _swig_new_instance_method(_TPrsStd.TPrsStd_DriverTable_FindDriver)
    Get = _swig_new_static_method(_TPrsStd.TPrsStd_DriverTable_Get)
    InitStandardDrivers = _swig_new_instance_method(_TPrsStd.TPrsStd_DriverTable_InitStandardDrivers)
    RemoveDriver = _swig_new_instance_method(_TPrsStd.TPrsStd_DriverTable_RemoveDriver)

    def __init__(self, *args):
        r"""
        * Default constructor
        	:rtype: None
        """
        _TPrsStd.TPrsStd_DriverTable_swiginit(self, _TPrsStd.new_TPrsStd_DriverTable(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TPrsStd.delete_TPrsStd_DriverTable

# Register TPrsStd_DriverTable in _TPrsStd:
_TPrsStd.TPrsStd_DriverTable_swigregister(TPrsStd_DriverTable)
TPrsStd_DriverTable_Get = _TPrsStd.TPrsStd_DriverTable_Get

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

    def __init__(self, *args):
        r"""
        * Constructs an empty axis driver.
        	:rtype: None
        """
        _TPrsStd.TPrsStd_AxisDriver_swiginit(self, _TPrsStd.new_TPrsStd_AxisDriver(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TPrsStd.delete_TPrsStd_AxisDriver

# Register TPrsStd_AxisDriver in _TPrsStd:
_TPrsStd.TPrsStd_AxisDriver_swigregister(TPrsStd_AxisDriver)

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

    def __init__(self, *args):
        r"""
        * Constructs an empty constraint driver.
        	:rtype: None
        """
        _TPrsStd.TPrsStd_ConstraintDriver_swiginit(self, _TPrsStd.new_TPrsStd_ConstraintDriver(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TPrsStd.delete_TPrsStd_ConstraintDriver

# Register TPrsStd_ConstraintDriver in _TPrsStd:
_TPrsStd.TPrsStd_ConstraintDriver_swigregister(TPrsStd_ConstraintDriver)

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

    def __init__(self, *args):
        r"""
        * Constructs an empty geometry driver.
        	:rtype: None
        """
        _TPrsStd.TPrsStd_GeometryDriver_swiginit(self, _TPrsStd.new_TPrsStd_GeometryDriver(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TPrsStd.delete_TPrsStd_GeometryDriver

# Register TPrsStd_GeometryDriver in _TPrsStd:
_TPrsStd.TPrsStd_GeometryDriver_swigregister(TPrsStd_GeometryDriver)

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

    def __init__(self, *args):
        r"""
        * Constructs an empty named shape driver.
        	:rtype: None
        """
        _TPrsStd.TPrsStd_NamedShapeDriver_swiginit(self, _TPrsStd.new_TPrsStd_NamedShapeDriver(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TPrsStd.delete_TPrsStd_NamedShapeDriver

# Register TPrsStd_NamedShapeDriver in _TPrsStd:
_TPrsStd.TPrsStd_NamedShapeDriver_swigregister(TPrsStd_NamedShapeDriver)

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

    def __init__(self, *args):
        r"""
        * Constructs an empty plane driver.
        	:rtype: None
        """
        _TPrsStd.TPrsStd_PlaneDriver_swiginit(self, _TPrsStd.new_TPrsStd_PlaneDriver(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TPrsStd.delete_TPrsStd_PlaneDriver

# Register TPrsStd_PlaneDriver in _TPrsStd:
_TPrsStd.TPrsStd_PlaneDriver_swigregister(TPrsStd_PlaneDriver)

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

    def __init__(self, *args):
        r"""
        * Constructs an empty point driver.
        	:rtype: None
        """
        _TPrsStd.TPrsStd_PointDriver_swiginit(self, _TPrsStd.new_TPrsStd_PointDriver(*args))


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


    __repr__ = _dumps_object

    __swig_destroy__ = _TPrsStd.delete_TPrsStd_PointDriver

# Register TPrsStd_PointDriver in _TPrsStd:
_TPrsStd.TPrsStd_PointDriver_swigregister(TPrsStd_PointDriver)



