# 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')

    _oegrapheme = libs.OEGetModule('_oegrapheme1415')
    return _oegrapheme

_oegrapheme = 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


OESurfaceArcStyle_Default = _oegrapheme.OESurfaceArcStyle_Default
OESurfaceArcStyle_RaceTrack = _oegrapheme.OESurfaceArcStyle_RaceTrack
OESurfaceArcStyle_Eyelash = _oegrapheme.OESurfaceArcStyle_Eyelash
OESurfaceArcStyle_Stitch = _oegrapheme.OESurfaceArcStyle_Stitch
OESurfaceArcStyle_Simpson = _oegrapheme.OESurfaceArcStyle_Simpson
OESurfaceArcStyle_RailroadTrack = _oegrapheme.OESurfaceArcStyle_RailroadTrack
OESurfaceArcStyle_Necklace = _oegrapheme.OESurfaceArcStyle_Necklace
OESurfaceArcStyle_AlphaRainbow = _oegrapheme.OESurfaceArcStyle_AlphaRainbow
OESurfaceArcStyle_Pearls = _oegrapheme.OESurfaceArcStyle_Pearls
OESurfaceArcStyle_Sun = _oegrapheme.OESurfaceArcStyle_Sun
OESurfaceArcStyle_OliveBranch = _oegrapheme.OESurfaceArcStyle_OliveBranch
OESurfaceArcStyle_Saw = _oegrapheme.OESurfaceArcStyle_Saw
OESurfaceArcStyle_Flower = _oegrapheme.OESurfaceArcStyle_Flower
OESurfaceArcStyle_Cog = _oegrapheme.OESurfaceArcStyle_Cog
OESurfaceArcStyle_Castle = _oegrapheme.OESurfaceArcStyle_Castle
OESurfaceArcStyle_BrickRoad = _oegrapheme.OESurfaceArcStyle_BrickRoad
OESurfaceArcStyle_Wreath = _oegrapheme.OESurfaceArcStyle_Wreath
OECircleStyle_Default = _oegrapheme.OECircleStyle_Default
OECircleStyle_RaceTrack = _oegrapheme.OECircleStyle_RaceTrack
OECircleStyle_Eyelash = _oegrapheme.OECircleStyle_Eyelash
OECircleStyle_Stitch = _oegrapheme.OECircleStyle_Stitch
OECircleStyle_Simpson = _oegrapheme.OECircleStyle_Simpson
OECircleStyle_RailroadTrack = _oegrapheme.OECircleStyle_RailroadTrack
OECircleStyle_Necklace = _oegrapheme.OECircleStyle_Necklace
OECircleStyle_AlphaRainbow = _oegrapheme.OECircleStyle_AlphaRainbow
OECircleStyle_Pearls = _oegrapheme.OECircleStyle_Pearls
OECircleStyle_Sun = _oegrapheme.OECircleStyle_Sun
OECircleStyle_OliveBranch = _oegrapheme.OECircleStyle_OliveBranch
OECircleStyle_Saw = _oegrapheme.OECircleStyle_Saw
OECircleStyle_Flower = _oegrapheme.OECircleStyle_Flower
OECircleStyle_Cog = _oegrapheme.OECircleStyle_Cog
OECircleStyle_Castle = _oegrapheme.OECircleStyle_Castle
OECircleStyle_GreekKey = _oegrapheme.OECircleStyle_GreekKey
OECircleStyle_BrickRoad = _oegrapheme.OECircleStyle_BrickRoad
OECircleStyle_Wreath = _oegrapheme.OECircleStyle_Wreath
OEPatternDirection_Inside = _oegrapheme.OEPatternDirection_Inside
OEPatternDirection_Outside = _oegrapheme.OEPatternDirection_Outside

OEPatternDirection_Default = OEPatternDirection_Outside

OEPlotMarkerStyle_Circle = _oegrapheme.OEPlotMarkerStyle_Circle
OEPlotMarkerStyle_Square = _oegrapheme.OEPlotMarkerStyle_Square
OEPlotMarkerStyle_Default = _oegrapheme.OEPlotMarkerStyle_Default
OEPeptideLabelStyle_ThreeLetters = _oegrapheme.OEPeptideLabelStyle_ThreeLetters
OEPeptideLabelStyle_SingleLetter = _oegrapheme.OEPeptideLabelStyle_SingleLetter

OEPeptideLabelStyle_Default = OEPeptideLabelStyle_ThreeLetters

OEColorAtomStyle_Hidden = _oegrapheme.OEColorAtomStyle_Hidden
OEColorAtomStyle_Circle = _oegrapheme.OEColorAtomStyle_Circle

OEColorAtomStyle_Default = OEColorAtomStyle_Circle

OEShapeOverlapDisplayStyle_PropertyMap = _oegrapheme.OEShapeOverlapDisplayStyle_PropertyMap
OEShapeOverlapDisplayStyle_PropertyCloud = _oegrapheme.OEShapeOverlapDisplayStyle_PropertyCloud

OEShapeOverlapDisplayStyle_Default = OEShapeOverlapDisplayStyle_PropertyMap

OESurfaceArcScale_Minimum = _oegrapheme.OESurfaceArcScale_Minimum
OESurfaceArcScale_Maximum = _oegrapheme.OESurfaceArcScale_Maximum
OESurfaceArcScale_Default = _oegrapheme.OESurfaceArcScale_Default
OE2DPropMapSetup_MinValue = _oegrapheme.OE2DPropMapSetup_MinValue
OE2DPropMapSetup_MaxValue = _oegrapheme.OE2DPropMapSetup_MaxValue
OE2DPropMapSetup_NegativeColor = _oegrapheme.OE2DPropMapSetup_NegativeColor
OE2DPropMapSetup_PositiveColor = _oegrapheme.OE2DPropMapSetup_PositiveColor
OE2DPropMapSetup_Legend = _oegrapheme.OE2DPropMapSetup_Legend
OE2DPropMapSetup_RadiusRatio = _oegrapheme.OE2DPropMapSetup_RadiusRatio
OE2DPropMapSetup_Resolution = _oegrapheme.OE2DPropMapSetup_Resolution
OE2DPropMapSetup_All = _oegrapheme.OE2DPropMapSetup_All
OELegendLocation_Hidden = _oegrapheme.OELegendLocation_Hidden
OELegendLocation_Top = _oegrapheme.OELegendLocation_Top
OELegendLocation_Bottom = _oegrapheme.OELegendLocation_Bottom
OELegendLocation_Left = _oegrapheme.OELegendLocation_Left
OELegendLocation_Right = _oegrapheme.OELegendLocation_Right

OELegendLocation_Default = OELegendLocation_Bottom

import openeye.oechem as oechem
import openeye.oedepict as oedepict

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)
    __no_op(OESurfaceArcIter arg1)
    __no_op(OEResidueIter arg1)
    """
    return _oegrapheme.__no_op(*args)

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
    GetSWIG_NewPointerObj(OESurfaceArc arg, bool owned) -> PyObject *
    """
    return _oegrapheme.GetSWIG_NewPointerObj(*args)
