# CONFIDENTIAL. (C) 2017 OpenEye Scientific Software Inc.
# All rights reserved.
# 
# ALL SOFTWARE BELOW IS PROPRIETARY AND CONFIDENTIAL TO OPENEYE
# SCIENTIFIC SOFTWARE INC., AND IS SUBJECT TO THE FULL PROTECTION OF
# COPYRIGHT AND TRADESECRET LAW.
# Copying or modifying this software is strictly prohibited and illegal.
# Using this software without a valid license from OpenEye is strictly
# prohibited and illegal.  De-obfuscating, de-minimizing, or any other
# attempt to reverse engineer or discover the workings of this software,
# is strictly prohibited. Even if software is exposed or visible, it is
# still proprietary and confidential and the above prohibitions apply.
# This software is NOT "Sample Code". For purposes of customization or
# interoperation with other software you must use Sample Code
# specifically labeled as such.
# Please contact OpenEye at eyesopen.com/legal if you have any questions
# about this warning.


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

from sys import version_info as _swig_python_version_info

def swig_import_helper():
    from os.path import dirname
    import importlib.util

    spec = importlib.machinery.PathFinder().find_spec("_oechem", [dirname(__file__)])

    if spec is None:
        # OpenEye Import Statements
        spec = importlib.machinery.PathFinder().find_spec("libs",[dirname(__file__)])
    libs = importlib.util.module_from_spec(spec)

    import sys
    sys.modules[spec.name] = libs
    spec.loader.exec_module(libs)

    assert not sys.platform.startswith('win')

    _oedepict = libs.OEGetModule('_oedepict2445')
    return _oedepict

_oedepict = swig_import_helper()
del swig_import_helper
del _swig_python_version_info

try:
    _swig_property = property
except NameError:
    pass  # Python < 2.2 doesn't have 'property'.

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
    if (name == "thisown"):
        return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name, None)
    if method:
        return method(self, value)
    if (not static):
        object.__setattr__(self, name, value)
    else:
        raise AttributeError("You cannot add attributes to %s" % self)


def _swig_setattr(self, class_type, name, value):
    return _swig_setattr_nondynamic(self, class_type, name, value, 0)


def _swig_getattr(self, class_type, name):
    if (name == "thisown"):
        return self.this.own()
    method = class_type.__swig_getmethods__.get(name, None)
    if method:
        return method(self)
    raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name))


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_method(set):
    def set_attr(self, name, value):
        if (name == "thisown"):
            return self.this.own(value)
        if hasattr(self, name) or (name == "this"):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add attributes to %s" % self)
    return set_attr


try:
    import weakref
    weakref_proxy = weakref.proxy
except __builtin__.Exception:
    weakref_proxy = lambda x: x


OEFontFamily_Arial = _oedepict.OEFontFamily_Arial
OEFontFamily_Courier = _oedepict.OEFontFamily_Courier
OEFontFamily_Helvetica = _oedepict.OEFontFamily_Helvetica
OEFontFamily_Times = _oedepict.OEFontFamily_Times

OEFontFamily_Default = OEFontFamily_Arial

OEFontStyle_Normal = _oedepict.OEFontStyle_Normal
OEFontStyle_Italic = _oedepict.OEFontStyle_Italic
OEFontStyle_Bold = _oedepict.OEFontStyle_Bold

OEFontStyle_Default = OEFontStyle_Normal

OEAlignment_Center = _oedepict.OEAlignment_Center
OEAlignment_Left = _oedepict.OEAlignment_Left
OEAlignment_Right = _oedepict.OEAlignment_Right

OEAlignment_Default = OEAlignment_Center

OEHighlightStyle_Color = _oedepict.OEHighlightStyle_Color
OEHighlightStyle_Stick = _oedepict.OEHighlightStyle_Stick
OEHighlightStyle_BallAndStick = _oedepict.OEHighlightStyle_BallAndStick
OEHighlightStyle_Cogwheel = _oedepict.OEHighlightStyle_Cogwheel
OEHighlightStyle_Lasso = _oedepict.OEHighlightStyle_Lasso

OEHighlightStyle_Default = OEHighlightStyle_Color

OEHighlightOverlayStyle_BallAndStick = _oedepict.OEHighlightOverlayStyle_BallAndStick

OEHighlightOverlayStyle_Default = OEHighlightOverlayStyle_BallAndStick

OEHighlightSetup_Style = _oedepict.OEHighlightSetup_Style
OEHighlightSetup_Color = _oedepict.OEHighlightSetup_Color
OEHighlightSetup_All = _oedepict.OEHighlightSetup_All
OEHighlightParamName_Style = _oedepict.OEHighlightParamName_Style
OEHighlightParamName_Color = _oedepict.OEHighlightParamName_Color
OELayerPosition_Below = _oedepict.OELayerPosition_Below
OELayerPosition_Above = _oedepict.OELayerPosition_Above
OELayerPosition_SVG = _oedepict.OELayerPosition_SVG
OEMargin_Top = _oedepict.OEMargin_Top
OEMargin_Bottom = _oedepict.OEMargin_Bottom
OEMargin_Left = _oedepict.OEMargin_Left
OEMargin_Right = _oedepict.OEMargin_Right
OEImageGridSetup_NumRows = _oedepict.OEImageGridSetup_NumRows
OEImageGridSetup_NumColumns = _oedepict.OEImageGridSetup_NumColumns
OEImageGridSetup_All = _oedepict.OEImageGridSetup_All
OEImageGridParamName_NumRows = _oedepict.OEImageGridParamName_NumRows
OEImageGridParamName_NumColumns = _oedepict.OEImageGridParamName_NumColumns
OEImageTableStyle_NoStyle = _oedepict.OEImageTableStyle_NoStyle
OEImageTableStyle_LightGrey = _oedepict.OEImageTableStyle_LightGrey
OEImageTableStyle_LightBlue = _oedepict.OEImageTableStyle_LightBlue
OEImageTableStyle_LightGreen = _oedepict.OEImageTableStyle_LightGreen
OEImageTableStyle_MediumGrey = _oedepict.OEImageTableStyle_MediumGrey
OEImageTableStyle_MediumBlue = _oedepict.OEImageTableStyle_MediumBlue
OEImageTableStyle_MediumGreen = _oedepict.OEImageTableStyle_MediumGreen
OEImageTableStyle_SantaFe = _oedepict.OEImageTableStyle_SantaFe

OEImageTableStyle_Default = OEImageTableStyle_NoStyle

OELegendLayoutStyle_VerticalTopLeft = _oedepict.OELegendLayoutStyle_VerticalTopLeft
OELegendLayoutStyle_VerticalTopRight = _oedepict.OELegendLayoutStyle_VerticalTopRight
OELegendLayoutStyle_HorizontalTopLeft = _oedepict.OELegendLayoutStyle_HorizontalTopLeft
OELegendLayoutStyle_HorizontalTopRight = _oedepict.OELegendLayoutStyle_HorizontalTopRight
OELegendLayoutStyle_VerticalBottomLeft = _oedepict.OELegendLayoutStyle_VerticalBottomLeft
OELegendLayoutStyle_VerticalBottomRight = _oedepict.OELegendLayoutStyle_VerticalBottomRight
OELegendLayoutStyle_HorizontalBottomLeft = _oedepict.OELegendLayoutStyle_HorizontalBottomLeft
OELegendLayoutStyle_HorizontalBottomRight = _oedepict.OELegendLayoutStyle_HorizontalBottomRight

OELegendLayoutStyle_Default = OELegendLayoutStyle_VerticalTopLeft

OELegendColorStyle_NoStyle = _oedepict.OELegendColorStyle_NoStyle
OELegendColorStyle_LightGrey = _oedepict.OELegendColorStyle_LightGrey
OELegendColorStyle_LightBlue = _oedepict.OELegendColorStyle_LightBlue
OELegendColorStyle_LightGreen = _oedepict.OELegendColorStyle_LightGreen

OELegendColorStyle_Default = OELegendColorStyle_NoStyle

OELegendInteractiveStyle_Permanent = _oedepict.OELegendInteractiveStyle_Permanent
OELegendInteractiveStyle_Hover = _oedepict.OELegendInteractiveStyle_Hover
OELegendInteractiveStyle_Toggle = _oedepict.OELegendInteractiveStyle_Toggle

OELegendInteractiveStyle_Default = OELegendInteractiveStyle_Hover

OEIconLocation_Undefined = _oedepict.OEIconLocation_Undefined
OEIconLocation_TopLeft = _oedepict.OEIconLocation_TopLeft
OEIconLocation_TopRight = _oedepict.OEIconLocation_TopRight
OEIconLocation_BottomLeft = _oedepict.OEIconLocation_BottomLeft
OEIconLocation_BottomRight = _oedepict.OEIconLocation_BottomRight

OEIconLocation_Default = OEIconLocation_BottomRight

OE2DMolDisplaySetup_Scale = _oedepict.OE2DMolDisplaySetup_Scale
OE2DMolDisplaySetup_AtomColorStyle = _oedepict.OE2DMolDisplaySetup_AtomColorStyle
OE2DMolDisplaySetup_BondColorStyle = _oedepict.OE2DMolDisplaySetup_BondColorStyle
OE2DMolDisplaySetup_AromaticStyle = _oedepict.OE2DMolDisplaySetup_AromaticStyle
OE2DMolDisplaySetup_HydrogenStyle = _oedepict.OE2DMolDisplaySetup_HydrogenStyle
OE2DMolDisplaySetup_AtomStereoStyle = _oedepict.OE2DMolDisplaySetup_AtomStereoStyle
OE2DMolDisplaySetup_BondStereoStyle = _oedepict.OE2DMolDisplaySetup_BondStereoStyle
OE2DMolDisplaySetup_SuperAtomStyle = _oedepict.OE2DMolDisplaySetup_SuperAtomStyle
OE2DMolDisplaySetup_ProtectiveGroupStyle = _oedepict.OE2DMolDisplaySetup_ProtectiveGroupStyle
OE2DMolDisplaySetup_AtomPropDisplay = _oedepict.OE2DMolDisplaySetup_AtomPropDisplay
OE2DMolDisplaySetup_BondPropDisplay = _oedepict.OE2DMolDisplaySetup_BondPropDisplay
OE2DMolDisplaySetup_DefaultLineWidth = _oedepict.OE2DMolDisplaySetup_DefaultLineWidth
OE2DMolDisplaySetup_AtomLabelFontScale = _oedepict.OE2DMolDisplaySetup_AtomLabelFontScale
OE2DMolDisplaySetup_TitleLocation = _oedepict.OE2DMolDisplaySetup_TitleLocation
OE2DMolDisplaySetup_All = _oedepict.OE2DMolDisplaySetup_All
OEImageSetup_Width = _oedepict.OEImageSetup_Width
OEImageSetup_Height = _oedepict.OEImageSetup_Height
OEImageSetup_All = _oedepict.OEImageSetup_All
OEImageParamName_Width = _oedepict.OEImageParamName_Width
OEImageParamName_Height = _oedepict.OEImageParamName_Height
OEHydrogenPos_Undefined = _oedepict.OEHydrogenPos_Undefined
OEHydrogenPos_East = _oedepict.OEHydrogenPos_East
OEHydrogenPos_West = _oedepict.OEHydrogenPos_West
OEHydrogenPos_North = _oedepict.OEHydrogenPos_North
OEHydrogenPos_South = _oedepict.OEHydrogenPos_South
OERadicalDisplayType_Off = _oedepict.OERadicalDisplayType_Off
OERadicalDisplayType_Monoradical = _oedepict.OERadicalDisplayType_Monoradical
OERadicalDisplayType_Diradical = _oedepict.OERadicalDisplayType_Diradical
OEBondDisplayPosition_Undefined = _oedepict.OEBondDisplayPosition_Undefined
OEBondDisplayPosition_Center = _oedepict.OEBondDisplayPosition_Center
OEBondDisplayPosition_Left = _oedepict.OEBondDisplayPosition_Left
OEBondDisplayPosition_Right = _oedepict.OEBondDisplayPosition_Right
OEBondDisplayType_Undefined = _oedepict.OEBondDisplayType_Undefined
OEBondDisplayType_Single = _oedepict.OEBondDisplayType_Single
OEBondDisplayType_Double = _oedepict.OEBondDisplayType_Double
OEBondDisplayType_Triple = _oedepict.OEBondDisplayType_Triple
OEBondDisplayType_Quadruple = _oedepict.OEBondDisplayType_Quadruple
OEBondDisplayType_Wedge = _oedepict.OEBondDisplayType_Wedge
OEBondDisplayType_Hash = _oedepict.OEBondDisplayType_Hash
OEBondDisplayType_Wavy = _oedepict.OEBondDisplayType_Wavy
OEBondDisplayType_AromaticDash = _oedepict.OEBondDisplayType_AromaticDash
OEBondDisplayType_DoubleBowTie = _oedepict.OEBondDisplayType_DoubleBowTie
OEBondDisplayType_SingleDouble = _oedepict.OEBondDisplayType_SingleDouble
OEBondDisplayType_SingleArom = _oedepict.OEBondDisplayType_SingleArom
OEBondDisplayType_DoubleArom = _oedepict.OEBondDisplayType_DoubleArom
OEBondDisplayType_Aromatic = _oedepict.OEBondDisplayType_Aromatic
OEBondDisplayType_Any = _oedepict.OEBondDisplayType_Any
OEBondDisplayType_Hidden = _oedepict.OEBondDisplayType_Hidden
OETitleLocation_Hidden = _oedepict.OETitleLocation_Hidden
OETitleLocation_Top = _oedepict.OETitleLocation_Top
OETitleLocation_Bottom = _oedepict.OETitleLocation_Bottom

OETitleLocation_Default = OETitleLocation_Top

OEAtomColorStyle_WhiteCPK = _oedepict.OEAtomColorStyle_WhiteCPK
OEAtomColorStyle_BlackCPK = _oedepict.OEAtomColorStyle_BlackCPK
OEAtomColorStyle_WhiteMonochrome = _oedepict.OEAtomColorStyle_WhiteMonochrome
OEAtomColorStyle_BlackMonochrome = _oedepict.OEAtomColorStyle_BlackMonochrome

OEAtomColorStyle_Default = OEAtomColorStyle_WhiteCPK

OEBondColorStyle_ByElement = _oedepict.OEBondColorStyle_ByElement
OEBondColorStyle_Monochrome = _oedepict.OEBondColorStyle_Monochrome

OEBondColorStyle_Default = OEBondColorStyle_ByElement

OEAromaticStyle_Kekule = _oedepict.OEAromaticStyle_Kekule
OEAromaticStyle_Circle = _oedepict.OEAromaticStyle_Circle
OEAromaticStyle_Dash = _oedepict.OEAromaticStyle_Dash

OEAromaticStyle_Default = OEAromaticStyle_Kekule

OEHydrogenStyle_Hidden = _oedepict.OEHydrogenStyle_Hidden
OEHydrogenStyle_ImplicitHetero = _oedepict.OEHydrogenStyle_ImplicitHetero
OEHydrogenStyle_ImplicitTerminal = _oedepict.OEHydrogenStyle_ImplicitTerminal
OEHydrogenStyle_ImplicitAll = _oedepict.OEHydrogenStyle_ImplicitAll
OEHydrogenStyle_ExplicitHetero = _oedepict.OEHydrogenStyle_ExplicitHetero
OEHydrogenStyle_ExplicitTerminal = _oedepict.OEHydrogenStyle_ExplicitTerminal
OEHydrogenStyle_ExplicitAll = _oedepict.OEHydrogenStyle_ExplicitAll

OEHydrogenStyle_Default = OEHydrogenStyle_ImplicitHetero|OEHydrogenStyle_ExplicitAll

OEAtomStereoStyle_Display_AtomStereo = _oedepict.OEAtomStereoStyle_Display_AtomStereo
OEAtomStereoStyle_Display_CIPAtomStereo = _oedepict.OEAtomStereoStyle_Display_CIPAtomStereo
OEAtomStereoStyle_Display_MDLStereoCenter = _oedepict.OEAtomStereoStyle_Display_MDLStereoCenter
OEAtomStereoStyle_Display_All = _oedepict.OEAtomStereoStyle_Display_All

OEAtomStereoStyle_Display_Default = OEAtomStereoStyle_Display_AtomStereo|OEAtomStereoStyle_Display_MDLStereoCenter

OEAtomStereoStyle_HashWedgeStyle_Standard = _oedepict.OEAtomStereoStyle_HashWedgeStyle_Standard
OEAtomStereoStyle_HashWedgeStyle_Fancy = _oedepict.OEAtomStereoStyle_HashWedgeStyle_Fancy

OEAtomStereoStyle_HashWedgeStyle_Default = OEAtomStereoStyle_HashWedgeStyle_Fancy

OEAtomStereoStyle_Hidden = _oedepict.OEAtomStereoStyle_Hidden
OEAtomStereoStyle_DisplayMask = _oedepict.OEAtomStereoStyle_DisplayMask
OEAtomStereoStyle_HashWedgeStyleMask = _oedepict.OEAtomStereoStyle_HashWedgeStyleMask
OEAtomStereoStyle_Default = _oedepict.OEAtomStereoStyle_Default
OEBondStereoStyle_Display_BondStereo = _oedepict.OEBondStereoStyle_Display_BondStereo
OEBondStereoStyle_Display_CIPBondStereo = _oedepict.OEBondStereoStyle_Display_CIPBondStereo
OEBondStereoStyle_Display_All = _oedepict.OEBondStereoStyle_Display_All

OEBondStereoStyle_Display_Default = OEBondStereoStyle_Display_BondStereo

OEBondStereoStyle_Hidden = _oedepict.OEBondStereoStyle_Hidden
OEBondStereoStyle_DisplayMask = _oedepict.OEBondStereoStyle_DisplayMask
OEBondStereoStyle_Default = _oedepict.OEBondStereoStyle_Default
OESuperAtomStyle_Off = _oedepict.OESuperAtomStyle_Off
OESuperAtomStyle_COOH = _oedepict.OESuperAtomStyle_COOH
OESuperAtomStyle_COO_ = _oedepict.OESuperAtomStyle_COO_
OESuperAtomStyle_CHO = _oedepict.OESuperAtomStyle_CHO
OESuperAtomStyle_NC = _oedepict.OESuperAtomStyle_NC
OESuperAtomStyle_CN = _oedepict.OESuperAtomStyle_CN
OESuperAtomStyle_N2 = _oedepict.OESuperAtomStyle_N2
OESuperAtomStyle_N3 = _oedepict.OESuperAtomStyle_N3
OESuperAtomStyle_NCO = _oedepict.OESuperAtomStyle_NCO
OESuperAtomStyle_NO2 = _oedepict.OESuperAtomStyle_NO2
OESuperAtomStyle_CNO = _oedepict.OESuperAtomStyle_CNO
OESuperAtomStyle_ONO = _oedepict.OESuperAtomStyle_ONO
OESuperAtomStyle_SO3H = _oedepict.OESuperAtomStyle_SO3H
OESuperAtomStyle_SO3_ = _oedepict.OESuperAtomStyle_SO3_
OESuperAtomStyle_PO3H2 = _oedepict.OESuperAtomStyle_PO3H2
OESuperAtomStyle_CF3 = _oedepict.OESuperAtomStyle_CF3
OESuperAtomStyle_CCl3 = _oedepict.OESuperAtomStyle_CCl3
OESuperAtomStyle_Me = _oedepict.OESuperAtomStyle_Me
OESuperAtomStyle_Et = _oedepict.OESuperAtomStyle_Et
OESuperAtomStyle_Pr = _oedepict.OESuperAtomStyle_Pr
OESuperAtomStyle_Bu = _oedepict.OESuperAtomStyle_Bu
OESuperAtomStyle_iBu = _oedepict.OESuperAtomStyle_iBu
OESuperAtomStyle_sBu = _oedepict.OESuperAtomStyle_sBu
OESuperAtomStyle_tBu = _oedepict.OESuperAtomStyle_tBu
OESuperAtomStyle_OMe = _oedepict.OESuperAtomStyle_OMe
OESuperAtomStyle_OEt = _oedepict.OESuperAtomStyle_OEt
OESuperAtomStyle_OPr = _oedepict.OESuperAtomStyle_OPr
OESuperAtomStyle_OBu = _oedepict.OESuperAtomStyle_OBu

OESuperAtomStyle_Oxygen = OESuperAtomStyle_COOH|OESuperAtomStyle_COO_|OESuperAtomStyle_CHO


OESuperAtomStyle_Nitrogen = OESuperAtomStyle_NC|OESuperAtomStyle_CN|OESuperAtomStyle_N2|OESuperAtomStyle_N3


OESuperAtomStyle_OxygenAndNitrogen = OESuperAtomStyle_NCO|OESuperAtomStyle_NO2|OESuperAtomStyle_CNO|OESuperAtomStyle_ONO


OESuperAtomStyle_Sulfur = OESuperAtomStyle_SO3H|OESuperAtomStyle_SO3_


OESuperAtomStyle_Phosphorus = OESuperAtomStyle_PO3H2


OESuperAtomStyle_Halide = OESuperAtomStyle_CF3|OESuperAtomStyle_CCl3


OESuperAtomStyle_Carbon = OESuperAtomStyle_Me|OESuperAtomStyle_Et|OESuperAtomStyle_Pr|OESuperAtomStyle_Bu|OESuperAtomStyle_iBu|OESuperAtomStyle_sBu|OESuperAtomStyle_tBu


OESuperAtomStyle_Ether = OESuperAtomStyle_OMe|OESuperAtomStyle_OEt|OESuperAtomStyle_OPr|OESuperAtomStyle_OBu

OESuperAtomStyle_All = _oedepict.OESuperAtomStyle_All

OESuperAtomStyle_Default = OESuperAtomStyle_Off

OEProtectiveGroupStyle_Off = _oedepict.OEProtectiveGroupStyle_Off
OEProtectiveGroupStyle_Ac = _oedepict.OEProtectiveGroupStyle_Ac
OEProtectiveGroupStyle_Boc = _oedepict.OEProtectiveGroupStyle_Boc
OEProtectiveGroupStyle_Fmoc = _oedepict.OEProtectiveGroupStyle_Fmoc
OEProtectiveGroupStyle_Cbz = _oedepict.OEProtectiveGroupStyle_Cbz
OEProtectiveGroupStyle_TIPS = _oedepict.OEProtectiveGroupStyle_TIPS
OEProtectiveGroupStyle_Bn = _oedepict.OEProtectiveGroupStyle_Bn
OEProtectiveGroupStyle_TBDMS = _oedepict.OEProtectiveGroupStyle_TBDMS
OEProtectiveGroupStyle_TBDPS = _oedepict.OEProtectiveGroupStyle_TBDPS
OEProtectiveGroupStyle_THP = _oedepict.OEProtectiveGroupStyle_THP
OEProtectiveGroupStyle_All = _oedepict.OEProtectiveGroupStyle_All

OEProtectiveGroupStyle_Default = OEProtectiveGroupStyle_Off

OEScale_AutoScale = _oedepict.OEScale_AutoScale
OEScale_Default = _oedepict.OEScale_Default
OEPageSize_ISO_A4 = _oedepict.OEPageSize_ISO_A4
OEPageSize_US_Letter = _oedepict.OEPageSize_US_Letter
OEPageSize_US_Legal = _oedepict.OEPageSize_US_Legal
OEPageSize_Custom = _oedepict.OEPageSize_Custom

OEPageSize_Default = OEPageSize_US_Letter

OEPageOrientation_Portrait = _oedepict.OEPageOrientation_Portrait
OEPageOrientation_Landscape = _oedepict.OEPageOrientation_Landscape

OEPageOrientation_Default = OEPageOrientation_Portrait

OEMultiPageSetup_PageSize = _oedepict.OEMultiPageSetup_PageSize
OEMultiPageSetup_PageOrientation = _oedepict.OEMultiPageSetup_PageOrientation
OEMultiPageSetup_All = _oedepict.OEMultiPageSetup_All
OEMultiPageParamName_PageSize = _oedepict.OEMultiPageParamName_PageSize
OEMultiPageParamName_PageOrientation = _oedepict.OEMultiPageParamName_PageOrientation
OEReportSetup_NumRowsPerPage = _oedepict.OEReportSetup_NumRowsPerPage
OEReportSetup_NumColsPerPage = _oedepict.OEReportSetup_NumColsPerPage
OEReportSetup_PageSize = _oedepict.OEReportSetup_PageSize
OEReportSetup_PageOrientation = _oedepict.OEReportSetup_PageOrientation
OEReportSetup_PageWidth = _oedepict.OEReportSetup_PageWidth
OEReportSetup_PageHeight = _oedepict.OEReportSetup_PageHeight
OEReportSetup_All = _oedepict.OEReportSetup_All
OELineJoin_Miter = _oedepict.OELineJoin_Miter
OELineJoin_Round = _oedepict.OELineJoin_Round
OELineJoin_Bevel = _oedepict.OELineJoin_Bevel

OELineJoin_Default = OELineJoin_Round

OELineCap_Butt = _oedepict.OELineCap_Butt
OELineCap_Round = _oedepict.OELineCap_Round
OELineCap_Square = _oedepict.OELineCap_Square

OELineCap_Default = OELineCap_Round

OEStipple_Solid = _oedepict.OEStipple_Solid
OEStipple_LongDash = _oedepict.OEStipple_LongDash
OEStipple_ShortDash = _oedepict.OEStipple_ShortDash
OEStipple_Dot = _oedepict.OEStipple_Dot
OEStipple_DotDashDash = _oedepict.OEStipple_DotDashDash
OEStipple_DotDash = _oedepict.OEStipple_DotDash
OEStipple_NoLine = _oedepict.OEStipple_NoLine

OEStipple_Default = OEStipple_Solid

OEFill_Off = _oedepict.OEFill_Off
OEFill_On = _oedepict.OEFill_On

OEFill_Default = OEFill_Off

OE2DPathPointType_Start = _oedepict.OE2DPathPointType_Start
OE2DPathPointType_LineEnd = _oedepict.OE2DPathPointType_LineEnd
OE2DPathPointType_CurveC1 = _oedepict.OE2DPathPointType_CurveC1
OE2DPathPointType_CurveC2 = _oedepict.OE2DPathPointType_CurveC2
OE2DPathPointType_CurveEnd = _oedepict.OE2DPathPointType_CurveEnd
OEDepictOrientation_Original = _oedepict.OEDepictOrientation_Original
OEDepictOrientation_Square = _oedepict.OEDepictOrientation_Square
OEDepictOrientation_Horizontal = _oedepict.OEDepictOrientation_Horizontal
OEDepictOrientation_Vertical = _oedepict.OEDepictOrientation_Vertical

OEDepictOrientation_Default = OEDepictOrientation_Original

OEPrepareDepictionSetup_ClearCoords = _oedepict.OEPrepareDepictionSetup_ClearCoords
OEPrepareDepictionSetup_SuppressHydrogens = _oedepict.OEPrepareDepictionSetup_SuppressHydrogens
OEPrepareDepictionSetup_DepictOrientation = _oedepict.OEPrepareDepictionSetup_DepictOrientation
OEPrepareDepictionSetup_All = _oedepict.OEPrepareDepictionSetup_All
import openeye.oechem as oechem

def __no_op(*args) -> "void":
    """
    __no_op(OEConstStringIter arg1)
    __no_op(OEStringIter arg1)
    __no_op(OEMatchBaseAtomIter arg1)
    __no_op(OEMatchBaseBondIter arg1)
    __no_op(OEColorIter arg1)
    """
    return _oedepict.__no_op(*args)