class OESurfaceArc(object):
    """Proxy of C++ OEGrapheme::OESurfaceArc 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__(OEGrapheme::OESurfaceArc self) -> OESurfaceArc
        __init__(OEGrapheme::OESurfaceArc self, OE2DAtomDisplay adisp, OE2DPoint center, double bgnAngle, double endAngle, double radius) -> OESurfaceArc
        __init__(OEGrapheme::OESurfaceArc self, OESurfaceArc rhs) -> OESurfaceArc
        """
        this = _oegrapheme.new_OESurfaceArc(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def SetAtomDisplay(self, adisp: 'OE2DAtomDisplay') -> "bool":
        """SetAtomDisplay(OESurfaceArc self, OE2DAtomDisplay adisp) -> bool"""
        return _oegrapheme.OESurfaceArc_SetAtomDisplay(self, adisp)


    def SetCenter(self, center: 'OE2DPoint') -> "bool":
        """SetCenter(OESurfaceArc self, OE2DPoint center) -> bool"""
        return _oegrapheme.OESurfaceArc_SetCenter(self, center)


    def SetBgnAngle(self, angle: 'double') -> "bool":
        """SetBgnAngle(OESurfaceArc self, double angle) -> bool"""
        return _oegrapheme.OESurfaceArc_SetBgnAngle(self, angle)


    def SetEndAngle(self, angle: 'double') -> "bool":
        """SetEndAngle(OESurfaceArc self, double angle) -> bool"""
        return _oegrapheme.OESurfaceArc_SetEndAngle(self, angle)


    def SetRadius(self, radius: 'double') -> "bool":
        """SetRadius(OESurfaceArc self, double radius) -> bool"""
        return _oegrapheme.OESurfaceArc_SetRadius(self, radius)


    def GetAtomDisplay(self) -> "OEDepict::OE2DAtomDisplay const *":
        """GetAtomDisplay(OESurfaceArc self) -> OE2DAtomDisplay"""
        return _oegrapheme.OESurfaceArc_GetAtomDisplay(self)


    def GetCenter(self) -> "OEDepict::OE2DPoint const &":
        """GetCenter(OESurfaceArc self) -> OE2DPoint"""
        return _oegrapheme.OESurfaceArc_GetCenter(self)


    def GetBgnAngle(self) -> "double":
        """GetBgnAngle(OESurfaceArc self) -> double"""
        return _oegrapheme.OESurfaceArc_GetBgnAngle(self)


    def GetEndAngle(self) -> "double":
        """GetEndAngle(OESurfaceArc self) -> double"""
        return _oegrapheme.OESurfaceArc_GetEndAngle(self)


    def GetRadius(self) -> "double":
        """GetRadius(OESurfaceArc self) -> double"""
        return _oegrapheme.OESurfaceArc_GetRadius(self)

    __swig_destroy__ = _oegrapheme.delete_OESurfaceArc
    __del__ = lambda self: None
OESurfaceArc_swigregister = _oegrapheme.OESurfaceArc_swigregister
OESurfaceArc_swigregister(OESurfaceArc)

class OESurfaceArcFxnBase(object):
    """Proxy of C++ OEGrapheme::OESurfaceArcFxnBase class."""

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

    def __call__(self, arg0: 'OEImageBase', arg1: 'OESurfaceArc') -> "bool":
        """__call__(OESurfaceArcFxnBase self, OEImageBase arg0, OESurfaceArc arg1) -> bool"""
        return _oegrapheme.OESurfaceArcFxnBase___call__(self, arg0, arg1)


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


    __swig_destroy__ = _oegrapheme.delete_OESurfaceArcFxnBase
    __del__ = lambda self: None

    def __init__(self):
        """__init__(OEGrapheme::OESurfaceArcFxnBase self) -> OESurfaceArcFxnBase"""
        if self.__class__ == OESurfaceArcFxnBase:
            _self = None
        else:
            _self = self
        this = _oegrapheme.new_OESurfaceArcFxnBase(_self, )
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    def __disown__(self):
        self.this.disown()
        _oegrapheme.disown_OESurfaceArcFxnBase(self)
        return weakref_proxy(self)
OESurfaceArcFxnBase_swigregister = _oegrapheme.OESurfaceArcFxnBase_swigregister
OESurfaceArcFxnBase_swigregister(OESurfaceArcFxnBase)

class OENullArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OENullArcFxn 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__(OEGrapheme::OENullArcFxn self) -> OENullArcFxn"""
        this = _oegrapheme.new_OENullArcFxn()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, arg2: 'OEImageBase', arg3: 'OESurfaceArc') -> "bool":
        """__call__(OENullArcFxn self, OEImageBase arg2, OESurfaceArc arg3) -> bool"""
        return _oegrapheme.OENullArcFxn___call__(self, arg2, arg3)


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


    __swig_destroy__ = _oegrapheme.delete_OENullArcFxn
    __del__ = lambda self: None
OENullArcFxn_swigregister = _oegrapheme.OENullArcFxn_swigregister
OENullArcFxn_swigregister(OENullArcFxn)

class OEDefaultArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OEDefaultArcFxn 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__(OEGrapheme::OEDefaultArcFxn self, OEPen pen) -> OEDefaultArcFxn
        __init__(OEGrapheme::OEDefaultArcFxn self) -> OEDefaultArcFxn
        """
        this = _oegrapheme.new_OEDefaultArcFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', arc: 'OESurfaceArc') -> "bool":
        """__call__(OEDefaultArcFxn self, OEImageBase image, OESurfaceArc arc) -> bool"""
        return _oegrapheme.OEDefaultArcFxn___call__(self, image, arc)


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


    __swig_destroy__ = _oegrapheme.delete_OEDefaultArcFxn
    __del__ = lambda self: None
OEDefaultArcFxn_swigregister = _oegrapheme.OEDefaultArcFxn_swigregister
OEDefaultArcFxn_swigregister(OEDefaultArcFxn)

class OERaceTrackArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OERaceTrackArcFxn 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__(OEGrapheme::OERaceTrackArcFxn self, OEPen pen) -> OERaceTrackArcFxn
        __init__(OEGrapheme::OERaceTrackArcFxn self) -> OERaceTrackArcFxn
        """
        this = _oegrapheme.new_OERaceTrackArcFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', arc: 'OESurfaceArc') -> "bool":
        """__call__(OERaceTrackArcFxn self, OEImageBase image, OESurfaceArc arc) -> bool"""
        return _oegrapheme.OERaceTrackArcFxn___call__(self, image, arc)


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


    __swig_destroy__ = _oegrapheme.delete_OERaceTrackArcFxn
    __del__ = lambda self: None
OERaceTrackArcFxn_swigregister = _oegrapheme.OERaceTrackArcFxn_swigregister
OERaceTrackArcFxn_swigregister(OERaceTrackArcFxn)

class OEEyelashArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OEEyelashArcFxn 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__(OEGrapheme::OEEyelashArcFxn self, OEPen pen) -> OEEyelashArcFxn
        __init__(OEGrapheme::OEEyelashArcFxn self) -> OEEyelashArcFxn
        """
        this = _oegrapheme.new_OEEyelashArcFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', arc: 'OESurfaceArc') -> "bool":
        """__call__(OEEyelashArcFxn self, OEImageBase image, OESurfaceArc arc) -> bool"""
        return _oegrapheme.OEEyelashArcFxn___call__(self, image, arc)


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


    __swig_destroy__ = _oegrapheme.delete_OEEyelashArcFxn
    __del__ = lambda self: None
OEEyelashArcFxn_swigregister = _oegrapheme.OEEyelashArcFxn_swigregister
OEEyelashArcFxn_swigregister(OEEyelashArcFxn)

class OEStitchArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OEStitchArcFxn 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__(OEGrapheme::OEStitchArcFxn self, OEPen pen) -> OEStitchArcFxn
        __init__(OEGrapheme::OEStitchArcFxn self) -> OEStitchArcFxn
        """
        this = _oegrapheme.new_OEStitchArcFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', arc: 'OESurfaceArc') -> "bool":
        """__call__(OEStitchArcFxn self, OEImageBase image, OESurfaceArc arc) -> bool"""
        return _oegrapheme.OEStitchArcFxn___call__(self, image, arc)


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


    __swig_destroy__ = _oegrapheme.delete_OEStitchArcFxn
    __del__ = lambda self: None
OEStitchArcFxn_swigregister = _oegrapheme.OEStitchArcFxn_swigregister
OEStitchArcFxn_swigregister(OEStitchArcFxn)

class OESimpsonArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OESimpsonArcFxn 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__(OEGrapheme::OESimpsonArcFxn self, OEPen pen) -> OESimpsonArcFxn
        __init__(OEGrapheme::OESimpsonArcFxn self) -> OESimpsonArcFxn
        """
        this = _oegrapheme.new_OESimpsonArcFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', arc: 'OESurfaceArc') -> "bool":
        """__call__(OESimpsonArcFxn self, OEImageBase image, OESurfaceArc arc) -> bool"""
        return _oegrapheme.OESimpsonArcFxn___call__(self, image, arc)


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


    __swig_destroy__ = _oegrapheme.delete_OESimpsonArcFxn
    __del__ = lambda self: None
OESimpsonArcFxn_swigregister = _oegrapheme.OESimpsonArcFxn_swigregister
OESimpsonArcFxn_swigregister(OESimpsonArcFxn)

class OERailroadTrackArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OERailroadTrackArcFxn 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__(OEGrapheme::OERailroadTrackArcFxn self, OEPen pen) -> OERailroadTrackArcFxn
        __init__(OEGrapheme::OERailroadTrackArcFxn self) -> OERailroadTrackArcFxn
        """
        this = _oegrapheme.new_OERailroadTrackArcFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', arc: 'OESurfaceArc') -> "bool":
        """__call__(OERailroadTrackArcFxn self, OEImageBase image, OESurfaceArc arc) -> bool"""
        return _oegrapheme.OERailroadTrackArcFxn___call__(self, image, arc)


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


    __swig_destroy__ = _oegrapheme.delete_OERailroadTrackArcFxn
    __del__ = lambda self: None
OERailroadTrackArcFxn_swigregister = _oegrapheme.OERailroadTrackArcFxn_swigregister
OERailroadTrackArcFxn_swigregister(OERailroadTrackArcFxn)

class OENecklaceArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OENecklaceArcFxn 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__(OEGrapheme::OENecklaceArcFxn self, OEPen pen) -> OENecklaceArcFxn
        __init__(OEGrapheme::OENecklaceArcFxn self) -> OENecklaceArcFxn
        """
        this = _oegrapheme.new_OENecklaceArcFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', arc: 'OESurfaceArc') -> "bool":
        """__call__(OENecklaceArcFxn self, OEImageBase image, OESurfaceArc arc) -> bool"""
        return _oegrapheme.OENecklaceArcFxn___call__(self, image, arc)


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


    __swig_destroy__ = _oegrapheme.delete_OENecklaceArcFxn
    __del__ = lambda self: None
OENecklaceArcFxn_swigregister = _oegrapheme.OENecklaceArcFxn_swigregister
OENecklaceArcFxn_swigregister(OENecklaceArcFxn)

class OEAlphaRainbowArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OEAlphaRainbowArcFxn 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__(OEGrapheme::OEAlphaRainbowArcFxn self, OEPen pen) -> OEAlphaRainbowArcFxn
        __init__(OEGrapheme::OEAlphaRainbowArcFxn self) -> OEAlphaRainbowArcFxn
        """
        this = _oegrapheme.new_OEAlphaRainbowArcFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', arc: 'OESurfaceArc') -> "bool":
        """__call__(OEAlphaRainbowArcFxn self, OEImageBase image, OESurfaceArc arc) -> bool"""
        return _oegrapheme.OEAlphaRainbowArcFxn___call__(self, image, arc)


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


    __swig_destroy__ = _oegrapheme.delete_OEAlphaRainbowArcFxn
    __del__ = lambda self: None
OEAlphaRainbowArcFxn_swigregister = _oegrapheme.OEAlphaRainbowArcFxn_swigregister
OEAlphaRainbowArcFxn_swigregister(OEAlphaRainbowArcFxn)

class OEPearlsArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OEPearlsArcFxn 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__(OEGrapheme::OEPearlsArcFxn self, OEPen pen) -> OEPearlsArcFxn
        __init__(OEGrapheme::OEPearlsArcFxn self) -> OEPearlsArcFxn
        """
        this = _oegrapheme.new_OEPearlsArcFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', arc: 'OESurfaceArc') -> "bool":
        """__call__(OEPearlsArcFxn self, OEImageBase image, OESurfaceArc arc) -> bool"""
        return _oegrapheme.OEPearlsArcFxn___call__(self, image, arc)


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


    __swig_destroy__ = _oegrapheme.delete_OEPearlsArcFxn
    __del__ = lambda self: None
OEPearlsArcFxn_swigregister = _oegrapheme.OEPearlsArcFxn_swigregister
OEPearlsArcFxn_swigregister(OEPearlsArcFxn)

class OESunArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OESunArcFxn 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__(OEGrapheme::OESunArcFxn self, OEPen pen) -> OESunArcFxn
        __init__(OEGrapheme::OESunArcFxn self) -> OESunArcFxn
        """
        this = _oegrapheme.new_OESunArcFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', arc: 'OESurfaceArc') -> "bool":
        """__call__(OESunArcFxn self, OEImageBase image, OESurfaceArc arc) -> bool"""
        return _oegrapheme.OESunArcFxn___call__(self, image, arc)


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


    __swig_destroy__ = _oegrapheme.delete_OESunArcFxn
    __del__ = lambda self: None
OESunArcFxn_swigregister = _oegrapheme.OESunArcFxn_swigregister
OESunArcFxn_swigregister(OESunArcFxn)

class OEOliveBranchArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OEOliveBranchArcFxn 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__(OEGrapheme::OEOliveBranchArcFxn self, OEPen pen) -> OEOliveBranchArcFxn
        __init__(OEGrapheme::OEOliveBranchArcFxn self) -> OEOliveBranchArcFxn
        """
        this = _oegrapheme.new_OEOliveBranchArcFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', arc: 'OESurfaceArc') -> "bool":
        """__call__(OEOliveBranchArcFxn self, OEImageBase image, OESurfaceArc arc) -> bool"""
        return _oegrapheme.OEOliveBranchArcFxn___call__(self, image, arc)


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


    __swig_destroy__ = _oegrapheme.delete_OEOliveBranchArcFxn
    __del__ = lambda self: None
OEOliveBranchArcFxn_swigregister = _oegrapheme.OEOliveBranchArcFxn_swigregister
OEOliveBranchArcFxn_swigregister(OEOliveBranchArcFxn)

class OESawArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OESawArcFxn 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__(OEGrapheme::OESawArcFxn self, OEPen pen) -> OESawArcFxn
        __init__(OEGrapheme::OESawArcFxn self) -> OESawArcFxn
        """
        this = _oegrapheme.new_OESawArcFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', arc: 'OESurfaceArc') -> "bool":
        """__call__(OESawArcFxn self, OEImageBase image, OESurfaceArc arc) -> bool"""
        return _oegrapheme.OESawArcFxn___call__(self, image, arc)


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


    __swig_destroy__ = _oegrapheme.delete_OESawArcFxn
    __del__ = lambda self: None
OESawArcFxn_swigregister = _oegrapheme.OESawArcFxn_swigregister
OESawArcFxn_swigregister(OESawArcFxn)

class OEFlowerArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OEFlowerArcFxn 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__(OEGrapheme::OEFlowerArcFxn self, OEPen pen) -> OEFlowerArcFxn
        __init__(OEGrapheme::OEFlowerArcFxn self) -> OEFlowerArcFxn
        """
        this = _oegrapheme.new_OEFlowerArcFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', arc: 'OESurfaceArc') -> "bool":
        """__call__(OEFlowerArcFxn self, OEImageBase image, OESurfaceArc arc) -> bool"""
        return _oegrapheme.OEFlowerArcFxn___call__(self, image, arc)


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


    __swig_destroy__ = _oegrapheme.delete_OEFlowerArcFxn
    __del__ = lambda self: None
OEFlowerArcFxn_swigregister = _oegrapheme.OEFlowerArcFxn_swigregister
OEFlowerArcFxn_swigregister(OEFlowerArcFxn)

class OECogArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OECogArcFxn 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__(OEGrapheme::OECogArcFxn self, OEPen pen) -> OECogArcFxn
        __init__(OEGrapheme::OECogArcFxn self) -> OECogArcFxn
        """
        this = _oegrapheme.new_OECogArcFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', arc: 'OESurfaceArc') -> "bool":
        """__call__(OECogArcFxn self, OEImageBase image, OESurfaceArc arc) -> bool"""
        return _oegrapheme.OECogArcFxn___call__(self, image, arc)


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


    __swig_destroy__ = _oegrapheme.delete_OECogArcFxn
    __del__ = lambda self: None
OECogArcFxn_swigregister = _oegrapheme.OECogArcFxn_swigregister
OECogArcFxn_swigregister(OECogArcFxn)

class OECastleArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OECastleArcFxn 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__(OEGrapheme::OECastleArcFxn self, OEPen pen) -> OECastleArcFxn
        __init__(OEGrapheme::OECastleArcFxn self) -> OECastleArcFxn
        """
        this = _oegrapheme.new_OECastleArcFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', arc: 'OESurfaceArc') -> "bool":
        """__call__(OECastleArcFxn self, OEImageBase image, OESurfaceArc arc) -> bool"""
        return _oegrapheme.OECastleArcFxn___call__(self, image, arc)


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


    __swig_destroy__ = _oegrapheme.delete_OECastleArcFxn
    __del__ = lambda self: None
OECastleArcFxn_swigregister = _oegrapheme.OECastleArcFxn_swigregister
OECastleArcFxn_swigregister(OECastleArcFxn)

class OEBrickRoadArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OEBrickRoadArcFxn 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__(OEGrapheme::OEBrickRoadArcFxn self, OEPen pen) -> OEBrickRoadArcFxn
        __init__(OEGrapheme::OEBrickRoadArcFxn self) -> OEBrickRoadArcFxn
        """
        this = _oegrapheme.new_OEBrickRoadArcFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', arc: 'OESurfaceArc') -> "bool":
        """__call__(OEBrickRoadArcFxn self, OEImageBase image, OESurfaceArc arc) -> bool"""
        return _oegrapheme.OEBrickRoadArcFxn___call__(self, image, arc)


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


    __swig_destroy__ = _oegrapheme.delete_OEBrickRoadArcFxn
    __del__ = lambda self: None
OEBrickRoadArcFxn_swigregister = _oegrapheme.OEBrickRoadArcFxn_swigregister
OEBrickRoadArcFxn_swigregister(OEBrickRoadArcFxn)

class OEWreathArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OEWreathArcFxn 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__(OEGrapheme::OEWreathArcFxn self, OEPen pen) -> OEWreathArcFxn
        __init__(OEGrapheme::OEWreathArcFxn self) -> OEWreathArcFxn
        """
        this = _oegrapheme.new_OEWreathArcFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', arc: 'OESurfaceArc') -> "bool":
        """__call__(OEWreathArcFxn self, OEImageBase image, OESurfaceArc arc) -> bool"""
        return _oegrapheme.OEWreathArcFxn___call__(self, image, arc)


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


    __swig_destroy__ = _oegrapheme.delete_OEWreathArcFxn
    __del__ = lambda self: None
OEWreathArcFxn_swigregister = _oegrapheme.OEWreathArcFxn_swigregister
OEWreathArcFxn_swigregister(OEWreathArcFxn)


def OESetSurfaceArcFxn(mol: 'OEMolBase', atom: 'OEAtomBase', func: 'OESurfaceArcFxnBase') -> "bool":
    """OESetSurfaceArcFxn(OEMolBase mol, OEAtomBase atom, OESurfaceArcFxnBase func) -> bool"""
    return _oegrapheme.OESetSurfaceArcFxn(mol, atom, func)

def OEGetSurfaceArcFxn(atom: 'OEAtomBase') -> "OEGrapheme::OESurfaceArcFxnBase const &":
    """OEGetSurfaceArcFxn(OEAtomBase atom) -> OESurfaceArcFxnBase"""
    return _oegrapheme.OEGetSurfaceArcFxn(atom)

def OEHasSurfaceArcFxn(atom: 'OEAtomBase') -> "bool":
    """OEHasSurfaceArcFxn(OEAtomBase atom) -> bool"""
    return _oegrapheme.OEHasSurfaceArcFxn(atom)

def OEClearSurfaceArcFxn(atom: 'OEAtomBase') -> "void":
    """OEClearSurfaceArcFxn(OEAtomBase atom)"""
    return _oegrapheme.OEClearSurfaceArcFxn(atom)

def OEGet2DSurfaceArcs(*args) -> "OESystem::OEIterBase< OEGrapheme::OESurfaceArc > *":
    """
    OEGet2DSurfaceArcs(OE2DMolDisplay disp, double radiusScale) -> OESystem::OEIterBase< OEGrapheme::OESurfaceArc >
    OEGet2DSurfaceArcs(OE2DMolDisplay disp) -> OESystem::OEIterBase< OEGrapheme::OESurfaceArc >
    OEGet2DSurfaceArcs(OE2DMolDisplay disp, OEDoubleVector radiusScales) -> OESystem::OEIterBase< OEGrapheme::OESurfaceArc >
    OEGet2DSurfaceArcs(OE2DMolDisplay mdisp, OE2DAtomDisplay adisp, double radiusScale) -> OESystem::OEIterBase< OEGrapheme::OESurfaceArc >
    OEGet2DSurfaceArcs(OE2DMolDisplay mdisp, OE2DAtomDisplay adisp) -> OESystem::OEIterBase< OEGrapheme::OESurfaceArc > *
    """
    return _oegrapheme.OEGet2DSurfaceArcs(*args)

def OEGetMoleculeSurfaceScale(*args) -> "double":
    """
    OEGetMoleculeSurfaceScale(OEMolBase mol, OE2DMolDisplayOptions opts, double maxRadiusScale) -> double
    OEGetMoleculeSurfaceScale(OEMolBase mol, OE2DMolDisplayOptions opts) -> double
    """
    return _oegrapheme.OEGetMoleculeSurfaceScale(*args)
class OESurfaceArcIter(object):
    """Proxy of C++ OESystem::OEIter<(OEGrapheme::OESurfaceArc)> 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<(OEGrapheme::OESurfaceArc)> self) -> OESurfaceArcIter
        __init__(OESystem::OEIter<(OEGrapheme::OESurfaceArc)> self, OESurfaceArcIter rhs) -> OESurfaceArcIter
        __init__(OESystem::OEIter<(OEGrapheme::OESurfaceArc)> self, OESystem::OEIterBase< OEGrapheme::OESurfaceArc > * rhs) -> OESurfaceArcIter
        __init__(OESystem::OEIter<(OEGrapheme::OESurfaceArc)> self, OESystem::OEIterBase< OESystem::OEIter< OEGrapheme::OESurfaceArc >::NonConstA > * rhs) -> OESurfaceArcIter
        """
        this = _oegrapheme.new_OESurfaceArcIter(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OESurfaceArcIter
    __del__ = lambda self: None

    def Copy(self) -> "OESystem::OEIterBase< OEGrapheme::OESurfaceArc > *":
        """Copy(OESurfaceArcIter self) -> OESystem::OEIterBase< OEGrapheme::OESurfaceArc > *"""
        return _oegrapheme.OESurfaceArcIter_Copy(self)


    def Push(self, *args) -> "void":
        """
        Push(OESurfaceArcIter self, OESystem::OEIterBase< OEGrapheme::OESurfaceArc > * ib)
        Push(OESurfaceArcIter self, OESurfaceArcIter iter)
        """
        return _oegrapheme.OESurfaceArcIter_Push(self, *args)


    def Sort(self, sort_criterion: 'OESystem::OEBinaryPredicate< OEGrapheme::OESurfaceArc,OEGrapheme::OESurfaceArc > const &') -> "void":
        """Sort(OESurfaceArcIter self, OESystem::OEBinaryPredicate< OEGrapheme::OESurfaceArc,OEGrapheme::OESurfaceArc > const & sort_criterion)"""
        return _oegrapheme.OESurfaceArcIter_Sort(self, sort_criterion)


    def ToFirst(self) -> "OESystem::OEIter< OEGrapheme::OESurfaceArc > &":
        """ToFirst(OESurfaceArcIter self) -> OESurfaceArcIter"""
        return _oegrapheme.OESurfaceArcIter_ToFirst(self)


    def ToLast(self) -> "OESystem::OEIter< OEGrapheme::OESurfaceArc > &":
        """ToLast(OESurfaceArcIter self) -> OESurfaceArcIter"""
        return _oegrapheme.OESurfaceArcIter_ToLast(self)


    def __ref__(self) -> "OEGrapheme::OESurfaceArc &":
        """__ref__(OESurfaceArcIter self) -> OESurfaceArc"""
        return _oegrapheme.OESurfaceArcIter___ref__(self)


    def IsValid(self):
      return _oegrapheme.OESurfaceArcIter___nonzero__(self)



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



    def next(self) -> "PyObject *":
        """next(OESurfaceArcIter self) -> PyObject *"""
        return _oegrapheme.OESurfaceArcIter_next(self)


    def Target(self) -> "OEGrapheme::OESurfaceArc &":
        """Target(OESurfaceArcIter self) -> OESurfaceArc"""
        return _oegrapheme.OESurfaceArcIter_Target(self)


    def Next(self, *args) -> "OESystem::OEIter< OEGrapheme::OESurfaceArc > &":
        """
        Next(OESurfaceArcIter self) -> OESurfaceArcIter
        Next(OESurfaceArcIter self, int i) -> OESurfaceArcIter
        """
        return _oegrapheme.OESurfaceArcIter_Next(self, *args)


    def Prev(self, *args) -> "OESystem::OEIter< OEGrapheme::OESurfaceArc > &":
        """
        Prev(OESurfaceArcIter self) -> OESurfaceArcIter
        Prev(OESurfaceArcIter self, int i) -> OESurfaceArcIter
        """
        return _oegrapheme.OESurfaceArcIter_Prev(self, *args)

OESurfaceArcIter_swigregister = _oegrapheme.OESurfaceArcIter_swigregister
OESurfaceArcIter_swigregister(OESurfaceArcIter)

class OEComplexSurfaceArcFxnBase(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OEComplexSurfaceArcFxnBase 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__(OEGrapheme::OEComplexSurfaceArcFxnBase self) -> OEComplexSurfaceArcFxnBase
        __init__(OEGrapheme::OEComplexSurfaceArcFxnBase self, double depth) -> OEComplexSurfaceArcFxnBase
        __init__(OEGrapheme::OEComplexSurfaceArcFxnBase self, OEComplexSurfaceArcFxnBase rhs) -> OEComplexSurfaceArcFxnBase
        """
        if self.__class__ == OEComplexSurfaceArcFxnBase:
            _self = None
        else:
            _self = self
        this = _oegrapheme.new_OEComplexSurfaceArcFxnBase(_self, *args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', arc: 'OESurfaceArc') -> "bool":
        """__call__(OEComplexSurfaceArcFxnBase self, OEImageBase image, OESurfaceArc arc) -> bool"""
        return _oegrapheme.OEComplexSurfaceArcFxnBase___call__(self, image, arc)


    def CreateCopy(self):
        try:
            copy = self.__class__(self)
            return copy.__disown__()
        except RuntimeError:
            try:
                return self.__class__().__disown__()
            except:
                raise RuntimeError("CreateCopy must be specialized for %s" % self.__class__.__name__)



    def CreateComplexCopy(self) -> "OEGrapheme::OEComplexSurfaceArcFxnBase *":
        """CreateComplexCopy(OEComplexSurfaceArcFxnBase self) -> OEComplexSurfaceArcFxnBase"""
        return _oegrapheme.OEComplexSurfaceArcFxnBase_CreateComplexCopy(self)


    def SetDepth(self, depth: 'double') -> "void":
        """SetDepth(OEComplexSurfaceArcFxnBase self, double depth)"""
        return _oegrapheme.OEComplexSurfaceArcFxnBase_SetDepth(self, depth)


    def GetDepth(self) -> "double":
        """GetDepth(OEComplexSurfaceArcFxnBase self) -> double"""
        return _oegrapheme.OEComplexSurfaceArcFxnBase_GetDepth(self)

    __swig_destroy__ = _oegrapheme.delete_OEComplexSurfaceArcFxnBase
    __del__ = lambda self: None
    def __disown__(self):
        self.this.disown()
        _oegrapheme.disown_OEComplexSurfaceArcFxnBase(self)
        return weakref_proxy(self)
OEComplexSurfaceArcFxnBase_swigregister = _oegrapheme.OEComplexSurfaceArcFxnBase_swigregister
OEComplexSurfaceArcFxnBase_swigregister(OEComplexSurfaceArcFxnBase)

class OEDefaultSolventArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OEDefaultSolventArcFxn 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__(OEGrapheme::OEDefaultSolventArcFxn self) -> OEDefaultSolventArcFxn"""
        this = _oegrapheme.new_OEDefaultSolventArcFxn()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', a: 'OESurfaceArc') -> "bool":
        """__call__(OEDefaultSolventArcFxn self, OEImageBase image, OESurfaceArc a) -> bool"""
        return _oegrapheme.OEDefaultSolventArcFxn___call__(self, image, a)


    def CreateCopy(self):
        try:
            copy = self.__class__(self)
            return copy.__disown__()
        except RuntimeError:
            try:
                return self.__class__().__disown__()
            except:
                raise RuntimeError("CreateCopy must be specialized for %s" % self.__class__.__name__)


    __swig_destroy__ = _oegrapheme.delete_OEDefaultSolventArcFxn
    __del__ = lambda self: None
OEDefaultSolventArcFxn_swigregister = _oegrapheme.OEDefaultSolventArcFxn_swigregister
OEDefaultSolventArcFxn_swigregister(OEDefaultSolventArcFxn)

class OEDefaultBuriedArcFxn(OESurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OEDefaultBuriedArcFxn 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__(OEGrapheme::OEDefaultBuriedArcFxn self) -> OEDefaultBuriedArcFxn"""
        this = _oegrapheme.new_OEDefaultBuriedArcFxn()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', a: 'OESurfaceArc') -> "bool":
        """__call__(OEDefaultBuriedArcFxn self, OEImageBase image, OESurfaceArc a) -> bool"""
        return _oegrapheme.OEDefaultBuriedArcFxn___call__(self, image, a)


    def CreateCopy(self):
        try:
            copy = self.__class__(self)
            return copy.__disown__()
        except RuntimeError:
            try:
                return self.__class__().__disown__()
            except:
                raise RuntimeError("CreateCopy must be specialized for %s" % self.__class__.__name__)


    __swig_destroy__ = _oegrapheme.delete_OEDefaultBuriedArcFxn
    __del__ = lambda self: None
OEDefaultBuriedArcFxn_swigregister = _oegrapheme.OEDefaultBuriedArcFxn_swigregister
OEDefaultBuriedArcFxn_swigregister(OEDefaultBuriedArcFxn)

class OEDefaultCavityArcFxn(OEComplexSurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OEDefaultCavityArcFxn 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__(OEGrapheme::OEDefaultCavityArcFxn self) -> OEDefaultCavityArcFxn"""
        this = _oegrapheme.new_OEDefaultCavityArcFxn()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', a: 'OESurfaceArc') -> "bool":
        """__call__(OEDefaultCavityArcFxn self, OEImageBase image, OESurfaceArc a) -> bool"""
        return _oegrapheme.OEDefaultCavityArcFxn___call__(self, image, a)


    def CreateCopy(self):
        try:
            copy = self.__class__(self)
            return copy.__disown__()
        except RuntimeError:
            try:
                return self.__class__().__disown__()
            except:
                raise RuntimeError("CreateCopy must be specialized for %s" % self.__class__.__name__)


    __swig_destroy__ = _oegrapheme.delete_OEDefaultCavityArcFxn
    __del__ = lambda self: None
OEDefaultCavityArcFxn_swigregister = _oegrapheme.OEDefaultCavityArcFxn_swigregister
OEDefaultCavityArcFxn_swigregister(OEDefaultCavityArcFxn)

class OEDefaultVoidArcFxn(OEComplexSurfaceArcFxnBase):
    """Proxy of C++ OEGrapheme::OEDefaultVoidArcFxn 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__(OEGrapheme::OEDefaultVoidArcFxn self) -> OEDefaultVoidArcFxn"""
        this = _oegrapheme.new_OEDefaultVoidArcFxn()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def __call__(self, image: 'OEImageBase', a: 'OESurfaceArc') -> "bool":
        """__call__(OEDefaultVoidArcFxn self, OEImageBase image, OESurfaceArc a) -> bool"""
        return _oegrapheme.OEDefaultVoidArcFxn___call__(self, image, a)


    def CreateCopy(self):
        try:
            copy = self.__class__(self)
            return copy.__disown__()
        except RuntimeError:
            try:
                return self.__class__().__disown__()
            except:
                raise RuntimeError("CreateCopy must be specialized for %s" % self.__class__.__name__)


    __swig_destroy__ = _oegrapheme.delete_OEDefaultVoidArcFxn
    __del__ = lambda self: None
OEDefaultVoidArcFxn_swigregister = _oegrapheme.OEDefaultVoidArcFxn_swigregister
OEDefaultVoidArcFxn_swigregister(OEDefaultVoidArcFxn)


def OEAddComplexSurfaceArcs(*args) -> "bool":
    """
    OEAddComplexSurfaceArcs(OEMolBase ligand, OEMolBase protein, OESurfaceArcFxnBase solventExposedFxn, OESurfaceArcFxnBase buriedFxn, OEComplexSurfaceArcFxnBase cavityFxn, OEComplexSurfaceArcFxnBase voidFxn) -> bool
    OEAddComplexSurfaceArcs(OEMolBase ligand, OEMolBase protein, OESurfaceArcFxnBase solventExposedFxn, OESurfaceArcFxnBase buriedFxn, OEComplexSurfaceArcFxnBase cavityFxn) -> bool
    OEAddComplexSurfaceArcs(OEMolBase ligand, OEMolBase protein, OESurfaceArcFxnBase solventExposedFxn, OESurfaceArcFxnBase buriedFxn) -> bool
    OEAddComplexSurfaceArcs(OEMolBase ligand, OEMolBase protein, OESurfaceArcFxnBase solventExposedFxn) -> bool
    OEAddComplexSurfaceArcs(OEMolBase ligand, OEMolBase protein) -> bool
    """
    return _oegrapheme.OEAddComplexSurfaceArcs(*args)

def OEAddComplexAtomAnnotations(mol: 'OEMolBase', protein: 'OEMolBase') -> "bool":
    """OEAddComplexAtomAnnotations(OEMolBase mol, OEMolBase protein) -> bool"""
    return _oegrapheme.OEAddComplexAtomAnnotations(mol, protein)
class OE2DPropMap(object):
    """Proxy of C++ OEGrapheme::OE2DPropMap 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__(OEGrapheme::OE2DPropMap self, OEColor backgroundColor) -> OE2DPropMap
        __init__(OEGrapheme::OE2DPropMap self) -> OE2DPropMap
        __init__(OEGrapheme::OE2DPropMap self, OE2DPropMap arg2) -> OE2DPropMap
        """
        this = _oegrapheme.new_OE2DPropMap(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OE2DPropMap
    __del__ = lambda self: None

    def Render(self, *args) -> "bool":
        """
        Render(OE2DPropMap self, OE2DMolDisplay disp, std::string const & tagname) -> bool
        Render(OE2DPropMap self, OE2DMolDisplay disp, OE2DMolDisplay refdisp, std::string const & tagname) -> bool
        Render(OE2DPropMap self, OEImageBase image, OE2DMolDisplay disp, std::string const & tagname) -> bool
        """
        return _oegrapheme.OE2DPropMap_Render(self, *args)


    def SetMinValue(self, minv: 'double') -> "void":
        """SetMinValue(OE2DPropMap self, double minv)"""
        return _oegrapheme.OE2DPropMap_SetMinValue(self, minv)


    def GetMinValue(self) -> "double":
        """GetMinValue(OE2DPropMap self) -> double"""
        return _oegrapheme.OE2DPropMap_GetMinValue(self)


    def SetMaxValue(self, maxv: 'double') -> "void":
        """SetMaxValue(OE2DPropMap self, double maxv)"""
        return _oegrapheme.OE2DPropMap_SetMaxValue(self, maxv)


    def GetMaxValue(self) -> "double":
        """GetMaxValue(OE2DPropMap self) -> double"""
        return _oegrapheme.OE2DPropMap_GetMaxValue(self)


    def SetNegativeColor(self, color: 'OEColor') -> "void":
        """SetNegativeColor(OE2DPropMap self, OEColor color)"""
        return _oegrapheme.OE2DPropMap_SetNegativeColor(self, color)


    def GetNegativeColor(self) -> "OESystem::OEColor const &":
        """GetNegativeColor(OE2DPropMap self) -> OEColor"""
        return _oegrapheme.OE2DPropMap_GetNegativeColor(self)


    def SetPositiveColor(self, color: 'OEColor') -> "void":
        """SetPositiveColor(OE2DPropMap self, OEColor color)"""
        return _oegrapheme.OE2DPropMap_SetPositiveColor(self, color)


    def GetPositiveColor(self) -> "OESystem::OEColor const &":
        """GetPositiveColor(OE2DPropMap self) -> OEColor"""
        return _oegrapheme.OE2DPropMap_GetPositiveColor(self)


    def SetRadiusRatio(self, ratio: 'double') -> "void":
        """SetRadiusRatio(OE2DPropMap self, double ratio)"""
        return _oegrapheme.OE2DPropMap_SetRadiusRatio(self, ratio)


    def GetRadiusRatio(self) -> "double":
        """GetRadiusRatio(OE2DPropMap self) -> double"""
        return _oegrapheme.OE2DPropMap_GetRadiusRatio(self)


    def SetLegendLocation(self, loc: 'unsigned int') -> "void":
        """SetLegendLocation(OE2DPropMap self, unsigned int loc)"""
        return _oegrapheme.OE2DPropMap_SetLegendLocation(self, loc)


    def GetLegendLocation(self) -> "unsigned int":
        """GetLegendLocation(OE2DPropMap self) -> unsigned int"""
        return _oegrapheme.OE2DPropMap_GetLegendLocation(self)


    def SetLegendFont(self, font: 'OEFont') -> "void":
        """SetLegendFont(OE2DPropMap self, OEFont font)"""
        return _oegrapheme.OE2DPropMap_SetLegendFont(self, font)


    def GetLegendFont(self) -> "OEDepict::OEFont const &":
        """GetLegendFont(OE2DPropMap self) -> OEFont"""
        return _oegrapheme.OE2DPropMap_GetLegendFont(self)


    def SetLegendFontScale(self, scale: 'double') -> "void":
        """SetLegendFontScale(OE2DPropMap self, double scale)"""
        return _oegrapheme.OE2DPropMap_SetLegendFontScale(self, scale)


    def GetLegendFontScale(self) -> "double":
        """GetLegendFontScale(OE2DPropMap self) -> double"""
        return _oegrapheme.OE2DPropMap_GetLegendFontScale(self)


    def SetResolution(self, resolution: 'unsigned int') -> "void":
        """SetResolution(OE2DPropMap self, unsigned int resolution)"""
        return _oegrapheme.OE2DPropMap_SetResolution(self, resolution)


    def GetResolution(self) -> "unsigned int":
        """GetResolution(OE2DPropMap self) -> unsigned int"""
        return _oegrapheme.OE2DPropMap_GetResolution(self)

OE2DPropMap_swigregister = _oegrapheme.OE2DPropMap_swigregister
OE2DPropMap_swigregister(OE2DPropMap)


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

def OESetup2DPropMap(propmap: 'OE2DPropMap', itf: 'OEInterface') -> "bool":
    """OESetup2DPropMap(OE2DPropMap propmap, OEInterface itf) -> bool"""
    return _oegrapheme.OESetup2DPropMap(propmap, itf)

def OEDraw2DSurface(*args) -> "bool":
    """
    OEDraw2DSurface(OE2DMolDisplay disp) -> bool
    OEDraw2DSurface(OE2DMolDisplay disp, OE2DMolDisplay refdisp) -> bool
    """
    return _oegrapheme.OEDraw2DSurface(*args)
class OEDepictionFrom3DOptions(object):
    """Proxy of C++ OEGrapheme::OEDepictionFrom3DOptions 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__(OEGrapheme::OEDepictionFrom3DOptions self, bool suppressH=True) -> OEDepictionFrom3DOptions
        __init__(OEGrapheme::OEDepictionFrom3DOptions self) -> OEDepictionFrom3DOptions
        __init__(OEGrapheme::OEDepictionFrom3DOptions self, OEDepictionFrom3DOptions rhs) -> OEDepictionFrom3DOptions
        """
        this = _oegrapheme.new_OEDepictionFrom3DOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEDepictionFrom3DOptions
    __del__ = lambda self: None

    def SetSuppressHydrogens(self, arg2: 'bool') -> "void":
        """SetSuppressHydrogens(OEDepictionFrom3DOptions self, bool arg2)"""
        return _oegrapheme.OEDepictionFrom3DOptions_SetSuppressHydrogens(self, arg2)


    def GetSuppressHydrogens(self) -> "bool":
        """GetSuppressHydrogens(OEDepictionFrom3DOptions self) -> bool"""
        return _oegrapheme.OEDepictionFrom3DOptions_GetSuppressHydrogens(self)


    def SetCoordsToInertialFrame(self, arg2: 'bool') -> "void":
        """SetCoordsToInertialFrame(OEDepictionFrom3DOptions self, bool arg2)"""
        return _oegrapheme.OEDepictionFrom3DOptions_SetCoordsToInertialFrame(self, arg2)


    def GetCoordsToInertialFrame(self) -> "bool":
        """GetCoordsToInertialFrame(OEDepictionFrom3DOptions self) -> bool"""
        return _oegrapheme.OEDepictionFrom3DOptions_GetCoordsToInertialFrame(self)


    def SetRotateTo2DReference(self, arg2: 'bool') -> "void":
        """SetRotateTo2DReference(OEDepictionFrom3DOptions self, bool arg2)"""
        return _oegrapheme.OEDepictionFrom3DOptions_SetRotateTo2DReference(self, arg2)


    def GetRotateTo2DReference(self) -> "bool":
        """GetRotateTo2DReference(OEDepictionFrom3DOptions self) -> bool"""
        return _oegrapheme.OEDepictionFrom3DOptions_GetRotateTo2DReference(self)


    def SetMaxBondRotations(self, arg2: 'unsigned int') -> "void":
        """SetMaxBondRotations(OEDepictionFrom3DOptions self, unsigned int arg2)"""
        return _oegrapheme.OEDepictionFrom3DOptions_SetMaxBondRotations(self, arg2)


    def GetMaxBondRotations(self) -> "unsigned int":
        """GetMaxBondRotations(OEDepictionFrom3DOptions self) -> unsigned int"""
        return _oegrapheme.OEDepictionFrom3DOptions_GetMaxBondRotations(self)

OEDepictionFrom3DOptions_swigregister = _oegrapheme.OEDepictionFrom3DOptions_swigregister
OEDepictionFrom3DOptions_swigregister(OEDepictionFrom3DOptions)


def OEPrepareDepictionFrom3D(*args) -> "bool":
    """
    OEPrepareDepictionFrom3D(OEMolBase mol, bool suppressH=True) -> bool
    OEPrepareDepictionFrom3D(OEMolBase mol) -> bool
    OEPrepareDepictionFrom3D(OEMolBase mol, OEDepictionFrom3DOptions opts) -> bool
    """
    return _oegrapheme.OEPrepareDepictionFrom3D(*args)
class OEAlignedDepictionFrom3DOptions(object):
    """Proxy of C++ OEGrapheme::OEAlignedDepictionFrom3DOptions 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__(OEGrapheme::OEAlignedDepictionFrom3DOptions self, bool clearFitCoords=True, bool suppressH=True) -> OEAlignedDepictionFrom3DOptions
        __init__(OEGrapheme::OEAlignedDepictionFrom3DOptions self, bool clearFitCoords=True) -> OEAlignedDepictionFrom3DOptions
        __init__(OEGrapheme::OEAlignedDepictionFrom3DOptions self) -> OEAlignedDepictionFrom3DOptions
        __init__(OEGrapheme::OEAlignedDepictionFrom3DOptions self, OEAlignedDepictionFrom3DOptions rhs) -> OEAlignedDepictionFrom3DOptions
        """
        this = _oegrapheme.new_OEAlignedDepictionFrom3DOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEAlignedDepictionFrom3DOptions
    __del__ = lambda self: None

    def SetClearCoords(self, arg2: 'bool') -> "void":
        """SetClearCoords(OEAlignedDepictionFrom3DOptions self, bool arg2)"""
        return _oegrapheme.OEAlignedDepictionFrom3DOptions_SetClearCoords(self, arg2)


    def GetClearCoords(self) -> "bool":
        """GetClearCoords(OEAlignedDepictionFrom3DOptions self) -> bool"""
        return _oegrapheme.OEAlignedDepictionFrom3DOptions_GetClearCoords(self)


    def SetSuppressHydrogens(self, arg2: 'bool') -> "void":
        """SetSuppressHydrogens(OEAlignedDepictionFrom3DOptions self, bool arg2)"""
        return _oegrapheme.OEAlignedDepictionFrom3DOptions_SetSuppressHydrogens(self, arg2)


    def GetSuppressHydrogens(self) -> "bool":
        """GetSuppressHydrogens(OEAlignedDepictionFrom3DOptions self) -> bool"""
        return _oegrapheme.OEAlignedDepictionFrom3DOptions_GetSuppressHydrogens(self)


    def SetMaxBondRotations(self, arg2: 'unsigned int') -> "void":
        """SetMaxBondRotations(OEAlignedDepictionFrom3DOptions self, unsigned int arg2)"""
        return _oegrapheme.OEAlignedDepictionFrom3DOptions_SetMaxBondRotations(self, arg2)


    def GetMaxBondRotations(self) -> "unsigned int":
        """GetMaxBondRotations(OEAlignedDepictionFrom3DOptions self) -> unsigned int"""
        return _oegrapheme.OEAlignedDepictionFrom3DOptions_GetMaxBondRotations(self)

OEAlignedDepictionFrom3DOptions_swigregister = _oegrapheme.OEAlignedDepictionFrom3DOptions_swigregister
OEAlignedDepictionFrom3DOptions_swigregister(OEAlignedDepictionFrom3DOptions)


def OEPrepareAlignedDepictionFrom3D(*args) -> "bool":
    """
    OEPrepareAlignedDepictionFrom3D(OEMolBase fitmol2D, OEMolBase fitmol3D, OEMolBase refmol2D, OEMolBase refmol3D, bool clearFitCoords=True, bool suppressFitH=True) -> bool
    OEPrepareAlignedDepictionFrom3D(OEMolBase fitmol2D, OEMolBase fitmol3D, OEMolBase refmol2D, OEMolBase refmol3D, bool clearFitCoords=True) -> bool
    OEPrepareAlignedDepictionFrom3D(OEMolBase fitmol2D, OEMolBase fitmol3D, OEMolBase refmol2D, OEMolBase refmol3D) -> bool
    OEPrepareAlignedDepictionFrom3D(OEMolBase fitmol2D, OEMolBase fitmol3D, OEMolBase refmol2D, OEMolBase refmol3D, OEAlignedDepictionFrom3DOptions opts) -> bool
    OEPrepareAlignedDepictionFrom3D(OEMolBase fitmol2D, OEMolBase fitmol3D, OEShapeQueryDisplay qdisp) -> bool
    """
    return _oegrapheme.OEPrepareAlignedDepictionFrom3D(*args)

def OEDrawSurfaceArc(image: 'OEImageBase', style: 'unsigned int', c: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', radius: 'double', pen: 'OEPen') -> "bool":
    """OEDrawSurfaceArc(OEImageBase image, unsigned int style, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen) -> bool"""
    return _oegrapheme.OEDrawSurfaceArc(image, style, c, bgnAngle, endAngle, radius, pen)

def OEDrawDefaultSurfaceArc(image: 'OEImageBase', c: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', radius: 'double', pen: 'OEPen') -> "bool":
    """OEDrawDefaultSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen) -> bool"""
    return _oegrapheme.OEDrawDefaultSurfaceArc(image, c, bgnAngle, endAngle, radius, pen)

def OEDrawRaceTrackSurfaceArc(image: 'OEImageBase', c: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', radius: 'double', pen: 'OEPen', edgeAngle: 'double'=10.0) -> "bool":
    """
    OEDrawRaceTrackSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0) -> bool
    OEDrawRaceTrackSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawRaceTrackSurfaceArc(image, c, bgnAngle, endAngle, radius, pen, edgeAngle)

def OEDrawEyelashSurfaceArc(*args) -> "bool":
    """
    OEDrawEyelashSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, unsigned int patternDirection, double patternAngle=10.0, double minPatternWidthRatio=0.15, double maxPatternWidthRatio=0.15) -> bool
    OEDrawEyelashSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, unsigned int patternDirection, double patternAngle=10.0, double minPatternWidthRatio=0.15) -> bool
    OEDrawEyelashSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, unsigned int patternDirection, double patternAngle=10.0) -> bool
    OEDrawEyelashSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, unsigned int patternDirection) -> bool
    OEDrawEyelashSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0) -> bool
    OEDrawEyelashSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawEyelashSurfaceArc(*args)

def OEDrawStitchSurfaceArc(image: 'OEImageBase', c: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', radius: 'double', pen: 'OEPen', edgeAngle: 'double'=10.0, patternAngle: 'double'=10.0, minPatternWidthRatio: 'double'=0.20, maxPatternWidthRatio: 'double'=0.20) -> "bool":
    """
    OEDrawStitchSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=10.0, double minPatternWidthRatio=0.20, double maxPatternWidthRatio=0.20) -> bool
    OEDrawStitchSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=10.0, double minPatternWidthRatio=0.20) -> bool
    OEDrawStitchSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=10.0) -> bool
    OEDrawStitchSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0) -> bool
    OEDrawStitchSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawStitchSurfaceArc(image, c, bgnAngle, endAngle, radius, pen, edgeAngle, patternAngle, minPatternWidthRatio, maxPatternWidthRatio)

def OEDrawSimpsonSurfaceArc(image: 'OEImageBase', c: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', radius: 'double', pen: 'OEPen', edgeAngle: 'double'=10.0, patternAngle: 'double'=15.0, minPatternWidthRatio: 'double'=0.20, maxPatternWidthRatio: 'double'=0.20) -> "bool":
    """
    OEDrawSimpsonSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=15.0, double minPatternWidthRatio=0.20, double maxPatternWidthRatio=0.20) -> bool
    OEDrawSimpsonSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=15.0, double minPatternWidthRatio=0.20) -> bool
    OEDrawSimpsonSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=15.0) -> bool
    OEDrawSimpsonSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0) -> bool
    OEDrawSimpsonSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawSimpsonSurfaceArc(image, c, bgnAngle, endAngle, radius, pen, edgeAngle, patternAngle, minPatternWidthRatio, maxPatternWidthRatio)

def OEDrawRailroadTrackSurfaceArc(image: 'OEImageBase', c: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', radius: 'double', pen: 'OEPen', edgeAngle: 'double'=10.0, patternAngle: 'double'=10.0, minPatternWidthRatio: 'double'=0.15, maxPatternWidthRatio: 'double'=0.15) -> "bool":
    """
    OEDrawRailroadTrackSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=10.0, double minPatternWidthRatio=0.15, double maxPatternWidthRatio=0.15) -> bool
    OEDrawRailroadTrackSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=10.0, double minPatternWidthRatio=0.15) -> bool
    OEDrawRailroadTrackSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=10.0) -> bool
    OEDrawRailroadTrackSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0) -> bool
    OEDrawRailroadTrackSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawRailroadTrackSurfaceArc(image, c, bgnAngle, endAngle, radius, pen, edgeAngle, patternAngle, minPatternWidthRatio, maxPatternWidthRatio)

def OEDrawNecklaceSurfaceArc(image: 'OEImageBase', c: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', radius: 'double', pen: 'OEPen', edgeAngle: 'double'=10.0, patternAngle: 'double'=20.0, minPatternWidthRatio: 'double'=0.15, maxPatternWidthRatio: 'double'=0.15) -> "bool":
    """
    OEDrawNecklaceSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=20.0, double minPatternWidthRatio=0.15, double maxPatternWidthRatio=0.15) -> bool
    OEDrawNecklaceSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=20.0, double minPatternWidthRatio=0.15) -> bool
    OEDrawNecklaceSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=20.0) -> bool
    OEDrawNecklaceSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0) -> bool
    OEDrawNecklaceSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawNecklaceSurfaceArc(image, c, bgnAngle, endAngle, radius, pen, edgeAngle, patternAngle, minPatternWidthRatio, maxPatternWidthRatio)