class OEFont(object):
    """Proxy of C++ OEDepict::OEFont class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEFont self) -> OEFont
        __init__(OEDepict::OEFont self, OEColor color) -> OEFont
        __init__(OEDepict::OEFont self, unsigned int family, unsigned int style, unsigned int size, unsigned int align, OEColor color, double rotangle=0.0) -> OEFont
        __init__(OEDepict::OEFont self, unsigned int family, unsigned int style, unsigned int size, unsigned int align, OEColor color) -> OEFont
        __init__(OEDepict::OEFont self, OEFont arg2) -> OEFont
        """
        this = _oedepict.new_OEFont(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEFont
    __del__ = lambda self: None

    def SetFamily(self, arg2: 'unsigned int') -> "void":
        """SetFamily(OEFont self, unsigned int arg2)"""
        return _oedepict.OEFont_SetFamily(self, arg2)


    def GetFamily(self) -> "unsigned int":
        """GetFamily(OEFont self) -> unsigned int"""
        return _oedepict.OEFont_GetFamily(self)


    def SetStyle(self, arg2: 'unsigned int') -> "void":
        """SetStyle(OEFont self, unsigned int arg2)"""
        return _oedepict.OEFont_SetStyle(self, arg2)


    def GetStyle(self) -> "unsigned int":
        """GetStyle(OEFont self) -> unsigned int"""
        return _oedepict.OEFont_GetStyle(self)


    def SetSize(self, arg2: 'unsigned int') -> "void":
        """SetSize(OEFont self, unsigned int arg2)"""
        return _oedepict.OEFont_SetSize(self, arg2)


    def GetSize(self) -> "unsigned int":
        """GetSize(OEFont self) -> unsigned int"""
        return _oedepict.OEFont_GetSize(self)


    def SetAlignment(self, arg2: 'unsigned int') -> "void":
        """SetAlignment(OEFont self, unsigned int arg2)"""
        return _oedepict.OEFont_SetAlignment(self, arg2)


    def GetAlignment(self) -> "unsigned int":
        """GetAlignment(OEFont self) -> unsigned int"""
        return _oedepict.OEFont_GetAlignment(self)


    def SetColor(self, color: 'OEColor') -> "void":
        """SetColor(OEFont self, OEColor color)"""
        return _oedepict.OEFont_SetColor(self, color)


    def GetColor(self) -> "OESystem::OEColor const &":
        """GetColor(OEFont self) -> OEColor"""
        return _oedepict.OEFont_GetColor(self)


    def SetRotationAngle(self, arg2: 'double') -> "void":
        """SetRotationAngle(OEFont self, double arg2)"""
        return _oedepict.OEFont_SetRotationAngle(self, arg2)


    def GetRotationAngle(self) -> "double":
        """GetRotationAngle(OEFont self) -> double"""
        return _oedepict.OEFont_GetRotationAngle(self)


    def SetHyperlink(self, link: 'std::string const &') -> "void":
        """SetHyperlink(OEFont self, std::string const & link)"""
        return _oedepict.OEFont_SetHyperlink(self, link)


    def HasHyperlink(self) -> "bool":
        """HasHyperlink(OEFont self) -> bool"""
        return _oedepict.OEFont_HasHyperlink(self)


    def GetHyperlink(self) -> "std::string const &":
        """GetHyperlink(OEFont self) -> std::string const &"""
        return _oedepict.OEFont_GetHyperlink(self)


    def __eq__(self, arg2: 'OEFont') -> "bool":
        """__eq__(OEFont self, OEFont arg2) -> bool"""
        return _oedepict.OEFont___eq__(self, arg2)


    def __ne__(self, arg2: 'OEFont') -> "bool":
        """__ne__(OEFont self, OEFont arg2) -> bool"""
        return _oedepict.OEFont___ne__(self, arg2)

OEFont_swigregister = _oedepict.OEFont_swigregister
OEFont_swigregister(OEFont)

class OEPen(object):
    """Proxy of C++ OEDepict::OEPen class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEPen self) -> OEPen
        __init__(OEDepict::OEPen self, OEColor bg, OEColor fg, unsigned int fill, double linewidth=1.0, unsigned short stipple) -> OEPen
        __init__(OEDepict::OEPen self, OEColor bg, OEColor fg, unsigned int fill, double linewidth=1.0) -> OEPen
        __init__(OEDepict::OEPen self, OEColor bg, OEColor fg, unsigned int fill) -> OEPen
        __init__(OEDepict::OEPen self, OEColor bg, OEColor fg) -> OEPen
        __init__(OEDepict::OEPen self, OEPen arg2) -> OEPen
        """
        this = _oedepict.new_OEPen(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEPen
    __del__ = lambda self: None

    def SetBackColor(self, col: 'OEColor') -> "void":
        """SetBackColor(OEPen self, OEColor col)"""
        return _oedepict.OEPen_SetBackColor(self, col)


    def GetBackColor(self) -> "OESystem::OEColor const &":
        """GetBackColor(OEPen self) -> OEColor"""
        return _oedepict.OEPen_GetBackColor(self)


    def SetForeColor(self, col: 'OEColor') -> "void":
        """SetForeColor(OEPen self, OEColor col)"""
        return _oedepict.OEPen_SetForeColor(self, col)


    def GetForeColor(self) -> "OESystem::OEColor const &":
        """GetForeColor(OEPen self) -> OEColor"""
        return _oedepict.OEPen_GetForeColor(self)


    def SetFill(self, f: 'unsigned int') -> "void":
        """SetFill(OEPen self, unsigned int f)"""
        return _oedepict.OEPen_SetFill(self, f)


    def GetFill(self) -> "unsigned int":
        """GetFill(OEPen self) -> unsigned int"""
        return _oedepict.OEPen_GetFill(self)


    def SetLineJoin(self, join: 'unsigned int') -> "void":
        """SetLineJoin(OEPen self, unsigned int join)"""
        return _oedepict.OEPen_SetLineJoin(self, join)


    def GetLineJoin(self) -> "unsigned int":
        """GetLineJoin(OEPen self) -> unsigned int"""
        return _oedepict.OEPen_GetLineJoin(self)


    def SetLineCap(self, cap: 'unsigned int') -> "void":
        """SetLineCap(OEPen self, unsigned int cap)"""
        return _oedepict.OEPen_SetLineCap(self, cap)


    def GetLineCap(self) -> "unsigned int":
        """GetLineCap(OEPen self) -> unsigned int"""
        return _oedepict.OEPen_GetLineCap(self)


    def SetLineWidth(self, w: 'double') -> "void":
        """SetLineWidth(OEPen self, double w)"""
        return _oedepict.OEPen_SetLineWidth(self, w)


    def GetLineWidth(self) -> "double":
        """GetLineWidth(OEPen self) -> double"""
        return _oedepict.OEPen_GetLineWidth(self)


    def SetLineStipple(self, p: 'unsigned short') -> "void":
        """SetLineStipple(OEPen self, unsigned short p)"""
        return _oedepict.OEPen_SetLineStipple(self, p)


    def GetLineStipple(self) -> "unsigned short":
        """GetLineStipple(OEPen self) -> unsigned short"""
        return _oedepict.OEPen_GetLineStipple(self)


    def SetStippleFactor(self, f: 'unsigned short') -> "void":
        """SetStippleFactor(OEPen self, unsigned short f)"""
        return _oedepict.OEPen_SetStippleFactor(self, f)


    def GetStippleFactor(self) -> "unsigned short":
        """GetStippleFactor(OEPen self) -> unsigned short"""
        return _oedepict.OEPen_GetStippleFactor(self)


    def __eq__(self, arg2: 'OEPen') -> "bool":
        """__eq__(OEPen self, OEPen arg2) -> bool"""
        return _oedepict.OEPen___eq__(self, arg2)


    def __ne__(self, arg2: 'OEPen') -> "bool":
        """__ne__(OEPen self, OEPen arg2) -> bool"""
        return _oedepict.OEPen___ne__(self, arg2)

OEPen_swigregister = _oedepict.OEPen_swigregister
OEPen_swigregister(OEPen)
cvar = _oedepict.cvar
OEDefaultFont = cvar.OEDefaultFont

class OE2DPoint(object):
    """Proxy of C++ OEDepict::OE2DPoint class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')

    def __init__(self, *args):
        """
        __init__(OEDepict::OE2DPoint self) -> OE2DPoint
        __init__(OEDepict::OE2DPoint self, double x, double y) -> OE2DPoint
        __init__(OEDepict::OE2DPoint self, OE2DPoint arg2) -> OE2DPoint
        """
        this = _oedepict.new_OE2DPoint(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OE2DPoint
    __del__ = lambda self: None

    def SetX(self, x: 'double') -> "void":
        """SetX(OE2DPoint self, double x)"""
        return _oedepict.OE2DPoint_SetX(self, x)


    def GetX(self) -> "double":
        """GetX(OE2DPoint self) -> double"""
        return _oedepict.OE2DPoint_GetX(self)


    def SetY(self, y: 'double') -> "void":
        """SetY(OE2DPoint self, double y)"""
        return _oedepict.OE2DPoint_SetY(self, y)


    def GetY(self) -> "double":
        """GetY(OE2DPoint self) -> double"""
        return _oedepict.OE2DPoint_GetY(self)


    def __add__(self, rhs):
        p = OE2DPoint(self.GetX() + rhs.GetX(),  self.GetY() + rhs.GetY())
        return p



    def __iadd__(self, rhs):
        p = OE2DPoint(self.GetX() + rhs.GetX(), self.GetY() + rhs.GetY())
        return p



    def __sub__(self, rhs):
        p = OE2DPoint(self.GetX() - rhs.GetX(), self.GetY() - rhs.GetY())
        return p



    def __sub__(self, rhs):
        p = OE2DPoint(self.GetX() - rhs.GetX(), self.GetY() - rhs.GetY())
        return p



    def __mul__(self, rhs):
        p = OE2DPoint(self.GetX() * rhs, self.GetY() * rhs)
        return p



    def __mul__(self, rhs):
        p = OE2DPoint(self.GetX() * rhs, self.GetY() * rhs)
        return p



    def __div__(self, rhs):
        p = OE2DPoint(self.GetX() / rhs, self.GetY() / rhs)
        return p



    def __floordiv__(self, rhs):
        p = OE2DPoint(self.GetX() / rhs, self.GetY() / rhs)
        return p



    def __truediv__(self, rhs):
        p = OE2DPoint(self.GetX() / rhs, self.GetY() / rhs)
        return p



    def __idiv__(self, rhs):
        p = OE2DPoint(self.GetX() / rhs, self.GetY() / rhs)
        return p



    def __ifloordiv__(self, rhs):
        p = OE2DPoint(self.GetX() / rhs, self.GetY() / rhs)
        return p



    def __itruediv__(self, rhs):
        p = OE2DPoint(self.GetX() / rhs, self.GetY() / rhs)
        return p



    def __repr__(self) -> "std::string":
        """__repr__(OE2DPoint self) -> std::string"""
        return _oedepict.OE2DPoint___repr__(self)

OE2DPoint_swigregister = _oedepict.OE2DPoint_swigregister
OE2DPoint_swigregister(OE2DPoint)
OEWhiteBoxPen = cvar.OEWhiteBoxPen
OEBlackBoxPen = cvar.OEBlackBoxPen
OEBlueBoxPen = cvar.OEBlueBoxPen
OEGreenBoxPen = cvar.OEGreenBoxPen
OERedBoxPen = cvar.OERedBoxPen
OELightGreyBoxPen = cvar.OELightGreyBoxPen
OEWhitePen = cvar.OEWhitePen
OEBlackPen = cvar.OEBlackPen
OEBluePen = cvar.OEBluePen
OEGreenPen = cvar.OEGreenPen
OERedPen = cvar.OERedPen
OELightGreyPen = cvar.OELightGreyPen
OETransparentPen = cvar.OETransparentPen
OESVGAreaPen = cvar.OESVGAreaPen
OELightBackgroundColor = cvar.OELightBackgroundColor
OEDarkBackgroundColor = cvar.OEDarkBackgroundColor


def OERotateVector(vect: 'OE2DPoint', degree: 'double') -> "OEDepict::OE2DPoint":
    """OERotateVector(OE2DPoint vect, double degree) -> OE2DPoint"""
    return _oedepict.OERotateVector(vect, degree)

def OELengthenVector(vect: 'OE2DPoint', length: 'double') -> "OEDepict::OE2DPoint":
    """OELengthenVector(OE2DPoint vect, double length) -> OE2DPoint"""
    return _oedepict.OELengthenVector(vect, length)

def OEGetDefaultAtomColor(*args) -> "OESystem::OEColor":
    """
    OEGetDefaultAtomColor(unsigned int atomic, unsigned int style) -> OEColor
    OEGetDefaultAtomColor(unsigned int atomic) -> OEColor
    """
    return _oedepict.OEGetDefaultAtomColor(*args)
class OE2DPathPoint(object):
    """Proxy of C++ OEDepict::OE2DPathPoint class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OE2DPathPoint self, OE2DPoint point, unsigned int ptype) -> OE2DPathPoint
        __init__(OEDepict::OE2DPathPoint self, OE2DPathPoint arg2) -> OE2DPathPoint
        """
        this = _oedepict.new_OE2DPathPoint(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OE2DPathPoint
    __del__ = lambda self: None

    def GetPoint(self) -> "OEDepict::OE2DPoint const &":
        """GetPoint(OE2DPathPoint self) -> OE2DPoint"""
        return _oedepict.OE2DPathPoint_GetPoint(self)


    def GetPointType(self) -> "unsigned int":
        """GetPointType(OE2DPathPoint self) -> unsigned int"""
        return _oedepict.OE2DPathPoint_GetPointType(self)

OE2DPathPoint_swigregister = _oedepict.OE2DPathPoint_swigregister
OE2DPathPoint_swigregister(OE2DPathPoint)

class OE2DPathPointIter(object):
    """Proxy of C++ OESystem::OEIter<(OEDepict::OE2DPathPoint)> class."""

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

    def __init__(self, *args):
        """
        __init__(OESystem::OEIter<(OEDepict::OE2DPathPoint)> self) -> OE2DPathPointIter
        __init__(OESystem::OEIter<(OEDepict::OE2DPathPoint)> self, OE2DPathPointIter rhs) -> OE2DPathPointIter
        __init__(OESystem::OEIter<(OEDepict::OE2DPathPoint)> self, OESystem::OEIterBase< OEDepict::OE2DPathPoint > * rhs) -> OE2DPathPointIter
        __init__(OESystem::OEIter<(OEDepict::OE2DPathPoint)> self, OESystem::OEIterBase< OESystem::OEIter< OEDepict::OE2DPathPoint >::NonConstA > * rhs) -> OE2DPathPointIter
        """
        this = _oedepict.new_OE2DPathPointIter(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OE2DPathPointIter
    __del__ = lambda self: None

    def Copy(self) -> "OESystem::OEIterBase< OEDepict::OE2DPathPoint > *":
        """Copy(OE2DPathPointIter self) -> OESystem::OEIterBase< OEDepict::OE2DPathPoint > *"""
        return _oedepict.OE2DPathPointIter_Copy(self)


    def Push(self, *args) -> "void":
        """
        Push(OE2DPathPointIter self, OESystem::OEIterBase< OEDepict::OE2DPathPoint > * ib)
        Push(OE2DPathPointIter self, OE2DPathPointIter iter)
        """
        return _oedepict.OE2DPathPointIter_Push(self, *args)


    def Sort(self, sort_criterion: 'OESystem::OEBinaryPredicate< OEDepict::OE2DPathPoint,OEDepict::OE2DPathPoint > const &') -> "void":
        """Sort(OE2DPathPointIter self, OESystem::OEBinaryPredicate< OEDepict::OE2DPathPoint,OEDepict::OE2DPathPoint > const & sort_criterion)"""
        return _oedepict.OE2DPathPointIter_Sort(self, sort_criterion)


    def ToFirst(self) -> "OESystem::OEIter< OEDepict::OE2DPathPoint > &":
        """ToFirst(OE2DPathPointIter self) -> OE2DPathPointIter"""
        return _oedepict.OE2DPathPointIter_ToFirst(self)


    def ToLast(self) -> "OESystem::OEIter< OEDepict::OE2DPathPoint > &":
        """ToLast(OE2DPathPointIter self) -> OE2DPathPointIter"""
        return _oedepict.OE2DPathPointIter_ToLast(self)


    def __ref__(self) -> "OEDepict::OE2DPathPoint &":
        """__ref__(OE2DPathPointIter self) -> OE2DPathPoint"""
        return _oedepict.OE2DPathPointIter___ref__(self)


    def IsValid(self):
      return _oedepict.OE2DPathPointIter___nonzero__(self)



    def __iter__(self):
        while self.IsValid():
            ret = self.Target()
            ret._itr = self
            yield ret
            self.Next()



    def next(self) -> "PyObject *":
        """next(OE2DPathPointIter self) -> PyObject *"""
        return _oedepict.OE2DPathPointIter_next(self)


    def Target(self) -> "OEDepict::OE2DPathPoint &":
        """Target(OE2DPathPointIter self) -> OE2DPathPoint"""
        return _oedepict.OE2DPathPointIter_Target(self)


    def Next(self, *args) -> "OESystem::OEIter< OEDepict::OE2DPathPoint > &":
        """
        Next(OE2DPathPointIter self) -> OE2DPathPointIter
        Next(OE2DPathPointIter self, int i) -> OE2DPathPointIter
        """
        return _oedepict.OE2DPathPointIter_Next(self, *args)


    def Prev(self, *args) -> "OESystem::OEIter< OEDepict::OE2DPathPoint > &":
        """
        Prev(OE2DPathPointIter self) -> OE2DPathPointIter
        Prev(OE2DPathPointIter self, int i) -> OE2DPathPointIter
        """
        return _oedepict.OE2DPathPointIter_Prev(self, *args)

OE2DPathPointIter_swigregister = _oedepict.OE2DPathPointIter_swigregister
OE2DPathPointIter_swigregister(OE2DPathPointIter)

class OE2DPath(object):
    """Proxy of C++ OEDepict::OE2DPath class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OE2DPath self) -> OE2DPath
        __init__(OEDepict::OE2DPath self, OE2DPoint start, bool closed=True) -> OE2DPath
        __init__(OEDepict::OE2DPath self, OE2DPoint start) -> OE2DPath
        __init__(OEDepict::OE2DPath self, OE2DPath rhs) -> OE2DPath
        __init__(OEDepict::OE2DPath self, OE2DPath rhs, double scale) -> OE2DPath
        __init__(OEDepict::OE2DPath self, OE2DPath rhs, OE2DPoint offset) -> OE2DPath
        __init__(OEDepict::OE2DPath self, OE2DPath rhs, OE2DPoint center, double degree) -> OE2DPath
        """
        this = _oedepict.new_OE2DPath(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OE2DPath
    __del__ = lambda self: None

    def IsValid(self) -> "bool":
        """IsValid(OE2DPath self) -> bool"""
        return _oedepict.OE2DPath_IsValid(self)


    def AddStartPoint(self, start: 'OE2DPoint') -> "void":
        """AddStartPoint(OE2DPath self, OE2DPoint start)"""
        return _oedepict.OE2DPath_AddStartPoint(self, start)


    def AddLineSegment(self, end: 'OE2DPoint') -> "void":
        """AddLineSegment(OE2DPath self, OE2DPoint end)"""
        return _oedepict.OE2DPath_AddLineSegment(self, end)


    def AddCurveSegment(self, c1: 'OE2DPoint', c2: 'OE2DPoint', end: 'OE2DPoint') -> "void":
        """AddCurveSegment(OE2DPath self, OE2DPoint c1, OE2DPoint c2, OE2DPoint end)"""
        return _oedepict.OE2DPath_AddCurveSegment(self, c1, c2, end)


    def GetStart(self) -> "OEDepict::OE2DPoint":
        """GetStart(OE2DPath self) -> OE2DPoint"""
        return _oedepict.OE2DPath_GetStart(self)


    def GetEnd(self) -> "OEDepict::OE2DPoint":
        """GetEnd(OE2DPath self) -> OE2DPoint"""
        return _oedepict.OE2DPath_GetEnd(self)


    def GetPoints(self) -> "OESystem::OEIterBase< OEDepict::OE2DPathPoint > *":
        """GetPoints(OE2DPath self) -> OESystem::OEIterBase< OEDepict::OE2DPathPoint > *"""
        return _oedepict.OE2DPath_GetPoints(self)


    def SetClosed(self, closed: 'bool') -> "void":
        """SetClosed(OE2DPath self, bool closed)"""
        return _oedepict.OE2DPath_SetClosed(self, closed)


    def IsClosed(self) -> "bool":
        """IsClosed(OE2DPath self) -> bool"""
        return _oedepict.OE2DPath_IsClosed(self)

OE2DPath_swigregister = _oedepict.OE2DPath_swigregister
OE2DPath_swigregister(OE2DPath)

class OESVGClass(object):
    """Proxy of C++ OEDepict::OESVGClass class."""

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

    def __init__(self, parent: 'OEImageBase', name: 'std::string const &'):
        """__init__(OEDepict::OESVGClass self, OEImageBase parent, std::string const & name) -> OESVGClass"""
        this = _oedepict.new_OESVGClass(parent, name)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OESVGClass
    __del__ = lambda self: None

    def GetName(self) -> "std::string":
        """GetName(OESVGClass self) -> std::string"""
        return _oedepict.OESVGClass_GetName(self)

OESVGClass_swigregister = _oedepict.OESVGClass_swigregister
OESVGClass_swigregister(OESVGClass)


def OEIsValidSVGClassName(name: 'std::string const &') -> "bool":
    """OEIsValidSVGClassName(std::string const & name) -> bool"""
    return _oedepict.OEIsValidSVGClassName(name)
class OESVGGroup(object):
    """Proxy of C++ OEDepict::OESVGGroup class."""

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

    def __init__(self, parent: 'OEImageBase', id: 'std::string const &'):
        """__init__(OEDepict::OESVGGroup self, OEImageBase parent, std::string const & id) -> OESVGGroup"""
        this = _oedepict.new_OESVGGroup(parent, id)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OESVGGroup
    __del__ = lambda self: None

    def GetId(self) -> "std::string":
        """GetId(OESVGGroup self) -> std::string"""
        return _oedepict.OESVGGroup_GetId(self)


    def AddSVGClass(self, svg_class: 'OESVGClass') -> "bool":
        """AddSVGClass(OESVGGroup self, OESVGClass svg_class) -> bool"""
        return _oedepict.OESVGGroup_AddSVGClass(self, svg_class)


    def IsVisible(self) -> "bool":
        """IsVisible(OESVGGroup self) -> bool"""
        return _oedepict.OESVGGroup_IsVisible(self)

OESVGGroup_swigregister = _oedepict.OESVGGroup_swigregister
OESVGGroup_swigregister(OESVGGroup)


def OEIsValidSVGGroupId(id: 'std::string const &') -> "bool":
    """OEIsValidSVGGroupId(std::string const & id) -> bool"""
    return _oedepict.OEIsValidSVGGroupId(id)
class OESVGGroupIter(object):
    """Proxy of C++ OESystem::OEIter<(OEDepict::OESVGGroup)> class."""

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

    def __init__(self, *args):
        """
        __init__(OESystem::OEIter<(OEDepict::OESVGGroup)> self) -> OESVGGroupIter
        __init__(OESystem::OEIter<(OEDepict::OESVGGroup)> self, OESVGGroupIter rhs) -> OESVGGroupIter
        __init__(OESystem::OEIter<(OEDepict::OESVGGroup)> self, OESystem::OEIterBase< OEDepict::OESVGGroup > * rhs) -> OESVGGroupIter
        __init__(OESystem::OEIter<(OEDepict::OESVGGroup)> self, OESystem::OEIterBase< OESystem::OEIter< OEDepict::OESVGGroup >::NonConstA > * rhs) -> OESVGGroupIter
        """
        this = _oedepict.new_OESVGGroupIter(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OESVGGroupIter
    __del__ = lambda self: None

    def Copy(self) -> "OESystem::OEIterBase< OEDepict::OESVGGroup > *":
        """Copy(OESVGGroupIter self) -> OESystem::OEIterBase< OEDepict::OESVGGroup > *"""
        return _oedepict.OESVGGroupIter_Copy(self)


    def Push(self, *args) -> "void":
        """
        Push(OESVGGroupIter self, OESystem::OEIterBase< OEDepict::OESVGGroup > * ib)
        Push(OESVGGroupIter self, OESVGGroupIter iter)
        """
        return _oedepict.OESVGGroupIter_Push(self, *args)


    def Sort(self, sort_criterion: 'OESystem::OEBinaryPredicate< OEDepict::OESVGGroup,OEDepict::OESVGGroup > const &') -> "void":
        """Sort(OESVGGroupIter self, OESystem::OEBinaryPredicate< OEDepict::OESVGGroup,OEDepict::OESVGGroup > const & sort_criterion)"""
        return _oedepict.OESVGGroupIter_Sort(self, sort_criterion)


    def ToFirst(self) -> "OESystem::OEIter< OEDepict::OESVGGroup > &":
        """ToFirst(OESVGGroupIter self) -> OESVGGroupIter"""
        return _oedepict.OESVGGroupIter_ToFirst(self)


    def ToLast(self) -> "OESystem::OEIter< OEDepict::OESVGGroup > &":
        """ToLast(OESVGGroupIter self) -> OESVGGroupIter"""
        return _oedepict.OESVGGroupIter_ToLast(self)


    def __ref__(self) -> "OEDepict::OESVGGroup &":
        """__ref__(OESVGGroupIter self) -> OESVGGroup"""
        return _oedepict.OESVGGroupIter___ref__(self)


    def IsValid(self):
      return _oedepict.OESVGGroupIter___nonzero__(self)



    def __iter__(self):
        while self.IsValid():
            ret = self.Target()
            ret._itr = self
            yield ret
            self.Next()



    def next(self) -> "PyObject *":
        """next(OESVGGroupIter self) -> PyObject *"""
        return _oedepict.OESVGGroupIter_next(self)


    def Target(self) -> "OEDepict::OESVGGroup &":
        """Target(OESVGGroupIter self) -> OESVGGroup"""
        return _oedepict.OESVGGroupIter_Target(self)


    def Next(self, *args) -> "OESystem::OEIter< OEDepict::OESVGGroup > &":
        """
        Next(OESVGGroupIter self) -> OESVGGroupIter
        Next(OESVGGroupIter self, int i) -> OESVGGroupIter
        """
        return _oedepict.OESVGGroupIter_Next(self, *args)


    def Prev(self, *args) -> "OESystem::OEIter< OEDepict::OESVGGroup > &":
        """
        Prev(OESVGGroupIter self) -> OESVGGroupIter
        Prev(OESVGGroupIter self, int i) -> OESVGGroupIter
        """
        return _oedepict.OESVGGroupIter_Prev(self, *args)

OESVGGroupIter_swigregister = _oedepict.OESVGGroupIter_swigregister
OESVGGroupIter_swigregister(OESVGGroupIter)


def OEAddBuiltInHiddenSVGClass(image: 'OEImageBase') -> "OEDepict::OESVGClass const *":
    """OEAddBuiltInHiddenSVGClass(OEImageBase image) -> OESVGClass"""
    return _oedepict.OEAddBuiltInHiddenSVGClass(image)

def OEGetBuiltInHiddenSVGClass(image: 'OEImageBase') -> "OEDepict::OESVGClass const *":
    """OEGetBuiltInHiddenSVGClass(OEImageBase image) -> OESVGClass"""
    return _oedepict.OEGetBuiltInHiddenSVGClass(image)

def OEAddBuiltInVisibleSVGClass(image: 'OEImageBase') -> "OEDepict::OESVGClass const *":
    """OEAddBuiltInVisibleSVGClass(OEImageBase image) -> OESVGClass"""
    return _oedepict.OEAddBuiltInVisibleSVGClass(image)

def OEGetBuiltInVisibleSVGClass(image: 'OEImageBase') -> "OEDepict::OESVGClass const *":
    """OEGetBuiltInVisibleSVGClass(OEImageBase image) -> OESVGClass"""
    return _oedepict.OEGetBuiltInVisibleSVGClass(image)

def OEAddSVGHover(*args) -> "bool":
    """
    OEAddSVGHover(OESVGGroup area, OESVGGroup target) -> bool
    OEAddSVGHover(OESVGGroup area, OESVGGroup targetA, OESVGGroup targetB) -> bool
    """
    return _oedepict.OEAddSVGHover(*args)

def OEAddSVGToggle(area: 'OESVGGroup', target: 'OESVGGroup', on: 'bool'=False) -> "bool":
    """
    OEAddSVGToggle(OESVGGroup area, OESVGGroup target, bool on=False) -> bool
    OEAddSVGToggle(OESVGGroup area, OESVGGroup target) -> bool
    """
    return _oedepict.OEAddSVGToggle(area, target, on)
class OEImageBase(object):
    """Proxy of C++ OEDepict::OEImageBase class."""

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

    def __init__(self, width: 'double'=200.0, height: 'double'=200.0):
        """
        __init__(OEDepict::OEImageBase self, double width=200.0, double height=200.0) -> OEImageBase
        __init__(OEDepict::OEImageBase self, double width=200.0) -> OEImageBase
        __init__(OEDepict::OEImageBase self) -> OEImageBase
        """
        if self.__class__ == OEImageBase:
            _self = None
        else:
            _self = self
        this = _oedepict.new_OEImageBase(_self, width, height)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEImageBase
    __del__ = lambda self: None

    def GetHeight(self) -> "double":
        """GetHeight(OEImageBase self) -> double"""
        return _oedepict.OEImageBase_GetHeight(self)


    def GetWidth(self) -> "double":
        """GetWidth(OEImageBase self) -> double"""
        return _oedepict.OEImageBase_GetWidth(self)


    def DrawPoint(self, p: 'OE2DPoint', color: 'OEColor') -> "void":
        """DrawPoint(OEImageBase self, OE2DPoint p, OEColor color)"""
        return _oedepict.OEImageBase_DrawPoint(self, p, color)


    def Clear(self, *args) -> "void":
        """
        Clear(OEImageBase self, OEColor color)
        Clear(OEImageBase self)
        """
        return _oedepict.OEImageBase_Clear(self, *args)


    def DrawLine(self, bgn: 'OE2DPoint', end: 'OE2DPoint', pen: 'OEPen') -> "void":
        """DrawLine(OEImageBase self, OE2DPoint bgn, OE2DPoint end, OEPen pen)"""
        return _oedepict.OEImageBase_DrawLine(self, bgn, end, pen)


    def DrawRectangle(self, tl: 'OE2DPoint', br: 'OE2DPoint', pen: 'OEPen') -> "void":
        """DrawRectangle(OEImageBase self, OE2DPoint tl, OE2DPoint br, OEPen pen)"""
        return _oedepict.OEImageBase_DrawRectangle(self, tl, br, pen)


    def DrawArc(self, c: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', radius: 'double', pen: 'OEPen') -> "void":
        """DrawArc(OEImageBase self, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen)"""
        return _oedepict.OEImageBase_DrawArc(self, c, bgnAngle, endAngle, radius, pen)


    def DrawPie(self, c: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', radius: 'double', pen: 'OEPen') -> "void":
        """DrawPie(OEImageBase self, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen)"""
        return _oedepict.OEImageBase_DrawPie(self, c, bgnAngle, endAngle, radius, pen)


    def DrawCircle(self, c: 'OE2DPoint', radius: 'double', pen: 'OEPen') -> "void":
        """DrawCircle(OEImageBase self, OE2DPoint c, double radius, OEPen pen)"""
        return _oedepict.OEImageBase_DrawCircle(self, c, radius, pen)


    def DrawTriangle(self, arg0: 'OE2DPoint', arg1: 'OE2DPoint', arg2: 'OE2DPoint', arg3: 'OEPen') -> "void":
        """DrawTriangle(OEImageBase self, OE2DPoint arg0, OE2DPoint arg1, OE2DPoint arg2, OEPen arg3)"""
        return _oedepict.OEImageBase_DrawTriangle(self, arg0, arg1, arg2, arg3)


    def DrawPath(self, path: 'OE2DPath', pen: 'OEPen') -> "void":
        """DrawPath(OEImageBase self, OE2DPath path, OEPen pen)"""
        return _oedepict.OEImageBase_DrawPath(self, path, pen)


    def DrawCubicBezier(self, bgn: 'OE2DPoint', c1: 'OE2DPoint', c2: 'OE2DPoint', end: 'OE2DPoint', pen: 'OEPen') -> "void":
        """DrawCubicBezier(OEImageBase self, OE2DPoint bgn, OE2DPoint c1, OE2DPoint c2, OE2DPoint end, OEPen pen)"""
        return _oedepict.OEImageBase_DrawCubicBezier(self, bgn, c1, c2, end, pen)


    def DrawQuadraticBezier(self, bgn: 'OE2DPoint', c1: 'OE2DPoint', end: 'OE2DPoint', pen: 'OEPen') -> "void":
        """DrawQuadraticBezier(OEImageBase self, OE2DPoint bgn, OE2DPoint c1, OE2DPoint end, OEPen pen)"""
        return _oedepict.OEImageBase_DrawQuadraticBezier(self, bgn, c1, end, pen)


    def DrawText(self, c: 'OE2DPoint', text: 'std::string const &', font: 'OEFont', maxwidth: 'double'=0.0) -> "void":
        """
        DrawText(OEImageBase self, OE2DPoint c, std::string const & text, OEFont font, double maxwidth=0.0)
        DrawText(OEImageBase self, OE2DPoint c, std::string const & text, OEFont font)
        """
        return _oedepict.OEImageBase_DrawText(self, c, text, font, maxwidth)


    def SetMinFontSize(self, fontsize: 'unsigned int') -> "void":
        """SetMinFontSize(OEImageBase self, unsigned int fontsize)"""
        return _oedepict.OEImageBase_SetMinFontSize(self, fontsize)


    def GetMinFontSize(self) -> "unsigned int":
        """GetMinFontSize(OEImageBase self) -> unsigned int"""
        return _oedepict.OEImageBase_GetMinFontSize(self)


    def GetGlobalOffset(self) -> "OEDepict::OE2DPoint const &":
        """GetGlobalOffset(OEImageBase self) -> OE2DPoint"""
        return _oedepict.OEImageBase_GetGlobalOffset(self)


    def NewSVGGroup(self, id: 'std::string const &') -> "OEDepict::OESVGGroup *":
        """NewSVGGroup(OEImageBase self, std::string const & id) -> OESVGGroup"""
        return _oedepict.OEImageBase_NewSVGGroup(self, id)


    def NewSVGClass(self, name: 'std::string const &') -> "OEDepict::OESVGClass *":
        """NewSVGClass(OEImageBase self, std::string const & name) -> OESVGClass"""
        return _oedepict.OEImageBase_NewSVGClass(self, name)


    def GetSVGGroup(self, id: 'std::string const &') -> "OEDepict::OESVGGroup *":
        """GetSVGGroup(OEImageBase self, std::string const & id) -> OESVGGroup"""
        return _oedepict.OEImageBase_GetSVGGroup(self, id)


    def GetSVGClass(self, name: 'std::string const &') -> "OEDepict::OESVGClass *":
        """GetSVGClass(OEImageBase self, std::string const & name) -> OESVGClass"""
        return _oedepict.OEImageBase_GetSVGClass(self, name)


    def GetSVGGroups(self) -> "OESystem::OEIterBase< OEDepict::OESVGGroup > *":
        """GetSVGGroups(OEImageBase self) -> OESystem::OEIterBase< OEDepict::OESVGGroup > *"""
        return _oedepict.OEImageBase_GetSVGGroups(self)


    def PushGroup(self, arg0: 'OESVGGroup') -> "bool":
        """PushGroup(OEImageBase self, OESVGGroup arg0) -> bool"""
        return _oedepict.OEImageBase_PushGroup(self, arg0)


    def PopGroup(self, arg0: 'OESVGGroup') -> "bool":
        """PopGroup(OEImageBase self, OESVGGroup arg0) -> bool"""
        return _oedepict.OEImageBase_PopGroup(self, arg0)


    def RenderSVGGroup(self, svggroup: 'OESVGGroup') -> "bool":
        """RenderSVGGroup(OEImageBase self, OESVGGroup svggroup) -> bool"""
        return _oedepict.OEImageBase_RenderSVGGroup(self, svggroup)


    def RenderSVGClass(self, svgclass: 'OESVGClass') -> "bool":
        """RenderSVGClass(OEImageBase self, OESVGClass svgclass) -> bool"""
        return _oedepict.OEImageBase_RenderSVGClass(self, svgclass)


    def DrawPolygon(self, *args) -> "PyObject *":
        """
        DrawPolygon(OEImageBase self, std::vector< OEDepict::OE2DPoint,std::allocator< OEDepict::OE2DPoint > > const & endPoints, OEPen pen)
        DrawPolygon(OEImageBase self, PyObject * points, OEPen pen) -> PyObject *
        """
        return _oedepict.OEImageBase_DrawPolygon(self, *args)

    def __disown__(self):
        self.this.disown()
        _oedepict.disown_OEImageBase(self)
        return weakref_proxy(self)
OEImageBase_swigregister = _oedepict.OEImageBase_swigregister
OEImageBase_swigregister(OEImageBase)

class OEImageFileBase(OEImageBase):
    """Proxy of C++ OEDepict::OEImageFileBase class."""

    thisown = _swig_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__ = _oedepict.delete_OEImageFileBase
    __del__ = lambda self: None

    def GetExtension(self) -> "std::string":
        """GetExtension(OEImageFileBase self) -> std::string"""
        return _oedepict.OEImageFileBase_GetExtension(self)


    def Write(self, os: 'oeostream') -> "bool":
        """Write(OEImageFileBase self, oeostream os) -> bool"""
        return _oedepict.OEImageFileBase_Write(self, os)


    def PushGroup(self, arg2: 'OESVGGroup') -> "bool":
        """PushGroup(OEImageFileBase self, OESVGGroup arg2) -> bool"""
        return _oedepict.OEImageFileBase_PushGroup(self, arg2)


    def PopGroup(self, arg2: 'OESVGGroup') -> "bool":
        """PopGroup(OEImageFileBase self, OESVGGroup arg2) -> bool"""
        return _oedepict.OEImageFileBase_PopGroup(self, arg2)


    def IsVisible(self) -> "bool":
        """IsVisible(OEImageFileBase self) -> bool"""
        return _oedepict.OEImageFileBase_IsVisible(self)

OEImageFileBase_swigregister = _oedepict.OEImageFileBase_swigregister
OEImageFileBase_swigregister(OEImageFileBase)

class OEImageBaseIter(object):
    """Proxy of C++ OESystem::OEIter<(OEDepict::OEImageBase)> class."""

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

    def __init__(self, *args):
        """
        __init__(OESystem::OEIter<(OEDepict::OEImageBase)> self) -> OEImageBaseIter
        __init__(OESystem::OEIter<(OEDepict::OEImageBase)> self, OEImageBaseIter rhs) -> OEImageBaseIter
        __init__(OESystem::OEIter<(OEDepict::OEImageBase)> self, OESystem::OEIterBase< OEDepict::OEImageBase > * rhs) -> OEImageBaseIter
        __init__(OESystem::OEIter<(OEDepict::OEImageBase)> self, OESystem::OEIterBase< OESystem::OEIter< OEDepict::OEImageBase >::NonConstA > * rhs) -> OEImageBaseIter
        """
        this = _oedepict.new_OEImageBaseIter(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEImageBaseIter
    __del__ = lambda self: None

    def Copy(self) -> "OESystem::OEIterBase< OEDepict::OEImageBase > *":
        """Copy(OEImageBaseIter self) -> OESystem::OEIterBase< OEDepict::OEImageBase > *"""
        return _oedepict.OEImageBaseIter_Copy(self)


    def Push(self, *args) -> "void":
        """
        Push(OEImageBaseIter self, OESystem::OEIterBase< OEDepict::OEImageBase > * ib)
        Push(OEImageBaseIter self, OEImageBaseIter iter)
        """
        return _oedepict.OEImageBaseIter_Push(self, *args)


    def Sort(self, sort_criterion: 'OESystem::OEBinaryPredicate< OEDepict::OEImageBase,OEDepict::OEImageBase > const &') -> "void":
        """Sort(OEImageBaseIter self, OESystem::OEBinaryPredicate< OEDepict::OEImageBase,OEDepict::OEImageBase > const & sort_criterion)"""
        return _oedepict.OEImageBaseIter_Sort(self, sort_criterion)


    def ToFirst(self) -> "OESystem::OEIter< OEDepict::OEImageBase > &":
        """ToFirst(OEImageBaseIter self) -> OEImageBaseIter"""
        return _oedepict.OEImageBaseIter_ToFirst(self)


    def ToLast(self) -> "OESystem::OEIter< OEDepict::OEImageBase > &":
        """ToLast(OEImageBaseIter self) -> OEImageBaseIter"""
        return _oedepict.OEImageBaseIter_ToLast(self)


    def __ref__(self) -> "OEDepict::OEImageBase &":
        """__ref__(OEImageBaseIter self) -> OEImageBase"""
        return _oedepict.OEImageBaseIter___ref__(self)


    def IsValid(self):
      return _oedepict.OEImageBaseIter___nonzero__(self)



    def __iter__(self):
        while self.IsValid():
            ret = self.Target()
            ret._itr = self
            yield ret
            self.Next()



    def next(self) -> "PyObject *":
        """next(OEImageBaseIter self) -> PyObject *"""
        return _oedepict.OEImageBaseIter_next(self)


    def Target(self) -> "OEDepict::OEImageBase &":
        """Target(OEImageBaseIter self) -> OEImageBase"""
        return _oedepict.OEImageBaseIter_Target(self)


    def Next(self, *args) -> "OESystem::OEIter< OEDepict::OEImageBase > &":
        """
        Next(OEImageBaseIter self) -> OEImageBaseIter
        Next(OEImageBaseIter self, int i) -> OEImageBaseIter
        """
        return _oedepict.OEImageBaseIter_Next(self, *args)


    def Prev(self, *args) -> "OESystem::OEIter< OEDepict::OEImageBase > &":
        """
        Prev(OEImageBaseIter self) -> OEImageBaseIter
        Prev(OEImageBaseIter self, int i) -> OEImageBaseIter
        """
        return _oedepict.OEImageBaseIter_Prev(self, *args)

OEImageBaseIter_swigregister = _oedepict.OEImageBaseIter_swigregister
OEImageBaseIter_swigregister(OEImageBaseIter)

class OEImage(OEImageBase):
    """Proxy of C++ OEDepict::OEImage class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEImage self, double width, double height, OEColor bgColor) -> OEImage
        __init__(OEDepict::OEImage self, double width, double height) -> OEImage
        __init__(OEDepict::OEImage self, OEImage rhs) -> OEImage
        __init__(OEDepict::OEImage self, OEImage rhs, double scale) -> OEImage
        """
        this = _oedepict.new_OEImage(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEImage
    __del__ = lambda self: None

    def DrawPoint(self, p: 'OE2DPoint', color: 'OEColor') -> "void":
        """DrawPoint(OEImage self, OE2DPoint p, OEColor color)"""
        return _oedepict.OEImage_DrawPoint(self, p, color)


    def Clear(self, color: 'OEColor') -> "void":
        """Clear(OEImage self, OEColor color)"""
        return _oedepict.OEImage_Clear(self, color)


    def DrawLine(self, bgn: 'OE2DPoint', end: 'OE2DPoint', pen: 'OEPen') -> "void":
        """DrawLine(OEImage self, OE2DPoint bgn, OE2DPoint end, OEPen pen)"""
        return _oedepict.OEImage_DrawLine(self, bgn, end, pen)


    def DrawRectangle(self, tl: 'OE2DPoint', br: 'OE2DPoint', pen: 'OEPen') -> "void":
        """DrawRectangle(OEImage self, OE2DPoint tl, OE2DPoint br, OEPen pen)"""
        return _oedepict.OEImage_DrawRectangle(self, tl, br, pen)


    def DrawArc(self, center: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', radius: 'double', pen: 'OEPen') -> "void":
        """DrawArc(OEImage self, OE2DPoint center, double bgnAngle, double endAngle, double radius, OEPen pen)"""
        return _oedepict.OEImage_DrawArc(self, center, bgnAngle, endAngle, radius, pen)


    def DrawPie(self, center: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', radius: 'double', pen: 'OEPen') -> "void":
        """DrawPie(OEImage self, OE2DPoint center, double bgnAngle, double endAngle, double radius, OEPen pen)"""
        return _oedepict.OEImage_DrawPie(self, center, bgnAngle, endAngle, radius, pen)


    def DrawCircle(self, center: 'OE2DPoint', radius: 'double', pen: 'OEPen') -> "void":
        """DrawCircle(OEImage self, OE2DPoint center, double radius, OEPen pen)"""
        return _oedepict.OEImage_DrawCircle(self, center, radius, pen)


    def DrawTriangle(self, pA: 'OE2DPoint', pB: 'OE2DPoint', pC: 'OE2DPoint', pen: 'OEPen') -> "void":
        """DrawTriangle(OEImage self, OE2DPoint pA, OE2DPoint pB, OE2DPoint pC, OEPen pen)"""
        return _oedepict.OEImage_DrawTriangle(self, pA, pB, pC, pen)


    def DrawPath(self, path: 'OE2DPath', pen: 'OEPen') -> "void":
        """DrawPath(OEImage self, OE2DPath path, OEPen pen)"""
        return _oedepict.OEImage_DrawPath(self, path, pen)


    def DrawCubicBezier(self, bgn: 'OE2DPoint', c1: 'OE2DPoint', c2: 'OE2DPoint', end: 'OE2DPoint', pen: 'OEPen') -> "void":
        """DrawCubicBezier(OEImage self, OE2DPoint bgn, OE2DPoint c1, OE2DPoint c2, OE2DPoint end, OEPen pen)"""
        return _oedepict.OEImage_DrawCubicBezier(self, bgn, c1, c2, end, pen)


    def DrawQuadraticBezier(self, bgn: 'OE2DPoint', c1: 'OE2DPoint', end: 'OE2DPoint', pen: 'OEPen') -> "void":
        """DrawQuadraticBezier(OEImage self, OE2DPoint bgn, OE2DPoint c1, OE2DPoint end, OEPen pen)"""
        return _oedepict.OEImage_DrawQuadraticBezier(self, bgn, c1, end, pen)


    def DrawText(self, c: 'OE2DPoint', text: 'std::string const &', font: 'OEFont', maxwidth: 'double'=0.0) -> "void":
        """
        DrawText(OEImage self, OE2DPoint c, std::string const & text, OEFont font, double maxwidth=0.0)
        DrawText(OEImage self, OE2DPoint c, std::string const & text, OEFont font)
        """
        return _oedepict.OEImage_DrawText(self, c, text, font, maxwidth)


    def GetWidth(self) -> "double":
        """GetWidth(OEImage self) -> double"""
        return _oedepict.OEImage_GetWidth(self)


    def GetHeight(self) -> "double":
        """GetHeight(OEImage self) -> double"""
        return _oedepict.OEImage_GetHeight(self)


    def IsEmpty(self) -> "bool":
        """IsEmpty(OEImage self) -> bool"""
        return _oedepict.OEImage_IsEmpty(self)


    def Render(self, image: 'OEImageBase') -> "bool":
        """Render(OEImage self, OEImageBase image) -> bool"""
        return _oedepict.OEImage_Render(self, image)


    def RenderLayer(self, *args) -> "bool":
        """
        RenderLayer(OEImage self, OEImageBase image) -> bool
        RenderLayer(OEImage self, OEImageBase image, OE2DPoint offset) -> bool
        """
        return _oedepict.OEImage_RenderLayer(self, *args)


    def PushGroup(self, arg2: 'OESVGGroup') -> "bool":
        """PushGroup(OEImage self, OESVGGroup arg2) -> bool"""
        return _oedepict.OEImage_PushGroup(self, arg2)


    def PopGroup(self, arg2: 'OESVGGroup') -> "bool":
        """PopGroup(OEImage self, OESVGGroup arg2) -> bool"""
        return _oedepict.OEImage_PopGroup(self, arg2)


    def DrawPolygon(self, *args) -> "PyObject *":
        """
        DrawPolygon(OEImage self, std::vector< OEDepict::OE2DPoint,std::allocator< OEDepict::OE2DPoint > > const & points, OEPen pen)
        DrawPolygon(OEImage self, PyObject * points, OEPen pen) -> PyObject *
        """
        return _oedepict.OEImage_DrawPolygon(self, *args)

OEImage_swigregister = _oedepict.OEImage_swigregister
OEImage_swigregister(OEImage)

class OEImageIter(object):
    """Proxy of C++ OESystem::OEIter<(OEDepict::OEImage)> class."""

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

    def __init__(self, *args):
        """
        __init__(OESystem::OEIter<(OEDepict::OEImage)> self) -> OEImageIter
        __init__(OESystem::OEIter<(OEDepict::OEImage)> self, OEImageIter rhs) -> OEImageIter
        __init__(OESystem::OEIter<(OEDepict::OEImage)> self, OESystem::OEIterBase< OEDepict::OEImage > * rhs) -> OEImageIter
        __init__(OESystem::OEIter<(OEDepict::OEImage)> self, OESystem::OEIterBase< OESystem::OEIter< OEDepict::OEImage >::NonConstA > * rhs) -> OEImageIter
        """
        this = _oedepict.new_OEImageIter(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEImageIter
    __del__ = lambda self: None

    def Copy(self) -> "OESystem::OEIterBase< OEDepict::OEImage > *":
        """Copy(OEImageIter self) -> OESystem::OEIterBase< OEDepict::OEImage > *"""
        return _oedepict.OEImageIter_Copy(self)


    def Push(self, *args) -> "void":
        """
        Push(OEImageIter self, OESystem::OEIterBase< OEDepict::OEImage > * ib)
        Push(OEImageIter self, OEImageIter iter)
        """
        return _oedepict.OEImageIter_Push(self, *args)


    def Sort(self, sort_criterion: 'OESystem::OEBinaryPredicate< OEDepict::OEImage,OEDepict::OEImage > const &') -> "void":
        """Sort(OEImageIter self, OESystem::OEBinaryPredicate< OEDepict::OEImage,OEDepict::OEImage > const & sort_criterion)"""
        return _oedepict.OEImageIter_Sort(self, sort_criterion)


    def ToFirst(self) -> "OESystem::OEIter< OEDepict::OEImage > &":
        """ToFirst(OEImageIter self) -> OEImageIter"""
        return _oedepict.OEImageIter_ToFirst(self)


    def ToLast(self) -> "OESystem::OEIter< OEDepict::OEImage > &":
        """ToLast(OEImageIter self) -> OEImageIter"""
        return _oedepict.OEImageIter_ToLast(self)


    def __ref__(self) -> "OEDepict::OEImage &":
        """__ref__(OEImageIter self) -> OEImage"""
        return _oedepict.OEImageIter___ref__(self)


    def IsValid(self):
      return _oedepict.OEImageIter___nonzero__(self)



    def __iter__(self):
        while self.IsValid():
            ret = self.Target()
            ret._itr = self
            yield ret
            self.Next()



    def next(self) -> "PyObject *":
        """next(OEImageIter self) -> PyObject *"""
        return _oedepict.OEImageIter_next(self)


    def Target(self) -> "OEDepict::OEImage &":
        """Target(OEImageIter self) -> OEImage"""
        return _oedepict.OEImageIter_Target(self)


    def Next(self, *args) -> "OESystem::OEIter< OEDepict::OEImage > &":
        """
        Next(OEImageIter self) -> OEImageIter
        Next(OEImageIter self, int i) -> OEImageIter
        """
        return _oedepict.OEImageIter_Next(self, *args)


    def Prev(self, *args) -> "OESystem::OEIter< OEDepict::OEImage > &":
        """
        Prev(OEImageIter self) -> OEImageIter
        Prev(OEImageIter self, int i) -> OEImageIter
        """
        return _oedepict.OEImageIter_Prev(self, *args)

OEImageIter_swigregister = _oedepict.OEImageIter_swigregister
OEImageIter_swigregister(OEImageIter)


def OEIsRegisteredImageFile(extension: 'PyObject *') -> "PyObject *":
    """OEIsRegisteredImageFile(PyObject * extension) -> PyObject *"""
    return _oedepict.OEIsRegisteredImageFile(extension)

def OEIsRegisteredMultiPageImageFile(extension: 'PyObject *') -> "PyObject *":
    """OEIsRegisteredMultiPageImageFile(PyObject * extension) -> PyObject *"""
    return _oedepict.OEIsRegisteredMultiPageImageFile(extension)
class OEImageFileCreatorBase(object):
    """Proxy of C++ OEDepict::OEImageFileCreatorBase class."""

    thisown = _swig_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__ = _oedepict.delete_OEImageFileCreatorBase
    __del__ = lambda self: None

    def GetExtension(self) -> "std::string const":
        """GetExtension(OEImageFileCreatorBase self) -> std::string const"""
        return _oedepict.OEImageFileCreatorBase_GetExtension(self)


    def IsMultiPage(self) -> "bool":
        """IsMultiPage(OEImageFileCreatorBase self) -> bool"""
        return _oedepict.OEImageFileCreatorBase_IsMultiPage(self)


    def CreateImage(self, width: 'double', height: 'double') -> "OEDepict::OEImageFileBase *":
        """CreateImage(OEImageFileCreatorBase self, double width, double height) -> OEImageFileBase"""
        return _oedepict.OEImageFileCreatorBase_CreateImage(self, width, height)


    def CreateCopy(self) -> "OEDepict::OEImageFileCreatorBase *":
        """CreateCopy(OEImageFileCreatorBase self) -> OEImageFileCreatorBase"""
        return _oedepict.OEImageFileCreatorBase_CreateCopy(self)

OEImageFileCreatorBase_swigregister = _oedepict.OEImageFileCreatorBase_swigregister
OEImageFileCreatorBase_swigregister(OEImageFileCreatorBase)


def OERegisterImageFile(arg1: 'OEImageFileCreatorBase') -> "bool":
    """OERegisterImageFile(OEImageFileCreatorBase arg1) -> bool"""
    return _oedepict.OERegisterImageFile(arg1)

def OERegisterImageFilePtr(creator: 'OEImageFileCreatorBase') -> "bool":
    """OERegisterImageFilePtr(OEImageFileCreatorBase creator) -> bool"""
    return _oedepict.OERegisterImageFilePtr(creator)

def OEGetSupportedImageFileExtensions() -> "OESystem::OEIterBase< std::string const > *":
    """OEGetSupportedImageFileExtensions() -> OESystem::OEIterBase< std::string const > *"""
    return _oedepict.OEGetSupportedImageFileExtensions()

def OEGetSupportedMultiPageImageFileExtensions() -> "OESystem::OEIterBase< std::string const > *":
    """OEGetSupportedMultiPageImageFileExtensions() -> OESystem::OEIterBase< std::string const > *"""
    return _oedepict.OEGetSupportedMultiPageImageFileExtensions()
class OEDisplayAtomPropBase(object):
    """Proxy of C++ OESystem::OEUnaryFunction<(OEChem::OEAtomBase,std::string,true,true)> class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    __swig_destroy__ = _oedepict.delete_OEDisplayAtomPropBase
    __del__ = lambda self: None

    def __call__(self, arg0: 'OEAtomBase') -> "std::string":
        """__call__(OEDisplayAtomPropBase self, OEAtomBase arg0) -> std::string"""
        return _oedepict.OEDisplayAtomPropBase___call__(self, arg0)


    def CreateCopy(self) -> "OESystem::OEUnaryFunction< OEChem::OEAtomBase,std::string,true,true >::base_type *":
        """CreateCopy(OEDisplayAtomPropBase self) -> OEDisplayAtomPropBase"""
        return _oedepict.OEDisplayAtomPropBase_CreateCopy(self)


    def __init__(self):
        """__init__(OESystem::OEUnaryFunction<(OEChem::OEAtomBase,std::string,true,true)> self) -> OEDisplayAtomPropBase"""
        if self.__class__ == OEDisplayAtomPropBase:
            _self = None
        else:
            _self = self
        this = _oedepict.new_OEDisplayAtomPropBase(_self, )
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    def __disown__(self):
        self.this.disown()
        _oedepict.disown_OEDisplayAtomPropBase(self)
        return weakref_proxy(self)