def OEDrawAlphaRainbowSurfaceArc(*args) -> "bool":
    """
    OEDrawAlphaRainbowSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, unsigned int patternDirection) -> bool
    OEDrawAlphaRainbowSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0) -> bool
    OEDrawAlphaRainbowSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawAlphaRainbowSurfaceArc(*args)

def OEDrawPearlsSurfaceArc(image: 'OEImageBase', c: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', radius: 'double', pen: 'OEPen', edgeAngle: 'double'=10.0, patternAngle: 'double'=25.0, minPatternWidthRatio: 'double'=0.20, maxPatternWidthRatio: 'double'=0.20) -> "bool":
    """
    OEDrawPearlsSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=25.0, double minPatternWidthRatio=0.20, double maxPatternWidthRatio=0.20) -> bool
    OEDrawPearlsSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=25.0, double minPatternWidthRatio=0.20) -> bool
    OEDrawPearlsSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=25.0) -> bool
    OEDrawPearlsSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0) -> bool
    OEDrawPearlsSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawPearlsSurfaceArc(image, c, bgnAngle, endAngle, radius, pen, edgeAngle, patternAngle, minPatternWidthRatio, maxPatternWidthRatio)

def OEDrawSunSurfaceArc(*args) -> "bool":
    """
    OEDrawSunSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, unsigned int patternDirection, double patternAngle=15.0, double minPatternWidthRatio=0.15, double maxPatternWidthRatio=0.15) -> bool
    OEDrawSunSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, unsigned int patternDirection, double patternAngle=15.0, double minPatternWidthRatio=0.15) -> bool
    OEDrawSunSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, unsigned int patternDirection, double patternAngle=15.0) -> bool
    OEDrawSunSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, unsigned int patternDirection) -> bool
    OEDrawSunSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0) -> bool
    OEDrawSunSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawSunSurfaceArc(*args)

def OEDrawOliveBranchSurfaceArc(image: 'OEImageBase', c: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', radius: 'double', pen: 'OEPen', edgeAngle: 'double'=10.0, patternAngle: 'double'=15.0, minPatternWidthRatio: 'double'=0.15, maxPatternWidthRatio: 'double'=0.15) -> "bool":
    """
    OEDrawOliveBranchSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=15.0, double minPatternWidthRatio=0.15, double maxPatternWidthRatio=0.15) -> bool
    OEDrawOliveBranchSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=15.0, double minPatternWidthRatio=0.15) -> bool
    OEDrawOliveBranchSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=15.0) -> bool
    OEDrawOliveBranchSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0) -> bool
    OEDrawOliveBranchSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawOliveBranchSurfaceArc(image, c, bgnAngle, endAngle, radius, pen, edgeAngle, patternAngle, minPatternWidthRatio, maxPatternWidthRatio)

def OEDrawSawSurfaceArc(*args) -> "bool":
    """
    OEDrawSawSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, unsigned int patternDirection, double patternAngle=15.0, double minPatternWidthRatio=0.15, double maxPatternWidthRatio=0.15) -> bool
    OEDrawSawSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, unsigned int patternDirection, double patternAngle=15.0, double minPatternWidthRatio=0.15) -> bool
    OEDrawSawSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, unsigned int patternDirection, double patternAngle=15.0) -> bool
    OEDrawSawSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, unsigned int patternDirection) -> bool
    OEDrawSawSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0) -> bool
    OEDrawSawSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawSawSurfaceArc(*args)

def OEDrawFlowerSurfaceArc(image: 'OEImageBase', c: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', radius: 'double', pen: 'OEPen', edgeAngle: 'double'=10.0, patternAngle: 'double'=30.0, minPatternWidthRatio: 'double'=0.20, maxPatternWidthRatio: 'double'=0.20) -> "bool":
    """
    OEDrawFlowerSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=30.0, double minPatternWidthRatio=0.20, double maxPatternWidthRatio=0.20) -> bool
    OEDrawFlowerSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=30.0, double minPatternWidthRatio=0.20) -> bool
    OEDrawFlowerSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=30.0) -> bool
    OEDrawFlowerSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0) -> bool
    OEDrawFlowerSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawFlowerSurfaceArc(image, c, bgnAngle, endAngle, radius, pen, edgeAngle, patternAngle, minPatternWidthRatio, maxPatternWidthRatio)

def OEDrawCogSurfaceArc(image: 'OEImageBase', c: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', radius: 'double', pen: 'OEPen', edgeAngle: 'double'=10.0, patternAngle: 'double'=15.0, minPatternWidthRatio: 'double'=0.20, maxPatternWidthRatio: 'double'=0.20) -> "bool":
    """
    OEDrawCogSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=15.0, double minPatternWidthRatio=0.20, double maxPatternWidthRatio=0.20) -> bool
    OEDrawCogSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=15.0, double minPatternWidthRatio=0.20) -> bool
    OEDrawCogSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=15.0) -> bool
    OEDrawCogSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0) -> bool
    OEDrawCogSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawCogSurfaceArc(image, c, bgnAngle, endAngle, radius, pen, edgeAngle, patternAngle, minPatternWidthRatio, maxPatternWidthRatio)

def OEDrawCastleSurfaceArc(image: 'OEImageBase', c: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', radius: 'double', pen: 'OEPen', edgeAngle: 'double'=10.0, patternAngle: 'double'=15.0, minPatternWidthRatio: 'double'=0.20, maxPatternWidthRatio: 'double'=0.20) -> "bool":
    """
    OEDrawCastleSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=15.0, double minPatternWidthRatio=0.20, double maxPatternWidthRatio=0.20) -> bool
    OEDrawCastleSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=15.0, double minPatternWidthRatio=0.20) -> bool
    OEDrawCastleSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=15.0) -> bool
    OEDrawCastleSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0) -> bool
    OEDrawCastleSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawCastleSurfaceArc(image, c, bgnAngle, endAngle, radius, pen, edgeAngle, patternAngle, minPatternWidthRatio, maxPatternWidthRatio)

def OEDrawBrickRoadSurfaceArc(*args) -> "bool":
    """
    OEDrawBrickRoadSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, unsigned int patternDirection, double patternAngle=20.0, double minPatternWidthRatio=0.15, double maxPatternWidthRatio=0.15) -> bool
    OEDrawBrickRoadSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, unsigned int patternDirection, double patternAngle=20.0, double minPatternWidthRatio=0.15) -> bool
    OEDrawBrickRoadSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, unsigned int patternDirection, double patternAngle=20.0) -> bool
    OEDrawBrickRoadSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, unsigned int patternDirection) -> bool
    OEDrawBrickRoadSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0) -> bool
    OEDrawBrickRoadSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawBrickRoadSurfaceArc(*args)

def OEDrawWreathSurfaceArc(image: 'OEImageBase', c: 'OE2DPoint', bgnAngle: 'double', endAngle: 'double', radius: 'double', pen: 'OEPen', edgeAngle: 'double'=10.0, patternAngle: 'double'=20.0, minPatternWidthRatio: 'double'=0.15, maxPatternWidthRatio: 'double'=0.15) -> "bool":
    """
    OEDrawWreathSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=20.0, double minPatternWidthRatio=0.15, double maxPatternWidthRatio=0.15) -> bool
    OEDrawWreathSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=20.0, double minPatternWidthRatio=0.15) -> bool
    OEDrawWreathSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0, double patternAngle=20.0) -> bool
    OEDrawWreathSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen, double edgeAngle=10.0) -> bool
    OEDrawWreathSurfaceArc(OEImageBase image, OE2DPoint c, double bgnAngle, double endAngle, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawWreathSurfaceArc(image, c, bgnAngle, endAngle, radius, pen, edgeAngle, patternAngle, minPatternWidthRatio, maxPatternWidthRatio)

def OEDrawCircle(*args) -> "bool":
    """
    OEDrawCircle(OEImageBase image, unsigned int style, OE2DPoint c, double radius, OEPen pen) -> bool
    OEDrawCircle(OEImageBase image, unsigned int style, OE2DPoint c, double radius) -> bool
    """
    return _oegrapheme.OEDrawCircle(*args)

def OEDrawDefaultCircle(image: 'OEImageBase', c: 'OE2DPoint', radius: 'double', pen: 'OEPen') -> "bool":
    """OEDrawDefaultCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen) -> bool"""
    return _oegrapheme.OEDrawDefaultCircle(image, c, radius, pen)

def OEDrawRaceTrackCircle(image: 'OEImageBase', c: 'OE2DPoint', radius: 'double', pen: 'OEPen') -> "bool":
    """OEDrawRaceTrackCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen) -> bool"""
    return _oegrapheme.OEDrawRaceTrackCircle(image, c, radius, pen)

def OEDrawEyelashCircle(*args) -> "bool":
    """
    OEDrawEyelashCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, unsigned int patternDirection, double patternAngle=10.0, double patternWidthRatio=0.15) -> bool
    OEDrawEyelashCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, unsigned int patternDirection, double patternAngle=10.0) -> bool
    OEDrawEyelashCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, unsigned int patternDirection) -> bool
    OEDrawEyelashCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawEyelashCircle(*args)

def OEDrawStitchCircle(image: 'OEImageBase', c: 'OE2DPoint', radius: 'double', pen: 'OEPen', patternAngle: 'double'=10.0, patternWidthRatio: 'double'=0.20) -> "bool":
    """
    OEDrawStitchCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=10.0, double patternWidthRatio=0.20) -> bool
    OEDrawStitchCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=10.0) -> bool
    OEDrawStitchCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawStitchCircle(image, c, radius, pen, patternAngle, patternWidthRatio)

def OEDrawSimpsonCircle(image: 'OEImageBase', c: 'OE2DPoint', radius: 'double', pen: 'OEPen', patternAngle: 'double'=10.0, patternWidthRatio: 'double'=0.20) -> "bool":
    """
    OEDrawSimpsonCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=10.0, double patternWidthRatio=0.20) -> bool
    OEDrawSimpsonCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=10.0) -> bool
    OEDrawSimpsonCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawSimpsonCircle(image, c, radius, pen, patternAngle, patternWidthRatio)

def OEDrawRailroadTrackCircle(image: 'OEImageBase', c: 'OE2DPoint', radius: 'double', pen: 'OEPen', patternAngle: 'double'=10.0, patternWidthRatio: 'double'=0.15) -> "bool":
    """
    OEDrawRailroadTrackCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=10.0, double patternWidthRatio=0.15) -> bool
    OEDrawRailroadTrackCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=10.0) -> bool
    OEDrawRailroadTrackCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawRailroadTrackCircle(image, c, radius, pen, patternAngle, patternWidthRatio)

def OEDrawNecklaceCircle(image: 'OEImageBase', c: 'OE2DPoint', radius: 'double', pen: 'OEPen', patternAngle: 'double'=20.0, patternWidthRatio: 'double'=0.15) -> "bool":
    """
    OEDrawNecklaceCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=20.0, double patternWidthRatio=0.15) -> bool
    OEDrawNecklaceCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=20.0) -> bool
    OEDrawNecklaceCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawNecklaceCircle(image, c, radius, pen, patternAngle, patternWidthRatio)

def OEDrawAlphaRainbowCircle(*args) -> "bool":
    """
    OEDrawAlphaRainbowCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, unsigned int patternDirection) -> bool
    OEDrawAlphaRainbowCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawAlphaRainbowCircle(*args)

def OEDrawPearlsCircle(image: 'OEImageBase', c: 'OE2DPoint', radius: 'double', pen: 'OEPen', patternAngle: 'double'=15.0) -> "bool":
    """
    OEDrawPearlsCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=15.0) -> bool
    OEDrawPearlsCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawPearlsCircle(image, c, radius, pen, patternAngle)

def OEDrawSunCircle(*args) -> "bool":
    """
    OEDrawSunCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, unsigned int patternDirection, double patternAngle=15.0, double patternWidthRatio=0.15) -> bool
    OEDrawSunCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, unsigned int patternDirection, double patternAngle=15.0) -> bool
    OEDrawSunCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, unsigned int patternDirection) -> bool
    OEDrawSunCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawSunCircle(*args)

def OEDrawOliveBranchCircle(image: 'OEImageBase', c: 'OE2DPoint', radius: 'double', pen: 'OEPen', patternAngle: 'double'=15.0, patternWidthRatio: 'double'=0.15) -> "bool":
    """
    OEDrawOliveBranchCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=15.0, double patternWidthRatio=0.15) -> bool
    OEDrawOliveBranchCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=15.0) -> bool
    OEDrawOliveBranchCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawOliveBranchCircle(image, c, radius, pen, patternAngle, patternWidthRatio)

def OEDrawSawCircle(*args) -> "bool":
    """
    OEDrawSawCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, unsigned int patternDirection, double patternAngle=15.0, double patternWidthRatio=0.15) -> bool
    OEDrawSawCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, unsigned int patternDirection, double patternAngle=15.0) -> bool
    OEDrawSawCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, unsigned int patternDirection) -> bool
    OEDrawSawCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawSawCircle(*args)

def OEDrawFlowerCircle(image: 'OEImageBase', c: 'OE2DPoint', radius: 'double', pen: 'OEPen', patternAngle: 'double'=30.0) -> "bool":
    """
    OEDrawFlowerCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=30.0) -> bool
    OEDrawFlowerCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawFlowerCircle(image, c, radius, pen, patternAngle)

def OEDrawCogCircle(image: 'OEImageBase', c: 'OE2DPoint', radius: 'double', pen: 'OEPen', patternAngle: 'double'=15.0, patternWidthRatio: 'double'=0.20) -> "bool":
    """
    OEDrawCogCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=15.0, double patternWidthRatio=0.20) -> bool
    OEDrawCogCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=15.0) -> bool
    OEDrawCogCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawCogCircle(image, c, radius, pen, patternAngle, patternWidthRatio)

def OEDrawCastleCircle(image: 'OEImageBase', c: 'OE2DPoint', radius: 'double', pen: 'OEPen', patternAngle: 'double'=15.0, patternWidthRatio: 'double'=0.20) -> "bool":
    """
    OEDrawCastleCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=15.0, double patternWidthRatio=0.20) -> bool
    OEDrawCastleCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=15.0) -> bool
    OEDrawCastleCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawCastleCircle(image, c, radius, pen, patternAngle, patternWidthRatio)

def OEDrawGreekKeyCircle(image: 'OEImageBase', c: 'OE2DPoint', radius: 'double', pen: 'OEPen', patternAngle: 'double'=15.0, patternWidthRatio: 'double'=0.20) -> "bool":
    """
    OEDrawGreekKeyCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=15.0, double patternWidthRatio=0.20) -> bool
    OEDrawGreekKeyCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=15.0) -> bool
    OEDrawGreekKeyCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawGreekKeyCircle(image, c, radius, pen, patternAngle, patternWidthRatio)

def OEDrawBrickRoadCircle(*args) -> "bool":
    """
    OEDrawBrickRoadCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, unsigned int patternDirection, double patternAngle=20.0, double patternWidthRatio=0.15) -> bool
    OEDrawBrickRoadCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, unsigned int patternDirection, double patternAngle=20.0) -> bool
    OEDrawBrickRoadCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, unsigned int patternDirection) -> bool
    OEDrawBrickRoadCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawBrickRoadCircle(*args)

def OEDrawWreathCircle(image: 'OEImageBase', c: 'OE2DPoint', radius: 'double', pen: 'OEPen', patternAngle: 'double'=15.0, patternWidthRatio: 'double'=0.20) -> "bool":
    """
    OEDrawWreathCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=15.0, double patternWidthRatio=0.20) -> bool
    OEDrawWreathCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen, double patternAngle=15.0) -> bool
    OEDrawWreathCircle(OEImageBase image, OE2DPoint c, double radius, OEPen pen) -> bool
    """
    return _oegrapheme.OEDrawWreathCircle(image, c, radius, pen, patternAngle, patternWidthRatio)
class OEColorGradientLabel(object):
    """Proxy of C++ OEGrapheme::OEColorGradientLabel 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__(OEGrapheme::OEColorGradientLabel self, double value, std::string const & label) -> OEColorGradientLabel
        __init__(OEGrapheme::OEColorGradientLabel self, OEColorGradientLabel arg2) -> OEColorGradientLabel
        """
        this = _oegrapheme.new_OEColorGradientLabel(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEColorGradientLabel
    __del__ = lambda self: None

    def GetLabel(self) -> "std::string":
        """GetLabel(OEColorGradientLabel self) -> std::string"""
        return _oegrapheme.OEColorGradientLabel_GetLabel(self)


    def GetValue(self) -> "double":
        """GetValue(OEColorGradientLabel self) -> double"""
        return _oegrapheme.OEColorGradientLabel_GetValue(self)

OEColorGradientLabel_swigregister = _oegrapheme.OEColorGradientLabel_swigregister
OEColorGradientLabel_swigregister(OEColorGradientLabel)

class OEColorGradientDisplayOptions(object):
    """Proxy of C++ OEGrapheme::OEColorGradientDisplayOptions 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__(OEGrapheme::OEColorGradientDisplayOptions self) -> OEColorGradientDisplayOptions
        __init__(OEGrapheme::OEColorGradientDisplayOptions self, OEColorGradientDisplayOptions rhs) -> OEColorGradientDisplayOptions
        """
        this = _oegrapheme.new_OEColorGradientDisplayOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEColorGradientDisplayOptions
    __del__ = lambda self: None

    def SetColorStopLabelFont(self, font: 'OEFont') -> "void":
        """SetColorStopLabelFont(OEColorGradientDisplayOptions self, OEFont font)"""
        return _oegrapheme.OEColorGradientDisplayOptions_SetColorStopLabelFont(self, font)


    def GetColorStopLabelFont(self) -> "OEDepict::OEFont const &":
        """GetColorStopLabelFont(OEColorGradientDisplayOptions self) -> OEFont"""
        return _oegrapheme.OEColorGradientDisplayOptions_GetColorStopLabelFont(self)


    def SetColorStopLabelFontScale(self, scale: 'double') -> "void":
        """SetColorStopLabelFontScale(OEColorGradientDisplayOptions self, double scale)"""
        return _oegrapheme.OEColorGradientDisplayOptions_SetColorStopLabelFontScale(self, scale)


    def GetColorStopLabelFontScale(self) -> "double":
        """GetColorStopLabelFontScale(OEColorGradientDisplayOptions self) -> double"""
        return _oegrapheme.OEColorGradientDisplayOptions_GetColorStopLabelFontScale(self)


    def SetColorStopPrecision(self, precision: 'unsigned int') -> "void":
        """SetColorStopPrecision(OEColorGradientDisplayOptions self, unsigned int precision)"""
        return _oegrapheme.OEColorGradientDisplayOptions_SetColorStopPrecision(self, precision)


    def GetColorStopPrecision(self) -> "unsigned int":
        """GetColorStopPrecision(OEColorGradientDisplayOptions self) -> unsigned int"""
        return _oegrapheme.OEColorGradientDisplayOptions_GetColorStopPrecision(self)


    def SetColorStopVisibility(self, visible: 'bool') -> "void":
        """SetColorStopVisibility(OEColorGradientDisplayOptions self, bool visible)"""
        return _oegrapheme.OEColorGradientDisplayOptions_SetColorStopVisibility(self, visible)


    def GetColorStopVisibility(self) -> "bool":
        """GetColorStopVisibility(OEColorGradientDisplayOptions self) -> bool"""
        return _oegrapheme.OEColorGradientDisplayOptions_GetColorStopVisibility(self)


    def SetBoxRange(self, minvalue: 'double', maxvalue: 'double') -> "void":
        """SetBoxRange(OEColorGradientDisplayOptions self, double minvalue, double maxvalue)"""
        return _oegrapheme.OEColorGradientDisplayOptions_SetBoxRange(self, minvalue, maxvalue)


    def GetBoxRangeMin(self) -> "double":
        """GetBoxRangeMin(OEColorGradientDisplayOptions self) -> double"""
        return _oegrapheme.OEColorGradientDisplayOptions_GetBoxRangeMin(self)


    def GetBoxRangeMax(self) -> "double":
        """GetBoxRangeMax(OEColorGradientDisplayOptions self) -> double"""
        return _oegrapheme.OEColorGradientDisplayOptions_GetBoxRangeMax(self)


    def ClearBoxRange(self) -> "void":
        """ClearBoxRange(OEColorGradientDisplayOptions self)"""
        return _oegrapheme.OEColorGradientDisplayOptions_ClearBoxRange(self)


    def SetBoxRangePen(self, pen: 'OEPen') -> "void":
        """SetBoxRangePen(OEColorGradientDisplayOptions self, OEPen pen)"""
        return _oegrapheme.OEColorGradientDisplayOptions_SetBoxRangePen(self, pen)


    def GetBoxRangePen(self) -> "OEDepict::OEPen const &":
        """GetBoxRangePen(OEColorGradientDisplayOptions self) -> OEPen"""
        return _oegrapheme.OEColorGradientDisplayOptions_GetBoxRangePen(self)


    def SetMarkedValues(self, values: 'OEDoubleVector') -> "void":
        """SetMarkedValues(OEColorGradientDisplayOptions self, OEDoubleVector values)"""
        return _oegrapheme.OEColorGradientDisplayOptions_SetMarkedValues(self, values)


    def AddMarkedValues(self, values: 'OEDoubleVector') -> "void":
        """AddMarkedValues(OEColorGradientDisplayOptions self, OEDoubleVector values)"""
        return _oegrapheme.OEColorGradientDisplayOptions_AddMarkedValues(self, values)


    def AddMarkedValue(self, value: 'double') -> "void":
        """AddMarkedValue(OEColorGradientDisplayOptions self, double value)"""
        return _oegrapheme.OEColorGradientDisplayOptions_AddMarkedValue(self, value)


    def ClearMarkedValues(self) -> "void":
        """ClearMarkedValues(OEColorGradientDisplayOptions self)"""
        return _oegrapheme.OEColorGradientDisplayOptions_ClearMarkedValues(self)


    def GetMarkedValues(self) -> "OESystem::OEIterBase< double > *":
        """GetMarkedValues(OEColorGradientDisplayOptions self) -> OESystem::OEIterBase< double > *"""
        return _oegrapheme.OEColorGradientDisplayOptions_GetMarkedValues(self)


    def SetMarkedValuePrecision(self, precision: 'unsigned int') -> "void":
        """SetMarkedValuePrecision(OEColorGradientDisplayOptions self, unsigned int precision)"""
        return _oegrapheme.OEColorGradientDisplayOptions_SetMarkedValuePrecision(self, precision)


    def GetMarkedValuePrecision(self) -> "unsigned int":
        """GetMarkedValuePrecision(OEColorGradientDisplayOptions self) -> unsigned int"""
        return _oegrapheme.OEColorGradientDisplayOptions_GetMarkedValuePrecision(self)


    def SetMarkedValuePen(self, pen: 'OEPen') -> "void":
        """SetMarkedValuePen(OEColorGradientDisplayOptions self, OEPen pen)"""
        return _oegrapheme.OEColorGradientDisplayOptions_SetMarkedValuePen(self, pen)


    def GetMarkedValuePen(self) -> "OEDepict::OEPen const &":
        """GetMarkedValuePen(OEColorGradientDisplayOptions self) -> OEPen"""
        return _oegrapheme.OEColorGradientDisplayOptions_GetMarkedValuePen(self)


    def AddLabel(self, label: 'OEColorGradientLabel') -> "void":
        """AddLabel(OEColorGradientDisplayOptions self, OEColorGradientLabel label)"""
        return _oegrapheme.OEColorGradientDisplayOptions_AddLabel(self, label)


    def ClearLabels(self) -> "void":
        """ClearLabels(OEColorGradientDisplayOptions self)"""
        return _oegrapheme.OEColorGradientDisplayOptions_ClearLabels(self)


    def GetLabels(self) -> "OESystem::OEIterBase< OEGrapheme::OEColorGradientLabel > *":
        """GetLabels(OEColorGradientDisplayOptions self) -> OESystem::OEIterBase< OEGrapheme::OEColorGradientLabel > *"""
        return _oegrapheme.OEColorGradientDisplayOptions_GetLabels(self)

OEColorGradientDisplayOptions_swigregister = _oegrapheme.OEColorGradientDisplayOptions_swigregister
OEColorGradientDisplayOptions_swigregister(OEColorGradientDisplayOptions)


def OEDrawColorGradient(*args) -> "void":
    """
    OEDrawColorGradient(OEImageBase image, OEColorGradientBase colorg)
    OEDrawColorGradient(OEImageBase image, OEColorGradientBase colorg, OEColorGradientDisplayOptions opts)
    """
    return _oegrapheme.OEDrawColorGradient(*args)

def OEDrawROCSScores(image: 'OEImageBase', scores: 'OEDoubleVector') -> "void":
    """OEDrawROCSScores(OEImageBase image, OEDoubleVector scores)"""
    return _oegrapheme.OEDrawROCSScores(image, scores)
class OEAtomGlyphBase(object):
    """Proxy of C++ OEGrapheme::OEAtomGlyphBase 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__(OEGrapheme::OEAtomGlyphBase self) -> OEAtomGlyphBase"""
        if self.__class__ == OEAtomGlyphBase:
            _self = None
        else:
            _self = self
        this = _oegrapheme.new_OEAtomGlyphBase(_self, )
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEAtomGlyphBase
    __del__ = lambda self: None

    def RenderGlyph(self, disp: 'OE2DMolDisplay', atom: 'OEAtomBase') -> "bool":
        """RenderGlyph(OEAtomGlyphBase self, OE2DMolDisplay disp, OEAtomBase atom) -> bool"""
        return _oegrapheme.OEAtomGlyphBase_RenderGlyph(self, disp, atom)


    def CreateCopy(self, *args):
        try:
            return _oegrapheme.OEAtomGlyphBase_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()
        _oegrapheme.disown_OEAtomGlyphBase(self)
        return weakref_proxy(self)
OEAtomGlyphBase_swigregister = _oegrapheme.OEAtomGlyphBase_swigregister
OEAtomGlyphBase_swigregister(OEAtomGlyphBase)

class OEAtomGlyphCircle(OEAtomGlyphBase):
    """Proxy of C++ OEGrapheme::OEAtomGlyphCircle 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__(OEGrapheme::OEAtomGlyphCircle self, OEPen pen, unsigned int circlestyle, double circleRadiusScale=1.0, unsigned int layer) -> OEAtomGlyphCircle
        __init__(OEGrapheme::OEAtomGlyphCircle self, OEPen pen, unsigned int circlestyle, double circleRadiusScale=1.0) -> OEAtomGlyphCircle
        __init__(OEGrapheme::OEAtomGlyphCircle self, OEPen pen, unsigned int circlestyle) -> OEAtomGlyphCircle
        __init__(OEGrapheme::OEAtomGlyphCircle self, OEPen pen) -> OEAtomGlyphCircle
        """
        this = _oegrapheme.new_OEAtomGlyphCircle(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEAtomGlyphCircle
    __del__ = lambda self: None

    def RenderGlyph(self, disp: 'OE2DMolDisplay', atom: 'OEAtomBase') -> "bool":
        """RenderGlyph(OEAtomGlyphCircle self, OE2DMolDisplay disp, OEAtomBase atom) -> bool"""
        return _oegrapheme.OEAtomGlyphCircle_RenderGlyph(self, disp, atom)


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


OEAtomGlyphCircle_swigregister = _oegrapheme.OEAtomGlyphCircle_swigregister
OEAtomGlyphCircle_swigregister(OEAtomGlyphCircle)

class OEBondGlyphBase(object):
    """Proxy of C++ OEGrapheme::OEBondGlyphBase 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__(OEGrapheme::OEBondGlyphBase self) -> OEBondGlyphBase"""
        if self.__class__ == OEBondGlyphBase:
            _self = None
        else:
            _self = self
        this = _oegrapheme.new_OEBondGlyphBase(_self, )
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEBondGlyphBase
    __del__ = lambda self: None

    def RenderGlyph(self, disp: 'OE2DMolDisplay', bond: 'OEBondBase') -> "bool":
        """RenderGlyph(OEBondGlyphBase self, OE2DMolDisplay disp, OEBondBase bond) -> bool"""
        return _oegrapheme.OEBondGlyphBase_RenderGlyph(self, disp, bond)


    def CreateCopy(self, *args):
        try:
            return _oegrapheme.OEBondGlyphBase_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()
        _oegrapheme.disown_OEBondGlyphBase(self)
        return weakref_proxy(self)
OEBondGlyphBase_swigregister = _oegrapheme.OEBondGlyphBase_swigregister
OEBondGlyphBase_swigregister(OEBondGlyphBase)

class OEBondGlyphCircle(OEBondGlyphBase):
    """Proxy of C++ OEGrapheme::OEBondGlyphCircle 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__(OEGrapheme::OEBondGlyphCircle self, OEPen pen, unsigned int circlestyle, double circleRadiusScale=1.0, unsigned int layer) -> OEBondGlyphCircle
        __init__(OEGrapheme::OEBondGlyphCircle self, OEPen pen, unsigned int circlestyle, double circleRadiusScale=1.0) -> OEBondGlyphCircle
        __init__(OEGrapheme::OEBondGlyphCircle self, OEPen pen, unsigned int circlestyle) -> OEBondGlyphCircle
        __init__(OEGrapheme::OEBondGlyphCircle self, OEPen pen) -> OEBondGlyphCircle
        """
        this = _oegrapheme.new_OEBondGlyphCircle(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEBondGlyphCircle
    __del__ = lambda self: None

    def RenderGlyph(self, disp: 'OE2DMolDisplay', bond: 'OEBondBase') -> "bool":
        """RenderGlyph(OEBondGlyphCircle self, OE2DMolDisplay disp, OEBondBase bond) -> bool"""
        return _oegrapheme.OEBondGlyphCircle_RenderGlyph(self, disp, bond)


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


OEBondGlyphCircle_swigregister = _oegrapheme.OEBondGlyphCircle_swigregister
OEBondGlyphCircle_swigregister(OEBondGlyphCircle)

class OEBondGlyphArrow(OEBondGlyphBase):
    """Proxy of C++ OEGrapheme::OEBondGlyphArrow 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__(OEGrapheme::OEBondGlyphArrow self, OEPen pen, double arrowLengthScale=1.0, unsigned int layer) -> OEBondGlyphArrow
        __init__(OEGrapheme::OEBondGlyphArrow self, OEPen pen, double arrowLengthScale=1.0) -> OEBondGlyphArrow
        __init__(OEGrapheme::OEBondGlyphArrow self, OEPen pen) -> OEBondGlyphArrow
        """
        this = _oegrapheme.new_OEBondGlyphArrow(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEBondGlyphArrow
    __del__ = lambda self: None

    def RenderGlyph(self, disp: 'OE2DMolDisplay', bond: 'OEBondBase') -> "bool":
        """RenderGlyph(OEBondGlyphArrow self, OE2DMolDisplay disp, OEBondBase bond) -> bool"""
        return _oegrapheme.OEBondGlyphArrow_RenderGlyph(self, disp, bond)


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


OEBondGlyphArrow_swigregister = _oegrapheme.OEBondGlyphArrow_swigregister
OEBondGlyphArrow_swigregister(OEBondGlyphArrow)

class OEBondGlyphCurvedArrow(OEBondGlyphBase):
    """Proxy of C++ OEGrapheme::OEBondGlyphCurvedArrow 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__(OEGrapheme::OEBondGlyphCurvedArrow self, OEPen pen, double arrowRadiusScale=1.0, bool clockwise=True, double arcAngle=270.0, unsigned int layer) -> OEBondGlyphCurvedArrow
        __init__(OEGrapheme::OEBondGlyphCurvedArrow self, OEPen pen, double arrowRadiusScale=1.0, bool clockwise=True, double arcAngle=270.0) -> OEBondGlyphCurvedArrow
        __init__(OEGrapheme::OEBondGlyphCurvedArrow self, OEPen pen, double arrowRadiusScale=1.0, bool clockwise=True) -> OEBondGlyphCurvedArrow
        __init__(OEGrapheme::OEBondGlyphCurvedArrow self, OEPen pen, double arrowRadiusScale=1.0) -> OEBondGlyphCurvedArrow
        __init__(OEGrapheme::OEBondGlyphCurvedArrow self, OEPen pen) -> OEBondGlyphCurvedArrow
        """
        this = _oegrapheme.new_OEBondGlyphCurvedArrow(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEBondGlyphCurvedArrow
    __del__ = lambda self: None

    def RenderGlyph(self, disp: 'OE2DMolDisplay', bond: 'OEBondBase') -> "bool":
        """RenderGlyph(OEBondGlyphCurvedArrow self, OE2DMolDisplay disp, OEBondBase bond) -> bool"""
        return _oegrapheme.OEBondGlyphCurvedArrow_RenderGlyph(self, disp, bond)


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


OEBondGlyphCurvedArrow_swigregister = _oegrapheme.OEBondGlyphCurvedArrow_swigregister
OEBondGlyphCurvedArrow_swigregister(OEBondGlyphCurvedArrow)

class OEBondGlyphCross(OEBondGlyphBase):
    """Proxy of C++ OEGrapheme::OEBondGlyphCross 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__(OEGrapheme::OEBondGlyphCross self, OEPen pen, double crossLengthScale=1.0, unsigned int layer) -> OEBondGlyphCross
        __init__(OEGrapheme::OEBondGlyphCross self, OEPen pen, double crossLengthScale=1.0) -> OEBondGlyphCross
        __init__(OEGrapheme::OEBondGlyphCross self, OEPen pen) -> OEBondGlyphCross
        """
        this = _oegrapheme.new_OEBondGlyphCross(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEBondGlyphCross
    __del__ = lambda self: None

    def RenderGlyph(self, disp: 'OE2DMolDisplay', bond: 'OEBondBase') -> "bool":
        """RenderGlyph(OEBondGlyphCross self, OE2DMolDisplay disp, OEBondBase bond) -> bool"""
        return _oegrapheme.OEBondGlyphCross_RenderGlyph(self, disp, bond)


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


OEBondGlyphCross_swigregister = _oegrapheme.OEBondGlyphCross_swigregister
OEBondGlyphCross_swigregister(OEBondGlyphCross)

class OEBondGlyphScissors(OEBondGlyphBase):
    """Proxy of C++ OEGrapheme::OEBondGlyphScissors 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__(OEGrapheme::OEBondGlyphScissors self, OEPen pen, double scissorsLengthScale=1.0, unsigned int layer) -> OEBondGlyphScissors
        __init__(OEGrapheme::OEBondGlyphScissors self, OEPen pen, double scissorsLengthScale=1.0) -> OEBondGlyphScissors
        __init__(OEGrapheme::OEBondGlyphScissors self, OEPen pen) -> OEBondGlyphScissors
        """
        this = _oegrapheme.new_OEBondGlyphScissors(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEBondGlyphScissors
    __del__ = lambda self: None

    def RenderGlyph(self, disp: 'OE2DMolDisplay', bond: 'OEBondBase') -> "bool":
        """RenderGlyph(OEBondGlyphScissors self, OE2DMolDisplay disp, OEBondBase bond) -> bool"""
        return _oegrapheme.OEBondGlyphScissors_RenderGlyph(self, disp, bond)


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


OEBondGlyphScissors_swigregister = _oegrapheme.OEBondGlyphScissors_swigregister
OEBondGlyphScissors_swigregister(OEBondGlyphScissors)

class OEBondGlyphStitch(OEBondGlyphBase):
    """Proxy of C++ OEGrapheme::OEBondGlyphStitch 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__(OEGrapheme::OEBondGlyphStitch self, OEPen pen, unsigned int nrstitches=2, double stitchLengthScale=1.0, unsigned int layer) -> OEBondGlyphStitch
        __init__(OEGrapheme::OEBondGlyphStitch self, OEPen pen, unsigned int nrstitches=2, double stitchLengthScale=1.0) -> OEBondGlyphStitch
        __init__(OEGrapheme::OEBondGlyphStitch self, OEPen pen, unsigned int nrstitches=2) -> OEBondGlyphStitch
        __init__(OEGrapheme::OEBondGlyphStitch self, OEPen pen) -> OEBondGlyphStitch
        """
        this = _oegrapheme.new_OEBondGlyphStitch(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEBondGlyphStitch
    __del__ = lambda self: None

    def RenderGlyph(self, disp: 'OE2DMolDisplay', bond: 'OEBondBase') -> "bool":
        """RenderGlyph(OEBondGlyphStitch self, OE2DMolDisplay disp, OEBondBase bond) -> bool"""
        return _oegrapheme.OEBondGlyphStitch_RenderGlyph(self, disp, bond)


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


OEBondGlyphStitch_swigregister = _oegrapheme.OEBondGlyphStitch_swigregister
OEBondGlyphStitch_swigregister(OEBondGlyphStitch)

class OEBondGlyphZigZag(OEBondGlyphBase):
    """Proxy of C++ OEGrapheme::OEBondGlyphZigZag 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__(OEGrapheme::OEBondGlyphZigZag self, OEPen pen, double zigzagLengthScale=1.0, unsigned int layer, bool diagonal=False) -> OEBondGlyphZigZag
        __init__(OEGrapheme::OEBondGlyphZigZag self, OEPen pen, double zigzagLengthScale=1.0, unsigned int layer) -> OEBondGlyphZigZag
        __init__(OEGrapheme::OEBondGlyphZigZag self, OEPen pen, double zigzagLengthScale=1.0) -> OEBondGlyphZigZag
        __init__(OEGrapheme::OEBondGlyphZigZag self, OEPen pen) -> OEBondGlyphZigZag
        """
        this = _oegrapheme.new_OEBondGlyphZigZag(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEBondGlyphZigZag
    __del__ = lambda self: None

    def RenderGlyph(self, disp: 'OE2DMolDisplay', bond: 'OEBondBase') -> "bool":
        """RenderGlyph(OEBondGlyphZigZag self, OE2DMolDisplay disp, OEBondBase bond) -> bool"""
        return _oegrapheme.OEBondGlyphZigZag_RenderGlyph(self, disp, bond)


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


OEBondGlyphZigZag_swigregister = _oegrapheme.OEBondGlyphZigZag_swigregister
OEBondGlyphZigZag_swigregister(OEBondGlyphZigZag)


def OEAddGlyph(*args) -> "void":
    """
    OEAddGlyph(OE2DMolDisplay disp, OEAtomGlyphBase atomglyph, OEMatchBase match)
    OEAddGlyph(OE2DMolDisplay disp, OEAtomGlyphBase atomglyph, OEAtomBondSet abset)
    OEAddGlyph(OE2DMolDisplay disp, OEAtomGlyphBase atomglyph, OEUnaryAtomPred pred)
    OEAddGlyph(OE2DMolDisplay disp, OEBondGlyphBase bondglyph, OEMatchBase match)
    OEAddGlyph(OE2DMolDisplay disp, OEBondGlyphBase bondglyph, OEAtomBondSet abset)
    OEAddGlyph(OE2DMolDisplay disp, OEBondGlyphBase bondglyph, OEUnaryBondPred pred)
    """
    return _oegrapheme.OEAddGlyph(*args)
class OEColorForceFieldDisplay(object):
    """Proxy of C++ OEGrapheme::OEColorForceFieldDisplay 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__(OEGrapheme::OEColorForceFieldDisplay self, OEShape::OEColorForceField const & cff) -> OEColorForceFieldDisplay
        __init__(OEGrapheme::OEColorForceFieldDisplay self, OEColorForceFieldDisplay rhs) -> OEColorForceFieldDisplay
        """
        this = _oegrapheme.new_OEColorForceFieldDisplay(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEColorForceFieldDisplay
    __del__ = lambda self: None

    def GetColorForceField(self) -> "OEShape::OEColorForceField const &":
        """GetColorForceField(OEColorForceFieldDisplay self) -> OEShape::OEColorForceField const &"""
        return _oegrapheme.OEColorForceFieldDisplay_GetColorForceField(self)


    def NumColorTypes(self) -> "unsigned int":
        """NumColorTypes(OEColorForceFieldDisplay self) -> unsigned int"""
        return _oegrapheme.OEColorForceFieldDisplay_NumColorTypes(self)


    def GetColorTypes(self) -> "OESystem::OEIterBase< unsigned int > *":
        """GetColorTypes(OEColorForceFieldDisplay self) -> OESystem::OEIterBase< unsigned int > *"""
        return _oegrapheme.OEColorForceFieldDisplay_GetColorTypes(self)


    def GetName(self, type: 'unsigned int') -> "std::string":
        """GetName(OEColorForceFieldDisplay self, unsigned int type) -> std::string"""
        return _oegrapheme.OEColorForceFieldDisplay_GetName(self, type)


    def SetName(self, type: 'unsigned int', name: 'std::string const &') -> "void":
        """SetName(OEColorForceFieldDisplay self, unsigned int type, std::string const & name)"""
        return _oegrapheme.OEColorForceFieldDisplay_SetName(self, type, name)


    def GetColor(self, type: 'unsigned int') -> "OESystem::OEColor const &":
        """GetColor(OEColorForceFieldDisplay self, unsigned int type) -> OEColor"""
        return _oegrapheme.OEColorForceFieldDisplay_GetColor(self, type)


    def SetColor(self, type: 'unsigned int', color: 'OEColor') -> "void":
        """SetColor(OEColorForceFieldDisplay self, unsigned int type, OEColor color)"""
        return _oegrapheme.OEColorForceFieldDisplay_SetColor(self, type, color)

OEColorForceFieldDisplay_swigregister = _oegrapheme.OEColorForceFieldDisplay_swigregister
OEColorForceFieldDisplay_swigregister(OEColorForceFieldDisplay)

class OEColorForceFieldLegendDisplayOptions(object):
    """Proxy of C++ OEGrapheme::OEColorForceFieldLegendDisplayOptions 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__(OEGrapheme::OEColorForceFieldLegendDisplayOptions self, unsigned int rows, unsigned int cols) -> OEColorForceFieldLegendDisplayOptions
        __init__(OEGrapheme::OEColorForceFieldLegendDisplayOptions self, OEColorForceFieldLegendDisplayOptions rhs) -> OEColorForceFieldLegendDisplayOptions
        """
        this = _oegrapheme.new_OEColorForceFieldLegendDisplayOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEColorForceFieldLegendDisplayOptions
    __del__ = lambda self: None

    def NumRows(self) -> "unsigned int":
        """NumRows(OEColorForceFieldLegendDisplayOptions self) -> unsigned int"""
        return _oegrapheme.OEColorForceFieldLegendDisplayOptions_NumRows(self)


    def NumCols(self) -> "unsigned int":
        """NumCols(OEColorForceFieldLegendDisplayOptions self) -> unsigned int"""
        return _oegrapheme.OEColorForceFieldLegendDisplayOptions_NumCols(self)

OEColorForceFieldLegendDisplayOptions_swigregister = _oegrapheme.OEColorForceFieldLegendDisplayOptions_swigregister
OEColorForceFieldLegendDisplayOptions_swigregister(OEColorForceFieldLegendDisplayOptions)


def OEDrawColorForceFieldLegend(image: 'OEImageBase', cffdisp: 'OEColorForceFieldDisplay', opts: 'OEColorForceFieldLegendDisplayOptions') -> "void":
    """OEDrawColorForceFieldLegend(OEImageBase image, OEColorForceFieldDisplay cffdisp, OEColorForceFieldLegendDisplayOptions opts)"""
    return _oegrapheme.OEDrawColorForceFieldLegend(image, cffdisp, opts)
class OEShapeQueryDisplayOptions(oedepict.OE2DMolDisplayOptions):
    """Proxy of C++ OEGrapheme::OEShapeQueryDisplayOptions 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__(OEGrapheme::OEShapeQueryDisplayOptions self) -> OEShapeQueryDisplayOptions
        __init__(OEGrapheme::OEShapeQueryDisplayOptions self, OEShapeQueryDisplayOptions rhs) -> OEShapeQueryDisplayOptions
        """
        this = _oegrapheme.new_OEShapeQueryDisplayOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEShapeQueryDisplayOptions
    __del__ = lambda self: None

    def SetColorAtomStyle(self, style: 'unsigned int') -> "void":
        """SetColorAtomStyle(OEShapeQueryDisplayOptions self, unsigned int style)"""
        return _oegrapheme.OEShapeQueryDisplayOptions_SetColorAtomStyle(self, style)


    def GetColorAtomStyle(self) -> "unsigned int":
        """GetColorAtomStyle(OEShapeQueryDisplayOptions self) -> unsigned int"""
        return _oegrapheme.OEShapeQueryDisplayOptions_GetColorAtomStyle(self)


    def SetClearBackground(self, clear: 'bool') -> "void":
        """SetClearBackground(OEShapeQueryDisplayOptions self, bool clear)"""
        return _oegrapheme.OEShapeQueryDisplayOptions_SetClearBackground(self, clear)


    def GetClearBackground(self) -> "bool":
        """GetClearBackground(OEShapeQueryDisplayOptions self) -> bool"""
        return _oegrapheme.OEShapeQueryDisplayOptions_GetClearBackground(self)


    def SetSurfaceArcFxn(self, arcfxn: 'OESurfaceArcFxnBase') -> "void":
        """SetSurfaceArcFxn(OEShapeQueryDisplayOptions self, OESurfaceArcFxnBase arcfxn)"""
        return _oegrapheme.OEShapeQueryDisplayOptions_SetSurfaceArcFxn(self, arcfxn)


    def ClearSurfaceArcFxn(self) -> "void":
        """ClearSurfaceArcFxn(OEShapeQueryDisplayOptions self)"""
        return _oegrapheme.OEShapeQueryDisplayOptions_ClearSurfaceArcFxn(self)


    def GetSurfaceArcFxn(self) -> "OEGrapheme::OESurfaceArcFxnBase const *":
        """GetSurfaceArcFxn(OEShapeQueryDisplayOptions self) -> OESurfaceArcFxnBase"""
        return _oegrapheme.OEShapeQueryDisplayOptions_GetSurfaceArcFxn(self)


    def SetDepictOrientation(self, arg2: 'unsigned int') -> "void":
        """SetDepictOrientation(OEShapeQueryDisplayOptions self, unsigned int arg2)"""
        return _oegrapheme.OEShapeQueryDisplayOptions_SetDepictOrientation(self, arg2)


    def GetDepictOrientation(self) -> "unsigned int":
        """GetDepictOrientation(OEShapeQueryDisplayOptions self) -> unsigned int"""
        return _oegrapheme.OEShapeQueryDisplayOptions_GetDepictOrientation(self)

OEShapeQueryDisplayOptions_swigregister = _oegrapheme.OEShapeQueryDisplayOptions_swigregister
OEShapeQueryDisplayOptions_swigregister(OEShapeQueryDisplayOptions)

class OEShapeQueryDisplay(object):
    """Proxy of C++ OEGrapheme::OEShapeQueryDisplay 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__(OEGrapheme::OEShapeQueryDisplay self, OEMolBase refmol, OEShape::OEColorForceField const & cff) -> OEShapeQueryDisplay
        __init__(OEGrapheme::OEShapeQueryDisplay self, OEMolBase refmol, OEShape::OEColorForceField const & cff, OEShapeQueryDisplayOptions opts) -> OEShapeQueryDisplay
        __init__(OEGrapheme::OEShapeQueryDisplay self, OEMolBase refmol, OEColorForceFieldDisplay cffdisp) -> OEShapeQueryDisplay
        __init__(OEGrapheme::OEShapeQueryDisplay self, OEMolBase refmol, OEColorForceFieldDisplay cffdisp, OEShapeQueryDisplayOptions opts) -> OEShapeQueryDisplay
        __init__(OEGrapheme::OEShapeQueryDisplay self, OEShapeQueryDisplay rhs) -> OEShapeQueryDisplay
        """
        this = _oegrapheme.new_OEShapeQueryDisplay(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEShapeQueryDisplay
    __del__ = lambda self: None

    def IsValid(self) -> "bool":
        """IsValid(OEShapeQueryDisplay self) -> bool"""
        return _oegrapheme.OEShapeQueryDisplay_IsValid(self)


    def GetTitle(self) -> "std::string":
        """GetTitle(OEShapeQueryDisplay self) -> std::string"""
        return _oegrapheme.OEShapeQueryDisplay_GetTitle(self)

OEShapeQueryDisplay_swigregister = _oegrapheme.OEShapeQueryDisplay_swigregister
OEShapeQueryDisplay_swigregister(OEShapeQueryDisplay)


def OERenderShapeQuery(image: 'OEImageBase', qdisp: 'OEShapeQueryDisplay') -> "void":
    """OERenderShapeQuery(OEImageBase image, OEShapeQueryDisplay qdisp)"""
    return _oegrapheme.OERenderShapeQuery(image, qdisp)
class OEShapeOverlapDisplayOptions(oedepict.OE2DMolDisplayOptions):
    """Proxy of C++ OEGrapheme::OEShapeOverlapDisplayOptions 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__(OEGrapheme::OEShapeOverlapDisplayOptions self) -> OEShapeOverlapDisplayOptions
        __init__(OEGrapheme::OEShapeOverlapDisplayOptions self, OEShapeOverlapDisplayOptions rhs) -> OEShapeOverlapDisplayOptions
        """
        this = _oegrapheme.new_OEShapeOverlapDisplayOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEShapeOverlapDisplayOptions
    __del__ = lambda self: None

    def SetQuerySurfaceArcFxn(self, arcfxn: 'OESurfaceArcFxnBase') -> "void":
        """SetQuerySurfaceArcFxn(OEShapeOverlapDisplayOptions self, OESurfaceArcFxnBase arcfxn)"""
        return _oegrapheme.OEShapeOverlapDisplayOptions_SetQuerySurfaceArcFxn(self, arcfxn)


    def ClearQuerySurfaceArcFxn(self) -> "void":
        """ClearQuerySurfaceArcFxn(OEShapeOverlapDisplayOptions self)"""
        return _oegrapheme.OEShapeOverlapDisplayOptions_ClearQuerySurfaceArcFxn(self)


    def GetQuerySurfaceArcFxn(self) -> "OEGrapheme::OESurfaceArcFxnBase const *":
        """GetQuerySurfaceArcFxn(OEShapeOverlapDisplayOptions self) -> OESurfaceArcFxnBase"""
        return _oegrapheme.OEShapeOverlapDisplayOptions_GetQuerySurfaceArcFxn(self)


    def SetOverlapDisplayStyle(self, style: 'unsigned int') -> "void":
        """SetOverlapDisplayStyle(OEShapeOverlapDisplayOptions self, unsigned int style)"""
        return _oegrapheme.OEShapeOverlapDisplayOptions_SetOverlapDisplayStyle(self, style)


    def GetOverlapDisplayStyle(self) -> "unsigned int":
        """GetOverlapDisplayStyle(OEShapeOverlapDisplayOptions self) -> unsigned int"""
        return _oegrapheme.OEShapeOverlapDisplayOptions_GetOverlapDisplayStyle(self)


    def SetOverlapColor(self, color: 'OEColor') -> "void":
        """SetOverlapColor(OEShapeOverlapDisplayOptions self, OEColor color)"""
        return _oegrapheme.OEShapeOverlapDisplayOptions_SetOverlapColor(self, color)


    def GetOverlapColor(self) -> "OESystem::OEColor const &":
        """GetOverlapColor(OEShapeOverlapDisplayOptions self) -> OEColor"""
        return _oegrapheme.OEShapeOverlapDisplayOptions_GetOverlapColor(self)


    def SetClearBackground(self, clear: 'bool') -> "void":
        """SetClearBackground(OEShapeOverlapDisplayOptions self, bool clear)"""
        return _oegrapheme.OEShapeOverlapDisplayOptions_SetClearBackground(self, clear)


    def GetClearBackground(self) -> "bool":
        """GetClearBackground(OEShapeOverlapDisplayOptions self) -> bool"""
        return _oegrapheme.OEShapeOverlapDisplayOptions_GetClearBackground(self)

OEShapeOverlapDisplayOptions_swigregister = _oegrapheme.OEShapeOverlapDisplayOptions_swigregister
OEShapeOverlapDisplayOptions_swigregister(OEShapeOverlapDisplayOptions)

class OEColorOverlapDisplayOptions(oedepict.OE2DMolDisplayOptions):
    """Proxy of C++ OEGrapheme::OEColorOverlapDisplayOptions 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__(OEGrapheme::OEColorOverlapDisplayOptions self) -> OEColorOverlapDisplayOptions
        __init__(OEGrapheme::OEColorOverlapDisplayOptions self, OEColorOverlapDisplayOptions rhs) -> OEColorOverlapDisplayOptions
        """
        this = _oegrapheme.new_OEColorOverlapDisplayOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEColorOverlapDisplayOptions
    __del__ = lambda self: None

    def SetQuerySurfaceArcFxn(self, arcfxn: 'OESurfaceArcFxnBase') -> "void":
        """SetQuerySurfaceArcFxn(OEColorOverlapDisplayOptions self, OESurfaceArcFxnBase arcfxn)"""
        return _oegrapheme.OEColorOverlapDisplayOptions_SetQuerySurfaceArcFxn(self, arcfxn)


    def ClearQuerySurfaceArcFxn(self) -> "void":
        """ClearQuerySurfaceArcFxn(OEColorOverlapDisplayOptions self)"""
        return _oegrapheme.OEColorOverlapDisplayOptions_ClearQuerySurfaceArcFxn(self)


    def GetQuerySurfaceArcFxn(self) -> "OEGrapheme::OESurfaceArcFxnBase const *":
        """GetQuerySurfaceArcFxn(OEColorOverlapDisplayOptions self) -> OESurfaceArcFxnBase"""
        return _oegrapheme.OEColorOverlapDisplayOptions_GetQuerySurfaceArcFxn(self)


    def SetClearBackground(self, clear: 'bool') -> "void":
        """SetClearBackground(OEColorOverlapDisplayOptions self, bool clear)"""
        return _oegrapheme.OEColorOverlapDisplayOptions_SetClearBackground(self, clear)


    def GetClearBackground(self) -> "bool":
        """GetClearBackground(OEColorOverlapDisplayOptions self) -> bool"""
        return _oegrapheme.OEColorOverlapDisplayOptions_GetClearBackground(self)

OEColorOverlapDisplayOptions_swigregister = _oegrapheme.OEColorOverlapDisplayOptions_swigregister
OEColorOverlapDisplayOptions_swigregister(OEColorOverlapDisplayOptions)

class OEShapeOverlapDisplay(object):
    """Proxy of C++ OEGrapheme::OEShapeOverlapDisplay 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__(OEGrapheme::OEShapeOverlapDisplay self, OEShapeQueryDisplay refdisp, OEMolBase fitmol) -> OEShapeOverlapDisplay
        __init__(OEGrapheme::OEShapeOverlapDisplay self, OEShapeQueryDisplay refdisp, OEMolBase fitmol, OEShapeOverlapDisplayOptions sopts) -> OEShapeOverlapDisplay
        __init__(OEGrapheme::OEShapeOverlapDisplay self, OEShapeQueryDisplay refdisp, OEMolBase fitmol, OEColorOverlapDisplayOptions copts) -> OEShapeOverlapDisplay
        __init__(OEGrapheme::OEShapeOverlapDisplay self, OEShapeQueryDisplay refdisp, OEMolBase fitmol, OEShapeOverlapDisplayOptions sopts, OEColorOverlapDisplayOptions copts) -> OEShapeOverlapDisplay
        __init__(OEGrapheme::OEShapeOverlapDisplay self, OEShapeOverlapDisplay rhs) -> OEShapeOverlapDisplay
        """
        this = _oegrapheme.new_OEShapeOverlapDisplay(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEShapeOverlapDisplay
    __del__ = lambda self: None

    def IsValid(self) -> "bool":
        """IsValid(OEShapeOverlapDisplay self) -> bool"""
        return _oegrapheme.OEShapeOverlapDisplay_IsValid(self)


    def GetTitle(self) -> "std::string":
        """GetTitle(OEShapeOverlapDisplay self) -> std::string"""
        return _oegrapheme.OEShapeOverlapDisplay_GetTitle(self)


    def Get2DMolecule(self) -> "OEChem::OEMolBase const *":
        """Get2DMolecule(OEShapeOverlapDisplay self) -> OEMolBase"""
        return _oegrapheme.OEShapeOverlapDisplay_Get2DMolecule(self)

OEShapeOverlapDisplay_swigregister = _oegrapheme.OEShapeOverlapDisplay_swigregister
OEShapeOverlapDisplay_swigregister(OEShapeOverlapDisplay)


def OERenderShapeOverlap(*args) -> "void":
    """
    OERenderShapeOverlap(OEImageBase image, OEShapeOverlapDisplay odisp)
    OERenderShapeOverlap(OEImageBase molimage, OEImageBase overlapimage, OEShapeOverlapDisplay odisp)
    """
    return _oegrapheme.OERenderShapeOverlap(*args)

def OERenderColorOverlap(image: 'OEImageBase', odisp: 'OEShapeOverlapDisplay') -> "void":
    """OERenderColorOverlap(OEImageBase image, OEShapeOverlapDisplay odisp)"""
    return _oegrapheme.OERenderColorOverlap(image, odisp)
class OEResidueSVGMarkupBase(object):
    """Proxy of C++ OEGrapheme::OEResidueSVGMarkupBase class."""

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

    def GetGroupId(self, arg0: 'OEResidue') -> "std::string":
        """GetGroupId(OEResidueSVGMarkupBase self, OEResidue arg0) -> std::string"""
        return _oegrapheme.OEResidueSVGMarkupBase_GetGroupId(self, arg0)


    def GetClassName(self, arg0: 'OEResidue') -> "std::string":
        """GetClassName(OEResidueSVGMarkupBase self, OEResidue arg0) -> std::string"""
        return _oegrapheme.OEResidueSVGMarkupBase_GetClassName(self, arg0)


    def CreateCopy(self) -> "OEGrapheme::OEResidueSVGMarkupBase *":
        """CreateCopy(OEResidueSVGMarkupBase self) -> OEResidueSVGMarkupBase"""
        return _oegrapheme.OEResidueSVGMarkupBase_CreateCopy(self)

    __swig_destroy__ = _oegrapheme.delete_OEResidueSVGMarkupBase
    __del__ = lambda self: None

    def __init__(self):
        """__init__(OEGrapheme::OEResidueSVGMarkupBase self) -> OEResidueSVGMarkupBase"""
        if self.__class__ == OEResidueSVGMarkupBase:
            _self = None
        else:
            _self = self
        this = _oegrapheme.new_OEResidueSVGMarkupBase(_self, )
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    def __disown__(self):
        self.this.disown()
        _oegrapheme.disown_OEResidueSVGMarkupBase(self)
        return weakref_proxy(self)
OEResidueSVGMarkupBase_swigregister = _oegrapheme.OEResidueSVGMarkupBase_swigregister
OEResidueSVGMarkupBase_swigregister(OEResidueSVGMarkupBase)

class OEResidueSVGNoMarkup(OEResidueSVGMarkupBase):
    """Proxy of C++ OEGrapheme::OEResidueSVGNoMarkup 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__(OEGrapheme::OEResidueSVGNoMarkup self) -> OEResidueSVGNoMarkup"""
        this = _oegrapheme.new_OEResidueSVGNoMarkup()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def GetGroupId(self, arg2: 'OEResidue') -> "std::string":
        """GetGroupId(OEResidueSVGNoMarkup self, OEResidue arg2) -> std::string"""
        return _oegrapheme.OEResidueSVGNoMarkup_GetGroupId(self, arg2)


    def GetClassName(self, arg2: 'OEResidue') -> "std::string":
        """GetClassName(OEResidueSVGNoMarkup self, OEResidue arg2) -> std::string"""
        return _oegrapheme.OEResidueSVGNoMarkup_GetClassName(self, arg2)


    def CreateCopy(self) -> "OEGrapheme::OEResidueSVGMarkupBase *":
        """CreateCopy(OEResidueSVGNoMarkup self) -> OEResidueSVGMarkupBase"""
        return _oegrapheme.OEResidueSVGNoMarkup_CreateCopy(self)

    __swig_destroy__ = _oegrapheme.delete_OEResidueSVGNoMarkup
    __del__ = lambda self: None
OEResidueSVGNoMarkup_swigregister = _oegrapheme.OEResidueSVGNoMarkup_swigregister
OEResidueSVGNoMarkup_swigregister(OEResidueSVGNoMarkup)

class OEResidueSVGStandardMarkup(OEResidueSVGMarkupBase):
    """Proxy of C++ OEGrapheme::OEResidueSVGStandardMarkup 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__(OEGrapheme::OEResidueSVGStandardMarkup self, std::string const prefix, std::string const classname, char const separator) -> OEResidueSVGStandardMarkup
        __init__(OEGrapheme::OEResidueSVGStandardMarkup self, std::string const prefix, std::string const classname) -> OEResidueSVGStandardMarkup
        __init__(OEGrapheme::OEResidueSVGStandardMarkup self, std::string const prefix) -> OEResidueSVGStandardMarkup
        __init__(OEGrapheme::OEResidueSVGStandardMarkup self) -> OEResidueSVGStandardMarkup
        """
        this = _oegrapheme.new_OEResidueSVGStandardMarkup(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def GetGroupId(self, arg2: 'OEResidue') -> "std::string":
        """GetGroupId(OEResidueSVGStandardMarkup self, OEResidue arg2) -> std::string"""
        return _oegrapheme.OEResidueSVGStandardMarkup_GetGroupId(self, arg2)


    def GetClassName(self, arg2: 'OEResidue') -> "std::string":
        """GetClassName(OEResidueSVGStandardMarkup self, OEResidue arg2) -> std::string"""
        return _oegrapheme.OEResidueSVGStandardMarkup_GetClassName(self, arg2)


    def CreateCopy(self) -> "OEGrapheme::OEResidueSVGMarkupBase *":
        """CreateCopy(OEResidueSVGStandardMarkup self) -> OEResidueSVGMarkupBase"""
        return _oegrapheme.OEResidueSVGStandardMarkup_CreateCopy(self)

    __swig_destroy__ = _oegrapheme.delete_OEResidueSVGStandardMarkup
    __del__ = lambda self: None
OEResidueSVGStandardMarkup_swigregister = _oegrapheme.OEResidueSVGStandardMarkup_swigregister
OEResidueSVGStandardMarkup_swigregister(OEResidueSVGStandardMarkup)

class OE2DActiveSiteDisplayOptions(oedepict.OE2DMolDisplayOptions):
    """Proxy of C++ OEGrapheme::OE2DActiveSiteDisplayOptions 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__(OEGrapheme::OE2DActiveSiteDisplayOptions self, double width, double height) -> OE2DActiveSiteDisplayOptions
        __init__(OEGrapheme::OE2DActiveSiteDisplayOptions self, OE2DActiveSiteDisplayOptions rhs) -> OE2DActiveSiteDisplayOptions
        """
        this = _oegrapheme.new_OE2DActiveSiteDisplayOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OE2DActiveSiteDisplayOptions
    __del__ = lambda self: None

    def SetTitleLocation(self, loc: 'unsigned int') -> "void":
        """SetTitleLocation(OE2DActiveSiteDisplayOptions self, unsigned int loc)"""
        return _oegrapheme.OE2DActiveSiteDisplayOptions_SetTitleLocation(self, loc)


    def GetTitleLocation(self) -> "unsigned int":
        """GetTitleLocation(OE2DActiveSiteDisplayOptions self) -> unsigned int"""
        return _oegrapheme.OE2DActiveSiteDisplayOptions_GetTitleLocation(self)


    def SetTitleFont(self, font: 'OEFont') -> "void":
        """SetTitleFont(OE2DActiveSiteDisplayOptions self, OEFont font)"""
        return _oegrapheme.OE2DActiveSiteDisplayOptions_SetTitleFont(self, font)


    def GetTitleFont(self) -> "OEDepict::OEFont const &":
        """GetTitleFont(OE2DActiveSiteDisplayOptions self) -> OEFont"""
        return _oegrapheme.OE2DActiveSiteDisplayOptions_GetTitleFont(self)


    def SetRenderInteractiveLegend(self, render: 'bool') -> "void":
        """SetRenderInteractiveLegend(OE2DActiveSiteDisplayOptions self, bool render)"""
        return _oegrapheme.OE2DActiveSiteDisplayOptions_SetRenderInteractiveLegend(self, render)


    def GetRenderInteractiveLegend(self) -> "bool":
        """GetRenderInteractiveLegend(OE2DActiveSiteDisplayOptions self) -> bool"""
        return _oegrapheme.OE2DActiveSiteDisplayOptions_GetRenderInteractiveLegend(self)


    def SetResidueSVGMarkupFunctor(self, func: 'OEResidueSVGMarkupBase') -> "void":
        """SetResidueSVGMarkupFunctor(OE2DActiveSiteDisplayOptions self, OEResidueSVGMarkupBase func)"""
        return _oegrapheme.OE2DActiveSiteDisplayOptions_SetResidueSVGMarkupFunctor(self, func)


    def GetResidueSVGMarkupFunctor(self) -> "OEGrapheme::OEResidueSVGMarkupBase const &":
        """GetResidueSVGMarkupFunctor(OE2DActiveSiteDisplayOptions self) -> OEResidueSVGMarkupBase"""
        return _oegrapheme.OE2DActiveSiteDisplayOptions_GetResidueSVGMarkupFunctor(self)


    def SetSVGMagnifyResidueInHover(self, scale: 'double') -> "void":
        """SetSVGMagnifyResidueInHover(OE2DActiveSiteDisplayOptions self, double scale)"""
        return _oegrapheme.OE2DActiveSiteDisplayOptions_SetSVGMagnifyResidueInHover(self, scale)


    def GetSVGMagnifyResidueInHover(self) -> "double":
        """GetSVGMagnifyResidueInHover(OE2DActiveSiteDisplayOptions self) -> double"""
        return _oegrapheme.OE2DActiveSiteDisplayOptions_GetSVGMagnifyResidueInHover(self)


    def SetHeight(self, arg2: 'double') -> "void":
        """SetHeight(OE2DActiveSiteDisplayOptions self, double arg2)"""
        return _oegrapheme.OE2DActiveSiteDisplayOptions_SetHeight(self, arg2)


    def SetWidth(self, arg2: 'double') -> "void":
        """SetWidth(OE2DActiveSiteDisplayOptions self, double arg2)"""
        return _oegrapheme.OE2DActiveSiteDisplayOptions_SetWidth(self, arg2)


    def SetScale(self, arg2: 'double') -> "void":
        """SetScale(OE2DActiveSiteDisplayOptions self, double arg2)"""
        return _oegrapheme.OE2DActiveSiteDisplayOptions_SetScale(self, arg2)


    def SetDimensions(self, arg2: 'double', arg3: 'double', arg4: 'double') -> "void":
        """SetDimensions(OE2DActiveSiteDisplayOptions self, double arg2, double arg3, double arg4)"""
        return _oegrapheme.OE2DActiveSiteDisplayOptions_SetDimensions(self, arg2, arg3, arg4)


    def SetBackgroundColor(self, arg2: 'OEColor') -> "void":
        """SetBackgroundColor(OE2DActiveSiteDisplayOptions self, OEColor arg2)"""
        return _oegrapheme.OE2DActiveSiteDisplayOptions_SetBackgroundColor(self, arg2)


    def SetSuperAtomStyle(self, arg2: 'unsigned int') -> "void":
        """SetSuperAtomStyle(OE2DActiveSiteDisplayOptions self, unsigned int arg2)"""
        return _oegrapheme.OE2DActiveSiteDisplayOptions_SetSuperAtomStyle(self, arg2)

OE2DActiveSiteDisplayOptions_swigregister = _oegrapheme.OE2DActiveSiteDisplayOptions_swigregister
OE2DActiveSiteDisplayOptions_swigregister(OE2DActiveSiteDisplayOptions)

class OE2DActiveSiteDisplay(object):
    """Proxy of C++ OEGrapheme::OE2DActiveSiteDisplay 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, asite: 'OEInteractionHintContainer', opts: 'OE2DActiveSiteDisplayOptions'):
        """__init__(OEGrapheme::OE2DActiveSiteDisplay self, OEInteractionHintContainer asite, OE2DActiveSiteDisplayOptions opts) -> OE2DActiveSiteDisplay"""
        this = _oegrapheme.new_OE2DActiveSiteDisplay(asite, opts)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OE2DActiveSiteDisplay
    __del__ = lambda self: None

    def GetOptions(self) -> "OEGrapheme::OE2DActiveSiteDisplayOptions const &":
        """GetOptions(OE2DActiveSiteDisplay self) -> OE2DActiveSiteDisplayOptions"""
        return _oegrapheme.OE2DActiveSiteDisplay_GetOptions(self)


    def GetDisplayedLigand(self) -> "OEChem::OEMolBase const *":
        """GetDisplayedLigand(OE2DActiveSiteDisplay self) -> OEMolBase"""
        return _oegrapheme.OE2DActiveSiteDisplay_GetDisplayedLigand(self)


    def GetDisplayedResidues(self, *args) -> "OESystem::OEIterBase< OEChem::OEResidue > *":
        """
        GetDisplayedResidues(OE2DActiveSiteDisplay self, unsigned int renderstyle) -> OESystem::OEIterBase< OEChem::OEResidue >
        GetDisplayedResidues(OE2DActiveSiteDisplay self) -> OESystem::OEIterBase< OEChem::OEResidue > *
        """
        return _oegrapheme.OE2DActiveSiteDisplay_GetDisplayedResidues(self, *args)


    def IsValid(self) -> "bool":
        """IsValid(OE2DActiveSiteDisplay self) -> bool"""
        return _oegrapheme.OE2DActiveSiteDisplay_IsValid(self)


    def GetWidth(self) -> "double":
        """GetWidth(OE2DActiveSiteDisplay self) -> double"""
        return _oegrapheme.OE2DActiveSiteDisplay_GetWidth(self)


    def GetHeight(self) -> "double":
        """GetHeight(OE2DActiveSiteDisplay self) -> double"""
        return _oegrapheme.OE2DActiveSiteDisplay_GetHeight(self)