OEDisplayAtomPropBase_swigregister = _oedepict.OEDisplayAtomPropBase_swigregister
OEDisplayAtomPropBase_swigregister(OEDisplayAtomPropBase)

class OEDisplayBondPropBase(object):
    """Proxy of C++ OESystem::OEUnaryFunction<(OEChem::OEBondBase,std::string,true,true)> class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    __swig_destroy__ = _oedepict.delete_OEDisplayBondPropBase
    __del__ = lambda self: None

    def __call__(self, arg0: 'OEBondBase') -> "std::string":
        """__call__(OEDisplayBondPropBase self, OEBondBase arg0) -> std::string"""
        return _oedepict.OEDisplayBondPropBase___call__(self, arg0)


    def CreateCopy(self) -> "OESystem::OEUnaryFunction< OEChem::OEBondBase,std::string,true,true >::base_type *":
        """CreateCopy(OEDisplayBondPropBase self) -> OEDisplayBondPropBase"""
        return _oedepict.OEDisplayBondPropBase_CreateCopy(self)


    def __init__(self):
        """__init__(OESystem::OEUnaryFunction<(OEChem::OEBondBase,std::string,true,true)> self) -> OEDisplayBondPropBase"""
        if self.__class__ == OEDisplayBondPropBase:
            _self = None
        else:
            _self = self
        this = _oedepict.new_OEDisplayBondPropBase(_self, )
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    def __disown__(self):
        self.this.disown()
        _oedepict.disown_OEDisplayBondPropBase(self)
        return weakref_proxy(self)
OEDisplayBondPropBase_swigregister = _oedepict.OEDisplayBondPropBase_swigregister
OEDisplayBondPropBase_swigregister(OEDisplayBondPropBase)

class OEDisplayNoAtomProp(OEDisplayAtomPropBase):
    """Proxy of C++ OEDepict::OEDisplayNoAtomProp class."""

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

    def __init__(self):
        """__init__(OEDepict::OEDisplayNoAtomProp self) -> OEDisplayNoAtomProp"""
        this = _oedepict.new_OEDisplayNoAtomProp()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, arg2: 'OEAtomBase') -> "std::string":
        """__call__(OEDisplayNoAtomProp self, OEAtomBase arg2) -> std::string"""
        return _oedepict.OEDisplayNoAtomProp___call__(self, arg2)


    def CreateCopy(self) -> "OEDepict::OEDisplayNoAtomProp::base_type *":
        """CreateCopy(OEDisplayNoAtomProp self) -> OEDisplayAtomPropBase"""
        return _oedepict.OEDisplayNoAtomProp_CreateCopy(self)

    __swig_destroy__ = _oedepict.delete_OEDisplayNoAtomProp
    __del__ = lambda self: None
OEDisplayNoAtomProp_swigregister = _oedepict.OEDisplayNoAtomProp_swigregister
OEDisplayNoAtomProp_swigregister(OEDisplayNoAtomProp)

class OEDisplayAtomIdx(OEDisplayAtomPropBase):
    """Proxy of C++ OEDepict::OEDisplayAtomIdx class."""

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

    def __init__(self):
        """__init__(OEDepict::OEDisplayAtomIdx self) -> OEDisplayAtomIdx"""
        this = _oedepict.new_OEDisplayAtomIdx()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, atom: 'OEAtomBase') -> "std::string":
        """__call__(OEDisplayAtomIdx self, OEAtomBase atom) -> std::string"""
        return _oedepict.OEDisplayAtomIdx___call__(self, atom)


    def CreateCopy(self) -> "OEDepict::OEDisplayAtomIdx::base_type *":
        """CreateCopy(OEDisplayAtomIdx self) -> OEDisplayAtomPropBase"""
        return _oedepict.OEDisplayAtomIdx_CreateCopy(self)

    __swig_destroy__ = _oedepict.delete_OEDisplayAtomIdx
    __del__ = lambda self: None
OEDisplayAtomIdx_swigregister = _oedepict.OEDisplayAtomIdx_swigregister
OEDisplayAtomIdx_swigregister(OEDisplayAtomIdx)

class OEDisplayAtomMapIdx(OEDisplayAtomPropBase):
    """Proxy of C++ OEDepict::OEDisplayAtomMapIdx class."""

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

    def __init__(self):
        """__init__(OEDepict::OEDisplayAtomMapIdx self) -> OEDisplayAtomMapIdx"""
        this = _oedepict.new_OEDisplayAtomMapIdx()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, atom: 'OEAtomBase') -> "std::string":
        """__call__(OEDisplayAtomMapIdx self, OEAtomBase atom) -> std::string"""
        return _oedepict.OEDisplayAtomMapIdx___call__(self, atom)


    def CreateCopy(self) -> "OEDepict::OEDisplayAtomMapIdx::base_type *":
        """CreateCopy(OEDisplayAtomMapIdx self) -> OEDisplayAtomPropBase"""
        return _oedepict.OEDisplayAtomMapIdx_CreateCopy(self)

    __swig_destroy__ = _oedepict.delete_OEDisplayAtomMapIdx
    __del__ = lambda self: None
OEDisplayAtomMapIdx_swigregister = _oedepict.OEDisplayAtomMapIdx_swigregister
OEDisplayAtomMapIdx_swigregister(OEDisplayAtomMapIdx)

class OEDisplayNoBondProp(OEDisplayBondPropBase):
    """Proxy of C++ OEDepict::OEDisplayNoBondProp class."""

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

    def __init__(self):
        """__init__(OEDepict::OEDisplayNoBondProp self) -> OEDisplayNoBondProp"""
        this = _oedepict.new_OEDisplayNoBondProp()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, arg2: 'OEBondBase') -> "std::string":
        """__call__(OEDisplayNoBondProp self, OEBondBase arg2) -> std::string"""
        return _oedepict.OEDisplayNoBondProp___call__(self, arg2)


    def CreateCopy(self) -> "OEDepict::OEDisplayNoBondProp::base_type *":
        """CreateCopy(OEDisplayNoBondProp self) -> OEDisplayBondPropBase"""
        return _oedepict.OEDisplayNoBondProp_CreateCopy(self)

    __swig_destroy__ = _oedepict.delete_OEDisplayNoBondProp
    __del__ = lambda self: None
OEDisplayNoBondProp_swigregister = _oedepict.OEDisplayNoBondProp_swigregister
OEDisplayNoBondProp_swigregister(OEDisplayNoBondProp)

class OEDisplayBondIdx(OEDisplayBondPropBase):
    """Proxy of C++ OEDepict::OEDisplayBondIdx class."""

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

    def __init__(self):
        """__init__(OEDepict::OEDisplayBondIdx self) -> OEDisplayBondIdx"""
        this = _oedepict.new_OEDisplayBondIdx()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, bond: 'OEBondBase') -> "std::string":
        """__call__(OEDisplayBondIdx self, OEBondBase bond) -> std::string"""
        return _oedepict.OEDisplayBondIdx___call__(self, bond)


    def CreateCopy(self) -> "OEDepict::OEDisplayBondIdx::base_type *":
        """CreateCopy(OEDisplayBondIdx self) -> OEDisplayBondPropBase"""
        return _oedepict.OEDisplayBondIdx_CreateCopy(self)

    __swig_destroy__ = _oedepict.delete_OEDisplayBondIdx
    __del__ = lambda self: None
OEDisplayBondIdx_swigregister = _oedepict.OEDisplayBondIdx_swigregister
OEDisplayBondIdx_swigregister(OEDisplayBondIdx)

class OEAtomSVGMarkupBase(object):
    """Proxy of C++ OEDepict::OEAtomSVGMarkupBase class."""

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

    def __init__(self):
        """__init__(OEDepict::OEAtomSVGMarkupBase self) -> OEAtomSVGMarkupBase"""
        if self.__class__ == OEAtomSVGMarkupBase:
            _self = None
        else:
            _self = self
        this = _oedepict.new_OEAtomSVGMarkupBase(_self, )
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEAtomSVGMarkupBase
    __del__ = lambda self: None

    def GetGroupId(self, arg0: 'OEAtomBase') -> "std::string":
        """GetGroupId(OEAtomSVGMarkupBase self, OEAtomBase arg0) -> std::string"""
        return _oedepict.OEAtomSVGMarkupBase_GetGroupId(self, arg0)


    def GetClassName(self, arg0: 'OEAtomBase') -> "std::string":
        """GetClassName(OEAtomSVGMarkupBase self, OEAtomBase arg0) -> std::string"""
        return _oedepict.OEAtomSVGMarkupBase_GetClassName(self, arg0)


    def CreateCopy(self) -> "OEDepict::OEAtomSVGMarkupBase *":
        """CreateCopy(OEAtomSVGMarkupBase self) -> OEAtomSVGMarkupBase"""
        return _oedepict.OEAtomSVGMarkupBase_CreateCopy(self)

    def __disown__(self):
        self.this.disown()
        _oedepict.disown_OEAtomSVGMarkupBase(self)
        return weakref_proxy(self)
OEAtomSVGMarkupBase_swigregister = _oedepict.OEAtomSVGMarkupBase_swigregister
OEAtomSVGMarkupBase_swigregister(OEAtomSVGMarkupBase)

class OEAtomSVGNoMarkup(OEAtomSVGMarkupBase):
    """Proxy of C++ OEDepict::OEAtomSVGNoMarkup class."""

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

    def __init__(self):
        """__init__(OEDepict::OEAtomSVGNoMarkup self) -> OEAtomSVGNoMarkup"""
        this = _oedepict.new_OEAtomSVGNoMarkup()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEAtomSVGNoMarkup
    __del__ = lambda self: None

    def GetGroupId(self, arg2: 'OEAtomBase') -> "std::string":
        """GetGroupId(OEAtomSVGNoMarkup self, OEAtomBase arg2) -> std::string"""
        return _oedepict.OEAtomSVGNoMarkup_GetGroupId(self, arg2)


    def GetClassName(self, arg2: 'OEAtomBase') -> "std::string":
        """GetClassName(OEAtomSVGNoMarkup self, OEAtomBase arg2) -> std::string"""
        return _oedepict.OEAtomSVGNoMarkup_GetClassName(self, arg2)


    def CreateCopy(self) -> "OEDepict::OEAtomSVGMarkupBase *":
        """CreateCopy(OEAtomSVGNoMarkup self) -> OEAtomSVGMarkupBase"""
        return _oedepict.OEAtomSVGNoMarkup_CreateCopy(self)

OEAtomSVGNoMarkup_swigregister = _oedepict.OEAtomSVGNoMarkup_swigregister
OEAtomSVGNoMarkup_swigregister(OEAtomSVGNoMarkup)

class OEAtomSVGAtomIdxMarkup(OEAtomSVGMarkupBase):
    """Proxy of C++ OEDepict::OEAtomSVGAtomIdxMarkup class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEAtomSVGAtomIdxMarkup self, std::string const prefix, std::string const classname) -> OEAtomSVGAtomIdxMarkup
        __init__(OEDepict::OEAtomSVGAtomIdxMarkup self, std::string const prefix) -> OEAtomSVGAtomIdxMarkup
        __init__(OEDepict::OEAtomSVGAtomIdxMarkup self) -> OEAtomSVGAtomIdxMarkup
        """
        this = _oedepict.new_OEAtomSVGAtomIdxMarkup(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEAtomSVGAtomIdxMarkup
    __del__ = lambda self: None

    def GetGroupId(self, atom: 'OEAtomBase') -> "std::string":
        """GetGroupId(OEAtomSVGAtomIdxMarkup self, OEAtomBase atom) -> std::string"""
        return _oedepict.OEAtomSVGAtomIdxMarkup_GetGroupId(self, atom)


    def GetClassName(self, arg2: 'OEAtomBase') -> "std::string":
        """GetClassName(OEAtomSVGAtomIdxMarkup self, OEAtomBase arg2) -> std::string"""
        return _oedepict.OEAtomSVGAtomIdxMarkup_GetClassName(self, arg2)


    def CreateCopy(self) -> "OEDepict::OEAtomSVGMarkupBase *":
        """CreateCopy(OEAtomSVGAtomIdxMarkup self) -> OEAtomSVGMarkupBase"""
        return _oedepict.OEAtomSVGAtomIdxMarkup_CreateCopy(self)

OEAtomSVGAtomIdxMarkup_swigregister = _oedepict.OEAtomSVGAtomIdxMarkup_swigregister
OEAtomSVGAtomIdxMarkup_swigregister(OEAtomSVGAtomIdxMarkup)

class OEAtomSVGResidueMarkup(OEAtomSVGMarkupBase):
    """Proxy of C++ OEDepict::OEAtomSVGResidueMarkup class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEAtomSVGResidueMarkup self, std::string const prefix, std::string const classname, char const separator) -> OEAtomSVGResidueMarkup
        __init__(OEDepict::OEAtomSVGResidueMarkup self, std::string const prefix, std::string const classname) -> OEAtomSVGResidueMarkup
        __init__(OEDepict::OEAtomSVGResidueMarkup self, std::string const prefix) -> OEAtomSVGResidueMarkup
        __init__(OEDepict::OEAtomSVGResidueMarkup self) -> OEAtomSVGResidueMarkup
        """
        this = _oedepict.new_OEAtomSVGResidueMarkup(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEAtomSVGResidueMarkup
    __del__ = lambda self: None

    def GetGroupId(self, atom: 'OEAtomBase') -> "std::string":
        """GetGroupId(OEAtomSVGResidueMarkup self, OEAtomBase atom) -> std::string"""
        return _oedepict.OEAtomSVGResidueMarkup_GetGroupId(self, atom)


    def GetClassName(self, arg2: 'OEAtomBase') -> "std::string":
        """GetClassName(OEAtomSVGResidueMarkup self, OEAtomBase arg2) -> std::string"""
        return _oedepict.OEAtomSVGResidueMarkup_GetClassName(self, arg2)


    def CreateCopy(self) -> "OEDepict::OEAtomSVGMarkupBase *":
        """CreateCopy(OEAtomSVGResidueMarkup self) -> OEAtomSVGMarkupBase"""
        return _oedepict.OEAtomSVGResidueMarkup_CreateCopy(self)

OEAtomSVGResidueMarkup_swigregister = _oedepict.OEAtomSVGResidueMarkup_swigregister
OEAtomSVGResidueMarkup_swigregister(OEAtomSVGResidueMarkup)

class OEBondSVGMarkupBase(object):
    """Proxy of C++ OEDepict::OEBondSVGMarkupBase class."""

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

    def __init__(self):
        """__init__(OEDepict::OEBondSVGMarkupBase self) -> OEBondSVGMarkupBase"""
        if self.__class__ == OEBondSVGMarkupBase:
            _self = None
        else:
            _self = self
        this = _oedepict.new_OEBondSVGMarkupBase(_self, )
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEBondSVGMarkupBase
    __del__ = lambda self: None

    def GetGroupId(self, arg0: 'OEBondBase') -> "std::string":
        """GetGroupId(OEBondSVGMarkupBase self, OEBondBase arg0) -> std::string"""
        return _oedepict.OEBondSVGMarkupBase_GetGroupId(self, arg0)


    def GetClassName(self, arg0: 'OEBondBase') -> "std::string":
        """GetClassName(OEBondSVGMarkupBase self, OEBondBase arg0) -> std::string"""
        return _oedepict.OEBondSVGMarkupBase_GetClassName(self, arg0)


    def CreateCopy(self) -> "OEDepict::OEBondSVGMarkupBase *":
        """CreateCopy(OEBondSVGMarkupBase self) -> OEBondSVGMarkupBase"""
        return _oedepict.OEBondSVGMarkupBase_CreateCopy(self)

    def __disown__(self):
        self.this.disown()
        _oedepict.disown_OEBondSVGMarkupBase(self)
        return weakref_proxy(self)
OEBondSVGMarkupBase_swigregister = _oedepict.OEBondSVGMarkupBase_swigregister
OEBondSVGMarkupBase_swigregister(OEBondSVGMarkupBase)

class OEBondSVGNoMarkup(OEBondSVGMarkupBase):
    """Proxy of C++ OEDepict::OEBondSVGNoMarkup class."""

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

    def __init__(self):
        """__init__(OEDepict::OEBondSVGNoMarkup self) -> OEBondSVGNoMarkup"""
        this = _oedepict.new_OEBondSVGNoMarkup()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def GetGroupId(self, arg2: 'OEBondBase') -> "std::string":
        """GetGroupId(OEBondSVGNoMarkup self, OEBondBase arg2) -> std::string"""
        return _oedepict.OEBondSVGNoMarkup_GetGroupId(self, arg2)


    def GetClassName(self, arg2: 'OEBondBase') -> "std::string":
        """GetClassName(OEBondSVGNoMarkup self, OEBondBase arg2) -> std::string"""
        return _oedepict.OEBondSVGNoMarkup_GetClassName(self, arg2)


    def CreateCopy(self) -> "OEDepict::OEBondSVGMarkupBase *":
        """CreateCopy(OEBondSVGNoMarkup self) -> OEBondSVGMarkupBase"""
        return _oedepict.OEBondSVGNoMarkup_CreateCopy(self)

    __swig_destroy__ = _oedepict.delete_OEBondSVGNoMarkup
    __del__ = lambda self: None
OEBondSVGNoMarkup_swigregister = _oedepict.OEBondSVGNoMarkup_swigregister
OEBondSVGNoMarkup_swigregister(OEBondSVGNoMarkup)

class OEBondSVGBondIdxMarkup(OEBondSVGMarkupBase):
    """Proxy of C++ OEDepict::OEBondSVGBondIdxMarkup class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEBondSVGBondIdxMarkup self, std::string const prefix, std::string const classname) -> OEBondSVGBondIdxMarkup
        __init__(OEDepict::OEBondSVGBondIdxMarkup self, std::string const prefix) -> OEBondSVGBondIdxMarkup
        __init__(OEDepict::OEBondSVGBondIdxMarkup self) -> OEBondSVGBondIdxMarkup
        """
        this = _oedepict.new_OEBondSVGBondIdxMarkup(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEBondSVGBondIdxMarkup
    __del__ = lambda self: None

    def GetGroupId(self, bond: 'OEBondBase') -> "std::string":
        """GetGroupId(OEBondSVGBondIdxMarkup self, OEBondBase bond) -> std::string"""
        return _oedepict.OEBondSVGBondIdxMarkup_GetGroupId(self, bond)


    def GetClassName(self, arg2: 'OEBondBase') -> "std::string":
        """GetClassName(OEBondSVGBondIdxMarkup self, OEBondBase arg2) -> std::string"""
        return _oedepict.OEBondSVGBondIdxMarkup_GetClassName(self, arg2)


    def CreateCopy(self) -> "OEDepict::OEBondSVGMarkupBase *":
        """CreateCopy(OEBondSVGBondIdxMarkup self) -> OEBondSVGMarkupBase"""
        return _oedepict.OEBondSVGBondIdxMarkup_CreateCopy(self)

OEBondSVGBondIdxMarkup_swigregister = _oedepict.OEBondSVGBondIdxMarkup_swigregister
OEBondSVGBondIdxMarkup_swigregister(OEBondSVGBondIdxMarkup)

class OEAtomDisplayBase(oechem.OEBase):
    """Proxy of C++ OEDepict::OEAtomDisplayBase class."""

    thisown = _swig_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__ = _oedepict.delete_OEAtomDisplayBase
    __del__ = lambda self: None

    def GetAtom(self) -> "OEChem::OEAtomBase const *":
        """GetAtom(OEAtomDisplayBase self) -> OEAtomBase"""
        return _oedepict.OEAtomDisplayBase_GetAtom(self)


    def GetDataType(self) -> "void const *":
        """GetDataType(OEAtomDisplayBase self) -> void const *"""
        return _oedepict.OEAtomDisplayBase_GetDataType(self)


    def IsDataType(self, arg2: 'void const *') -> "bool":
        """IsDataType(OEAtomDisplayBase self, void const * arg2) -> bool"""
        return _oedepict.OEAtomDisplayBase_IsDataType(self, arg2)


    def SetVisible(self, visible: 'bool') -> "void":
        """SetVisible(OEAtomDisplayBase self, bool visible)"""
        return _oedepict.OEAtomDisplayBase_SetVisible(self, visible)


    def IsVisible(self) -> "bool":
        """IsVisible(OEAtomDisplayBase self) -> bool"""
        return _oedepict.OEAtomDisplayBase_IsVisible(self)

OEAtomDisplayBase_swigregister = _oedepict.OEAtomDisplayBase_swigregister
OEAtomDisplayBase_swigregister(OEAtomDisplayBase)

class OE2DAtomDisplay(OEAtomDisplayBase):
    """Proxy of C++ OEDepict::OE2DAtomDisplay class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OE2DAtomDisplay self, OEAtomBase arg2) -> OE2DAtomDisplay
        __init__(OEDepict::OE2DAtomDisplay self, OE2DAtomDisplay rhs) -> OE2DAtomDisplay
        """
        this = _oedepict.new_OE2DAtomDisplay(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OE2DAtomDisplay
    __del__ = lambda self: None

    def GetDataType(self) -> "void const *":
        """GetDataType(OE2DAtomDisplay self) -> void const *"""
        return _oedepict.OE2DAtomDisplay_GetDataType(self)


    def IsDataType(self, arg2: 'void const *') -> "bool":
        """IsDataType(OE2DAtomDisplay self, void const * arg2) -> bool"""
        return _oedepict.OE2DAtomDisplay_IsDataType(self, arg2)


    def CreateCopy(self) -> "OESystem::OEBase *":
        """CreateCopy(OE2DAtomDisplay self) -> OEBase"""
        return _oedepict.OE2DAtomDisplay_CreateCopy(self)


    def SetCoords(self, coord: 'OE2DPoint') -> "void":
        """SetCoords(OE2DAtomDisplay self, OE2DPoint coord)"""
        return _oedepict.OE2DAtomDisplay_SetCoords(self, coord)


    def GetCoords(self) -> "OEDepict::OE2DPoint const &":
        """GetCoords(OE2DAtomDisplay self) -> OE2DPoint"""
        return _oedepict.OE2DAtomDisplay_GetCoords(self)


    def SetLabel(self, label: 'std::string const &') -> "void":
        """SetLabel(OE2DAtomDisplay self, std::string const & label)"""
        return _oedepict.OE2DAtomDisplay_SetLabel(self, label)


    def GetLabel(self) -> "std::string const &":
        """GetLabel(OE2DAtomDisplay self) -> std::string const &"""
        return _oedepict.OE2DAtomDisplay_GetLabel(self)


    def HasLabel(self) -> "bool":
        """HasLabel(OE2DAtomDisplay self) -> bool"""
        return _oedepict.OE2DAtomDisplay_HasLabel(self)


    def SetLabelFont(self, font: 'OEFont') -> "void":
        """SetLabelFont(OE2DAtomDisplay self, OEFont font)"""
        return _oedepict.OE2DAtomDisplay_SetLabelFont(self, font)


    def GetLabelFont(self) -> "OEDepict::OEFont const &":
        """GetLabelFont(OE2DAtomDisplay self) -> OEFont"""
        return _oedepict.OE2DAtomDisplay_GetLabelFont(self)


    def SetHCount(self, hcount: 'unsigned int') -> "void":
        """SetHCount(OE2DAtomDisplay self, unsigned int hcount)"""
        return _oedepict.OE2DAtomDisplay_SetHCount(self, hcount)


    def GetHCount(self) -> "unsigned int":
        """GetHCount(OE2DAtomDisplay self) -> unsigned int"""
        return _oedepict.OE2DAtomDisplay_GetHCount(self)


    def SetHPosition(self, hpos: 'unsigned int') -> "void":
        """SetHPosition(OE2DAtomDisplay self, unsigned int hpos)"""
        return _oedepict.OE2DAtomDisplay_SetHPosition(self, hpos)


    def GetHPosition(self) -> "unsigned int":
        """GetHPosition(OE2DAtomDisplay self) -> unsigned int"""
        return _oedepict.OE2DAtomDisplay_GetHPosition(self)


    def SetCharge(self, charge: 'int') -> "void":
        """SetCharge(OE2DAtomDisplay self, int charge)"""
        return _oedepict.OE2DAtomDisplay_SetCharge(self, charge)


    def GetCharge(self) -> "int":
        """GetCharge(OE2DAtomDisplay self) -> int"""
        return _oedepict.OE2DAtomDisplay_GetCharge(self)


    def SetMass(self, mass: 'unsigned int') -> "void":
        """SetMass(OE2DAtomDisplay self, unsigned int mass)"""
        return _oedepict.OE2DAtomDisplay_SetMass(self, mass)


    def GetMass(self) -> "unsigned int":
        """GetMass(OE2DAtomDisplay self) -> unsigned int"""
        return _oedepict.OE2DAtomDisplay_GetMass(self)


    def SetRadical(self, radical: 'unsigned int') -> "void":
        """SetRadical(OE2DAtomDisplay self, unsigned int radical)"""
        return _oedepict.OE2DAtomDisplay_SetRadical(self, radical)


    def GetRadical(self) -> "unsigned int":
        """GetRadical(OE2DAtomDisplay self) -> unsigned int"""
        return _oedepict.OE2DAtomDisplay_GetRadical(self)


    def SetPropertyOffset(self, offset: 'OE2DPoint') -> "void":
        """SetPropertyOffset(OE2DAtomDisplay self, OE2DPoint offset)"""
        return _oedepict.OE2DAtomDisplay_SetPropertyOffset(self, offset)


    def GetPropertyOffset(self) -> "OEDepict::OE2DPoint const &":
        """GetPropertyOffset(OE2DAtomDisplay self) -> OE2DPoint"""
        return _oedepict.OE2DAtomDisplay_GetPropertyOffset(self)


    def SetProperty(self, label: 'std::string const &') -> "void":
        """SetProperty(OE2DAtomDisplay self, std::string const & label)"""
        return _oedepict.OE2DAtomDisplay_SetProperty(self, label)


    def GetProperty(self) -> "std::string const &":
        """GetProperty(OE2DAtomDisplay self) -> std::string const &"""
        return _oedepict.OE2DAtomDisplay_GetProperty(self)


    def HasProperty(self) -> "bool":
        """HasProperty(OE2DAtomDisplay self) -> bool"""
        return _oedepict.OE2DAtomDisplay_HasProperty(self)


    def SetPropertyFont(self, font: 'OEFont') -> "void":
        """SetPropertyFont(OE2DAtomDisplay self, OEFont font)"""
        return _oedepict.OE2DAtomDisplay_SetPropertyFont(self, font)


    def GetPropertyFont(self) -> "OEDepict::OEFont const &":
        """GetPropertyFont(OE2DAtomDisplay self) -> OEFont"""
        return _oedepict.OE2DAtomDisplay_GetPropertyFont(self)

OE2DAtomDisplay_swigregister = _oedepict.OE2DAtomDisplay_swigregister
OE2DAtomDisplay_swigregister(OE2DAtomDisplay)

class OE2DAtomDisplayIter(object):
    """Proxy of C++ OESystem::OEIter<(OEDepict::OE2DAtomDisplay)> class."""

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

    def __init__(self, *args):
        """
        __init__(OESystem::OEIter<(OEDepict::OE2DAtomDisplay)> self) -> OE2DAtomDisplayIter
        __init__(OESystem::OEIter<(OEDepict::OE2DAtomDisplay)> self, OE2DAtomDisplayIter rhs) -> OE2DAtomDisplayIter
        __init__(OESystem::OEIter<(OEDepict::OE2DAtomDisplay)> self, OESystem::OEIterBase< OEDepict::OE2DAtomDisplay > * rhs) -> OE2DAtomDisplayIter
        __init__(OESystem::OEIter<(OEDepict::OE2DAtomDisplay)> self, OESystem::OEIterBase< OESystem::OEIter< OEDepict::OE2DAtomDisplay >::NonConstA > * rhs) -> OE2DAtomDisplayIter
        """
        this = _oedepict.new_OE2DAtomDisplayIter(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OE2DAtomDisplayIter
    __del__ = lambda self: None

    def Copy(self) -> "OESystem::OEIterBase< OEDepict::OE2DAtomDisplay > *":
        """Copy(OE2DAtomDisplayIter self) -> OESystem::OEIterBase< OEDepict::OE2DAtomDisplay > *"""
        return _oedepict.OE2DAtomDisplayIter_Copy(self)


    def Push(self, *args) -> "void":
        """
        Push(OE2DAtomDisplayIter self, OESystem::OEIterBase< OEDepict::OE2DAtomDisplay > * ib)
        Push(OE2DAtomDisplayIter self, OE2DAtomDisplayIter iter)
        """
        return _oedepict.OE2DAtomDisplayIter_Push(self, *args)


    def Sort(self, sort_criterion: 'OESystem::OEBinaryPredicate< OEDepict::OE2DAtomDisplay,OEDepict::OE2DAtomDisplay > const &') -> "void":
        """Sort(OE2DAtomDisplayIter self, OESystem::OEBinaryPredicate< OEDepict::OE2DAtomDisplay,OEDepict::OE2DAtomDisplay > const & sort_criterion)"""
        return _oedepict.OE2DAtomDisplayIter_Sort(self, sort_criterion)


    def ToFirst(self) -> "OESystem::OEIter< OEDepict::OE2DAtomDisplay > &":
        """ToFirst(OE2DAtomDisplayIter self) -> OE2DAtomDisplayIter"""
        return _oedepict.OE2DAtomDisplayIter_ToFirst(self)


    def ToLast(self) -> "OESystem::OEIter< OEDepict::OE2DAtomDisplay > &":
        """ToLast(OE2DAtomDisplayIter self) -> OE2DAtomDisplayIter"""
        return _oedepict.OE2DAtomDisplayIter_ToLast(self)


    def __ref__(self) -> "OEDepict::OE2DAtomDisplay &":
        """__ref__(OE2DAtomDisplayIter self) -> OE2DAtomDisplay"""
        return _oedepict.OE2DAtomDisplayIter___ref__(self)


    def IsValid(self):
      return _oedepict.OE2DAtomDisplayIter___nonzero__(self)



    def __iter__(self):
        while self.IsValid():
            ret = self.Target()
            ret._itr = self
            yield ret
            self.Next()



    def next(self) -> "PyObject *":
        """next(OE2DAtomDisplayIter self) -> PyObject *"""
        return _oedepict.OE2DAtomDisplayIter_next(self)


    def Target(self) -> "OEDepict::OE2DAtomDisplay &":
        """Target(OE2DAtomDisplayIter self) -> OE2DAtomDisplay"""
        return _oedepict.OE2DAtomDisplayIter_Target(self)


    def Next(self, *args) -> "OESystem::OEIter< OEDepict::OE2DAtomDisplay > &":
        """
        Next(OE2DAtomDisplayIter self) -> OE2DAtomDisplayIter
        Next(OE2DAtomDisplayIter self, int i) -> OE2DAtomDisplayIter
        """
        return _oedepict.OE2DAtomDisplayIter_Next(self, *args)


    def Prev(self, *args) -> "OESystem::OEIter< OEDepict::OE2DAtomDisplay > &":
        """
        Prev(OE2DAtomDisplayIter self) -> OE2DAtomDisplayIter
        Prev(OE2DAtomDisplayIter self, int i) -> OE2DAtomDisplayIter
        """
        return _oedepict.OE2DAtomDisplayIter_Prev(self, *args)

OE2DAtomDisplayIter_swigregister = _oedepict.OE2DAtomDisplayIter_swigregister
OE2DAtomDisplayIter_swigregister(OE2DAtomDisplayIter)


def GetSWIG_NewPointerObj(*args) -> "PyObject *":
    """
    GetSWIG_NewPointerObj(OEAtomBase arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEBondBase arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEMolBase arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEConfBase arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OETransBase arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OENbrs arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEAltLocation arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEAltGroup arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OESequenceAlignment arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OERole arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEResidue arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(std::string const & arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(std::string & arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OERotamer arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OETorsion arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEColor arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEColorStop arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEGroupBase arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEAtomBondSet arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OESubSearch arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEInteractionHintTypeBase arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEInteractionHint arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEHierResidue arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEHierFragment arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEHierChain arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEPlaceHydrogensMoverNote arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEAnnotation arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEFuzzy arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OE2DPathPoint arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OESVGGroup arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEImageBase arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OEImage arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OE2DAtomDisplay arg, bool owned) -> PyObject
    GetSWIG_NewPointerObj(OE2DBondDisplay arg, bool owned) -> PyObject *
    """
    return _oedepict.GetSWIG_NewPointerObj(*args)
class OEBondDisplayBase(oechem.OEBase):
    """Proxy of C++ OEDepict::OEBondDisplayBase class."""

    thisown = _swig_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__ = _oedepict.delete_OEBondDisplayBase
    __del__ = lambda self: None

    def GetBond(self) -> "OEChem::OEBondBase const *":
        """GetBond(OEBondDisplayBase self) -> OEBondBase"""
        return _oedepict.OEBondDisplayBase_GetBond(self)


    def GetDataType(self) -> "void const *":
        """GetDataType(OEBondDisplayBase self) -> void const *"""
        return _oedepict.OEBondDisplayBase_GetDataType(self)


    def IsDataType(self, arg2: 'void const *') -> "bool":
        """IsDataType(OEBondDisplayBase self, void const * arg2) -> bool"""
        return _oedepict.OEBondDisplayBase_IsDataType(self, arg2)


    def SetVisible(self, visible: 'bool') -> "void":
        """SetVisible(OEBondDisplayBase self, bool visible)"""
        return _oedepict.OEBondDisplayBase_SetVisible(self, visible)


    def IsVisible(self) -> "bool":
        """IsVisible(OEBondDisplayBase self) -> bool"""
        return _oedepict.OEBondDisplayBase_IsVisible(self)

OEBondDisplayBase_swigregister = _oedepict.OEBondDisplayBase_swigregister
OEBondDisplayBase_swigregister(OEBondDisplayBase)

class OE2DBondDisplay(OEBondDisplayBase):
    """Proxy of C++ OEDepict::OE2DBondDisplay class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OE2DBondDisplay self, OEBondBase arg2) -> OE2DBondDisplay
        __init__(OEDepict::OE2DBondDisplay self, OE2DBondDisplay rhs) -> OE2DBondDisplay
        """
        this = _oedepict.new_OE2DBondDisplay(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OE2DBondDisplay
    __del__ = lambda self: None

    def GetDataType(self) -> "void const *":
        """GetDataType(OE2DBondDisplay self) -> void const *"""
        return _oedepict.OE2DBondDisplay_GetDataType(self)


    def IsDataType(self, arg2: 'void const *') -> "bool":
        """IsDataType(OE2DBondDisplay self, void const * arg2) -> bool"""
        return _oedepict.OE2DBondDisplay_IsDataType(self, arg2)


    def CreateCopy(self) -> "OESystem::OEBase *":
        """CreateCopy(OE2DBondDisplay self) -> OEBase"""
        return _oedepict.OE2DBondDisplay_CreateCopy(self)


    def SetDisplayType(self, type: 'unsigned int') -> "void":
        """SetDisplayType(OE2DBondDisplay self, unsigned int type)"""
        return _oedepict.OE2DBondDisplay_SetDisplayType(self, type)


    def GetDisplayType(self) -> "unsigned int":
        """GetDisplayType(OE2DBondDisplay self) -> unsigned int"""
        return _oedepict.OE2DBondDisplay_GetDisplayType(self)


    def SetDisplayPos(self, pos: 'unsigned int') -> "void":
        """SetDisplayPos(OE2DBondDisplay self, unsigned int pos)"""
        return _oedepict.OE2DBondDisplay_SetDisplayPos(self, pos)


    def GetDisplayPos(self) -> "unsigned int":
        """GetDisplayPos(OE2DBondDisplay self) -> unsigned int"""
        return _oedepict.OE2DBondDisplay_GetDisplayPos(self)


    def SetBgnPen(self, pen: 'OEPen') -> "void":
        """SetBgnPen(OE2DBondDisplay self, OEPen pen)"""
        return _oedepict.OE2DBondDisplay_SetBgnPen(self, pen)


    def GetBgnPen(self) -> "OEDepict::OEPen const &":
        """GetBgnPen(OE2DBondDisplay self) -> OEPen"""
        return _oedepict.OE2DBondDisplay_GetBgnPen(self)


    def SetEndPen(self, pen: 'OEPen') -> "void":
        """SetEndPen(OE2DBondDisplay self, OEPen pen)"""
        return _oedepict.OE2DBondDisplay_SetEndPen(self, pen)


    def GetEndPen(self) -> "OEDepict::OEPen const &":
        """GetEndPen(OE2DBondDisplay self) -> OEPen"""
        return _oedepict.OE2DBondDisplay_GetEndPen(self)


    def SetPropertyOffset(self, arg2: 'OE2DPoint') -> "void":
        """SetPropertyOffset(OE2DBondDisplay self, OE2DPoint arg2)"""
        return _oedepict.OE2DBondDisplay_SetPropertyOffset(self, arg2)


    def GetPropertyOffset(self) -> "OEDepict::OE2DPoint const &":
        """GetPropertyOffset(OE2DBondDisplay self) -> OE2DPoint"""
        return _oedepict.OE2DBondDisplay_GetPropertyOffset(self)


    def SetProperty(self, label: 'std::string const &') -> "void":
        """SetProperty(OE2DBondDisplay self, std::string const & label)"""
        return _oedepict.OE2DBondDisplay_SetProperty(self, label)


    def GetProperty(self) -> "std::string const &":
        """GetProperty(OE2DBondDisplay self) -> std::string const &"""
        return _oedepict.OE2DBondDisplay_GetProperty(self)


    def HasProperty(self) -> "bool":
        """HasProperty(OE2DBondDisplay self) -> bool"""
        return _oedepict.OE2DBondDisplay_HasProperty(self)


    def SetPropertyFont(self, font: 'OEFont') -> "void":
        """SetPropertyFont(OE2DBondDisplay self, OEFont font)"""
        return _oedepict.OE2DBondDisplay_SetPropertyFont(self, font)


    def GetPropertyFont(self) -> "OEDepict::OEFont const &":
        """GetPropertyFont(OE2DBondDisplay self) -> OEFont"""
        return _oedepict.OE2DBondDisplay_GetPropertyFont(self)

OE2DBondDisplay_swigregister = _oedepict.OE2DBondDisplay_swigregister
OE2DBondDisplay_swigregister(OE2DBondDisplay)

class OE2DBondDisplayIter(object):
    """Proxy of C++ OESystem::OEIter<(OEDepict::OE2DBondDisplay)> class."""

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

    def __init__(self, *args):
        """
        __init__(OESystem::OEIter<(OEDepict::OE2DBondDisplay)> self) -> OE2DBondDisplayIter
        __init__(OESystem::OEIter<(OEDepict::OE2DBondDisplay)> self, OE2DBondDisplayIter rhs) -> OE2DBondDisplayIter
        __init__(OESystem::OEIter<(OEDepict::OE2DBondDisplay)> self, OESystem::OEIterBase< OEDepict::OE2DBondDisplay > * rhs) -> OE2DBondDisplayIter
        __init__(OESystem::OEIter<(OEDepict::OE2DBondDisplay)> self, OESystem::OEIterBase< OESystem::OEIter< OEDepict::OE2DBondDisplay >::NonConstA > * rhs) -> OE2DBondDisplayIter
        """
        this = _oedepict.new_OE2DBondDisplayIter(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OE2DBondDisplayIter
    __del__ = lambda self: None

    def Copy(self) -> "OESystem::OEIterBase< OEDepict::OE2DBondDisplay > *":
        """Copy(OE2DBondDisplayIter self) -> OESystem::OEIterBase< OEDepict::OE2DBondDisplay > *"""
        return _oedepict.OE2DBondDisplayIter_Copy(self)


    def Push(self, *args) -> "void":
        """
        Push(OE2DBondDisplayIter self, OESystem::OEIterBase< OEDepict::OE2DBondDisplay > * ib)
        Push(OE2DBondDisplayIter self, OE2DBondDisplayIter iter)
        """
        return _oedepict.OE2DBondDisplayIter_Push(self, *args)


    def Sort(self, sort_criterion: 'OESystem::OEBinaryPredicate< OEDepict::OE2DBondDisplay,OEDepict::OE2DBondDisplay > const &') -> "void":
        """Sort(OE2DBondDisplayIter self, OESystem::OEBinaryPredicate< OEDepict::OE2DBondDisplay,OEDepict::OE2DBondDisplay > const & sort_criterion)"""
        return _oedepict.OE2DBondDisplayIter_Sort(self, sort_criterion)


    def ToFirst(self) -> "OESystem::OEIter< OEDepict::OE2DBondDisplay > &":
        """ToFirst(OE2DBondDisplayIter self) -> OE2DBondDisplayIter"""
        return _oedepict.OE2DBondDisplayIter_ToFirst(self)


    def ToLast(self) -> "OESystem::OEIter< OEDepict::OE2DBondDisplay > &":
        """ToLast(OE2DBondDisplayIter self) -> OE2DBondDisplayIter"""
        return _oedepict.OE2DBondDisplayIter_ToLast(self)


    def __ref__(self) -> "OEDepict::OE2DBondDisplay &":
        """__ref__(OE2DBondDisplayIter self) -> OE2DBondDisplay"""
        return _oedepict.OE2DBondDisplayIter___ref__(self)


    def IsValid(self):
      return _oedepict.OE2DBondDisplayIter___nonzero__(self)



    def __iter__(self):
        while self.IsValid():
            ret = self.Target()
            ret._itr = self
            yield ret
            self.Next()



    def next(self) -> "PyObject *":
        """next(OE2DBondDisplayIter self) -> PyObject *"""
        return _oedepict.OE2DBondDisplayIter_next(self)


    def Target(self) -> "OEDepict::OE2DBondDisplay &":
        """Target(OE2DBondDisplayIter self) -> OE2DBondDisplay"""
        return _oedepict.OE2DBondDisplayIter_Target(self)


    def Next(self, *args) -> "OESystem::OEIter< OEDepict::OE2DBondDisplay > &":
        """
        Next(OE2DBondDisplayIter self) -> OE2DBondDisplayIter
        Next(OE2DBondDisplayIter self, int i) -> OE2DBondDisplayIter
        """
        return _oedepict.OE2DBondDisplayIter_Next(self, *args)


    def Prev(self, *args) -> "OESystem::OEIter< OEDepict::OE2DBondDisplay > &":
        """
        Prev(OE2DBondDisplayIter self) -> OE2DBondDisplayIter
        Prev(OE2DBondDisplayIter self, int i) -> OE2DBondDisplayIter
        """
        return _oedepict.OE2DBondDisplayIter_Prev(self, *args)

OE2DBondDisplayIter_swigregister = _oedepict.OE2DBondDisplayIter_swigregister
OE2DBondDisplayIter_swigregister(OE2DBondDisplayIter)

class OEMolDisplayBase(oechem.OEBase):
    """Proxy of C++ OEDepict::OEMolDisplayBase class."""

    thisown = _swig_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__ = _oedepict.delete_OEMolDisplayBase
    __del__ = lambda self: None

    def GetDataType(self) -> "void const *":
        """GetDataType(OEMolDisplayBase self) -> void const *"""
        return _oedepict.OEMolDisplayBase_GetDataType(self)


    def IsDataType(self, arg2: 'void const *') -> "bool":
        """IsDataType(OEMolDisplayBase self, void const * arg2) -> bool"""
        return _oedepict.OEMolDisplayBase_IsDataType(self, arg2)


    def GetMolecule(self) -> "OEChem::OEMolBase const *":
        """GetMolecule(OEMolDisplayBase self) -> OEMolBase"""
        return _oedepict.OEMolDisplayBase_GetMolecule(self)

OEMolDisplayBase_swigregister = _oedepict.OEMolDisplayBase_swigregister
OEMolDisplayBase_swigregister(OEMolDisplayBase)

class OE2DMolDisplay(OEMolDisplayBase):
    """Proxy of C++ OEDepict::OE2DMolDisplay class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OE2DMolDisplay self, OEMolBase arg2) -> OE2DMolDisplay
        __init__(OEDepict::OE2DMolDisplay self, OEMolBase arg2, OE2DMolDisplayOptions arg3) -> OE2DMolDisplay
        __init__(OEDepict::OE2DMolDisplay self, OE2DMolDisplay rhs) -> OE2DMolDisplay
        """
        this = _oedepict.new_OE2DMolDisplay(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OE2DMolDisplay
    __del__ = lambda self: None

    def GetDataType(self) -> "void const *":
        """GetDataType(OE2DMolDisplay self) -> void const *"""
        return _oedepict.OE2DMolDisplay_GetDataType(self)


    def IsDataType(self, arg2: 'void const *') -> "bool":
        """IsDataType(OE2DMolDisplay self, void const * arg2) -> bool"""
        return _oedepict.OE2DMolDisplay_IsDataType(self, arg2)


    def CreateCopy(self) -> "OESystem::OEBase *":
        """CreateCopy(OE2DMolDisplay self) -> OEBase"""
        return _oedepict.OE2DMolDisplay_CreateCopy(self)


    def GetAtomDisplay(self, *args) -> "OEDepict::OE2DAtomDisplay const *":
        """
        GetAtomDisplay(OE2DMolDisplay self, OEAtomBase atom) -> OE2DAtomDisplay
        GetAtomDisplay(OE2DMolDisplay self, OEAtomBase atom) -> OE2DAtomDisplay
        """
        return _oedepict.OE2DMolDisplay_GetAtomDisplay(self, *args)


    def GetBondDisplay(self, *args) -> "OEDepict::OE2DBondDisplay const *":
        """
        GetBondDisplay(OE2DMolDisplay self, OEBondBase bond) -> OE2DBondDisplay
        GetBondDisplay(OE2DMolDisplay self, OEBondBase bond) -> OE2DBondDisplay
        """
        return _oedepict.OE2DMolDisplay_GetBondDisplay(self, *args)


    def GetAtomDisplays(self, *args) -> "OESystem::OEIterBase< OEDepict::OE2DAtomDisplay > *":
        """
        GetAtomDisplays(OE2DMolDisplay self) -> OESystem::OEIterBase< OEDepict::OE2DAtomDisplay >
        GetAtomDisplays(OE2DMolDisplay self, OEUnaryAtomPred pred) -> OESystem::OEIterBase< OEDepict::OE2DAtomDisplay > *
        """
        return _oedepict.OE2DMolDisplay_GetAtomDisplays(self, *args)


    def GetBondDisplays(self, *args) -> "OESystem::OEIterBase< OEDepict::OE2DBondDisplay > *":
        """
        GetBondDisplays(OE2DMolDisplay self) -> OESystem::OEIterBase< OEDepict::OE2DBondDisplay >
        GetBondDisplays(OE2DMolDisplay self, OEUnaryBondPred pred) -> OESystem::OEIterBase< OEDepict::OE2DBondDisplay > *
        """
        return _oedepict.OE2DMolDisplay_GetBondDisplays(self, *args)


    def GetOptions(self) -> "OEDepict::OE2DMolDisplayOptions const &":
        """GetOptions(OE2DMolDisplay self) -> OE2DMolDisplayOptions"""
        return _oedepict.OE2DMolDisplay_GetOptions(self)


    def GetWidth(self) -> "double":
        """GetWidth(OE2DMolDisplay self) -> double"""
        return _oedepict.OE2DMolDisplay_GetWidth(self)


    def GetHeight(self) -> "double":
        """GetHeight(OE2DMolDisplay self) -> double"""
        return _oedepict.OE2DMolDisplay_GetHeight(self)


    def GetScale(self) -> "double":
        """GetScale(OE2DMolDisplay self) -> double"""
        return _oedepict.OE2DMolDisplay_GetScale(self)


    def IsValid(self) -> "bool":
        """IsValid(OE2DMolDisplay self) -> bool"""
        return _oedepict.OE2DMolDisplay_IsValid(self)


    def GetLayer(self, *args) -> "OEDepict::OEImage const &":
        """
        GetLayer(OE2DMolDisplay self, unsigned int position, unsigned int idx=0) -> OEImage
        GetLayer(OE2DMolDisplay self, unsigned int position) -> OEImage
        GetLayer(OE2DMolDisplay self, unsigned int position, unsigned int idx=0) -> OEImage
        GetLayer(OE2DMolDisplay self, unsigned int position) -> OEImage
        """
        return _oedepict.OE2DMolDisplay_GetLayer(self, *args)

OE2DMolDisplay_swigregister = _oedepict.OE2DMolDisplay_swigregister
OE2DMolDisplay_swigregister(OE2DMolDisplay)


def OEOffsetMolDisplay(*args) -> "void":
    """
    OEOffsetMolDisplay(OE2DMolDisplay disp, OE2DPoint offset)
    OEOffsetMolDisplay(OE2DMolDisplay disp, OE2DMolDisplay refdisp)
    """
    return _oedepict.OEOffsetMolDisplay(*args)
class OE2DMolDisplayOptions(object):
    """Proxy of C++ OEDepict::OE2DMolDisplayOptions class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OE2DMolDisplayOptions self) -> OE2DMolDisplayOptions
        __init__(OEDepict::OE2DMolDisplayOptions self, double scale) -> OE2DMolDisplayOptions
        __init__(OEDepict::OE2DMolDisplayOptions self, double width, double height, double scale) -> OE2DMolDisplayOptions
        __init__(OEDepict::OE2DMolDisplayOptions self, OE2DMolDisplayOptions rhs) -> OE2DMolDisplayOptions
        """
        this = _oedepict.new_OE2DMolDisplayOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OE2DMolDisplayOptions
    __del__ = lambda self: None

    def GetWidth(self) -> "double":
        """GetWidth(OE2DMolDisplayOptions self) -> double"""
        return _oedepict.OE2DMolDisplayOptions_GetWidth(self)


    def SetWidth(self, width: 'double') -> "void":
        """SetWidth(OE2DMolDisplayOptions self, double width)"""
        return _oedepict.OE2DMolDisplayOptions_SetWidth(self, width)


    def GetHeight(self) -> "double":
        """GetHeight(OE2DMolDisplayOptions self) -> double"""
        return _oedepict.OE2DMolDisplayOptions_GetHeight(self)


    def SetHeight(self, height: 'double') -> "void":
        """SetHeight(OE2DMolDisplayOptions self, double height)"""
        return _oedepict.OE2DMolDisplayOptions_SetHeight(self, height)


    def GetScale(self) -> "double":
        """GetScale(OE2DMolDisplayOptions self) -> double"""
        return _oedepict.OE2DMolDisplayOptions_GetScale(self)


    def SetScale(self, scale: 'double') -> "void":
        """SetScale(OE2DMolDisplayOptions self, double scale)"""
        return _oedepict.OE2DMolDisplayOptions_SetScale(self, scale)


    def SetDimensions(self, width: 'double', height: 'double', scale: 'double') -> "void":
        """SetDimensions(OE2DMolDisplayOptions self, double width, double height, double scale)"""
        return _oedepict.OE2DMolDisplayOptions_SetDimensions(self, width, height, scale)


    def SetAtomColorStyle(self, style: 'unsigned int') -> "void":
        """SetAtomColorStyle(OE2DMolDisplayOptions self, unsigned int style)"""
        return _oedepict.OE2DMolDisplayOptions_SetAtomColorStyle(self, style)


    def GetAtomColorStyle(self) -> "unsigned int":
        """GetAtomColorStyle(OE2DMolDisplayOptions self) -> unsigned int"""
        return _oedepict.OE2DMolDisplayOptions_GetAtomColorStyle(self)


    def SetBondColorStyle(self, style: 'unsigned int') -> "void":
        """SetBondColorStyle(OE2DMolDisplayOptions self, unsigned int style)"""
        return _oedepict.OE2DMolDisplayOptions_SetBondColorStyle(self, style)


    def GetBondColorStyle(self) -> "unsigned int":
        """GetBondColorStyle(OE2DMolDisplayOptions self) -> unsigned int"""
        return _oedepict.OE2DMolDisplayOptions_GetBondColorStyle(self)


    def SetAtomColor(self, atomic: 'unsigned int', color: 'OEColor') -> "void":
        """SetAtomColor(OE2DMolDisplayOptions self, unsigned int atomic, OEColor color)"""
        return _oedepict.OE2DMolDisplayOptions_SetAtomColor(self, atomic, color)


    def GetAtomColor(self, atomic: 'unsigned int') -> "OESystem::OEColor const &":
        """GetAtomColor(OE2DMolDisplayOptions self, unsigned int atomic) -> OEColor"""
        return _oedepict.OE2DMolDisplayOptions_GetAtomColor(self, atomic)


    def SetBackgroundColor(self, color: 'OEColor') -> "void":
        """SetBackgroundColor(OE2DMolDisplayOptions self, OEColor color)"""
        return _oedepict.OE2DMolDisplayOptions_SetBackgroundColor(self, color)


    def GetBackgroundColor(self) -> "OESystem::OEColor const &":
        """GetBackgroundColor(OE2DMolDisplayOptions self) -> OEColor"""
        return _oedepict.OE2DMolDisplayOptions_GetBackgroundColor(self)


    def SetAtomLabelFont(self, font: 'OEFont') -> "void":
        """SetAtomLabelFont(OE2DMolDisplayOptions self, OEFont font)"""
        return _oedepict.OE2DMolDisplayOptions_SetAtomLabelFont(self, font)


    def GetAtomLabelFont(self) -> "OEDepict::OEFont const &":
        """GetAtomLabelFont(OE2DMolDisplayOptions self) -> OEFont"""
        return _oedepict.OE2DMolDisplayOptions_GetAtomLabelFont(self)


    def SetAtomLabelFontScale(self, scale: 'double') -> "void":
        """SetAtomLabelFontScale(OE2DMolDisplayOptions self, double scale)"""
        return _oedepict.OE2DMolDisplayOptions_SetAtomLabelFontScale(self, scale)


    def GetAtomLabelFontScale(self) -> "double":
        """GetAtomLabelFontScale(OE2DMolDisplayOptions self) -> double"""
        return _oedepict.OE2DMolDisplayOptions_GetAtomLabelFontScale(self)


    def SetSuperAtomLabelFont(self, font: 'OEFont') -> "void":
        """SetSuperAtomLabelFont(OE2DMolDisplayOptions self, OEFont font)"""
        return _oedepict.OE2DMolDisplayOptions_SetSuperAtomLabelFont(self, font)


    def GetSuperAtomLabelFont(self) -> "OEDepict::OEFont const &":
        """GetSuperAtomLabelFont(OE2DMolDisplayOptions self) -> OEFont"""
        return _oedepict.OE2DMolDisplayOptions_GetSuperAtomLabelFont(self)


    def SetProtectiveGroupLabelFont(self, font: 'OEFont') -> "void":
        """SetProtectiveGroupLabelFont(OE2DMolDisplayOptions self, OEFont font)"""
        return _oedepict.OE2DMolDisplayOptions_SetProtectiveGroupLabelFont(self, font)


    def GetProtectiveGroupLabelFont(self) -> "OEDepict::OEFont const &":
        """GetProtectiveGroupLabelFont(OE2DMolDisplayOptions self) -> OEFont"""
        return _oedepict.OE2DMolDisplayOptions_GetProtectiveGroupLabelFont(self)


    def SetAtomPropLabelFont(self, cont: 'OEFont') -> "void":
        """SetAtomPropLabelFont(OE2DMolDisplayOptions self, OEFont cont)"""
        return _oedepict.OE2DMolDisplayOptions_SetAtomPropLabelFont(self, cont)


    def GetAtomPropLabelFont(self) -> "OEDepict::OEFont const &":
        """GetAtomPropLabelFont(OE2DMolDisplayOptions self) -> OEFont"""
        return _oedepict.OE2DMolDisplayOptions_GetAtomPropLabelFont(self)


    def SetAtomPropLabelFontScale(self, scale: 'double') -> "void":
        """SetAtomPropLabelFontScale(OE2DMolDisplayOptions self, double scale)"""
        return _oedepict.OE2DMolDisplayOptions_SetAtomPropLabelFontScale(self, scale)


    def GetAtomPropLabelFontScale(self) -> "double":
        """GetAtomPropLabelFontScale(OE2DMolDisplayOptions self) -> double"""
        return _oedepict.OE2DMolDisplayOptions_GetAtomPropLabelFontScale(self)


    def SetBondPropLabelFont(self, color: 'OEFont') -> "void":
        """SetBondPropLabelFont(OE2DMolDisplayOptions self, OEFont color)"""
        return _oedepict.OE2DMolDisplayOptions_SetBondPropLabelFont(self, color)


    def GetBondPropLabelFont(self) -> "OEDepict::OEFont const &":
        """GetBondPropLabelFont(OE2DMolDisplayOptions self) -> OEFont"""
        return _oedepict.OE2DMolDisplayOptions_GetBondPropLabelFont(self)


    def SetBondPropLabelFontScale(self, scale: 'double') -> "void":
        """SetBondPropLabelFontScale(OE2DMolDisplayOptions self, double scale)"""
        return _oedepict.OE2DMolDisplayOptions_SetBondPropLabelFontScale(self, scale)


    def GetBondPropLabelFontScale(self) -> "double":
        """GetBondPropLabelFontScale(OE2DMolDisplayOptions self) -> double"""
        return _oedepict.OE2DMolDisplayOptions_GetBondPropLabelFontScale(self)


    def SetAromaticStyle(self, style: 'unsigned int') -> "void":
        """SetAromaticStyle(OE2DMolDisplayOptions self, unsigned int style)"""
        return _oedepict.OE2DMolDisplayOptions_SetAromaticStyle(self, style)


    def GetAromaticStyle(self) -> "unsigned int":
        """GetAromaticStyle(OE2DMolDisplayOptions self) -> unsigned int"""
        return _oedepict.OE2DMolDisplayOptions_GetAromaticStyle(self)


    def SetHydrogenStyle(self, style: 'unsigned int') -> "void":
        """SetHydrogenStyle(OE2DMolDisplayOptions self, unsigned int style)"""
        return _oedepict.OE2DMolDisplayOptions_SetHydrogenStyle(self, style)


    def GetHydrogenStyle(self) -> "unsigned int":
        """GetHydrogenStyle(OE2DMolDisplayOptions self) -> unsigned int"""
        return _oedepict.OE2DMolDisplayOptions_GetHydrogenStyle(self)


    def SetAtomStereoStyle(self, style: 'unsigned int') -> "void":
        """SetAtomStereoStyle(OE2DMolDisplayOptions self, unsigned int style)"""
        return _oedepict.OE2DMolDisplayOptions_SetAtomStereoStyle(self, style)


    def GetAtomStereoStyle(self) -> "unsigned int":
        """GetAtomStereoStyle(OE2DMolDisplayOptions self) -> unsigned int"""
        return _oedepict.OE2DMolDisplayOptions_GetAtomStereoStyle(self)


    def SetBondStereoStyle(self, style: 'unsigned int') -> "void":
        """SetBondStereoStyle(OE2DMolDisplayOptions self, unsigned int style)"""
        return _oedepict.OE2DMolDisplayOptions_SetBondStereoStyle(self, style)


    def GetBondStereoStyle(self) -> "unsigned int":
        """GetBondStereoStyle(OE2DMolDisplayOptions self) -> unsigned int"""
        return _oedepict.OE2DMolDisplayOptions_GetBondStereoStyle(self)


    def SetSuperAtomStyle(self, style: 'unsigned int') -> "void":
        """SetSuperAtomStyle(OE2DMolDisplayOptions self, unsigned int style)"""
        return _oedepict.OE2DMolDisplayOptions_SetSuperAtomStyle(self, style)


    def GetSuperAtomStyle(self) -> "unsigned int":
        """GetSuperAtomStyle(OE2DMolDisplayOptions self) -> unsigned int"""
        return _oedepict.OE2DMolDisplayOptions_GetSuperAtomStyle(self)


    def SetProtectiveGroupStyle(self, style: 'unsigned int') -> "void":
        """SetProtectiveGroupStyle(OE2DMolDisplayOptions self, unsigned int style)"""
        return _oedepict.OE2DMolDisplayOptions_SetProtectiveGroupStyle(self, style)


    def GetProtectiveGroupStyle(self) -> "unsigned int":
        """GetProtectiveGroupStyle(OE2DMolDisplayOptions self) -> unsigned int"""
        return _oedepict.OE2DMolDisplayOptions_GetProtectiveGroupStyle(self)


    def SetDefaultBondPen(self, pen: 'OEPen') -> "void":
        """SetDefaultBondPen(OE2DMolDisplayOptions self, OEPen pen)"""
        return _oedepict.OE2DMolDisplayOptions_SetDefaultBondPen(self, pen)


    def GetDefaultBondPen(self) -> "OEDepict::OEPen const &":
        """GetDefaultBondPen(OE2DMolDisplayOptions self) -> OEPen"""
        return _oedepict.OE2DMolDisplayOptions_GetDefaultBondPen(self)


    def SetBondWidthScaling(self, scale: 'bool') -> "void":
        """SetBondWidthScaling(OE2DMolDisplayOptions self, bool scale)"""
        return _oedepict.OE2DMolDisplayOptions_SetBondWidthScaling(self, scale)


    def GetBondWidthScaling(self) -> "bool":
        """GetBondWidthScaling(OE2DMolDisplayOptions self) -> bool"""
        return _oedepict.OE2DMolDisplayOptions_GetBondWidthScaling(self)


    def SetBondLineGapScale(self, scale: 'double') -> "void":
        """SetBondLineGapScale(OE2DMolDisplayOptions self, double scale)"""
        return _oedepict.OE2DMolDisplayOptions_SetBondLineGapScale(self, scale)


    def GetBondLineGapScale(self) -> "double":
        """GetBondLineGapScale(OE2DMolDisplayOptions self) -> double"""
        return _oedepict.OE2DMolDisplayOptions_GetBondLineGapScale(self)


    def SetBondLineAtomLabelGapScale(self, scale: 'double') -> "void":
        """SetBondLineAtomLabelGapScale(OE2DMolDisplayOptions self, double scale)"""
        return _oedepict.OE2DMolDisplayOptions_SetBondLineAtomLabelGapScale(self, scale)


    def GetBondLineAtomLabelGapScale(self) -> "double":
        """GetBondLineAtomLabelGapScale(OE2DMolDisplayOptions self) -> double"""
        return _oedepict.OE2DMolDisplayOptions_GetBondLineAtomLabelGapScale(self)


    def SetAtomPropertyFunctor(self, func: 'OEDisplayAtomPropBase') -> "void":
        """SetAtomPropertyFunctor(OE2DMolDisplayOptions self, OEDisplayAtomPropBase func)"""
        return _oedepict.OE2DMolDisplayOptions_SetAtomPropertyFunctor(self, func)


    def GetAtomPropertyFunctor(self) -> "OEDepict::OEDisplayAtomPropBase const &":
        """GetAtomPropertyFunctor(OE2DMolDisplayOptions self) -> OEDisplayAtomPropBase"""
        return _oedepict.OE2DMolDisplayOptions_GetAtomPropertyFunctor(self)


    def SetBondPropertyFunctor(self, func: 'OEDisplayBondPropBase') -> "void":
        """SetBondPropertyFunctor(OE2DMolDisplayOptions self, OEDisplayBondPropBase func)"""
        return _oedepict.OE2DMolDisplayOptions_SetBondPropertyFunctor(self, func)


    def GetBondPropertyFunctor(self) -> "OEDepict::OEDisplayBondPropBase const &":
        """GetBondPropertyFunctor(OE2DMolDisplayOptions self) -> OEDisplayBondPropBase"""
        return _oedepict.OE2DMolDisplayOptions_GetBondPropertyFunctor(self)


    def SetAtomVisibilityFunctor(self, func: 'OEUnaryAtomPred') -> "void":
        """SetAtomVisibilityFunctor(OE2DMolDisplayOptions self, OEUnaryAtomPred func)"""
        return _oedepict.OE2DMolDisplayOptions_SetAtomVisibilityFunctor(self, func)


    def GetAtomVisibilityFunctor(self) -> "OESystem::OEUnaryPredicate< OEChem::OEAtomBase > const &":
        """GetAtomVisibilityFunctor(OE2DMolDisplayOptions self) -> OEUnaryAtomPred"""
        return _oedepict.OE2DMolDisplayOptions_GetAtomVisibilityFunctor(self)


    def SetTitleLocation(self, loc: 'unsigned int') -> "void":
        """SetTitleLocation(OE2DMolDisplayOptions self, unsigned int loc)"""
        return _oedepict.OE2DMolDisplayOptions_SetTitleLocation(self, loc)


    def GetTitleLocation(self) -> "unsigned int":
        """GetTitleLocation(OE2DMolDisplayOptions self) -> unsigned int"""
        return _oedepict.OE2DMolDisplayOptions_GetTitleLocation(self)


    def SetTitleFont(self, font: 'OEFont') -> "void":
        """SetTitleFont(OE2DMolDisplayOptions self, OEFont font)"""
        return _oedepict.OE2DMolDisplayOptions_SetTitleFont(self, font)


    def GetTitleFont(self) -> "OEDepict::OEFont const &":
        """GetTitleFont(OE2DMolDisplayOptions self) -> OEFont"""
        return _oedepict.OE2DMolDisplayOptions_GetTitleFont(self)


    def SetTitleFontScale(self, scale: 'double') -> "void":
        """SetTitleFontScale(OE2DMolDisplayOptions self, double scale)"""
        return _oedepict.OE2DMolDisplayOptions_SetTitleFontScale(self, scale)


    def GetTitleFontScale(self) -> "double":
        """GetTitleFontScale(OE2DMolDisplayOptions self) -> double"""
        return _oedepict.OE2DMolDisplayOptions_GetTitleFontScale(self)


    def SetTitleHeight(self, percent: 'double') -> "bool":
        """SetTitleHeight(OE2DMolDisplayOptions self, double percent) -> bool"""
        return _oedepict.OE2DMolDisplayOptions_SetTitleHeight(self, percent)


    def GetTitleHeight(self) -> "double":
        """GetTitleHeight(OE2DMolDisplayOptions self) -> double"""
        return _oedepict.OE2DMolDisplayOptions_GetTitleHeight(self)


    def SetExplicitAtomLabelAngle(self, angle: 'double const') -> "void":
        """SetExplicitAtomLabelAngle(OE2DMolDisplayOptions self, double const angle)"""
        return _oedepict.OE2DMolDisplayOptions_SetExplicitAtomLabelAngle(self, angle)


    def GetExplicitAtomLabelAngle(self) -> "double":
        """GetExplicitAtomLabelAngle(OE2DMolDisplayOptions self) -> double"""
        return _oedepict.OE2DMolDisplayOptions_GetExplicitAtomLabelAngle(self)


    def SetMargin(self, margin: 'unsigned int const', percent: 'double const') -> "bool":
        """SetMargin(OE2DMolDisplayOptions self, unsigned int const margin, double const percent) -> bool"""
        return _oedepict.OE2DMolDisplayOptions_SetMargin(self, margin, percent)


    def SetMargins(self, percent: 'double const') -> "bool":
        """SetMargins(OE2DMolDisplayOptions self, double const percent) -> bool"""
        return _oedepict.OE2DMolDisplayOptions_SetMargins(self, percent)


    def GetMargin(self, margin: 'unsigned int const') -> "double":
        """GetMargin(OE2DMolDisplayOptions self, unsigned int const margin) -> double"""
        return _oedepict.OE2DMolDisplayOptions_GetMargin(self, margin)


    def SetAtomSVGMarkupFunctor(self, func: 'OEAtomSVGMarkupBase') -> "void":
        """SetAtomSVGMarkupFunctor(OE2DMolDisplayOptions self, OEAtomSVGMarkupBase func)"""
        return _oedepict.OE2DMolDisplayOptions_SetAtomSVGMarkupFunctor(self, func)


    def GetAtomSVGMarkupFunctor(self) -> "OEDepict::OEAtomSVGMarkupBase const &":
        """GetAtomSVGMarkupFunctor(OE2DMolDisplayOptions self) -> OEAtomSVGMarkupBase"""
        return _oedepict.OE2DMolDisplayOptions_GetAtomSVGMarkupFunctor(self)


    def SetBondSVGMarkupFunctor(self, func: 'OEBondSVGMarkupBase') -> "void":
        """SetBondSVGMarkupFunctor(OE2DMolDisplayOptions self, OEBondSVGMarkupBase func)"""
        return _oedepict.OE2DMolDisplayOptions_SetBondSVGMarkupFunctor(self, func)


    def GetBondSVGMarkupFunctor(self) -> "OEDepict::OEBondSVGMarkupBase const &":
        """GetBondSVGMarkupFunctor(OE2DMolDisplayOptions self) -> OEBondSVGMarkupBase"""
        return _oedepict.OE2DMolDisplayOptions_GetBondSVGMarkupFunctor(self)

OE2DMolDisplayOptions_swigregister = _oedepict.OE2DMolDisplayOptions_swigregister
OE2DMolDisplayOptions_swigregister(OE2DMolDisplayOptions)


def OEConfigure2DMolDisplayOptions(*args) -> "bool":
    """
    OEConfigure2DMolDisplayOptions(OEInterface itf, unsigned int config) -> bool
    OEConfigure2DMolDisplayOptions(OEInterface itf) -> bool
    """
    return _oedepict.OEConfigure2DMolDisplayOptions(*args)

def OESetup2DMolDisplayOptions(arg1: 'OE2DMolDisplayOptions', itf: 'OEInterface') -> "bool":
    """OESetup2DMolDisplayOptions(OE2DMolDisplayOptions arg1, OEInterface itf) -> bool"""
    return _oedepict.OESetup2DMolDisplayOptions(arg1, itf)

def OEConfigureImageOptions(*args) -> "bool":
    """
    OEConfigureImageOptions(OEInterface itf, unsigned int config) -> bool
    OEConfigureImageOptions(OEInterface itf) -> bool
    """
    return _oedepict.OEConfigureImageOptions(*args)

def OEConfigureImageWidth(*args) -> "bool":
    """
    OEConfigureImageWidth(OEInterface itf, double defwidth=0.0, std::string arg3, std::string alias) -> bool
    OEConfigureImageWidth(OEInterface itf, double defwidth=0.0, std::string arg3) -> bool
    OEConfigureImageWidth(OEInterface itf, double defwidth=0.0) -> bool
    OEConfigureImageWidth(OEInterface itf) -> bool
    """
    return _oedepict.OEConfigureImageWidth(*args)

def OEConfigureImageHeight(*args) -> "bool":
    """
    OEConfigureImageHeight(OEInterface itf, double defheight=0.0, std::string arg3, std::string alias) -> bool
    OEConfigureImageHeight(OEInterface itf, double defheight=0.0, std::string arg3) -> bool
    OEConfigureImageHeight(OEInterface itf, double defheight=0.0) -> bool
    OEConfigureImageHeight(OEInterface itf) -> bool
    """
    return _oedepict.OEConfigureImageHeight(*args)

def OEGetImageWidth(*args) -> "double":
    """
    OEGetImageWidth(OEInterface itf, std::string name) -> double
    OEGetImageWidth(OEInterface itf) -> double
    """
    return _oedepict.OEGetImageWidth(*args)

def OEGetImageHeight(*args) -> "double":
    """
    OEGetImageHeight(OEInterface itf, std::string name) -> double
    OEGetImageHeight(OEInterface itf) -> double
    """
    return _oedepict.OEGetImageHeight(*args)
class OEPrepareDepictionOptions(object):
    """Proxy of C++ OEDepict::OEPrepareDepictionOptions class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEPrepareDepictionOptions self, bool clearcoords=False, bool suppressH=True) -> OEPrepareDepictionOptions
        __init__(OEDepict::OEPrepareDepictionOptions self, bool clearcoords=False) -> OEPrepareDepictionOptions
        __init__(OEDepict::OEPrepareDepictionOptions self) -> OEPrepareDepictionOptions
        __init__(OEDepict::OEPrepareDepictionOptions self, OEPrepareDepictionOptions rhs) -> OEPrepareDepictionOptions
        """
        this = _oedepict.new_OEPrepareDepictionOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEPrepareDepictionOptions
    __del__ = lambda self: None

    def SetClearCoords(self, arg2: 'bool') -> "void":
        """SetClearCoords(OEPrepareDepictionOptions self, bool arg2)"""
        return _oedepict.OEPrepareDepictionOptions_SetClearCoords(self, arg2)


    def GetClearCoords(self) -> "bool":
        """GetClearCoords(OEPrepareDepictionOptions self) -> bool"""
        return _oedepict.OEPrepareDepictionOptions_GetClearCoords(self)


    def SetSuppressHydrogens(self, arg2: 'bool') -> "void":
        """SetSuppressHydrogens(OEPrepareDepictionOptions self, bool arg2)"""
        return _oedepict.OEPrepareDepictionOptions_SetSuppressHydrogens(self, arg2)


    def GetSuppressHydrogens(self) -> "bool":
        """GetSuppressHydrogens(OEPrepareDepictionOptions self) -> bool"""
        return _oedepict.OEPrepareDepictionOptions_GetSuppressHydrogens(self)


    def SetAddDepictionHydrogens(self, arg2: 'bool') -> "void":
        """SetAddDepictionHydrogens(OEPrepareDepictionOptions self, bool arg2)"""
        return _oedepict.OEPrepareDepictionOptions_SetAddDepictionHydrogens(self, arg2)


    def GetAddDepictionHydrogens(self) -> "bool":
        """GetAddDepictionHydrogens(OEPrepareDepictionOptions self) -> bool"""
        return _oedepict.OEPrepareDepictionOptions_GetAddDepictionHydrogens(self)


    def SetPerceiveBondStereo(self, arg2: 'bool') -> "void":
        """SetPerceiveBondStereo(OEPrepareDepictionOptions self, bool arg2)"""
        return _oedepict.OEPrepareDepictionOptions_SetPerceiveBondStereo(self, arg2)


    def GetPerceiveBondStereo(self) -> "bool":
        """GetPerceiveBondStereo(OEPrepareDepictionOptions self) -> bool"""
        return _oedepict.OEPrepareDepictionOptions_GetPerceiveBondStereo(self)


    def SetDepictOrientation(self, arg2: 'unsigned int') -> "void":
        """SetDepictOrientation(OEPrepareDepictionOptions self, unsigned int arg2)"""
        return _oedepict.OEPrepareDepictionOptions_SetDepictOrientation(self, arg2)


    def GetDepictOrientation(self) -> "unsigned int":
        """GetDepictOrientation(OEPrepareDepictionOptions self) -> unsigned int"""
        return _oedepict.OEPrepareDepictionOptions_GetDepictOrientation(self)

OEPrepareDepictionOptions_swigregister = _oedepict.OEPrepareDepictionOptions_swigregister
OEPrepareDepictionOptions_swigregister(OEPrepareDepictionOptions)


def OEConfigurePrepareDepictionOptions(*args) -> "bool":
    """
    OEConfigurePrepareDepictionOptions(OEInterface arg1, unsigned int config) -> bool
    OEConfigurePrepareDepictionOptions(OEInterface arg1) -> bool
    """
    return _oedepict.OEConfigurePrepareDepictionOptions(*args)

def OESetupPrepareDepictionOptions(arg1: 'OEPrepareDepictionOptions', itf: 'OEInterface') -> "bool":
    """OESetupPrepareDepictionOptions(OEPrepareDepictionOptions arg1, OEInterface itf) -> bool"""
    return _oedepict.OESetupPrepareDepictionOptions(arg1, itf)

def PyOEWriteImageToString(extension: 'char const *', image: 'OEImage') -> "PyObject *":
    """PyOEWriteImageToString(char const * extension, OEImage image) -> PyObject *"""
    return _oedepict.PyOEWriteImageToString(extension, image)

def OEWriteImageToString(extension: 'char const *', image: 'OEImage') -> "PyObject *":
    """OEWriteImageToString(char const * extension, OEImage image) -> PyObject *"""
    return _oedepict.OEWriteImageToString(extension, image)

def OEWriteImageToBytes(extension: 'char const *', image: 'OEImage') -> "PyObject *":
    """OEWriteImageToBytes(char const * extension, OEImage image) -> PyObject *"""
    return _oedepict.OEWriteImageToBytes(extension, image)

def PyOERenderMoleculeToString(*args) -> "PyObject *":
    """
    PyOERenderMoleculeToString(char const * extension, OE2DMolDisplay disp, bool clearbg) -> PyObject
    PyOERenderMoleculeToString(char const * extension, OEMolBase mol, bool clearbg) -> PyObject *
    """
    return _oedepict.PyOERenderMoleculeToString(*args)

def OERenderMoleculeToString(*args) -> "PyObject *":
    """
    OERenderMoleculeToString(char const * extension, OE2DMolDisplay disp, bool clearbg=True) -> PyObject
    OERenderMoleculeToString(char const * extension, OE2DMolDisplay disp) -> PyObject
    OERenderMoleculeToString(char const * extension, OEMolBase mol, bool clearbg=True) -> PyObject
    OERenderMoleculeToString(char const * extension, OEMolBase mol) -> PyObject *
    """
    return _oedepict.OERenderMoleculeToString(*args)

def OERenderMoleculeToBytes(*args) -> "PyObject *":
    """
    OERenderMoleculeToBytes(char const * extension, OE2DMolDisplay disp, bool clearbg=True) -> PyObject
    OERenderMoleculeToBytes(char const * extension, OE2DMolDisplay disp) -> PyObject
    OERenderMoleculeToBytes(char const * extension, OEMolBase mol, bool clearbg=True) -> PyObject
    OERenderMoleculeToBytes(char const * extension, OEMolBase mol) -> PyObject *
    """
    return _oedepict.OERenderMoleculeToBytes(*args)

def OESuppressNonDepictionHydrogens(mol: 'OEMolBase') -> "bool":
    """OESuppressNonDepictionHydrogens(OEMolBase mol) -> bool"""
    return _oedepict.OESuppressNonDepictionHydrogens(mol)

def OEPrepareDepiction(*args) -> "bool":
    """
    OEPrepareDepiction(OEMolBase mol, bool clearcoords=False, bool suppressH=True) -> bool
    OEPrepareDepiction(OEMolBase mol, bool clearcoords=False) -> bool
    OEPrepareDepiction(OEMolBase mol) -> bool
    OEPrepareDepiction(OEMolBase mol, OEPrepareDepictionOptions opts) -> bool
    """
    return _oedepict.OEPrepareDepiction(*args)

def OEGetMoleculeScale(mol: 'OEMolBase', opts: 'OE2DMolDisplayOptions') -> "double":
    """OEGetMoleculeScale(OEMolBase mol, OE2DMolDisplayOptions opts) -> double"""
    return _oedepict.OEGetMoleculeScale(mol, opts)

def OERenderMolecule(*args) -> "bool":
    """
    OERenderMolecule(std::string const & filename, OEMolBase mol, bool clearbackground=True) -> bool
    OERenderMolecule(std::string const & filename, OEMolBase mol) -> bool
    OERenderMolecule(std::string const & filename, OE2DMolDisplay disp, bool clearbackground=True) -> bool
    OERenderMolecule(std::string const & filename, OE2DMolDisplay disp) -> bool
    OERenderMolecule(oeostream os, std::string const & extension, OEMolBase mol, bool clearbackground=True) -> bool
    OERenderMolecule(oeostream os, std::string const & extension, OEMolBase mol) -> bool
    OERenderMolecule(oeostream os, std::string const & extension, OE2DMolDisplay disp, bool clearbackground=True) -> bool
    OERenderMolecule(oeostream os, std::string const & extension, OE2DMolDisplay disp) -> bool
    OERenderMolecule(OEImageBase image, OEMolBase mol, bool clearbackground=True) -> bool
    OERenderMolecule(OEImageBase image, OEMolBase mol) -> bool
    OERenderMolecule(OEImageBase image, OE2DMolDisplay disp, bool clearbackground=True) -> bool
    OERenderMolecule(OEImageBase image, OE2DMolDisplay disp) -> bool
    """
    return _oedepict.OERenderMolecule(*args)

def OEWriteImage(*args) -> "bool":
    """
    OEWriteImage(std::string const & filename, OEImage image) -> bool
    OEWriteImage(oeostream os, std::string const & extension, OEImage image) -> bool
    """
    return _oedepict.OEWriteImage(*args)

def OEDrawReactionArrow(image: 'OEImageBase', bgn: 'OE2DPoint', end: 'OE2DPoint', pen: 'OEPen') -> "void":
    """OEDrawReactionArrow(OEImageBase image, OE2DPoint bgn, OE2DPoint end, OEPen pen)"""
    return _oedepict.OEDrawReactionArrow(image, bgn, end, pen)

def OEDrawResonanceArrow(image: 'OEImageBase', bgn: 'OE2DPoint', end: 'OE2DPoint', pen: 'OEPen') -> "void":
    """OEDrawResonanceArrow(OEImageBase image, OE2DPoint bgn, OE2DPoint end, OEPen pen)"""
    return _oedepict.OEDrawResonanceArrow(image, bgn, end, pen)

def OEDrawEquilibriumArrow(image: 'OEImageBase', bgn: 'OE2DPoint', end: 'OE2DPoint', pen: 'OEPen') -> "void":
    """OEDrawEquilibriumArrow(OEImageBase image, OE2DPoint bgn, OE2DPoint end, OEPen pen)"""
    return _oedepict.OEDrawEquilibriumArrow(image, bgn, end, pen)

def OEDrawCurvedArrow(image: 'OEImageBase', center: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', radius: 'double', clockwise: 'bool', pen: 'OEPen') -> "void":
    """OEDrawCurvedArrow(OEImageBase image, OE2DPoint center, double bgnAngle, double endAngle, double radius, bool clockwise, OEPen pen)"""
    return _oedepict.OEDrawCurvedArrow(image, center, bgnAngle, endAngle, radius, clockwise, pen)

def OEDrawChevronArrow(image: 'OEImageBase', bgn: 'OE2DPoint', end: 'OE2DPoint', pen: 'OEPen', arrowWidth: 'double'=5.0, gapScale: 'double'=2.0) -> "void":
    """
    OEDrawChevronArrow(OEImageBase image, OE2DPoint bgn, OE2DPoint end, OEPen pen, double arrowWidth=5.0, double gapScale=2.0)
    OEDrawChevronArrow(OEImageBase image, OE2DPoint bgn, OE2DPoint end, OEPen pen, double arrowWidth=5.0)
    OEDrawChevronArrow(OEImageBase image, OE2DPoint bgn, OE2DPoint end, OEPen pen)
    """
    return _oedepict.OEDrawChevronArrow(image, bgn, end, pen, arrowWidth, gapScale)

def OEGetCenter(image: 'OEImageBase') -> "OEDepict::OE2DPoint":
    """OEGetCenter(OEImageBase image) -> OE2DPoint"""
    return _oedepict.OEGetCenter(image)

def OEDrawBorder(image: 'OEImageBase', arg2: 'OEPen') -> "void":
    """OEDrawBorder(OEImageBase image, OEPen arg2)"""
    return _oedepict.OEDrawBorder(image, arg2)

def OEDrawCurvedBorder(image: 'OEImageBase', pen: 'OEPen', radius: 'double') -> "void":
    """OEDrawCurvedBorder(OEImageBase image, OEPen pen, double radius)"""
    return _oedepict.OEDrawCurvedBorder(image, pen, radius)

def OEDrawCurvedRectangle(image: 'OEImageBase', tl: 'OE2DPoint', br: 'OE2DPoint', pen: 'OEPen', radius: 'double') -> "void":
    """OEDrawCurvedRectangle(OEImageBase image, OE2DPoint tl, OE2DPoint br, OEPen pen, double radius)"""
    return _oedepict.OEDrawCurvedRectangle(image, tl, br, pen, radius)

def OEDrawTextToCenter(image: 'OEImageBase', text: 'std::string const &', font: 'OEFont') -> "void":
    """OEDrawTextToCenter(OEImageBase image, std::string const & text, OEFont font)"""
    return _oedepict.OEDrawTextToCenter(image, text, font)

def OEDrawText(image: 'OEImageBase', text: 'std::string const &', font: 'OEFont', padding: 'double'=5.0) -> "void":
    """
    OEDrawText(OEImageBase image, std::string const & text, OEFont font, double padding=5.0)
    OEDrawText(OEImageBase image, std::string const & text, OEFont font)
    """
    return _oedepict.OEDrawText(image, text, font, padding)

def OEAddOpenEyeIcon(*args) -> "void":
    """
    OEAddOpenEyeIcon(OE2DMolDisplay disp, unsigned int loc, double scale=1.0)
    OEAddOpenEyeIcon(OE2DMolDisplay disp, unsigned int loc)
    OEAddOpenEyeIcon(OE2DMolDisplay disp)
    OEAddOpenEyeIcon(OEImageBase image, unsigned int loc, double scale=1.0)
    OEAddOpenEyeIcon(OEImageBase image, unsigned int loc)
    OEAddOpenEyeIcon(OEImageBase image)
    """
    return _oedepict.OEAddOpenEyeIcon(*args)

def OEAddInteractiveIcon(*args) -> "void":
    """
    OEAddInteractiveIcon(OE2DMolDisplay disp, unsigned int loc, double scale=1.0)
    OEAddInteractiveIcon(OE2DMolDisplay disp, unsigned int loc)
    OEAddInteractiveIcon(OE2DMolDisplay disp)
    OEAddInteractiveIcon(OEImageBase image, unsigned int loc, double scale=1.0)
    OEAddInteractiveIcon(OEImageBase image, unsigned int loc)
    OEAddInteractiveIcon(OEImageBase image)
    """
    return _oedepict.OEAddInteractiveIcon(*args)

def OEAddWatermark(*args) -> "void":
    """
    OEAddWatermark(OE2DMolDisplay disp, std::string const & text, double scale=1.0)
    OEAddWatermark(OE2DMolDisplay disp, std::string const & text)
    OEAddWatermark(OEImageBase image, std::string const & text, double scale=1.0)
    OEAddWatermark(OEImageBase image, std::string const & text)
    """
    return _oedepict.OEAddWatermark(*args)
class OEAlignmentOptions(object):
    """Proxy of C++ OEDepict::OEAlignmentOptions class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEAlignmentOptions self) -> OEAlignmentOptions
        __init__(OEDepict::OEAlignmentOptions self, bool rotateBonds, bool clearcoords, bool suppressH) -> OEAlignmentOptions
        __init__(OEDepict::OEAlignmentOptions self, OEAlignmentOptions arg2) -> OEAlignmentOptions
        """
        this = _oedepict.new_OEAlignmentOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEAlignmentOptions
    __del__ = lambda self: None

    def SetRotateAroundBonds(self, r: 'bool') -> "void":
        """SetRotateAroundBonds(OEAlignmentOptions self, bool r)"""
        return _oedepict.OEAlignmentOptions_SetRotateAroundBonds(self, r)


    def GetRotateAroundBonds(self) -> "bool":
        """GetRotateAroundBonds(OEAlignmentOptions self) -> bool"""
        return _oedepict.OEAlignmentOptions_GetRotateAroundBonds(self)


    def SetClearCoords(self, c: 'bool') -> "void":
        """SetClearCoords(OEAlignmentOptions self, bool c)"""
        return _oedepict.OEAlignmentOptions_SetClearCoords(self, c)


    def GetClearCoords(self) -> "bool":
        """GetClearCoords(OEAlignmentOptions self) -> bool"""
        return _oedepict.OEAlignmentOptions_GetClearCoords(self)


    def SetFixedCoords(self, f: 'bool') -> "void":
        """SetFixedCoords(OEAlignmentOptions self, bool f)"""
        return _oedepict.OEAlignmentOptions_SetFixedCoords(self, f)


    def GetFixedCoords(self) -> "bool":
        """GetFixedCoords(OEAlignmentOptions self) -> bool"""
        return _oedepict.OEAlignmentOptions_GetFixedCoords(self)


    def SetSuppressHydrogens(self, s: 'bool') -> "void":
        """SetSuppressHydrogens(OEAlignmentOptions self, bool s)"""
        return _oedepict.OEAlignmentOptions_SetSuppressHydrogens(self, s)


    def GetSuppressHydrogens(self) -> "bool":
        """GetSuppressHydrogens(OEAlignmentOptions self) -> bool"""
        return _oedepict.OEAlignmentOptions_GetSuppressHydrogens(self)


    def SetAddDepictionHydrogens(self, a: 'bool') -> "void":
        """SetAddDepictionHydrogens(OEAlignmentOptions self, bool a)"""
        return _oedepict.OEAlignmentOptions_SetAddDepictionHydrogens(self, a)


    def GetAddDepictionHydrogens(self) -> "bool":
        """GetAddDepictionHydrogens(OEAlignmentOptions self) -> bool"""
        return _oedepict.OEAlignmentOptions_GetAddDepictionHydrogens(self)


    def SetRMSDCutoff(self, r: 'double') -> "void":
        """SetRMSDCutoff(OEAlignmentOptions self, double r)"""
        return _oedepict.OEAlignmentOptions_SetRMSDCutoff(self, r)


    def GetRMSDCutoff(self) -> "double":
        """GetRMSDCutoff(OEAlignmentOptions self) -> double"""
        return _oedepict.OEAlignmentOptions_GetRMSDCutoff(self)


    def SetMaxBondRotations(self, m: 'unsigned int') -> "void":
        """SetMaxBondRotations(OEAlignmentOptions self, unsigned int m)"""
        return _oedepict.OEAlignmentOptions_SetMaxBondRotations(self, m)


    def GetMaxBondRotations(self) -> "unsigned int":
        """GetMaxBondRotations(OEAlignmentOptions self) -> unsigned int"""
        return _oedepict.OEAlignmentOptions_GetMaxBondRotations(self)


    def SetMaxPatternMatches(self, m: 'unsigned int') -> "void":
        """SetMaxPatternMatches(OEAlignmentOptions self, unsigned int m)"""
        return _oedepict.OEAlignmentOptions_SetMaxPatternMatches(self, m)


    def GetMaxPatternMatches(self) -> "unsigned int":
        """GetMaxPatternMatches(OEAlignmentOptions self) -> unsigned int"""
        return _oedepict.OEAlignmentOptions_GetMaxPatternMatches(self)


    def SetMaxAllowedAtomPairClashes(self, m: 'unsigned int') -> "void":
        """SetMaxAllowedAtomPairClashes(OEAlignmentOptions self, unsigned int m)"""
        return _oedepict.OEAlignmentOptions_SetMaxAllowedAtomPairClashes(self, m)


    def GetMaxAllowedAtomPairClashes(self) -> "unsigned int":
        """GetMaxAllowedAtomPairClashes(OEAlignmentOptions self) -> unsigned int"""
        return _oedepict.OEAlignmentOptions_GetMaxAllowedAtomPairClashes(self)

OEAlignmentOptions_swigregister = _oedepict.OEAlignmentOptions_swigregister
OEAlignmentOptions_swigregister(OEAlignmentOptions)

class OEAlignmentResult(oechem.OEMatchBase):
    """Proxy of C++ OEDepict::OEAlignmentResult class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEAlignmentResult self) -> OEAlignmentResult
        __init__(OEDepict::OEAlignmentResult self, OEMatchBase rhs) -> OEAlignmentResult
        __init__(OEDepict::OEAlignmentResult self, OEAlignmentResult rhs) -> OEAlignmentResult
        """
        this = _oedepict.new_OEAlignmentResult(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEAlignmentResult
    __del__ = lambda self: None

    def IsValid(self) -> "bool":
        """IsValid(OEAlignmentResult self) -> bool"""
        return _oedepict.OEAlignmentResult_IsValid(self)


    def Clear(self) -> "void":
        """Clear(OEAlignmentResult self)"""
        return _oedepict.OEAlignmentResult_Clear(self)


    def CreateCopy(self) -> "OEChem::OEMatchBase *":
        """CreateCopy(OEAlignmentResult self) -> OEMatchBase"""
        return _oedepict.OEAlignmentResult_CreateCopy(self)


    def NumAtoms(self) -> "unsigned int":
        """NumAtoms(OEAlignmentResult self) -> unsigned int"""
        return _oedepict.OEAlignmentResult_NumAtoms(self)


    def NumBonds(self) -> "unsigned int":
        """NumBonds(OEAlignmentResult self) -> unsigned int"""
        return _oedepict.OEAlignmentResult_NumBonds(self)


    def GetAtoms(self) -> "OESystem::OEIterBase< OEChem::OEMatchPair< OEChem::OEAtomBase > > *":
        """GetAtoms(OEAlignmentResult self) -> OESystem::OEIterBase< OEChem::OEMatchPair< OEChem::OEAtomBase > > *"""
        return _oedepict.OEAlignmentResult_GetAtoms(self)


    def GetBonds(self) -> "OESystem::OEIterBase< OEChem::OEMatchPair< OEChem::OEBondBase > > *":
        """GetBonds(OEAlignmentResult self) -> OESystem::OEIterBase< OEChem::OEMatchPair< OEChem::OEBondBase > > *"""
        return _oedepict.OEAlignmentResult_GetBonds(self)


    def GetRMSD(self) -> "double":
        """GetRMSD(OEAlignmentResult self) -> double"""
        return _oedepict.OEAlignmentResult_GetRMSD(self)

OEAlignmentResult_swigregister = _oedepict.OEAlignmentResult_swigregister
OEAlignmentResult_swigregister(OEAlignmentResult)


def OEPrepareAlignedDepiction(*args) -> "OEDepict::OEAlignmentResult":
    """
    OEPrepareAlignedDepiction(OEMolBase fitmol, OEMolBase refmol, OEMatchBase match, bool clearCoords=True, bool suppressH=True) -> bool
    OEPrepareAlignedDepiction(OEMolBase fitmol, OEMolBase refmol, OEMatchBase match, bool clearCoords=True) -> bool
    OEPrepareAlignedDepiction(OEMolBase fitmol, OEMolBase refmol, OEMatchBase match) -> bool
    OEPrepareAlignedDepiction(OEMolBase fitmol, OEMolBase refmol, OEMatchBase match, OEAlignmentOptions opts) -> bool
    OEPrepareAlignedDepiction(OEMolBase fitmol, OEMCSSearch mcss, OEAlignmentOptions opts) -> OEAlignmentResult
    OEPrepareAlignedDepiction(OEMolBase fitmol, OEMCSSearch mcss) -> OEAlignmentResult
    OEPrepareAlignedDepiction(OEMolBase fitmol, OESubSearch subsrc, OEAlignmentOptions opts) -> OEAlignmentResult
    OEPrepareAlignedDepiction(OEMolBase fitmol, OESubSearch subsrc) -> OEAlignmentResult
    OEPrepareAlignedDepiction(OEMolBase fitmol, OEMolBase refmol, OESystem::OEIter< OEChem::OEMatchBase const > & miter, OEAlignmentOptions opts) -> OEAlignmentResult
    OEPrepareAlignedDepiction(OEMolBase fitmol, OEMolBase refmol, OESystem::OEIter< OEChem::OEMatchBase const > & miter) -> OEAlignmentResult
    """
    return _oedepict.OEPrepareAlignedDepiction(*args)

def OEPrepareMultiAlignedDepiction(fitmol: 'OEMolBase', refmol: 'OEMolBase', miter: 'OEMatchBaseIter') -> "bool":
    """OEPrepareMultiAlignedDepiction(OEMolBase fitmol, OEMolBase refmol, OEMatchBaseIter miter) -> bool"""
    return _oedepict.OEPrepareMultiAlignedDepiction(fitmol, refmol, miter)

def OEEstimateTextWidth(text: 'std::string const &', font: 'OEFont') -> "double":
    """OEEstimateTextWidth(std::string const & text, OEFont font) -> double"""
    return _oedepict.OEEstimateTextWidth(text, font)

def OEReduceFontSizeToFit(text: 'std::string const &', font: 'OEFont', minfontsize: 'unsigned int', maxwidth: 'double') -> "unsigned int":
    """OEReduceFontSizeToFit(std::string const & text, OEFont font, unsigned int minfontsize, double maxwidth) -> unsigned int"""
    return _oedepict.OEReduceFontSizeToFit(text, font, minfontsize, maxwidth)
class OENearestAtom(object):
    """Proxy of C++ OEDepict::OENearestAtom class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OENearestAtom self) -> OENearestAtom
        __init__(OEDepict::OENearestAtom self, OEAtomBase atom, double dist) -> OENearestAtom
        __init__(OEDepict::OENearestAtom self, OEAtomBase atom, double dist, OE2DPoint pos) -> OENearestAtom
        __init__(OEDepict::OENearestAtom self, OENearestAtom arg2) -> OENearestAtom
        """
        this = _oedepict.new_OENearestAtom(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OENearestAtom
    __del__ = lambda self: None

    def GetAtom(self) -> "OEChem::OEAtomBase const *":
        """GetAtom(OENearestAtom self) -> OEAtomBase"""
        return _oedepict.OENearestAtom_GetAtom(self)


    def GetDist(self) -> "double":
        """GetDist(OENearestAtom self) -> double"""
        return _oedepict.OENearestAtom_GetDist(self)


    def GetDisplayPosition(self) -> "OEDepict::OE2DPoint const &":
        """GetDisplayPosition(OENearestAtom self) -> OE2DPoint"""
        return _oedepict.OENearestAtom_GetDisplayPosition(self)


    def IsValid(self) -> "bool":
        """IsValid(OENearestAtom self) -> bool"""
        return _oedepict.OENearestAtom_IsValid(self)

OENearestAtom_swigregister = _oedepict.OENearestAtom_swigregister
OENearestAtom_swigregister(OENearestAtom)

class OENearestBond(object):
    """Proxy of C++ OEDepict::OENearestBond class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OENearestBond self) -> OENearestBond
        __init__(OEDepict::OENearestBond self, OEBondBase bond, double dist) -> OENearestBond
        __init__(OEDepict::OENearestBond self, OEBondBase bond, double dist, OE2DPoint pos) -> OENearestBond
        __init__(OEDepict::OENearestBond self, OENearestBond arg2) -> OENearestBond
        """
        this = _oedepict.new_OENearestBond(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OENearestBond
    __del__ = lambda self: None

    def GetBond(self) -> "OEChem::OEBondBase const *":
        """GetBond(OENearestBond self) -> OEBondBase"""
        return _oedepict.OENearestBond_GetBond(self)


    def GetDist(self) -> "double":
        """GetDist(OENearestBond self) -> double"""
        return _oedepict.OENearestBond_GetDist(self)


    def GetDisplayPosition(self) -> "OEDepict::OE2DPoint const &":
        """GetDisplayPosition(OENearestBond self) -> OE2DPoint"""
        return _oedepict.OENearestBond_GetDisplayPosition(self)


    def IsValid(self) -> "bool":
        """IsValid(OENearestBond self) -> bool"""
        return _oedepict.OENearestBond_IsValid(self)

OENearestBond_swigregister = _oedepict.OENearestBond_swigregister
OENearestBond_swigregister(OENearestBond)


def OEGetNearestAtom(disp: 'OE2DMolDisplay', p: 'OE2DPoint') -> "OEDepict::OENearestAtom":
    """OEGetNearestAtom(OE2DMolDisplay disp, OE2DPoint p) -> OENearestAtom"""
    return _oedepict.OEGetNearestAtom(disp, p)

def OEGetNearestBond(disp: 'OE2DMolDisplay', p: 'OE2DPoint') -> "OEDepict::OENearestBond":
    """OEGetNearestBond(OE2DMolDisplay disp, OE2DPoint p) -> OENearestBond"""
    return _oedepict.OEGetNearestBond(disp, p)

def OEGetNearbyAtom(disp: 'OE2DMolDisplay', p: 'OE2DPoint', radiusscale: 'double'=1.0) -> "OEDepict::OENearestAtom":
    """
    OEGetNearbyAtom(OE2DMolDisplay disp, OE2DPoint p, double radiusscale=1.0) -> OENearestAtom
    OEGetNearbyAtom(OE2DMolDisplay disp, OE2DPoint p) -> OENearestAtom
    """
    return _oedepict.OEGetNearbyAtom(disp, p, radiusscale)

def OEGetNearbyBond(disp: 'OE2DMolDisplay', p: 'OE2DPoint', radiusscale: 'double'=1.0) -> "OEDepict::OENearestBond":
    """
    OEGetNearbyBond(OE2DMolDisplay disp, OE2DPoint p, double radiusscale=1.0) -> OENearestBond
    OEGetNearbyBond(OE2DMolDisplay disp, OE2DPoint p) -> OENearestBond
    """
    return _oedepict.OEGetNearbyBond(disp, p, radiusscale)

def OEGetMoleculeCoords(disp: 'OE2DMolDisplay', p: 'OE2DPoint') -> "OEDepict::OE2DPoint":
    """OEGetMoleculeCoords(OE2DMolDisplay disp, OE2DPoint p) -> OE2DPoint"""
    return _oedepict.OEGetMoleculeCoords(disp, p)

def OEGetDisplayCoords(disp: 'OE2DMolDisplay', p: 'OE2DPoint') -> "OEDepict::OE2DPoint":
    """OEGetDisplayCoords(OE2DMolDisplay disp, OE2DPoint p) -> OE2DPoint"""
    return _oedepict.OEGetDisplayCoords(disp, p)

def OEGetAverageBondLengthInDispCoords(disp: 'OE2DMolDisplay') -> "double":
    """OEGetAverageBondLengthInDispCoords(OE2DMolDisplay disp) -> double"""
    return _oedepict.OEGetAverageBondLengthInDispCoords(disp)
class OEImageFrame(OEImageBase):
    """Proxy of C++ OEDepict::OEImageFrame class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEImageFrame self, OEImageBase parent, double width, double height, OE2DPoint offset) -> OEImageFrame
        __init__(OEDepict::OEImageFrame self, OEImageBase parent, double padding) -> OEImageFrame
        """
        this = _oedepict.new_OEImageFrame(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEImageFrame
    __del__ = lambda self: None

    def GetWidth(self) -> "double":
        """GetWidth(OEImageFrame self) -> double"""
        return _oedepict.OEImageFrame_GetWidth(self)


    def GetHeight(self) -> "double":
        """GetHeight(OEImageFrame self) -> double"""
        return _oedepict.OEImageFrame_GetHeight(self)


    def GetOffset(self) -> "OEDepict::OE2DPoint const &":
        """GetOffset(OEImageFrame self) -> OE2DPoint"""
        return _oedepict.OEImageFrame_GetOffset(self)


    def DrawPoint(self, p: 'OE2DPoint', color: 'OEColor') -> "void":
        """DrawPoint(OEImageFrame self, OE2DPoint p, OEColor color)"""
        return _oedepict.OEImageFrame_DrawPoint(self, p, color)


    def Clear(self, arg2: 'OEColor') -> "void":
        """Clear(OEImageFrame self, OEColor arg2)"""
        return _oedepict.OEImageFrame_Clear(self, arg2)


    def DrawLine(self, bgn: 'OE2DPoint', end: 'OE2DPoint', pen: 'OEPen') -> "void":
        """DrawLine(OEImageFrame self, OE2DPoint bgn, OE2DPoint end, OEPen pen)"""
        return _oedepict.OEImageFrame_DrawLine(self, bgn, end, pen)


    def DrawRectangle(self, tl: 'OE2DPoint', br: 'OE2DPoint', pen: 'OEPen') -> "void":
        """DrawRectangle(OEImageFrame self, OE2DPoint tl, OE2DPoint br, OEPen pen)"""
        return _oedepict.OEImageFrame_DrawRectangle(self, tl, br, pen)


    def DrawArc(self, c: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', rad: 'double', pen: 'OEPen') -> "void":
        """DrawArc(OEImageFrame self, OE2DPoint c, double bgnAngle, double endAngle, double rad, OEPen pen)"""
        return _oedepict.OEImageFrame_DrawArc(self, c, bgnAngle, endAngle, rad, pen)


    def DrawPie(self, c: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', rad: 'double', pen: 'OEPen') -> "void":
        """DrawPie(OEImageFrame self, OE2DPoint c, double bgnAngle, double endAngle, double rad, OEPen pen)"""
        return _oedepict.OEImageFrame_DrawPie(self, c, bgnAngle, endAngle, rad, pen)


    def DrawCircle(self, c: 'OE2DPoint', rad: 'double', pen: 'OEPen') -> "void":
        """DrawCircle(OEImageFrame self, OE2DPoint c, double rad, OEPen pen)"""
        return _oedepict.OEImageFrame_DrawCircle(self, c, rad, pen)


    def DrawTriangle(self, arg2: 'OE2DPoint', arg3: 'OE2DPoint', arg4: 'OE2DPoint', arg5: 'OEPen') -> "void":
        """DrawTriangle(OEImageFrame self, OE2DPoint arg2, OE2DPoint arg3, OE2DPoint arg4, OEPen arg5)"""
        return _oedepict.OEImageFrame_DrawTriangle(self, arg2, arg3, arg4, arg5)


    def DrawPath(self, path: 'OE2DPath', pen: 'OEPen') -> "void":
        """DrawPath(OEImageFrame self, OE2DPath path, OEPen pen)"""
        return _oedepict.OEImageFrame_DrawPath(self, path, pen)


    def DrawCubicBezier(self, bgn: 'OE2DPoint', c1: 'OE2DPoint', c2: 'OE2DPoint', end: 'OE2DPoint', pen: 'OEPen') -> "void":
        """DrawCubicBezier(OEImageFrame self, OE2DPoint bgn, OE2DPoint c1, OE2DPoint c2, OE2DPoint end, OEPen pen)"""
        return _oedepict.OEImageFrame_DrawCubicBezier(self, bgn, c1, c2, end, pen)


    def DrawQuadraticBezier(self, bgn: 'OE2DPoint', c1: 'OE2DPoint', end: 'OE2DPoint', pen: 'OEPen') -> "void":
        """DrawQuadraticBezier(OEImageFrame self, OE2DPoint bgn, OE2DPoint c1, OE2DPoint end, OEPen pen)"""
        return _oedepict.OEImageFrame_DrawQuadraticBezier(self, bgn, c1, end, pen)


    def DrawText(self, c: 'OE2DPoint', text: 'std::string const &', font: 'OEFont', maxwidth: 'double'=0.0) -> "void":
        """
        DrawText(OEImageFrame self, OE2DPoint c, std::string const & text, OEFont font, double maxwidth=0.0)
        DrawText(OEImageFrame self, OE2DPoint c, std::string const & text, OEFont font)
        """
        return _oedepict.OEImageFrame_DrawText(self, c, text, font, maxwidth)


    def NewSVGGroup(self, id: 'std::string const &') -> "OEDepict::OESVGGroup *":
        """NewSVGGroup(OEImageFrame self, std::string const & id) -> OESVGGroup"""
        return _oedepict.OEImageFrame_NewSVGGroup(self, id)


    def NewSVGClass(self, name: 'std::string const &') -> "OEDepict::OESVGClass *":
        """NewSVGClass(OEImageFrame self, std::string const & name) -> OESVGClass"""
        return _oedepict.OEImageFrame_NewSVGClass(self, name)


    def GetSVGGroup(self, id: 'std::string const &') -> "OEDepict::OESVGGroup *":
        """GetSVGGroup(OEImageFrame self, std::string const & id) -> OESVGGroup"""
        return _oedepict.OEImageFrame_GetSVGGroup(self, id)


    def GetSVGClass(self, name: 'std::string const &') -> "OEDepict::OESVGClass *":
        """GetSVGClass(OEImageFrame self, std::string const & name) -> OESVGClass"""
        return _oedepict.OEImageFrame_GetSVGClass(self, name)


    def PushGroup(self, arg2: 'OESVGGroup') -> "bool":
        """PushGroup(OEImageFrame self, OESVGGroup arg2) -> bool"""
        return _oedepict.OEImageFrame_PushGroup(self, arg2)


    def PopGroup(self, arg2: 'OESVGGroup') -> "bool":
        """PopGroup(OEImageFrame self, OESVGGroup arg2) -> bool"""
        return _oedepict.OEImageFrame_PopGroup(self, arg2)


    def DrawPolygon(self, *args) -> "PyObject *":
        """
        DrawPolygon(OEImageFrame self, std::vector< OEDepict::OE2DPoint,std::allocator< OEDepict::OE2DPoint > > const & p, OEPen pen)
        DrawPolygon(OEImageFrame self, PyObject * points, OEPen pen) -> PyObject *
        """
        return _oedepict.OEImageFrame_DrawPolygon(self, *args)

OEImageFrame_swigregister = _oedepict.OEImageFrame_swigregister
OEImageFrame_swigregister(OEImageFrame)

class OEImageGrid(object):
    """Proxy of C++ OEDepict::OEImageGrid class."""

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

    def __init__(self, image: 'OEImageBase', rows: 'unsigned int', cols: 'unsigned int'):
        """__init__(OEDepict::OEImageGrid self, OEImageBase image, unsigned int rows, unsigned int cols) -> OEImageGrid"""
        this = _oedepict.new_OEImageGrid(image, rows, cols)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEImageGrid
    __del__ = lambda self: None

    def NumRows(self) -> "unsigned int":
        """NumRows(OEImageGrid self) -> unsigned int"""
        return _oedepict.OEImageGrid_NumRows(self)


    def NumCols(self) -> "unsigned int":
        """NumCols(OEImageGrid self) -> unsigned int"""
        return _oedepict.OEImageGrid_NumCols(self)


    def GetCellWidth(self) -> "double":
        """GetCellWidth(OEImageGrid self) -> double"""
        return _oedepict.OEImageGrid_GetCellWidth(self)


    def GetCellHeight(self) -> "double":
        """GetCellHeight(OEImageGrid self) -> double"""
        return _oedepict.OEImageGrid_GetCellHeight(self)


    def SetMargin(self, margin: 'unsigned int', size: 'double') -> "bool":
        """SetMargin(OEImageGrid self, unsigned int margin, double size) -> bool"""
        return _oedepict.OEImageGrid_SetMargin(self, margin, size)


    def SetMargins(self, size: 'double') -> "bool":
        """SetMargins(OEImageGrid self, double size) -> bool"""
        return _oedepict.OEImageGrid_SetMargins(self, size)


    def GetMargin(self, margin: 'unsigned int') -> "double":
        """GetMargin(OEImageGrid self, unsigned int margin) -> double"""
        return _oedepict.OEImageGrid_GetMargin(self, margin)


    def SetCellGap(self, size: 'double') -> "bool":
        """SetCellGap(OEImageGrid self, double size) -> bool"""
        return _oedepict.OEImageGrid_SetCellGap(self, size)


    def GetCellGap(self) -> "double":
        """GetCellGap(OEImageGrid self) -> double"""
        return _oedepict.OEImageGrid_GetCellGap(self)


    def GetCell(self, row: 'unsigned int', col: 'unsigned int') -> "OEDepict::OEImageBase *":
        """GetCell(OEImageGrid self, unsigned int row, unsigned int col) -> OEImageBase"""
        return _oedepict.OEImageGrid_GetCell(self, row, col)


    def GetCells(self, row: 'unsigned int'=0, col: 'unsigned int'=0) -> "OESystem::OEIterBase< OEDepict::OEImageBase > *":
        """
        GetCells(OEImageGrid self, unsigned int row=0, unsigned int col=0) -> OESystem::OEIterBase< OEDepict::OEImageBase >
        GetCells(OEImageGrid self, unsigned int row=0) -> OESystem::OEIterBase< OEDepict::OEImageBase >
        GetCells(OEImageGrid self) -> OESystem::OEIterBase< OEDepict::OEImageBase > *
        """
        return _oedepict.OEImageGrid_GetCells(self, row, col)

OEImageGrid_swigregister = _oedepict.OEImageGrid_swigregister
OEImageGrid_swigregister(OEImageGrid)


def OEConfigureImageGridParams(*args) -> "bool":
    """
    OEConfigureImageGridParams(OEInterface itf, unsigned int config) -> bool
    OEConfigureImageGridParams(OEInterface itf) -> bool
    """
    return _oedepict.OEConfigureImageGridParams(*args)

def OEGetImageGridNumRows(*args) -> "unsigned int":
    """
    OEGetImageGridNumRows(OEInterface itf, std::string name) -> unsigned int
    OEGetImageGridNumRows(OEInterface itf) -> unsigned int
    """
    return _oedepict.OEGetImageGridNumRows(*args)

def OEGetImageGridNumColumns(*args) -> "unsigned int":
    """
    OEGetImageGridNumColumns(OEInterface itf, std::string name) -> unsigned int
    OEGetImageGridNumColumns(OEInterface itf) -> unsigned int
    """
    return _oedepict.OEGetImageGridNumColumns(*args)

def OEConfigureImageGridNumRows(*args) -> "bool":
    """
    OEConfigureImageGridNumRows(OEInterface itf, std::string name, std::string alias) -> bool
    OEConfigureImageGridNumRows(OEInterface itf, std::string name) -> bool
    OEConfigureImageGridNumRows(OEInterface itf) -> bool
    OEConfigureImageGridNumRows(OEInterface itf, unsigned int defnumrows, std::string arg3, std::string alias) -> bool
    OEConfigureImageGridNumRows(OEInterface itf, unsigned int defnumrows, std::string arg3) -> bool
    OEConfigureImageGridNumRows(OEInterface itf, unsigned int defnumrows) -> bool
    """
    return _oedepict.OEConfigureImageGridNumRows(*args)

def OEConfigureImageGridNumColumns(*args) -> "bool":
    """
    OEConfigureImageGridNumColumns(OEInterface itf, std::string name, std::string alias) -> bool
    OEConfigureImageGridNumColumns(OEInterface itf, std::string name) -> bool
    OEConfigureImageGridNumColumns(OEInterface itf) -> bool
    OEConfigureImageGridNumColumns(OEInterface itf, unsigned int defnumcols, std::string arg3, std::string alias) -> bool
    OEConfigureImageGridNumColumns(OEInterface itf, unsigned int defnumcols, std::string arg3) -> bool
    OEConfigureImageGridNumColumns(OEInterface itf, unsigned int defnumcols) -> bool
    """
    return _oedepict.OEConfigureImageGridNumColumns(*args)
class OEImageTableOptions(object):
    """Proxy of C++ OEDepict::OEImageTableOptions class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEImageTableOptions self, unsigned int rows, unsigned int cols, unsigned int style) -> OEImageTableOptions
        __init__(OEDepict::OEImageTableOptions self, unsigned int rows, unsigned int cols) -> OEImageTableOptions
        __init__(OEDepict::OEImageTableOptions self, OEImageTableOptions arg2) -> OEImageTableOptions
        """
        this = _oedepict.new_OEImageTableOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEImageTableOptions
    __del__ = lambda self: None

    def NumRows(self) -> "unsigned int":
        """NumRows(OEImageTableOptions self) -> unsigned int"""
        return _oedepict.OEImageTableOptions_NumRows(self)


    def NumColumns(self) -> "unsigned int":
        """NumColumns(OEImageTableOptions self) -> unsigned int"""
        return _oedepict.OEImageTableOptions_NumColumns(self)


    def SetRowHeights(self, arg2: 'OEUIntVector') -> "bool":
        """SetRowHeights(OEImageTableOptions self, OEUIntVector arg2) -> bool"""
        return _oedepict.OEImageTableOptions_SetRowHeights(self, arg2)


    def SetColumnWidths(self, arg2: 'OEUIntVector') -> "bool":
        """SetColumnWidths(OEImageTableOptions self, OEUIntVector arg2) -> bool"""
        return _oedepict.OEImageTableOptions_SetColumnWidths(self, arg2)


    def HasStubColumn(self) -> "bool":
        """HasStubColumn(OEImageTableOptions self) -> bool"""
        return _oedepict.OEImageTableOptions_HasStubColumn(self)


    def SetStubColumn(self, has: 'bool') -> "bool":
        """SetStubColumn(OEImageTableOptions self, bool has) -> bool"""
        return _oedepict.OEImageTableOptions_SetStubColumn(self, has)


    def HasHeader(self) -> "bool":
        """HasHeader(OEImageTableOptions self) -> bool"""
        return _oedepict.OEImageTableOptions_HasHeader(self)


    def SetHeader(self, has: 'bool') -> "bool":
        """SetHeader(OEImageTableOptions self, bool has) -> bool"""
        return _oedepict.OEImageTableOptions_SetHeader(self, has)


    def SetMargin(self, margin: 'unsigned int', percent: 'double') -> "bool":
        """SetMargin(OEImageTableOptions self, unsigned int margin, double percent) -> bool"""
        return _oedepict.OEImageTableOptions_SetMargin(self, margin, percent)


    def SetMargins(self, percent: 'double') -> "bool":
        """SetMargins(OEImageTableOptions self, double percent) -> bool"""
        return _oedepict.OEImageTableOptions_SetMargins(self, percent)


    def GetMargin(self, margin: 'unsigned int') -> "double":
        """GetMargin(OEImageTableOptions self, unsigned int margin) -> double"""
        return _oedepict.OEImageTableOptions_GetMargin(self, margin)


    def GetCellColor(self, even: 'bool'=True) -> "OESystem::OEColor const":
        """
        GetCellColor(OEImageTableOptions self, bool even=True) -> OEColor
        GetCellColor(OEImageTableOptions self) -> OEColor
        """
        return _oedepict.OEImageTableOptions_GetCellColor(self, even)


    def SetCellColor(self, arg2: 'OEColor', even: 'bool'=True) -> "void":
        """
        SetCellColor(OEImageTableOptions self, OEColor arg2, bool even=True)
        SetCellColor(OEImageTableOptions self, OEColor arg2)
        """
        return _oedepict.OEImageTableOptions_SetCellColor(self, arg2, even)


    def GetStubColumnColor(self) -> "OESystem::OEColor const":
        """GetStubColumnColor(OEImageTableOptions self) -> OEColor"""
        return _oedepict.OEImageTableOptions_GetStubColumnColor(self)


    def SetStubColumnColor(self, arg2: 'OEColor') -> "void":
        """SetStubColumnColor(OEImageTableOptions self, OEColor arg2)"""
        return _oedepict.OEImageTableOptions_SetStubColumnColor(self, arg2)


    def GetHeaderColor(self) -> "OESystem::OEColor const":
        """GetHeaderColor(OEImageTableOptions self) -> OEColor"""
        return _oedepict.OEImageTableOptions_GetHeaderColor(self)


    def SetHeaderColor(self, arg2: 'OEColor') -> "void":
        """SetHeaderColor(OEImageTableOptions self, OEColor arg2)"""
        return _oedepict.OEImageTableOptions_SetHeaderColor(self, arg2)


    def SetBaseFontSize(self, fsize: 'unsigned int') -> "void":
        """SetBaseFontSize(OEImageTableOptions self, unsigned int fsize)"""
        return _oedepict.OEImageTableOptions_SetBaseFontSize(self, fsize)


    def GetCellFont(self) -> "OEDepict::OEFont const":
        """GetCellFont(OEImageTableOptions self) -> OEFont"""
        return _oedepict.OEImageTableOptions_GetCellFont(self)


    def SetCellFont(self, arg2: 'OEFont') -> "void":
        """SetCellFont(OEImageTableOptions self, OEFont arg2)"""
        return _oedepict.OEImageTableOptions_SetCellFont(self, arg2)


    def GetStubColumnFont(self) -> "OEDepict::OEFont const":
        """GetStubColumnFont(OEImageTableOptions self) -> OEFont"""
        return _oedepict.OEImageTableOptions_GetStubColumnFont(self)


    def SetStubColumnFont(self, arg2: 'OEFont') -> "void":
        """SetStubColumnFont(OEImageTableOptions self, OEFont arg2)"""
        return _oedepict.OEImageTableOptions_SetStubColumnFont(self, arg2)


    def GetHeaderFont(self) -> "OEDepict::OEFont const":
        """GetHeaderFont(OEImageTableOptions self) -> OEFont"""
        return _oedepict.OEImageTableOptions_GetHeaderFont(self)


    def SetHeaderFont(self, arg2: 'OEFont') -> "void":
        """SetHeaderFont(OEImageTableOptions self, OEFont arg2)"""
        return _oedepict.OEImageTableOptions_SetHeaderFont(self, arg2)


    def GetCellBorderPen(self) -> "OEDepict::OEPen const &":
        """GetCellBorderPen(OEImageTableOptions self) -> OEPen"""
        return _oedepict.OEImageTableOptions_GetCellBorderPen(self)


    def SetCellBorderPen(self, p: 'OEPen') -> "void":
        """SetCellBorderPen(OEImageTableOptions self, OEPen p)"""
        return _oedepict.OEImageTableOptions_SetCellBorderPen(self, p)

OEImageTableOptions_swigregister = _oedepict.OEImageTableOptions_swigregister
OEImageTableOptions_swigregister(OEImageTableOptions)

class OEImageTable(object):
    """Proxy of C++ OEDepict::OEImageTable class."""

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

    def __init__(self, image: 'OEImageBase', opts: 'OEImageTableOptions'):
        """__init__(OEDepict::OEImageTable self, OEImageBase image, OEImageTableOptions opts) -> OEImageTable"""
        this = _oedepict.new_OEImageTable(image, opts)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEImageTable
    __del__ = lambda self: None

    def GetOptions(self) -> "OEDepict::OEImageTableOptions const &":
        """GetOptions(OEImageTable self) -> OEImageTableOptions"""
        return _oedepict.OEImageTable_GetOptions(self)


    def NumRows(self, onlybody: 'bool'=False) -> "unsigned int":
        """
        NumRows(OEImageTable self, bool onlybody=False) -> unsigned int
        NumRows(OEImageTable self) -> unsigned int
        """
        return _oedepict.OEImageTable_NumRows(self, onlybody)


    def NumColumns(self, onlybody: 'bool'=False) -> "unsigned int":
        """
        NumColumns(OEImageTable self, bool onlybody=False) -> unsigned int
        NumColumns(OEImageTable self) -> unsigned int
        """
        return _oedepict.OEImageTable_NumColumns(self, onlybody)


    def GetStubColumnCell(self, row: 'unsigned int') -> "OEDepict::OEImageBase *":
        """GetStubColumnCell(OEImageTable self, unsigned int row) -> OEImageBase"""
        return _oedepict.OEImageTable_GetStubColumnCell(self, row)


    def GetHeaderCell(self, col: 'unsigned int', skipstub: 'bool'=True) -> "OEDepict::OEImageBase *":
        """
        GetHeaderCell(OEImageTable self, unsigned int col, bool skipstub=True) -> OEImageBase
        GetHeaderCell(OEImageTable self, unsigned int col) -> OEImageBase
        """
        return _oedepict.OEImageTable_GetHeaderCell(self, col, skipstub)


    def GetCell(self, row: 'unsigned int', col: 'unsigned int') -> "OEDepict::OEImageBase *":
        """GetCell(OEImageTable self, unsigned int row, unsigned int col) -> OEImageBase"""
        return _oedepict.OEImageTable_GetCell(self, row, col)


    def GetBodyCell(self, row: 'unsigned int', col: 'unsigned int') -> "OEDepict::OEImageBase *":
        """GetBodyCell(OEImageTable self, unsigned int row, unsigned int col) -> OEImageBase"""
        return _oedepict.OEImageTable_GetBodyCell(self, row, col)


    def GetStubColumnCells(self) -> "OESystem::OEIterBase< OEDepict::OEImageBase > *":
        """GetStubColumnCells(OEImageTable self) -> OESystem::OEIterBase< OEDepict::OEImageBase > *"""
        return _oedepict.OEImageTable_GetStubColumnCells(self)


    def GetHeaderCells(self, skipstub: 'bool'=True) -> "OESystem::OEIterBase< OEDepict::OEImageBase > *":
        """
        GetHeaderCells(OEImageTable self, bool skipstub=True) -> OESystem::OEIterBase< OEDepict::OEImageBase >
        GetHeaderCells(OEImageTable self) -> OESystem::OEIterBase< OEDepict::OEImageBase > *
        """
        return _oedepict.OEImageTable_GetHeaderCells(self, skipstub)


    def GetCells(self, row: 'unsigned int'=0, col: 'unsigned int'=0) -> "OESystem::OEIterBase< OEDepict::OEImageBase > *":
        """
        GetCells(OEImageTable self, unsigned int row=0, unsigned int col=0) -> OESystem::OEIterBase< OEDepict::OEImageBase >
        GetCells(OEImageTable self, unsigned int row=0) -> OESystem::OEIterBase< OEDepict::OEImageBase >
        GetCells(OEImageTable self) -> OESystem::OEIterBase< OEDepict::OEImageBase > *
        """
        return _oedepict.OEImageTable_GetCells(self, row, col)


    def GetBodyCells(self, row: 'unsigned int'=0, col: 'unsigned int'=0) -> "OESystem::OEIterBase< OEDepict::OEImageBase > *":
        """
        GetBodyCells(OEImageTable self, unsigned int row=0, unsigned int col=0) -> OESystem::OEIterBase< OEDepict::OEImageBase >
        GetBodyCells(OEImageTable self, unsigned int row=0) -> OESystem::OEIterBase< OEDepict::OEImageBase >
        GetBodyCells(OEImageTable self) -> OESystem::OEIterBase< OEDepict::OEImageBase > *
        """
        return _oedepict.OEImageTable_GetBodyCells(self, row, col)


    def DrawText(self, cell: 'OEImageBase', text: 'std::string const &', padding: 'double'=5.0) -> "bool":
        """
        DrawText(OEImageTable self, OEImageBase cell, std::string const & text, double padding=5.0) -> bool
        DrawText(OEImageTable self, OEImageBase cell, std::string const & text) -> bool
        """
        return _oedepict.OEImageTable_DrawText(self, cell, text, padding)

OEImageTable_swigregister = _oedepict.OEImageTable_swigregister
OEImageTable_swigregister(OEImageTable)

class OELegendLayoutOptions(object):
    """Proxy of C++ OEDepict::OELegendLayoutOptions class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OELegendLayoutOptions self, unsigned int layout, unsigned int color, unsigned int inter) -> OELegendLayoutOptions
        __init__(OEDepict::OELegendLayoutOptions self, unsigned int layout, unsigned int color) -> OELegendLayoutOptions
        __init__(OEDepict::OELegendLayoutOptions self, unsigned int layout) -> OELegendLayoutOptions
        __init__(OEDepict::OELegendLayoutOptions self) -> OELegendLayoutOptions
        __init__(OEDepict::OELegendLayoutOptions self, OELegendLayoutOptions arg2) -> OELegendLayoutOptions
        """
        this = _oedepict.new_OELegendLayoutOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OELegendLayoutOptions
    __del__ = lambda self: None

    def GetLayoutStyle(self) -> "unsigned int":
        """GetLayoutStyle(OELegendLayoutOptions self) -> unsigned int"""
        return _oedepict.OELegendLayoutOptions_GetLayoutStyle(self)


    def GetColorStyle(self) -> "unsigned int":
        """GetColorStyle(OELegendLayoutOptions self) -> unsigned int"""
        return _oedepict.OELegendLayoutOptions_GetColorStyle(self)


    def GetInteractiveStyle(self) -> "unsigned int":
        """GetInteractiveStyle(OELegendLayoutOptions self) -> unsigned int"""
        return _oedepict.OELegendLayoutOptions_GetInteractiveStyle(self)


    def SetButtonWidthScale(self, s: 'double') -> "void":
        """SetButtonWidthScale(OELegendLayoutOptions self, double s)"""
        return _oedepict.OELegendLayoutOptions_SetButtonWidthScale(self, s)


    def GetButtonWidthScale(self) -> "double":
        """GetButtonWidthScale(OELegendLayoutOptions self) -> double"""
        return _oedepict.OELegendLayoutOptions_GetButtonWidthScale(self)


    def SetButtonHeightScale(self, s: 'double') -> "void":
        """SetButtonHeightScale(OELegendLayoutOptions self, double s)"""
        return _oedepict.OELegendLayoutOptions_SetButtonHeightScale(self, s)


    def GetButtonHeightScale(self) -> "double":
        """GetButtonHeightScale(OELegendLayoutOptions self) -> double"""
        return _oedepict.OELegendLayoutOptions_GetButtonHeightScale(self)


    def SetMargin(self, margin: 'unsigned int', percent: 'double') -> "bool":
        """SetMargin(OELegendLayoutOptions self, unsigned int margin, double percent) -> bool"""
        return _oedepict.OELegendLayoutOptions_SetMargin(self, margin, percent)


    def SetMargins(self, percent: 'double') -> "bool":
        """SetMargins(OELegendLayoutOptions self, double percent) -> bool"""
        return _oedepict.OELegendLayoutOptions_SetMargins(self, percent)


    def GetMargin(self, percent: 'unsigned int') -> "double":
        """GetMargin(OELegendLayoutOptions self, unsigned int percent) -> double"""
        return _oedepict.OELegendLayoutOptions_GetMargin(self, percent)


    def SetButtonPen(self, pen: 'OEPen', on: 'bool') -> "void":
        """SetButtonPen(OELegendLayoutOptions self, OEPen pen, bool on)"""
        return _oedepict.OELegendLayoutOptions_SetButtonPen(self, pen, on)


    def GetButtonPen(self, on: 'bool') -> "OEDepict::OEPen const &":
        """GetButtonPen(OELegendLayoutOptions self, bool on) -> OEPen"""
        return _oedepict.OELegendLayoutOptions_GetButtonPen(self, on)


    def SetButtonFont(self, font: 'OEFont') -> "void":
        """SetButtonFont(OELegendLayoutOptions self, OEFont font)"""
        return _oedepict.OELegendLayoutOptions_SetButtonFont(self, font)


    def GetButtonFont(self) -> "OEDepict::OEFont const &":
        """GetButtonFont(OELegendLayoutOptions self) -> OEFont"""
        return _oedepict.OELegendLayoutOptions_GetButtonFont(self)


    def SetLegendBoxPen(self, pen: 'OEPen') -> "void":
        """SetLegendBoxPen(OELegendLayoutOptions self, OEPen pen)"""
        return _oedepict.OELegendLayoutOptions_SetLegendBoxPen(self, pen)


    def GetLegendBoxPen(self) -> "OEDepict::OEPen const &":
        """GetLegendBoxPen(OELegendLayoutOptions self) -> OEPen"""
        return _oedepict.OELegendLayoutOptions_GetLegendBoxPen(self)

OELegendLayoutOptions_swigregister = _oedepict.OELegendLayoutOptions_swigregister
OELegendLayoutOptions_swigregister(OELegendLayoutOptions)

class OELegendLayout(object):
    """Proxy of C++ OEDepict::OELegendLayout class."""

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

    def __init__(self, image: 'OEImageBase', buttontext: 'std::string const &', opts: 'OELegendLayoutOptions'):
        """__init__(OEDepict::OELegendLayout self, OEImageBase image, std::string const & buttontext, OELegendLayoutOptions opts) -> OELegendLayout"""
        this = _oedepict.new_OELegendLayout(image, buttontext, opts)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OELegendLayout
    __del__ = lambda self: None

    def GetLegendArea(self) -> "OEDepict::OEImage &":
        """GetLegendArea(OELegendLayout self) -> OEImage"""
        return _oedepict.OELegendLayout_GetLegendArea(self)


    def GetOptions(self) -> "OEDepict::OELegendLayoutOptions const &":
        """GetOptions(OELegendLayout self) -> OELegendLayoutOptions"""
        return _oedepict.OELegendLayout_GetOptions(self)


    def Render(self) -> "bool":
        """Render(OELegendLayout self) -> bool"""
        return _oedepict.OELegendLayout_Render(self)

OELegendLayout_swigregister = _oedepict.OELegendLayout_swigregister
OELegendLayout_swigregister(OELegendLayout)


def OEDrawLegendLayout(layout: 'OELegendLayout') -> "bool":
    """OEDrawLegendLayout(OELegendLayout layout) -> bool"""
    return _oedepict.OEDrawLegendLayout(layout)
class OEHighlightBase(object):
    """Proxy of C++ OEDepict::OEHighlightBase class."""

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

    def __init__(self):
        """__init__(OEDepict::OEHighlightBase self) -> OEHighlightBase"""
        if self.__class__ == OEHighlightBase:
            _self = None
        else:
            _self = self
        this = _oedepict.new_OEHighlightBase(_self, )
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEHighlightBase
    __del__ = lambda self: None

    def CreateCopy(self, *args):
        try:
            return _oedepict.OEHighlightBase_CreateCopy(self, *args)
        except RuntimeError:
            try:
                return self.__class__().__disown__()
            except:
                raise RuntimeError("CreateCopy must be specialized for %s" % self.__class__.__name__)


    def __disown__(self):
        self.this.disown()
        _oedepict.disown_OEHighlightBase(self)
        return weakref_proxy(self)
OEHighlightBase_swigregister = _oedepict.OEHighlightBase_swigregister
OEHighlightBase_swigregister(OEHighlightBase)

class OEHighlightByColor(OEHighlightBase):
    """Proxy of C++ OEDepict::OEHighlightByColor class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEHighlightByColor self, OEColor color, double lineWidthScale=1.5, bool atomExternalHighlight=False) -> OEHighlightByColor
        __init__(OEDepict::OEHighlightByColor self, OEColor color, double lineWidthScale=1.5) -> OEHighlightByColor
        __init__(OEDepict::OEHighlightByColor self, OEColor color) -> OEHighlightByColor
        __init__(OEDepict::OEHighlightByColor self, OEHighlightByColor rhs) -> OEHighlightByColor
        """
        this = _oedepict.new_OEHighlightByColor(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEHighlightByColor
    __del__ = lambda self: None

    def CreateCopy(self, *args):
        try:
            return _oedepict.OEHighlightByColor_CreateCopy(self, *args)
        except RuntimeError:
            try:
                return self.__class__().__disown__()
            except:
                raise RuntimeError("CreateCopy must be specialized for %s" % self.__class__.__name__)



    def GetColor(self) -> "OESystem::OEColor const &":
        """GetColor(OEHighlightByColor self) -> OEColor"""
        return _oedepict.OEHighlightByColor_GetColor(self)


    def SetColor(self, color: 'OEColor') -> "void":
        """SetColor(OEHighlightByColor self, OEColor color)"""
        return _oedepict.OEHighlightByColor_SetColor(self, color)


    def GetLineWidthScale(self) -> "double":
        """GetLineWidthScale(OEHighlightByColor self) -> double"""
        return _oedepict.OEHighlightByColor_GetLineWidthScale(self)


    def SetLineWidthScale(self, lineWidthScale: 'double') -> "void":
        """SetLineWidthScale(OEHighlightByColor self, double lineWidthScale)"""
        return _oedepict.OEHighlightByColor_SetLineWidthScale(self, lineWidthScale)


    def GetAtomExternalHighlight(self) -> "bool":
        """GetAtomExternalHighlight(OEHighlightByColor self) -> bool"""
        return _oedepict.OEHighlightByColor_GetAtomExternalHighlight(self)


    def SetAtomExternalHighlight(self, atomexternal: 'bool') -> "void":
        """SetAtomExternalHighlight(OEHighlightByColor self, bool atomexternal)"""
        return _oedepict.OEHighlightByColor_SetAtomExternalHighlight(self, atomexternal)

OEHighlightByColor_swigregister = _oedepict.OEHighlightByColor_swigregister
OEHighlightByColor_swigregister(OEHighlightByColor)

class OEHighlightByStick(OEHighlightBase):
    """Proxy of C++ OEDepict::OEHighlightByStick class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEHighlightByStick self, OEColor color, double stickWidthScale=3.0, bool monochrome=True, double atomExternalHighlightRatio=0.0) -> OEHighlightByStick
        __init__(OEDepict::OEHighlightByStick self, OEColor color, double stickWidthScale=3.0, bool monochrome=True) -> OEHighlightByStick
        __init__(OEDepict::OEHighlightByStick self, OEColor color, double stickWidthScale=3.0) -> OEHighlightByStick
        __init__(OEDepict::OEHighlightByStick self, OEColor color) -> OEHighlightByStick
        __init__(OEDepict::OEHighlightByStick self, OEHighlightByStick rhs) -> OEHighlightByStick
        """
        this = _oedepict.new_OEHighlightByStick(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEHighlightByStick
    __del__ = lambda self: None

    def CreateCopy(self, *args):
        try:
            return _oedepict.OEHighlightByStick_CreateCopy(self, *args)
        except RuntimeError:
            try:
                return self.__class__().__disown__()
            except:
                raise RuntimeError("CreateCopy must be specialized for %s" % self.__class__.__name__)



    def GetColor(self) -> "OESystem::OEColor const &":
        """GetColor(OEHighlightByStick self) -> OEColor"""
        return _oedepict.OEHighlightByStick_GetColor(self)


    def SetColor(self, color: 'OEColor') -> "void":
        """SetColor(OEHighlightByStick self, OEColor color)"""
        return _oedepict.OEHighlightByStick_SetColor(self, color)


    def GetStickWidthScale(self) -> "double":
        """GetStickWidthScale(OEHighlightByStick self) -> double"""
        return _oedepict.OEHighlightByStick_GetStickWidthScale(self)


    def SetStickWidthScale(self, stickWidthScale: 'double') -> "void":
        """SetStickWidthScale(OEHighlightByStick self, double stickWidthScale)"""
        return _oedepict.OEHighlightByStick_SetStickWidthScale(self, stickWidthScale)


    def GetAtomLabelMonochrome(self) -> "bool":
        """GetAtomLabelMonochrome(OEHighlightByStick self) -> bool"""
        return _oedepict.OEHighlightByStick_GetAtomLabelMonochrome(self)


    def SetAtomLabelMonochrome(self, monochrome: 'bool') -> "void":
        """SetAtomLabelMonochrome(OEHighlightByStick self, bool monochrome)"""
        return _oedepict.OEHighlightByStick_SetAtomLabelMonochrome(self, monochrome)


    def GetAtomExternalHighlightRatio(self) -> "double":
        """GetAtomExternalHighlightRatio(OEHighlightByStick self) -> double"""
        return _oedepict.OEHighlightByStick_GetAtomExternalHighlightRatio(self)


    def SetAtomExternalHighlightRatio(self, ratio: 'double') -> "void":
        """SetAtomExternalHighlightRatio(OEHighlightByStick self, double ratio)"""
        return _oedepict.OEHighlightByStick_SetAtomExternalHighlightRatio(self, ratio)

OEHighlightByStick_swigregister = _oedepict.OEHighlightByStick_swigregister
OEHighlightByStick_swigregister(OEHighlightByStick)

class OEHighlightByBallAndStick(OEHighlightBase):
    """Proxy of C++ OEDepict::OEHighlightByBallAndStick class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEHighlightByBallAndStick self, OEColor color, double stickWidthScale=3.0, double ballRadiusScale=3.0, bool monochrome=True) -> OEHighlightByBallAndStick
        __init__(OEDepict::OEHighlightByBallAndStick self, OEColor color, double stickWidthScale=3.0, double ballRadiusScale=3.0) -> OEHighlightByBallAndStick
        __init__(OEDepict::OEHighlightByBallAndStick self, OEColor color, double stickWidthScale=3.0) -> OEHighlightByBallAndStick
        __init__(OEDepict::OEHighlightByBallAndStick self, OEColor color) -> OEHighlightByBallAndStick
        __init__(OEDepict::OEHighlightByBallAndStick self, OEHighlightByBallAndStick rhs) -> OEHighlightByBallAndStick
        """
        this = _oedepict.new_OEHighlightByBallAndStick(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEHighlightByBallAndStick
    __del__ = lambda self: None

    def CreateCopy(self, *args):
        try:
            return _oedepict.OEHighlightByBallAndStick_CreateCopy(self, *args)
        except RuntimeError:
            try:
                return self.__class__().__disown__()
            except:
                raise RuntimeError("CreateCopy must be specialized for %s" % self.__class__.__name__)



    def GetColor(self) -> "OESystem::OEColor const &":
        """GetColor(OEHighlightByBallAndStick self) -> OEColor"""
        return _oedepict.OEHighlightByBallAndStick_GetColor(self)


    def SetColor(self, color: 'OEColor') -> "void":
        """SetColor(OEHighlightByBallAndStick self, OEColor color)"""
        return _oedepict.OEHighlightByBallAndStick_SetColor(self, color)


    def GetStickWidthScale(self) -> "double":
        """GetStickWidthScale(OEHighlightByBallAndStick self) -> double"""
        return _oedepict.OEHighlightByBallAndStick_GetStickWidthScale(self)


    def SetStickWidthScale(self, stickWidthScale: 'double') -> "void":
        """SetStickWidthScale(OEHighlightByBallAndStick self, double stickWidthScale)"""
        return _oedepict.OEHighlightByBallAndStick_SetStickWidthScale(self, stickWidthScale)


    def GetBallRadiusScale(self) -> "double":
        """GetBallRadiusScale(OEHighlightByBallAndStick self) -> double"""
        return _oedepict.OEHighlightByBallAndStick_GetBallRadiusScale(self)


    def SetBallRadiusScale(self, ballRadiusScale: 'double') -> "void":
        """SetBallRadiusScale(OEHighlightByBallAndStick self, double ballRadiusScale)"""
        return _oedepict.OEHighlightByBallAndStick_SetBallRadiusScale(self, ballRadiusScale)


    def GetAtomLabelMonochrome(self) -> "bool":
        """GetAtomLabelMonochrome(OEHighlightByBallAndStick self) -> bool"""
        return _oedepict.OEHighlightByBallAndStick_GetAtomLabelMonochrome(self)


    def SetAtomLabelMonochrome(self, monochrome: 'bool') -> "void":
        """SetAtomLabelMonochrome(OEHighlightByBallAndStick self, bool monochrome)"""
        return _oedepict.OEHighlightByBallAndStick_SetAtomLabelMonochrome(self, monochrome)

OEHighlightByBallAndStick_swigregister = _oedepict.OEHighlightByBallAndStick_swigregister
OEHighlightByBallAndStick_swigregister(OEHighlightByBallAndStick)

class OEHighlightByCogwheel(OEHighlightBase):
    """Proxy of C++ OEDepict::OEHighlightByCogwheel class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEHighlightByCogwheel self, OEColor color, double lineWidthScale=1.5, double stickWidthScale=2.0, double ballRadiusScale=2.0, bool innerContour=True, bool monochrome=True) -> OEHighlightByCogwheel
        __init__(OEDepict::OEHighlightByCogwheel self, OEColor color, double lineWidthScale=1.5, double stickWidthScale=2.0, double ballRadiusScale=2.0, bool innerContour=True) -> OEHighlightByCogwheel
        __init__(OEDepict::OEHighlightByCogwheel self, OEColor color, double lineWidthScale=1.5, double stickWidthScale=2.0, double ballRadiusScale=2.0) -> OEHighlightByCogwheel
        __init__(OEDepict::OEHighlightByCogwheel self, OEColor color, double lineWidthScale=1.5, double stickWidthScale=2.0) -> OEHighlightByCogwheel
        __init__(OEDepict::OEHighlightByCogwheel self, OEColor color, double lineWidthScale=1.5) -> OEHighlightByCogwheel
        __init__(OEDepict::OEHighlightByCogwheel self, OEColor color) -> OEHighlightByCogwheel
        __init__(OEDepict::OEHighlightByCogwheel self, OEHighlightByCogwheel rhs) -> OEHighlightByCogwheel
        """
        this = _oedepict.new_OEHighlightByCogwheel(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEHighlightByCogwheel
    __del__ = lambda self: None

    def CreateCopy(self, *args):
        try:
            return _oedepict.OEHighlightByCogwheel_CreateCopy(self, *args)
        except RuntimeError:
            try:
                return self.__class__().__disown__()
            except:
                raise RuntimeError("CreateCopy must be specialized for %s" % self.__class__.__name__)



    def GetColor(self) -> "OESystem::OEColor const &":
        """GetColor(OEHighlightByCogwheel self) -> OEColor"""
        return _oedepict.OEHighlightByCogwheel_GetColor(self)


    def SetColor(self, color: 'OEColor') -> "void":
        """SetColor(OEHighlightByCogwheel self, OEColor color)"""
        return _oedepict.OEHighlightByCogwheel_SetColor(self, color)


    def GetLineWidthScale(self) -> "double":
        """GetLineWidthScale(OEHighlightByCogwheel self) -> double"""
        return _oedepict.OEHighlightByCogwheel_GetLineWidthScale(self)


    def SetLineWidthScale(self, lineWidthScale: 'double') -> "void":
        """SetLineWidthScale(OEHighlightByCogwheel self, double lineWidthScale)"""
        return _oedepict.OEHighlightByCogwheel_SetLineWidthScale(self, lineWidthScale)


    def GetStickWidthScale(self) -> "double":
        """GetStickWidthScale(OEHighlightByCogwheel self) -> double"""
        return _oedepict.OEHighlightByCogwheel_GetStickWidthScale(self)


    def SetStickWidthScale(self, stickWidthScale: 'double') -> "void":
        """SetStickWidthScale(OEHighlightByCogwheel self, double stickWidthScale)"""
        return _oedepict.OEHighlightByCogwheel_SetStickWidthScale(self, stickWidthScale)


    def GetBallRadiusScale(self) -> "double":
        """GetBallRadiusScale(OEHighlightByCogwheel self) -> double"""
        return _oedepict.OEHighlightByCogwheel_GetBallRadiusScale(self)


    def SetBallRadiusScale(self, ballRadiusScale: 'double') -> "void":
        """SetBallRadiusScale(OEHighlightByCogwheel self, double ballRadiusScale)"""
        return _oedepict.OEHighlightByCogwheel_SetBallRadiusScale(self, ballRadiusScale)


    def GetInnerContour(self) -> "bool":
        """GetInnerContour(OEHighlightByCogwheel self) -> bool"""
        return _oedepict.OEHighlightByCogwheel_GetInnerContour(self)


    def SetInnerContour(self, innerContour: 'bool') -> "void":
        """SetInnerContour(OEHighlightByCogwheel self, bool innerContour)"""
        return _oedepict.OEHighlightByCogwheel_SetInnerContour(self, innerContour)


    def GetAtomLabelMonochrome(self) -> "bool":
        """GetAtomLabelMonochrome(OEHighlightByCogwheel self) -> bool"""
        return _oedepict.OEHighlightByCogwheel_GetAtomLabelMonochrome(self)


    def SetAtomLabelMonochrome(self, monochrome: 'bool') -> "void":
        """SetAtomLabelMonochrome(OEHighlightByCogwheel self, bool monochrome)"""
        return _oedepict.OEHighlightByCogwheel_SetAtomLabelMonochrome(self, monochrome)

OEHighlightByCogwheel_swigregister = _oedepict.OEHighlightByCogwheel_swigregister
OEHighlightByCogwheel_swigregister(OEHighlightByCogwheel)

class OEHighlightByLasso(OEHighlightBase):
    """Proxy of C++ OEDepict::OEHighlightByLasso class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEHighlightByLasso self, OEColor color, double lassoScale=3.0, bool monochrome=True, bool considerAtomLabelBox=False, unsigned int position, double lws=1.0) -> OEHighlightByLasso
        __init__(OEDepict::OEHighlightByLasso self, OEColor color, double lassoScale=3.0, bool monochrome=True, bool considerAtomLabelBox=False, unsigned int position) -> OEHighlightByLasso
        __init__(OEDepict::OEHighlightByLasso self, OEColor color, double lassoScale=3.0, bool monochrome=True, bool considerAtomLabelBox=False) -> OEHighlightByLasso
        __init__(OEDepict::OEHighlightByLasso self, OEColor color, double lassoScale=3.0, bool monochrome=True) -> OEHighlightByLasso
        __init__(OEDepict::OEHighlightByLasso self, OEColor color, double lassoScale=3.0) -> OEHighlightByLasso
        __init__(OEDepict::OEHighlightByLasso self, OEColor color) -> OEHighlightByLasso
        __init__(OEDepict::OEHighlightByLasso self, OEHighlightByLasso rhs) -> OEHighlightByLasso
        """
        this = _oedepict.new_OEHighlightByLasso(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def CreateCopy(self, *args):
        try:
            return _oedepict.OEHighlightByLasso_CreateCopy(self, *args)
        except RuntimeError:
            try:
                return self.__class__().__disown__()
            except:
                raise RuntimeError("CreateCopy must be specialized for %s" % self.__class__.__name__)


    __swig_destroy__ = _oedepict.delete_OEHighlightByLasso
    __del__ = lambda self: None

    def GetColor(self) -> "OESystem::OEColor const &":
        """GetColor(OEHighlightByLasso self) -> OEColor"""
        return _oedepict.OEHighlightByLasso_GetColor(self)


    def SetColor(self, color: 'OEColor') -> "void":
        """SetColor(OEHighlightByLasso self, OEColor color)"""
        return _oedepict.OEHighlightByLasso_SetColor(self, color)


    def GetPen(self) -> "OEDepict::OEPen const &":
        """GetPen(OEHighlightByLasso self) -> OEPen"""
        return _oedepict.OEHighlightByLasso_GetPen(self)


    def SetPen(self, pen: 'OEPen') -> "void":
        """SetPen(OEHighlightByLasso self, OEPen pen)"""
        return _oedepict.OEHighlightByLasso_SetPen(self, pen)


    def GetLassoScale(self) -> "double":
        """GetLassoScale(OEHighlightByLasso self) -> double"""
        return _oedepict.OEHighlightByLasso_GetLassoScale(self)


    def SetLassoScale(self, lassoScale: 'double') -> "void":
        """SetLassoScale(OEHighlightByLasso self, double lassoScale)"""
        return _oedepict.OEHighlightByLasso_SetLassoScale(self, lassoScale)


    def GetAtomLabelMonochrome(self) -> "bool":
        """GetAtomLabelMonochrome(OEHighlightByLasso self) -> bool"""
        return _oedepict.OEHighlightByLasso_GetAtomLabelMonochrome(self)


    def SetAtomLabelMonochrome(self, monochrome: 'bool') -> "void":
        """SetAtomLabelMonochrome(OEHighlightByLasso self, bool monochrome)"""
        return _oedepict.OEHighlightByLasso_SetAtomLabelMonochrome(self, monochrome)


    def GetConsiderAtomLabelBoundingBox(self) -> "bool":
        """GetConsiderAtomLabelBoundingBox(OEHighlightByLasso self) -> bool"""
        return _oedepict.OEHighlightByLasso_GetConsiderAtomLabelBoundingBox(self)


    def SetConsiderAtomLabelBoundingBox(self, consider: 'bool') -> "void":
        """SetConsiderAtomLabelBoundingBox(OEHighlightByLasso self, bool consider)"""
        return _oedepict.OEHighlightByLasso_SetConsiderAtomLabelBoundingBox(self, consider)


    def GetPosition(self) -> "unsigned int":
        """GetPosition(OEHighlightByLasso self) -> unsigned int"""
        return _oedepict.OEHighlightByLasso_GetPosition(self)


    def SetPosition(self, arg2: 'unsigned int') -> "void":
        """SetPosition(OEHighlightByLasso self, unsigned int arg2)"""
        return _oedepict.OEHighlightByLasso_SetPosition(self, arg2)


    def GetLineWidthScale(self) -> "double":
        """GetLineWidthScale(OEHighlightByLasso self) -> double"""
        return _oedepict.OEHighlightByLasso_GetLineWidthScale(self)


    def SetLineWidthScale(self, lineWidthScale: 'double') -> "void":
        """SetLineWidthScale(OEHighlightByLasso self, double lineWidthScale)"""
        return _oedepict.OEHighlightByLasso_SetLineWidthScale(self, lineWidthScale)

OEHighlightByLasso_swigregister = _oedepict.OEHighlightByLasso_swigregister
OEHighlightByLasso_swigregister(OEHighlightByLasso)


def OEAddHighlighting(*args) -> "void":
    """
    OEAddHighlighting(OE2DMolDisplay disp, OEColor color, unsigned int style, OEMatchBase match)
    OEAddHighlighting(OE2DMolDisplay disp, OEColor color, unsigned int style, OEAtomBondSet abset)
    OEAddHighlighting(OE2DMolDisplay disp, OEColor color, unsigned int style, OEUnaryAtomPred atompred)
    OEAddHighlighting(OE2DMolDisplay disp, OEColor color, unsigned int style, OEUnaryBondPred bondpred)
    OEAddHighlighting(OE2DMolDisplay disp, OEColor color, unsigned int style, OEUnaryAtomPred atompred, OEUnaryBondPred bondpred)
    OEAddHighlighting(OE2DMolDisplay disp, OEColor color, unsigned int style, OESubSearch subsearch)
    OEAddHighlighting(OE2DMolDisplay disp, OEHighlightBase highlight, OEMatchBase match)
    OEAddHighlighting(OE2DMolDisplay disp, OEHighlightBase highlight, OEAtomBondSet abset)
    OEAddHighlighting(OE2DMolDisplay disp, OEHighlightBase highlight, OEUnaryAtomPred atompred)
    OEAddHighlighting(OE2DMolDisplay disp, OEHighlightBase highlight, OEUnaryBondPred bondpred)
    OEAddHighlighting(OE2DMolDisplay disp, OEHighlightBase highlight, OEUnaryAtomPred atompred, OEUnaryBondPred bondpred)
    OEAddHighlighting(OE2DMolDisplay disp, OEHighlightBase highlight, OESubSearch subsearch)
    """
    return _oedepict.OEAddHighlighting(*args)

def OEDrawHighlighting(image: 'OEImageBase', disp: 'OE2DMolDisplay', highlight: 'OEHighlightBase', abset: 'OEAtomBondSet') -> "void":
    """OEDrawHighlighting(OEImageBase image, OE2DMolDisplay disp, OEHighlightBase highlight, OEAtomBondSet abset)"""
    return _oedepict.OEDrawHighlighting(image, disp, highlight, abset)

def OEConfigureHighlightParams(*args) -> "bool":
    """
    OEConfigureHighlightParams(OEInterface itf, unsigned int config) -> bool
    OEConfigureHighlightParams(OEInterface itf) -> bool
    """
    return _oedepict.OEConfigureHighlightParams(*args)

def OEGetHighlightStyle(*args) -> "unsigned int":
    """
    OEGetHighlightStyle(OEInterface itf, std::string name) -> unsigned int
    OEGetHighlightStyle(OEInterface itf) -> unsigned int
    """
    return _oedepict.OEGetHighlightStyle(*args)

def OEGetHighlightColor(*args) -> "OESystem::OEColor":
    """
    OEGetHighlightColor(OEInterface itf, std::string name) -> OEColor
    OEGetHighlightColor(OEInterface itf) -> OEColor
    """
    return _oedepict.OEGetHighlightColor(*args)

def OEConfigureHighlightStyle(*args) -> "bool":
    """
    OEConfigureHighlightStyle(OEInterface itf, std::string name, std::string alias) -> bool
    OEConfigureHighlightStyle(OEInterface itf, std::string name) -> bool
    OEConfigureHighlightStyle(OEInterface itf) -> bool
    """
    return _oedepict.OEConfigureHighlightStyle(*args)

def OEConfigureHighlightColor(*args) -> "bool":
    """
    OEConfigureHighlightColor(OEInterface itf, std::string name, std::string alias) -> bool
    OEConfigureHighlightColor(OEInterface itf, std::string name) -> bool
    OEConfigureHighlightColor(OEInterface itf) -> bool
    """
    return _oedepict.OEConfigureHighlightColor(*args)

def OEConfigureColor(*args) -> "bool":
    """
    OEConfigureColor(OEInterface itf, std::string const & name, std::string const & alias, std::string const & brief, std::string defcolor) -> bool
    OEConfigureColor(OEInterface itf, std::string const & name, std::string const & alias, std::string const & brief) -> bool
    """
    return _oedepict.OEConfigureColor(*args)

def OEGetColor(itf: 'OEInterface', name: 'std::string const &') -> "OESystem::OEColor":
    """OEGetColor(OEInterface itf, std::string const & name) -> OEColor"""
    return _oedepict.OEGetColor(itf, name)
class OEHighlightOverlayBase(object):
    """Proxy of C++ OEDepict::OEHighlightOverlayBase class."""

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

    def __init__(self):
        """__init__(OEDepict::OEHighlightOverlayBase self) -> OEHighlightOverlayBase"""
        if self.__class__ == OEHighlightOverlayBase:
            _self = None
        else:
            _self = self
        this = _oedepict.new_OEHighlightOverlayBase(_self, )
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEHighlightOverlayBase
    __del__ = lambda self: None

    def GetColors(self) -> "OESystem::OEIterBase< OESystem::OEColor > *":
        """GetColors(OEHighlightOverlayBase self) -> OESystem::OEIterBase< OESystem::OEColor > *"""
        return _oedepict.OEHighlightOverlayBase_GetColors(self)


    def SetColors(self, colors: 'OEColorIter') -> "void":
        """SetColors(OEHighlightOverlayBase self, OEColorIter colors)"""
        return _oedepict.OEHighlightOverlayBase_SetColors(self, colors)

    def __disown__(self):
        self.this.disown()
        _oedepict.disown_OEHighlightOverlayBase(self)
        return weakref_proxy(self)
OEHighlightOverlayBase_swigregister = _oedepict.OEHighlightOverlayBase_swigregister
OEHighlightOverlayBase_swigregister(OEHighlightOverlayBase)

class OEHighlightOverlayByBallAndStick(OEHighlightOverlayBase):
    """Proxy of C++ OEDepict::OEHighlightOverlayByBallAndStick class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEHighlightOverlayByBallAndStick self, OEColorIter colors, double stickWidthScale=3.0, double ballRadiusScale=3.0, bool monochrome=True) -> OEHighlightOverlayByBallAndStick
        __init__(OEDepict::OEHighlightOverlayByBallAndStick self, OEColorIter colors, double stickWidthScale=3.0, double ballRadiusScale=3.0) -> OEHighlightOverlayByBallAndStick
        __init__(OEDepict::OEHighlightOverlayByBallAndStick self, OEColorIter colors, double stickWidthScale=3.0) -> OEHighlightOverlayByBallAndStick
        __init__(OEDepict::OEHighlightOverlayByBallAndStick self, OEColorIter colors) -> OEHighlightOverlayByBallAndStick
        __init__(OEDepict::OEHighlightOverlayByBallAndStick self, OEHighlightOverlayByBallAndStick rhs) -> OEHighlightOverlayByBallAndStick
        """
        this = _oedepict.new_OEHighlightOverlayByBallAndStick(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEHighlightOverlayByBallAndStick
    __del__ = lambda self: None

    def GetStickWidthScale(self) -> "double":
        """GetStickWidthScale(OEHighlightOverlayByBallAndStick self) -> double"""
        return _oedepict.OEHighlightOverlayByBallAndStick_GetStickWidthScale(self)


    def SetStickWidthScale(self, stickWidthScale: 'double') -> "void":
        """SetStickWidthScale(OEHighlightOverlayByBallAndStick self, double stickWidthScale)"""
        return _oedepict.OEHighlightOverlayByBallAndStick_SetStickWidthScale(self, stickWidthScale)


    def GetBallRadiusScale(self) -> "double":
        """GetBallRadiusScale(OEHighlightOverlayByBallAndStick self) -> double"""
        return _oedepict.OEHighlightOverlayByBallAndStick_GetBallRadiusScale(self)


    def SetBallRadiusScale(self, ballRadiusScale: 'double') -> "void":
        """SetBallRadiusScale(OEHighlightOverlayByBallAndStick self, double ballRadiusScale)"""
        return _oedepict.OEHighlightOverlayByBallAndStick_SetBallRadiusScale(self, ballRadiusScale)


    def GetAtomLabelMonochrome(self) -> "bool":
        """GetAtomLabelMonochrome(OEHighlightOverlayByBallAndStick self) -> bool"""
        return _oedepict.OEHighlightOverlayByBallAndStick_GetAtomLabelMonochrome(self)


    def SetAtomLabelMonochrome(self, monochrome: 'bool') -> "void":
        """SetAtomLabelMonochrome(OEHighlightOverlayByBallAndStick self, bool monochrome)"""
        return _oedepict.OEHighlightOverlayByBallAndStick_SetAtomLabelMonochrome(self, monochrome)

OEHighlightOverlayByBallAndStick_swigregister = _oedepict.OEHighlightOverlayByBallAndStick_swigregister
OEHighlightOverlayByBallAndStick_swigregister(OEHighlightOverlayByBallAndStick)


def OEAddHighlightOverlay(*args) -> "PyObject *":
    """
    OEAddHighlightOverlay(OE2DMolDisplay disp, OEHighlightOverlayBase highlight, OEMatchBaseIter matches)
    OEAddHighlightOverlay(OE2DMolDisplay disp, OEHighlightOverlayBase highlight, OEAtomBondSetIter absets)
    OEAddHighlightOverlay(OE2DMolDisplay disp, OEHighlightOverlayBase highlight, OEAtomBondSetVector absets)
    OEAddHighlightOverlay(OE2DMolDisplay disp, OEHighlightOverlayBase highlight, PyObject * input) -> PyObject *
    """
    return _oedepict.OEAddHighlightOverlay(*args)
class OEHighlightLabel(object):
    """Proxy of C++ OEDepict::OEHighlightLabel class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEHighlightLabel self, std::string const & text) -> OEHighlightLabel
        __init__(OEDepict::OEHighlightLabel self, std::string const & text, OEFont font) -> OEHighlightLabel
        __init__(OEDepict::OEHighlightLabel self, std::string const & text, OEColor color) -> OEHighlightLabel
        __init__(OEDepict::OEHighlightLabel self, OEHighlightLabel arg2) -> OEHighlightLabel
        """
        this = _oedepict.new_OEHighlightLabel(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEHighlightLabel
    __del__ = lambda self: None

    def GetText(self) -> "std::string":
        """GetText(OEHighlightLabel self) -> std::string"""
        return _oedepict.OEHighlightLabel_GetText(self)


    def GetFont(self) -> "OEDepict::OEFont const &":
        """GetFont(OEHighlightLabel self) -> OEFont"""
        return _oedepict.OEHighlightLabel_GetFont(self)


    def SetFont(self, font: 'OEFont') -> "void":
        """SetFont(OEHighlightLabel self, OEFont font)"""
        return _oedepict.OEHighlightLabel_SetFont(self, font)


    def GetBoundingBoxPen(self) -> "OEDepict::OEPen const &":
        """GetBoundingBoxPen(OEHighlightLabel self) -> OEPen"""
        return _oedepict.OEHighlightLabel_GetBoundingBoxPen(self)


    def SetBoundingBoxPen(self, pen: 'OEPen') -> "void":
        """SetBoundingBoxPen(OEHighlightLabel self, OEPen pen)"""
        return _oedepict.OEHighlightLabel_SetBoundingBoxPen(self, pen)


    def GetFontScale(self) -> "double":
        """GetFontScale(OEHighlightLabel self) -> double"""
        return _oedepict.OEHighlightLabel_GetFontScale(self)


    def SetFontScale(self, scale: 'double') -> "void":
        """SetFontScale(OEHighlightLabel self, double scale)"""
        return _oedepict.OEHighlightLabel_SetFontScale(self, scale)

OEHighlightLabel_swigregister = _oedepict.OEHighlightLabel_swigregister
OEHighlightLabel_swigregister(OEHighlightLabel)


def OEAddLabel(*args) -> "void":
    """
    OEAddLabel(OE2DMolDisplay disp, OEHighlightLabel label, OEMatchBase match)
    OEAddLabel(OE2DMolDisplay disp, OEHighlightLabel label, OEAtomBondSet abset)
    OEAddLabel(OE2DMolDisplay disp, OEHighlightLabel label, OEUnaryAtomPred atompred)
    OEAddLabel(OEImageBase image, OE2DPoint center, OEHighlightLabel label)
    """
    return _oedepict.OEAddLabel(*args)

def OEGetPageWidth(size: 'unsigned int const') -> "double":
    """OEGetPageWidth(unsigned int const size) -> double"""
    return _oedepict.OEGetPageWidth(size)

def OEGetPageHeight(size: 'unsigned int const') -> "double":
    """OEGetPageHeight(unsigned int const size) -> double"""
    return _oedepict.OEGetPageHeight(size)
class OEMultiPageImageFile(object):
    """Proxy of C++ OEDepict::OEMultiPageImageFile class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEMultiPageImageFile self, unsigned int orientation, unsigned int imagesize) -> OEMultiPageImageFile
        __init__(OEDepict::OEMultiPageImageFile self, double width, double height) -> OEMultiPageImageFile
        """
        this = _oedepict.new_OEMultiPageImageFile(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEMultiPageImageFile
    __del__ = lambda self: None

    def NumPages(self) -> "unsigned int":
        """NumPages(OEMultiPageImageFile self) -> unsigned int"""
        return _oedepict.OEMultiPageImageFile_NumPages(self)


    def NewPage(self) -> "OEDepict::OEImage &":
        """NewPage(OEMultiPageImageFile self) -> OEImage"""
        return _oedepict.OEMultiPageImageFile_NewPage(self)


    def GetPage(self, *args) -> "OEDepict::OEImage const *":
        """
        GetPage(OEMultiPageImageFile self, unsigned int page) -> OEImage
        GetPage(OEMultiPageImageFile self, unsigned int page) -> OEImage
        """
        return _oedepict.OEMultiPageImageFile_GetPage(self, *args)


    def GetPages(self, *args) -> "OESystem::OEIterBase< OEDepict::OEImage const > *":
        """
        GetPages(OEMultiPageImageFile self) -> OESystem::OEIterBase< OEDepict::OEImage >
        GetPages(OEMultiPageImageFile self) -> OESystem::OEIterBase< OEDepict::OEImage const > *
        """
        return _oedepict.OEMultiPageImageFile_GetPages(self, *args)


    def GetPageWidth(self) -> "double":
        """GetPageWidth(OEMultiPageImageFile self) -> double"""
        return _oedepict.OEMultiPageImageFile_GetPageWidth(self)


    def GetPageHeight(self) -> "double":
        """GetPageHeight(OEMultiPageImageFile self) -> double"""
        return _oedepict.OEMultiPageImageFile_GetPageHeight(self)


    def GetOrientation(self) -> "unsigned int":
        """GetOrientation(OEMultiPageImageFile self) -> unsigned int"""
        return _oedepict.OEMultiPageImageFile_GetOrientation(self)

OEMultiPageImageFile_swigregister = _oedepict.OEMultiPageImageFile_swigregister
OEMultiPageImageFile_swigregister(OEMultiPageImageFile)


def OEWriteMultiPageImage(*args) -> "bool":
    """
    OEWriteMultiPageImage(std::string const & filename, OEMultiPageImageFile image) -> bool
    OEWriteMultiPageImage(oeostream os, std::string const & extension, OEMultiPageImageFile image) -> bool
    """
    return _oedepict.OEWriteMultiPageImage(*args)

def OEConfigureMultiPageParams(*args) -> "bool":
    """
    OEConfigureMultiPageParams(OEInterface itf, unsigned int config) -> bool
    OEConfigureMultiPageParams(OEInterface itf) -> bool
    """
    return _oedepict.OEConfigureMultiPageParams(*args)

def OEGetMultiPageSize(*args) -> "unsigned int":
    """
    OEGetMultiPageSize(OEInterface itf, std::string name) -> unsigned int
    OEGetMultiPageSize(OEInterface itf) -> unsigned int
    """
    return _oedepict.OEGetMultiPageSize(*args)

def OEGetMultiPageOrientation(*args) -> "unsigned int":
    """
    OEGetMultiPageOrientation(OEInterface itf, std::string name) -> unsigned int
    OEGetMultiPageOrientation(OEInterface itf) -> unsigned int
    """
    return _oedepict.OEGetMultiPageOrientation(*args)

def OEConfigureMultiPageSize(*args) -> "bool":
    """
    OEConfigureMultiPageSize(OEInterface itf, std::string name, std::string alias) -> bool
    OEConfigureMultiPageSize(OEInterface itf, std::string name) -> bool
    OEConfigureMultiPageSize(OEInterface itf) -> bool
    """
    return _oedepict.OEConfigureMultiPageSize(*args)

def OEConfigureMultiPageOrientation(*args) -> "bool":
    """
    OEConfigureMultiPageOrientation(OEInterface itf, std::string name, std::string alias) -> bool
    OEConfigureMultiPageOrientation(OEInterface itf, std::string name) -> bool
    OEConfigureMultiPageOrientation(OEInterface itf) -> bool
    """
    return _oedepict.OEConfigureMultiPageOrientation(*args)
class OEReport(object):
    """Proxy of C++ OEDepict::OEReport class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEReport self, unsigned int rowsperpage, unsigned int colsperpage) -> OEReport
        __init__(OEDepict::OEReport self, OEReportOptions opts) -> OEReport
        """
        this = _oedepict.new_OEReport(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEReport
    __del__ = lambda self: None

    def NumRowsPerPage(self) -> "unsigned int":
        """NumRowsPerPage(OEReport self) -> unsigned int"""
        return _oedepict.OEReport_NumRowsPerPage(self)


    def NumColsPerPage(self) -> "unsigned int":
        """NumColsPerPage(OEReport self) -> unsigned int"""
        return _oedepict.OEReport_NumColsPerPage(self)


    def GetPageWidth(self) -> "double":
        """GetPageWidth(OEReport self) -> double"""
        return _oedepict.OEReport_GetPageWidth(self)


    def GetPageHeight(self) -> "double":
        """GetPageHeight(OEReport self) -> double"""
        return _oedepict.OEReport_GetPageHeight(self)


    def GetCellWidth(self) -> "double":
        """GetCellWidth(OEReport self) -> double"""
        return _oedepict.OEReport_GetCellWidth(self)


    def GetCellHeight(self) -> "double":
        """GetCellHeight(OEReport self) -> double"""
        return _oedepict.OEReport_GetCellHeight(self)


    def GetHeaderHeight(self) -> "double":
        """GetHeaderHeight(OEReport self) -> double"""
        return _oedepict.OEReport_GetHeaderHeight(self)


    def GetHeaderWidth(self) -> "double":
        """GetHeaderWidth(OEReport self) -> double"""
        return _oedepict.OEReport_GetHeaderWidth(self)


    def GetFooterHeight(self) -> "double":
        """GetFooterHeight(OEReport self) -> double"""
        return _oedepict.OEReport_GetFooterHeight(self)


    def GetFooterWidth(self) -> "double":
        """GetFooterWidth(OEReport self) -> double"""
        return _oedepict.OEReport_GetFooterWidth(self)


    def NewBody(self) -> "OEDepict::OEImageBase *":
        """NewBody(OEReport self) -> OEImageBase"""
        return _oedepict.OEReport_NewBody(self)


    def NewCell(self) -> "OEDepict::OEImageBase *":
        """NewCell(OEReport self) -> OEImageBase"""
        return _oedepict.OEReport_NewCell(self)


    def NumPages(self) -> "unsigned int":
        """NumPages(OEReport self) -> unsigned int"""
        return _oedepict.OEReport_NumPages(self)


    def NumBodyPages(self) -> "unsigned int":
        """NumBodyPages(OEReport self) -> unsigned int"""
        return _oedepict.OEReport_NumBodyPages(self)


    def NumGridPages(self) -> "unsigned int":
        """NumGridPages(OEReport self) -> unsigned int"""
        return _oedepict.OEReport_NumGridPages(self)


    def IsBodyPage(self, page: 'unsigned int') -> "bool":
        """IsBodyPage(OEReport self, unsigned int page) -> bool"""
        return _oedepict.OEReport_IsBodyPage(self, page)


    def IsGridPage(self, page: 'unsigned int') -> "bool":
        """IsGridPage(OEReport self, unsigned int page) -> bool"""
        return _oedepict.OEReport_IsGridPage(self, page)


    def GetPage(self, page: 'unsigned int') -> "OEDepict::OEImageBase *":
        """GetPage(OEReport self, unsigned int page) -> OEImageBase"""
        return _oedepict.OEReport_GetPage(self, page)


    def GetPages(self) -> "OESystem::OEIterBase< OEDepict::OEImageBase > *":
        """GetPages(OEReport self) -> OESystem::OEIterBase< OEDepict::OEImageBase > *"""
        return _oedepict.OEReport_GetPages(self)


    def GetBody(self, page: 'unsigned int') -> "OEDepict::OEImageBase *":
        """GetBody(OEReport self, unsigned int page) -> OEImageBase"""
        return _oedepict.OEReport_GetBody(self, page)


    def GetBodies(self) -> "OESystem::OEIterBase< OEDepict::OEImageBase > *":
        """GetBodies(OEReport self) -> OESystem::OEIterBase< OEDepict::OEImageBase > *"""
        return _oedepict.OEReport_GetBodies(self)


    def GetCell(self, page: 'unsigned int', row: 'unsigned int', col: 'unsigned int') -> "OEDepict::OEImageBase *":
        """GetCell(OEReport self, unsigned int page, unsigned int row, unsigned int col) -> OEImageBase"""
        return _oedepict.OEReport_GetCell(self, page, row, col)


    def GetCells(self, page: 'unsigned int'=0, row: 'unsigned int'=0, col: 'unsigned int'=0) -> "OESystem::OEIterBase< OEDepict::OEImageBase > *":
        """
        GetCells(OEReport self, unsigned int page=0, unsigned int row=0, unsigned int col=0) -> OESystem::OEIterBase< OEDepict::OEImageBase >
        GetCells(OEReport self, unsigned int page=0, unsigned int row=0) -> OESystem::OEIterBase< OEDepict::OEImageBase >
        GetCells(OEReport self, unsigned int page=0) -> OESystem::OEIterBase< OEDepict::OEImageBase >
        GetCells(OEReport self) -> OESystem::OEIterBase< OEDepict::OEImageBase > *
        """
        return _oedepict.OEReport_GetCells(self, page, row, col)


    def GetHeader(self, page: 'unsigned int') -> "OEDepict::OEImageBase *":
        """GetHeader(OEReport self, unsigned int page) -> OEImageBase"""
        return _oedepict.OEReport_GetHeader(self, page)


    def GetHeaders(self) -> "OESystem::OEIterBase< OEDepict::OEImageBase > *":
        """GetHeaders(OEReport self) -> OESystem::OEIterBase< OEDepict::OEImageBase > *"""
        return _oedepict.OEReport_GetHeaders(self)


    def GetFooter(self, page: 'unsigned int') -> "OEDepict::OEImageBase *":
        """GetFooter(OEReport self, unsigned int page) -> OEImageBase"""
        return _oedepict.OEReport_GetFooter(self, page)


    def GetFooters(self) -> "OESystem::OEIterBase< OEDepict::OEImageBase > *":
        """GetFooters(OEReport self) -> OESystem::OEIterBase< OEDepict::OEImageBase > *"""
        return _oedepict.OEReport_GetFooters(self)


    def GetOptions(self) -> "OEDepict::OEReportOptions const &":
        """GetOptions(OEReport self) -> OEReportOptions"""
        return _oedepict.OEReport_GetOptions(self)

OEReport_swigregister = _oedepict.OEReport_swigregister
OEReport_swigregister(OEReport)


def PyOEWriteReportToString(extension: 'char const *', report: 'OEReport', page: 'unsigned int') -> "PyObject *":
    """PyOEWriteReportToString(char const * extension, OEReport report, unsigned int page) -> PyObject *"""
    return _oedepict.PyOEWriteReportToString(extension, report, page)

def OEWriteReportToString(extension: 'char const *', report: 'OEReport', page: 'unsigned int'=0) -> "PyObject *":
    """
    OEWriteReportToString(char const * extension, OEReport report, unsigned int page=0) -> PyObject
    OEWriteReportToString(char const * extension, OEReport report) -> PyObject *
    """
    return _oedepict.OEWriteReportToString(extension, report, page)

def OEWriteReportToBytes(extension: 'char const *', report: 'OEReport', page: 'unsigned int'=0) -> "PyObject *":
    """
    OEWriteReportToBytes(char const * extension, OEReport report, unsigned int page=0) -> PyObject
    OEWriteReportToBytes(char const * extension, OEReport report) -> PyObject *
    """
    return _oedepict.OEWriteReportToBytes(extension, report, page)

def OEWriteReport(*args) -> "bool":
    """
    OEWriteReport(std::string const & filename, OEReport report, unsigned int page=0) -> bool
    OEWriteReport(std::string const & filename, OEReport report) -> bool
    OEWriteReport(oeostream os, std::string const & extension, OEReport report, unsigned int page=0) -> bool
    OEWriteReport(oeostream os, std::string const & extension, OEReport report) -> bool
    """
    return _oedepict.OEWriteReport(*args)

def OEWriteReportPageByPage(filename: 'std::string const &', report: 'OEReport') -> "bool":
    """OEWriteReportPageByPage(std::string const & filename, OEReport report) -> bool"""
    return _oedepict.OEWriteReportPageByPage(filename, report)
class OEReportOptions(object):
    """Proxy of C++ OEDepict::OEReportOptions class."""

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

    def __init__(self, *args):
        """
        __init__(OEDepict::OEReportOptions self, unsigned int rowsperpage=3, unsigned int colsperpage=2) -> OEReportOptions
        __init__(OEDepict::OEReportOptions self, unsigned int rowsperpage=3) -> OEReportOptions
        __init__(OEDepict::OEReportOptions self) -> OEReportOptions
        __init__(OEDepict::OEReportOptions self, OEReportOptions rhs) -> OEReportOptions
        """
        this = _oedepict.new_OEReportOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oedepict.delete_OEReportOptions
    __del__ = lambda self: None

    def NumRowsPerPage(self) -> "unsigned int":
        """NumRowsPerPage(OEReportOptions self) -> unsigned int"""
        return _oedepict.OEReportOptions_NumRowsPerPage(self)


    def NumColsPerPage(self) -> "unsigned int":
        """NumColsPerPage(OEReportOptions self) -> unsigned int"""
        return _oedepict.OEReportOptions_NumColsPerPage(self)


    def SetPageWidth(self, width: 'double') -> "void":
        """SetPageWidth(OEReportOptions self, double width)"""
        return _oedepict.OEReportOptions_SetPageWidth(self, width)


    def SetPageHeight(self, height: 'double') -> "void":
        """SetPageHeight(OEReportOptions self, double height)"""
        return _oedepict.OEReportOptions_SetPageHeight(self, height)


    def SetPageOrientation(self, orientation: 'unsigned int') -> "void":
        """SetPageOrientation(OEReportOptions self, unsigned int orientation)"""
        return _oedepict.OEReportOptions_SetPageOrientation(self, orientation)


    def SetPageSize(self, pagesize: 'unsigned int') -> "void":
        """SetPageSize(OEReportOptions self, unsigned int pagesize)"""
        return _oedepict.OEReportOptions_SetPageSize(self, pagesize)


    def GetPageWidth(self) -> "double":
        """GetPageWidth(OEReportOptions self) -> double"""
        return _oedepict.OEReportOptions_GetPageWidth(self)


    def GetPageHeight(self) -> "double":
        """GetPageHeight(OEReportOptions self) -> double"""
        return _oedepict.OEReportOptions_GetPageHeight(self)


    def GetCellWidth(self) -> "double":
        """GetCellWidth(OEReportOptions self) -> double"""
        return _oedepict.OEReportOptions_GetCellWidth(self)


    def GetCellHeight(self) -> "double":
        """GetCellHeight(OEReportOptions self) -> double"""
        return _oedepict.OEReportOptions_GetCellHeight(self)


    def SetPageMargin(self, margin: 'unsigned int', size: 'double') -> "void":
        """SetPageMargin(OEReportOptions self, unsigned int margin, double size)"""
        return _oedepict.OEReportOptions_SetPageMargin(self, margin, size)


    def SetPageMargins(self, size: 'double') -> "void":
        """SetPageMargins(OEReportOptions self, double size)"""
        return _oedepict.OEReportOptions_SetPageMargins(self, size)


    def GetPageMargin(self, margin: 'unsigned int') -> "double":
        """GetPageMargin(OEReportOptions self, unsigned int margin) -> double"""
        return _oedepict.OEReportOptions_GetPageMargin(self, margin)


    def SetCellGap(self, size: 'double') -> "void":
        """SetCellGap(OEReportOptions self, double size)"""
        return _oedepict.OEReportOptions_SetCellGap(self, size)


    def GetCellGap(self) -> "double":
        """GetCellGap(OEReportOptions self) -> double"""
        return _oedepict.OEReportOptions_GetCellGap(self)


    def SetHeaderHeight(self, height: 'double') -> "void":
        """SetHeaderHeight(OEReportOptions self, double height)"""
        return _oedepict.OEReportOptions_SetHeaderHeight(self, height)


    def GetHeaderWidth(self) -> "double":
        """GetHeaderWidth(OEReportOptions self) -> double"""
        return _oedepict.OEReportOptions_GetHeaderWidth(self)


    def GetHeaderHeight(self) -> "double":
        """GetHeaderHeight(OEReportOptions self) -> double"""
        return _oedepict.OEReportOptions_GetHeaderHeight(self)


    def SetFooterHeight(self, height: 'double') -> "void":
        """SetFooterHeight(OEReportOptions self, double height)"""
        return _oedepict.OEReportOptions_SetFooterHeight(self, height)


    def GetFooterWidth(self) -> "double":
        """GetFooterWidth(OEReportOptions self) -> double"""
        return _oedepict.OEReportOptions_GetFooterWidth(self)


    def GetFooterHeight(self) -> "double":
        """GetFooterHeight(OEReportOptions self) -> double"""
        return _oedepict.OEReportOptions_GetFooterHeight(self)


    def GetImpl(self, *args) -> "OEDepict::OEReportOptionsImpl const *":
        """
        GetImpl(OEReportOptions self) -> OEDepict::OEReportOptionsImpl
        GetImpl(OEReportOptions self) -> OEDepict::OEReportOptionsImpl const *
        """
        return _oedepict.OEReportOptions_GetImpl(self, *args)

OEReportOptions_swigregister = _oedepict.OEReportOptions_swigregister
OEReportOptions_swigregister(OEReportOptions)


def OEConfigureReportOptions(*args) -> "bool":
    """
    OEConfigureReportOptions(OEInterface itf, unsigned int config) -> bool
    OEConfigureReportOptions(OEInterface itf) -> bool
    """
    return _oedepict.OEConfigureReportOptions(*args)

def OESetupReportOptions(opts: 'OEReportOptions', itf: 'OEInterface') -> "bool":
    """OESetupReportOptions(OEReportOptions opts, OEInterface itf) -> bool"""
    return _oedepict.OESetupReportOptions(opts, itf)

def OEAnnotateDepictionProblems(disp: 'OE2DMolDisplay') -> "bool":
    """OEAnnotateDepictionProblems(OE2DMolDisplay disp) -> bool"""
    return _oedepict.OEAnnotateDepictionProblems(disp)

def OEAnnotateValenceProblems(disp: 'OE2DMolDisplay') -> "bool":
    """OEAnnotateValenceProblems(OE2DMolDisplay disp) -> bool"""
    return _oedepict.OEAnnotateValenceProblems(disp)

def OEDrawSVGHoverText(*args) -> "bool":
    """
    OEDrawSVGHoverText(OE2DMolDisplay arg1, OE2DAtomDisplay arg2, std::string const & text, OEFont font) -> bool
    OEDrawSVGHoverText(OE2DMolDisplay arg1, OE2DBondDisplay arg2, std::string const & text, OEFont font) -> bool
    """
    return _oedepict.OEDrawSVGHoverText(*args)

def OEDrawSVGToggleText(*args) -> "bool":
    """
    OEDrawSVGToggleText(OE2DMolDisplay arg1, OE2DAtomDisplay arg2, std::string const & text, OEFont font) -> bool
    OEDrawSVGToggleText(OE2DMolDisplay arg1, OE2DBondDisplay arg2, std::string const & text, OEFont font) -> bool
    """
    return _oedepict.OEDrawSVGToggleText(*args)

def OEAddSVGClickEvent(*args) -> "bool":
    """
    OEAddSVGClickEvent(OE2DMolDisplay arg1, OE2DAtomDisplay arg2, std::string const & message) -> bool
    OEAddSVGClickEvent(OE2DMolDisplay arg1, OE2DBondDisplay arg2, std::string const & message) -> bool
    OEAddSVGClickEvent(OESVGGroup svggroup, std::string const & message) -> bool
    """
    return _oedepict.OEAddSVGClickEvent(*args)

def OEWrite2DRingDictionaryReport(*args) -> "bool":
    """
    OEWrite2DRingDictionaryReport(std::string const & filename, OE2DRingDictionary rtd, OEReportOptions opts) -> bool
    OEWrite2DRingDictionaryReport(oeostream os, std::string const & extension, OE2DRingDictionary rtd, OEReportOptions opts) -> bool
    """
    return _oedepict.OEWrite2DRingDictionaryReport(*args)

def OEDepictCoordinates(mol: 'OEMolBase') -> "bool":
    """OEDepictCoordinates(OEMolBase mol) -> bool"""
    return _oedepict.OEDepictCoordinates(mol)

def OEHasDepictionHydrogens(arg1: 'OEAtomBase') -> "bool":
    """OEHasDepictionHydrogens(OEAtomBase arg1) -> bool"""
    return _oedepict.OEHasDepictionHydrogens(arg1)

def OEAddDepictionHydrogens(mol: 'OEMolBase') -> "bool":
    """OEAddDepictionHydrogens(OEMolBase mol) -> bool"""
    return _oedepict.OEAddDepictionHydrogens(mol)

def OEDepictSmilesAtomCount(buffer: 'char const *') -> "unsigned int":
    """OEDepictSmilesAtomCount(char const * buffer) -> unsigned int"""
    return _oedepict.OEDepictSmilesAtomCount(buffer)

def OEDepictFixedCoordinates(*args) -> "bool":
    """
    OEDepictFixedCoordinates(OEMolBase mol, unsigned char * fixed) -> bool
    OEDepictFixedCoordinates(OEMolBase mol, PyObject * input) -> bool
    """
    return _oedepict.OEDepictFixedCoordinates(*args)
OE_OEDEPICT_VERSION = _oedepict.OE_OEDEPICT_VERSION

def OEDepictGetRelease() -> "char const *":
    """OEDepictGetRelease() -> char const *"""
    return _oedepict.OEDepictGetRelease()

def OEDepictGetVersion() -> "unsigned int":
    """OEDepictGetVersion() -> unsigned int"""
    return _oedepict.OEDepictGetVersion()

def OEDepictGetArch() -> "char const *":
    """OEDepictGetArch() -> char const *"""
    return _oedepict.OEDepictGetArch()

def OEDepictGetPlatform() -> "char const *":
    """OEDepictGetPlatform() -> char const *"""
    return _oedepict.OEDepictGetPlatform()

def OEDepictIsLicensed(feature: 'char const *'=None, expdate: 'unsigned int *'=None) -> "bool":
    """
    OEDepictIsLicensed(char const * feature=None, unsigned int * expdate=None) -> bool
    OEDepictIsLicensed(char const * feature=None) -> bool
    OEDepictIsLicensed() -> bool
    """
    return _oedepict.OEDepictIsLicensed(feature, expdate)

def OEDepictGetLicensee(*args) -> "std::string":
    """
    OEDepictGetLicensee(std::string & licensee) -> bool
    OEDepictGetLicensee() -> std::string
    """
    return _oedepict.OEDepictGetLicensee(*args)

def OEDepictGetSite(*args) -> "std::string":
    """
    OEDepictGetSite(std::string & site) -> bool
    OEDepictGetSite() -> std::string
    """
    return _oedepict.OEDepictGetSite(*args)