OE2DActiveSiteDisplay_swigregister = _oegrapheme.OE2DActiveSiteDisplay_swigregister
OE2DActiveSiteDisplay_swigregister(OE2DActiveSiteDisplay)
cvar = _oegrapheme.cvar
InteractionMap = cvar.InteractionMap
ContactMap = cvar.ContactMap
UnpairedMap = cvar.UnpairedMap
BFactorMap = cvar.BFactorMap
Default = cvar.Default


def OEPrepareActiveSiteDepiction(asite: 'OEInteractionHintContainer') -> "bool":
    """OEPrepareActiveSiteDepiction(OEInteractionHintContainer asite) -> bool"""
    return _oegrapheme.OEPrepareActiveSiteDepiction(asite)

def OERenderActiveSite(*args) -> "bool":
    """
    OERenderActiveSite(std::string const & filename, OE2DActiveSiteDisplay adisp) -> bool
    OERenderActiveSite(oeostream os, std::string const & extension, OE2DActiveSiteDisplay adisp) -> bool
    OERenderActiveSite(OEImageBase image, OE2DActiveSiteDisplay adisp) -> bool
    """
    return _oegrapheme.OERenderActiveSite(*args)

def OEAddLigandHighlighting(*args) -> "void":
    """
    OEAddLigandHighlighting(OE2DActiveSiteDisplay adisp, OEHighlightBase highlight, OEMatchBase match)
    OEAddLigandHighlighting(OE2DActiveSiteDisplay adisp, OEHighlightBase highlight, OEAtomBondSet abset)
    OEAddLigandHighlighting(OE2DActiveSiteDisplay adisp, OEHighlightBase highlight, OEUnaryAtomPred atompred)
    OEAddLigandHighlighting(OE2DActiveSiteDisplay adisp, OEHighlightBase highlight, OEUnaryBondPred bondpred)
    OEAddLigandHighlighting(OE2DActiveSiteDisplay adisp, OEHighlightBase highlight, OEUnaryAtomPred atompred, OEUnaryBondPred bondpred)
    """
    return _oegrapheme.OEAddLigandHighlighting(*args)

def OEAddResidueHighlighting(adisp: 'OE2DActiveSiteDisplay', pen: 'OEPen', residue: 'OEResidue') -> "void":
    """OEAddResidueHighlighting(OE2DActiveSiteDisplay adisp, OEPen pen, OEResidue residue)"""
    return _oegrapheme.OEAddResidueHighlighting(adisp, pen, residue)
class OE2DActiveSiteLegendDisplayOptions(object):
    """Proxy of C++ OEGrapheme::OE2DActiveSiteLegendDisplayOptions 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__(OEGrapheme::OE2DActiveSiteLegendDisplayOptions self, unsigned int const rows, unsigned int const cols) -> OE2DActiveSiteLegendDisplayOptions
        __init__(OEGrapheme::OE2DActiveSiteLegendDisplayOptions self, OE2DActiveSiteLegendDisplayOptions rhs) -> OE2DActiveSiteLegendDisplayOptions
        """
        this = _oegrapheme.new_OE2DActiveSiteLegendDisplayOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OE2DActiveSiteLegendDisplayOptions
    __del__ = lambda self: None

    def NumRows(self) -> "unsigned int":
        """NumRows(OE2DActiveSiteLegendDisplayOptions self) -> unsigned int"""
        return _oegrapheme.OE2DActiveSiteLegendDisplayOptions_NumRows(self)


    def NumCols(self) -> "unsigned int":
        """NumCols(OE2DActiveSiteLegendDisplayOptions self) -> unsigned int"""
        return _oegrapheme.OE2DActiveSiteLegendDisplayOptions_NumCols(self)

OE2DActiveSiteLegendDisplayOptions_swigregister = _oegrapheme.OE2DActiveSiteLegendDisplayOptions_swigregister
OE2DActiveSiteLegendDisplayOptions_swigregister(OE2DActiveSiteLegendDisplayOptions)


def OEDrawActiveSiteLegend(image: 'OEImageBase', adisp: 'OE2DActiveSiteDisplay', opts: 'OE2DActiveSiteLegendDisplayOptions') -> "void":
    """OEDrawActiveSiteLegend(OEImageBase image, OE2DActiveSiteDisplay adisp, OE2DActiveSiteLegendDisplayOptions opts)"""
    return _oegrapheme.OEDrawActiveSiteLegend(image, adisp, opts)

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

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

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

def OEGetNearbyBond(disp: 'OE2DActiveSiteDisplay', p: 'OE2DPoint', radiusscale: 'double'=1.0) -> "OEDepict::OENearestBond":
    """
    OEGetNearbyBond(OE2DActiveSiteDisplay disp, OE2DPoint p, double radiusscale=1.0) -> OENearestBond
    OEGetNearbyBond(OE2DActiveSiteDisplay disp, OE2DPoint p) -> OENearestBond
    """
    return _oegrapheme.OEGetNearbyBond(disp, p, radiusscale)
class OENearestResidue(object):
    """Proxy of C++ OEGrapheme::OENearestResidue 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, residue: 'OEResidue', dist: 'double', pos: 'OE2DPoint'):
        """__init__(OEGrapheme::OENearestResidue self, OEResidue residue, double dist, OE2DPoint pos) -> OENearestResidue"""
        this = _oegrapheme.new_OENearestResidue(residue, dist, pos)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def GetResidue(self) -> "OEChem::OEResidue const &":
        """GetResidue(OENearestResidue self) -> OEResidue"""
        return _oegrapheme.OENearestResidue_GetResidue(self)


    def GetDist(self) -> "double":
        """GetDist(OENearestResidue self) -> double"""
        return _oegrapheme.OENearestResidue_GetDist(self)


    def GetDisplayPosition(self) -> "OEDepict::OE2DPoint const &":
        """GetDisplayPosition(OENearestResidue self) -> OE2DPoint"""
        return _oegrapheme.OENearestResidue_GetDisplayPosition(self)


    def IsValid(self) -> "bool":
        """IsValid(OENearestResidue self) -> bool"""
        return _oegrapheme.OENearestResidue_IsValid(self)

    __swig_destroy__ = _oegrapheme.delete_OENearestResidue
    __del__ = lambda self: None
OENearestResidue_swigregister = _oegrapheme.OENearestResidue_swigregister
OENearestResidue_swigregister(OENearestResidue)


def OEGetNearestResidue(disp: 'OE2DActiveSiteDisplay', p: 'OE2DPoint') -> "OEGrapheme::OENearestResidue":
    """OEGetNearestResidue(OE2DActiveSiteDisplay disp, OE2DPoint p) -> OENearestResidue"""
    return _oegrapheme.OEGetNearestResidue(disp, p)

def OEGetNearbyResidue(disp: 'OE2DActiveSiteDisplay', p: 'OE2DPoint', radiusscale: 'double'=1.0) -> "OEGrapheme::OENearestResidue":
    """
    OEGetNearbyResidue(OE2DActiveSiteDisplay disp, OE2DPoint p, double radiusscale=1.0) -> OENearestResidue
    OEGetNearbyResidue(OE2DActiveSiteDisplay disp, OE2DPoint p) -> OENearestResidue
    """
    return _oegrapheme.OEGetNearbyResidue(disp, p, radiusscale)

def OERenderContactMap(image: 'OEImageBase', adisp: 'OE2DActiveSiteDisplay') -> "bool":
    """OERenderContactMap(OEImageBase image, OE2DActiveSiteDisplay adisp) -> bool"""
    return _oegrapheme.OERenderContactMap(image, adisp)

def OERenderUnpairedInteractionMap(image: 'OEImageBase', adisp: 'OE2DActiveSiteDisplay') -> "bool":
    """OERenderUnpairedInteractionMap(OEImageBase image, OE2DActiveSiteDisplay adisp) -> bool"""
    return _oegrapheme.OERenderUnpairedInteractionMap(image, adisp)

def OEDrawUnpairedInteractionMapLegend(image: 'OEImageBase', adisp: 'OE2DActiveSiteDisplay', opts: 'OE2DActiveSiteLegendDisplayOptions') -> "void":
    """OEDrawUnpairedInteractionMapLegend(OEImageBase image, OE2DActiveSiteDisplay adisp, OE2DActiveSiteLegendDisplayOptions opts)"""
    return _oegrapheme.OEDrawUnpairedInteractionMapLegend(image, adisp, opts)

def OERenderBFactorMap(image: 'OEImageBase', adisp: 'OE2DActiveSiteDisplay') -> "bool":
    """OERenderBFactorMap(OEImageBase image, OE2DActiveSiteDisplay adisp) -> bool"""
    return _oegrapheme.OERenderBFactorMap(image, adisp)

def OEDrawBFactorMapLegend(image: 'OEImageBase', adisp: 'OE2DActiveSiteDisplay') -> "bool":
    """OEDrawBFactorMapLegend(OEImageBase image, OE2DActiveSiteDisplay adisp) -> bool"""
    return _oegrapheme.OEDrawBFactorMapLegend(image, adisp)

def OERenderActiveSiteMaps(image: 'OEImageBase', asite: 'OEInteractionHintContainer') -> "bool":
    """OERenderActiveSiteMaps(OEImageBase image, OEInteractionHintContainer asite) -> bool"""
    return _oegrapheme.OERenderActiveSiteMaps(image, asite)
class OEPeptideDisplayOptions(object):
    """Proxy of C++ OEGrapheme::OEPeptideDisplayOptions 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__(OEGrapheme::OEPeptideDisplayOptions self, unsigned int style) -> OEPeptideDisplayOptions
        __init__(OEGrapheme::OEPeptideDisplayOptions self) -> OEPeptideDisplayOptions
        __init__(OEGrapheme::OEPeptideDisplayOptions self, OEPeptideDisplayOptions rhs) -> OEPeptideDisplayOptions
        """
        this = _oegrapheme.new_OEPeptideDisplayOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEPeptideDisplayOptions
    __del__ = lambda self: None

    def GetLabelStyle(self) -> "unsigned int":
        """GetLabelStyle(OEPeptideDisplayOptions self) -> unsigned int"""
        return _oegrapheme.OEPeptideDisplayOptions_GetLabelStyle(self)


    def SetLabelStyle(self, style: 'unsigned int') -> "void":
        """SetLabelStyle(OEPeptideDisplayOptions self, unsigned int style)"""
        return _oegrapheme.OEPeptideDisplayOptions_SetLabelStyle(self, style)


    def GetInteractive(self) -> "bool":
        """GetInteractive(OEPeptideDisplayOptions self) -> bool"""
        return _oegrapheme.OEPeptideDisplayOptions_GetInteractive(self)


    def SetInteractive(self, interactive: 'bool') -> "void":
        """SetInteractive(OEPeptideDisplayOptions self, bool interactive)"""
        return _oegrapheme.OEPeptideDisplayOptions_SetInteractive(self, interactive)


    def GetAminoAcidScale(self) -> "double":
        """GetAminoAcidScale(OEPeptideDisplayOptions self) -> double"""
        return _oegrapheme.OEPeptideDisplayOptions_GetAminoAcidScale(self)


    def SetAminoAcidScale(self, scale: 'double') -> "void":
        """SetAminoAcidScale(OEPeptideDisplayOptions self, double scale)"""
        return _oegrapheme.OEPeptideDisplayOptions_SetAminoAcidScale(self, scale)

OEPeptideDisplayOptions_swigregister = _oegrapheme.OEPeptideDisplayOptions_swigregister
OEPeptideDisplayOptions_swigregister(OEPeptideDisplayOptions)


def OEDrawPeptide(*args) -> "bool":
    """
    OEDrawPeptide(OEImageBase image, OEMolBase mol) -> bool
    OEDrawPeptide(OEImageBase image, OEMolBase mol, OEPeptideDisplayOptions opts) -> bool
    """
    return _oegrapheme.OEDrawPeptide(*args)
class OEPlotMarker(object):
    """Proxy of C++ OEGrapheme::OEPlotMarker 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__(OEGrapheme::OEPlotMarker self, OEPen pen, unsigned int style, double scale=1.0) -> OEPlotMarker
        __init__(OEGrapheme::OEPlotMarker self, OEPen pen, unsigned int style) -> OEPlotMarker
        __init__(OEGrapheme::OEPlotMarker self, OEPen pen) -> OEPlotMarker
        __init__(OEGrapheme::OEPlotMarker self, OEPlotMarker arg2) -> OEPlotMarker
        """
        this = _oegrapheme.new_OEPlotMarker(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OEPlotMarker
    __del__ = lambda self: None

    def __eq__(self, arg2: 'OEPlotMarker') -> "bool":
        """__eq__(OEPlotMarker self, OEPlotMarker arg2) -> bool"""
        return _oegrapheme.OEPlotMarker___eq__(self, arg2)


    def __ne__(self, arg2: 'OEPlotMarker') -> "bool":
        """__ne__(OEPlotMarker self, OEPlotMarker arg2) -> bool"""
        return _oegrapheme.OEPlotMarker___ne__(self, arg2)


    def GetPen(self) -> "OEDepict::OEPen const &":
        """GetPen(OEPlotMarker self) -> OEPen"""
        return _oegrapheme.OEPlotMarker_GetPen(self)


    def GetStyle(self) -> "unsigned int":
        """GetStyle(OEPlotMarker self) -> unsigned int"""
        return _oegrapheme.OEPlotMarker_GetStyle(self)


    def GetScale(self) -> "double":
        """GetScale(OEPlotMarker self) -> double"""
        return _oegrapheme.OEPlotMarker_GetScale(self)

OEPlotMarker_swigregister = _oegrapheme.OEPlotMarker_swigregister
OEPlotMarker_swigregister(OEPlotMarker)

class OERamachandranPlot(object):
    """Proxy of C++ OEGrapheme::OERamachandranPlot 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__(OEGrapheme::OERamachandranPlot self) -> OERamachandranPlot
        __init__(OEGrapheme::OERamachandranPlot self, OERamachandranPlot rhs) -> OERamachandranPlot
        """
        this = _oegrapheme.new_OERamachandranPlot(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oegrapheme.delete_OERamachandranPlot
    __del__ = lambda self: None

    def NumDataPoints(self, ramatype: 'unsigned int', category: 'unsigned int') -> "unsigned int":
        """NumDataPoints(OERamachandranPlot self, unsigned int ramatype, unsigned int category) -> unsigned int"""
        return _oegrapheme.OERamachandranPlot_NumDataPoints(self, ramatype, category)


    def AddMolecule(self, *args) -> "bool":
        """
        AddMolecule(OERamachandranPlot self, OEMolBase mol) -> bool
        AddMolecule(OERamachandranPlot self, OEMolBase mol, OEPlotMarker outmarker, OEPlotMarker inmarker) -> bool
        """
        return _oegrapheme.OERamachandranPlot_AddMolecule(self, *args)


    def AddRamachandran(self, rama: 'OERamachandranAnalysis', label: 'std::string const &', marker: 'OEPlotMarker') -> "bool":
        """AddRamachandran(OERamachandranPlot self, OERamachandranAnalysis rama, std::string const & label, OEPlotMarker marker) -> bool"""
        return _oegrapheme.OERamachandranPlot_AddRamachandran(self, rama, label, marker)


    def GetImpl(self, *args) -> "OEGrapheme::OERamachandranPlotImpl *":
        """
        GetImpl(OERamachandranPlot self) -> OEGrapheme::OERamachandranPlotImpl const
        GetImpl(OERamachandranPlot self) -> OEGrapheme::OERamachandranPlotImpl *
        """
        return _oegrapheme.OERamachandranPlot_GetImpl(self, *args)

OERamachandranPlot_swigregister = _oegrapheme.OERamachandranPlot_swigregister
OERamachandranPlot_swigregister(OERamachandranPlot)


def OERenderRamachandranPlot(*args) -> "bool":
    """
    OERenderRamachandranPlot(OEImageBase image, OERamachandranPlot plot) -> bool
    OERenderRamachandranPlot(OEImageBase image, OERamachandranPlot plot, unsigned int ramatype) -> bool
    """
    return _oegrapheme.OERenderRamachandranPlot(*args)

def OEDrawIridiumData(*args) -> "bool":
    """
    OEDrawIridiumData(OEImageBase image, OEIridiumData iridium) -> bool
    OEDrawIridiumData(OEImageBase image, OEDesignUnit du) -> bool
    """
    return _oegrapheme.OEDrawIridiumData(*args)
OE_OEGRAPHEME_VERSION = _oegrapheme.OE_OEGRAPHEME_VERSION

def OEGraphemeGetRelease() -> "char const *":
    """OEGraphemeGetRelease() -> char const *"""
    return _oegrapheme.OEGraphemeGetRelease()

def OEGraphemeGetVersion() -> "unsigned int":
    """OEGraphemeGetVersion() -> unsigned int"""
    return _oegrapheme.OEGraphemeGetVersion()

def OEGraphemeGetArch() -> "char const *":
    """OEGraphemeGetArch() -> char const *"""
    return _oegrapheme.OEGraphemeGetArch()

def OEGraphemeGetPlatform() -> "char const *":
    """OEGraphemeGetPlatform() -> char const *"""
    return _oegrapheme.OEGraphemeGetPlatform()

def OEGraphemeIsLicensed(feature: 'char const *'=None, expdate: 'unsigned int *'=None) -> "bool":
    """
    OEGraphemeIsLicensed(char const * feature=None, unsigned int * expdate=None) -> bool
    OEGraphemeIsLicensed(char const * feature=None) -> bool
    OEGraphemeIsLicensed() -> bool
    """
    return _oegrapheme.OEGraphemeIsLicensed(feature, expdate)

def OEGraphemeGetLicensee(*args) -> "std::string":
    """
    OEGraphemeGetLicensee(std::string & licensee) -> bool
    OEGraphemeGetLicensee() -> std::string
    """
    return _oegrapheme.OEGraphemeGetLicensee(*args)

def OEGraphemeGetSite(*args) -> "std::string":
    """
    OEGraphemeGetSite(std::string & site) -> bool
    OEGraphemeGetSite() -> std::string
    """
    return _oegrapheme.OEGraphemeGetSite(*args)


