# This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.7
#
# 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
if version_info >= (3, 0, 0):
    new_instancemethod = lambda func, inst, cls: _openbabel.SWIG_PyInstanceMethod_New(func)
else:
    from new import instancemethod as new_instancemethod
if version_info >= (2, 6, 0):
    def swig_import_helper():
        from os.path import dirname
        import imp
        fp = None
        try:
            fp, pathname, description = imp.find_module('_openbabel', [dirname(__file__)])
        except ImportError:
            import _openbabel
            return _openbabel
        if fp is not None:
            try:
                _mod = imp.load_module('_openbabel', fp, pathname, description)
            finally:
                fp.close()
            return _mod
    _openbabel = swig_import_helper()
    del swig_import_helper
else:
    import _openbabel
del version_info
try:
    _swig_property = property
except NameError:
    pass  # Python < 2.2 doesn't have 'property'.


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_nondynamic(self, class_type, name, static=1):
    if (name == "thisown"):
        return self.this.own()
    method = class_type.__swig_getmethods__.get(name, None)
    if method:
        return method(self)
    if (not static):
        return object.__getattr__(self, name)
    else:
        raise AttributeError(name)

def _swig_getattr(self, class_type, name):
    return _swig_getattr_nondynamic(self, class_type, name, 0)


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

try:
    _object = object
    _newclass = 1
except AttributeError:
    class _object:
        pass
    _newclass = 0



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


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

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

class vectorInt(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __iter__(self):
        return self.iterator()

    def __init__(self, *args):
        _openbabel.vectorInt_swiginit(self, _openbabel.new_vectorInt(*args))
    __swig_destroy__ = _openbabel.delete_vectorInt
vectorInt.iterator = new_instancemethod(_openbabel.vectorInt_iterator, None, vectorInt)
vectorInt.__nonzero__ = new_instancemethod(_openbabel.vectorInt___nonzero__, None, vectorInt)
vectorInt.__bool__ = new_instancemethod(_openbabel.vectorInt___bool__, None, vectorInt)
vectorInt.__len__ = new_instancemethod(_openbabel.vectorInt___len__, None, vectorInt)
vectorInt.__getslice__ = new_instancemethod(_openbabel.vectorInt___getslice__, None, vectorInt)
vectorInt.__setslice__ = new_instancemethod(_openbabel.vectorInt___setslice__, None, vectorInt)
vectorInt.__delslice__ = new_instancemethod(_openbabel.vectorInt___delslice__, None, vectorInt)
vectorInt.__delitem__ = new_instancemethod(_openbabel.vectorInt___delitem__, None, vectorInt)
vectorInt.__getitem__ = new_instancemethod(_openbabel.vectorInt___getitem__, None, vectorInt)
vectorInt.__setitem__ = new_instancemethod(_openbabel.vectorInt___setitem__, None, vectorInt)
vectorInt_swigregister = _openbabel.vectorInt_swigregister
vectorInt_swigregister(vectorInt)

class vectorUnsignedInt(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __iter__(self):
        return self.iterator()

    def __init__(self, *args):
        _openbabel.vectorUnsignedInt_swiginit(self, _openbabel.new_vectorUnsignedInt(*args))
    __swig_destroy__ = _openbabel.delete_vectorUnsignedInt
vectorUnsignedInt.iterator = new_instancemethod(_openbabel.vectorUnsignedInt_iterator, None, vectorUnsignedInt)
vectorUnsignedInt.__nonzero__ = new_instancemethod(_openbabel.vectorUnsignedInt___nonzero__, None, vectorUnsignedInt)
vectorUnsignedInt.__bool__ = new_instancemethod(_openbabel.vectorUnsignedInt___bool__, None, vectorUnsignedInt)
vectorUnsignedInt.__len__ = new_instancemethod(_openbabel.vectorUnsignedInt___len__, None, vectorUnsignedInt)
vectorUnsignedInt.__getslice__ = new_instancemethod(_openbabel.vectorUnsignedInt___getslice__, None, vectorUnsignedInt)
vectorUnsignedInt.__setslice__ = new_instancemethod(_openbabel.vectorUnsignedInt___setslice__, None, vectorUnsignedInt)
vectorUnsignedInt.__delslice__ = new_instancemethod(_openbabel.vectorUnsignedInt___delslice__, None, vectorUnsignedInt)
vectorUnsignedInt.__delitem__ = new_instancemethod(_openbabel.vectorUnsignedInt___delitem__, None, vectorUnsignedInt)
vectorUnsignedInt.__getitem__ = new_instancemethod(_openbabel.vectorUnsignedInt___getitem__, None, vectorUnsignedInt)
vectorUnsignedInt.__setitem__ = new_instancemethod(_openbabel.vectorUnsignedInt___setitem__, None, vectorUnsignedInt)
vectorUnsignedInt_swigregister = _openbabel.vectorUnsignedInt_swigregister
vectorUnsignedInt_swigregister(vectorUnsignedInt)

class vectorvInt(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __iter__(self):
        return self.iterator()

    def __init__(self, *args):
        _openbabel.vectorvInt_swiginit(self, _openbabel.new_vectorvInt(*args))
    __swig_destroy__ = _openbabel.delete_vectorvInt
vectorvInt.iterator = new_instancemethod(_openbabel.vectorvInt_iterator, None, vectorvInt)
vectorvInt.__nonzero__ = new_instancemethod(_openbabel.vectorvInt___nonzero__, None, vectorvInt)
vectorvInt.__bool__ = new_instancemethod(_openbabel.vectorvInt___bool__, None, vectorvInt)
vectorvInt.__len__ = new_instancemethod(_openbabel.vectorvInt___len__, None, vectorvInt)
vectorvInt.__getslice__ = new_instancemethod(_openbabel.vectorvInt___getslice__, None, vectorvInt)
vectorvInt.__setslice__ = new_instancemethod(_openbabel.vectorvInt___setslice__, None, vectorvInt)
vectorvInt.__delslice__ = new_instancemethod(_openbabel.vectorvInt___delslice__, None, vectorvInt)
vectorvInt.__delitem__ = new_instancemethod(_openbabel.vectorvInt___delitem__, None, vectorvInt)
vectorvInt.__getitem__ = new_instancemethod(_openbabel.vectorvInt___getitem__, None, vectorvInt)
vectorvInt.__setitem__ = new_instancemethod(_openbabel.vectorvInt___setitem__, None, vectorvInt)
vectorvInt_swigregister = _openbabel.vectorvInt_swigregister
vectorvInt_swigregister(vectorvInt)

class vectorDouble(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __iter__(self):
        return self.iterator()

    def __init__(self, *args):
        _openbabel.vectorDouble_swiginit(self, _openbabel.new_vectorDouble(*args))
    __swig_destroy__ = _openbabel.delete_vectorDouble
vectorDouble.iterator = new_instancemethod(_openbabel.vectorDouble_iterator, None, vectorDouble)
vectorDouble.__nonzero__ = new_instancemethod(_openbabel.vectorDouble___nonzero__, None, vectorDouble)
vectorDouble.__bool__ = new_instancemethod(_openbabel.vectorDouble___bool__, None, vectorDouble)
vectorDouble.__len__ = new_instancemethod(_openbabel.vectorDouble___len__, None, vectorDouble)
vectorDouble.__getslice__ = new_instancemethod(_openbabel.vectorDouble___getslice__, None, vectorDouble)
vectorDouble.__setslice__ = new_instancemethod(_openbabel.vectorDouble___setslice__, None, vectorDouble)
vectorDouble.__delslice__ = new_instancemethod(_openbabel.vectorDouble___delslice__, None, vectorDouble)
vectorDouble.__delitem__ = new_instancemethod(_openbabel.vectorDouble___delitem__, None, vectorDouble)
vectorDouble.__getitem__ = new_instancemethod(_openbabel.vectorDouble___getitem__, None, vectorDouble)
vectorDouble.__setitem__ = new_instancemethod(_openbabel.vectorDouble___setitem__, None, vectorDouble)
vectorDouble_swigregister = _openbabel.vectorDouble_swigregister
vectorDouble_swigregister(vectorDouble)

class vectorULong(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __iter__(self):
        return self.iterator()

    def __init__(self, *args):
        _openbabel.vectorULong_swiginit(self, _openbabel.new_vectorULong(*args))
    __swig_destroy__ = _openbabel.delete_vectorULong
vectorULong.iterator = new_instancemethod(_openbabel.vectorULong_iterator, None, vectorULong)
vectorULong.__nonzero__ = new_instancemethod(_openbabel.vectorULong___nonzero__, None, vectorULong)
vectorULong.__bool__ = new_instancemethod(_openbabel.vectorULong___bool__, None, vectorULong)
vectorULong.__len__ = new_instancemethod(_openbabel.vectorULong___len__, None, vectorULong)
vectorULong.__getslice__ = new_instancemethod(_openbabel.vectorULong___getslice__, None, vectorULong)
vectorULong.__setslice__ = new_instancemethod(_openbabel.vectorULong___setslice__, None, vectorULong)
vectorULong.__delslice__ = new_instancemethod(_openbabel.vectorULong___delslice__, None, vectorULong)
vectorULong.__delitem__ = new_instancemethod(_openbabel.vectorULong___delitem__, None, vectorULong)
vectorULong.__getitem__ = new_instancemethod(_openbabel.vectorULong___getitem__, None, vectorULong)
vectorULong.__setitem__ = new_instancemethod(_openbabel.vectorULong___setitem__, None, vectorULong)
vectorULong_swigregister = _openbabel.vectorULong_swigregister
vectorULong_swigregister(vectorULong)

class vectorString(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __iter__(self):
        return self.iterator()

    def __init__(self, *args):
        _openbabel.vectorString_swiginit(self, _openbabel.new_vectorString(*args))
    __swig_destroy__ = _openbabel.delete_vectorString
vectorString.iterator = new_instancemethod(_openbabel.vectorString_iterator, None, vectorString)
vectorString.__nonzero__ = new_instancemethod(_openbabel.vectorString___nonzero__, None, vectorString)
vectorString.__bool__ = new_instancemethod(_openbabel.vectorString___bool__, None, vectorString)
vectorString.__len__ = new_instancemethod(_openbabel.vectorString___len__, None, vectorString)
vectorString.__getslice__ = new_instancemethod(_openbabel.vectorString___getslice__, None, vectorString)
vectorString.__setslice__ = new_instancemethod(_openbabel.vectorString___setslice__, None, vectorString)
vectorString.__delslice__ = new_instancemethod(_openbabel.vectorString___delslice__, None, vectorString)
vectorString.__delitem__ = new_instancemethod(_openbabel.vectorString___delitem__, None, vectorString)
vectorString.__getitem__ = new_instancemethod(_openbabel.vectorString___getitem__, None, vectorString)
vectorString.__setitem__ = new_instancemethod(_openbabel.vectorString___setitem__, None, vectorString)
vectorString_swigregister = _openbabel.vectorString_swigregister
vectorString_swigregister(vectorString)

class vectorVector3(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __iter__(self):
        return self.iterator()

    def __init__(self, *args):
        _openbabel.vectorVector3_swiginit(self, _openbabel.new_vectorVector3(*args))
    __swig_destroy__ = _openbabel.delete_vectorVector3
vectorVector3.iterator = new_instancemethod(_openbabel.vectorVector3_iterator, None, vectorVector3)
vectorVector3.__nonzero__ = new_instancemethod(_openbabel.vectorVector3___nonzero__, None, vectorVector3)
vectorVector3.__bool__ = new_instancemethod(_openbabel.vectorVector3___bool__, None, vectorVector3)
vectorVector3.__len__ = new_instancemethod(_openbabel.vectorVector3___len__, None, vectorVector3)
vectorVector3.__getslice__ = new_instancemethod(_openbabel.vectorVector3___getslice__, None, vectorVector3)
vectorVector3.__setslice__ = new_instancemethod(_openbabel.vectorVector3___setslice__, None, vectorVector3)
vectorVector3.__delslice__ = new_instancemethod(_openbabel.vectorVector3___delslice__, None, vectorVector3)
vectorVector3.__delitem__ = new_instancemethod(_openbabel.vectorVector3___delitem__, None, vectorVector3)
vectorVector3.__getitem__ = new_instancemethod(_openbabel.vectorVector3___getitem__, None, vectorVector3)
vectorVector3.__setitem__ = new_instancemethod(_openbabel.vectorVector3___setitem__, None, vectorVector3)
vectorVector3_swigregister = _openbabel.vectorVector3_swigregister
vectorVector3_swigregister(vectorVector3)

class vectorvVector3(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __iter__(self):
        return self.iterator()

    def __init__(self, *args):
        _openbabel.vectorvVector3_swiginit(self, _openbabel.new_vectorvVector3(*args))
    __swig_destroy__ = _openbabel.delete_vectorvVector3
vectorvVector3.iterator = new_instancemethod(_openbabel.vectorvVector3_iterator, None, vectorvVector3)
vectorvVector3.__nonzero__ = new_instancemethod(_openbabel.vectorvVector3___nonzero__, None, vectorvVector3)
vectorvVector3.__bool__ = new_instancemethod(_openbabel.vectorvVector3___bool__, None, vectorvVector3)
vectorvVector3.__len__ = new_instancemethod(_openbabel.vectorvVector3___len__, None, vectorvVector3)
vectorvVector3.__getslice__ = new_instancemethod(_openbabel.vectorvVector3___getslice__, None, vectorvVector3)
vectorvVector3.__setslice__ = new_instancemethod(_openbabel.vectorvVector3___setslice__, None, vectorvVector3)
vectorvVector3.__delslice__ = new_instancemethod(_openbabel.vectorvVector3___delslice__, None, vectorvVector3)
vectorvVector3.__delitem__ = new_instancemethod(_openbabel.vectorvVector3___delitem__, None, vectorvVector3)
vectorvVector3.__getitem__ = new_instancemethod(_openbabel.vectorvVector3___getitem__, None, vectorvVector3)
vectorvVector3.__setitem__ = new_instancemethod(_openbabel.vectorvVector3___setitem__, None, vectorvVector3)
vectorvVector3_swigregister = _openbabel.vectorvVector3_swigregister
vectorvVector3_swigregister(vectorvVector3)

class vectorOBMol(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __iter__(self):
        return self.iterator()

    def __init__(self, *args):
        _openbabel.vectorOBMol_swiginit(self, _openbabel.new_vectorOBMol(*args))
    __swig_destroy__ = _openbabel.delete_vectorOBMol
vectorOBMol.iterator = new_instancemethod(_openbabel.vectorOBMol_iterator, None, vectorOBMol)
vectorOBMol.__nonzero__ = new_instancemethod(_openbabel.vectorOBMol___nonzero__, None, vectorOBMol)
vectorOBMol.__bool__ = new_instancemethod(_openbabel.vectorOBMol___bool__, None, vectorOBMol)
vectorOBMol.__len__ = new_instancemethod(_openbabel.vectorOBMol___len__, None, vectorOBMol)
vectorOBMol.__getslice__ = new_instancemethod(_openbabel.vectorOBMol___getslice__, None, vectorOBMol)
vectorOBMol.__setslice__ = new_instancemethod(_openbabel.vectorOBMol___setslice__, None, vectorOBMol)
vectorOBMol.__delslice__ = new_instancemethod(_openbabel.vectorOBMol___delslice__, None, vectorOBMol)
vectorOBMol.__delitem__ = new_instancemethod(_openbabel.vectorOBMol___delitem__, None, vectorOBMol)
vectorOBMol.__getitem__ = new_instancemethod(_openbabel.vectorOBMol___getitem__, None, vectorOBMol)
vectorOBMol.__setitem__ = new_instancemethod(_openbabel.vectorOBMol___setitem__, None, vectorOBMol)
vectorOBMol_swigregister = _openbabel.vectorOBMol_swigregister
vectorOBMol_swigregister(vectorOBMol)

class vectorOBBond(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __iter__(self):
        return self.iterator()

    def __init__(self, *args):
        _openbabel.vectorOBBond_swiginit(self, _openbabel.new_vectorOBBond(*args))
    __swig_destroy__ = _openbabel.delete_vectorOBBond
vectorOBBond.iterator = new_instancemethod(_openbabel.vectorOBBond_iterator, None, vectorOBBond)
vectorOBBond.__nonzero__ = new_instancemethod(_openbabel.vectorOBBond___nonzero__, None, vectorOBBond)
vectorOBBond.__bool__ = new_instancemethod(_openbabel.vectorOBBond___bool__, None, vectorOBBond)
vectorOBBond.__len__ = new_instancemethod(_openbabel.vectorOBBond___len__, None, vectorOBBond)
vectorOBBond.__getslice__ = new_instancemethod(_openbabel.vectorOBBond___getslice__, None, vectorOBBond)
vectorOBBond.__setslice__ = new_instancemethod(_openbabel.vectorOBBond___setslice__, None, vectorOBBond)
vectorOBBond.__delslice__ = new_instancemethod(_openbabel.vectorOBBond___delslice__, None, vectorOBBond)
vectorOBBond.__delitem__ = new_instancemethod(_openbabel.vectorOBBond___delitem__, None, vectorOBBond)
vectorOBBond.__getitem__ = new_instancemethod(_openbabel.vectorOBBond___getitem__, None, vectorOBBond)
vectorOBBond.__setitem__ = new_instancemethod(_openbabel.vectorOBBond___setitem__, None, vectorOBBond)
vectorOBBond_swigregister = _openbabel.vectorOBBond_swigregister
vectorOBBond_swigregister(vectorOBBond)

class vectorOBResidue(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __iter__(self):
        return self.iterator()

    def __init__(self, *args):
        _openbabel.vectorOBResidue_swiginit(self, _openbabel.new_vectorOBResidue(*args))
    __swig_destroy__ = _openbabel.delete_vectorOBResidue
vectorOBResidue.iterator = new_instancemethod(_openbabel.vectorOBResidue_iterator, None, vectorOBResidue)
vectorOBResidue.__nonzero__ = new_instancemethod(_openbabel.vectorOBResidue___nonzero__, None, vectorOBResidue)
vectorOBResidue.__bool__ = new_instancemethod(_openbabel.vectorOBResidue___bool__, None, vectorOBResidue)
vectorOBResidue.__len__ = new_instancemethod(_openbabel.vectorOBResidue___len__, None, vectorOBResidue)
vectorOBResidue.__getslice__ = new_instancemethod(_openbabel.vectorOBResidue___getslice__, None, vectorOBResidue)
vectorOBResidue.__setslice__ = new_instancemethod(_openbabel.vectorOBResidue___setslice__, None, vectorOBResidue)
vectorOBResidue.__delslice__ = new_instancemethod(_openbabel.vectorOBResidue___delslice__, None, vectorOBResidue)
vectorOBResidue.__delitem__ = new_instancemethod(_openbabel.vectorOBResidue___delitem__, None, vectorOBResidue)
vectorOBResidue.__getitem__ = new_instancemethod(_openbabel.vectorOBResidue___getitem__, None, vectorOBResidue)
vectorOBResidue.__setitem__ = new_instancemethod(_openbabel.vectorOBResidue___setitem__, None, vectorOBResidue)
vectorOBResidue_swigregister = _openbabel.vectorOBResidue_swigregister
vectorOBResidue_swigregister(vectorOBResidue)

class vectorOBRing(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __iter__(self):
        return self.iterator()

    def __init__(self, *args):
        _openbabel.vectorOBRing_swiginit(self, _openbabel.new_vectorOBRing(*args))
    __swig_destroy__ = _openbabel.delete_vectorOBRing
vectorOBRing.iterator = new_instancemethod(_openbabel.vectorOBRing_iterator, None, vectorOBRing)
vectorOBRing.__nonzero__ = new_instancemethod(_openbabel.vectorOBRing___nonzero__, None, vectorOBRing)
vectorOBRing.__bool__ = new_instancemethod(_openbabel.vectorOBRing___bool__, None, vectorOBRing)
vectorOBRing.__len__ = new_instancemethod(_openbabel.vectorOBRing___len__, None, vectorOBRing)
vectorOBRing.__getslice__ = new_instancemethod(_openbabel.vectorOBRing___getslice__, None, vectorOBRing)
vectorOBRing.__setslice__ = new_instancemethod(_openbabel.vectorOBRing___setslice__, None, vectorOBRing)
vectorOBRing.__delslice__ = new_instancemethod(_openbabel.vectorOBRing___delslice__, None, vectorOBRing)
vectorOBRing.__delitem__ = new_instancemethod(_openbabel.vectorOBRing___delitem__, None, vectorOBRing)
vectorOBRing.__getitem__ = new_instancemethod(_openbabel.vectorOBRing___getitem__, None, vectorOBRing)
vectorOBRing.__setitem__ = new_instancemethod(_openbabel.vectorOBRing___setitem__, None, vectorOBRing)
vectorOBRing_swigregister = _openbabel.vectorOBRing_swigregister
vectorOBRing_swigregister(vectorOBRing)

class vectorpOBRing(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __iter__(self):
        return self.iterator()

    def __init__(self, *args):
        _openbabel.vectorpOBRing_swiginit(self, _openbabel.new_vectorpOBRing(*args))
    __swig_destroy__ = _openbabel.delete_vectorpOBRing
vectorpOBRing.iterator = new_instancemethod(_openbabel.vectorpOBRing_iterator, None, vectorpOBRing)
vectorpOBRing.__nonzero__ = new_instancemethod(_openbabel.vectorpOBRing___nonzero__, None, vectorpOBRing)
vectorpOBRing.__bool__ = new_instancemethod(_openbabel.vectorpOBRing___bool__, None, vectorpOBRing)
vectorpOBRing.__len__ = new_instancemethod(_openbabel.vectorpOBRing___len__, None, vectorpOBRing)
vectorpOBRing.__getslice__ = new_instancemethod(_openbabel.vectorpOBRing___getslice__, None, vectorpOBRing)
vectorpOBRing.__setslice__ = new_instancemethod(_openbabel.vectorpOBRing___setslice__, None, vectorpOBRing)
vectorpOBRing.__delslice__ = new_instancemethod(_openbabel.vectorpOBRing___delslice__, None, vectorpOBRing)
vectorpOBRing.__delitem__ = new_instancemethod(_openbabel.vectorpOBRing___delitem__, None, vectorpOBRing)
vectorpOBRing.__getitem__ = new_instancemethod(_openbabel.vectorpOBRing___getitem__, None, vectorpOBRing)
vectorpOBRing.__setitem__ = new_instancemethod(_openbabel.vectorpOBRing___setitem__, None, vectorpOBRing)
vectorpOBRing_swigregister = _openbabel.vectorpOBRing_swigregister
vectorpOBRing_swigregister(vectorpOBRing)

class vectorpOBGenericData(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __iter__(self):
        return self.iterator()

    def __init__(self, *args):
        _openbabel.vectorpOBGenericData_swiginit(self, _openbabel.new_vectorpOBGenericData(*args))
    __swig_destroy__ = _openbabel.delete_vectorpOBGenericData
vectorpOBGenericData.iterator = new_instancemethod(_openbabel.vectorpOBGenericData_iterator, None, vectorpOBGenericData)
vectorpOBGenericData.__nonzero__ = new_instancemethod(_openbabel.vectorpOBGenericData___nonzero__, None, vectorpOBGenericData)
vectorpOBGenericData.__bool__ = new_instancemethod(_openbabel.vectorpOBGenericData___bool__, None, vectorpOBGenericData)
vectorpOBGenericData.__len__ = new_instancemethod(_openbabel.vectorpOBGenericData___len__, None, vectorpOBGenericData)
vectorpOBGenericData.__getslice__ = new_instancemethod(_openbabel.vectorpOBGenericData___getslice__, None, vectorpOBGenericData)
vectorpOBGenericData.__setslice__ = new_instancemethod(_openbabel.vectorpOBGenericData___setslice__, None, vectorpOBGenericData)
vectorpOBGenericData.__delslice__ = new_instancemethod(_openbabel.vectorpOBGenericData___delslice__, None, vectorpOBGenericData)
vectorpOBGenericData.__delitem__ = new_instancemethod(_openbabel.vectorpOBGenericData___delitem__, None, vectorpOBGenericData)
vectorpOBGenericData.__getitem__ = new_instancemethod(_openbabel.vectorpOBGenericData___getitem__, None, vectorpOBGenericData)
vectorpOBGenericData.__setitem__ = new_instancemethod(_openbabel.vectorpOBGenericData___setitem__, None, vectorpOBGenericData)
vectorpOBGenericData_swigregister = _openbabel.vectorpOBGenericData_swigregister
vectorpOBGenericData_swigregister(vectorpOBGenericData)

class vectorpOBInternalCoord(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __iter__(self):
        return self.iterator()

    def __init__(self, *args):
        _openbabel.vectorpOBInternalCoord_swiginit(self, _openbabel.new_vectorpOBInternalCoord(*args))
    __swig_destroy__ = _openbabel.delete_vectorpOBInternalCoord
vectorpOBInternalCoord.iterator = new_instancemethod(_openbabel.vectorpOBInternalCoord_iterator, None, vectorpOBInternalCoord)
vectorpOBInternalCoord.__nonzero__ = new_instancemethod(_openbabel.vectorpOBInternalCoord___nonzero__, None, vectorpOBInternalCoord)
vectorpOBInternalCoord.__bool__ = new_instancemethod(_openbabel.vectorpOBInternalCoord___bool__, None, vectorpOBInternalCoord)
vectorpOBInternalCoord.__len__ = new_instancemethod(_openbabel.vectorpOBInternalCoord___len__, None, vectorpOBInternalCoord)
vectorpOBInternalCoord.__getslice__ = new_instancemethod(_openbabel.vectorpOBInternalCoord___getslice__, None, vectorpOBInternalCoord)
vectorpOBInternalCoord.__setslice__ = new_instancemethod(_openbabel.vectorpOBInternalCoord___setslice__, None, vectorpOBInternalCoord)
vectorpOBInternalCoord.__delslice__ = new_instancemethod(_openbabel.vectorpOBInternalCoord___delslice__, None, vectorpOBInternalCoord)
vectorpOBInternalCoord.__delitem__ = new_instancemethod(_openbabel.vectorpOBInternalCoord___delitem__, None, vectorpOBInternalCoord)
vectorpOBInternalCoord.__getitem__ = new_instancemethod(_openbabel.vectorpOBInternalCoord___getitem__, None, vectorpOBInternalCoord)
vectorpOBInternalCoord.__setitem__ = new_instancemethod(_openbabel.vectorpOBInternalCoord___setitem__, None, vectorpOBInternalCoord)
vectorpOBInternalCoord_swigregister = _openbabel.vectorpOBInternalCoord_swigregister
vectorpOBInternalCoord_swigregister(vectorpOBInternalCoord)

class pairUIntUInt(object):
    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):
        _openbabel.pairUIntUInt_swiginit(self, _openbabel.new_pairUIntUInt(*args))
    first = _swig_property(_openbabel.pairUIntUInt_first_get, _openbabel.pairUIntUInt_first_set)
    second = _swig_property(_openbabel.pairUIntUInt_second_get, _openbabel.pairUIntUInt_second_set)
    def __len__(self):
        return 2
    def __repr__(self):
        return str((self.first, self.second))
    def __getitem__(self, index): 
        if not (index % 2):
            return self.first
        else:
            return self.second
    def __setitem__(self, index, val):
        if not (index % 2):
            self.first = val
        else:
            self.second = val
    __swig_destroy__ = _openbabel.delete_pairUIntUInt
pairUIntUInt_swigregister = _openbabel.pairUIntUInt_swigregister
pairUIntUInt_swigregister(pairUIntUInt)

class vpairUIntUInt(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __iter__(self):
        return self.iterator()

    def __init__(self, *args):
        _openbabel.vpairUIntUInt_swiginit(self, _openbabel.new_vpairUIntUInt(*args))
    __swig_destroy__ = _openbabel.delete_vpairUIntUInt
vpairUIntUInt.iterator = new_instancemethod(_openbabel.vpairUIntUInt_iterator, None, vpairUIntUInt)
vpairUIntUInt.__nonzero__ = new_instancemethod(_openbabel.vpairUIntUInt___nonzero__, None, vpairUIntUInt)
vpairUIntUInt.__bool__ = new_instancemethod(_openbabel.vpairUIntUInt___bool__, None, vpairUIntUInt)
vpairUIntUInt.__len__ = new_instancemethod(_openbabel.vpairUIntUInt___len__, None, vpairUIntUInt)
vpairUIntUInt.__getslice__ = new_instancemethod(_openbabel.vpairUIntUInt___getslice__, None, vpairUIntUInt)
vpairUIntUInt.__setslice__ = new_instancemethod(_openbabel.vpairUIntUInt___setslice__, None, vpairUIntUInt)
vpairUIntUInt.__delslice__ = new_instancemethod(_openbabel.vpairUIntUInt___delslice__, None, vpairUIntUInt)
vpairUIntUInt.__delitem__ = new_instancemethod(_openbabel.vpairUIntUInt___delitem__, None, vpairUIntUInt)
vpairUIntUInt.__getitem__ = new_instancemethod(_openbabel.vpairUIntUInt___getitem__, None, vpairUIntUInt)
vpairUIntUInt.__setitem__ = new_instancemethod(_openbabel.vpairUIntUInt___setitem__, None, vpairUIntUInt)
vpairUIntUInt_swigregister = _openbabel.vpairUIntUInt_swigregister
vpairUIntUInt_swigregister(vpairUIntUInt)

class vvpairUIntUInt(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    def __iter__(self):
        return self.iterator()

    def __init__(self, *args):
        _openbabel.vvpairUIntUInt_swiginit(self, _openbabel.new_vvpairUIntUInt(*args))
    __swig_destroy__ = _openbabel.delete_vvpairUIntUInt
vvpairUIntUInt.iterator = new_instancemethod(_openbabel.vvpairUIntUInt_iterator, None, vvpairUIntUInt)
vvpairUIntUInt.__nonzero__ = new_instancemethod(_openbabel.vvpairUIntUInt___nonzero__, None, vvpairUIntUInt)
vvpairUIntUInt.__bool__ = new_instancemethod(_openbabel.vvpairUIntUInt___bool__, None, vvpairUIntUInt)
vvpairUIntUInt.__len__ = new_instancemethod(_openbabel.vvpairUIntUInt___len__, None, vvpairUIntUInt)
vvpairUIntUInt.pop = new_instancemethod(_openbabel.vvpairUIntUInt_pop, None, vvpairUIntUInt)
vvpairUIntUInt.__getslice__ = new_instancemethod(_openbabel.vvpairUIntUInt___getslice__, None, vvpairUIntUInt)
vvpairUIntUInt.__setslice__ = new_instancemethod(_openbabel.vvpairUIntUInt___setslice__, None, vvpairUIntUInt)
vvpairUIntUInt.__delslice__ = new_instancemethod(_openbabel.vvpairUIntUInt___delslice__, None, vvpairUIntUInt)
vvpairUIntUInt.__delitem__ = new_instancemethod(_openbabel.vvpairUIntUInt___delitem__, None, vvpairUIntUInt)
vvpairUIntUInt.__getitem__ = new_instancemethod(_openbabel.vvpairUIntUInt___getitem__, None, vvpairUIntUInt)
vvpairUIntUInt.__setitem__ = new_instancemethod(_openbabel.vvpairUIntUInt___setitem__, None, vvpairUIntUInt)
vvpairUIntUInt.append = new_instancemethod(_openbabel.vvpairUIntUInt_append, None, vvpairUIntUInt)
vvpairUIntUInt.empty = new_instancemethod(_openbabel.vvpairUIntUInt_empty, None, vvpairUIntUInt)
vvpairUIntUInt.size = new_instancemethod(_openbabel.vvpairUIntUInt_size, None, vvpairUIntUInt)
vvpairUIntUInt.clear = new_instancemethod(_openbabel.vvpairUIntUInt_clear, None, vvpairUIntUInt)
vvpairUIntUInt.swap = new_instancemethod(_openbabel.vvpairUIntUInt_swap, None, vvpairUIntUInt)
vvpairUIntUInt.get_allocator = new_instancemethod(_openbabel.vvpairUIntUInt_get_allocator, None, vvpairUIntUInt)
vvpairUIntUInt.begin = new_instancemethod(_openbabel.vvpairUIntUInt_begin, None, vvpairUIntUInt)
vvpairUIntUInt.end = new_instancemethod(_openbabel.vvpairUIntUInt_end, None, vvpairUIntUInt)
vvpairUIntUInt.rbegin = new_instancemethod(_openbabel.vvpairUIntUInt_rbegin, None, vvpairUIntUInt)
vvpairUIntUInt.rend = new_instancemethod(_openbabel.vvpairUIntUInt_rend, None, vvpairUIntUInt)
vvpairUIntUInt.pop_back = new_instancemethod(_openbabel.vvpairUIntUInt_pop_back, None, vvpairUIntUInt)
vvpairUIntUInt.erase = new_instancemethod(_openbabel.vvpairUIntUInt_erase, None, vvpairUIntUInt)
vvpairUIntUInt.push_back = new_instancemethod(_openbabel.vvpairUIntUInt_push_back, None, vvpairUIntUInt)
vvpairUIntUInt.front = new_instancemethod(_openbabel.vvpairUIntUInt_front, None, vvpairUIntUInt)
vvpairUIntUInt.back = new_instancemethod(_openbabel.vvpairUIntUInt_back, None, vvpairUIntUInt)
vvpairUIntUInt.assign = new_instancemethod(_openbabel.vvpairUIntUInt_assign, None, vvpairUIntUInt)
vvpairUIntUInt.resize = new_instancemethod(_openbabel.vvpairUIntUInt_resize, None, vvpairUIntUInt)
vvpairUIntUInt.insert = new_instancemethod(_openbabel.vvpairUIntUInt_insert, None, vvpairUIntUInt)
vvpairUIntUInt.reserve = new_instancemethod(_openbabel.vvpairUIntUInt_reserve, None, vvpairUIntUInt)
vvpairUIntUInt.capacity = new_instancemethod(_openbabel.vvpairUIntUInt_capacity, None, vvpairUIntUInt)
vvpairUIntUInt_swigregister = _openbabel.vvpairUIntUInt_swigregister
vvpairUIntUInt_swigregister(vvpairUIntUInt)


def toAliasData(data: 'OBGenericData') -> "OpenBabel::AliasData *":
    return _openbabel.toAliasData(data)
toAliasData = _openbabel.toAliasData

def toAngleData(data: 'OBGenericData') -> "OpenBabel::OBAngleData *":
    return _openbabel.toAngleData(data)
toAngleData = _openbabel.toAngleData

def toAtomClassData(data: 'OBGenericData') -> "OpenBabel::OBAtomClassData *":
    return _openbabel.toAtomClassData(data)
toAtomClassData = _openbabel.toAtomClassData

def toChiralData(data: 'OBGenericData') -> "OpenBabel::OBChiralData *":
    return _openbabel.toChiralData(data)
toChiralData = _openbabel.toChiralData

def toCommentData(data: 'OBGenericData') -> "OpenBabel::OBCommentData *":
    return _openbabel.toCommentData(data)
toCommentData = _openbabel.toCommentData

def toConformerData(data: 'OBGenericData') -> "OpenBabel::OBConformerData *":
    return _openbabel.toConformerData(data)
toConformerData = _openbabel.toConformerData

def toExternalBondData(data: 'OBGenericData') -> "OpenBabel::OBExternalBondData *":
    return _openbabel.toExternalBondData(data)
toExternalBondData = _openbabel.toExternalBondData

def toGridData(data: 'OBGenericData') -> "OpenBabel::OBGridData *":
    return _openbabel.toGridData(data)
toGridData = _openbabel.toGridData

def toMatrixData(data: 'OBGenericData') -> "OpenBabel::OBMatrixData *":
    return _openbabel.toMatrixData(data)
toMatrixData = _openbabel.toMatrixData

def toNasaThermoData(data: 'OBGenericData') -> "OpenBabel::OBNasaThermoData *":
    return _openbabel.toNasaThermoData(data)
toNasaThermoData = _openbabel.toNasaThermoData

def toPairData(data: 'OBGenericData') -> "OpenBabel::OBPairData *":
    return _openbabel.toPairData(data)
toPairData = _openbabel.toPairData

def toRateData(data: 'OBGenericData') -> "OpenBabel::OBRateData *":
    return _openbabel.toRateData(data)
toRateData = _openbabel.toRateData

def toRotamerList(data: 'OBGenericData') -> "OpenBabel::OBRotamerList *":
    return _openbabel.toRotamerList(data)
toRotamerList = _openbabel.toRotamerList

def toRotationData(data: 'OBGenericData') -> "OpenBabel::OBRotationData *":
    return _openbabel.toRotationData(data)
toRotationData = _openbabel.toRotationData

def toSerialNums(data: 'OBGenericData') -> "OpenBabel::OBSerialNums *":
    return _openbabel.toSerialNums(data)
toSerialNums = _openbabel.toSerialNums

def toSetData(data: 'OBGenericData') -> "OpenBabel::OBSetData *":
    return _openbabel.toSetData(data)
toSetData = _openbabel.toSetData

def toSymmetryData(data: 'OBGenericData') -> "OpenBabel::OBSymmetryData *":
    return _openbabel.toSymmetryData(data)
toSymmetryData = _openbabel.toSymmetryData

def toTorsionData(data: 'OBGenericData') -> "OpenBabel::OBTorsionData *":
    return _openbabel.toTorsionData(data)
toTorsionData = _openbabel.toTorsionData

def toUnitCell(data: 'OBGenericData') -> "OpenBabel::OBUnitCell *":
    return _openbabel.toUnitCell(data)
toUnitCell = _openbabel.toUnitCell

def toVectorData(data: 'OBGenericData') -> "OpenBabel::OBVectorData *":
    return _openbabel.toVectorData(data)
toVectorData = _openbabel.toVectorData

def toVibrationData(data: 'OBGenericData') -> "OpenBabel::OBVibrationData *":
    return _openbabel.toVibrationData(data)
toVibrationData = _openbabel.toVibrationData

def toVirtualBond(data: 'OBGenericData') -> "OpenBabel::OBVirtualBond *":
    return _openbabel.toVirtualBond(data)
toVirtualBond = _openbabel.toVirtualBond

def toTetrahedralStereo(data: 'OBGenericData') -> "OpenBabel::OBTetrahedralStereo *":
    return _openbabel.toTetrahedralStereo(data)
toTetrahedralStereo = _openbabel.toTetrahedralStereo

def toCisTransStereo(data: 'OBGenericData') -> "OpenBabel::OBCisTransStereo *":
    return _openbabel.toCisTransStereo(data)
toCisTransStereo = _openbabel.toCisTransStereo

def toSquarePlanarStereo(data: 'OBGenericData') -> "OpenBabel::OBSquarePlanarStereo *":
    return _openbabel.toSquarePlanarStereo(data)
toSquarePlanarStereo = _openbabel.toSquarePlanarStereo
class OBGlobalDataBase(object):
    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):
        _openbabel.OBGlobalDataBase_swiginit(self, _openbabel.new_OBGlobalDataBase())
    __swig_destroy__ = _openbabel.delete_OBGlobalDataBase
OBGlobalDataBase.Init = new_instancemethod(_openbabel.OBGlobalDataBase_Init, None, OBGlobalDataBase)
OBGlobalDataBase.GetSize = new_instancemethod(_openbabel.OBGlobalDataBase_GetSize, None, OBGlobalDataBase)
OBGlobalDataBase.SetReadDirectory = new_instancemethod(_openbabel.OBGlobalDataBase_SetReadDirectory, None, OBGlobalDataBase)
OBGlobalDataBase.SetEnvironmentVariable = new_instancemethod(_openbabel.OBGlobalDataBase_SetEnvironmentVariable, None, OBGlobalDataBase)
OBGlobalDataBase.ParseLine = new_instancemethod(_openbabel.OBGlobalDataBase_ParseLine, None, OBGlobalDataBase)
OBGlobalDataBase_swigregister = _openbabel.OBGlobalDataBase_swigregister
OBGlobalDataBase_swigregister(OBGlobalDataBase)

class OBElement(object):
    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):
        _openbabel.OBElement_swiginit(self, _openbabel.new_OBElement(*args))
    __swig_destroy__ = _openbabel.delete_OBElement
OBElement.GetAtomicNum = new_instancemethod(_openbabel.OBElement_GetAtomicNum, None, OBElement)
OBElement.GetSymbol = new_instancemethod(_openbabel.OBElement_GetSymbol, None, OBElement)
OBElement.GetCovalentRad = new_instancemethod(_openbabel.OBElement_GetCovalentRad, None, OBElement)
OBElement.GetVdwRad = new_instancemethod(_openbabel.OBElement_GetVdwRad, None, OBElement)
OBElement.GetMass = new_instancemethod(_openbabel.OBElement_GetMass, None, OBElement)
OBElement.GetMaxBonds = new_instancemethod(_openbabel.OBElement_GetMaxBonds, None, OBElement)
OBElement.GetElectroNeg = new_instancemethod(_openbabel.OBElement_GetElectroNeg, None, OBElement)
OBElement.GetAllredRochowElectroNeg = new_instancemethod(_openbabel.OBElement_GetAllredRochowElectroNeg, None, OBElement)
OBElement.GetIonization = new_instancemethod(_openbabel.OBElement_GetIonization, None, OBElement)
OBElement.GetElectronAffinity = new_instancemethod(_openbabel.OBElement_GetElectronAffinity, None, OBElement)
OBElement.GetName = new_instancemethod(_openbabel.OBElement_GetName, None, OBElement)
OBElement.GetRed = new_instancemethod(_openbabel.OBElement_GetRed, None, OBElement)
OBElement.GetGreen = new_instancemethod(_openbabel.OBElement_GetGreen, None, OBElement)
OBElement.GetBlue = new_instancemethod(_openbabel.OBElement_GetBlue, None, OBElement)
OBElement_swigregister = _openbabel.OBElement_swigregister
OBElement_swigregister(OBElement)

class OBElementTable(OBGlobalDataBase):
    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):
        _openbabel.OBElementTable_swiginit(self, _openbabel.new_OBElementTable())
    __swig_destroy__ = _openbabel.delete_OBElementTable
OBElementTable.GetNumberOfElements = new_instancemethod(_openbabel.OBElementTable_GetNumberOfElements, None, OBElementTable)
OBElementTable.GetAtomicNum = new_instancemethod(_openbabel.OBElementTable_GetAtomicNum, None, OBElementTable)
OBElementTable.GetSymbol = new_instancemethod(_openbabel.OBElementTable_GetSymbol, None, OBElementTable)
OBElementTable.GetVdwRad = new_instancemethod(_openbabel.OBElementTable_GetVdwRad, None, OBElementTable)
OBElementTable.GetCovalentRad = new_instancemethod(_openbabel.OBElementTable_GetCovalentRad, None, OBElementTable)
OBElementTable.GetMass = new_instancemethod(_openbabel.OBElementTable_GetMass, None, OBElementTable)
OBElementTable.CorrectedBondRad = new_instancemethod(_openbabel.OBElementTable_CorrectedBondRad, None, OBElementTable)
OBElementTable.CorrectedVdwRad = new_instancemethod(_openbabel.OBElementTable_CorrectedVdwRad, None, OBElementTable)
OBElementTable.GetMaxBonds = new_instancemethod(_openbabel.OBElementTable_GetMaxBonds, None, OBElementTable)
OBElementTable.GetElectroNeg = new_instancemethod(_openbabel.OBElementTable_GetElectroNeg, None, OBElementTable)
OBElementTable.GetAllredRochowElectroNeg = new_instancemethod(_openbabel.OBElementTable_GetAllredRochowElectroNeg, None, OBElementTable)
OBElementTable.GetIonization = new_instancemethod(_openbabel.OBElementTable_GetIonization, None, OBElementTable)
OBElementTable.GetElectronAffinity = new_instancemethod(_openbabel.OBElementTable_GetElectronAffinity, None, OBElementTable)
OBElementTable.GetRGB = new_instancemethod(_openbabel.OBElementTable_GetRGB, None, OBElementTable)
OBElementTable.GetName = new_instancemethod(_openbabel.OBElementTable_GetName, None, OBElementTable)
OBElementTable_swigregister = _openbabel.OBElementTable_swigregister
OBElementTable_swigregister(OBElementTable)

class OBIsotopeTable(OBGlobalDataBase):
    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):
        _openbabel.OBIsotopeTable_swiginit(self, _openbabel.new_OBIsotopeTable())
    __swig_destroy__ = _openbabel.delete_OBIsotopeTable
OBIsotopeTable.GetExactMass = new_instancemethod(_openbabel.OBIsotopeTable_GetExactMass, None, OBIsotopeTable)
OBIsotopeTable_swigregister = _openbabel.OBIsotopeTable_swigregister
OBIsotopeTable_swigregister(OBIsotopeTable)

class OBTypeTable(OBGlobalDataBase):
    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):
        _openbabel.OBTypeTable_swiginit(self, _openbabel.new_OBTypeTable())
    __swig_destroy__ = _openbabel.delete_OBTypeTable
OBTypeTable.SetFromType = new_instancemethod(_openbabel.OBTypeTable_SetFromType, None, OBTypeTable)
OBTypeTable.SetToType = new_instancemethod(_openbabel.OBTypeTable_SetToType, None, OBTypeTable)
OBTypeTable.Translate = new_instancemethod(_openbabel.OBTypeTable_Translate, None, OBTypeTable)
OBTypeTable.GetFromType = new_instancemethod(_openbabel.OBTypeTable_GetFromType, None, OBTypeTable)
OBTypeTable.GetToType = new_instancemethod(_openbabel.OBTypeTable_GetToType, None, OBTypeTable)
OBTypeTable_swigregister = _openbabel.OBTypeTable_swigregister
OBTypeTable_swigregister(OBTypeTable)

class OBResidueData(OBGlobalDataBase):
    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):
        _openbabel.OBResidueData_swiginit(self, _openbabel.new_OBResidueData())
    __swig_destroy__ = _openbabel.delete_OBResidueData
OBResidueData.SetResName = new_instancemethod(_openbabel.OBResidueData_SetResName, None, OBResidueData)
OBResidueData.LookupBO = new_instancemethod(_openbabel.OBResidueData_LookupBO, None, OBResidueData)
OBResidueData.LookupType = new_instancemethod(_openbabel.OBResidueData_LookupType, None, OBResidueData)
OBResidueData.AssignBonds = new_instancemethod(_openbabel.OBResidueData_AssignBonds, None, OBResidueData)
OBResidueData_swigregister = _openbabel.OBResidueData_swigregister
OBResidueData_swigregister(OBResidueData)

class DoubleType(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    hi = _swig_property(_openbabel.DoubleType_hi_get, _openbabel.DoubleType_hi_set)
    lo = _swig_property(_openbabel.DoubleType_lo_get, _openbabel.DoubleType_lo_set)

    def __init__(self):
        _openbabel.DoubleType_swiginit(self, _openbabel.new_DoubleType())
    __swig_destroy__ = _openbabel.delete_DoubleType
DoubleType_swigregister = _openbabel.DoubleType_swigregister
DoubleType_swigregister(DoubleType)


def DoubleMultiply(arg1: 'unsigned int', arg2: 'unsigned int', arg3: 'DoubleType') -> "void":
    return _openbabel.DoubleMultiply(arg1, arg2, arg3)
DoubleMultiply = _openbabel.DoubleMultiply

def DoubleAdd(arg1: 'DoubleType', arg2: 'unsigned int') -> "void":
    return _openbabel.DoubleAdd(arg1, arg2)
DoubleAdd = _openbabel.DoubleAdd

def DoubleModulus(arg1: 'DoubleType', arg2: 'unsigned int') -> "unsigned int":
    return _openbabel.DoubleModulus(arg1, arg2)
DoubleModulus = _openbabel.DoubleModulus
class OBRandom(object):
    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, useSys: 'bool'=False):
        _openbabel.OBRandom_swiginit(self, _openbabel.new_OBRandom(useSys))
    __swig_destroy__ = _openbabel.delete_OBRandom
OBRandom.Seed = new_instancemethod(_openbabel.OBRandom_Seed, None, OBRandom)
OBRandom.TimeSeed = new_instancemethod(_openbabel.OBRandom_TimeSeed, None, OBRandom)
OBRandom.NextInt = new_instancemethod(_openbabel.OBRandom_NextInt, None, OBRandom)
OBRandom.NextFloat = new_instancemethod(_openbabel.OBRandom_NextFloat, None, OBRandom)
OBRandom_swigregister = _openbabel.OBRandom_swigregister
OBRandom_swigregister(OBRandom)


_openbabel.M_PI_swigconstant(_openbabel)
M_PI = _openbabel.M_PI
class OBStopwatch(object):
    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):
        _openbabel.OBStopwatch_swiginit(self, _openbabel.new_OBStopwatch())
    __swig_destroy__ = _openbabel.delete_OBStopwatch
OBStopwatch.Start = new_instancemethod(_openbabel.OBStopwatch_Start, None, OBStopwatch)
OBStopwatch.Lap = new_instancemethod(_openbabel.OBStopwatch_Lap, None, OBStopwatch)
OBStopwatch.Elapsed = new_instancemethod(_openbabel.OBStopwatch_Elapsed, None, OBStopwatch)
OBStopwatch_swigregister = _openbabel.OBStopwatch_swigregister
OBStopwatch_swigregister(OBStopwatch)

class OBSqrtTbl(object):
    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):
        _openbabel.OBSqrtTbl_swiginit(self, _openbabel.new_OBSqrtTbl(*args))
    __swig_destroy__ = _openbabel.delete_OBSqrtTbl
OBSqrtTbl.Sqrt = new_instancemethod(_openbabel.OBSqrtTbl_Sqrt, None, OBSqrtTbl)
OBSqrtTbl.Init = new_instancemethod(_openbabel.OBSqrtTbl_Init, None, OBSqrtTbl)
OBSqrtTbl_swigregister = _openbabel.OBSqrtTbl_swigregister
OBSqrtTbl_swigregister(OBSqrtTbl)


def rotate_coords(arg1: 'double *', m: 'double [3][3]', arg3: 'unsigned int') -> "void":
    return _openbabel.rotate_coords(arg1, m, arg3)
rotate_coords = _openbabel.rotate_coords

def calc_rms(arg1: 'double *', arg2: 'double *', arg3: 'unsigned int') -> "double":
    return _openbabel.calc_rms(arg1, arg2, arg3)
calc_rms = _openbabel.calc_rms

_openbabel.RAD_TO_DEG_swigconstant(_openbabel)
RAD_TO_DEG = _openbabel.RAD_TO_DEG

_openbabel.DEG_TO_RAD_swigconstant(_openbabel)
DEG_TO_RAD = _openbabel.DEG_TO_RAD
class vector3(object):
    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):
        _openbabel.vector3_swiginit(self, _openbabel.new_vector3(*args))
    __swig_destroy__ = _openbabel.delete_vector3
vector3.Set = new_instancemethod(_openbabel.vector3_Set, None, vector3)
vector3.SetX = new_instancemethod(_openbabel.vector3_SetX, None, vector3)
vector3.SetY = new_instancemethod(_openbabel.vector3_SetY, None, vector3)
vector3.SetZ = new_instancemethod(_openbabel.vector3_SetZ, None, vector3)
vector3.GetX = new_instancemethod(_openbabel.vector3_GetX, None, vector3)
vector3.GetY = new_instancemethod(_openbabel.vector3_GetY, None, vector3)
vector3.GetZ = new_instancemethod(_openbabel.vector3_GetZ, None, vector3)
vector3.Get = new_instancemethod(_openbabel.vector3_Get, None, vector3)
vector3.AsArray = new_instancemethod(_openbabel.vector3_AsArray, None, vector3)
vector3.__iadd__ = new_instancemethod(_openbabel.vector3___iadd__, None, vector3)
vector3.__isub__ = new_instancemethod(_openbabel.vector3___isub__, None, vector3)
vector3.__idiv__ = new_instancemethod(_openbabel.vector3___idiv__, None, vector3)
vector3.__imul__ = new_instancemethod(_openbabel.vector3___imul__, None, vector3)
vector3.randomUnitVector = new_instancemethod(_openbabel.vector3_randomUnitVector, None, vector3)
vector3.normalize = new_instancemethod(_openbabel.vector3_normalize, None, vector3)
vector3.CanBeNormalized = new_instancemethod(_openbabel.vector3_CanBeNormalized, None, vector3)
vector3.length_2 = new_instancemethod(_openbabel.vector3_length_2, None, vector3)
vector3.length = new_instancemethod(_openbabel.vector3_length, None, vector3)
vector3.x = new_instancemethod(_openbabel.vector3_x, None, vector3)
vector3.y = new_instancemethod(_openbabel.vector3_y, None, vector3)
vector3.z = new_instancemethod(_openbabel.vector3_z, None, vector3)
vector3.__eq__ = new_instancemethod(_openbabel.vector3___eq__, None, vector3)
vector3.__ne__ = new_instancemethod(_openbabel.vector3___ne__, None, vector3)
vector3.IsApprox = new_instancemethod(_openbabel.vector3_IsApprox, None, vector3)
vector3.distSq = new_instancemethod(_openbabel.vector3_distSq, None, vector3)
vector3.createOrthoVector = new_instancemethod(_openbabel.vector3_createOrthoVector, None, vector3)
vector3_swigregister = _openbabel.vector3_swigregister
vector3_swigregister(vector3)


def __lshift__(arg1: 'std::ostream &', arg2: 'vector3') -> "std::ostream &":
    return _openbabel.__lshift__(arg1, arg2)
__lshift__ = _openbabel.__lshift__

def __add__(v1: 'vector3', v2: 'vector3') -> "OpenBabel::vector3":
    return _openbabel.__add__(v1, v2)
__add__ = _openbabel.__add__

def __sub__(*args) -> "OpenBabel::vector3":
    return _openbabel.__sub__(*args)
__sub__ = _openbabel.__sub__

def __div__(v: 'vector3', c: 'double const &') -> "OpenBabel::vector3":
    return _openbabel.__div__(v, c)
__div__ = _openbabel.__div__

def __mul__(*args) -> "OpenBabel::vector3":
    return _openbabel.__mul__(*args)
__mul__ = _openbabel.__mul__

def dot(v1: 'vector3', v2: 'vector3') -> "double":
    return _openbabel.dot(v1, v2)
dot = _openbabel.dot

def cross(arg1: 'vector3', arg2: 'vector3') -> "OpenBabel::vector3":
    return _openbabel.cross(arg1, arg2)
cross = _openbabel.cross

def vectorAngle(v1: 'vector3', v2: 'vector3') -> "double":
    return _openbabel.vectorAngle(v1, v2)
vectorAngle = _openbabel.vectorAngle

def CalcTorsionAngle(a: 'vector3', b: 'vector3', c: 'vector3', d: 'vector3') -> "double":
    return _openbabel.CalcTorsionAngle(a, b, c, d)
CalcTorsionAngle = _openbabel.CalcTorsionAngle

def Point2PlaneSigned(a: 'vector3', b: 'vector3', c: 'vector3', d: 'vector3') -> "double":
    return _openbabel.Point2PlaneSigned(a, b, c, d)
Point2PlaneSigned = _openbabel.Point2PlaneSigned

def Point2Plane(a: 'vector3', b: 'vector3', c: 'vector3', d: 'vector3') -> "double":
    return _openbabel.Point2Plane(a, b, c, d)
Point2Plane = _openbabel.Point2Plane

def Point2PlaneAngle(a: 'vector3', b: 'vector3', c: 'vector3', d: 'vector3') -> "double":
    return _openbabel.Point2PlaneAngle(a, b, c, d)
Point2PlaneAngle = _openbabel.Point2PlaneAngle

def Point2Line(a: 'vector3', b: 'vector3', c: 'vector3') -> "double":
    return _openbabel.Point2Line(a, b, c)
Point2Line = _openbabel.Point2Line
class matrix3x3(object):
    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):
        _openbabel.matrix3x3_swiginit(self, _openbabel.new_matrix3x3(*args))
    __swig_destroy__ = _openbabel.delete_matrix3x3
    jacobi = staticmethod(_openbabel.matrix3x3_jacobi)
matrix3x3.GetArray = new_instancemethod(_openbabel.matrix3x3_GetArray, None, matrix3x3)
matrix3x3.__call__ = new_instancemethod(_openbabel.matrix3x3___call__, None, matrix3x3)
matrix3x3.inverse = new_instancemethod(_openbabel.matrix3x3_inverse, None, matrix3x3)
matrix3x3.transpose = new_instancemethod(_openbabel.matrix3x3_transpose, None, matrix3x3)
matrix3x3.randomRotation = new_instancemethod(_openbabel.matrix3x3_randomRotation, None, matrix3x3)
matrix3x3.determinant = new_instancemethod(_openbabel.matrix3x3_determinant, None, matrix3x3)
matrix3x3.isSymmetric = new_instancemethod(_openbabel.matrix3x3_isSymmetric, None, matrix3x3)
matrix3x3.isOrthogonal = new_instancemethod(_openbabel.matrix3x3_isOrthogonal, None, matrix3x3)
matrix3x3.isDiagonal = new_instancemethod(_openbabel.matrix3x3_isDiagonal, None, matrix3x3)
matrix3x3.isUnitMatrix = new_instancemethod(_openbabel.matrix3x3_isUnitMatrix, None, matrix3x3)
matrix3x3.Get = new_instancemethod(_openbabel.matrix3x3_Get, None, matrix3x3)
matrix3x3.Set = new_instancemethod(_openbabel.matrix3x3_Set, None, matrix3x3)
matrix3x3.SetColumn = new_instancemethod(_openbabel.matrix3x3_SetColumn, None, matrix3x3)
matrix3x3.SetRow = new_instancemethod(_openbabel.matrix3x3_SetRow, None, matrix3x3)
matrix3x3.GetColumn = new_instancemethod(_openbabel.matrix3x3_GetColumn, None, matrix3x3)
matrix3x3.GetRow = new_instancemethod(_openbabel.matrix3x3_GetRow, None, matrix3x3)
matrix3x3.__imul__ = new_instancemethod(_openbabel.matrix3x3___imul__, None, matrix3x3)
matrix3x3.__idiv__ = new_instancemethod(_openbabel.matrix3x3___idiv__, None, matrix3x3)
matrix3x3.SetupRotMat = new_instancemethod(_openbabel.matrix3x3_SetupRotMat, None, matrix3x3)
matrix3x3.PlaneReflection = new_instancemethod(_openbabel.matrix3x3_PlaneReflection, None, matrix3x3)
matrix3x3.RotAboutAxisByAngle = new_instancemethod(_openbabel.matrix3x3_RotAboutAxisByAngle, None, matrix3x3)
matrix3x3.FillOrth = new_instancemethod(_openbabel.matrix3x3_FillOrth, None, matrix3x3)
matrix3x3.findEigenvectorsIfSymmetric = new_instancemethod(_openbabel.matrix3x3_findEigenvectorsIfSymmetric, None, matrix3x3)
matrix3x3_swigregister = _openbabel.matrix3x3_swigregister
matrix3x3_swigregister(matrix3x3)
cvar = _openbabel.cvar
VZero = cvar.VZero
VX = cvar.VX
VY = cvar.VY
VZ = cvar.VZ

def matrix3x3_jacobi(n: 'unsigned int', a: 'double *', d: 'double *', v: 'double *') -> "void":
    return _openbabel.matrix3x3_jacobi(n, a, d, v)
matrix3x3_jacobi = _openbabel.matrix3x3_jacobi

class transform3d(object):
    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):
        _openbabel.transform3d_swiginit(self, _openbabel.new_transform3d(*args))
    __swig_destroy__ = _openbabel.delete_transform3d
transform3d.__mul__ = new_instancemethod(_openbabel.transform3d___mul__, None, transform3d)
transform3d.DescribeAsString = new_instancemethod(_openbabel.transform3d_DescribeAsString, None, transform3d)
transform3d.DescribeAsValues = new_instancemethod(_openbabel.transform3d_DescribeAsValues, None, transform3d)
transform3d.Normalize = new_instancemethod(_openbabel.transform3d_Normalize, None, transform3d)
transform3d_swigregister = _openbabel.transform3d_swigregister
transform3d_swigregister(transform3d)

class SpaceGroup(object):
    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):
        _openbabel.SpaceGroup_swiginit(self, _openbabel.new_SpaceGroup())
    __swig_destroy__ = _openbabel.delete_SpaceGroup
    GetSpaceGroup = staticmethod(_openbabel.SpaceGroup_GetSpaceGroup)
    Find = staticmethod(_openbabel.SpaceGroup_Find)
SpaceGroup.SetHMName = new_instancemethod(_openbabel.SpaceGroup_SetHMName, None, SpaceGroup)
SpaceGroup.SetHallName = new_instancemethod(_openbabel.SpaceGroup_SetHallName, None, SpaceGroup)
SpaceGroup.SetId = new_instancemethod(_openbabel.SpaceGroup_SetId, None, SpaceGroup)
SpaceGroup.AddTransform = new_instancemethod(_openbabel.SpaceGroup_AddTransform, None, SpaceGroup)
SpaceGroup.GetHMName = new_instancemethod(_openbabel.SpaceGroup_GetHMName, None, SpaceGroup)
SpaceGroup.GetHallName = new_instancemethod(_openbabel.SpaceGroup_GetHallName, None, SpaceGroup)
SpaceGroup.GetId = new_instancemethod(_openbabel.SpaceGroup_GetId, None, SpaceGroup)
SpaceGroup.Transform = new_instancemethod(_openbabel.SpaceGroup_Transform, None, SpaceGroup)
SpaceGroup.BeginTransform = new_instancemethod(_openbabel.SpaceGroup_BeginTransform, None, SpaceGroup)
SpaceGroup.NextTransform = new_instancemethod(_openbabel.SpaceGroup_NextTransform, None, SpaceGroup)
SpaceGroup.__eq__ = new_instancemethod(_openbabel.SpaceGroup___eq__, None, SpaceGroup)
SpaceGroup.__ne__ = new_instancemethod(_openbabel.SpaceGroup___ne__, None, SpaceGroup)
SpaceGroup.IsValid = new_instancemethod(_openbabel.SpaceGroup_IsValid, None, SpaceGroup)
SpaceGroup_swigregister = _openbabel.SpaceGroup_swigregister
SpaceGroup_swigregister(SpaceGroup)

def SpaceGroup_GetSpaceGroup(*args) -> "OpenBabel::SpaceGroup const *":
    return _openbabel.SpaceGroup_GetSpaceGroup(*args)
SpaceGroup_GetSpaceGroup = _openbabel.SpaceGroup_GetSpaceGroup

def SpaceGroup_Find(group: 'SpaceGroup') -> "OpenBabel::SpaceGroup const *":
    return _openbabel.SpaceGroup_Find(group)
SpaceGroup_Find = _openbabel.SpaceGroup_Find


def OBReleaseVersion() -> "std::string":
    return _openbabel.OBReleaseVersion()
OBReleaseVersion = _openbabel.OBReleaseVersion

_openbabel.UndefinedData_swigconstant(_openbabel)
UndefinedData = _openbabel.UndefinedData

_openbabel.PairData_swigconstant(_openbabel)
PairData = _openbabel.PairData

_openbabel.EnergyData_swigconstant(_openbabel)
EnergyData = _openbabel.EnergyData

_openbabel.CommentData_swigconstant(_openbabel)
CommentData = _openbabel.CommentData

_openbabel.ConformerData_swigconstant(_openbabel)
ConformerData = _openbabel.ConformerData

_openbabel.ExternalBondData_swigconstant(_openbabel)
ExternalBondData = _openbabel.ExternalBondData

_openbabel.RotamerList_swigconstant(_openbabel)
RotamerList = _openbabel.RotamerList

_openbabel.VirtualBondData_swigconstant(_openbabel)
VirtualBondData = _openbabel.VirtualBondData

_openbabel.RingData_swigconstant(_openbabel)
RingData = _openbabel.RingData

_openbabel.TorsionData_swigconstant(_openbabel)
TorsionData = _openbabel.TorsionData

_openbabel.AngleData_swigconstant(_openbabel)
AngleData = _openbabel.AngleData

_openbabel.SerialNums_swigconstant(_openbabel)
SerialNums = _openbabel.SerialNums

_openbabel.UnitCell_swigconstant(_openbabel)
UnitCell = _openbabel.UnitCell

_openbabel.SpinData_swigconstant(_openbabel)
SpinData = _openbabel.SpinData

_openbabel.ChargeData_swigconstant(_openbabel)
ChargeData = _openbabel.ChargeData

_openbabel.SymmetryData_swigconstant(_openbabel)
SymmetryData = _openbabel.SymmetryData

_openbabel.ChiralData_swigconstant(_openbabel)
ChiralData = _openbabel.ChiralData

_openbabel.OccupationData_swigconstant(_openbabel)
OccupationData = _openbabel.OccupationData

_openbabel.DensityData_swigconstant(_openbabel)
DensityData = _openbabel.DensityData

_openbabel.ElectronicData_swigconstant(_openbabel)
ElectronicData = _openbabel.ElectronicData

_openbabel.VibrationData_swigconstant(_openbabel)
VibrationData = _openbabel.VibrationData

_openbabel.RotationData_swigconstant(_openbabel)
RotationData = _openbabel.RotationData

_openbabel.NuclearData_swigconstant(_openbabel)
NuclearData = _openbabel.NuclearData

_openbabel.SetData_swigconstant(_openbabel)
SetData = _openbabel.SetData

_openbabel.GridData_swigconstant(_openbabel)
GridData = _openbabel.GridData

_openbabel.VectorData_swigconstant(_openbabel)
VectorData = _openbabel.VectorData

_openbabel.MatrixData_swigconstant(_openbabel)
MatrixData = _openbabel.MatrixData

_openbabel.StereoData_swigconstant(_openbabel)
StereoData = _openbabel.StereoData

_openbabel.DOSData_swigconstant(_openbabel)
DOSData = _openbabel.DOSData

_openbabel.ElectronicTransitionData_swigconstant(_openbabel)
ElectronicTransitionData = _openbabel.ElectronicTransitionData

_openbabel.CustomData0_swigconstant(_openbabel)
CustomData0 = _openbabel.CustomData0

_openbabel.CustomData1_swigconstant(_openbabel)
CustomData1 = _openbabel.CustomData1

_openbabel.CustomData2_swigconstant(_openbabel)
CustomData2 = _openbabel.CustomData2

_openbabel.CustomData3_swigconstant(_openbabel)
CustomData3 = _openbabel.CustomData3

_openbabel.CustomData4_swigconstant(_openbabel)
CustomData4 = _openbabel.CustomData4

_openbabel.CustomData5_swigconstant(_openbabel)
CustomData5 = _openbabel.CustomData5

_openbabel.CustomData6_swigconstant(_openbabel)
CustomData6 = _openbabel.CustomData6

_openbabel.CustomData7_swigconstant(_openbabel)
CustomData7 = _openbabel.CustomData7

_openbabel.CustomData8_swigconstant(_openbabel)
CustomData8 = _openbabel.CustomData8

_openbabel.CustomData9_swigconstant(_openbabel)
CustomData9 = _openbabel.CustomData9

_openbabel.CustomData10_swigconstant(_openbabel)
CustomData10 = _openbabel.CustomData10

_openbabel.CustomData11_swigconstant(_openbabel)
CustomData11 = _openbabel.CustomData11

_openbabel.CustomData12_swigconstant(_openbabel)
CustomData12 = _openbabel.CustomData12

_openbabel.CustomData13_swigconstant(_openbabel)
CustomData13 = _openbabel.CustomData13

_openbabel.CustomData14_swigconstant(_openbabel)
CustomData14 = _openbabel.CustomData14

_openbabel.CustomData15_swigconstant(_openbabel)
CustomData15 = _openbabel.CustomData15

_openbabel.any_swigconstant(_openbabel)
any = _openbabel.any

_openbabel.fileformatInput_swigconstant(_openbabel)
fileformatInput = _openbabel.fileformatInput

_openbabel.userInput_swigconstant(_openbabel)
userInput = _openbabel.userInput

_openbabel.perceived_swigconstant(_openbabel)
perceived = _openbabel.perceived

_openbabel.external_swigconstant(_openbabel)
external = _openbabel.external

_openbabel.local_swigconstant(_openbabel)
local = _openbabel.local
class OBGenericData(object):
    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):
        _openbabel.OBGenericData_swiginit(self, _openbabel.new_OBGenericData(*args))
    __swig_destroy__ = _openbabel.delete_OBGenericData
OBGenericData.Clone = new_instancemethod(_openbabel.OBGenericData_Clone, None, OBGenericData)
OBGenericData.SetAttribute = new_instancemethod(_openbabel.OBGenericData_SetAttribute, None, OBGenericData)
OBGenericData.SetOrigin = new_instancemethod(_openbabel.OBGenericData_SetOrigin, None, OBGenericData)
OBGenericData.GetAttribute = new_instancemethod(_openbabel.OBGenericData_GetAttribute, None, OBGenericData)
OBGenericData.GetDataType = new_instancemethod(_openbabel.OBGenericData_GetDataType, None, OBGenericData)
OBGenericData.GetValue = new_instancemethod(_openbabel.OBGenericData_GetValue, None, OBGenericData)
OBGenericData.GetOrigin = new_instancemethod(_openbabel.OBGenericData_GetOrigin, None, OBGenericData)
OBGenericData_swigregister = _openbabel.OBGenericData_swigregister
OBGenericData_swigregister(OBGenericData)

class OBBase(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    __swig_destroy__ = _openbabel.delete_OBBase
    ClassDescription = staticmethod(_openbabel.OBBase_ClassDescription)

    def __init__(self):
        _openbabel.OBBase_swiginit(self, _openbabel.new_OBBase())
OBBase.Clear = new_instancemethod(_openbabel.OBBase_Clear, None, OBBase)
OBBase.DoTransformations = new_instancemethod(_openbabel.OBBase_DoTransformations, None, OBBase)
OBBase.GetTitle = new_instancemethod(_openbabel.OBBase_GetTitle, None, OBBase)
OBBase.SetTitle = new_instancemethod(_openbabel.OBBase_SetTitle, None, OBBase)
OBBase.HasData = new_instancemethod(_openbabel.OBBase_HasData, None, OBBase)
OBBase.DeleteData = new_instancemethod(_openbabel.OBBase_DeleteData, None, OBBase)
OBBase.CloneData = new_instancemethod(_openbabel.OBBase_CloneData, None, OBBase)
OBBase.DataSize = new_instancemethod(_openbabel.OBBase_DataSize, None, OBBase)
OBBase.GetAllData = new_instancemethod(_openbabel.OBBase_GetAllData, None, OBBase)
OBBase.GetData = new_instancemethod(_openbabel.OBBase_GetData, None, OBBase)
OBBase.BeginData = new_instancemethod(_openbabel.OBBase_BeginData, None, OBBase)
OBBase.EndData = new_instancemethod(_openbabel.OBBase_EndData, None, OBBase)
OBBase_swigregister = _openbabel.OBBase_swigregister
OBBase_swigregister(OBBase)

def OBBase_ClassDescription() -> "char const *":
    return _openbabel.OBBase_ClassDescription()
OBBase_ClassDescription = _openbabel.OBBase_ClassDescription

class OBCommentData(OBGenericData):
    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):
        _openbabel.OBCommentData_swiginit(self, _openbabel.new_OBCommentData(*args))
    __swig_destroy__ = _openbabel.delete_OBCommentData
OBCommentData.SetData = new_instancemethod(_openbabel.OBCommentData_SetData, None, OBCommentData)
OBCommentData.GetData = new_instancemethod(_openbabel.OBCommentData_GetData, None, OBCommentData)
OBCommentData_swigregister = _openbabel.OBCommentData_swigregister
OBCommentData_swigregister(OBCommentData)

class OBExternalBond(object):
    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):
        _openbabel.OBExternalBond_swiginit(self, _openbabel.new_OBExternalBond(*args))
    __swig_destroy__ = _openbabel.delete_OBExternalBond
OBExternalBond.GetIdx = new_instancemethod(_openbabel.OBExternalBond_GetIdx, None, OBExternalBond)
OBExternalBond.GetAtom = new_instancemethod(_openbabel.OBExternalBond_GetAtom, None, OBExternalBond)
OBExternalBond.GetBond = new_instancemethod(_openbabel.OBExternalBond_GetBond, None, OBExternalBond)
OBExternalBond.SetIdx = new_instancemethod(_openbabel.OBExternalBond_SetIdx, None, OBExternalBond)
OBExternalBond.SetAtom = new_instancemethod(_openbabel.OBExternalBond_SetAtom, None, OBExternalBond)
OBExternalBond.SetBond = new_instancemethod(_openbabel.OBExternalBond_SetBond, None, OBExternalBond)
OBExternalBond_swigregister = _openbabel.OBExternalBond_swigregister
OBExternalBond_swigregister(OBExternalBond)

class OBExternalBondData(OBGenericData):
    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):
        _openbabel.OBExternalBondData_swiginit(self, _openbabel.new_OBExternalBondData())
    __swig_destroy__ = _openbabel.delete_OBExternalBondData
OBExternalBondData.SetData = new_instancemethod(_openbabel.OBExternalBondData_SetData, None, OBExternalBondData)
OBExternalBondData.GetData = new_instancemethod(_openbabel.OBExternalBondData_GetData, None, OBExternalBondData)
OBExternalBondData_swigregister = _openbabel.OBExternalBondData_swigregister
OBExternalBondData_swigregister(OBExternalBondData)

class OBPairData(OBGenericData):
    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):
        _openbabel.OBPairData_swiginit(self, _openbabel.new_OBPairData())
    __swig_destroy__ = _openbabel.delete_OBPairData
OBPairData.SetValue = new_instancemethod(_openbabel.OBPairData_SetValue, None, OBPairData)
OBPairData_swigregister = _openbabel.OBPairData_swigregister
OBPairData_swigregister(OBPairData)

class OBSetData(OBGenericData):
    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):
        _openbabel.OBSetData_swiginit(self, _openbabel.new_OBSetData())
    __swig_destroy__ = _openbabel.delete_OBSetData
OBSetData.AddData = new_instancemethod(_openbabel.OBSetData_AddData, None, OBSetData)
OBSetData.SetData = new_instancemethod(_openbabel.OBSetData_SetData, None, OBSetData)
OBSetData.GetData = new_instancemethod(_openbabel.OBSetData_GetData, None, OBSetData)
OBSetData.GetBegin = new_instancemethod(_openbabel.OBSetData_GetBegin, None, OBSetData)
OBSetData.GetEnd = new_instancemethod(_openbabel.OBSetData_GetEnd, None, OBSetData)
OBSetData.DeleteData = new_instancemethod(_openbabel.OBSetData_DeleteData, None, OBSetData)
OBSetData_swigregister = _openbabel.OBSetData_swigregister
OBSetData_swigregister(OBSetData)

class OBVirtualBond(OBGenericData):
    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):
        _openbabel.OBVirtualBond_swiginit(self, _openbabel.new_OBVirtualBond(*args))
    __swig_destroy__ = _openbabel.delete_OBVirtualBond
OBVirtualBond.GetBgn = new_instancemethod(_openbabel.OBVirtualBond_GetBgn, None, OBVirtualBond)
OBVirtualBond.GetEnd = new_instancemethod(_openbabel.OBVirtualBond_GetEnd, None, OBVirtualBond)
OBVirtualBond.GetOrder = new_instancemethod(_openbabel.OBVirtualBond_GetOrder, None, OBVirtualBond)
OBVirtualBond.GetStereo = new_instancemethod(_openbabel.OBVirtualBond_GetStereo, None, OBVirtualBond)
OBVirtualBond_swigregister = _openbabel.OBVirtualBond_swigregister
OBVirtualBond_swigregister(OBVirtualBond)

class OBRingData(OBGenericData):
    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):
        _openbabel.OBRingData_swiginit(self, _openbabel.new_OBRingData(*args))
    __swig_destroy__ = _openbabel.delete_OBRingData
OBRingData.SetData = new_instancemethod(_openbabel.OBRingData_SetData, None, OBRingData)
OBRingData.PushBack = new_instancemethod(_openbabel.OBRingData_PushBack, None, OBRingData)
OBRingData.GetData = new_instancemethod(_openbabel.OBRingData_GetData, None, OBRingData)
OBRingData.BeginRings = new_instancemethod(_openbabel.OBRingData_BeginRings, None, OBRingData)
OBRingData.EndRings = new_instancemethod(_openbabel.OBRingData_EndRings, None, OBRingData)
OBRingData.BeginRing = new_instancemethod(_openbabel.OBRingData_BeginRing, None, OBRingData)
OBRingData.NextRing = new_instancemethod(_openbabel.OBRingData_NextRing, None, OBRingData)
OBRingData_swigregister = _openbabel.OBRingData_swigregister
OBRingData_swigregister(OBRingData)

class OBUnitCell(OBGenericData):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    Undefined = _openbabel.OBUnitCell_Undefined
    Triclinic = _openbabel.OBUnitCell_Triclinic
    Monoclinic = _openbabel.OBUnitCell_Monoclinic
    Orthorhombic = _openbabel.OBUnitCell_Orthorhombic
    Tetragonal = _openbabel.OBUnitCell_Tetragonal
    Rhombohedral = _openbabel.OBUnitCell_Rhombohedral
    Hexagonal = _openbabel.OBUnitCell_Hexagonal
    Cubic = _openbabel.OBUnitCell_Cubic

    def __init__(self, *args):
        _openbabel.OBUnitCell_swiginit(self, _openbabel.new_OBUnitCell(*args))
    __swig_destroy__ = _openbabel.delete_OBUnitCell
OBUnitCell.SetData = new_instancemethod(_openbabel.OBUnitCell_SetData, None, OBUnitCell)
OBUnitCell.SetOffset = new_instancemethod(_openbabel.OBUnitCell_SetOffset, None, OBUnitCell)
OBUnitCell.SetSpaceGroup = new_instancemethod(_openbabel.OBUnitCell_SetSpaceGroup, None, OBUnitCell)
OBUnitCell.SetLatticeType = new_instancemethod(_openbabel.OBUnitCell_SetLatticeType, None, OBUnitCell)
OBUnitCell.FillUnitCell = new_instancemethod(_openbabel.OBUnitCell_FillUnitCell, None, OBUnitCell)
OBUnitCell.GetA = new_instancemethod(_openbabel.OBUnitCell_GetA, None, OBUnitCell)
OBUnitCell.GetB = new_instancemethod(_openbabel.OBUnitCell_GetB, None, OBUnitCell)
OBUnitCell.GetC = new_instancemethod(_openbabel.OBUnitCell_GetC, None, OBUnitCell)
OBUnitCell.GetAlpha = new_instancemethod(_openbabel.OBUnitCell_GetAlpha, None, OBUnitCell)
OBUnitCell.GetBeta = new_instancemethod(_openbabel.OBUnitCell_GetBeta, None, OBUnitCell)
OBUnitCell.GetGamma = new_instancemethod(_openbabel.OBUnitCell_GetGamma, None, OBUnitCell)
OBUnitCell.GetOffset = new_instancemethod(_openbabel.OBUnitCell_GetOffset, None, OBUnitCell)
OBUnitCell.GetSpaceGroup = new_instancemethod(_openbabel.OBUnitCell_GetSpaceGroup, None, OBUnitCell)
OBUnitCell.GetSpaceGroupName = new_instancemethod(_openbabel.OBUnitCell_GetSpaceGroupName, None, OBUnitCell)
OBUnitCell.GetLatticeType = new_instancemethod(_openbabel.OBUnitCell_GetLatticeType, None, OBUnitCell)
OBUnitCell.GetCellVectors = new_instancemethod(_openbabel.OBUnitCell_GetCellVectors, None, OBUnitCell)
OBUnitCell.GetCellMatrix = new_instancemethod(_openbabel.OBUnitCell_GetCellMatrix, None, OBUnitCell)
OBUnitCell.GetOrthoMatrix = new_instancemethod(_openbabel.OBUnitCell_GetOrthoMatrix, None, OBUnitCell)
OBUnitCell.GetOrientationMatrix = new_instancemethod(_openbabel.OBUnitCell_GetOrientationMatrix, None, OBUnitCell)
OBUnitCell.GetFractionalMatrix = new_instancemethod(_openbabel.OBUnitCell_GetFractionalMatrix, None, OBUnitCell)
OBUnitCell.FractionalToCartesian = new_instancemethod(_openbabel.OBUnitCell_FractionalToCartesian, None, OBUnitCell)
OBUnitCell.CartesianToFractional = new_instancemethod(_openbabel.OBUnitCell_CartesianToFractional, None, OBUnitCell)
OBUnitCell.WrapCartesianCoordinate = new_instancemethod(_openbabel.OBUnitCell_WrapCartesianCoordinate, None, OBUnitCell)
OBUnitCell.WrapFractionalCoordinate = new_instancemethod(_openbabel.OBUnitCell_WrapFractionalCoordinate, None, OBUnitCell)
OBUnitCell.GetSpaceGroupNumber = new_instancemethod(_openbabel.OBUnitCell_GetSpaceGroupNumber, None, OBUnitCell)
OBUnitCell.GetCellVolume = new_instancemethod(_openbabel.OBUnitCell_GetCellVolume, None, OBUnitCell)
OBUnitCell_swigregister = _openbabel.OBUnitCell_swigregister
OBUnitCell_swigregister(OBUnitCell)

class OBConformerData(OBGenericData):
    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):
        _openbabel.OBConformerData_swiginit(self, _openbabel.new_OBConformerData(*args))
    __swig_destroy__ = _openbabel.delete_OBConformerData
OBConformerData.SetDimension = new_instancemethod(_openbabel.OBConformerData_SetDimension, None, OBConformerData)
OBConformerData.SetEnergies = new_instancemethod(_openbabel.OBConformerData_SetEnergies, None, OBConformerData)
OBConformerData.SetForces = new_instancemethod(_openbabel.OBConformerData_SetForces, None, OBConformerData)
OBConformerData.SetVelocities = new_instancemethod(_openbabel.OBConformerData_SetVelocities, None, OBConformerData)
OBConformerData.SetDisplacements = new_instancemethod(_openbabel.OBConformerData_SetDisplacements, None, OBConformerData)
OBConformerData.SetData = new_instancemethod(_openbabel.OBConformerData_SetData, None, OBConformerData)
OBConformerData.GetDimension = new_instancemethod(_openbabel.OBConformerData_GetDimension, None, OBConformerData)
OBConformerData.GetEnergies = new_instancemethod(_openbabel.OBConformerData_GetEnergies, None, OBConformerData)
OBConformerData.GetForces = new_instancemethod(_openbabel.OBConformerData_GetForces, None, OBConformerData)
OBConformerData.GetVelocities = new_instancemethod(_openbabel.OBConformerData_GetVelocities, None, OBConformerData)
OBConformerData.GetDisplacements = new_instancemethod(_openbabel.OBConformerData_GetDisplacements, None, OBConformerData)
OBConformerData.GetData = new_instancemethod(_openbabel.OBConformerData_GetData, None, OBConformerData)
OBConformerData_swigregister = _openbabel.OBConformerData_swigregister
OBConformerData_swigregister(OBConformerData)

class OBSymmetryData(OBGenericData):
    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):
        _openbabel.OBSymmetryData_swiginit(self, _openbabel.new_OBSymmetryData(*args))
    __swig_destroy__ = _openbabel.delete_OBSymmetryData
OBSymmetryData.SetData = new_instancemethod(_openbabel.OBSymmetryData_SetData, None, OBSymmetryData)
OBSymmetryData.SetPointGroup = new_instancemethod(_openbabel.OBSymmetryData_SetPointGroup, None, OBSymmetryData)
OBSymmetryData.SetSpaceGroup = new_instancemethod(_openbabel.OBSymmetryData_SetSpaceGroup, None, OBSymmetryData)
OBSymmetryData.GetPointGroup = new_instancemethod(_openbabel.OBSymmetryData_GetPointGroup, None, OBSymmetryData)
OBSymmetryData.GetSpaceGroup = new_instancemethod(_openbabel.OBSymmetryData_GetSpaceGroup, None, OBSymmetryData)
OBSymmetryData_swigregister = _openbabel.OBSymmetryData_swigregister
OBSymmetryData_swigregister(OBSymmetryData)

class OBTorsion(object):
    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, arg2: 'OBTorsion'):
        _openbabel.OBTorsion_swiginit(self, _openbabel.new_OBTorsion(arg2))
    __swig_destroy__ = _openbabel.delete_OBTorsion
OBTorsion.Clear = new_instancemethod(_openbabel.OBTorsion_Clear, None, OBTorsion)
OBTorsion.Empty = new_instancemethod(_openbabel.OBTorsion_Empty, None, OBTorsion)
OBTorsion.AddTorsion = new_instancemethod(_openbabel.OBTorsion_AddTorsion, None, OBTorsion)
OBTorsion.SetAngle = new_instancemethod(_openbabel.OBTorsion_SetAngle, None, OBTorsion)
OBTorsion.SetData = new_instancemethod(_openbabel.OBTorsion_SetData, None, OBTorsion)
OBTorsion.GetAngle = new_instancemethod(_openbabel.OBTorsion_GetAngle, None, OBTorsion)
OBTorsion.GetBondIdx = new_instancemethod(_openbabel.OBTorsion_GetBondIdx, None, OBTorsion)
OBTorsion.GetSize = new_instancemethod(_openbabel.OBTorsion_GetSize, None, OBTorsion)
OBTorsion.GetBC = new_instancemethod(_openbabel.OBTorsion_GetBC, None, OBTorsion)
OBTorsion.GetADs = new_instancemethod(_openbabel.OBTorsion_GetADs, None, OBTorsion)
OBTorsion.IsProtonRotor = new_instancemethod(_openbabel.OBTorsion_IsProtonRotor, None, OBTorsion)
OBTorsion_swigregister = _openbabel.OBTorsion_swigregister
OBTorsion_swigregister(OBTorsion)

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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr
    __swig_destroy__ = _openbabel.delete_OBTorsionData
OBTorsionData.Clear = new_instancemethod(_openbabel.OBTorsionData_Clear, None, OBTorsionData)
OBTorsionData.GetData = new_instancemethod(_openbabel.OBTorsionData_GetData, None, OBTorsionData)
OBTorsionData.GetSize = new_instancemethod(_openbabel.OBTorsionData_GetSize, None, OBTorsionData)
OBTorsionData.SetData = new_instancemethod(_openbabel.OBTorsionData_SetData, None, OBTorsionData)
OBTorsionData.FillTorsionArray = new_instancemethod(_openbabel.OBTorsionData_FillTorsionArray, None, OBTorsionData)
OBTorsionData_swigregister = _openbabel.OBTorsionData_swigregister
OBTorsionData_swigregister(OBTorsionData)

class OBAngle(object):
    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, arg2: 'OBAngle'):
        _openbabel.OBAngle_swiginit(self, _openbabel.new_OBAngle(arg2))
    __swig_destroy__ = _openbabel.delete_OBAngle
OBAngle.__eq__ = new_instancemethod(_openbabel.OBAngle___eq__, None, OBAngle)
OBAngle.Clear = new_instancemethod(_openbabel.OBAngle_Clear, None, OBAngle)
OBAngle.GetAngle = new_instancemethod(_openbabel.OBAngle_GetAngle, None, OBAngle)
OBAngle.SetAngle = new_instancemethod(_openbabel.OBAngle_SetAngle, None, OBAngle)
OBAngle.SetAtoms = new_instancemethod(_openbabel.OBAngle_SetAtoms, None, OBAngle)
OBAngle_swigregister = _openbabel.OBAngle_swigregister
OBAngle_swigregister(OBAngle)

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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr
    __swig_destroy__ = _openbabel.delete_OBAngleData
OBAngleData.Clear = new_instancemethod(_openbabel.OBAngleData_Clear, None, OBAngleData)
OBAngleData.FillAngleArray = new_instancemethod(_openbabel.OBAngleData_FillAngleArray, None, OBAngleData)
OBAngleData.SetData = new_instancemethod(_openbabel.OBAngleData_SetData, None, OBAngleData)
OBAngleData.GetSize = new_instancemethod(_openbabel.OBAngleData_GetSize, None, OBAngleData)
OBAngleData_swigregister = _openbabel.OBAngleData_swigregister
OBAngleData_swigregister(OBAngleData)


_openbabel.output_swigconstant(_openbabel)
output = _openbabel.output

_openbabel.input_swigconstant(_openbabel)
input = _openbabel.input

_openbabel.calcvolume_swigconstant(_openbabel)
calcvolume = _openbabel.calcvolume
class OBChiralData(OBGenericData):
    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):
        _openbabel.OBChiralData_swiginit(self, _openbabel.new_OBChiralData(*args))
    __swig_destroy__ = _openbabel.delete_OBChiralData
OBChiralData.Clear = new_instancemethod(_openbabel.OBChiralData_Clear, None, OBChiralData)
OBChiralData.GetAtom4Refs = new_instancemethod(_openbabel.OBChiralData_GetAtom4Refs, None, OBChiralData)
OBChiralData.GetAtomRef = new_instancemethod(_openbabel.OBChiralData_GetAtomRef, None, OBChiralData)
OBChiralData.SetAtom4Refs = new_instancemethod(_openbabel.OBChiralData_SetAtom4Refs, None, OBChiralData)
OBChiralData.AddAtomRef = new_instancemethod(_openbabel.OBChiralData_AddAtomRef, None, OBChiralData)
OBChiralData.GetSize = new_instancemethod(_openbabel.OBChiralData_GetSize, None, OBChiralData)
OBChiralData_swigregister = _openbabel.OBChiralData_swigregister
OBChiralData_swigregister(OBChiralData)

class OBSerialNums(OBGenericData):
    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):
        _openbabel.OBSerialNums_swiginit(self, _openbabel.new_OBSerialNums(*args))
    __swig_destroy__ = _openbabel.delete_OBSerialNums
OBSerialNums.GetData = new_instancemethod(_openbabel.OBSerialNums_GetData, None, OBSerialNums)
OBSerialNums.SetData = new_instancemethod(_openbabel.OBSerialNums_SetData, None, OBSerialNums)
OBSerialNums_swigregister = _openbabel.OBSerialNums_swigregister
OBSerialNums_swigregister(OBSerialNums)

class OBVibrationData(OBGenericData):
    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):
        _openbabel.OBVibrationData_swiginit(self, _openbabel.new_OBVibrationData())
    __swig_destroy__ = _openbabel.delete_OBVibrationData
OBVibrationData.SetData = new_instancemethod(_openbabel.OBVibrationData_SetData, None, OBVibrationData)
OBVibrationData.GetLx = new_instancemethod(_openbabel.OBVibrationData_GetLx, None, OBVibrationData)
OBVibrationData.GetFrequencies = new_instancemethod(_openbabel.OBVibrationData_GetFrequencies, None, OBVibrationData)
OBVibrationData.GetIntensities = new_instancemethod(_openbabel.OBVibrationData_GetIntensities, None, OBVibrationData)
OBVibrationData.GetRamanActivities = new_instancemethod(_openbabel.OBVibrationData_GetRamanActivities, None, OBVibrationData)
OBVibrationData.GetNumberOfFrequencies = new_instancemethod(_openbabel.OBVibrationData_GetNumberOfFrequencies, None, OBVibrationData)
OBVibrationData_swigregister = _openbabel.OBVibrationData_swigregister
OBVibrationData_swigregister(OBVibrationData)

class OBDOSData(OBGenericData):
    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):
        _openbabel.OBDOSData_swiginit(self, _openbabel.new_OBDOSData())
    __swig_destroy__ = _openbabel.delete_OBDOSData
OBDOSData.SetData = new_instancemethod(_openbabel.OBDOSData_SetData, None, OBDOSData)
OBDOSData.GetFermiEnergy = new_instancemethod(_openbabel.OBDOSData_GetFermiEnergy, None, OBDOSData)
OBDOSData.GetEnergies = new_instancemethod(_openbabel.OBDOSData_GetEnergies, None, OBDOSData)
OBDOSData.GetDensities = new_instancemethod(_openbabel.OBDOSData_GetDensities, None, OBDOSData)
OBDOSData.GetIntegration = new_instancemethod(_openbabel.OBDOSData_GetIntegration, None, OBDOSData)
OBDOSData_swigregister = _openbabel.OBDOSData_swigregister
OBDOSData_swigregister(OBDOSData)

class OBOrbital(object):
    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):
        _openbabel.OBOrbital_swiginit(self, _openbabel.new_OBOrbital())
    __swig_destroy__ = _openbabel.delete_OBOrbital
OBOrbital.SetData = new_instancemethod(_openbabel.OBOrbital_SetData, None, OBOrbital)
OBOrbital.GetEnergy = new_instancemethod(_openbabel.OBOrbital_GetEnergy, None, OBOrbital)
OBOrbital.GetOccupation = new_instancemethod(_openbabel.OBOrbital_GetOccupation, None, OBOrbital)
OBOrbital.GetSymbol = new_instancemethod(_openbabel.OBOrbital_GetSymbol, None, OBOrbital)
OBOrbital_swigregister = _openbabel.OBOrbital_swigregister
OBOrbital_swigregister(OBOrbital)

class OBOrbitalData(OBGenericData):
    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):
        _openbabel.OBOrbitalData_swiginit(self, _openbabel.new_OBOrbitalData())
    __swig_destroy__ = _openbabel.delete_OBOrbitalData
OBOrbitalData.SetAlphaOrbitals = new_instancemethod(_openbabel.OBOrbitalData_SetAlphaOrbitals, None, OBOrbitalData)
OBOrbitalData.SetBetaOrbitals = new_instancemethod(_openbabel.OBOrbitalData_SetBetaOrbitals, None, OBOrbitalData)
OBOrbitalData.SetHOMO = new_instancemethod(_openbabel.OBOrbitalData_SetHOMO, None, OBOrbitalData)
OBOrbitalData.SetOpenShell = new_instancemethod(_openbabel.OBOrbitalData_SetOpenShell, None, OBOrbitalData)
OBOrbitalData.IsOpenShell = new_instancemethod(_openbabel.OBOrbitalData_IsOpenShell, None, OBOrbitalData)
OBOrbitalData.GetAlphaHOMO = new_instancemethod(_openbabel.OBOrbitalData_GetAlphaHOMO, None, OBOrbitalData)
OBOrbitalData.GetBetaHOMO = new_instancemethod(_openbabel.OBOrbitalData_GetBetaHOMO, None, OBOrbitalData)
OBOrbitalData.GetAlphaOrbitals = new_instancemethod(_openbabel.OBOrbitalData_GetAlphaOrbitals, None, OBOrbitalData)
OBOrbitalData.GetBetaOrbitals = new_instancemethod(_openbabel.OBOrbitalData_GetBetaOrbitals, None, OBOrbitalData)
OBOrbitalData.LoadClosedShellOrbitals = new_instancemethod(_openbabel.OBOrbitalData_LoadClosedShellOrbitals, None, OBOrbitalData)
OBOrbitalData.LoadAlphaOrbitals = new_instancemethod(_openbabel.OBOrbitalData_LoadAlphaOrbitals, None, OBOrbitalData)
OBOrbitalData.LoadBetaOrbitals = new_instancemethod(_openbabel.OBOrbitalData_LoadBetaOrbitals, None, OBOrbitalData)
OBOrbitalData_swigregister = _openbabel.OBOrbitalData_swigregister
OBOrbitalData_swigregister(OBOrbitalData)

class OBElectronicTransitionData(OBGenericData):
    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):
        _openbabel.OBElectronicTransitionData_swiginit(self, _openbabel.new_OBElectronicTransitionData())
    __swig_destroy__ = _openbabel.delete_OBElectronicTransitionData
OBElectronicTransitionData.SetData = new_instancemethod(_openbabel.OBElectronicTransitionData_SetData, None, OBElectronicTransitionData)
OBElectronicTransitionData.SetEDipole = new_instancemethod(_openbabel.OBElectronicTransitionData_SetEDipole, None, OBElectronicTransitionData)
OBElectronicTransitionData.SetRotatoryStrengthsVelocity = new_instancemethod(_openbabel.OBElectronicTransitionData_SetRotatoryStrengthsVelocity, None, OBElectronicTransitionData)
OBElectronicTransitionData.SetRotatoryStrengthsLength = new_instancemethod(_openbabel.OBElectronicTransitionData_SetRotatoryStrengthsLength, None, OBElectronicTransitionData)
OBElectronicTransitionData.GetWavelengths = new_instancemethod(_openbabel.OBElectronicTransitionData_GetWavelengths, None, OBElectronicTransitionData)
OBElectronicTransitionData.GetForces = new_instancemethod(_openbabel.OBElectronicTransitionData_GetForces, None, OBElectronicTransitionData)
OBElectronicTransitionData.GetEDipole = new_instancemethod(_openbabel.OBElectronicTransitionData_GetEDipole, None, OBElectronicTransitionData)
OBElectronicTransitionData.GetRotatoryStrengthsVelocity = new_instancemethod(_openbabel.OBElectronicTransitionData_GetRotatoryStrengthsVelocity, None, OBElectronicTransitionData)
OBElectronicTransitionData.GetRotatoryStrengthsLength = new_instancemethod(_openbabel.OBElectronicTransitionData_GetRotatoryStrengthsLength, None, OBElectronicTransitionData)
OBElectronicTransitionData_swigregister = _openbabel.OBElectronicTransitionData_swigregister
OBElectronicTransitionData_swigregister(OBElectronicTransitionData)

class OBRotationData(OBGenericData):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    UNKNOWN = _openbabel.OBRotationData_UNKNOWN
    ASYMMETRIC = _openbabel.OBRotationData_ASYMMETRIC
    SYMMETRIC = _openbabel.OBRotationData_SYMMETRIC
    LINEAR = _openbabel.OBRotationData_LINEAR

    def __init__(self):
        _openbabel.OBRotationData_swiginit(self, _openbabel.new_OBRotationData())
    __swig_destroy__ = _openbabel.delete_OBRotationData
OBRotationData.SetData = new_instancemethod(_openbabel.OBRotationData_SetData, None, OBRotationData)
OBRotationData.GetRotConsts = new_instancemethod(_openbabel.OBRotationData_GetRotConsts, None, OBRotationData)
OBRotationData.GetSymmetryNumber = new_instancemethod(_openbabel.OBRotationData_GetSymmetryNumber, None, OBRotationData)
OBRotationData.GetRotorType = new_instancemethod(_openbabel.OBRotationData_GetRotorType, None, OBRotationData)
OBRotationData_swigregister = _openbabel.OBRotationData_swigregister
OBRotationData_swigregister(OBRotationData)

class OBVectorData(OBGenericData):
    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):
        _openbabel.OBVectorData_swiginit(self, _openbabel.new_OBVectorData())
    __swig_destroy__ = _openbabel.delete_OBVectorData
OBVectorData.SetData = new_instancemethod(_openbabel.OBVectorData_SetData, None, OBVectorData)
OBVectorData.GetData = new_instancemethod(_openbabel.OBVectorData_GetData, None, OBVectorData)
OBVectorData_swigregister = _openbabel.OBVectorData_swigregister
OBVectorData_swigregister(OBVectorData)

class OBMatrixData(OBGenericData):
    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):
        _openbabel.OBMatrixData_swiginit(self, _openbabel.new_OBMatrixData())
    __swig_destroy__ = _openbabel.delete_OBMatrixData
OBMatrixData.SetData = new_instancemethod(_openbabel.OBMatrixData_SetData, None, OBMatrixData)
OBMatrixData.GetData = new_instancemethod(_openbabel.OBMatrixData_GetData, None, OBMatrixData)
OBMatrixData_swigregister = _openbabel.OBMatrixData_swigregister
OBMatrixData_swigregister(OBMatrixData)

class OBGridData(OBGenericData):
    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):
        _openbabel.OBGridData_swiginit(self, _openbabel.new_OBGridData())
    __swig_destroy__ = _openbabel.delete_OBGridData
    BOHR = _openbabel.OBGridData_BOHR
    ANGSTROM = _openbabel.OBGridData_ANGSTROM
    OTHER = _openbabel.OBGridData_OTHER
OBGridData.GetXAxis = new_instancemethod(_openbabel.OBGridData_GetXAxis, None, OBGridData)
OBGridData.GetYAxis = new_instancemethod(_openbabel.OBGridData_GetYAxis, None, OBGridData)
OBGridData.GetZAxis = new_instancemethod(_openbabel.OBGridData_GetZAxis, None, OBGridData)
OBGridData.GetAxes = new_instancemethod(_openbabel.OBGridData_GetAxes, None, OBGridData)
OBGridData.GetNumberOfPoints = new_instancemethod(_openbabel.OBGridData_GetNumberOfPoints, None, OBGridData)
OBGridData.GetNumberOfSteps = new_instancemethod(_openbabel.OBGridData_GetNumberOfSteps, None, OBGridData)
OBGridData.GetValues = new_instancemethod(_openbabel.OBGridData_GetValues, None, OBGridData)
OBGridData.GetValue = new_instancemethod(_openbabel.OBGridData_GetValue, None, OBGridData)
OBGridData.GetUnit = new_instancemethod(_openbabel.OBGridData_GetUnit, None, OBGridData)
OBGridData.GetMinValue = new_instancemethod(_openbabel.OBGridData_GetMinValue, None, OBGridData)
OBGridData.GetMaxValue = new_instancemethod(_openbabel.OBGridData_GetMaxValue, None, OBGridData)
OBGridData.GetOriginVector = new_instancemethod(_openbabel.OBGridData_GetOriginVector, None, OBGridData)
OBGridData.GetMaxVector = new_instancemethod(_openbabel.OBGridData_GetMaxVector, None, OBGridData)
OBGridData.GetUnrestricted = new_instancemethod(_openbabel.OBGridData_GetUnrestricted, None, OBGridData)
OBGridData.GetNumSymmetries = new_instancemethod(_openbabel.OBGridData_GetNumSymmetries, None, OBGridData)
OBGridData.SetNumberOfPoints = new_instancemethod(_openbabel.OBGridData_SetNumberOfPoints, None, OBGridData)
OBGridData.SetLimits = new_instancemethod(_openbabel.OBGridData_SetLimits, None, OBGridData)
OBGridData.SetValue = new_instancemethod(_openbabel.OBGridData_SetValue, None, OBGridData)
OBGridData.SetValues = new_instancemethod(_openbabel.OBGridData_SetValues, None, OBGridData)
OBGridData.SetUnit = new_instancemethod(_openbabel.OBGridData_SetUnit, None, OBGridData)
OBGridData.SetUnrestricted = new_instancemethod(_openbabel.OBGridData_SetUnrestricted, None, OBGridData)
OBGridData.SetNumSymmetries = new_instancemethod(_openbabel.OBGridData_SetNumSymmetries, None, OBGridData)
OBGridData_swigregister = _openbabel.OBGridData_swigregister
OBGridData_swigregister(OBGridData)


_openbabel.MaxMonoAtom_swigconstant(_openbabel)
MaxMonoAtom = _openbabel.MaxMonoAtom

_openbabel.MaxMonoBond_swigconstant(_openbabel)
MaxMonoBond = _openbabel.MaxMonoBond
class OBChainsParser(object):
    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):
        _openbabel.OBChainsParser_swiginit(self, _openbabel.new_OBChainsParser())
    __swig_destroy__ = _openbabel.delete_OBChainsParser
OBChainsParser.PerceiveChains = new_instancemethod(_openbabel.OBChainsParser_PerceiveChains, None, OBChainsParser)
OBChainsParser_swigregister = _openbabel.OBChainsParser_swigregister
OBChainsParser_swigregister(OBChainsParser)

class OBAtomTyper(OBGlobalDataBase):
    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):
        _openbabel.OBAtomTyper_swiginit(self, _openbabel.new_OBAtomTyper())
    __swig_destroy__ = _openbabel.delete_OBAtomTyper
OBAtomTyper.AssignHyb = new_instancemethod(_openbabel.OBAtomTyper_AssignHyb, None, OBAtomTyper)
OBAtomTyper.AssignTypes = new_instancemethod(_openbabel.OBAtomTyper_AssignTypes, None, OBAtomTyper)
OBAtomTyper.AssignImplicitValence = new_instancemethod(_openbabel.OBAtomTyper_AssignImplicitValence, None, OBAtomTyper)
OBAtomTyper.CorrectAromaticNitrogens = new_instancemethod(_openbabel.OBAtomTyper_CorrectAromaticNitrogens, None, OBAtomTyper)
OBAtomTyper_swigregister = _openbabel.OBAtomTyper_swigregister
OBAtomTyper_swigregister(OBAtomTyper)

class OBAromaticTyper(OBGlobalDataBase):
    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):
        _openbabel.OBAromaticTyper_swiginit(self, _openbabel.new_OBAromaticTyper())
    __swig_destroy__ = _openbabel.delete_OBAromaticTyper
OBAromaticTyper.AssignAromaticFlags = new_instancemethod(_openbabel.OBAromaticTyper_AssignAromaticFlags, None, OBAromaticTyper)
OBAromaticTyper.PropagatePotentialAromatic = new_instancemethod(_openbabel.OBAromaticTyper_PropagatePotentialAromatic, None, OBAromaticTyper)
OBAromaticTyper.SelectRootAtoms = new_instancemethod(_openbabel.OBAromaticTyper_SelectRootAtoms, None, OBAromaticTyper)
OBAromaticTyper.ExcludeSmallRing = new_instancemethod(_openbabel.OBAromaticTyper_ExcludeSmallRing, None, OBAromaticTyper)
OBAromaticTyper.CheckAromaticity = new_instancemethod(_openbabel.OBAromaticTyper_CheckAromaticity, None, OBAromaticTyper)
OBAromaticTyper.TraverseCycle = new_instancemethod(_openbabel.OBAromaticTyper_TraverseCycle, None, OBAromaticTyper)
OBAromaticTyper_swigregister = _openbabel.OBAromaticTyper_swigregister
OBAromaticTyper_swigregister(OBAromaticTyper)

class OBRingTyper(OBGlobalDataBase):
    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):
        _openbabel.OBRingTyper_swiginit(self, _openbabel.new_OBRingTyper())
    __swig_destroy__ = _openbabel.delete_OBRingTyper
OBRingTyper.AssignTypes = new_instancemethod(_openbabel.OBRingTyper_AssignTypes, None, OBRingTyper)
OBRingTyper_swigregister = _openbabel.OBRingTyper_swigregister
OBRingTyper_swigregister(OBRingTyper)

class dummy(object):
    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):
        _openbabel.dummy_swiginit(self, _openbabel.new_dummy())
    __swig_destroy__ = _openbabel.delete_dummy
dummy_swigregister = _openbabel.dummy_swigregister
dummy_swigregister(dummy)

class CharPtrLess(dummy):
    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):
        _openbabel.CharPtrLess_swiginit(self, _openbabel.new_CharPtrLess())
    __swig_destroy__ = _openbabel.delete_CharPtrLess
CharPtrLess.__call__ = new_instancemethod(_openbabel.CharPtrLess___call__, None, CharPtrLess)
CharPtrLess_swigregister = _openbabel.CharPtrLess_swigregister
CharPtrLess_swigregister(CharPtrLess)

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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _openbabel.delete_OBPlugin
    GetPlugin = staticmethod(_openbabel.OBPlugin_GetPlugin)
    ListAsVector = staticmethod(_openbabel.OBPlugin_ListAsVector)
    List = staticmethod(_openbabel.OBPlugin_List)
    ListAsString = staticmethod(_openbabel.OBPlugin_ListAsString)
    FirstLine = staticmethod(_openbabel.OBPlugin_FirstLine)
    Begin = staticmethod(_openbabel.OBPlugin_Begin)
    End = staticmethod(_openbabel.OBPlugin_End)
OBPlugin.Description = new_instancemethod(_openbabel.OBPlugin_Description, None, OBPlugin)
OBPlugin.TypeID = new_instancemethod(_openbabel.OBPlugin_TypeID, None, OBPlugin)
OBPlugin.Display = new_instancemethod(_openbabel.OBPlugin_Display, None, OBPlugin)
OBPlugin.MakeInstance = new_instancemethod(_openbabel.OBPlugin_MakeInstance, None, OBPlugin)
OBPlugin.Init = new_instancemethod(_openbabel.OBPlugin_Init, None, OBPlugin)
OBPlugin.GetID = new_instancemethod(_openbabel.OBPlugin_GetID, None, OBPlugin)
OBPlugin.GetMap = new_instancemethod(_openbabel.OBPlugin_GetMap, None, OBPlugin)
OBPlugin_swigregister = _openbabel.OBPlugin_swigregister
OBPlugin_swigregister(OBPlugin)

def OBPlugin_GetPlugin(Type: 'char const *', ID: 'char const *') -> "OpenBabel::OBPlugin *":
    return _openbabel.OBPlugin_GetPlugin(Type, ID)
OBPlugin_GetPlugin = _openbabel.OBPlugin_GetPlugin

def OBPlugin_ListAsVector(PluginID: 'char const *', param: 'char const *', vlist: 'vectorString') -> "bool":
    return _openbabel.OBPlugin_ListAsVector(PluginID, param, vlist)
OBPlugin_ListAsVector = _openbabel.OBPlugin_ListAsVector

def OBPlugin_List(*args) -> "void":
    return _openbabel.OBPlugin_List(*args)
OBPlugin_List = _openbabel.OBPlugin_List

def OBPlugin_ListAsString(PluginID: 'char const *', param: 'char const *'=None) -> "std::string":
    return _openbabel.OBPlugin_ListAsString(PluginID, param)
OBPlugin_ListAsString = _openbabel.OBPlugin_ListAsString

def OBPlugin_FirstLine(txt: 'char const *') -> "std::string":
    return _openbabel.OBPlugin_FirstLine(txt)
OBPlugin_FirstLine = _openbabel.OBPlugin_FirstLine

def OBPlugin_Begin(PluginID: 'char const *') -> "OpenBabel::OBPlugin::PluginIterator":
    return _openbabel.OBPlugin_Begin(PluginID)
OBPlugin_Begin = _openbabel.OBPlugin_Begin

def OBPlugin_End(PluginID: 'char const *') -> "OpenBabel::OBPlugin::PluginIterator":
    return _openbabel.OBPlugin_End(PluginID)
OBPlugin_End = _openbabel.OBPlugin_End

class stringbuf(object):
    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):
        _openbabel.stringbuf_swiginit(self, _openbabel.new_stringbuf())
    __swig_destroy__ = _openbabel.delete_stringbuf
stringbuf_swigregister = _openbabel.stringbuf_swigregister
stringbuf_swigregister(stringbuf)


_openbabel.obError_swigconstant(_openbabel)
obError = _openbabel.obError

_openbabel.obWarning_swigconstant(_openbabel)
obWarning = _openbabel.obWarning

_openbabel.obInfo_swigconstant(_openbabel)
obInfo = _openbabel.obInfo

_openbabel.obAuditMsg_swigconstant(_openbabel)
obAuditMsg = _openbabel.obAuditMsg

_openbabel.obDebug_swigconstant(_openbabel)
obDebug = _openbabel.obDebug

_openbabel.always_swigconstant(_openbabel)
always = _openbabel.always

_openbabel.onceOnly_swigconstant(_openbabel)
onceOnly = _openbabel.onceOnly
class OBError(object):
    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):
        _openbabel.OBError_swiginit(self, _openbabel.new_OBError(*args))
    __swig_destroy__ = _openbabel.delete_OBError
OBError.message = new_instancemethod(_openbabel.OBError_message, None, OBError)
OBError.GetMethod = new_instancemethod(_openbabel.OBError_GetMethod, None, OBError)
OBError.GetError = new_instancemethod(_openbabel.OBError_GetError, None, OBError)
OBError.GetExplanation = new_instancemethod(_openbabel.OBError_GetExplanation, None, OBError)
OBError.GetPossibleCause = new_instancemethod(_openbabel.OBError_GetPossibleCause, None, OBError)
OBError.GetSuggestedRemedy = new_instancemethod(_openbabel.OBError_GetSuggestedRemedy, None, OBError)
OBError.GetLevel = new_instancemethod(_openbabel.OBError_GetLevel, None, OBError)
OBError.__eq__ = new_instancemethod(_openbabel.OBError___eq__, None, OBError)
OBError_swigregister = _openbabel.OBError_swigregister
OBError_swigregister(OBError)

class OBMessageHandler(object):
    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):
        _openbabel.OBMessageHandler_swiginit(self, _openbabel.new_OBMessageHandler())
    __swig_destroy__ = _openbabel.delete_OBMessageHandler
OBMessageHandler.ThrowError = new_instancemethod(_openbabel.OBMessageHandler_ThrowError, None, OBMessageHandler)
OBMessageHandler.GetMessagesOfLevel = new_instancemethod(_openbabel.OBMessageHandler_GetMessagesOfLevel, None, OBMessageHandler)
OBMessageHandler.StartLogging = new_instancemethod(_openbabel.OBMessageHandler_StartLogging, None, OBMessageHandler)
OBMessageHandler.StopLogging = new_instancemethod(_openbabel.OBMessageHandler_StopLogging, None, OBMessageHandler)
OBMessageHandler.SetMaxLogEntries = new_instancemethod(_openbabel.OBMessageHandler_SetMaxLogEntries, None, OBMessageHandler)
OBMessageHandler.GetMaxLogEntries = new_instancemethod(_openbabel.OBMessageHandler_GetMaxLogEntries, None, OBMessageHandler)
OBMessageHandler.ClearLog = new_instancemethod(_openbabel.OBMessageHandler_ClearLog, None, OBMessageHandler)
OBMessageHandler.SetOutputLevel = new_instancemethod(_openbabel.OBMessageHandler_SetOutputLevel, None, OBMessageHandler)
OBMessageHandler.GetOutputLevel = new_instancemethod(_openbabel.OBMessageHandler_GetOutputLevel, None, OBMessageHandler)
OBMessageHandler.SetOutputStream = new_instancemethod(_openbabel.OBMessageHandler_SetOutputStream, None, OBMessageHandler)
OBMessageHandler.GetOutputStream = new_instancemethod(_openbabel.OBMessageHandler_GetOutputStream, None, OBMessageHandler)
OBMessageHandler.StartErrorWrap = new_instancemethod(_openbabel.OBMessageHandler_StartErrorWrap, None, OBMessageHandler)
OBMessageHandler.StopErrorWrap = new_instancemethod(_openbabel.OBMessageHandler_StopErrorWrap, None, OBMessageHandler)
OBMessageHandler.GetErrorMessageCount = new_instancemethod(_openbabel.OBMessageHandler_GetErrorMessageCount, None, OBMessageHandler)
OBMessageHandler.GetWarningMessageCount = new_instancemethod(_openbabel.OBMessageHandler_GetWarningMessageCount, None, OBMessageHandler)
OBMessageHandler.GetInfoMessageCount = new_instancemethod(_openbabel.OBMessageHandler_GetInfoMessageCount, None, OBMessageHandler)
OBMessageHandler.GetAuditMessageCount = new_instancemethod(_openbabel.OBMessageHandler_GetAuditMessageCount, None, OBMessageHandler)
OBMessageHandler.GetDebugMessageCount = new_instancemethod(_openbabel.OBMessageHandler_GetDebugMessageCount, None, OBMessageHandler)
OBMessageHandler.GetMessageSummary = new_instancemethod(_openbabel.OBMessageHandler_GetMessageSummary, None, OBMessageHandler)
OBMessageHandler_swigregister = _openbabel.OBMessageHandler_swigregister
OBMessageHandler_swigregister(OBMessageHandler)

class obLogBuf(stringbuf):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    __swig_destroy__ = _openbabel.delete_obLogBuf

    def __init__(self):
        _openbabel.obLogBuf_swiginit(self, _openbabel.new_obLogBuf())
obLogBuf_swigregister = _openbabel.obLogBuf_swigregister
obLogBuf_swigregister(obLogBuf)


_openbabel.NOTREADABLE_swigconstant(_openbabel)
NOTREADABLE = _openbabel.NOTREADABLE

_openbabel.READONEONLY_swigconstant(_openbabel)
READONEONLY = _openbabel.READONEONLY

_openbabel.READBINARY_swigconstant(_openbabel)
READBINARY = _openbabel.READBINARY

_openbabel.ZEROATOMSOK_swigconstant(_openbabel)
ZEROATOMSOK = _openbabel.ZEROATOMSOK

_openbabel.NOTWRITABLE_swigconstant(_openbabel)
NOTWRITABLE = _openbabel.NOTWRITABLE

_openbabel.WRITEONEONLY_swigconstant(_openbabel)
WRITEONEONLY = _openbabel.WRITEONEONLY

_openbabel.WRITEBINARY_swigconstant(_openbabel)
WRITEBINARY = _openbabel.WRITEBINARY

_openbabel.READXML_swigconstant(_openbabel)
READXML = _openbabel.READXML

_openbabel.DEPICTION2D_swigconstant(_openbabel)
DEPICTION2D = _openbabel.DEPICTION2D

_openbabel.DEFAULTFORMAT_swigconstant(_openbabel)
DEFAULTFORMAT = _openbabel.DEFAULTFORMAT
class OBFormat(OBPlugin):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    Default = staticmethod(_openbabel.OBFormat_Default)
    FindType = staticmethod(_openbabel.OBFormat_FindType)
    FormatFromMIME = staticmethod(_openbabel.OBFormat_FormatFromMIME)
    __swig_destroy__ = _openbabel.delete_OBFormat
OBFormat.ReadMolecule = new_instancemethod(_openbabel.OBFormat_ReadMolecule, None, OBFormat)
OBFormat.ReadChemObject = new_instancemethod(_openbabel.OBFormat_ReadChemObject, None, OBFormat)
OBFormat.WriteMolecule = new_instancemethod(_openbabel.OBFormat_WriteMolecule, None, OBFormat)
OBFormat.WriteChemObject = new_instancemethod(_openbabel.OBFormat_WriteChemObject, None, OBFormat)
OBFormat.TargetClassDescription = new_instancemethod(_openbabel.OBFormat_TargetClassDescription, None, OBFormat)
OBFormat.GetType = new_instancemethod(_openbabel.OBFormat_GetType, None, OBFormat)
OBFormat.SpecificationURL = new_instancemethod(_openbabel.OBFormat_SpecificationURL, None, OBFormat)
OBFormat.GetMIMEType = new_instancemethod(_openbabel.OBFormat_GetMIMEType, None, OBFormat)
OBFormat.Flags = new_instancemethod(_openbabel.OBFormat_Flags, None, OBFormat)
OBFormat.SkipObjects = new_instancemethod(_openbabel.OBFormat_SkipObjects, None, OBFormat)
OBFormat.MakeNewInstance = new_instancemethod(_openbabel.OBFormat_MakeNewInstance, None, OBFormat)
OBFormat.RegisterFormat = new_instancemethod(_openbabel.OBFormat_RegisterFormat, None, OBFormat)
OBFormat.Display = new_instancemethod(_openbabel.OBFormat_Display, None, OBFormat)
OBFormat_swigregister = _openbabel.OBFormat_swigregister
OBFormat_swigregister(OBFormat)

def OBFormat_Default() -> "OpenBabel::OBFormat *&":
    return _openbabel.OBFormat_Default()
OBFormat_Default = _openbabel.OBFormat_Default

def OBFormat_FindType(ID: 'char const *') -> "OpenBabel::OBFormat *":
    return _openbabel.OBFormat_FindType(ID)
OBFormat_FindType = _openbabel.OBFormat_FindType

def OBFormat_FormatFromMIME(MIME: 'char const *') -> "OpenBabel::OBFormat *":
    return _openbabel.OBFormat_FormatFromMIME(MIME)
OBFormat_FormatFromMIME = _openbabel.OBFormat_FormatFromMIME

class OBConversion(object):
    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):
        _openbabel.OBConversion_swiginit(self, _openbabel.new_OBConversion(*args))
    __swig_destroy__ = _openbabel.delete_OBConversion
    RegisterFormat = staticmethod(_openbabel.OBConversion_RegisterFormat)
    FindFormat = staticmethod(_openbabel.OBConversion_FindFormat)
    FormatFromExt = staticmethod(_openbabel.OBConversion_FormatFromExt)
    FormatFromMIME = staticmethod(_openbabel.OBConversion_FormatFromMIME)
    GetNextFormat = staticmethod(_openbabel.OBConversion_GetNextFormat)
    Description = staticmethod(_openbabel.OBConversion_Description)
    INOPTIONS = _openbabel.OBConversion_INOPTIONS
    OUTOPTIONS = _openbabel.OBConversion_OUTOPTIONS
    GENOPTIONS = _openbabel.OBConversion_GENOPTIONS
    ALL = _openbabel.OBConversion_ALL
    RegisterOptionParam = staticmethod(_openbabel.OBConversion_RegisterOptionParam)
    GetOptionParams = staticmethod(_openbabel.OBConversion_GetOptionParams)
    GetDefaultFormat = staticmethod(_openbabel.OBConversion_GetDefaultFormat)
OBConversion.GetInStream = new_instancemethod(_openbabel.OBConversion_GetInStream, None, OBConversion)
OBConversion.GetOutStream = new_instancemethod(_openbabel.OBConversion_GetOutStream, None, OBConversion)
OBConversion.SetInStream = new_instancemethod(_openbabel.OBConversion_SetInStream, None, OBConversion)
OBConversion.SetOutStream = new_instancemethod(_openbabel.OBConversion_SetOutStream, None, OBConversion)
OBConversion.SetInAndOutFormats = new_instancemethod(_openbabel.OBConversion_SetInAndOutFormats, None, OBConversion)
OBConversion.SetInFormat = new_instancemethod(_openbabel.OBConversion_SetInFormat, None, OBConversion)
OBConversion.SetOutFormat = new_instancemethod(_openbabel.OBConversion_SetOutFormat, None, OBConversion)
OBConversion.GetInFormat = new_instancemethod(_openbabel.OBConversion_GetInFormat, None, OBConversion)
OBConversion.GetOutFormat = new_instancemethod(_openbabel.OBConversion_GetOutFormat, None, OBConversion)
OBConversion.GetInFilename = new_instancemethod(_openbabel.OBConversion_GetInFilename, None, OBConversion)
OBConversion.GetInPos = new_instancemethod(_openbabel.OBConversion_GetInPos, None, OBConversion)
OBConversion.GetInLen = new_instancemethod(_openbabel.OBConversion_GetInLen, None, OBConversion)
OBConversion.GetTitle = new_instancemethod(_openbabel.OBConversion_GetTitle, None, OBConversion)
OBConversion.GetAuxConv = new_instancemethod(_openbabel.OBConversion_GetAuxConv, None, OBConversion)
OBConversion.SetAuxConv = new_instancemethod(_openbabel.OBConversion_SetAuxConv, None, OBConversion)
OBConversion.IsOption = new_instancemethod(_openbabel.OBConversion_IsOption, None, OBConversion)
OBConversion.GetOptions = new_instancemethod(_openbabel.OBConversion_GetOptions, None, OBConversion)
OBConversion.AddOption = new_instancemethod(_openbabel.OBConversion_AddOption, None, OBConversion)
OBConversion.RemoveOption = new_instancemethod(_openbabel.OBConversion_RemoveOption, None, OBConversion)
OBConversion.SetOptions = new_instancemethod(_openbabel.OBConversion_SetOptions, None, OBConversion)
OBConversion.CopyOptions = new_instancemethod(_openbabel.OBConversion_CopyOptions, None, OBConversion)
OBConversion.GetSupportedInputFormat = new_instancemethod(_openbabel.OBConversion_GetSupportedInputFormat, None, OBConversion)
OBConversion.GetSupportedOutputFormat = new_instancemethod(_openbabel.OBConversion_GetSupportedOutputFormat, None, OBConversion)
OBConversion.Convert = new_instancemethod(_openbabel.OBConversion_Convert, None, OBConversion)
OBConversion.FullConvert = new_instancemethod(_openbabel.OBConversion_FullConvert, None, OBConversion)
OBConversion.AddChemObject = new_instancemethod(_openbabel.OBConversion_AddChemObject, None, OBConversion)
OBConversion.GetChemObject = new_instancemethod(_openbabel.OBConversion_GetChemObject, None, OBConversion)
OBConversion.IsLast = new_instancemethod(_openbabel.OBConversion_IsLast, None, OBConversion)
OBConversion.IsFirstInput = new_instancemethod(_openbabel.OBConversion_IsFirstInput, None, OBConversion)
OBConversion.SetFirstInput = new_instancemethod(_openbabel.OBConversion_SetFirstInput, None, OBConversion)
OBConversion.GetOutputIndex = new_instancemethod(_openbabel.OBConversion_GetOutputIndex, None, OBConversion)
OBConversion.SetOutputIndex = new_instancemethod(_openbabel.OBConversion_SetOutputIndex, None, OBConversion)
OBConversion.SetMoreFilesToCome = new_instancemethod(_openbabel.OBConversion_SetMoreFilesToCome, None, OBConversion)
OBConversion.SetOneObjectOnly = new_instancemethod(_openbabel.OBConversion_SetOneObjectOnly, None, OBConversion)
OBConversion.SetLast = new_instancemethod(_openbabel.OBConversion_SetLast, None, OBConversion)
OBConversion.IsLastFile = new_instancemethod(_openbabel.OBConversion_IsLastFile, None, OBConversion)
OBConversion.GetCount = new_instancemethod(_openbabel.OBConversion_GetCount, None, OBConversion)
OBConversion.Write = new_instancemethod(_openbabel.OBConversion_Write, None, OBConversion)
OBConversion.WriteString = new_instancemethod(_openbabel.OBConversion_WriteString, None, OBConversion)
OBConversion.WriteFile = new_instancemethod(_openbabel.OBConversion_WriteFile, None, OBConversion)
OBConversion.CloseOutFile = new_instancemethod(_openbabel.OBConversion_CloseOutFile, None, OBConversion)
OBConversion.Read = new_instancemethod(_openbabel.OBConversion_Read, None, OBConversion)
OBConversion.ReadString = new_instancemethod(_openbabel.OBConversion_ReadString, None, OBConversion)
OBConversion.ReadFile = new_instancemethod(_openbabel.OBConversion_ReadFile, None, OBConversion)
OBConversion.OpenInAndOutFiles = new_instancemethod(_openbabel.OBConversion_OpenInAndOutFiles, None, OBConversion)
OBConversion.ReportNumberConverted = new_instancemethod(_openbabel.OBConversion_ReportNumberConverted, None, OBConversion)
OBConversion.NumInputObjects = new_instancemethod(_openbabel.OBConversion_NumInputObjects, None, OBConversion)
OBConversion_swigregister = _openbabel.OBConversion_swigregister
OBConversion_swigregister(OBConversion)

def OBConversion_RegisterFormat(ID: 'char const *', pFormat: 'OBFormat', MIME: 'char const *'=None) -> "int":
    return _openbabel.OBConversion_RegisterFormat(ID, pFormat, MIME)
OBConversion_RegisterFormat = _openbabel.OBConversion_RegisterFormat

def OBConversion_FindFormat(*args) -> "OpenBabel::OBFormat *":
    return _openbabel.OBConversion_FindFormat(*args)
OBConversion_FindFormat = _openbabel.OBConversion_FindFormat

def OBConversion_FormatFromExt(*args) -> "OpenBabel::OBFormat *":
    return _openbabel.OBConversion_FormatFromExt(*args)
OBConversion_FormatFromExt = _openbabel.OBConversion_FormatFromExt

def OBConversion_FormatFromMIME(MIME: 'char const *') -> "OpenBabel::OBFormat *":
    return _openbabel.OBConversion_FormatFromMIME(MIME)
OBConversion_FormatFromMIME = _openbabel.OBConversion_FormatFromMIME

def OBConversion_GetNextFormat(itr: 'OpenBabel::Formatpos &', str: 'char const *&', pFormat: 'OpenBabel::OBFormat *&') -> "bool":
    return _openbabel.OBConversion_GetNextFormat(itr, str, pFormat)
OBConversion_GetNextFormat = _openbabel.OBConversion_GetNextFormat

def OBConversion_Description() -> "char const *":
    return _openbabel.OBConversion_Description()
OBConversion_Description = _openbabel.OBConversion_Description

def OBConversion_RegisterOptionParam(*args) -> "void":
    return _openbabel.OBConversion_RegisterOptionParam(*args)
OBConversion_RegisterOptionParam = _openbabel.OBConversion_RegisterOptionParam

def OBConversion_GetOptionParams(name: 'std::string', typ: 'OpenBabel::OBConversion::Option_type') -> "int":
    return _openbabel.OBConversion_GetOptionParams(name, typ)
OBConversion_GetOptionParams = _openbabel.OBConversion_GetOptionParams

def OBConversion_GetDefaultFormat() -> "OpenBabel::OBFormat *":
    return _openbabel.OBConversion_GetDefaultFormat()
OBConversion_GetDefaultFormat = _openbabel.OBConversion_GetDefaultFormat

class OBResidue(OBBase):
    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):
        _openbabel.OBResidue_swiginit(self, _openbabel.new_OBResidue(*args))
    __swig_destroy__ = _openbabel.delete_OBResidue
OBResidue.AddAtom = new_instancemethod(_openbabel.OBResidue_AddAtom, None, OBResidue)
OBResidue.InsertAtom = new_instancemethod(_openbabel.OBResidue_InsertAtom, None, OBResidue)
OBResidue.RemoveAtom = new_instancemethod(_openbabel.OBResidue_RemoveAtom, None, OBResidue)
OBResidue.SetName = new_instancemethod(_openbabel.OBResidue_SetName, None, OBResidue)
OBResidue.SetNum = new_instancemethod(_openbabel.OBResidue_SetNum, None, OBResidue)
OBResidue.SetChain = new_instancemethod(_openbabel.OBResidue_SetChain, None, OBResidue)
OBResidue.SetChainNum = new_instancemethod(_openbabel.OBResidue_SetChainNum, None, OBResidue)
OBResidue.SetIdx = new_instancemethod(_openbabel.OBResidue_SetIdx, None, OBResidue)
OBResidue.SetAtomID = new_instancemethod(_openbabel.OBResidue_SetAtomID, None, OBResidue)
OBResidue.SetHetAtom = new_instancemethod(_openbabel.OBResidue_SetHetAtom, None, OBResidue)
OBResidue.SetSerialNum = new_instancemethod(_openbabel.OBResidue_SetSerialNum, None, OBResidue)
OBResidue.GetName = new_instancemethod(_openbabel.OBResidue_GetName, None, OBResidue)
OBResidue.GetNum = new_instancemethod(_openbabel.OBResidue_GetNum, None, OBResidue)
OBResidue.GetNumString = new_instancemethod(_openbabel.OBResidue_GetNumString, None, OBResidue)
OBResidue.GetNumAtoms = new_instancemethod(_openbabel.OBResidue_GetNumAtoms, None, OBResidue)
OBResidue.GetChain = new_instancemethod(_openbabel.OBResidue_GetChain, None, OBResidue)
OBResidue.GetChainNum = new_instancemethod(_openbabel.OBResidue_GetChainNum, None, OBResidue)
OBResidue.GetIdx = new_instancemethod(_openbabel.OBResidue_GetIdx, None, OBResidue)
OBResidue.GetResKey = new_instancemethod(_openbabel.OBResidue_GetResKey, None, OBResidue)
OBResidue.GetAtoms = new_instancemethod(_openbabel.OBResidue_GetAtoms, None, OBResidue)
OBResidue.GetBonds = new_instancemethod(_openbabel.OBResidue_GetBonds, None, OBResidue)
OBResidue.GetAtomID = new_instancemethod(_openbabel.OBResidue_GetAtomID, None, OBResidue)
OBResidue.GetSerialNum = new_instancemethod(_openbabel.OBResidue_GetSerialNum, None, OBResidue)
OBResidue.GetAminoAcidProperty = new_instancemethod(_openbabel.OBResidue_GetAminoAcidProperty, None, OBResidue)
OBResidue.GetAtomProperty = new_instancemethod(_openbabel.OBResidue_GetAtomProperty, None, OBResidue)
OBResidue.GetResidueProperty = new_instancemethod(_openbabel.OBResidue_GetResidueProperty, None, OBResidue)
OBResidue.IsHetAtom = new_instancemethod(_openbabel.OBResidue_IsHetAtom, None, OBResidue)
OBResidue.IsResidueType = new_instancemethod(_openbabel.OBResidue_IsResidueType, None, OBResidue)
OBResidue.BeginAtoms = new_instancemethod(_openbabel.OBResidue_BeginAtoms, None, OBResidue)
OBResidue.EndAtoms = new_instancemethod(_openbabel.OBResidue_EndAtoms, None, OBResidue)
OBResidue.BeginAtom = new_instancemethod(_openbabel.OBResidue_BeginAtom, None, OBResidue)
OBResidue.NextAtom = new_instancemethod(_openbabel.OBResidue_NextAtom, None, OBResidue)
OBResidue_swigregister = _openbabel.OBResidue_swigregister
OBResidue_swigregister(OBResidue)


_openbabel.MAXSETNO_swigconstant(_openbabel)
MAXSETNO = _openbabel.MAXSETNO

_openbabel.MAXELEM_swigconstant(_openbabel)
MAXELEM = _openbabel.MAXELEM

_openbabel.MINELEM_swigconstant(_openbabel)
MINELEM = _openbabel.MINELEM

_openbabel.MAXRES_swigconstant(_openbabel)
MAXRES = _openbabel.MAXRES

_openbabel.MINRES_swigconstant(_openbabel)
MINRES = _openbabel.MINRES

_openbabel.AA_ALA_swigconstant(_openbabel)
AA_ALA = _openbabel.AA_ALA

_openbabel.AA_GLY_swigconstant(_openbabel)
AA_GLY = _openbabel.AA_GLY

_openbabel.AA_LEU_swigconstant(_openbabel)
AA_LEU = _openbabel.AA_LEU

_openbabel.AA_SER_swigconstant(_openbabel)
AA_SER = _openbabel.AA_SER

_openbabel.AA_VAL_swigconstant(_openbabel)
AA_VAL = _openbabel.AA_VAL

_openbabel.AA_THR_swigconstant(_openbabel)
AA_THR = _openbabel.AA_THR

_openbabel.AA_LYS_swigconstant(_openbabel)
AA_LYS = _openbabel.AA_LYS

_openbabel.AA_ASP_swigconstant(_openbabel)
AA_ASP = _openbabel.AA_ASP

_openbabel.AA_ILE_swigconstant(_openbabel)
AA_ILE = _openbabel.AA_ILE

_openbabel.AA_ASN_swigconstant(_openbabel)
AA_ASN = _openbabel.AA_ASN

_openbabel.AA_GLU_swigconstant(_openbabel)
AA_GLU = _openbabel.AA_GLU

_openbabel.AA_PRO_swigconstant(_openbabel)
AA_PRO = _openbabel.AA_PRO

_openbabel.AA_ARG_swigconstant(_openbabel)
AA_ARG = _openbabel.AA_ARG

_openbabel.AA_PHE_swigconstant(_openbabel)
AA_PHE = _openbabel.AA_PHE

_openbabel.AA_GLN_swigconstant(_openbabel)
AA_GLN = _openbabel.AA_GLN

_openbabel.AA_TYR_swigconstant(_openbabel)
AA_TYR = _openbabel.AA_TYR

_openbabel.AA_HIS_swigconstant(_openbabel)
AA_HIS = _openbabel.AA_HIS

_openbabel.AA_CYS_swigconstant(_openbabel)
AA_CYS = _openbabel.AA_CYS

_openbabel.AA_MET_swigconstant(_openbabel)
AA_MET = _openbabel.AA_MET

_openbabel.AA_TRP_swigconstant(_openbabel)
AA_TRP = _openbabel.AA_TRP

_openbabel.ACIDIC_swigconstant(_openbabel)
ACIDIC = _openbabel.ACIDIC

_openbabel.ACYCLIC_swigconstant(_openbabel)
ACYCLIC = _openbabel.ACYCLIC

_openbabel.ALIPHATIC_swigconstant(_openbabel)
ALIPHATIC = _openbabel.ALIPHATIC

_openbabel.AROMATIC_swigconstant(_openbabel)
AROMATIC = _openbabel.AROMATIC

_openbabel.BASIC_swigconstant(_openbabel)
BASIC = _openbabel.BASIC

_openbabel.BURIED_swigconstant(_openbabel)
BURIED = _openbabel.BURIED

_openbabel.CHARGED_swigconstant(_openbabel)
CHARGED = _openbabel.CHARGED

_openbabel.CYCLIC_swigconstant(_openbabel)
CYCLIC = _openbabel.CYCLIC

_openbabel.HYDROPHOBIC_swigconstant(_openbabel)
HYDROPHOBIC = _openbabel.HYDROPHOBIC

_openbabel.LARGE_swigconstant(_openbabel)
LARGE = _openbabel.LARGE

_openbabel.MEDIUM_swigconstant(_openbabel)
MEDIUM = _openbabel.MEDIUM

_openbabel.NEGATIVE_swigconstant(_openbabel)
NEGATIVE = _openbabel.NEGATIVE

_openbabel.NEUTRAL_swigconstant(_openbabel)
NEUTRAL = _openbabel.NEUTRAL

_openbabel.POLAR_swigconstant(_openbabel)
POLAR = _openbabel.POLAR

_openbabel.POSITIVE_swigconstant(_openbabel)
POSITIVE = _openbabel.POSITIVE

_openbabel.SMALL_swigconstant(_openbabel)
SMALL = _openbabel.SMALL

_openbabel.SURFACE_swigconstant(_openbabel)
SURFACE = _openbabel.SURFACE

_openbabel.ALPHA_CARBON_swigconstant(_openbabel)
ALPHA_CARBON = _openbabel.ALPHA_CARBON

_openbabel.AMINO_BACKBONE_swigconstant(_openbabel)
AMINO_BACKBONE = _openbabel.AMINO_BACKBONE

_openbabel.BACKBONE_swigconstant(_openbabel)
BACKBONE = _openbabel.BACKBONE

_openbabel.CYSTEINE_SULPHUR_swigconstant(_openbabel)
CYSTEINE_SULPHUR = _openbabel.CYSTEINE_SULPHUR

_openbabel.LIGAND_swigconstant(_openbabel)
LIGAND = _openbabel.LIGAND

_openbabel.NUCLEIC_BACKBONE_swigconstant(_openbabel)
NUCLEIC_BACKBONE = _openbabel.NUCLEIC_BACKBONE

_openbabel.SHAPELY_BACKBONE_swigconstant(_openbabel)
SHAPELY_BACKBONE = _openbabel.SHAPELY_BACKBONE

_openbabel.SHAPELY_SPECIAL_swigconstant(_openbabel)
SHAPELY_SPECIAL = _openbabel.SHAPELY_SPECIAL

_openbabel.SIDECHAIN_swigconstant(_openbabel)
SIDECHAIN = _openbabel.SIDECHAIN

_openbabel.SUGAR_PHOSPHATE_swigconstant(_openbabel)
SUGAR_PHOSPHATE = _openbabel.SUGAR_PHOSPHATE

_openbabel.ALA_swigconstant(_openbabel)
ALA = _openbabel.ALA

_openbabel.GLY_swigconstant(_openbabel)
GLY = _openbabel.GLY

_openbabel.LEU_swigconstant(_openbabel)
LEU = _openbabel.LEU

_openbabel.SER_swigconstant(_openbabel)
SER = _openbabel.SER

_openbabel.VAL_swigconstant(_openbabel)
VAL = _openbabel.VAL

_openbabel.THR_swigconstant(_openbabel)
THR = _openbabel.THR

_openbabel.LYS_swigconstant(_openbabel)
LYS = _openbabel.LYS

_openbabel.ASP_swigconstant(_openbabel)
ASP = _openbabel.ASP

_openbabel.ILE_swigconstant(_openbabel)
ILE = _openbabel.ILE

_openbabel.ASN_swigconstant(_openbabel)
ASN = _openbabel.ASN

_openbabel.GLU_swigconstant(_openbabel)
GLU = _openbabel.GLU

_openbabel.PRO_swigconstant(_openbabel)
PRO = _openbabel.PRO

_openbabel.ARG_swigconstant(_openbabel)
ARG = _openbabel.ARG

_openbabel.PHE_swigconstant(_openbabel)
PHE = _openbabel.PHE

_openbabel.GLN_swigconstant(_openbabel)
GLN = _openbabel.GLN

_openbabel.TYR_swigconstant(_openbabel)
TYR = _openbabel.TYR

_openbabel.HIS_swigconstant(_openbabel)
HIS = _openbabel.HIS

_openbabel.CYS_swigconstant(_openbabel)
CYS = _openbabel.CYS

_openbabel.MET_swigconstant(_openbabel)
MET = _openbabel.MET

_openbabel.TRP_swigconstant(_openbabel)
TRP = _openbabel.TRP

_openbabel.ASX_swigconstant(_openbabel)
ASX = _openbabel.ASX

_openbabel.GLX_swigconstant(_openbabel)
GLX = _openbabel.GLX

_openbabel.PCA_swigconstant(_openbabel)
PCA = _openbabel.PCA

_openbabel.HYP_swigconstant(_openbabel)
HYP = _openbabel.HYP

_openbabel.A_swigconstant(_openbabel)
A = _openbabel.A

_openbabel.C_swigconstant(_openbabel)
C = _openbabel.C

_openbabel.G_swigconstant(_openbabel)
G = _openbabel.G

_openbabel.T_swigconstant(_openbabel)
T = _openbabel.T

_openbabel.U_swigconstant(_openbabel)
U = _openbabel.U

_openbabel.UPLUS_swigconstant(_openbabel)
UPLUS = _openbabel.UPLUS

_openbabel.I_swigconstant(_openbabel)
I = _openbabel.I

_openbabel._1MA_swigconstant(_openbabel)
_1MA = _openbabel._1MA

_openbabel._5MC_swigconstant(_openbabel)
_5MC = _openbabel._5MC

_openbabel.OMC_swigconstant(_openbabel)
OMC = _openbabel.OMC

_openbabel._1MG_swigconstant(_openbabel)
_1MG = _openbabel._1MG

_openbabel._2MG_swigconstant(_openbabel)
_2MG = _openbabel._2MG

_openbabel.M2G_swigconstant(_openbabel)
M2G = _openbabel.M2G

_openbabel._7MG_swigconstant(_openbabel)
_7MG = _openbabel._7MG

_openbabel.OMG_swigconstant(_openbabel)
OMG = _openbabel.OMG

_openbabel.YG_swigconstant(_openbabel)
YG = _openbabel.YG

_openbabel.H2U_swigconstant(_openbabel)
H2U = _openbabel.H2U

_openbabel._5MU_swigconstant(_openbabel)
_5MU = _openbabel._5MU

_openbabel.PSU_swigconstant(_openbabel)
PSU = _openbabel.PSU

_openbabel.UNK_swigconstant(_openbabel)
UNK = _openbabel.UNK

_openbabel.ACE_swigconstant(_openbabel)
ACE = _openbabel.ACE

_openbabel.FOR_swigconstant(_openbabel)
FOR = _openbabel.FOR

_openbabel.HOH_swigconstant(_openbabel)
HOH = _openbabel.HOH

_openbabel.DOD_swigconstant(_openbabel)
DOD = _openbabel.DOD

_openbabel.SO4_swigconstant(_openbabel)
SO4 = _openbabel.SO4

_openbabel.PO4_swigconstant(_openbabel)
PO4 = _openbabel.PO4

_openbabel.NAD_swigconstant(_openbabel)
NAD = _openbabel.NAD

_openbabel.COA_swigconstant(_openbabel)
COA = _openbabel.COA

_openbabel.NAP_swigconstant(_openbabel)
NAP = _openbabel.NAP

_openbabel.NDP_swigconstant(_openbabel)
NDP = _openbabel.NDP

_openbabel.AMINO_swigconstant(_openbabel)
AMINO = _openbabel.AMINO

_openbabel.AMINO_NUCLEO_swigconstant(_openbabel)
AMINO_NUCLEO = _openbabel.AMINO_NUCLEO

_openbabel.COENZYME_swigconstant(_openbabel)
COENZYME = _openbabel.COENZYME

_openbabel.ION_swigconstant(_openbabel)
ION = _openbabel.ION

_openbabel.NUCLEO_swigconstant(_openbabel)
NUCLEO = _openbabel.NUCLEO

_openbabel.PROTEIN_swigconstant(_openbabel)
PROTEIN = _openbabel.PROTEIN

_openbabel.PURINE_swigconstant(_openbabel)
PURINE = _openbabel.PURINE

_openbabel.PYRIMIDINE_swigconstant(_openbabel)
PYRIMIDINE = _openbabel.PYRIMIDINE

_openbabel.SOLVENT_swigconstant(_openbabel)
SOLVENT = _openbabel.SOLVENT

_openbabel.WATER_swigconstant(_openbabel)
WATER = _openbabel.WATER
class OBInternalCoord(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    _a = _swig_property(_openbabel.OBInternalCoord__a_get, _openbabel.OBInternalCoord__a_set)
    _b = _swig_property(_openbabel.OBInternalCoord__b_get, _openbabel.OBInternalCoord__b_set)
    _c = _swig_property(_openbabel.OBInternalCoord__c_get, _openbabel.OBInternalCoord__c_set)
    _dst = _swig_property(_openbabel.OBInternalCoord__dst_get, _openbabel.OBInternalCoord__dst_set)
    _ang = _swig_property(_openbabel.OBInternalCoord__ang_get, _openbabel.OBInternalCoord__ang_set)
    _tor = _swig_property(_openbabel.OBInternalCoord__tor_get, _openbabel.OBInternalCoord__tor_set)

    def __init__(self, a: 'OBAtom'=None, b: 'OBAtom'=None, c: 'OBAtom'=None, dst: 'double'=0.0, ang: 'double'=0.0, tor: 'double'=0.0):
        _openbabel.OBInternalCoord_swiginit(self, _openbabel.new_OBInternalCoord(a, b, c, dst, ang, tor))
    __swig_destroy__ = _openbabel.delete_OBInternalCoord
OBInternalCoord_swigregister = _openbabel.OBInternalCoord_swigregister
OBInternalCoord_swigregister(OBInternalCoord)


_openbabel.OB_4RING_ATOM_swigconstant(_openbabel)
OB_4RING_ATOM = _openbabel.OB_4RING_ATOM

_openbabel.OB_3RING_ATOM_swigconstant(_openbabel)
OB_3RING_ATOM = _openbabel.OB_3RING_ATOM

_openbabel.OB_AROMATIC_ATOM_swigconstant(_openbabel)
OB_AROMATIC_ATOM = _openbabel.OB_AROMATIC_ATOM

_openbabel.OB_RING_ATOM_swigconstant(_openbabel)
OB_RING_ATOM = _openbabel.OB_RING_ATOM

_openbabel.OB_CSTEREO_ATOM_swigconstant(_openbabel)
OB_CSTEREO_ATOM = _openbabel.OB_CSTEREO_ATOM

_openbabel.OB_ACSTEREO_ATOM_swigconstant(_openbabel)
OB_ACSTEREO_ATOM = _openbabel.OB_ACSTEREO_ATOM

_openbabel.OB_DONOR_ATOM_swigconstant(_openbabel)
OB_DONOR_ATOM = _openbabel.OB_DONOR_ATOM

_openbabel.OB_ACCEPTOR_ATOM_swigconstant(_openbabel)
OB_ACCEPTOR_ATOM = _openbabel.OB_ACCEPTOR_ATOM

_openbabel.OB_CHIRAL_ATOM_swigconstant(_openbabel)
OB_CHIRAL_ATOM = _openbabel.OB_CHIRAL_ATOM

_openbabel.OB_POS_CHIRAL_ATOM_swigconstant(_openbabel)
OB_POS_CHIRAL_ATOM = _openbabel.OB_POS_CHIRAL_ATOM

_openbabel.OB_NEG_CHIRAL_ATOM_swigconstant(_openbabel)
OB_NEG_CHIRAL_ATOM = _openbabel.OB_NEG_CHIRAL_ATOM

_openbabel.OB_ATOM_HAS_NO_H_swigconstant(_openbabel)
OB_ATOM_HAS_NO_H = _openbabel.OB_ATOM_HAS_NO_H

_openbabel.OB_ATOM_NOT_H_DEFICIENT_swigconstant(_openbabel)
OB_ATOM_NOT_H_DEFICIENT = _openbabel.OB_ATOM_NOT_H_DEFICIENT

_openbabel.OBATOM_TYPE_LEN_swigconstant(_openbabel)
OBATOM_TYPE_LEN = _openbabel.OBATOM_TYPE_LEN
class OBAtom(OBBase):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    Visit = _swig_property(_openbabel.OBAtom_Visit_get, _openbabel.OBAtom_Visit_set)

    def __init__(self):
        _openbabel.OBAtom_swiginit(self, _openbabel.new_OBAtom())
    __swig_destroy__ = _openbabel.delete_OBAtom
OBAtom.__eq__ = new_instancemethod(_openbabel.OBAtom___eq__, None, OBAtom)
OBAtom.Duplicate = new_instancemethod(_openbabel.OBAtom_Duplicate, None, OBAtom)
OBAtom.SetIdx = new_instancemethod(_openbabel.OBAtom_SetIdx, None, OBAtom)
OBAtom.SetId = new_instancemethod(_openbabel.OBAtom_SetId, None, OBAtom)
OBAtom.SetHyb = new_instancemethod(_openbabel.OBAtom_SetHyb, None, OBAtom)
OBAtom.SetAtomicNum = new_instancemethod(_openbabel.OBAtom_SetAtomicNum, None, OBAtom)
OBAtom.SetIsotope = new_instancemethod(_openbabel.OBAtom_SetIsotope, None, OBAtom)
OBAtom.SetImplicitValence = new_instancemethod(_openbabel.OBAtom_SetImplicitValence, None, OBAtom)
OBAtom.IncrementImplicitValence = new_instancemethod(_openbabel.OBAtom_IncrementImplicitValence, None, OBAtom)
OBAtom.DecrementImplicitValence = new_instancemethod(_openbabel.OBAtom_DecrementImplicitValence, None, OBAtom)
OBAtom.SetFormalCharge = new_instancemethod(_openbabel.OBAtom_SetFormalCharge, None, OBAtom)
OBAtom.SetSpinMultiplicity = new_instancemethod(_openbabel.OBAtom_SetSpinMultiplicity, None, OBAtom)
OBAtom.SetType = new_instancemethod(_openbabel.OBAtom_SetType, None, OBAtom)
OBAtom.SetPartialCharge = new_instancemethod(_openbabel.OBAtom_SetPartialCharge, None, OBAtom)
OBAtom.SetCoordPtr = new_instancemethod(_openbabel.OBAtom_SetCoordPtr, None, OBAtom)
OBAtom.SetVector = new_instancemethod(_openbabel.OBAtom_SetVector, None, OBAtom)
OBAtom.SetResidue = new_instancemethod(_openbabel.OBAtom_SetResidue, None, OBAtom)
OBAtom.SetParent = new_instancemethod(_openbabel.OBAtom_SetParent, None, OBAtom)
OBAtom.SetAromatic = new_instancemethod(_openbabel.OBAtom_SetAromatic, None, OBAtom)
OBAtom.UnsetAromatic = new_instancemethod(_openbabel.OBAtom_UnsetAromatic, None, OBAtom)
OBAtom.SetClockwiseStereo = new_instancemethod(_openbabel.OBAtom_SetClockwiseStereo, None, OBAtom)
OBAtom.SetAntiClockwiseStereo = new_instancemethod(_openbabel.OBAtom_SetAntiClockwiseStereo, None, OBAtom)
OBAtom.SetPositiveStereo = new_instancemethod(_openbabel.OBAtom_SetPositiveStereo, None, OBAtom)
OBAtom.SetNegativeStereo = new_instancemethod(_openbabel.OBAtom_SetNegativeStereo, None, OBAtom)
OBAtom.UnsetStereo = new_instancemethod(_openbabel.OBAtom_UnsetStereo, None, OBAtom)
OBAtom.SetInRing = new_instancemethod(_openbabel.OBAtom_SetInRing, None, OBAtom)
OBAtom.SetChiral = new_instancemethod(_openbabel.OBAtom_SetChiral, None, OBAtom)
OBAtom.ClearCoordPtr = new_instancemethod(_openbabel.OBAtom_ClearCoordPtr, None, OBAtom)
OBAtom.GetFormalCharge = new_instancemethod(_openbabel.OBAtom_GetFormalCharge, None, OBAtom)
OBAtom.GetAtomicNum = new_instancemethod(_openbabel.OBAtom_GetAtomicNum, None, OBAtom)
OBAtom.GetIsotope = new_instancemethod(_openbabel.OBAtom_GetIsotope, None, OBAtom)
OBAtom.GetSpinMultiplicity = new_instancemethod(_openbabel.OBAtom_GetSpinMultiplicity, None, OBAtom)
OBAtom.GetAtomicMass = new_instancemethod(_openbabel.OBAtom_GetAtomicMass, None, OBAtom)
OBAtom.GetExactMass = new_instancemethod(_openbabel.OBAtom_GetExactMass, None, OBAtom)
OBAtom.GetIdx = new_instancemethod(_openbabel.OBAtom_GetIdx, None, OBAtom)
OBAtom.GetIndex = new_instancemethod(_openbabel.OBAtom_GetIndex, None, OBAtom)
OBAtom.GetId = new_instancemethod(_openbabel.OBAtom_GetId, None, OBAtom)
OBAtom.GetCoordinateIdx = new_instancemethod(_openbabel.OBAtom_GetCoordinateIdx, None, OBAtom)
OBAtom.GetCIdx = new_instancemethod(_openbabel.OBAtom_GetCIdx, None, OBAtom)
OBAtom.GetValence = new_instancemethod(_openbabel.OBAtom_GetValence, None, OBAtom)
OBAtom.GetHyb = new_instancemethod(_openbabel.OBAtom_GetHyb, None, OBAtom)
OBAtom.GetImplicitValence = new_instancemethod(_openbabel.OBAtom_GetImplicitValence, None, OBAtom)
OBAtom.GetHvyValence = new_instancemethod(_openbabel.OBAtom_GetHvyValence, None, OBAtom)
OBAtom.GetHeteroValence = new_instancemethod(_openbabel.OBAtom_GetHeteroValence, None, OBAtom)
OBAtom.GetType = new_instancemethod(_openbabel.OBAtom_GetType, None, OBAtom)
OBAtom.GetX = new_instancemethod(_openbabel.OBAtom_GetX, None, OBAtom)
OBAtom.GetY = new_instancemethod(_openbabel.OBAtom_GetY, None, OBAtom)
OBAtom.GetZ = new_instancemethod(_openbabel.OBAtom_GetZ, None, OBAtom)
OBAtom.x = new_instancemethod(_openbabel.OBAtom_x, None, OBAtom)
OBAtom.y = new_instancemethod(_openbabel.OBAtom_y, None, OBAtom)
OBAtom.z = new_instancemethod(_openbabel.OBAtom_z, None, OBAtom)
OBAtom.GetCoordinate = new_instancemethod(_openbabel.OBAtom_GetCoordinate, None, OBAtom)
OBAtom.GetVector = new_instancemethod(_openbabel.OBAtom_GetVector, None, OBAtom)
OBAtom.GetPartialCharge = new_instancemethod(_openbabel.OBAtom_GetPartialCharge, None, OBAtom)
OBAtom.GetResidue = new_instancemethod(_openbabel.OBAtom_GetResidue, None, OBAtom)
OBAtom.GetParent = new_instancemethod(_openbabel.OBAtom_GetParent, None, OBAtom)
OBAtom.GetNewBondVector = new_instancemethod(_openbabel.OBAtom_GetNewBondVector, None, OBAtom)
OBAtom.GetBond = new_instancemethod(_openbabel.OBAtom_GetBond, None, OBAtom)
OBAtom.GetNextAtom = new_instancemethod(_openbabel.OBAtom_GetNextAtom, None, OBAtom)
OBAtom.BeginBonds = new_instancemethod(_openbabel.OBAtom_BeginBonds, None, OBAtom)
OBAtom.EndBonds = new_instancemethod(_openbabel.OBAtom_EndBonds, None, OBAtom)
OBAtom.BeginBond = new_instancemethod(_openbabel.OBAtom_BeginBond, None, OBAtom)
OBAtom.NextBond = new_instancemethod(_openbabel.OBAtom_NextBond, None, OBAtom)
OBAtom.BeginNbrAtom = new_instancemethod(_openbabel.OBAtom_BeginNbrAtom, None, OBAtom)
OBAtom.NextNbrAtom = new_instancemethod(_openbabel.OBAtom_NextNbrAtom, None, OBAtom)
OBAtom.GetDistance = new_instancemethod(_openbabel.OBAtom_GetDistance, None, OBAtom)
OBAtom.GetAngle = new_instancemethod(_openbabel.OBAtom_GetAngle, None, OBAtom)
OBAtom.NewResidue = new_instancemethod(_openbabel.OBAtom_NewResidue, None, OBAtom)
OBAtom.AddResidue = new_instancemethod(_openbabel.OBAtom_AddResidue, None, OBAtom)
OBAtom.DeleteResidue = new_instancemethod(_openbabel.OBAtom_DeleteResidue, None, OBAtom)
OBAtom.AddBond = new_instancemethod(_openbabel.OBAtom_AddBond, None, OBAtom)
OBAtom.InsertBond = new_instancemethod(_openbabel.OBAtom_InsertBond, None, OBAtom)
OBAtom.DeleteBond = new_instancemethod(_openbabel.OBAtom_DeleteBond, None, OBAtom)
OBAtom.ClearBond = new_instancemethod(_openbabel.OBAtom_ClearBond, None, OBAtom)
OBAtom.HtoMethyl = new_instancemethod(_openbabel.OBAtom_HtoMethyl, None, OBAtom)
OBAtom.SetHybAndGeom = new_instancemethod(_openbabel.OBAtom_SetHybAndGeom, None, OBAtom)
OBAtom.ForceNoH = new_instancemethod(_openbabel.OBAtom_ForceNoH, None, OBAtom)
OBAtom.HasNoHForced = new_instancemethod(_openbabel.OBAtom_HasNoHForced, None, OBAtom)
OBAtom.ForceImplH = new_instancemethod(_openbabel.OBAtom_ForceImplH, None, OBAtom)
OBAtom.HasImplHForced = new_instancemethod(_openbabel.OBAtom_HasImplHForced, None, OBAtom)
OBAtom.CountFreeOxygens = new_instancemethod(_openbabel.OBAtom_CountFreeOxygens, None, OBAtom)
OBAtom.ImplicitHydrogenCount = new_instancemethod(_openbabel.OBAtom_ImplicitHydrogenCount, None, OBAtom)
OBAtom.ExplicitHydrogenCount = new_instancemethod(_openbabel.OBAtom_ExplicitHydrogenCount, None, OBAtom)
OBAtom.MemberOfRingCount = new_instancemethod(_openbabel.OBAtom_MemberOfRingCount, None, OBAtom)
OBAtom.MemberOfRingSize = new_instancemethod(_openbabel.OBAtom_MemberOfRingSize, None, OBAtom)
OBAtom.CountRingBonds = new_instancemethod(_openbabel.OBAtom_CountRingBonds, None, OBAtom)
OBAtom.SmallestBondAngle = new_instancemethod(_openbabel.OBAtom_SmallestBondAngle, None, OBAtom)
OBAtom.AverageBondAngle = new_instancemethod(_openbabel.OBAtom_AverageBondAngle, None, OBAtom)
OBAtom.BOSum = new_instancemethod(_openbabel.OBAtom_BOSum, None, OBAtom)
OBAtom.KBOSum = new_instancemethod(_openbabel.OBAtom_KBOSum, None, OBAtom)
OBAtom.HasResidue = new_instancemethod(_openbabel.OBAtom_HasResidue, None, OBAtom)
OBAtom.IsHydrogen = new_instancemethod(_openbabel.OBAtom_IsHydrogen, None, OBAtom)
OBAtom.IsCarbon = new_instancemethod(_openbabel.OBAtom_IsCarbon, None, OBAtom)
OBAtom.IsNitrogen = new_instancemethod(_openbabel.OBAtom_IsNitrogen, None, OBAtom)
OBAtom.IsOxygen = new_instancemethod(_openbabel.OBAtom_IsOxygen, None, OBAtom)
OBAtom.IsSulfur = new_instancemethod(_openbabel.OBAtom_IsSulfur, None, OBAtom)
OBAtom.IsPhosphorus = new_instancemethod(_openbabel.OBAtom_IsPhosphorus, None, OBAtom)
OBAtom.IsAromatic = new_instancemethod(_openbabel.OBAtom_IsAromatic, None, OBAtom)
OBAtom.IsInRing = new_instancemethod(_openbabel.OBAtom_IsInRing, None, OBAtom)
OBAtom.IsInRingSize = new_instancemethod(_openbabel.OBAtom_IsInRingSize, None, OBAtom)
OBAtom.IsHeteroatom = new_instancemethod(_openbabel.OBAtom_IsHeteroatom, None, OBAtom)
OBAtom.IsNotCorH = new_instancemethod(_openbabel.OBAtom_IsNotCorH, None, OBAtom)
OBAtom.IsConnected = new_instancemethod(_openbabel.OBAtom_IsConnected, None, OBAtom)
OBAtom.IsOneThree = new_instancemethod(_openbabel.OBAtom_IsOneThree, None, OBAtom)
OBAtom.IsOneFour = new_instancemethod(_openbabel.OBAtom_IsOneFour, None, OBAtom)
OBAtom.IsCarboxylOxygen = new_instancemethod(_openbabel.OBAtom_IsCarboxylOxygen, None, OBAtom)
OBAtom.IsPhosphateOxygen = new_instancemethod(_openbabel.OBAtom_IsPhosphateOxygen, None, OBAtom)
OBAtom.IsSulfateOxygen = new_instancemethod(_openbabel.OBAtom_IsSulfateOxygen, None, OBAtom)
OBAtom.IsNitroOxygen = new_instancemethod(_openbabel.OBAtom_IsNitroOxygen, None, OBAtom)
OBAtom.IsAmideNitrogen = new_instancemethod(_openbabel.OBAtom_IsAmideNitrogen, None, OBAtom)
OBAtom.IsPolarHydrogen = new_instancemethod(_openbabel.OBAtom_IsPolarHydrogen, None, OBAtom)
OBAtom.IsNonPolarHydrogen = new_instancemethod(_openbabel.OBAtom_IsNonPolarHydrogen, None, OBAtom)
OBAtom.IsAromaticNOxide = new_instancemethod(_openbabel.OBAtom_IsAromaticNOxide, None, OBAtom)
OBAtom.IsChiral = new_instancemethod(_openbabel.OBAtom_IsChiral, None, OBAtom)
OBAtom.IsAxial = new_instancemethod(_openbabel.OBAtom_IsAxial, None, OBAtom)
OBAtom.IsClockwise = new_instancemethod(_openbabel.OBAtom_IsClockwise, None, OBAtom)
OBAtom.IsAntiClockwise = new_instancemethod(_openbabel.OBAtom_IsAntiClockwise, None, OBAtom)
OBAtom.IsPositiveStereo = new_instancemethod(_openbabel.OBAtom_IsPositiveStereo, None, OBAtom)
OBAtom.IsNegativeStereo = new_instancemethod(_openbabel.OBAtom_IsNegativeStereo, None, OBAtom)
OBAtom.HasChiralitySpecified = new_instancemethod(_openbabel.OBAtom_HasChiralitySpecified, None, OBAtom)
OBAtom.HasChiralVolume = new_instancemethod(_openbabel.OBAtom_HasChiralVolume, None, OBAtom)
OBAtom.IsHbondAcceptor = new_instancemethod(_openbabel.OBAtom_IsHbondAcceptor, None, OBAtom)
OBAtom.IsHbondDonor = new_instancemethod(_openbabel.OBAtom_IsHbondDonor, None, OBAtom)
OBAtom.IsHbondDonorH = new_instancemethod(_openbabel.OBAtom_IsHbondDonorH, None, OBAtom)
OBAtom.HasAlphaBetaUnsat = new_instancemethod(_openbabel.OBAtom_HasAlphaBetaUnsat, None, OBAtom)
OBAtom.HasBondOfOrder = new_instancemethod(_openbabel.OBAtom_HasBondOfOrder, None, OBAtom)
OBAtom.CountBondsOfOrder = new_instancemethod(_openbabel.OBAtom_CountBondsOfOrder, None, OBAtom)
OBAtom.HasNonSingleBond = new_instancemethod(_openbabel.OBAtom_HasNonSingleBond, None, OBAtom)
OBAtom.HasSingleBond = new_instancemethod(_openbabel.OBAtom_HasSingleBond, None, OBAtom)
OBAtom.HasDoubleBond = new_instancemethod(_openbabel.OBAtom_HasDoubleBond, None, OBAtom)
OBAtom.HasAromaticBond = new_instancemethod(_openbabel.OBAtom_HasAromaticBond, None, OBAtom)
OBAtom.MatchesSMARTS = new_instancemethod(_openbabel.OBAtom_MatchesSMARTS, None, OBAtom)
OBAtom_swigregister = _openbabel.OBAtom_swigregister
OBAtom_swigregister(OBAtom)


_openbabel.OB_AROMATIC_BOND_swigconstant(_openbabel)
OB_AROMATIC_BOND = _openbabel.OB_AROMATIC_BOND

_openbabel.OB_WEDGE_BOND_swigconstant(_openbabel)
OB_WEDGE_BOND = _openbabel.OB_WEDGE_BOND

_openbabel.OB_HASH_BOND_swigconstant(_openbabel)
OB_HASH_BOND = _openbabel.OB_HASH_BOND

_openbabel.OB_RING_BOND_swigconstant(_openbabel)
OB_RING_BOND = _openbabel.OB_RING_BOND

_openbabel.OB_TORUP_BOND_swigconstant(_openbabel)
OB_TORUP_BOND = _openbabel.OB_TORUP_BOND

_openbabel.OB_TORDOWN_BOND_swigconstant(_openbabel)
OB_TORDOWN_BOND = _openbabel.OB_TORDOWN_BOND

_openbabel.OB_KSINGLE_BOND_swigconstant(_openbabel)
OB_KSINGLE_BOND = _openbabel.OB_KSINGLE_BOND

_openbabel.OB_KDOUBLE_BOND_swigconstant(_openbabel)
OB_KDOUBLE_BOND = _openbabel.OB_KDOUBLE_BOND

_openbabel.OB_KTRIPLE_BOND_swigconstant(_openbabel)
OB_KTRIPLE_BOND = _openbabel.OB_KTRIPLE_BOND

_openbabel.OB_CLOSURE_BOND_swigconstant(_openbabel)
OB_CLOSURE_BOND = _openbabel.OB_CLOSURE_BOND

_openbabel.OB_WEDGE_OR_HASH_BOND_swigconstant(_openbabel)
OB_WEDGE_OR_HASH_BOND = _openbabel.OB_WEDGE_OR_HASH_BOND

_openbabel.OB_CIS_OR_TRANS_BOND_swigconstant(_openbabel)
OB_CIS_OR_TRANS_BOND = _openbabel.OB_CIS_OR_TRANS_BOND
class OBBond(OBBase):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    Aromatic = _openbabel.OBBond_Aromatic
    Ring = _openbabel.OBBond_Ring
    Closure = _openbabel.OBBond_Closure
    Wedge = _openbabel.OBBond_Wedge
    Hash = _openbabel.OBBond_Hash
    WedgeOrHash = _openbabel.OBBond_WedgeOrHash
    CisOrTrans = _openbabel.OBBond_CisOrTrans
    Visit = _swig_property(_openbabel.OBBond_Visit_get, _openbabel.OBBond_Visit_set)

    def __init__(self):
        _openbabel.OBBond_swiginit(self, _openbabel.new_OBBond())
    __swig_destroy__ = _openbabel.delete_OBBond
OBBond.SetIdx = new_instancemethod(_openbabel.OBBond_SetIdx, None, OBBond)
OBBond.SetId = new_instancemethod(_openbabel.OBBond_SetId, None, OBBond)
OBBond.SetBO = new_instancemethod(_openbabel.OBBond_SetBO, None, OBBond)
OBBond.SetBondOrder = new_instancemethod(_openbabel.OBBond_SetBondOrder, None, OBBond)
OBBond.SetBegin = new_instancemethod(_openbabel.OBBond_SetBegin, None, OBBond)
OBBond.SetEnd = new_instancemethod(_openbabel.OBBond_SetEnd, None, OBBond)
OBBond.SetParent = new_instancemethod(_openbabel.OBBond_SetParent, None, OBBond)
OBBond.SetLength = new_instancemethod(_openbabel.OBBond_SetLength, None, OBBond)
OBBond.Set = new_instancemethod(_openbabel.OBBond_Set, None, OBBond)
OBBond.SetKSingle = new_instancemethod(_openbabel.OBBond_SetKSingle, None, OBBond)
OBBond.SetKDouble = new_instancemethod(_openbabel.OBBond_SetKDouble, None, OBBond)
OBBond.SetKTriple = new_instancemethod(_openbabel.OBBond_SetKTriple, None, OBBond)
OBBond.SetAromatic = new_instancemethod(_openbabel.OBBond_SetAromatic, None, OBBond)
OBBond.SetWedge = new_instancemethod(_openbabel.OBBond_SetWedge, None, OBBond)
OBBond.SetHash = new_instancemethod(_openbabel.OBBond_SetHash, None, OBBond)
OBBond.SetWedgeOrHash = new_instancemethod(_openbabel.OBBond_SetWedgeOrHash, None, OBBond)
OBBond.SetUp = new_instancemethod(_openbabel.OBBond_SetUp, None, OBBond)
OBBond.SetDown = new_instancemethod(_openbabel.OBBond_SetDown, None, OBBond)
OBBond.SetInRing = new_instancemethod(_openbabel.OBBond_SetInRing, None, OBBond)
OBBond.SetClosure = new_instancemethod(_openbabel.OBBond_SetClosure, None, OBBond)
OBBond.UnsetHash = new_instancemethod(_openbabel.OBBond_UnsetHash, None, OBBond)
OBBond.UnsetWedge = new_instancemethod(_openbabel.OBBond_UnsetWedge, None, OBBond)
OBBond.UnsetUp = new_instancemethod(_openbabel.OBBond_UnsetUp, None, OBBond)
OBBond.UnsetDown = new_instancemethod(_openbabel.OBBond_UnsetDown, None, OBBond)
OBBond.UnsetAromatic = new_instancemethod(_openbabel.OBBond_UnsetAromatic, None, OBBond)
OBBond.UnsetKekule = new_instancemethod(_openbabel.OBBond_UnsetKekule, None, OBBond)
OBBond.GetIdx = new_instancemethod(_openbabel.OBBond_GetIdx, None, OBBond)
OBBond.GetId = new_instancemethod(_openbabel.OBBond_GetId, None, OBBond)
OBBond.GetBO = new_instancemethod(_openbabel.OBBond_GetBO, None, OBBond)
OBBond.GetBondOrder = new_instancemethod(_openbabel.OBBond_GetBondOrder, None, OBBond)
OBBond.GetFlags = new_instancemethod(_openbabel.OBBond_GetFlags, None, OBBond)
OBBond.GetBeginAtomIdx = new_instancemethod(_openbabel.OBBond_GetBeginAtomIdx, None, OBBond)
OBBond.GetEndAtomIdx = new_instancemethod(_openbabel.OBBond_GetEndAtomIdx, None, OBBond)
OBBond.GetBeginAtom = new_instancemethod(_openbabel.OBBond_GetBeginAtom, None, OBBond)
OBBond.GetEndAtom = new_instancemethod(_openbabel.OBBond_GetEndAtom, None, OBBond)
OBBond.GetNbrAtom = new_instancemethod(_openbabel.OBBond_GetNbrAtom, None, OBBond)
OBBond.GetParent = new_instancemethod(_openbabel.OBBond_GetParent, None, OBBond)
OBBond.GetEquibLength = new_instancemethod(_openbabel.OBBond_GetEquibLength, None, OBBond)
OBBond.GetLength = new_instancemethod(_openbabel.OBBond_GetLength, None, OBBond)
OBBond.GetNbrAtomIdx = new_instancemethod(_openbabel.OBBond_GetNbrAtomIdx, None, OBBond)
OBBond.FindSmallestRing = new_instancemethod(_openbabel.OBBond_FindSmallestRing, None, OBBond)
OBBond.IsAromatic = new_instancemethod(_openbabel.OBBond_IsAromatic, None, OBBond)
OBBond.IsInRing = new_instancemethod(_openbabel.OBBond_IsInRing, None, OBBond)
OBBond.IsRotor = new_instancemethod(_openbabel.OBBond_IsRotor, None, OBBond)
OBBond.IsAmide = new_instancemethod(_openbabel.OBBond_IsAmide, None, OBBond)
OBBond.IsPrimaryAmide = new_instancemethod(_openbabel.OBBond_IsPrimaryAmide, None, OBBond)
OBBond.IsSecondaryAmide = new_instancemethod(_openbabel.OBBond_IsSecondaryAmide, None, OBBond)
OBBond.IsTertiaryAmide = new_instancemethod(_openbabel.OBBond_IsTertiaryAmide, None, OBBond)
OBBond.IsEster = new_instancemethod(_openbabel.OBBond_IsEster, None, OBBond)
OBBond.IsCarbonyl = new_instancemethod(_openbabel.OBBond_IsCarbonyl, None, OBBond)
OBBond.IsSingle = new_instancemethod(_openbabel.OBBond_IsSingle, None, OBBond)
OBBond.IsDouble = new_instancemethod(_openbabel.OBBond_IsDouble, None, OBBond)
OBBond.IsTriple = new_instancemethod(_openbabel.OBBond_IsTriple, None, OBBond)
OBBond.IsKSingle = new_instancemethod(_openbabel.OBBond_IsKSingle, None, OBBond)
OBBond.IsKDouble = new_instancemethod(_openbabel.OBBond_IsKDouble, None, OBBond)
OBBond.IsKTriple = new_instancemethod(_openbabel.OBBond_IsKTriple, None, OBBond)
OBBond.IsClosure = new_instancemethod(_openbabel.OBBond_IsClosure, None, OBBond)
OBBond.IsUp = new_instancemethod(_openbabel.OBBond_IsUp, None, OBBond)
OBBond.IsDown = new_instancemethod(_openbabel.OBBond_IsDown, None, OBBond)
OBBond.IsWedge = new_instancemethod(_openbabel.OBBond_IsWedge, None, OBBond)
OBBond.IsHash = new_instancemethod(_openbabel.OBBond_IsHash, None, OBBond)
OBBond.IsWedgeOrHash = new_instancemethod(_openbabel.OBBond_IsWedgeOrHash, None, OBBond)
OBBond.IsCisOrTrans = new_instancemethod(_openbabel.OBBond_IsCisOrTrans, None, OBBond)
OBBond.IsDoubleBondGeometry = new_instancemethod(_openbabel.OBBond_IsDoubleBondGeometry, None, OBBond)
OBBond_swigregister = _openbabel.OBBond_swigregister
OBBond_swigregister(OBBond)

class OBReaction(OBBase):
    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):
        _openbabel.OBReaction_swiginit(self, _openbabel.new_OBReaction())
    ClassDescription = staticmethod(_openbabel.OBReaction_ClassDescription)
    __swig_destroy__ = _openbabel.delete_OBReaction
OBReaction.NumReactants = new_instancemethod(_openbabel.OBReaction_NumReactants, None, OBReaction)
OBReaction.NumProducts = new_instancemethod(_openbabel.OBReaction_NumProducts, None, OBReaction)
OBReaction.AddReactant = new_instancemethod(_openbabel.OBReaction_AddReactant, None, OBReaction)
OBReaction.AddProduct = new_instancemethod(_openbabel.OBReaction_AddProduct, None, OBReaction)
OBReaction.SetTransitionState = new_instancemethod(_openbabel.OBReaction_SetTransitionState, None, OBReaction)
OBReaction.AddAgent = new_instancemethod(_openbabel.OBReaction_AddAgent, None, OBReaction)
OBReaction.GetReactant = new_instancemethod(_openbabel.OBReaction_GetReactant, None, OBReaction)
OBReaction.GetProduct = new_instancemethod(_openbabel.OBReaction_GetProduct, None, OBReaction)
OBReaction.GetTransitionState = new_instancemethod(_openbabel.OBReaction_GetTransitionState, None, OBReaction)
OBReaction.GetAgent = new_instancemethod(_openbabel.OBReaction_GetAgent, None, OBReaction)
OBReaction.GetTitle = new_instancemethod(_openbabel.OBReaction_GetTitle, None, OBReaction)
OBReaction.GetComment = new_instancemethod(_openbabel.OBReaction_GetComment, None, OBReaction)
OBReaction.SetTitle = new_instancemethod(_openbabel.OBReaction_SetTitle, None, OBReaction)
OBReaction.SetComment = new_instancemethod(_openbabel.OBReaction_SetComment, None, OBReaction)
OBReaction.IsReversible = new_instancemethod(_openbabel.OBReaction_IsReversible, None, OBReaction)
OBReaction.SetReversible = new_instancemethod(_openbabel.OBReaction_SetReversible, None, OBReaction)
OBReaction_swigregister = _openbabel.OBReaction_swigregister
OBReaction_swigregister(OBReaction)

def OBReaction_ClassDescription() -> "char const *":
    return _openbabel.OBReaction_ClassDescription()
OBReaction_ClassDescription = _openbabel.OBReaction_ClassDescription


def exceptionIter(*args):
    raise Exception("""\nThis method can only be used from C++. To iterate from Python
use the Iter classes (OBMolAtomIter, etc.) as described at
http://openbabel.org/wiki/Python""")


_openbabel.OB_SSSR_MOL_swigconstant(_openbabel)
OB_SSSR_MOL = _openbabel.OB_SSSR_MOL

_openbabel.OB_RINGFLAGS_MOL_swigconstant(_openbabel)
OB_RINGFLAGS_MOL = _openbabel.OB_RINGFLAGS_MOL

_openbabel.OB_AROMATIC_MOL_swigconstant(_openbabel)
OB_AROMATIC_MOL = _openbabel.OB_AROMATIC_MOL

_openbabel.OB_ATOMTYPES_MOL_swigconstant(_openbabel)
OB_ATOMTYPES_MOL = _openbabel.OB_ATOMTYPES_MOL

_openbabel.OB_CHIRALITY_MOL_swigconstant(_openbabel)
OB_CHIRALITY_MOL = _openbabel.OB_CHIRALITY_MOL

_openbabel.OB_PCHARGE_MOL_swigconstant(_openbabel)
OB_PCHARGE_MOL = _openbabel.OB_PCHARGE_MOL

_openbabel.OB_HYBRID_MOL_swigconstant(_openbabel)
OB_HYBRID_MOL = _openbabel.OB_HYBRID_MOL

_openbabel.OB_IMPVAL_MOL_swigconstant(_openbabel)
OB_IMPVAL_MOL = _openbabel.OB_IMPVAL_MOL

_openbabel.OB_KEKULE_MOL_swigconstant(_openbabel)
OB_KEKULE_MOL = _openbabel.OB_KEKULE_MOL

_openbabel.OB_CLOSURE_MOL_swigconstant(_openbabel)
OB_CLOSURE_MOL = _openbabel.OB_CLOSURE_MOL

_openbabel.OB_H_ADDED_MOL_swigconstant(_openbabel)
OB_H_ADDED_MOL = _openbabel.OB_H_ADDED_MOL

_openbabel.OB_PH_CORRECTED_MOL_swigconstant(_openbabel)
OB_PH_CORRECTED_MOL = _openbabel.OB_PH_CORRECTED_MOL

_openbabel.OB_AROM_CORRECTED_MOL_swigconstant(_openbabel)
OB_AROM_CORRECTED_MOL = _openbabel.OB_AROM_CORRECTED_MOL

_openbabel.OB_CHAINS_MOL_swigconstant(_openbabel)
OB_CHAINS_MOL = _openbabel.OB_CHAINS_MOL

_openbabel.OB_TCHARGE_MOL_swigconstant(_openbabel)
OB_TCHARGE_MOL = _openbabel.OB_TCHARGE_MOL

_openbabel.OB_TSPIN_MOL_swigconstant(_openbabel)
OB_TSPIN_MOL = _openbabel.OB_TSPIN_MOL

_openbabel.OB_RINGTYPES_MOL_swigconstant(_openbabel)
OB_RINGTYPES_MOL = _openbabel.OB_RINGTYPES_MOL

_openbabel.OB_PATTERN_STRUCTURE_swigconstant(_openbabel)
OB_PATTERN_STRUCTURE = _openbabel.OB_PATTERN_STRUCTURE

_openbabel.OB_LSSR_MOL_swigconstant(_openbabel)
OB_LSSR_MOL = _openbabel.OB_LSSR_MOL

_openbabel.OB_CURRENT_CONFORMER_swigconstant(_openbabel)
OB_CURRENT_CONFORMER = _openbabel.OB_CURRENT_CONFORMER
class OBMol(OBBase):
    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):
        _openbabel.OBMol_swiginit(self, _openbabel.new_OBMol(*args))
    __swig_destroy__ = _openbabel.delete_OBMol
    ClassDescription = staticmethod(_openbabel.OBMol_ClassDescription)
OBMol.__iadd__ = new_instancemethod(_openbabel.OBMol___iadd__, None, OBMol)
OBMol.ReserveAtoms = new_instancemethod(_openbabel.OBMol_ReserveAtoms, None, OBMol)
OBMol.CreateAtom = new_instancemethod(_openbabel.OBMol_CreateAtom, None, OBMol)
OBMol.CreateBond = new_instancemethod(_openbabel.OBMol_CreateBond, None, OBMol)
OBMol.CreateResidue = new_instancemethod(_openbabel.OBMol_CreateResidue, None, OBMol)
OBMol.DestroyAtom = new_instancemethod(_openbabel.OBMol_DestroyAtom, None, OBMol)
OBMol.DestroyBond = new_instancemethod(_openbabel.OBMol_DestroyBond, None, OBMol)
OBMol.DestroyResidue = new_instancemethod(_openbabel.OBMol_DestroyResidue, None, OBMol)
OBMol.AddAtom = new_instancemethod(_openbabel.OBMol_AddAtom, None, OBMol)
OBMol.InsertAtom = new_instancemethod(_openbabel.OBMol_InsertAtom, None, OBMol)
OBMol.AddBond = new_instancemethod(_openbabel.OBMol_AddBond, None, OBMol)
OBMol.AddResidue = new_instancemethod(_openbabel.OBMol_AddResidue, None, OBMol)
OBMol.NewAtom = new_instancemethod(_openbabel.OBMol_NewAtom, None, OBMol)
OBMol.NewBond = new_instancemethod(_openbabel.OBMol_NewBond, None, OBMol)
OBMol.NewResidue = new_instancemethod(_openbabel.OBMol_NewResidue, None, OBMol)
OBMol.DeleteAtom = new_instancemethod(_openbabel.OBMol_DeleteAtom, None, OBMol)
OBMol.DeleteBond = new_instancemethod(_openbabel.OBMol_DeleteBond, None, OBMol)
OBMol.DeleteResidue = new_instancemethod(_openbabel.OBMol_DeleteResidue, None, OBMol)
OBMol.BeginModify = new_instancemethod(_openbabel.OBMol_BeginModify, None, OBMol)
OBMol.EndModify = new_instancemethod(_openbabel.OBMol_EndModify, None, OBMol)
OBMol.GetMod = new_instancemethod(_openbabel.OBMol_GetMod, None, OBMol)
OBMol.IncrementMod = new_instancemethod(_openbabel.OBMol_IncrementMod, None, OBMol)
OBMol.DecrementMod = new_instancemethod(_openbabel.OBMol_DecrementMod, None, OBMol)
OBMol.GetFlags = new_instancemethod(_openbabel.OBMol_GetFlags, None, OBMol)
OBMol.GetTitle = new_instancemethod(_openbabel.OBMol_GetTitle, None, OBMol)
OBMol.NumAtoms = new_instancemethod(_openbabel.OBMol_NumAtoms, None, OBMol)
OBMol.NumBonds = new_instancemethod(_openbabel.OBMol_NumBonds, None, OBMol)
OBMol.NumHvyAtoms = new_instancemethod(_openbabel.OBMol_NumHvyAtoms, None, OBMol)
OBMol.NumResidues = new_instancemethod(_openbabel.OBMol_NumResidues, None, OBMol)
OBMol.NumRotors = new_instancemethod(_openbabel.OBMol_NumRotors, None, OBMol)
OBMol.GetAtom = new_instancemethod(_openbabel.OBMol_GetAtom, None, OBMol)
OBMol.GetAtomById = new_instancemethod(_openbabel.OBMol_GetAtomById, None, OBMol)
OBMol.GetFirstAtom = new_instancemethod(_openbabel.OBMol_GetFirstAtom, None, OBMol)
OBMol.GetBondById = new_instancemethod(_openbabel.OBMol_GetBondById, None, OBMol)
OBMol.GetBond = new_instancemethod(_openbabel.OBMol_GetBond, None, OBMol)
OBMol.GetResidue = new_instancemethod(_openbabel.OBMol_GetResidue, None, OBMol)
OBMol.GetInternalCoord = new_instancemethod(_openbabel.OBMol_GetInternalCoord, None, OBMol)
OBMol.GetTorsion = new_instancemethod(_openbabel.OBMol_GetTorsion, None, OBMol)
OBMol.GetAngle = new_instancemethod(_openbabel.OBMol_GetAngle, None, OBMol)
OBMol.GetFormula = new_instancemethod(_openbabel.OBMol_GetFormula, None, OBMol)
OBMol.GetSpacedFormula = new_instancemethod(_openbabel.OBMol_GetSpacedFormula, None, OBMol)
OBMol.GetMolWt = new_instancemethod(_openbabel.OBMol_GetMolWt, None, OBMol)
OBMol.GetExactMass = new_instancemethod(_openbabel.OBMol_GetExactMass, None, OBMol)
OBMol.GetTotalCharge = new_instancemethod(_openbabel.OBMol_GetTotalCharge, None, OBMol)
OBMol.GetTotalSpinMultiplicity = new_instancemethod(_openbabel.OBMol_GetTotalSpinMultiplicity, None, OBMol)
OBMol.GetDimension = new_instancemethod(_openbabel.OBMol_GetDimension, None, OBMol)
OBMol.GetCoordinates = new_instancemethod(_openbabel.OBMol_GetCoordinates, None, OBMol)
OBMol.GetSSSR = new_instancemethod(_openbabel.OBMol_GetSSSR, None, OBMol)
OBMol.GetLSSR = new_instancemethod(_openbabel.OBMol_GetLSSR, None, OBMol)
OBMol.AutomaticFormalCharge = new_instancemethod(_openbabel.OBMol_AutomaticFormalCharge, None, OBMol)
OBMol.AutomaticPartialCharge = new_instancemethod(_openbabel.OBMol_AutomaticPartialCharge, None, OBMol)
OBMol.SetTitle = new_instancemethod(_openbabel.OBMol_SetTitle, None, OBMol)
OBMol.SetFormula = new_instancemethod(_openbabel.OBMol_SetFormula, None, OBMol)
OBMol.SetEnergy = new_instancemethod(_openbabel.OBMol_SetEnergy, None, OBMol)
OBMol.SetDimension = new_instancemethod(_openbabel.OBMol_SetDimension, None, OBMol)
OBMol.SetTotalCharge = new_instancemethod(_openbabel.OBMol_SetTotalCharge, None, OBMol)
OBMol.SetTotalSpinMultiplicity = new_instancemethod(_openbabel.OBMol_SetTotalSpinMultiplicity, None, OBMol)
OBMol.SetInternalCoord = new_instancemethod(_openbabel.OBMol_SetInternalCoord, None, OBMol)
OBMol.SetAutomaticFormalCharge = new_instancemethod(_openbabel.OBMol_SetAutomaticFormalCharge, None, OBMol)
OBMol.SetAutomaticPartialCharge = new_instancemethod(_openbabel.OBMol_SetAutomaticPartialCharge, None, OBMol)
OBMol.SetAromaticPerceived = new_instancemethod(_openbabel.OBMol_SetAromaticPerceived, None, OBMol)
OBMol.SetSSSRPerceived = new_instancemethod(_openbabel.OBMol_SetSSSRPerceived, None, OBMol)
OBMol.SetLSSRPerceived = new_instancemethod(_openbabel.OBMol_SetLSSRPerceived, None, OBMol)
OBMol.SetRingAtomsAndBondsPerceived = new_instancemethod(_openbabel.OBMol_SetRingAtomsAndBondsPerceived, None, OBMol)
OBMol.SetAtomTypesPerceived = new_instancemethod(_openbabel.OBMol_SetAtomTypesPerceived, None, OBMol)
OBMol.SetRingTypesPerceived = new_instancemethod(_openbabel.OBMol_SetRingTypesPerceived, None, OBMol)
OBMol.SetChainsPerceived = new_instancemethod(_openbabel.OBMol_SetChainsPerceived, None, OBMol)
OBMol.SetChiralityPerceived = new_instancemethod(_openbabel.OBMol_SetChiralityPerceived, None, OBMol)
OBMol.SetPartialChargesPerceived = new_instancemethod(_openbabel.OBMol_SetPartialChargesPerceived, None, OBMol)
OBMol.SetHybridizationPerceived = new_instancemethod(_openbabel.OBMol_SetHybridizationPerceived, None, OBMol)
OBMol.SetImplicitValencePerceived = new_instancemethod(_openbabel.OBMol_SetImplicitValencePerceived, None, OBMol)
OBMol.SetKekulePerceived = new_instancemethod(_openbabel.OBMol_SetKekulePerceived, None, OBMol)
OBMol.SetClosureBondsPerceived = new_instancemethod(_openbabel.OBMol_SetClosureBondsPerceived, None, OBMol)
OBMol.SetHydrogensAdded = new_instancemethod(_openbabel.OBMol_SetHydrogensAdded, None, OBMol)
OBMol.SetCorrectedForPH = new_instancemethod(_openbabel.OBMol_SetCorrectedForPH, None, OBMol)
OBMol.SetAromaticCorrected = new_instancemethod(_openbabel.OBMol_SetAromaticCorrected, None, OBMol)
OBMol.SetSpinMultiplicityAssigned = new_instancemethod(_openbabel.OBMol_SetSpinMultiplicityAssigned, None, OBMol)
OBMol.SetFlags = new_instancemethod(_openbabel.OBMol_SetFlags, None, OBMol)
OBMol.UnsetAromaticPerceived = new_instancemethod(_openbabel.OBMol_UnsetAromaticPerceived, None, OBMol)
OBMol.UnsetSSSRPerceived = new_instancemethod(_openbabel.OBMol_UnsetSSSRPerceived, None, OBMol)
OBMol.UnsetRingTypesPerceived = new_instancemethod(_openbabel.OBMol_UnsetRingTypesPerceived, None, OBMol)
OBMol.UnsetPartialChargesPerceived = new_instancemethod(_openbabel.OBMol_UnsetPartialChargesPerceived, None, OBMol)
OBMol.UnsetImplicitValencePerceived = new_instancemethod(_openbabel.OBMol_UnsetImplicitValencePerceived, None, OBMol)
OBMol.UnsetHydrogensAdded = new_instancemethod(_openbabel.OBMol_UnsetHydrogensAdded, None, OBMol)
OBMol.UnsetFlag = new_instancemethod(_openbabel.OBMol_UnsetFlag, None, OBMol)
OBMol.RenumberAtoms = new_instancemethod(_openbabel.OBMol_RenumberAtoms, None, OBMol)
OBMol.SetCoordinates = new_instancemethod(_openbabel.OBMol_SetCoordinates, None, OBMol)
OBMol.ToInertialFrame = new_instancemethod(_openbabel.OBMol_ToInertialFrame, None, OBMol)
OBMol.Translate = new_instancemethod(_openbabel.OBMol_Translate, None, OBMol)
OBMol.Rotate = new_instancemethod(_openbabel.OBMol_Rotate, None, OBMol)
OBMol.Kekulize = new_instancemethod(_openbabel.OBMol_Kekulize, None, OBMol)
OBMol.PerceiveKekuleBonds = new_instancemethod(_openbabel.OBMol_PerceiveKekuleBonds, None, OBMol)
OBMol.NewPerceiveKekuleBonds = new_instancemethod(_openbabel.OBMol_NewPerceiveKekuleBonds, None, OBMol)
OBMol.DeleteHydrogens = new_instancemethod(_openbabel.OBMol_DeleteHydrogens, None, OBMol)
OBMol.DeleteNonPolarHydrogens = new_instancemethod(_openbabel.OBMol_DeleteNonPolarHydrogens, None, OBMol)
OBMol.DeleteHydrogen = new_instancemethod(_openbabel.OBMol_DeleteHydrogen, None, OBMol)
OBMol.AddHydrogens = new_instancemethod(_openbabel.OBMol_AddHydrogens, None, OBMol)
OBMol.AddPolarHydrogens = new_instancemethod(_openbabel.OBMol_AddPolarHydrogens, None, OBMol)
OBMol.StripSalts = new_instancemethod(_openbabel.OBMol_StripSalts, None, OBMol)
OBMol.Separate = new_instancemethod(_openbabel.OBMol_Separate, None, OBMol)
OBMol.GetNextFragment = new_instancemethod(_openbabel.OBMol_GetNextFragment, None, OBMol)
OBMol.ConvertDativeBonds = new_instancemethod(_openbabel.OBMol_ConvertDativeBonds, None, OBMol)
OBMol.CorrectForPH = new_instancemethod(_openbabel.OBMol_CorrectForPH, None, OBMol)
OBMol.AssignSpinMultiplicity = new_instancemethod(_openbabel.OBMol_AssignSpinMultiplicity, None, OBMol)
OBMol.SetIsPatternStructure = new_instancemethod(_openbabel.OBMol_SetIsPatternStructure, None, OBMol)
OBMol.Center = new_instancemethod(_openbabel.OBMol_Center, None, OBMol)
OBMol.FindSSSR = new_instancemethod(_openbabel.OBMol_FindSSSR, None, OBMol)
OBMol.FindLSSR = new_instancemethod(_openbabel.OBMol_FindLSSR, None, OBMol)
OBMol.FindRingAtomsAndBonds = new_instancemethod(_openbabel.OBMol_FindRingAtomsAndBonds, None, OBMol)
OBMol.FindChiralCenters = new_instancemethod(_openbabel.OBMol_FindChiralCenters, None, OBMol)
OBMol.FindChildren = new_instancemethod(_openbabel.OBMol_FindChildren, None, OBMol)
OBMol.FindLargestFragment = new_instancemethod(_openbabel.OBMol_FindLargestFragment, None, OBMol)
OBMol.ContigFragList = new_instancemethod(_openbabel.OBMol_ContigFragList, None, OBMol)
OBMol.Align = new_instancemethod(_openbabel.OBMol_Align, None, OBMol)
OBMol.ConnectTheDots = new_instancemethod(_openbabel.OBMol_ConnectTheDots, None, OBMol)
OBMol.PerceiveBondOrders = new_instancemethod(_openbabel.OBMol_PerceiveBondOrders, None, OBMol)
OBMol.FindAngles = new_instancemethod(_openbabel.OBMol_FindAngles, None, OBMol)
OBMol.FindTorsions = new_instancemethod(_openbabel.OBMol_FindTorsions, None, OBMol)
OBMol.GetGTDVector = new_instancemethod(_openbabel.OBMol_GetGTDVector, None, OBMol)
OBMol.GetGIVector = new_instancemethod(_openbabel.OBMol_GetGIVector, None, OBMol)
OBMol.GetGIDVector = new_instancemethod(_openbabel.OBMol_GetGIDVector, None, OBMol)
OBMol.Has2D = new_instancemethod(_openbabel.OBMol_Has2D, None, OBMol)
OBMol.Has3D = new_instancemethod(_openbabel.OBMol_Has3D, None, OBMol)
OBMol.HasNonZeroCoords = new_instancemethod(_openbabel.OBMol_HasNonZeroCoords, None, OBMol)
OBMol.HasAromaticPerceived = new_instancemethod(_openbabel.OBMol_HasAromaticPerceived, None, OBMol)
OBMol.HasSSSRPerceived = new_instancemethod(_openbabel.OBMol_HasSSSRPerceived, None, OBMol)
OBMol.HasLSSRPerceived = new_instancemethod(_openbabel.OBMol_HasLSSRPerceived, None, OBMol)
OBMol.HasRingAtomsAndBondsPerceived = new_instancemethod(_openbabel.OBMol_HasRingAtomsAndBondsPerceived, None, OBMol)
OBMol.HasAtomTypesPerceived = new_instancemethod(_openbabel.OBMol_HasAtomTypesPerceived, None, OBMol)
OBMol.HasRingTypesPerceived = new_instancemethod(_openbabel.OBMol_HasRingTypesPerceived, None, OBMol)
OBMol.HasChiralityPerceived = new_instancemethod(_openbabel.OBMol_HasChiralityPerceived, None, OBMol)
OBMol.HasPartialChargesPerceived = new_instancemethod(_openbabel.OBMol_HasPartialChargesPerceived, None, OBMol)
OBMol.HasHybridizationPerceived = new_instancemethod(_openbabel.OBMol_HasHybridizationPerceived, None, OBMol)
OBMol.HasImplicitValencePerceived = new_instancemethod(_openbabel.OBMol_HasImplicitValencePerceived, None, OBMol)
OBMol.HasKekulePerceived = new_instancemethod(_openbabel.OBMol_HasKekulePerceived, None, OBMol)
OBMol.HasClosureBondsPerceived = new_instancemethod(_openbabel.OBMol_HasClosureBondsPerceived, None, OBMol)
OBMol.HasChainsPerceived = new_instancemethod(_openbabel.OBMol_HasChainsPerceived, None, OBMol)
OBMol.HasHydrogensAdded = new_instancemethod(_openbabel.OBMol_HasHydrogensAdded, None, OBMol)
OBMol.HasAromaticCorrected = new_instancemethod(_openbabel.OBMol_HasAromaticCorrected, None, OBMol)
OBMol.IsCorrectedForPH = new_instancemethod(_openbabel.OBMol_IsCorrectedForPH, None, OBMol)
OBMol.HasSpinMultiplicityAssigned = new_instancemethod(_openbabel.OBMol_HasSpinMultiplicityAssigned, None, OBMol)
OBMol.IsChiral = new_instancemethod(_openbabel.OBMol_IsChiral, None, OBMol)
OBMol.Empty = new_instancemethod(_openbabel.OBMol_Empty, None, OBMol)
OBMol.NumConformers = new_instancemethod(_openbabel.OBMol_NumConformers, None, OBMol)
OBMol.SetConformers = new_instancemethod(_openbabel.OBMol_SetConformers, None, OBMol)
OBMol.AddConformer = new_instancemethod(_openbabel.OBMol_AddConformer, None, OBMol)
OBMol.SetConformer = new_instancemethod(_openbabel.OBMol_SetConformer, None, OBMol)
OBMol.CopyConformer = new_instancemethod(_openbabel.OBMol_CopyConformer, None, OBMol)
OBMol.DeleteConformer = new_instancemethod(_openbabel.OBMol_DeleteConformer, None, OBMol)
OBMol.GetConformer = new_instancemethod(_openbabel.OBMol_GetConformer, None, OBMol)
OBMol.SetEnergies = new_instancemethod(_openbabel.OBMol_SetEnergies, None, OBMol)
OBMol.GetEnergies = new_instancemethod(_openbabel.OBMol_GetEnergies, None, OBMol)
OBMol.GetEnergy = new_instancemethod(_openbabel.OBMol_GetEnergy, None, OBMol)
OBMol.BeginConformer = new_instancemethod(_openbabel.OBMol_BeginConformer, None, OBMol)
OBMol.NextConformer = new_instancemethod(_openbabel.OBMol_NextConformer, None, OBMol)
OBMol.GetConformers = new_instancemethod(_openbabel.OBMol_GetConformers, None, OBMol)
OBMol.BeginInternalCoord = new_instancemethod(_openbabel.OBMol_BeginInternalCoord, None, OBMol)
OBMol.NextInternalCoord = new_instancemethod(_openbabel.OBMol_NextInternalCoord, None, OBMol)
OBMol.SetTorsion = new_instancemethod(_openbabel.OBMol_SetTorsion, None, OBMol)
OBMol_swigregister = _openbabel.OBMol_swigregister
OBMol_swigregister(OBMol)

def OBMol_ClassDescription() -> "char const *":
    return _openbabel.OBMol_ClassDescription()
OBMol_ClassDescription = _openbabel.OBMol_ClassDescription


def ThrowError(*args) -> "void":
    return _openbabel.ThrowError(*args)
ThrowError = _openbabel.ThrowError

def CartesianToInternal(arg1: 'vectorpOBInternalCoord', arg2: 'OBMol') -> "void":
    return _openbabel.CartesianToInternal(arg1, arg2)
CartesianToInternal = _openbabel.CartesianToInternal

def InternalToCartesian(arg1: 'vectorpOBInternalCoord', arg2: 'OBMol') -> "void":
    return _openbabel.InternalToCartesian(arg1, arg2)
InternalToCartesian = _openbabel.InternalToCartesian

def NewExtension(arg1: 'std::string &', arg2: 'char *') -> "std::string":
    return _openbabel.NewExtension(arg1, arg2)
NewExtension = _openbabel.NewExtension

_openbabel.BUFF_SIZE_swigconstant(_openbabel)
BUFF_SIZE = _openbabel.BUFF_SIZE

def get_rmat(arg1: 'double *', arg2: 'double *', arg3: 'double *', arg4: 'int') -> "void":
    return _openbabel.get_rmat(arg1, arg2, arg3, arg4)
get_rmat = _openbabel.get_rmat

def ob_make_rmat(mat: 'double [3][3]', rmat: 'double [9]') -> "void":
    return _openbabel.ob_make_rmat(mat, rmat)
ob_make_rmat = _openbabel.ob_make_rmat

def qtrfit(r: 'double *', f: 'double *', size: 'int', u: 'double [3][3]') -> "void":
    return _openbabel.qtrfit(r, f, size, u)
qtrfit = _openbabel.qtrfit

def superimpose(arg1: 'double *', arg2: 'double *', arg3: 'int') -> "double":
    return _openbabel.superimpose(arg1, arg2, arg3)
superimpose = _openbabel.superimpose

OBMol.BeginAtoms = OBMol.EndAtoms = OBMol.BeginAtom = OBMol.EndAtom = exceptionIter
OBMol.BeginBonds = OBMol.EndBonds = OBMol.BeginBond = OBMol.EndBond = exceptionIter
OBMol.BeginResidues = OBMol.EndResidues = OBMol.BeginResidue = OBMol.EndResidue = exceptionIter

class OBRing(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    ring_id = _swig_property(_openbabel.OBRing_ring_id_get, _openbabel.OBRing_ring_id_set)
    _path = _swig_property(_openbabel.OBRing__path_get, _openbabel.OBRing__path_set)
    _pathset = _swig_property(_openbabel.OBRing__pathset_get, _openbabel.OBRing__pathset_set)

    def __init__(self, *args):
        _openbabel.OBRing_swiginit(self, _openbabel.new_OBRing(*args))
    __swig_destroy__ = _openbabel.delete_OBRing
OBRing.Size = new_instancemethod(_openbabel.OBRing_Size, None, OBRing)
OBRing.PathSize = new_instancemethod(_openbabel.OBRing_PathSize, None, OBRing)
OBRing.IsAromatic = new_instancemethod(_openbabel.OBRing_IsAromatic, None, OBRing)
OBRing.SetType = new_instancemethod(_openbabel.OBRing_SetType, None, OBRing)
OBRing.GetType = new_instancemethod(_openbabel.OBRing_GetType, None, OBRing)
OBRing.GetRootAtom = new_instancemethod(_openbabel.OBRing_GetRootAtom, None, OBRing)
OBRing.IsMember = new_instancemethod(_openbabel.OBRing_IsMember, None, OBRing)
OBRing.IsInRing = new_instancemethod(_openbabel.OBRing_IsInRing, None, OBRing)
OBRing.SetParent = new_instancemethod(_openbabel.OBRing_SetParent, None, OBRing)
OBRing.GetParent = new_instancemethod(_openbabel.OBRing_GetParent, None, OBRing)
OBRing.findCenterAndNormal = new_instancemethod(_openbabel.OBRing_findCenterAndNormal, None, OBRing)
OBRing_swigregister = _openbabel.OBRing_swigregister
OBRing_swigregister(OBRing)
NoId = cvar.NoId


def CompareRingSize(arg1: 'OBRing', arg2: 'OBRing') -> "bool":
    return _openbabel.CompareRingSize(arg1, arg2)
CompareRingSize = _openbabel.CompareRingSize
class OBRingSearch(object):
    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):
        _openbabel.OBRingSearch_swiginit(self, _openbabel.new_OBRingSearch())
    __swig_destroy__ = _openbabel.delete_OBRingSearch
OBRingSearch.SortRings = new_instancemethod(_openbabel.OBRingSearch_SortRings, None, OBRingSearch)
OBRingSearch.RemoveRedundant = new_instancemethod(_openbabel.OBRingSearch_RemoveRedundant, None, OBRingSearch)
OBRingSearch.AddRingFromClosure = new_instancemethod(_openbabel.OBRingSearch_AddRingFromClosure, None, OBRingSearch)
OBRingSearch.SaveUniqueRing = new_instancemethod(_openbabel.OBRingSearch_SaveUniqueRing, None, OBRingSearch)
OBRingSearch.WriteRings = new_instancemethod(_openbabel.OBRingSearch_WriteRings, None, OBRingSearch)
OBRingSearch.BeginRings = new_instancemethod(_openbabel.OBRingSearch_BeginRings, None, OBRingSearch)
OBRingSearch.EndRings = new_instancemethod(_openbabel.OBRingSearch_EndRings, None, OBRingSearch)
OBRingSearch_swigregister = _openbabel.OBRingSearch_swigregister
OBRingSearch_swigregister(OBRingSearch)

class OBRTree(object):
    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, arg2: 'OBAtom', arg3: 'OBRTree'):
        _openbabel.OBRTree_swiginit(self, _openbabel.new_OBRTree(arg2, arg3))
    __swig_destroy__ = _openbabel.delete_OBRTree
OBRTree.GetAtomIdx = new_instancemethod(_openbabel.OBRTree_GetAtomIdx, None, OBRTree)
OBRTree.PathToRoot = new_instancemethod(_openbabel.OBRTree_PathToRoot, None, OBRTree)
OBRTree_swigregister = _openbabel.OBRTree_swigregister
OBRTree_swigregister(OBRTree)

class OBSmartsPattern(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    __swig_destroy__ = _openbabel.delete_OBSmartsPattern

    def __init__(self, *args):
        _openbabel.OBSmartsPattern_swiginit(self, _openbabel.new_OBSmartsPattern(*args))
    All = _openbabel.OBSmartsPattern_All
    Single = _openbabel.OBSmartsPattern_Single
    AllUnique = _openbabel.OBSmartsPattern_AllUnique
OBSmartsPattern.Init = new_instancemethod(_openbabel.OBSmartsPattern_Init, None, OBSmartsPattern)
OBSmartsPattern.GetSMARTS = new_instancemethod(_openbabel.OBSmartsPattern_GetSMARTS, None, OBSmartsPattern)
OBSmartsPattern.Empty = new_instancemethod(_openbabel.OBSmartsPattern_Empty, None, OBSmartsPattern)
OBSmartsPattern.IsValid = new_instancemethod(_openbabel.OBSmartsPattern_IsValid, None, OBSmartsPattern)
OBSmartsPattern.NumAtoms = new_instancemethod(_openbabel.OBSmartsPattern_NumAtoms, None, OBSmartsPattern)
OBSmartsPattern.NumBonds = new_instancemethod(_openbabel.OBSmartsPattern_NumBonds, None, OBSmartsPattern)
OBSmartsPattern.GetBond = new_instancemethod(_openbabel.OBSmartsPattern_GetBond, None, OBSmartsPattern)
OBSmartsPattern.GetAtomicNum = new_instancemethod(_openbabel.OBSmartsPattern_GetAtomicNum, None, OBSmartsPattern)
OBSmartsPattern.GetCharge = new_instancemethod(_openbabel.OBSmartsPattern_GetCharge, None, OBSmartsPattern)
OBSmartsPattern.GetVectorBinding = new_instancemethod(_openbabel.OBSmartsPattern_GetVectorBinding, None, OBSmartsPattern)
OBSmartsPattern.Match = new_instancemethod(_openbabel.OBSmartsPattern_Match, None, OBSmartsPattern)
OBSmartsPattern.HasMatch = new_instancemethod(_openbabel.OBSmartsPattern_HasMatch, None, OBSmartsPattern)
OBSmartsPattern.RestrictedMatch = new_instancemethod(_openbabel.OBSmartsPattern_RestrictedMatch, None, OBSmartsPattern)
OBSmartsPattern.NumMatches = new_instancemethod(_openbabel.OBSmartsPattern_NumMatches, None, OBSmartsPattern)
OBSmartsPattern.GetMapList = new_instancemethod(_openbabel.OBSmartsPattern_GetMapList, None, OBSmartsPattern)
OBSmartsPattern.BeginMList = new_instancemethod(_openbabel.OBSmartsPattern_BeginMList, None, OBSmartsPattern)
OBSmartsPattern.EndMList = new_instancemethod(_openbabel.OBSmartsPattern_EndMList, None, OBSmartsPattern)
OBSmartsPattern.GetUMapList = new_instancemethod(_openbabel.OBSmartsPattern_GetUMapList, None, OBSmartsPattern)
OBSmartsPattern.WriteMapList = new_instancemethod(_openbabel.OBSmartsPattern_WriteMapList, None, OBSmartsPattern)
OBSmartsPattern_swigregister = _openbabel.OBSmartsPattern_swigregister
OBSmartsPattern_swigregister(OBSmartsPattern)

class OBSmartsMatcher(object):
    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):
        _openbabel.OBSmartsMatcher_swiginit(self, _openbabel.new_OBSmartsMatcher())
    __swig_destroy__ = _openbabel.delete_OBSmartsMatcher
OBSmartsMatcher.match = new_instancemethod(_openbabel.OBSmartsMatcher_match, None, OBSmartsMatcher)
OBSmartsMatcher_swigregister = _openbabel.OBSmartsMatcher_swigregister
OBSmartsMatcher_swigregister(OBSmartsMatcher)

class OBSSMatch(object):
    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, arg2: 'OBMol', arg3: 'OpenBabel::Pattern const *'):
        _openbabel.OBSSMatch_swiginit(self, _openbabel.new_OBSSMatch(arg2, arg3))
    __swig_destroy__ = _openbabel.delete_OBSSMatch
OBSSMatch.Match = new_instancemethod(_openbabel.OBSSMatch_Match, None, OBSSMatch)
OBSSMatch_swigregister = _openbabel.OBSSMatch_swigregister
OBSSMatch_swigregister(OBSSMatch)


def SmartsLexReplace(arg1: 'std::string &', arg2: 'std::vector< std::pair< std::string,std::string >,std::allocator< std::pair< std::string,std::string > > > &') -> "void":
    return _openbabel.SmartsLexReplace(arg1, arg2)
SmartsLexReplace = _openbabel.SmartsLexReplace
class AliasData(OBGenericData):
    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):
        _openbabel.AliasData_swiginit(self, _openbabel.new_AliasData())
    RevertToAliasForm = staticmethod(_openbabel.AliasData_RevertToAliasForm)
    __swig_destroy__ = _openbabel.delete_AliasData
AliasData.SetAlias = new_instancemethod(_openbabel.AliasData_SetAlias, None, AliasData)
AliasData.GetAlias = new_instancemethod(_openbabel.AliasData_GetAlias, None, AliasData)
AliasData.GetColor = new_instancemethod(_openbabel.AliasData_GetColor, None, AliasData)
AliasData.SetColor = new_instancemethod(_openbabel.AliasData_SetColor, None, AliasData)
AliasData.IsExpanded = new_instancemethod(_openbabel.AliasData_IsExpanded, None, AliasData)
AliasData.Expand = new_instancemethod(_openbabel.AliasData_Expand, None, AliasData)
AliasData_swigregister = _openbabel.AliasData_swigregister
AliasData_swigregister(AliasData)
AliasDataType = cvar.AliasDataType

def AliasData_RevertToAliasForm(mol: 'OBMol') -> "void":
    return _openbabel.AliasData_RevertToAliasForm(mol)
AliasData_RevertToAliasForm = _openbabel.AliasData_RevertToAliasForm

class OBAtomClassData(OBGenericData):
    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):
        _openbabel.OBAtomClassData_swiginit(self, _openbabel.new_OBAtomClassData())
    __swig_destroy__ = _openbabel.delete_OBAtomClassData
OBAtomClassData.Clear = new_instancemethod(_openbabel.OBAtomClassData_Clear, None, OBAtomClassData)
OBAtomClassData.Add = new_instancemethod(_openbabel.OBAtomClassData_Add, None, OBAtomClassData)
OBAtomClassData.HasClass = new_instancemethod(_openbabel.OBAtomClassData_HasClass, None, OBAtomClassData)
OBAtomClassData.GetClass = new_instancemethod(_openbabel.OBAtomClassData_GetClass, None, OBAtomClassData)
OBAtomClassData.GetClassString = new_instancemethod(_openbabel.OBAtomClassData_GetClassString, None, OBAtomClassData)
OBAtomClassData.size = new_instancemethod(_openbabel.OBAtomClassData_size, None, OBAtomClassData)
OBAtomClassData_swigregister = _openbabel.OBAtomClassData_swigregister
OBAtomClassData_swigregister(OBAtomClassData)

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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    Default = staticmethod(_openbabel.OBFingerprint_Default)
    FindType = staticmethod(_openbabel.OBFingerprint_FindType)
    __swig_destroy__ = _openbabel.delete_OBFingerprint
    FPT_UNIQUEBITS = _openbabel.OBFingerprint_FPT_UNIQUEBITS
    FPT_NOINFO = _openbabel.OBFingerprint_FPT_NOINFO
    Tanimoto = staticmethod(_openbabel.OBFingerprint_Tanimoto)
    Getbitsperint = staticmethod(_openbabel.OBFingerprint_Getbitsperint)
    FindFingerprint = staticmethod(_openbabel.OBFingerprint_FindFingerprint)
OBFingerprint.SetBit = new_instancemethod(_openbabel.OBFingerprint_SetBit, None, OBFingerprint)
OBFingerprint.GetBit = new_instancemethod(_openbabel.OBFingerprint_GetBit, None, OBFingerprint)
OBFingerprint.Fold = new_instancemethod(_openbabel.OBFingerprint_Fold, None, OBFingerprint)
OBFingerprint.GetFingerprint = new_instancemethod(_openbabel.OBFingerprint_GetFingerprint, None, OBFingerprint)
OBFingerprint.Flags = new_instancemethod(_openbabel.OBFingerprint_Flags, None, OBFingerprint)
OBFingerprint.SetFlags = new_instancemethod(_openbabel.OBFingerprint_SetFlags, None, OBFingerprint)
OBFingerprint.DescribeBits = new_instancemethod(_openbabel.OBFingerprint_DescribeBits, None, OBFingerprint)
OBFingerprint_swigregister = _openbabel.OBFingerprint_swigregister
OBFingerprint_swigregister(OBFingerprint)

def OBFingerprint_Default() -> "OpenBabel::OBFingerprint *&":
    return _openbabel.OBFingerprint_Default()
OBFingerprint_Default = _openbabel.OBFingerprint_Default

def OBFingerprint_FindType(ID: 'char const *') -> "OpenBabel::OBFingerprint *":
    return _openbabel.OBFingerprint_FindType(ID)
OBFingerprint_FindType = _openbabel.OBFingerprint_FindType

def OBFingerprint_Tanimoto(*args) -> "double":
    return _openbabel.OBFingerprint_Tanimoto(*args)
OBFingerprint_Tanimoto = _openbabel.OBFingerprint_Tanimoto

def OBFingerprint_Getbitsperint() -> "unsigned int":
    return _openbabel.OBFingerprint_Getbitsperint()
OBFingerprint_Getbitsperint = _openbabel.OBFingerprint_Getbitsperint

def OBFingerprint_FindFingerprint(ID: 'char const *') -> "OpenBabel::OBFingerprint *":
    return _openbabel.OBFingerprint_FindFingerprint(ID)
OBFingerprint_FindFingerprint = _openbabel.OBFingerprint_FindFingerprint

class FptIndexHeader(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    headerlength = _swig_property(_openbabel.FptIndexHeader_headerlength_get, _openbabel.FptIndexHeader_headerlength_set)
    nEntries = _swig_property(_openbabel.FptIndexHeader_nEntries_get, _openbabel.FptIndexHeader_nEntries_set)
    words = _swig_property(_openbabel.FptIndexHeader_words_get, _openbabel.FptIndexHeader_words_set)
    fpid = _swig_property(_openbabel.FptIndexHeader_fpid_get, _openbabel.FptIndexHeader_fpid_set)
    datafilename = _swig_property(_openbabel.FptIndexHeader_datafilename_get, _openbabel.FptIndexHeader_datafilename_set)

    def __init__(self):
        _openbabel.FptIndexHeader_swiginit(self, _openbabel.new_FptIndexHeader())
    __swig_destroy__ = _openbabel.delete_FptIndexHeader
FptIndexHeader_swigregister = _openbabel.FptIndexHeader_swigregister
FptIndexHeader_swigregister(FptIndexHeader)

class FastSearch(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    __swig_destroy__ = _openbabel.delete_FastSearch

    def __init__(self):
        _openbabel.FastSearch_swiginit(self, _openbabel.new_FastSearch())
FastSearch.ReadIndexFile = new_instancemethod(_openbabel.FastSearch_ReadIndexFile, None, FastSearch)
FastSearch.ReadIndex = new_instancemethod(_openbabel.FastSearch_ReadIndex, None, FastSearch)
FastSearch.Find = new_instancemethod(_openbabel.FastSearch_Find, None, FastSearch)
FastSearch.FindMatch = new_instancemethod(_openbabel.FastSearch_FindMatch, None, FastSearch)
FastSearch.FindSimilar = new_instancemethod(_openbabel.FastSearch_FindSimilar, None, FastSearch)
FastSearch.GetFingerprint = new_instancemethod(_openbabel.FastSearch_GetFingerprint, None, FastSearch)
FastSearch.GetIndexHeader = new_instancemethod(_openbabel.FastSearch_GetIndexHeader, None, FastSearch)
FastSearch_swigregister = _openbabel.FastSearch_swigregister
FastSearch_swigregister(FastSearch)

class FastSearchIndexer(object):
    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):
        _openbabel.FastSearchIndexer_swiginit(self, _openbabel.new_FastSearchIndexer(*args))
    __swig_destroy__ = _openbabel.delete_FastSearchIndexer
FastSearchIndexer.Add = new_instancemethod(_openbabel.FastSearchIndexer_Add, None, FastSearchIndexer)
FastSearchIndexer_swigregister = _openbabel.FastSearchIndexer_swigregister
FastSearchIndexer_swigregister(FastSearchIndexer)

class OBDescriptor(OBPlugin):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    Default = staticmethod(_openbabel.OBDescriptor_Default)

    def __init__(self, ID: 'char const *', IsDefault: 'bool'=False):
        _openbabel.OBDescriptor_swiginit(self, _openbabel.new_OBDescriptor(ID, IsDefault))
    FindType = staticmethod(_openbabel.OBDescriptor_FindType)
    FilterCompare = staticmethod(_openbabel.OBDescriptor_FilterCompare)
    AddProperties = staticmethod(_openbabel.OBDescriptor_AddProperties)
    DeleteProperties = staticmethod(_openbabel.OBDescriptor_DeleteProperties)
    GetValues = staticmethod(_openbabel.OBDescriptor_GetValues)
    GetIdentifier = staticmethod(_openbabel.OBDescriptor_GetIdentifier)
    __swig_destroy__ = _openbabel.delete_OBDescriptor
OBDescriptor.Predict = new_instancemethod(_openbabel.OBDescriptor_Predict, None, OBDescriptor)
OBDescriptor.PredictAndSave = new_instancemethod(_openbabel.OBDescriptor_PredictAndSave, None, OBDescriptor)
OBDescriptor.GetStringValue = new_instancemethod(_openbabel.OBDescriptor_GetStringValue, None, OBDescriptor)
OBDescriptor.Compare = new_instancemethod(_openbabel.OBDescriptor_Compare, None, OBDescriptor)
OBDescriptor.Display = new_instancemethod(_openbabel.OBDescriptor_Display, None, OBDescriptor)
OBDescriptor.Order = new_instancemethod(_openbabel.OBDescriptor_Order, None, OBDescriptor)
OBDescriptor_swigregister = _openbabel.OBDescriptor_swigregister
OBDescriptor_swigregister(OBDescriptor)

def OBDescriptor_Default() -> "OpenBabel::OBDescriptor *&":
    return _openbabel.OBDescriptor_Default()
OBDescriptor_Default = _openbabel.OBDescriptor_Default

def OBDescriptor_FindType(ID: 'char const *') -> "OpenBabel::OBDescriptor *":
    return _openbabel.OBDescriptor_FindType(ID)
OBDescriptor_FindType = _openbabel.OBDescriptor_FindType

def OBDescriptor_FilterCompare(pOb: 'OBBase', ss: 'std::istream &', noEval: 'bool') -> "bool":
    return _openbabel.OBDescriptor_FilterCompare(pOb, ss, noEval)
OBDescriptor_FilterCompare = _openbabel.OBDescriptor_FilterCompare

def OBDescriptor_AddProperties(pOb: 'OBBase', DescrList: 'std::string const &') -> "void":
    return _openbabel.OBDescriptor_AddProperties(pOb, DescrList)
OBDescriptor_AddProperties = _openbabel.OBDescriptor_AddProperties

def OBDescriptor_DeleteProperties(pOb: 'OBBase', DescrList: 'std::string const &') -> "void":
    return _openbabel.OBDescriptor_DeleteProperties(pOb, DescrList)
OBDescriptor_DeleteProperties = _openbabel.OBDescriptor_DeleteProperties

def OBDescriptor_GetValues(pOb: 'OBBase', DescrList: 'std::string const &') -> "std::string":
    return _openbabel.OBDescriptor_GetValues(pOb, DescrList)
OBDescriptor_GetValues = _openbabel.OBDescriptor_GetValues

def OBDescriptor_GetIdentifier(optionText: 'std::istream &') -> "std::pair< std::string,std::string >":
    return _openbabel.OBDescriptor_GetIdentifier(optionText)
OBDescriptor_GetIdentifier = _openbabel.OBDescriptor_GetIdentifier


_openbabel.OBFF_LOGLVL_NONE_swigconstant(_openbabel)
OBFF_LOGLVL_NONE = _openbabel.OBFF_LOGLVL_NONE

_openbabel.OBFF_LOGLVL_LOW_swigconstant(_openbabel)
OBFF_LOGLVL_LOW = _openbabel.OBFF_LOGLVL_LOW

_openbabel.OBFF_LOGLVL_MEDIUM_swigconstant(_openbabel)
OBFF_LOGLVL_MEDIUM = _openbabel.OBFF_LOGLVL_MEDIUM

_openbabel.OBFF_LOGLVL_HIGH_swigconstant(_openbabel)
OBFF_LOGLVL_HIGH = _openbabel.OBFF_LOGLVL_HIGH

_openbabel.OBFF_ENERGY_swigconstant(_openbabel)
OBFF_ENERGY = _openbabel.OBFF_ENERGY

_openbabel.OBFF_EBOND_swigconstant(_openbabel)
OBFF_EBOND = _openbabel.OBFF_EBOND

_openbabel.OBFF_EANGLE_swigconstant(_openbabel)
OBFF_EANGLE = _openbabel.OBFF_EANGLE

_openbabel.OBFF_ESTRBND_swigconstant(_openbabel)
OBFF_ESTRBND = _openbabel.OBFF_ESTRBND

_openbabel.OBFF_ETORSION_swigconstant(_openbabel)
OBFF_ETORSION = _openbabel.OBFF_ETORSION

_openbabel.OBFF_EOOP_swigconstant(_openbabel)
OBFF_EOOP = _openbabel.OBFF_EOOP

_openbabel.OBFF_EVDW_swigconstant(_openbabel)
OBFF_EVDW = _openbabel.OBFF_EVDW

_openbabel.OBFF_EELECTROSTATIC_swigconstant(_openbabel)
OBFF_EELECTROSTATIC = _openbabel.OBFF_EELECTROSTATIC

_openbabel.OBFF_CONST_IGNORE_swigconstant(_openbabel)
OBFF_CONST_IGNORE = _openbabel.OBFF_CONST_IGNORE

_openbabel.OBFF_CONST_ATOM_swigconstant(_openbabel)
OBFF_CONST_ATOM = _openbabel.OBFF_CONST_ATOM

_openbabel.OBFF_CONST_ATOM_X_swigconstant(_openbabel)
OBFF_CONST_ATOM_X = _openbabel.OBFF_CONST_ATOM_X

_openbabel.OBFF_CONST_ATOM_Y_swigconstant(_openbabel)
OBFF_CONST_ATOM_Y = _openbabel.OBFF_CONST_ATOM_Y

_openbabel.OBFF_CONST_ATOM_Z_swigconstant(_openbabel)
OBFF_CONST_ATOM_Z = _openbabel.OBFF_CONST_ATOM_Z

_openbabel.OBFF_CONST_DISTANCE_swigconstant(_openbabel)
OBFF_CONST_DISTANCE = _openbabel.OBFF_CONST_DISTANCE

_openbabel.OBFF_CONST_ANGLE_swigconstant(_openbabel)
OBFF_CONST_ANGLE = _openbabel.OBFF_CONST_ANGLE

_openbabel.OBFF_CONST_TORSION_swigconstant(_openbabel)
OBFF_CONST_TORSION = _openbabel.OBFF_CONST_TORSION

_openbabel.OBFF_CONST_CHIRAL_swigconstant(_openbabel)
OBFF_CONST_CHIRAL = _openbabel.OBFF_CONST_CHIRAL

_openbabel.OBFF_NUMERICAL_GRADIENT_swigconstant(_openbabel)
OBFF_NUMERICAL_GRADIENT = _openbabel.OBFF_NUMERICAL_GRADIENT

_openbabel.OBFF_ANALYTICAL_GRADIENT_swigconstant(_openbabel)
OBFF_ANALYTICAL_GRADIENT = _openbabel.OBFF_ANALYTICAL_GRADIENT

_openbabel.KCAL_TO_KJ_swigconstant(_openbabel)
KCAL_TO_KJ = _openbabel.KCAL_TO_KJ
class LineSearchType(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    Simple = _openbabel.LineSearchType_Simple
    Newton2Num = _openbabel.LineSearchType_Newton2Num

    def __init__(self):
        _openbabel.LineSearchType_swiginit(self, _openbabel.new_LineSearchType())
    __swig_destroy__ = _openbabel.delete_LineSearchType
LineSearchType_swigregister = _openbabel.LineSearchType_swigregister
LineSearchType_swigregister(LineSearchType)

class OBFFParameter(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    a = _swig_property(_openbabel.OBFFParameter_a_get, _openbabel.OBFFParameter_a_set)
    b = _swig_property(_openbabel.OBFFParameter_b_get, _openbabel.OBFFParameter_b_set)
    c = _swig_property(_openbabel.OBFFParameter_c_get, _openbabel.OBFFParameter_c_set)
    d = _swig_property(_openbabel.OBFFParameter_d_get, _openbabel.OBFFParameter_d_set)
    _a = _swig_property(_openbabel.OBFFParameter__a_get, _openbabel.OBFFParameter__a_set)
    _b = _swig_property(_openbabel.OBFFParameter__b_get, _openbabel.OBFFParameter__b_set)
    _c = _swig_property(_openbabel.OBFFParameter__c_get, _openbabel.OBFFParameter__c_set)
    _d = _swig_property(_openbabel.OBFFParameter__d_get, _openbabel.OBFFParameter__d_set)
    _ipar = _swig_property(_openbabel.OBFFParameter__ipar_get, _openbabel.OBFFParameter__ipar_set)
    _dpar = _swig_property(_openbabel.OBFFParameter__dpar_get, _openbabel.OBFFParameter__dpar_set)

    def __init__(self):
        _openbabel.OBFFParameter_swiginit(self, _openbabel.new_OBFFParameter())
    __swig_destroy__ = _openbabel.delete_OBFFParameter
OBFFParameter.clear = new_instancemethod(_openbabel.OBFFParameter_clear, None, OBFFParameter)
OBFFParameter_swigregister = _openbabel.OBFFParameter_swigregister
OBFFParameter_swigregister(OBFFParameter)

class OBFFCalculation2(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    energy = _swig_property(_openbabel.OBFFCalculation2_energy_get, _openbabel.OBFFCalculation2_energy_set)
    a = _swig_property(_openbabel.OBFFCalculation2_a_get, _openbabel.OBFFCalculation2_a_set)
    b = _swig_property(_openbabel.OBFFCalculation2_b_get, _openbabel.OBFFCalculation2_b_set)
    idx_a = _swig_property(_openbabel.OBFFCalculation2_idx_a_get, _openbabel.OBFFCalculation2_idx_a_set)
    idx_b = _swig_property(_openbabel.OBFFCalculation2_idx_b_get, _openbabel.OBFFCalculation2_idx_b_set)
    pos_a = _swig_property(_openbabel.OBFFCalculation2_pos_a_get, _openbabel.OBFFCalculation2_pos_a_set)
    pos_b = _swig_property(_openbabel.OBFFCalculation2_pos_b_get, _openbabel.OBFFCalculation2_pos_b_set)
    force_a = _swig_property(_openbabel.OBFFCalculation2_force_a_get, _openbabel.OBFFCalculation2_force_a_set)
    force_b = _swig_property(_openbabel.OBFFCalculation2_force_b_get, _openbabel.OBFFCalculation2_force_b_set)
    __swig_destroy__ = _openbabel.delete_OBFFCalculation2

    def __init__(self):
        _openbabel.OBFFCalculation2_swiginit(self, _openbabel.new_OBFFCalculation2())
OBFFCalculation2.SetupPointers = new_instancemethod(_openbabel.OBFFCalculation2_SetupPointers, None, OBFFCalculation2)
OBFFCalculation2_swigregister = _openbabel.OBFFCalculation2_swigregister
OBFFCalculation2_swigregister(OBFFCalculation2)

class OBFFCalculation3(OBFFCalculation2):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    c = _swig_property(_openbabel.OBFFCalculation3_c_get, _openbabel.OBFFCalculation3_c_set)
    idx_c = _swig_property(_openbabel.OBFFCalculation3_idx_c_get, _openbabel.OBFFCalculation3_idx_c_set)
    pos_c = _swig_property(_openbabel.OBFFCalculation3_pos_c_get, _openbabel.OBFFCalculation3_pos_c_set)
    force_c = _swig_property(_openbabel.OBFFCalculation3_force_c_get, _openbabel.OBFFCalculation3_force_c_set)
    __swig_destroy__ = _openbabel.delete_OBFFCalculation3

    def __init__(self):
        _openbabel.OBFFCalculation3_swiginit(self, _openbabel.new_OBFFCalculation3())
OBFFCalculation3_swigregister = _openbabel.OBFFCalculation3_swigregister
OBFFCalculation3_swigregister(OBFFCalculation3)

class OBFFCalculation4(OBFFCalculation3):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    d = _swig_property(_openbabel.OBFFCalculation4_d_get, _openbabel.OBFFCalculation4_d_set)
    idx_d = _swig_property(_openbabel.OBFFCalculation4_idx_d_get, _openbabel.OBFFCalculation4_idx_d_set)
    pos_d = _swig_property(_openbabel.OBFFCalculation4_pos_d_get, _openbabel.OBFFCalculation4_pos_d_set)
    force_d = _swig_property(_openbabel.OBFFCalculation4_force_d_get, _openbabel.OBFFCalculation4_force_d_set)
    __swig_destroy__ = _openbabel.delete_OBFFCalculation4

    def __init__(self):
        _openbabel.OBFFCalculation4_swiginit(self, _openbabel.new_OBFFCalculation4())
OBFFCalculation4_swigregister = _openbabel.OBFFCalculation4_swigregister
OBFFCalculation4_swigregister(OBFFCalculation4)

class OBFFConstraint(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    factor = _swig_property(_openbabel.OBFFConstraint_factor_get, _openbabel.OBFFConstraint_factor_set)
    constraint_value = _swig_property(_openbabel.OBFFConstraint_constraint_value_get, _openbabel.OBFFConstraint_constraint_value_set)
    rab0 = _swig_property(_openbabel.OBFFConstraint_rab0_get, _openbabel.OBFFConstraint_rab0_set)
    rbc0 = _swig_property(_openbabel.OBFFConstraint_rbc0_get, _openbabel.OBFFConstraint_rbc0_set)
    type = _swig_property(_openbabel.OBFFConstraint_type_get, _openbabel.OBFFConstraint_type_set)
    ia = _swig_property(_openbabel.OBFFConstraint_ia_get, _openbabel.OBFFConstraint_ia_set)
    ib = _swig_property(_openbabel.OBFFConstraint_ib_get, _openbabel.OBFFConstraint_ib_set)
    ic = _swig_property(_openbabel.OBFFConstraint_ic_get, _openbabel.OBFFConstraint_ic_set)
    id = _swig_property(_openbabel.OBFFConstraint_id_get, _openbabel.OBFFConstraint_id_set)
    a = _swig_property(_openbabel.OBFFConstraint_a_get, _openbabel.OBFFConstraint_a_set)
    b = _swig_property(_openbabel.OBFFConstraint_b_get, _openbabel.OBFFConstraint_b_set)
    c = _swig_property(_openbabel.OBFFConstraint_c_get, _openbabel.OBFFConstraint_c_set)
    d = _swig_property(_openbabel.OBFFConstraint_d_get, _openbabel.OBFFConstraint_d_set)
    grada = _swig_property(_openbabel.OBFFConstraint_grada_get, _openbabel.OBFFConstraint_grada_set)
    gradb = _swig_property(_openbabel.OBFFConstraint_gradb_get, _openbabel.OBFFConstraint_gradb_set)
    gradc = _swig_property(_openbabel.OBFFConstraint_gradc_get, _openbabel.OBFFConstraint_gradc_set)
    gradd = _swig_property(_openbabel.OBFFConstraint_gradd_get, _openbabel.OBFFConstraint_gradd_set)

    def __init__(self):
        _openbabel.OBFFConstraint_swiginit(self, _openbabel.new_OBFFConstraint())
    __swig_destroy__ = _openbabel.delete_OBFFConstraint
OBFFConstraint.GetGradient = new_instancemethod(_openbabel.OBFFConstraint_GetGradient, None, OBFFConstraint)
OBFFConstraint_swigregister = _openbabel.OBFFConstraint_swigregister
OBFFConstraint_swigregister(OBFFConstraint)

class OBFFConstraints(object):
    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):
        _openbabel.OBFFConstraints_swiginit(self, _openbabel.new_OBFFConstraints())
    __swig_destroy__ = _openbabel.delete_OBFFConstraints
OBFFConstraints.Clear = new_instancemethod(_openbabel.OBFFConstraints_Clear, None, OBFFConstraints)
OBFFConstraints.GetConstraintEnergy = new_instancemethod(_openbabel.OBFFConstraints_GetConstraintEnergy, None, OBFFConstraints)
OBFFConstraints.GetGradient = new_instancemethod(_openbabel.OBFFConstraints_GetGradient, None, OBFFConstraints)
OBFFConstraints.Setup = new_instancemethod(_openbabel.OBFFConstraints_Setup, None, OBFFConstraints)
OBFFConstraints.SetFactor = new_instancemethod(_openbabel.OBFFConstraints_SetFactor, None, OBFFConstraints)
OBFFConstraints.AddIgnore = new_instancemethod(_openbabel.OBFFConstraints_AddIgnore, None, OBFFConstraints)
OBFFConstraints.AddAtomConstraint = new_instancemethod(_openbabel.OBFFConstraints_AddAtomConstraint, None, OBFFConstraints)
OBFFConstraints.AddAtomXConstraint = new_instancemethod(_openbabel.OBFFConstraints_AddAtomXConstraint, None, OBFFConstraints)
OBFFConstraints.AddAtomYConstraint = new_instancemethod(_openbabel.OBFFConstraints_AddAtomYConstraint, None, OBFFConstraints)
OBFFConstraints.AddAtomZConstraint = new_instancemethod(_openbabel.OBFFConstraints_AddAtomZConstraint, None, OBFFConstraints)
OBFFConstraints.AddDistanceConstraint = new_instancemethod(_openbabel.OBFFConstraints_AddDistanceConstraint, None, OBFFConstraints)
OBFFConstraints.AddAngleConstraint = new_instancemethod(_openbabel.OBFFConstraints_AddAngleConstraint, None, OBFFConstraints)
OBFFConstraints.AddTorsionConstraint = new_instancemethod(_openbabel.OBFFConstraints_AddTorsionConstraint, None, OBFFConstraints)
OBFFConstraints.DeleteConstraint = new_instancemethod(_openbabel.OBFFConstraints_DeleteConstraint, None, OBFFConstraints)
OBFFConstraints.GetFactor = new_instancemethod(_openbabel.OBFFConstraints_GetFactor, None, OBFFConstraints)
OBFFConstraints.Size = new_instancemethod(_openbabel.OBFFConstraints_Size, None, OBFFConstraints)
OBFFConstraints.GetConstraintType = new_instancemethod(_openbabel.OBFFConstraints_GetConstraintType, None, OBFFConstraints)
OBFFConstraints.GetConstraintValue = new_instancemethod(_openbabel.OBFFConstraints_GetConstraintValue, None, OBFFConstraints)
OBFFConstraints.GetConstraintAtomA = new_instancemethod(_openbabel.OBFFConstraints_GetConstraintAtomA, None, OBFFConstraints)
OBFFConstraints.GetConstraintAtomB = new_instancemethod(_openbabel.OBFFConstraints_GetConstraintAtomB, None, OBFFConstraints)
OBFFConstraints.GetConstraintAtomC = new_instancemethod(_openbabel.OBFFConstraints_GetConstraintAtomC, None, OBFFConstraints)
OBFFConstraints.GetConstraintAtomD = new_instancemethod(_openbabel.OBFFConstraints_GetConstraintAtomD, None, OBFFConstraints)
OBFFConstraints.IsIgnored = new_instancemethod(_openbabel.OBFFConstraints_IsIgnored, None, OBFFConstraints)
OBFFConstraints.IsFixed = new_instancemethod(_openbabel.OBFFConstraints_IsFixed, None, OBFFConstraints)
OBFFConstraints.IsXFixed = new_instancemethod(_openbabel.OBFFConstraints_IsXFixed, None, OBFFConstraints)
OBFFConstraints.IsYFixed = new_instancemethod(_openbabel.OBFFConstraints_IsYFixed, None, OBFFConstraints)
OBFFConstraints.IsZFixed = new_instancemethod(_openbabel.OBFFConstraints_IsZFixed, None, OBFFConstraints)
OBFFConstraints.GetIgnoredBitVec = new_instancemethod(_openbabel.OBFFConstraints_GetIgnoredBitVec, None, OBFFConstraints)
OBFFConstraints.GetFixedBitVec = new_instancemethod(_openbabel.OBFFConstraints_GetFixedBitVec, None, OBFFConstraints)
OBFFConstraints_swigregister = _openbabel.OBFFConstraints_swigregister
OBFFConstraints_swigregister(OBFFConstraints)

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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    Default = staticmethod(_openbabel.OBForceField_Default)
    FindType = staticmethod(_openbabel.OBForceField_FindType)
    __swig_destroy__ = _openbabel.delete_OBForceField
    FindForceField = staticmethod(_openbabel.OBForceField_FindForceField)
    IgnoreCalculation = staticmethod(_openbabel.OBForceField_IgnoreCalculation)
    VectorBondDerivative = staticmethod(_openbabel.OBForceField_VectorBondDerivative)
    VectorDistanceDerivative = staticmethod(_openbabel.OBForceField_VectorDistanceDerivative)
    VectorLengthDerivative = staticmethod(_openbabel.OBForceField_VectorLengthDerivative)
    VectorAngleDerivative = staticmethod(_openbabel.OBForceField_VectorAngleDerivative)
    VectorOOPDerivative = staticmethod(_openbabel.OBForceField_VectorOOPDerivative)
    VectorTorsionDerivative = staticmethod(_openbabel.OBForceField_VectorTorsionDerivative)
    VectorSubtract = staticmethod(_openbabel.OBForceField_VectorSubtract)
    VectorAdd = staticmethod(_openbabel.OBForceField_VectorAdd)
    VectorDivide = staticmethod(_openbabel.OBForceField_VectorDivide)
    VectorMultiply = staticmethod(_openbabel.OBForceField_VectorMultiply)
    VectorSelfMultiply = staticmethod(_openbabel.OBForceField_VectorSelfMultiply)
    VectorNormalize = staticmethod(_openbabel.OBForceField_VectorNormalize)
    VectorCopy = staticmethod(_openbabel.OBForceField_VectorCopy)
    VectorLength = staticmethod(_openbabel.OBForceField_VectorLength)
    VectorDistance = staticmethod(_openbabel.OBForceField_VectorDistance)
    VectorAngle = staticmethod(_openbabel.OBForceField_VectorAngle)
    VectorTorsion = staticmethod(_openbabel.OBForceField_VectorTorsion)
    VectorOOP = staticmethod(_openbabel.OBForceField_VectorOOP)
    VectorClear = staticmethod(_openbabel.OBForceField_VectorClear)
    VectorDot = staticmethod(_openbabel.OBForceField_VectorDot)
    VectorCross = staticmethod(_openbabel.OBForceField_VectorCross)
    PrintVector = staticmethod(_openbabel.OBForceField_PrintVector)
OBForceField.MakeNewInstance = new_instancemethod(_openbabel.OBForceField_MakeNewInstance, None, OBForceField)
OBForceField.SetParameterFile = new_instancemethod(_openbabel.OBForceField_SetParameterFile, None, OBForceField)
OBForceField.GetUnit = new_instancemethod(_openbabel.OBForceField_GetUnit, None, OBForceField)
OBForceField.HasAnalyticalGradients = new_instancemethod(_openbabel.OBForceField_HasAnalyticalGradients, None, OBForceField)
OBForceField.Setup = new_instancemethod(_openbabel.OBForceField_Setup, None, OBForceField)
OBForceField.ParseParamFile = new_instancemethod(_openbabel.OBForceField_ParseParamFile, None, OBForceField)
OBForceField.SetTypes = new_instancemethod(_openbabel.OBForceField_SetTypes, None, OBForceField)
OBForceField.SetFormalCharges = new_instancemethod(_openbabel.OBForceField_SetFormalCharges, None, OBForceField)
OBForceField.SetPartialCharges = new_instancemethod(_openbabel.OBForceField_SetPartialCharges, None, OBForceField)
OBForceField.SetupCalculations = new_instancemethod(_openbabel.OBForceField_SetupCalculations, None, OBForceField)
OBForceField.SetupPointers = new_instancemethod(_openbabel.OBForceField_SetupPointers, None, OBForceField)
OBForceField.IsSetupNeeded = new_instancemethod(_openbabel.OBForceField_IsSetupNeeded, None, OBForceField)
OBForceField.GetAtomTypes = new_instancemethod(_openbabel.OBForceField_GetAtomTypes, None, OBForceField)
OBForceField.GetPartialCharges = new_instancemethod(_openbabel.OBForceField_GetPartialCharges, None, OBForceField)
OBForceField.GetCoordinates = new_instancemethod(_openbabel.OBForceField_GetCoordinates, None, OBForceField)
OBForceField.UpdateCoordinates = new_instancemethod(_openbabel.OBForceField_UpdateCoordinates, None, OBForceField)
OBForceField.GetConformers = new_instancemethod(_openbabel.OBForceField_GetConformers, None, OBForceField)
OBForceField.UpdateConformers = new_instancemethod(_openbabel.OBForceField_UpdateConformers, None, OBForceField)
OBForceField.SetCoordinates = new_instancemethod(_openbabel.OBForceField_SetCoordinates, None, OBForceField)
OBForceField.SetConformers = new_instancemethod(_openbabel.OBForceField_SetConformers, None, OBForceField)
OBForceField.GetGrid = new_instancemethod(_openbabel.OBForceField_GetGrid, None, OBForceField)
OBForceField.AddIntraGroup = new_instancemethod(_openbabel.OBForceField_AddIntraGroup, None, OBForceField)
OBForceField.AddInterGroup = new_instancemethod(_openbabel.OBForceField_AddInterGroup, None, OBForceField)
OBForceField.AddInterGroups = new_instancemethod(_openbabel.OBForceField_AddInterGroups, None, OBForceField)
OBForceField.ClearGroups = new_instancemethod(_openbabel.OBForceField_ClearGroups, None, OBForceField)
OBForceField.HasGroups = new_instancemethod(_openbabel.OBForceField_HasGroups, None, OBForceField)
OBForceField.EnableCutOff = new_instancemethod(_openbabel.OBForceField_EnableCutOff, None, OBForceField)
OBForceField.IsCutOffEnabled = new_instancemethod(_openbabel.OBForceField_IsCutOffEnabled, None, OBForceField)
OBForceField.SetVDWCutOff = new_instancemethod(_openbabel.OBForceField_SetVDWCutOff, None, OBForceField)
OBForceField.GetVDWCutOff = new_instancemethod(_openbabel.OBForceField_GetVDWCutOff, None, OBForceField)
OBForceField.SetElectrostaticCutOff = new_instancemethod(_openbabel.OBForceField_SetElectrostaticCutOff, None, OBForceField)
OBForceField.GetElectrostaticCutOff = new_instancemethod(_openbabel.OBForceField_GetElectrostaticCutOff, None, OBForceField)
OBForceField.SetUpdateFrequency = new_instancemethod(_openbabel.OBForceField_SetUpdateFrequency, None, OBForceField)
OBForceField.GetUpdateFrequency = new_instancemethod(_openbabel.OBForceField_GetUpdateFrequency, None, OBForceField)
OBForceField.UpdatePairsSimple = new_instancemethod(_openbabel.OBForceField_UpdatePairsSimple, None, OBForceField)
OBForceField.GetNumPairs = new_instancemethod(_openbabel.OBForceField_GetNumPairs, None, OBForceField)
OBForceField.EnableAllPairs = new_instancemethod(_openbabel.OBForceField_EnableAllPairs, None, OBForceField)
OBForceField.Energy = new_instancemethod(_openbabel.OBForceField_Energy, None, OBForceField)
OBForceField.E_Bond = new_instancemethod(_openbabel.OBForceField_E_Bond, None, OBForceField)
OBForceField.E_Angle = new_instancemethod(_openbabel.OBForceField_E_Angle, None, OBForceField)
OBForceField.E_StrBnd = new_instancemethod(_openbabel.OBForceField_E_StrBnd, None, OBForceField)
OBForceField.E_Torsion = new_instancemethod(_openbabel.OBForceField_E_Torsion, None, OBForceField)
OBForceField.E_OOP = new_instancemethod(_openbabel.OBForceField_E_OOP, None, OBForceField)
OBForceField.E_VDW = new_instancemethod(_openbabel.OBForceField_E_VDW, None, OBForceField)
OBForceField.E_Electrostatic = new_instancemethod(_openbabel.OBForceField_E_Electrostatic, None, OBForceField)
OBForceField.PrintTypes = new_instancemethod(_openbabel.OBForceField_PrintTypes, None, OBForceField)
OBForceField.PrintFormalCharges = new_instancemethod(_openbabel.OBForceField_PrintFormalCharges, None, OBForceField)
OBForceField.PrintPartialCharges = new_instancemethod(_openbabel.OBForceField_PrintPartialCharges, None, OBForceField)
OBForceField.PrintVelocities = new_instancemethod(_openbabel.OBForceField_PrintVelocities, None, OBForceField)
OBForceField.SetLogFile = new_instancemethod(_openbabel.OBForceField_SetLogFile, None, OBForceField)
OBForceField.SetLogLevel = new_instancemethod(_openbabel.OBForceField_SetLogLevel, None, OBForceField)
OBForceField.GetLogLevel = new_instancemethod(_openbabel.OBForceField_GetLogLevel, None, OBForceField)
OBForceField.OBFFLog = new_instancemethod(_openbabel.OBForceField_OBFFLog, None, OBForceField)
OBForceField.DistanceGeometry = new_instancemethod(_openbabel.OBForceField_DistanceGeometry, None, OBForceField)
OBForceField.SystematicRotorSearch = new_instancemethod(_openbabel.OBForceField_SystematicRotorSearch, None, OBForceField)
OBForceField.SystematicRotorSearchInitialize = new_instancemethod(_openbabel.OBForceField_SystematicRotorSearchInitialize, None, OBForceField)
OBForceField.SystematicRotorSearchNextConformer = new_instancemethod(_openbabel.OBForceField_SystematicRotorSearchNextConformer, None, OBForceField)
OBForceField.RandomRotorSearch = new_instancemethod(_openbabel.OBForceField_RandomRotorSearch, None, OBForceField)
OBForceField.RandomRotorSearchInitialize = new_instancemethod(_openbabel.OBForceField_RandomRotorSearchInitialize, None, OBForceField)
OBForceField.RandomRotorSearchNextConformer = new_instancemethod(_openbabel.OBForceField_RandomRotorSearchNextConformer, None, OBForceField)
OBForceField.WeightedRotorSearch = new_instancemethod(_openbabel.OBForceField_WeightedRotorSearch, None, OBForceField)
OBForceField.SetLineSearchType = new_instancemethod(_openbabel.OBForceField_SetLineSearchType, None, OBForceField)
OBForceField.GetLineSearchType = new_instancemethod(_openbabel.OBForceField_GetLineSearchType, None, OBForceField)
OBForceField.LineSearch = new_instancemethod(_openbabel.OBForceField_LineSearch, None, OBForceField)
OBForceField.Newton2NumLineSearch = new_instancemethod(_openbabel.OBForceField_Newton2NumLineSearch, None, OBForceField)
OBForceField.LineSearchTakeStep = new_instancemethod(_openbabel.OBForceField_LineSearchTakeStep, None, OBForceField)
OBForceField.SteepestDescent = new_instancemethod(_openbabel.OBForceField_SteepestDescent, None, OBForceField)
OBForceField.SteepestDescentInitialize = new_instancemethod(_openbabel.OBForceField_SteepestDescentInitialize, None, OBForceField)
OBForceField.SteepestDescentTakeNSteps = new_instancemethod(_openbabel.OBForceField_SteepestDescentTakeNSteps, None, OBForceField)
OBForceField.ConjugateGradients = new_instancemethod(_openbabel.OBForceField_ConjugateGradients, None, OBForceField)
OBForceField.ConjugateGradientsInitialize = new_instancemethod(_openbabel.OBForceField_ConjugateGradientsInitialize, None, OBForceField)
OBForceField.ConjugateGradientsTakeNSteps = new_instancemethod(_openbabel.OBForceField_ConjugateGradientsTakeNSteps, None, OBForceField)
OBForceField.GenerateVelocities = new_instancemethod(_openbabel.OBForceField_GenerateVelocities, None, OBForceField)
OBForceField.CorrectVelocities = new_instancemethod(_openbabel.OBForceField_CorrectVelocities, None, OBForceField)
OBForceField.MolecularDynamicsTakeNSteps = new_instancemethod(_openbabel.OBForceField_MolecularDynamicsTakeNSteps, None, OBForceField)
OBForceField.GetConstraints = new_instancemethod(_openbabel.OBForceField_GetConstraints, None, OBForceField)
OBForceField.SetConstraints = new_instancemethod(_openbabel.OBForceField_SetConstraints, None, OBForceField)
OBForceField.SetFixAtom = new_instancemethod(_openbabel.OBForceField_SetFixAtom, None, OBForceField)
OBForceField.UnsetFixAtom = new_instancemethod(_openbabel.OBForceField_UnsetFixAtom, None, OBForceField)
OBForceField.SetIgnoreAtom = new_instancemethod(_openbabel.OBForceField_SetIgnoreAtom, None, OBForceField)
OBForceField.UnsetIgnoreAtom = new_instancemethod(_openbabel.OBForceField_UnsetIgnoreAtom, None, OBForceField)
OBForceField.DetectExplosion = new_instancemethod(_openbabel.OBForceField_DetectExplosion, None, OBForceField)
OBForceField.ValidateLineSearch = new_instancemethod(_openbabel.OBForceField_ValidateLineSearch, None, OBForceField)
OBForceField.ValidateSteepestDescent = new_instancemethod(_openbabel.OBForceField_ValidateSteepestDescent, None, OBForceField)
OBForceField.ValidateConjugateGradients = new_instancemethod(_openbabel.OBForceField_ValidateConjugateGradients, None, OBForceField)
OBForceField.Validate = new_instancemethod(_openbabel.OBForceField_Validate, None, OBForceField)
OBForceField.ValidateGradients = new_instancemethod(_openbabel.OBForceField_ValidateGradients, None, OBForceField)
OBForceField.ValidateGradientError = new_instancemethod(_openbabel.OBForceField_ValidateGradientError, None, OBForceField)
OBForceField.SetLogToStdOut = new_instancemethod(_openbabel.OBForceField_SetLogToStdOut, None, OBForceField)
OBForceField.SetLogToStdErr = new_instancemethod(_openbabel.OBForceField_SetLogToStdErr, None, OBForceField)
OBForceField_swigregister = _openbabel.OBForceField_swigregister
OBForceField_swigregister(OBForceField)

def OBForceField_Default() -> "OpenBabel::OBForceField *&":
    return _openbabel.OBForceField_Default()
OBForceField_Default = _openbabel.OBForceField_Default

def OBForceField_FindType(ID: 'char const *') -> "OpenBabel::OBForceField *":
    return _openbabel.OBForceField_FindType(ID)
OBForceField_FindType = _openbabel.OBForceField_FindType

def OBForceField_FindForceField(*args) -> "OpenBabel::OBForceField *":
    return _openbabel.OBForceField_FindForceField(*args)
OBForceField_FindForceField = _openbabel.OBForceField_FindForceField

def OBForceField_IgnoreCalculation(*args) -> "bool":
    return _openbabel.OBForceField_IgnoreCalculation(*args)
OBForceField_IgnoreCalculation = _openbabel.OBForceField_IgnoreCalculation

def OBForceField_VectorBondDerivative(pos_a: 'double *', pos_b: 'double *', force_a: 'double *', force_b: 'double *') -> "double":
    return _openbabel.OBForceField_VectorBondDerivative(pos_a, pos_b, force_a, force_b)
OBForceField_VectorBondDerivative = _openbabel.OBForceField_VectorBondDerivative

def OBForceField_VectorDistanceDerivative(pos_i: 'double const *const', pos_j: 'double const *const', force_i: 'double *', force_j: 'double *') -> "double":
    return _openbabel.OBForceField_VectorDistanceDerivative(pos_i, pos_j, force_i, force_j)
OBForceField_VectorDistanceDerivative = _openbabel.OBForceField_VectorDistanceDerivative

def OBForceField_VectorLengthDerivative(a: 'vector3', b: 'vector3') -> "double":
    return _openbabel.OBForceField_VectorLengthDerivative(a, b)
OBForceField_VectorLengthDerivative = _openbabel.OBForceField_VectorLengthDerivative

def OBForceField_VectorAngleDerivative(*args) -> "double":
    return _openbabel.OBForceField_VectorAngleDerivative(*args)
OBForceField_VectorAngleDerivative = _openbabel.OBForceField_VectorAngleDerivative

def OBForceField_VectorOOPDerivative(*args) -> "double":
    return _openbabel.OBForceField_VectorOOPDerivative(*args)
OBForceField_VectorOOPDerivative = _openbabel.OBForceField_VectorOOPDerivative

def OBForceField_VectorTorsionDerivative(*args) -> "double":
    return _openbabel.OBForceField_VectorTorsionDerivative(*args)
OBForceField_VectorTorsionDerivative = _openbabel.OBForceField_VectorTorsionDerivative

def OBForceField_VectorSubtract(i: 'double *', j: 'double *', result: 'double *') -> "void":
    return _openbabel.OBForceField_VectorSubtract(i, j, result)
OBForceField_VectorSubtract = _openbabel.OBForceField_VectorSubtract

def OBForceField_VectorAdd(i: 'double *', j: 'double *', result: 'double *') -> "void":
    return _openbabel.OBForceField_VectorAdd(i, j, result)
OBForceField_VectorAdd = _openbabel.OBForceField_VectorAdd

def OBForceField_VectorDivide(i: 'double *', n: 'double', result: 'double *') -> "void":
    return _openbabel.OBForceField_VectorDivide(i, n, result)
OBForceField_VectorDivide = _openbabel.OBForceField_VectorDivide

def OBForceField_VectorMultiply(i: 'double *', n: 'double', result: 'double *') -> "void":
    return _openbabel.OBForceField_VectorMultiply(i, n, result)
OBForceField_VectorMultiply = _openbabel.OBForceField_VectorMultiply

def OBForceField_VectorSelfMultiply(i: 'double *', n: 'double') -> "void":
    return _openbabel.OBForceField_VectorSelfMultiply(i, n)
OBForceField_VectorSelfMultiply = _openbabel.OBForceField_VectorSelfMultiply

def OBForceField_VectorNormalize(i: 'double *') -> "void":
    return _openbabel.OBForceField_VectorNormalize(i)
OBForceField_VectorNormalize = _openbabel.OBForceField_VectorNormalize

def OBForceField_VectorCopy(arg2: 'double *', to: 'double *') -> "void":
    return _openbabel.OBForceField_VectorCopy(arg2, to)
OBForceField_VectorCopy = _openbabel.OBForceField_VectorCopy

def OBForceField_VectorLength(i: 'double *') -> "double":
    return _openbabel.OBForceField_VectorLength(i)
OBForceField_VectorLength = _openbabel.OBForceField_VectorLength

def OBForceField_VectorDistance(pos_i: 'double *', pos_j: 'double *') -> "double":
    return _openbabel.OBForceField_VectorDistance(pos_i, pos_j)
OBForceField_VectorDistance = _openbabel.OBForceField_VectorDistance

def OBForceField_VectorAngle(i: 'double *', j: 'double *', k: 'double *') -> "double":
    return _openbabel.OBForceField_VectorAngle(i, j, k)
OBForceField_VectorAngle = _openbabel.OBForceField_VectorAngle

def OBForceField_VectorTorsion(i: 'double *', j: 'double *', k: 'double *', l: 'double *') -> "double":
    return _openbabel.OBForceField_VectorTorsion(i, j, k, l)
OBForceField_VectorTorsion = _openbabel.OBForceField_VectorTorsion

def OBForceField_VectorOOP(i: 'double *', j: 'double *', k: 'double *', l: 'double *') -> "double":
    return _openbabel.OBForceField_VectorOOP(i, j, k, l)
OBForceField_VectorOOP = _openbabel.OBForceField_VectorOOP

def OBForceField_VectorClear(i: 'double *') -> "void":
    return _openbabel.OBForceField_VectorClear(i)
OBForceField_VectorClear = _openbabel.OBForceField_VectorClear

def OBForceField_VectorDot(i: 'double *', j: 'double *') -> "double":
    return _openbabel.OBForceField_VectorDot(i, j)
OBForceField_VectorDot = _openbabel.OBForceField_VectorDot

def OBForceField_VectorCross(i: 'double *', j: 'double *', result: 'double *') -> "void":
    return _openbabel.OBForceField_VectorCross(i, j, result)
OBForceField_VectorCross = _openbabel.OBForceField_VectorCross

def OBForceField_PrintVector(i: 'double *') -> "void":
    return _openbabel.OBForceField_PrintVector(i)
OBForceField_PrintVector = _openbabel.OBForceField_PrintVector

class OBBuilder(object):
    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):
        _openbabel.OBBuilder_swiginit(self, _openbabel.new_OBBuilder())
    GetNewBondVector = staticmethod(_openbabel.OBBuilder_GetNewBondVector)
    Connect = staticmethod(_openbabel.OBBuilder_Connect)
    Swap = staticmethod(_openbabel.OBBuilder_Swap)
    CorrectStereoBonds = staticmethod(_openbabel.OBBuilder_CorrectStereoBonds)
    CorrectStereoAtoms = staticmethod(_openbabel.OBBuilder_CorrectStereoAtoms)
    IsSpiroAtom = staticmethod(_openbabel.OBBuilder_IsSpiroAtom)
    GetFragment = staticmethod(_openbabel.OBBuilder_GetFragment)
    AddNbrs = staticmethod(_openbabel.OBBuilder_AddNbrs)
    __swig_destroy__ = _openbabel.delete_OBBuilder
OBBuilder.Build = new_instancemethod(_openbabel.OBBuilder_Build, None, OBBuilder)
OBBuilder.SetKeepRings = new_instancemethod(_openbabel.OBBuilder_SetKeepRings, None, OBBuilder)
OBBuilder.UnsetKeepRings = new_instancemethod(_openbabel.OBBuilder_UnsetKeepRings, None, OBBuilder)
OBBuilder.LoadFragments = new_instancemethod(_openbabel.OBBuilder_LoadFragments, None, OBBuilder)
OBBuilder_swigregister = _openbabel.OBBuilder_swigregister
OBBuilder_swigregister(OBBuilder)

def OBBuilder_GetNewBondVector(*args) -> "OpenBabel::vector3":
    return _openbabel.OBBuilder_GetNewBondVector(*args)
OBBuilder_GetNewBondVector = _openbabel.OBBuilder_GetNewBondVector

def OBBuilder_Connect(*args) -> "bool":
    return _openbabel.OBBuilder_Connect(*args)
OBBuilder_Connect = _openbabel.OBBuilder_Connect

def OBBuilder_Swap(mol: 'OBMol', a: 'int', b: 'int', c: 'int', d: 'int') -> "bool":
    return _openbabel.OBBuilder_Swap(mol, a, b, c, d)
OBBuilder_Swap = _openbabel.OBBuilder_Swap

def OBBuilder_CorrectStereoBonds(mol: 'OBMol') -> "void":
    return _openbabel.OBBuilder_CorrectStereoBonds(mol)
OBBuilder_CorrectStereoBonds = _openbabel.OBBuilder_CorrectStereoBonds

def OBBuilder_CorrectStereoAtoms(mol: 'OBMol') -> "void":
    return _openbabel.OBBuilder_CorrectStereoAtoms(mol)
OBBuilder_CorrectStereoAtoms = _openbabel.OBBuilder_CorrectStereoAtoms

def OBBuilder_IsSpiroAtom(atomId: 'unsigned long', mol: 'OBMol') -> "bool":
    return _openbabel.OBBuilder_IsSpiroAtom(atomId, mol)
OBBuilder_IsSpiroAtom = _openbabel.OBBuilder_IsSpiroAtom

def OBBuilder_GetFragment(atom: 'OBAtom') -> "OpenBabel::OBBitVec":
    return _openbabel.OBBuilder_GetFragment(atom)
OBBuilder_GetFragment = _openbabel.OBBuilder_GetFragment

def OBBuilder_AddNbrs(fragment: 'OBBitVec', atom: 'OBAtom') -> "void":
    return _openbabel.OBBuilder_AddNbrs(fragment, atom)
OBBuilder_AddNbrs = _openbabel.OBBuilder_AddNbrs

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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    Default = staticmethod(_openbabel.OBOp_Default)
    FindType = staticmethod(_openbabel.OBOp_FindType)
    OpOptions = staticmethod(_openbabel.OBOp_OpOptions)
    DoOps = staticmethod(_openbabel.OBOp_DoOps)
    __swig_destroy__ = _openbabel.delete_OBOp
OBOp.Do = new_instancemethod(_openbabel.OBOp_Do, None, OBOp)
OBOp.WorksWith = new_instancemethod(_openbabel.OBOp_WorksWith, None, OBOp)
OBOp.ProcessVec = new_instancemethod(_openbabel.OBOp_ProcessVec, None, OBOp)
OBOp_swigregister = _openbabel.OBOp_swigregister
OBOp_swigregister(OBOp)

def OBOp_Default() -> "OpenBabel::OBOp *&":
    return _openbabel.OBOp_Default()
OBOp_Default = _openbabel.OBOp_Default

def OBOp_FindType(ID: 'char const *') -> "OpenBabel::OBOp *":
    return _openbabel.OBOp_FindType(ID)
OBOp_FindType = _openbabel.OBOp_FindType

def OBOp_OpOptions(pOb: 'OBBase') -> "std::string":
    return _openbabel.OBOp_OpOptions(pOb)
OBOp_OpOptions = _openbabel.OBOp_OpOptions

def OBOp_DoOps(pOb: 'OBBase', pOptions: 'OpenBabel::OBOp::OpMap *', pConv: 'OBConversion') -> "bool":
    return _openbabel.OBOp_DoOps(pOb, pOptions, pConv)
OBOp_DoOps = _openbabel.OBOp_DoOps

class OBChargeModel(OBPlugin):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    Default = staticmethod(_openbabel.OBChargeModel_Default)

    def __init__(self, ID: 'char const *', IsDefault: 'bool'=False):
        _openbabel.OBChargeModel_swiginit(self, _openbabel.new_OBChargeModel(ID, IsDefault))
    FindType = staticmethod(_openbabel.OBChargeModel_FindType)
    __swig_destroy__ = _openbabel.delete_OBChargeModel
OBChargeModel.ComputeCharges = new_instancemethod(_openbabel.OBChargeModel_ComputeCharges, None, OBChargeModel)
OBChargeModel.GetFormalCharges = new_instancemethod(_openbabel.OBChargeModel_GetFormalCharges, None, OBChargeModel)
OBChargeModel.GetPartialCharges = new_instancemethod(_openbabel.OBChargeModel_GetPartialCharges, None, OBChargeModel)
OBChargeModel.GetDipoleMoment = new_instancemethod(_openbabel.OBChargeModel_GetDipoleMoment, None, OBChargeModel)
OBChargeModel_swigregister = _openbabel.OBChargeModel_swigregister
OBChargeModel_swigregister(OBChargeModel)

def OBChargeModel_Default() -> "OpenBabel::OBChargeModel *&":
    return _openbabel.OBChargeModel_Default()
OBChargeModel_Default = _openbabel.OBChargeModel_Default

def OBChargeModel_FindType(ID: 'char const *') -> "OpenBabel::OBChargeModel *":
    return _openbabel.OBChargeModel_FindType(ID)
OBChargeModel_FindType = _openbabel.OBChargeModel_FindType

class OBChemTsfm(object):
    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):
        _openbabel.OBChemTsfm_swiginit(self, _openbabel.new_OBChemTsfm())
    __swig_destroy__ = _openbabel.delete_OBChemTsfm
OBChemTsfm.Init = new_instancemethod(_openbabel.OBChemTsfm_Init, None, OBChemTsfm)
OBChemTsfm.Apply = new_instancemethod(_openbabel.OBChemTsfm_Apply, None, OBChemTsfm)
OBChemTsfm.IsAcid = new_instancemethod(_openbabel.OBChemTsfm_IsAcid, None, OBChemTsfm)
OBChemTsfm.IsBase = new_instancemethod(_openbabel.OBChemTsfm_IsBase, None, OBChemTsfm)
OBChemTsfm_swigregister = _openbabel.OBChemTsfm_swigregister
OBChemTsfm_swigregister(OBChemTsfm)

class OBPhModel(OBGlobalDataBase):
    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):
        _openbabel.OBPhModel_swiginit(self, _openbabel.new_OBPhModel())
    __swig_destroy__ = _openbabel.delete_OBPhModel
OBPhModel.AssignSeedPartialCharge = new_instancemethod(_openbabel.OBPhModel_AssignSeedPartialCharge, None, OBPhModel)
OBPhModel.CorrectForPH = new_instancemethod(_openbabel.OBPhModel_CorrectForPH, None, OBPhModel)
OBPhModel_swigregister = _openbabel.OBPhModel_swigregister
OBPhModel_swigregister(OBPhModel)

class OBGraphSym(object):
    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, pmol: 'OBMol', frag_atoms: 'OBBitVec'=None):
        _openbabel.OBGraphSym_swiginit(self, _openbabel.new_OBGraphSym(pmol, frag_atoms))
    __swig_destroy__ = _openbabel.delete_OBGraphSym
OBGraphSym.GetSymmetry = new_instancemethod(_openbabel.OBGraphSym_GetSymmetry, None, OBGraphSym)
OBGraphSym.ClearSymmetry = new_instancemethod(_openbabel.OBGraphSym_ClearSymmetry, None, OBGraphSym)
OBGraphSym_swigregister = _openbabel.OBGraphSym_swigregister
OBGraphSym_swigregister(OBGraphSym)
OBGraphSym.NoSymmetryClass = _openbabel.cvar.OBGraphSym_NoSymmetryClass

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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _openbabel.delete_OBIsomorphismMapper
    GetInstance = staticmethod(_openbabel.OBIsomorphismMapper_GetInstance)
OBIsomorphismMapper.MapFirst = new_instancemethod(_openbabel.OBIsomorphismMapper_MapFirst, None, OBIsomorphismMapper)
OBIsomorphismMapper.MapUnique = new_instancemethod(_openbabel.OBIsomorphismMapper_MapUnique, None, OBIsomorphismMapper)
OBIsomorphismMapper.MapAll = new_instancemethod(_openbabel.OBIsomorphismMapper_MapAll, None, OBIsomorphismMapper)
OBIsomorphismMapper.MapGeneric = new_instancemethod(_openbabel.OBIsomorphismMapper_MapGeneric, None, OBIsomorphismMapper)
OBIsomorphismMapper.SetTimeout = new_instancemethod(_openbabel.OBIsomorphismMapper_SetTimeout, None, OBIsomorphismMapper)
OBIsomorphismMapper_swigregister = _openbabel.OBIsomorphismMapper_swigregister
OBIsomorphismMapper_swigregister(OBIsomorphismMapper)

def OBIsomorphismMapper_GetInstance(*args) -> "OpenBabel::OBIsomorphismMapper *":
    return _openbabel.OBIsomorphismMapper_GetInstance(*args)
OBIsomorphismMapper_GetInstance = _openbabel.OBIsomorphismMapper_GetInstance


def MapsTo(map: 'vpairUIntUInt', queryIndex: 'unsigned int', queriedIndex: 'unsigned int &') -> "bool":
    return _openbabel.MapsTo(map, queryIndex, queriedIndex)
MapsTo = _openbabel.MapsTo

def FindAutomorphisms(*args) -> "void":
    return _openbabel.FindAutomorphisms(*args)
FindAutomorphisms = _openbabel.FindAutomorphisms
class OBQueryAtom(object):
    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, atomicNum: 'int'=6, isInRing: 'bool'=False, isAromatic: 'bool'=False):
        _openbabel.OBQueryAtom_swiginit(self, _openbabel.new_OBQueryAtom(atomicNum, isInRing, isAromatic))
    __swig_destroy__ = _openbabel.delete_OBQueryAtom
OBQueryAtom.GetIndex = new_instancemethod(_openbabel.OBQueryAtom_GetIndex, None, OBQueryAtom)
OBQueryAtom.GetBonds = new_instancemethod(_openbabel.OBQueryAtom_GetBonds, None, OBQueryAtom)
OBQueryAtom.GetNbrs = new_instancemethod(_openbabel.OBQueryAtom_GetNbrs, None, OBQueryAtom)
OBQueryAtom.Matches = new_instancemethod(_openbabel.OBQueryAtom_Matches, None, OBQueryAtom)
OBQueryAtom_swigregister = _openbabel.OBQueryAtom_swigregister
OBQueryAtom_swigregister(OBQueryAtom)

class OBQueryBond(object):
    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, begin: 'OBQueryAtom', end: 'OBQueryAtom', order: 'int'=1, aromatic: 'bool'=False):
        _openbabel.OBQueryBond_swiginit(self, _openbabel.new_OBQueryBond(begin, end, order, aromatic))
    __swig_destroy__ = _openbabel.delete_OBQueryBond
OBQueryBond.GetIndex = new_instancemethod(_openbabel.OBQueryBond_GetIndex, None, OBQueryBond)
OBQueryBond.GetBeginAtom = new_instancemethod(_openbabel.OBQueryBond_GetBeginAtom, None, OBQueryBond)
OBQueryBond.GetEndAtom = new_instancemethod(_openbabel.OBQueryBond_GetEndAtom, None, OBQueryBond)
OBQueryBond.Matches = new_instancemethod(_openbabel.OBQueryBond_Matches, None, OBQueryBond)
OBQueryBond_swigregister = _openbabel.OBQueryBond_swigregister
OBQueryBond_swigregister(OBQueryBond)

class OBQuery(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    __swig_destroy__ = _openbabel.delete_OBQuery

    def __init__(self):
        _openbabel.OBQuery_swiginit(self, _openbabel.new_OBQuery())
OBQuery.NumAtoms = new_instancemethod(_openbabel.OBQuery_NumAtoms, None, OBQuery)
OBQuery.NumBonds = new_instancemethod(_openbabel.OBQuery_NumBonds, None, OBQuery)
OBQuery.GetAtoms = new_instancemethod(_openbabel.OBQuery_GetAtoms, None, OBQuery)
OBQuery.GetBonds = new_instancemethod(_openbabel.OBQuery_GetBonds, None, OBQuery)
OBQuery.GetBond = new_instancemethod(_openbabel.OBQuery_GetBond, None, OBQuery)
OBQuery.AddAtom = new_instancemethod(_openbabel.OBQuery_AddAtom, None, OBQuery)
OBQuery.AddBond = new_instancemethod(_openbabel.OBQuery_AddBond, None, OBQuery)
OBQuery_swigregister = _openbabel.OBQuery_swigregister
OBQuery_swigregister(OBQuery)


def CompileMoleculeQuery(*args) -> "OpenBabel::OBQuery *":
    return _openbabel.CompileMoleculeQuery(*args)
CompileMoleculeQuery = _openbabel.CompileMoleculeQuery

def CompileSmilesQuery(*args) -> "OpenBabel::OBQuery *":
    return _openbabel.CompileSmilesQuery(*args)
CompileSmilesQuery = _openbabel.CompileSmilesQuery

def CanonicalLabels(*args) -> "void":
    return _openbabel.CanonicalLabels(*args)
CanonicalLabels = _openbabel.CanonicalLabels
class OBStereo(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    CisTrans = _openbabel.OBStereo_CisTrans
    ExtendedCisTrans = _openbabel.OBStereo_ExtendedCisTrans
    SquarePlanar = _openbabel.OBStereo_SquarePlanar
    Tetrahedral = _openbabel.OBStereo_Tetrahedral
    ExtendedTetrahedral = _openbabel.OBStereo_ExtendedTetrahedral
    TrigonalBipyramidal = _openbabel.OBStereo_TrigonalBipyramidal
    Octahedral = _openbabel.OBStereo_Octahedral
    NotStereo = _openbabel.OBStereo_NotStereo
    UpBond = _openbabel.OBStereo_UpBond
    DownBond = _openbabel.OBStereo_DownBond
    UnknownDir = _openbabel.OBStereo_UnknownDir
    ShapeU = _openbabel.OBStereo_ShapeU
    ShapeZ = _openbabel.OBStereo_ShapeZ
    Shape4 = _openbabel.OBStereo_Shape4
    ViewFrom = _openbabel.OBStereo_ViewFrom
    ViewTowards = _openbabel.OBStereo_ViewTowards
    Clockwise = _openbabel.OBStereo_Clockwise
    AntiClockwise = _openbabel.OBStereo_AntiClockwise
    UnknownWinding = _openbabel.OBStereo_UnknownWinding
    NoRef = _openbabel.OBStereo_NoRef
    ImplicitRef = _openbabel.OBStereo_ImplicitRef
    MakeRefs = staticmethod(_openbabel.OBStereo_MakeRefs)
    ContainsSameRefs = staticmethod(_openbabel.OBStereo_ContainsSameRefs)
    ContainsRef = staticmethod(_openbabel.OBStereo_ContainsRef)
    NumInversions = staticmethod(_openbabel.OBStereo_NumInversions)
    Permutate = staticmethod(_openbabel.OBStereo_Permutate)
    Permutated = staticmethod(_openbabel.OBStereo_Permutated)

    def __init__(self):
        _openbabel.OBStereo_swiginit(self, _openbabel.new_OBStereo())
    __swig_destroy__ = _openbabel.delete_OBStereo
OBStereo_swigregister = _openbabel.OBStereo_swigregister
OBStereo_swigregister(OBStereo)

def OBStereo_MakeRefs(*args) -> "OpenBabel::OBStereo::Refs":
    return _openbabel.OBStereo_MakeRefs(*args)
OBStereo_MakeRefs = _openbabel.OBStereo_MakeRefs

def OBStereo_ContainsSameRefs(refs1: 'vectorULong', refs2: 'vectorULong') -> "bool":
    return _openbabel.OBStereo_ContainsSameRefs(refs1, refs2)
OBStereo_ContainsSameRefs = _openbabel.OBStereo_ContainsSameRefs

def OBStereo_ContainsRef(refs: 'vectorULong', ref: 'unsigned long') -> "bool":
    return _openbabel.OBStereo_ContainsRef(refs, ref)
OBStereo_ContainsRef = _openbabel.OBStereo_ContainsRef

def OBStereo_NumInversions(refs: 'vectorULong') -> "int":
    return _openbabel.OBStereo_NumInversions(refs)
OBStereo_NumInversions = _openbabel.OBStereo_NumInversions

def OBStereo_Permutate(refs: 'vectorULong', i: 'int', j: 'int') -> "void":
    return _openbabel.OBStereo_Permutate(refs, i, j)
OBStereo_Permutate = _openbabel.OBStereo_Permutate

def OBStereo_Permutated(refs: 'vectorULong', i: 'int', j: 'int') -> "OpenBabel::OBStereo::Refs":
    return _openbabel.OBStereo_Permutated(refs, i, j)
OBStereo_Permutated = _openbabel.OBStereo_Permutated

class OBStereoUnit(object):
    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):
        _openbabel.OBStereoUnit_swiginit(self, _openbabel.new_OBStereoUnit(*args))
    type = _swig_property(_openbabel.OBStereoUnit_type_get, _openbabel.OBStereoUnit_type_set)
    id = _swig_property(_openbabel.OBStereoUnit_id_get, _openbabel.OBStereoUnit_id_set)
    para = _swig_property(_openbabel.OBStereoUnit_para_get, _openbabel.OBStereoUnit_para_set)
    __swig_destroy__ = _openbabel.delete_OBStereoUnit
OBStereoUnit_swigregister = _openbabel.OBStereoUnit_swigregister
OBStereoUnit_swigregister(OBStereoUnit)

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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _openbabel.delete_OBStereoBase
OBStereoBase.GetMolecule = new_instancemethod(_openbabel.OBStereoBase_GetMolecule, None, OBStereoBase)
OBStereoBase.GetType = new_instancemethod(_openbabel.OBStereoBase_GetType, None, OBStereoBase)
OBStereoBase.SetSpecified = new_instancemethod(_openbabel.OBStereoBase_SetSpecified, None, OBStereoBase)
OBStereoBase.IsSpecified = new_instancemethod(_openbabel.OBStereoBase_IsSpecified, None, OBStereoBase)
OBStereoBase_swigregister = _openbabel.OBStereoBase_swigregister
OBStereoBase_swigregister(OBStereoBase)

class OBStereoFacade(object):
    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, mol: 'OBMol', perceive: 'bool'=True):
        _openbabel.OBStereoFacade_swiginit(self, _openbabel.new_OBStereoFacade(mol, perceive))
    __swig_destroy__ = _openbabel.delete_OBStereoFacade
OBStereoFacade.NumTetrahedralStereo = new_instancemethod(_openbabel.OBStereoFacade_NumTetrahedralStereo, None, OBStereoFacade)
OBStereoFacade.HasTetrahedralStereo = new_instancemethod(_openbabel.OBStereoFacade_HasTetrahedralStereo, None, OBStereoFacade)
OBStereoFacade.GetTetrahedralStereo = new_instancemethod(_openbabel.OBStereoFacade_GetTetrahedralStereo, None, OBStereoFacade)
OBStereoFacade.NumCisTransStereo = new_instancemethod(_openbabel.OBStereoFacade_NumCisTransStereo, None, OBStereoFacade)
OBStereoFacade.HasCisTransStereo = new_instancemethod(_openbabel.OBStereoFacade_HasCisTransStereo, None, OBStereoFacade)
OBStereoFacade.GetCisTransStereo = new_instancemethod(_openbabel.OBStereoFacade_GetCisTransStereo, None, OBStereoFacade)
OBStereoFacade.NumSquarePlanarStereo = new_instancemethod(_openbabel.OBStereoFacade_NumSquarePlanarStereo, None, OBStereoFacade)
OBStereoFacade.HasSquarePlanarStereo = new_instancemethod(_openbabel.OBStereoFacade_HasSquarePlanarStereo, None, OBStereoFacade)
OBStereoFacade.GetSquarePlanarStereo = new_instancemethod(_openbabel.OBStereoFacade_GetSquarePlanarStereo, None, OBStereoFacade)
OBStereoFacade_swigregister = _openbabel.OBStereoFacade_swigregister
OBStereoFacade_swigregister(OBStereoFacade)


def PerceiveStereo(mol: 'OBMol', force: 'bool'=False) -> "void":
    return _openbabel.PerceiveStereo(mol, force)
PerceiveStereo = _openbabel.PerceiveStereo

def StereoFrom2D(mol: 'OBMol', updown: 'std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > *'=None, force: 'bool'=False) -> "void":
    return _openbabel.StereoFrom2D(mol, updown, force)
StereoFrom2D = _openbabel.StereoFrom2D

def StereoFrom3D(mol: 'OBMol', force: 'bool'=False) -> "void":
    return _openbabel.StereoFrom3D(mol, force)
StereoFrom3D = _openbabel.StereoFrom3D

def StereoFrom0D(mol: 'OBMol') -> "void":
    return _openbabel.StereoFrom0D(mol)
StereoFrom0D = _openbabel.StereoFrom0D

def TetrahedralFrom3D(mol: 'OBMol', stereoUnits: 'OpenBabel::OBStereoUnitSet const &', addToMol: 'bool'=True) -> "std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > >":
    return _openbabel.TetrahedralFrom3D(mol, stereoUnits, addToMol)
TetrahedralFrom3D = _openbabel.TetrahedralFrom3D

def TetrahedralFrom2D(mol: 'OBMol', stereoUnits: 'OpenBabel::OBStereoUnitSet const &', addToMol: 'bool'=True) -> "std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > >":
    return _openbabel.TetrahedralFrom2D(mol, stereoUnits, addToMol)
TetrahedralFrom2D = _openbabel.TetrahedralFrom2D

def TetrahedralFrom0D(mol: 'OBMol', stereoUnits: 'OpenBabel::OBStereoUnitSet const &', addToMol: 'bool'=True) -> "std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > >":
    return _openbabel.TetrahedralFrom0D(mol, stereoUnits, addToMol)
TetrahedralFrom0D = _openbabel.TetrahedralFrom0D

def CisTransFrom3D(mol: 'OBMol', stereoUnits: 'OpenBabel::OBStereoUnitSet const &', addToMol: 'bool'=True) -> "std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > >":
    return _openbabel.CisTransFrom3D(mol, stereoUnits, addToMol)
CisTransFrom3D = _openbabel.CisTransFrom3D

def CisTransFrom2D(mol: 'OBMol', stereoUnits: 'OpenBabel::OBStereoUnitSet const &', updown: 'std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > const *'=None, addToMol: 'bool'=True) -> "std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > >":
    return _openbabel.CisTransFrom2D(mol, stereoUnits, updown, addToMol)
CisTransFrom2D = _openbabel.CisTransFrom2D

def TetStereoToWedgeHash(mol: 'OBMol', updown: 'std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > &', arg3: 'std::map< OpenBabel::OBBond *,OpenBabel::OBStereo::Ref,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,OpenBabel::OBStereo::Ref > > > &') -> "bool":
    return _openbabel.TetStereoToWedgeHash(mol, updown, arg3)
TetStereoToWedgeHash = _openbabel.TetStereoToWedgeHash

def GetUnspecifiedCisTrans(mol: 'OBMol') -> "std::set< OpenBabel::OBBond * >":
    return _openbabel.GetUnspecifiedCisTrans(mol)
GetUnspecifiedCisTrans = _openbabel.GetUnspecifiedCisTrans

def StereoRefToImplicit(mol: 'OBMol', atomId: 'OpenBabel::OBStereo::Ref') -> "void":
    return _openbabel.StereoRefToImplicit(mol, atomId)
StereoRefToImplicit = _openbabel.StereoRefToImplicit

def CisTransFrom0D(mol: 'OBMol', stereoUnits: 'OpenBabel::OBStereoUnitSet const &', addToMol: 'bool'=True) -> "std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > >":
    return _openbabel.CisTransFrom0D(mol, stereoUnits, addToMol)
CisTransFrom0D = _openbabel.CisTransFrom0D

def FindStereogenicUnits(*args) -> "OpenBabel::OBStereoUnitSet":
    return _openbabel.FindStereogenicUnits(*args)
FindStereogenicUnits = _openbabel.FindStereogenicUnits

_openbabel.SETWORD_swigconstant(_openbabel)
SETWORD = _openbabel.SETWORD

_openbabel.WORDROLL_swigconstant(_openbabel)
WORDROLL = _openbabel.WORDROLL

_openbabel.WORDMASK_swigconstant(_openbabel)
WORDMASK = _openbabel.WORDMASK

_openbabel.STARTWORDS_swigconstant(_openbabel)
STARTWORDS = _openbabel.STARTWORDS
class OBBitVec(object):
    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):
        _openbabel.OBBitVec_swiginit(self, _openbabel.new_OBBitVec(*args))
    __swig_destroy__ = _openbabel.delete_OBBitVec
OBBitVec.SetBitOn = new_instancemethod(_openbabel.OBBitVec_SetBitOn, None, OBBitVec)
OBBitVec.SetBitOff = new_instancemethod(_openbabel.OBBitVec_SetBitOff, None, OBBitVec)
OBBitVec.SetRangeOn = new_instancemethod(_openbabel.OBBitVec_SetRangeOn, None, OBBitVec)
OBBitVec.SetRangeOff = new_instancemethod(_openbabel.OBBitVec_SetRangeOff, None, OBBitVec)
OBBitVec.Fold = new_instancemethod(_openbabel.OBBitVec_Fold, None, OBBitVec)
OBBitVec.FirstBit = new_instancemethod(_openbabel.OBBitVec_FirstBit, None, OBBitVec)
OBBitVec.NextBit = new_instancemethod(_openbabel.OBBitVec_NextBit, None, OBBitVec)
OBBitVec.EndBit = new_instancemethod(_openbabel.OBBitVec_EndBit, None, OBBitVec)
OBBitVec.GetSize = new_instancemethod(_openbabel.OBBitVec_GetSize, None, OBBitVec)
OBBitVec.CountBits = new_instancemethod(_openbabel.OBBitVec_CountBits, None, OBBitVec)
OBBitVec.Empty = new_instancemethod(_openbabel.OBBitVec_Empty, None, OBBitVec)
OBBitVec.IsEmpty = new_instancemethod(_openbabel.OBBitVec_IsEmpty, None, OBBitVec)
OBBitVec.Resize = new_instancemethod(_openbabel.OBBitVec_Resize, None, OBBitVec)
OBBitVec.ResizeWords = new_instancemethod(_openbabel.OBBitVec_ResizeWords, None, OBBitVec)
OBBitVec.BitIsSet = new_instancemethod(_openbabel.OBBitVec_BitIsSet, None, OBBitVec)
OBBitVec.BitIsOn = new_instancemethod(_openbabel.OBBitVec_BitIsOn, None, OBBitVec)
OBBitVec.FromVecInt = new_instancemethod(_openbabel.OBBitVec_FromVecInt, None, OBBitVec)
OBBitVec.FromString = new_instancemethod(_openbabel.OBBitVec_FromString, None, OBBitVec)
OBBitVec.ToVecInt = new_instancemethod(_openbabel.OBBitVec_ToVecInt, None, OBBitVec)
OBBitVec.Clear = new_instancemethod(_openbabel.OBBitVec_Clear, None, OBBitVec)
OBBitVec.Negate = new_instancemethod(_openbabel.OBBitVec_Negate, None, OBBitVec)
OBBitVec.GetWords = new_instancemethod(_openbabel.OBBitVec_GetWords, None, OBBitVec)
OBBitVec.__iand__ = new_instancemethod(_openbabel.OBBitVec___iand__, None, OBBitVec)
OBBitVec.__ior__ = new_instancemethod(_openbabel.OBBitVec___ior__, None, OBBitVec)
OBBitVec.__ixor__ = new_instancemethod(_openbabel.OBBitVec___ixor__, None, OBBitVec)
OBBitVec.__isub__ = new_instancemethod(_openbabel.OBBitVec___isub__, None, OBBitVec)
OBBitVec.__iadd__ = new_instancemethod(_openbabel.OBBitVec___iadd__, None, OBBitVec)
OBBitVec_swigregister = _openbabel.OBBitVec_swigregister
OBBitVec_swigregister(OBBitVec)


def Tanimoto(bv1: 'OBBitVec', bv2: 'OBBitVec') -> "double":
    return _openbabel.Tanimoto(bv1, bv2)
Tanimoto = _openbabel.Tanimoto
class OBRotorRule(object):
    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, buffer: 'char *', ref: 'int [4]', vals: 'vectorDouble', d: 'double'):
        _openbabel.OBRotorRule_swiginit(self, _openbabel.new_OBRotorRule(buffer, ref, vals, d))
    __swig_destroy__ = _openbabel.delete_OBRotorRule
OBRotorRule.IsValid = new_instancemethod(_openbabel.OBRotorRule_IsValid, None, OBRotorRule)
OBRotorRule.GetReferenceAtoms = new_instancemethod(_openbabel.OBRotorRule_GetReferenceAtoms, None, OBRotorRule)
OBRotorRule.SetDelta = new_instancemethod(_openbabel.OBRotorRule_SetDelta, None, OBRotorRule)
OBRotorRule.GetDelta = new_instancemethod(_openbabel.OBRotorRule_GetDelta, None, OBRotorRule)
OBRotorRule.GetTorsionVals = new_instancemethod(_openbabel.OBRotorRule_GetTorsionVals, None, OBRotorRule)
OBRotorRule.GetSmartsString = new_instancemethod(_openbabel.OBRotorRule_GetSmartsString, None, OBRotorRule)
OBRotorRule.GetSmartsPattern = new_instancemethod(_openbabel.OBRotorRule_GetSmartsPattern, None, OBRotorRule)
OBRotorRule_swigregister = _openbabel.OBRotorRule_swigregister
OBRotorRule_swigregister(OBRotorRule)

class OBRotorRules(OBGlobalDataBase):
    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):
        _openbabel.OBRotorRules_swiginit(self, _openbabel.new_OBRotorRules())
    __swig_destroy__ = _openbabel.delete_OBRotorRules
OBRotorRules.SetFilename = new_instancemethod(_openbabel.OBRotorRules_SetFilename, None, OBRotorRules)
OBRotorRules.GetRotorIncrements = new_instancemethod(_openbabel.OBRotorRules_GetRotorIncrements, None, OBRotorRules)
OBRotorRules.Quiet = new_instancemethod(_openbabel.OBRotorRules_Quiet, None, OBRotorRules)
OBRotorRules_swigregister = _openbabel.OBRotorRules_swigregister
OBRotorRules_swigregister(OBRotorRules)

class OBRotor(object):
    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):
        _openbabel.OBRotor_swiginit(self, _openbabel.new_OBRotor())
    __swig_destroy__ = _openbabel.delete_OBRotor
OBRotor.SetBond = new_instancemethod(_openbabel.OBRotor_SetBond, None, OBRotor)
OBRotor.SetIdx = new_instancemethod(_openbabel.OBRotor_SetIdx, None, OBRotor)
OBRotor.SetDihedralAtoms = new_instancemethod(_openbabel.OBRotor_SetDihedralAtoms, None, OBRotor)
OBRotor.SetRotAtoms = new_instancemethod(_openbabel.OBRotor_SetRotAtoms, None, OBRotor)
OBRotor.SetTorsionValues = new_instancemethod(_openbabel.OBRotor_SetTorsionValues, None, OBRotor)
OBRotor.SetFixedBonds = new_instancemethod(_openbabel.OBRotor_SetFixedBonds, None, OBRotor)
OBRotor.SetToAngle = new_instancemethod(_openbabel.OBRotor_SetToAngle, None, OBRotor)
OBRotor.SetRotor = new_instancemethod(_openbabel.OBRotor_SetRotor, None, OBRotor)
OBRotor.Precompute = new_instancemethod(_openbabel.OBRotor_Precompute, None, OBRotor)
OBRotor.Precalc = new_instancemethod(_openbabel.OBRotor_Precalc, None, OBRotor)
OBRotor.Set = new_instancemethod(_openbabel.OBRotor_Set, None, OBRotor)
OBRotor.GetBond = new_instancemethod(_openbabel.OBRotor_GetBond, None, OBRotor)
OBRotor.Size = new_instancemethod(_openbabel.OBRotor_Size, None, OBRotor)
OBRotor.GetIdx = new_instancemethod(_openbabel.OBRotor_GetIdx, None, OBRotor)
OBRotor.GetDihedralAtoms = new_instancemethod(_openbabel.OBRotor_GetDihedralAtoms, None, OBRotor)
OBRotor.GetTorsionValues = new_instancemethod(_openbabel.OBRotor_GetTorsionValues, None, OBRotor)
OBRotor.GetFixedBonds = new_instancemethod(_openbabel.OBRotor_GetFixedBonds, None, OBRotor)
OBRotor.CalcTorsion = new_instancemethod(_openbabel.OBRotor_CalcTorsion, None, OBRotor)
OBRotor.CalcBondLength = new_instancemethod(_openbabel.OBRotor_CalcBondLength, None, OBRotor)
OBRotor.BeginTorIncrement = new_instancemethod(_openbabel.OBRotor_BeginTorIncrement, None, OBRotor)
OBRotor.EndTorIncrement = new_instancemethod(_openbabel.OBRotor_EndTorIncrement, None, OBRotor)
OBRotor.RemoveSymTorsionValues = new_instancemethod(_openbabel.OBRotor_RemoveSymTorsionValues, None, OBRotor)
OBRotor.SetDelta = new_instancemethod(_openbabel.OBRotor_SetDelta, None, OBRotor)
OBRotor.GetDelta = new_instancemethod(_openbabel.OBRotor_GetDelta, None, OBRotor)
OBRotor.GetFixedAtoms = new_instancemethod(_openbabel.OBRotor_GetFixedAtoms, None, OBRotor)
OBRotor.SetFixedAtoms = new_instancemethod(_openbabel.OBRotor_SetFixedAtoms, None, OBRotor)
OBRotor.GetEvalAtoms = new_instancemethod(_openbabel.OBRotor_GetEvalAtoms, None, OBRotor)
OBRotor.SetEvalAtoms = new_instancemethod(_openbabel.OBRotor_SetEvalAtoms, None, OBRotor)
OBRotor.GetRotAtoms = new_instancemethod(_openbabel.OBRotor_GetRotAtoms, None, OBRotor)
OBRotor.GetResolution = new_instancemethod(_openbabel.OBRotor_GetResolution, None, OBRotor)
OBRotor.SetNumCoords = new_instancemethod(_openbabel.OBRotor_SetNumCoords, None, OBRotor)
OBRotor_swigregister = _openbabel.OBRotor_swigregister
OBRotor_swigregister(OBRotor)

class OBRotorList(object):
    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):
        _openbabel.OBRotorList_swiginit(self, _openbabel.new_OBRotorList())
    __swig_destroy__ = _openbabel.delete_OBRotorList
OBRotorList.Clear = new_instancemethod(_openbabel.OBRotorList_Clear, None, OBRotorList)
OBRotorList.Size = new_instancemethod(_openbabel.OBRotorList_Size, None, OBRotorList)
OBRotorList.IsFixedBond = new_instancemethod(_openbabel.OBRotorList_IsFixedBond, None, OBRotorList)
OBRotorList.HasFixedBonds = new_instancemethod(_openbabel.OBRotorList_HasFixedBonds, None, OBRotorList)
OBRotorList.RemoveSymVals = new_instancemethod(_openbabel.OBRotorList_RemoveSymVals, None, OBRotorList)
OBRotorList.Setup = new_instancemethod(_openbabel.OBRotorList_Setup, None, OBRotorList)
OBRotorList.SetFixedBonds = new_instancemethod(_openbabel.OBRotorList_SetFixedBonds, None, OBRotorList)
OBRotorList.Init = new_instancemethod(_openbabel.OBRotorList_Init, None, OBRotorList)
OBRotorList.SetQuiet = new_instancemethod(_openbabel.OBRotorList_SetQuiet, None, OBRotorList)
OBRotorList.SetRotAtoms = new_instancemethod(_openbabel.OBRotorList_SetRotAtoms, None, OBRotorList)
OBRotorList.FindRotors = new_instancemethod(_openbabel.OBRotorList_FindRotors, None, OBRotorList)
OBRotorList.SetEvalAtoms = new_instancemethod(_openbabel.OBRotorList_SetEvalAtoms, None, OBRotorList)
OBRotorList.AssignTorVals = new_instancemethod(_openbabel.OBRotorList_AssignTorVals, None, OBRotorList)
OBRotorList.BeginRotor = new_instancemethod(_openbabel.OBRotorList_BeginRotor, None, OBRotorList)
OBRotorList.NextRotor = new_instancemethod(_openbabel.OBRotorList_NextRotor, None, OBRotorList)
OBRotorList.BeginRotors = new_instancemethod(_openbabel.OBRotorList_BeginRotors, None, OBRotorList)
OBRotorList.EndRotors = new_instancemethod(_openbabel.OBRotorList_EndRotors, None, OBRotorList)
OBRotorList.IdentifyEvalAtoms = new_instancemethod(_openbabel.OBRotorList_IdentifyEvalAtoms, None, OBRotorList)
OBRotorList.SetFixAtoms = new_instancemethod(_openbabel.OBRotorList_SetFixAtoms, None, OBRotorList)
OBRotorList.HasFixedAtoms = new_instancemethod(_openbabel.OBRotorList_HasFixedAtoms, None, OBRotorList)
OBRotorList.IgnoreSymmetryRemoval = new_instancemethod(_openbabel.OBRotorList_IgnoreSymmetryRemoval, None, OBRotorList)
OBRotorList.SetRotAtomsByFix = new_instancemethod(_openbabel.OBRotorList_SetRotAtomsByFix, None, OBRotorList)
OBRotorList_swigregister = _openbabel.OBRotorList_swigregister
OBRotorList_swigregister(OBRotorList)

class rotor_digit(object):
    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):
        _openbabel.rotor_digit_swiginit(self, _openbabel.new_rotor_digit(*args))
    __swig_destroy__ = _openbabel.delete_rotor_digit
rotor_digit.set_size = new_instancemethod(_openbabel.rotor_digit_set_size, None, rotor_digit)
rotor_digit.set_state = new_instancemethod(_openbabel.rotor_digit_set_state, None, rotor_digit)
rotor_digit.get_state = new_instancemethod(_openbabel.rotor_digit_get_state, None, rotor_digit)
rotor_digit.size = new_instancemethod(_openbabel.rotor_digit_size, None, rotor_digit)
rotor_digit.next = new_instancemethod(_openbabel.rotor_digit_next, None, rotor_digit)
rotor_digit_swigregister = _openbabel.rotor_digit_swigregister
rotor_digit_swigregister(rotor_digit)

class OBRotorKeys(object):
    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):
        _openbabel.OBRotorKeys_swiginit(self, _openbabel.new_OBRotorKeys())
    __swig_destroy__ = _openbabel.delete_OBRotorKeys
OBRotorKeys.Clear = new_instancemethod(_openbabel.OBRotorKeys_Clear, None, OBRotorKeys)
OBRotorKeys.NumKeys = new_instancemethod(_openbabel.OBRotorKeys_NumKeys, None, OBRotorKeys)
OBRotorKeys.AddRotor = new_instancemethod(_openbabel.OBRotorKeys_AddRotor, None, OBRotorKeys)
OBRotorKeys.Next = new_instancemethod(_openbabel.OBRotorKeys_Next, None, OBRotorKeys)
OBRotorKeys.GetKey = new_instancemethod(_openbabel.OBRotorKeys_GetKey, None, OBRotorKeys)
OBRotorKeys_swigregister = _openbabel.OBRotorKeys_swigregister
OBRotorKeys_swigregister(OBRotorKeys)

class OBRotamerList(OBGenericData):
    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):
        _openbabel.OBRotamerList_swiginit(self, _openbabel.new_OBRotamerList())
    __swig_destroy__ = _openbabel.delete_OBRotamerList
OBRotamerList.Setup = new_instancemethod(_openbabel.OBRotamerList_Setup, None, OBRotamerList)
OBRotamerList.NumRotors = new_instancemethod(_openbabel.OBRotamerList_NumRotors, None, OBRotamerList)
OBRotamerList.NumRotamers = new_instancemethod(_openbabel.OBRotamerList_NumRotamers, None, OBRotamerList)
OBRotamerList.AddRotamer = new_instancemethod(_openbabel.OBRotamerList_AddRotamer, None, OBRotamerList)
OBRotamerList.AddRotamers = new_instancemethod(_openbabel.OBRotamerList_AddRotamers, None, OBRotamerList)
OBRotamerList.GetReferenceArray = new_instancemethod(_openbabel.OBRotamerList_GetReferenceArray, None, OBRotamerList)
OBRotamerList.BeginRotamer = new_instancemethod(_openbabel.OBRotamerList_BeginRotamer, None, OBRotamerList)
OBRotamerList.EndRotamer = new_instancemethod(_openbabel.OBRotamerList_EndRotamer, None, OBRotamerList)
OBRotamerList.CreateConformerList = new_instancemethod(_openbabel.OBRotamerList_CreateConformerList, None, OBRotamerList)
OBRotamerList.ExpandConformerList = new_instancemethod(_openbabel.OBRotamerList_ExpandConformerList, None, OBRotamerList)
OBRotamerList.SetCurrentCoordinates = new_instancemethod(_openbabel.OBRotamerList_SetCurrentCoordinates, None, OBRotamerList)
OBRotamerList.SetBaseCoordinateSets = new_instancemethod(_openbabel.OBRotamerList_SetBaseCoordinateSets, None, OBRotamerList)
OBRotamerList.NumBaseCoordinateSets = new_instancemethod(_openbabel.OBRotamerList_NumBaseCoordinateSets, None, OBRotamerList)
OBRotamerList.GetBaseCoordinateSet = new_instancemethod(_openbabel.OBRotamerList_GetBaseCoordinateSet, None, OBRotamerList)
OBRotamerList.NumAtoms = new_instancemethod(_openbabel.OBRotamerList_NumAtoms, None, OBRotamerList)
OBRotamerList_swigregister = _openbabel.OBRotamerList_swigregister
OBRotamerList_swigregister(OBRotamerList)


_openbabel.N_PROPERTIES_swigconstant(_openbabel)
N_PROPERTIES = _openbabel.N_PROPERTIES
class OBSpectrophore(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    AngStepSize1 = _openbabel.OBSpectrophore_AngStepSize1
    AngStepSize2 = _openbabel.OBSpectrophore_AngStepSize2
    AngStepSize5 = _openbabel.OBSpectrophore_AngStepSize5
    AngStepSize10 = _openbabel.OBSpectrophore_AngStepSize10
    AngStepSize15 = _openbabel.OBSpectrophore_AngStepSize15
    AngStepSize20 = _openbabel.OBSpectrophore_AngStepSize20
    AngStepSize30 = _openbabel.OBSpectrophore_AngStepSize30
    AngStepSize36 = _openbabel.OBSpectrophore_AngStepSize36
    AngStepSize45 = _openbabel.OBSpectrophore_AngStepSize45
    AngStepSize60 = _openbabel.OBSpectrophore_AngStepSize60
    NoNormalization = _openbabel.OBSpectrophore_NoNormalization
    NormalizationTowardsZeroMean = _openbabel.OBSpectrophore_NormalizationTowardsZeroMean
    NormalizationTowardsUnitStd = _openbabel.OBSpectrophore_NormalizationTowardsUnitStd
    NormalizationTowardsZeroMeanAndUnitStd = _openbabel.OBSpectrophore_NormalizationTowardsZeroMeanAndUnitStd
    NoStereoSpecificProbes = _openbabel.OBSpectrophore_NoStereoSpecificProbes
    UniqueStereoSpecificProbes = _openbabel.OBSpectrophore_UniqueStereoSpecificProbes
    MirrorStereoSpecificProbes = _openbabel.OBSpectrophore_MirrorStereoSpecificProbes
    AllStereoSpecificProbes = _openbabel.OBSpectrophore_AllStereoSpecificProbes

    def __init__(self, *args):
        _openbabel.OBSpectrophore_swiginit(self, _openbabel.new_OBSpectrophore(*args))
    __swig_destroy__ = _openbabel.delete_OBSpectrophore
OBSpectrophore.SetResolution = new_instancemethod(_openbabel.OBSpectrophore_SetResolution, None, OBSpectrophore)
OBSpectrophore.SetAccuracy = new_instancemethod(_openbabel.OBSpectrophore_SetAccuracy, None, OBSpectrophore)
OBSpectrophore.SetStereo = new_instancemethod(_openbabel.OBSpectrophore_SetStereo, None, OBSpectrophore)
OBSpectrophore.SetNormalization = new_instancemethod(_openbabel.OBSpectrophore_SetNormalization, None, OBSpectrophore)
OBSpectrophore.GetAccuracy = new_instancemethod(_openbabel.OBSpectrophore_GetAccuracy, None, OBSpectrophore)
OBSpectrophore.GetResolution = new_instancemethod(_openbabel.OBSpectrophore_GetResolution, None, OBSpectrophore)
OBSpectrophore.GetStereo = new_instancemethod(_openbabel.OBSpectrophore_GetStereo, None, OBSpectrophore)
OBSpectrophore.GetNormalization = new_instancemethod(_openbabel.OBSpectrophore_GetNormalization, None, OBSpectrophore)
OBSpectrophore.GetSpectrophore = new_instancemethod(_openbabel.OBSpectrophore_GetSpectrophore, None, OBSpectrophore)
OBSpectrophore_swigregister = _openbabel.OBSpectrophore_swigregister
OBSpectrophore_swigregister(OBSpectrophore)

class _OBMolAtomIter(object):
    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):
        _openbabel._OBMolAtomIter_swiginit(self, _openbabel.new__OBMolAtomIter(*args))
    __swig_destroy__ = _openbabel.delete__OBMolAtomIter

    def __nonzero__(self):
        return _openbabel._OBMolAtomIter___nonzero__(self)
    __bool__ = __nonzero__


    Visit = _swig_property(_openbabel._OBMolAtomIter_Visit_get, _openbabel._OBMolAtomIter_Visit_set)
_OBMolAtomIter.inc = new_instancemethod(_openbabel._OBMolAtomIter_inc, None, _OBMolAtomIter)
_OBMolAtomIter.__deref__ = new_instancemethod(_openbabel._OBMolAtomIter___deref__, None, _OBMolAtomIter)
_OBMolAtomIter.__ref__ = new_instancemethod(_openbabel._OBMolAtomIter___ref__, None, _OBMolAtomIter)
_OBMolAtomIter.__eq__ = new_instancemethod(_openbabel._OBMolAtomIter___eq__, None, _OBMolAtomIter)
_OBMolAtomIter.Duplicate = new_instancemethod(_openbabel._OBMolAtomIter_Duplicate, None, _OBMolAtomIter)
_OBMolAtomIter.SetIdx = new_instancemethod(_openbabel._OBMolAtomIter_SetIdx, None, _OBMolAtomIter)
_OBMolAtomIter.SetId = new_instancemethod(_openbabel._OBMolAtomIter_SetId, None, _OBMolAtomIter)
_OBMolAtomIter.SetHyb = new_instancemethod(_openbabel._OBMolAtomIter_SetHyb, None, _OBMolAtomIter)
_OBMolAtomIter.SetAtomicNum = new_instancemethod(_openbabel._OBMolAtomIter_SetAtomicNum, None, _OBMolAtomIter)
_OBMolAtomIter.SetIsotope = new_instancemethod(_openbabel._OBMolAtomIter_SetIsotope, None, _OBMolAtomIter)
_OBMolAtomIter.SetImplicitValence = new_instancemethod(_openbabel._OBMolAtomIter_SetImplicitValence, None, _OBMolAtomIter)
_OBMolAtomIter.IncrementImplicitValence = new_instancemethod(_openbabel._OBMolAtomIter_IncrementImplicitValence, None, _OBMolAtomIter)
_OBMolAtomIter.DecrementImplicitValence = new_instancemethod(_openbabel._OBMolAtomIter_DecrementImplicitValence, None, _OBMolAtomIter)
_OBMolAtomIter.SetFormalCharge = new_instancemethod(_openbabel._OBMolAtomIter_SetFormalCharge, None, _OBMolAtomIter)
_OBMolAtomIter.SetSpinMultiplicity = new_instancemethod(_openbabel._OBMolAtomIter_SetSpinMultiplicity, None, _OBMolAtomIter)
_OBMolAtomIter.SetType = new_instancemethod(_openbabel._OBMolAtomIter_SetType, None, _OBMolAtomIter)
_OBMolAtomIter.SetPartialCharge = new_instancemethod(_openbabel._OBMolAtomIter_SetPartialCharge, None, _OBMolAtomIter)
_OBMolAtomIter.SetVector = new_instancemethod(_openbabel._OBMolAtomIter_SetVector, None, _OBMolAtomIter)
_OBMolAtomIter.SetCoordPtr = new_instancemethod(_openbabel._OBMolAtomIter_SetCoordPtr, None, _OBMolAtomIter)
_OBMolAtomIter.SetResidue = new_instancemethod(_openbabel._OBMolAtomIter_SetResidue, None, _OBMolAtomIter)
_OBMolAtomIter.SetParent = new_instancemethod(_openbabel._OBMolAtomIter_SetParent, None, _OBMolAtomIter)
_OBMolAtomIter.SetAromatic = new_instancemethod(_openbabel._OBMolAtomIter_SetAromatic, None, _OBMolAtomIter)
_OBMolAtomIter.UnsetAromatic = new_instancemethod(_openbabel._OBMolAtomIter_UnsetAromatic, None, _OBMolAtomIter)
_OBMolAtomIter.SetClockwiseStereo = new_instancemethod(_openbabel._OBMolAtomIter_SetClockwiseStereo, None, _OBMolAtomIter)
_OBMolAtomIter.SetAntiClockwiseStereo = new_instancemethod(_openbabel._OBMolAtomIter_SetAntiClockwiseStereo, None, _OBMolAtomIter)
_OBMolAtomIter.SetPositiveStereo = new_instancemethod(_openbabel._OBMolAtomIter_SetPositiveStereo, None, _OBMolAtomIter)
_OBMolAtomIter.SetNegativeStereo = new_instancemethod(_openbabel._OBMolAtomIter_SetNegativeStereo, None, _OBMolAtomIter)
_OBMolAtomIter.UnsetStereo = new_instancemethod(_openbabel._OBMolAtomIter_UnsetStereo, None, _OBMolAtomIter)
_OBMolAtomIter.SetInRing = new_instancemethod(_openbabel._OBMolAtomIter_SetInRing, None, _OBMolAtomIter)
_OBMolAtomIter.SetChiral = new_instancemethod(_openbabel._OBMolAtomIter_SetChiral, None, _OBMolAtomIter)
_OBMolAtomIter.ClearCoordPtr = new_instancemethod(_openbabel._OBMolAtomIter_ClearCoordPtr, None, _OBMolAtomIter)
_OBMolAtomIter.GetFormalCharge = new_instancemethod(_openbabel._OBMolAtomIter_GetFormalCharge, None, _OBMolAtomIter)
_OBMolAtomIter.GetAtomicNum = new_instancemethod(_openbabel._OBMolAtomIter_GetAtomicNum, None, _OBMolAtomIter)
_OBMolAtomIter.GetIsotope = new_instancemethod(_openbabel._OBMolAtomIter_GetIsotope, None, _OBMolAtomIter)
_OBMolAtomIter.GetSpinMultiplicity = new_instancemethod(_openbabel._OBMolAtomIter_GetSpinMultiplicity, None, _OBMolAtomIter)
_OBMolAtomIter.GetAtomicMass = new_instancemethod(_openbabel._OBMolAtomIter_GetAtomicMass, None, _OBMolAtomIter)
_OBMolAtomIter.GetExactMass = new_instancemethod(_openbabel._OBMolAtomIter_GetExactMass, None, _OBMolAtomIter)
_OBMolAtomIter.GetIdx = new_instancemethod(_openbabel._OBMolAtomIter_GetIdx, None, _OBMolAtomIter)
_OBMolAtomIter.GetIndex = new_instancemethod(_openbabel._OBMolAtomIter_GetIndex, None, _OBMolAtomIter)
_OBMolAtomIter.GetId = new_instancemethod(_openbabel._OBMolAtomIter_GetId, None, _OBMolAtomIter)
_OBMolAtomIter.GetCoordinateIdx = new_instancemethod(_openbabel._OBMolAtomIter_GetCoordinateIdx, None, _OBMolAtomIter)
_OBMolAtomIter.GetCIdx = new_instancemethod(_openbabel._OBMolAtomIter_GetCIdx, None, _OBMolAtomIter)
_OBMolAtomIter.GetValence = new_instancemethod(_openbabel._OBMolAtomIter_GetValence, None, _OBMolAtomIter)
_OBMolAtomIter.GetHyb = new_instancemethod(_openbabel._OBMolAtomIter_GetHyb, None, _OBMolAtomIter)
_OBMolAtomIter.GetImplicitValence = new_instancemethod(_openbabel._OBMolAtomIter_GetImplicitValence, None, _OBMolAtomIter)
_OBMolAtomIter.GetHvyValence = new_instancemethod(_openbabel._OBMolAtomIter_GetHvyValence, None, _OBMolAtomIter)
_OBMolAtomIter.GetHeteroValence = new_instancemethod(_openbabel._OBMolAtomIter_GetHeteroValence, None, _OBMolAtomIter)
_OBMolAtomIter.GetType = new_instancemethod(_openbabel._OBMolAtomIter_GetType, None, _OBMolAtomIter)
_OBMolAtomIter.GetX = new_instancemethod(_openbabel._OBMolAtomIter_GetX, None, _OBMolAtomIter)
_OBMolAtomIter.GetY = new_instancemethod(_openbabel._OBMolAtomIter_GetY, None, _OBMolAtomIter)
_OBMolAtomIter.GetZ = new_instancemethod(_openbabel._OBMolAtomIter_GetZ, None, _OBMolAtomIter)
_OBMolAtomIter.x = new_instancemethod(_openbabel._OBMolAtomIter_x, None, _OBMolAtomIter)
_OBMolAtomIter.y = new_instancemethod(_openbabel._OBMolAtomIter_y, None, _OBMolAtomIter)
_OBMolAtomIter.z = new_instancemethod(_openbabel._OBMolAtomIter_z, None, _OBMolAtomIter)
_OBMolAtomIter.GetCoordinate = new_instancemethod(_openbabel._OBMolAtomIter_GetCoordinate, None, _OBMolAtomIter)
_OBMolAtomIter.GetVector = new_instancemethod(_openbabel._OBMolAtomIter_GetVector, None, _OBMolAtomIter)
_OBMolAtomIter.GetPartialCharge = new_instancemethod(_openbabel._OBMolAtomIter_GetPartialCharge, None, _OBMolAtomIter)
_OBMolAtomIter.GetResidue = new_instancemethod(_openbabel._OBMolAtomIter_GetResidue, None, _OBMolAtomIter)
_OBMolAtomIter.GetParent = new_instancemethod(_openbabel._OBMolAtomIter_GetParent, None, _OBMolAtomIter)
_OBMolAtomIter.GetNewBondVector = new_instancemethod(_openbabel._OBMolAtomIter_GetNewBondVector, None, _OBMolAtomIter)
_OBMolAtomIter.GetBond = new_instancemethod(_openbabel._OBMolAtomIter_GetBond, None, _OBMolAtomIter)
_OBMolAtomIter.GetNextAtom = new_instancemethod(_openbabel._OBMolAtomIter_GetNextAtom, None, _OBMolAtomIter)
_OBMolAtomIter.BeginBonds = new_instancemethod(_openbabel._OBMolAtomIter_BeginBonds, None, _OBMolAtomIter)
_OBMolAtomIter.EndBonds = new_instancemethod(_openbabel._OBMolAtomIter_EndBonds, None, _OBMolAtomIter)
_OBMolAtomIter.BeginBond = new_instancemethod(_openbabel._OBMolAtomIter_BeginBond, None, _OBMolAtomIter)
_OBMolAtomIter.NextBond = new_instancemethod(_openbabel._OBMolAtomIter_NextBond, None, _OBMolAtomIter)
_OBMolAtomIter.BeginNbrAtom = new_instancemethod(_openbabel._OBMolAtomIter_BeginNbrAtom, None, _OBMolAtomIter)
_OBMolAtomIter.NextNbrAtom = new_instancemethod(_openbabel._OBMolAtomIter_NextNbrAtom, None, _OBMolAtomIter)
_OBMolAtomIter.GetDistance = new_instancemethod(_openbabel._OBMolAtomIter_GetDistance, None, _OBMolAtomIter)
_OBMolAtomIter.GetAngle = new_instancemethod(_openbabel._OBMolAtomIter_GetAngle, None, _OBMolAtomIter)
_OBMolAtomIter.NewResidue = new_instancemethod(_openbabel._OBMolAtomIter_NewResidue, None, _OBMolAtomIter)
_OBMolAtomIter.AddResidue = new_instancemethod(_openbabel._OBMolAtomIter_AddResidue, None, _OBMolAtomIter)
_OBMolAtomIter.DeleteResidue = new_instancemethod(_openbabel._OBMolAtomIter_DeleteResidue, None, _OBMolAtomIter)
_OBMolAtomIter.AddBond = new_instancemethod(_openbabel._OBMolAtomIter_AddBond, None, _OBMolAtomIter)
_OBMolAtomIter.InsertBond = new_instancemethod(_openbabel._OBMolAtomIter_InsertBond, None, _OBMolAtomIter)
_OBMolAtomIter.DeleteBond = new_instancemethod(_openbabel._OBMolAtomIter_DeleteBond, None, _OBMolAtomIter)
_OBMolAtomIter.ClearBond = new_instancemethod(_openbabel._OBMolAtomIter_ClearBond, None, _OBMolAtomIter)
_OBMolAtomIter.HtoMethyl = new_instancemethod(_openbabel._OBMolAtomIter_HtoMethyl, None, _OBMolAtomIter)
_OBMolAtomIter.SetHybAndGeom = new_instancemethod(_openbabel._OBMolAtomIter_SetHybAndGeom, None, _OBMolAtomIter)
_OBMolAtomIter.ForceNoH = new_instancemethod(_openbabel._OBMolAtomIter_ForceNoH, None, _OBMolAtomIter)
_OBMolAtomIter.HasNoHForced = new_instancemethod(_openbabel._OBMolAtomIter_HasNoHForced, None, _OBMolAtomIter)
_OBMolAtomIter.ForceImplH = new_instancemethod(_openbabel._OBMolAtomIter_ForceImplH, None, _OBMolAtomIter)
_OBMolAtomIter.HasImplHForced = new_instancemethod(_openbabel._OBMolAtomIter_HasImplHForced, None, _OBMolAtomIter)
_OBMolAtomIter.CountFreeOxygens = new_instancemethod(_openbabel._OBMolAtomIter_CountFreeOxygens, None, _OBMolAtomIter)
_OBMolAtomIter.ImplicitHydrogenCount = new_instancemethod(_openbabel._OBMolAtomIter_ImplicitHydrogenCount, None, _OBMolAtomIter)
_OBMolAtomIter.ExplicitHydrogenCount = new_instancemethod(_openbabel._OBMolAtomIter_ExplicitHydrogenCount, None, _OBMolAtomIter)
_OBMolAtomIter.MemberOfRingCount = new_instancemethod(_openbabel._OBMolAtomIter_MemberOfRingCount, None, _OBMolAtomIter)
_OBMolAtomIter.MemberOfRingSize = new_instancemethod(_openbabel._OBMolAtomIter_MemberOfRingSize, None, _OBMolAtomIter)
_OBMolAtomIter.CountRingBonds = new_instancemethod(_openbabel._OBMolAtomIter_CountRingBonds, None, _OBMolAtomIter)
_OBMolAtomIter.SmallestBondAngle = new_instancemethod(_openbabel._OBMolAtomIter_SmallestBondAngle, None, _OBMolAtomIter)
_OBMolAtomIter.AverageBondAngle = new_instancemethod(_openbabel._OBMolAtomIter_AverageBondAngle, None, _OBMolAtomIter)
_OBMolAtomIter.BOSum = new_instancemethod(_openbabel._OBMolAtomIter_BOSum, None, _OBMolAtomIter)
_OBMolAtomIter.KBOSum = new_instancemethod(_openbabel._OBMolAtomIter_KBOSum, None, _OBMolAtomIter)
_OBMolAtomIter.HasResidue = new_instancemethod(_openbabel._OBMolAtomIter_HasResidue, None, _OBMolAtomIter)
_OBMolAtomIter.IsHydrogen = new_instancemethod(_openbabel._OBMolAtomIter_IsHydrogen, None, _OBMolAtomIter)
_OBMolAtomIter.IsCarbon = new_instancemethod(_openbabel._OBMolAtomIter_IsCarbon, None, _OBMolAtomIter)
_OBMolAtomIter.IsNitrogen = new_instancemethod(_openbabel._OBMolAtomIter_IsNitrogen, None, _OBMolAtomIter)
_OBMolAtomIter.IsOxygen = new_instancemethod(_openbabel._OBMolAtomIter_IsOxygen, None, _OBMolAtomIter)
_OBMolAtomIter.IsSulfur = new_instancemethod(_openbabel._OBMolAtomIter_IsSulfur, None, _OBMolAtomIter)
_OBMolAtomIter.IsPhosphorus = new_instancemethod(_openbabel._OBMolAtomIter_IsPhosphorus, None, _OBMolAtomIter)
_OBMolAtomIter.IsAromatic = new_instancemethod(_openbabel._OBMolAtomIter_IsAromatic, None, _OBMolAtomIter)
_OBMolAtomIter.IsInRing = new_instancemethod(_openbabel._OBMolAtomIter_IsInRing, None, _OBMolAtomIter)
_OBMolAtomIter.IsInRingSize = new_instancemethod(_openbabel._OBMolAtomIter_IsInRingSize, None, _OBMolAtomIter)
_OBMolAtomIter.IsHeteroatom = new_instancemethod(_openbabel._OBMolAtomIter_IsHeteroatom, None, _OBMolAtomIter)
_OBMolAtomIter.IsNotCorH = new_instancemethod(_openbabel._OBMolAtomIter_IsNotCorH, None, _OBMolAtomIter)
_OBMolAtomIter.IsConnected = new_instancemethod(_openbabel._OBMolAtomIter_IsConnected, None, _OBMolAtomIter)
_OBMolAtomIter.IsOneThree = new_instancemethod(_openbabel._OBMolAtomIter_IsOneThree, None, _OBMolAtomIter)
_OBMolAtomIter.IsOneFour = new_instancemethod(_openbabel._OBMolAtomIter_IsOneFour, None, _OBMolAtomIter)
_OBMolAtomIter.IsCarboxylOxygen = new_instancemethod(_openbabel._OBMolAtomIter_IsCarboxylOxygen, None, _OBMolAtomIter)
_OBMolAtomIter.IsPhosphateOxygen = new_instancemethod(_openbabel._OBMolAtomIter_IsPhosphateOxygen, None, _OBMolAtomIter)
_OBMolAtomIter.IsSulfateOxygen = new_instancemethod(_openbabel._OBMolAtomIter_IsSulfateOxygen, None, _OBMolAtomIter)
_OBMolAtomIter.IsNitroOxygen = new_instancemethod(_openbabel._OBMolAtomIter_IsNitroOxygen, None, _OBMolAtomIter)
_OBMolAtomIter.IsAmideNitrogen = new_instancemethod(_openbabel._OBMolAtomIter_IsAmideNitrogen, None, _OBMolAtomIter)
_OBMolAtomIter.IsPolarHydrogen = new_instancemethod(_openbabel._OBMolAtomIter_IsPolarHydrogen, None, _OBMolAtomIter)
_OBMolAtomIter.IsNonPolarHydrogen = new_instancemethod(_openbabel._OBMolAtomIter_IsNonPolarHydrogen, None, _OBMolAtomIter)
_OBMolAtomIter.IsAromaticNOxide = new_instancemethod(_openbabel._OBMolAtomIter_IsAromaticNOxide, None, _OBMolAtomIter)
_OBMolAtomIter.IsChiral = new_instancemethod(_openbabel._OBMolAtomIter_IsChiral, None, _OBMolAtomIter)
_OBMolAtomIter.IsAxial = new_instancemethod(_openbabel._OBMolAtomIter_IsAxial, None, _OBMolAtomIter)
_OBMolAtomIter.IsClockwise = new_instancemethod(_openbabel._OBMolAtomIter_IsClockwise, None, _OBMolAtomIter)
_OBMolAtomIter.IsAntiClockwise = new_instancemethod(_openbabel._OBMolAtomIter_IsAntiClockwise, None, _OBMolAtomIter)
_OBMolAtomIter.IsPositiveStereo = new_instancemethod(_openbabel._OBMolAtomIter_IsPositiveStereo, None, _OBMolAtomIter)
_OBMolAtomIter.IsNegativeStereo = new_instancemethod(_openbabel._OBMolAtomIter_IsNegativeStereo, None, _OBMolAtomIter)
_OBMolAtomIter.HasChiralitySpecified = new_instancemethod(_openbabel._OBMolAtomIter_HasChiralitySpecified, None, _OBMolAtomIter)
_OBMolAtomIter.HasChiralVolume = new_instancemethod(_openbabel._OBMolAtomIter_HasChiralVolume, None, _OBMolAtomIter)
_OBMolAtomIter.IsHbondAcceptor = new_instancemethod(_openbabel._OBMolAtomIter_IsHbondAcceptor, None, _OBMolAtomIter)
_OBMolAtomIter.IsHbondDonor = new_instancemethod(_openbabel._OBMolAtomIter_IsHbondDonor, None, _OBMolAtomIter)
_OBMolAtomIter.IsHbondDonorH = new_instancemethod(_openbabel._OBMolAtomIter_IsHbondDonorH, None, _OBMolAtomIter)
_OBMolAtomIter.HasAlphaBetaUnsat = new_instancemethod(_openbabel._OBMolAtomIter_HasAlphaBetaUnsat, None, _OBMolAtomIter)
_OBMolAtomIter.HasBondOfOrder = new_instancemethod(_openbabel._OBMolAtomIter_HasBondOfOrder, None, _OBMolAtomIter)
_OBMolAtomIter.CountBondsOfOrder = new_instancemethod(_openbabel._OBMolAtomIter_CountBondsOfOrder, None, _OBMolAtomIter)
_OBMolAtomIter.HasNonSingleBond = new_instancemethod(_openbabel._OBMolAtomIter_HasNonSingleBond, None, _OBMolAtomIter)
_OBMolAtomIter.HasSingleBond = new_instancemethod(_openbabel._OBMolAtomIter_HasSingleBond, None, _OBMolAtomIter)
_OBMolAtomIter.HasDoubleBond = new_instancemethod(_openbabel._OBMolAtomIter_HasDoubleBond, None, _OBMolAtomIter)
_OBMolAtomIter.HasAromaticBond = new_instancemethod(_openbabel._OBMolAtomIter_HasAromaticBond, None, _OBMolAtomIter)
_OBMolAtomIter.MatchesSMARTS = new_instancemethod(_openbabel._OBMolAtomIter_MatchesSMARTS, None, _OBMolAtomIter)
_OBMolAtomIter.Clear = new_instancemethod(_openbabel._OBMolAtomIter_Clear, None, _OBMolAtomIter)
_OBMolAtomIter.DoTransformations = new_instancemethod(_openbabel._OBMolAtomIter_DoTransformations, None, _OBMolAtomIter)
_OBMolAtomIter.ClassDescription = new_instancemethod(_openbabel._OBMolAtomIter_ClassDescription, None, _OBMolAtomIter)
_OBMolAtomIter.GetTitle = new_instancemethod(_openbabel._OBMolAtomIter_GetTitle, None, _OBMolAtomIter)
_OBMolAtomIter.SetTitle = new_instancemethod(_openbabel._OBMolAtomIter_SetTitle, None, _OBMolAtomIter)
_OBMolAtomIter.HasData = new_instancemethod(_openbabel._OBMolAtomIter_HasData, None, _OBMolAtomIter)
_OBMolAtomIter.DeleteData = new_instancemethod(_openbabel._OBMolAtomIter_DeleteData, None, _OBMolAtomIter)
_OBMolAtomIter.CloneData = new_instancemethod(_openbabel._OBMolAtomIter_CloneData, None, _OBMolAtomIter)
_OBMolAtomIter.DataSize = new_instancemethod(_openbabel._OBMolAtomIter_DataSize, None, _OBMolAtomIter)
_OBMolAtomIter.GetData = new_instancemethod(_openbabel._OBMolAtomIter_GetData, None, _OBMolAtomIter)
_OBMolAtomIter.GetAllData = new_instancemethod(_openbabel._OBMolAtomIter_GetAllData, None, _OBMolAtomIter)
_OBMolAtomIter.BeginData = new_instancemethod(_openbabel._OBMolAtomIter_BeginData, None, _OBMolAtomIter)
_OBMolAtomIter.EndData = new_instancemethod(_openbabel._OBMolAtomIter_EndData, None, _OBMolAtomIter)
_OBMolAtomIter_swigregister = _openbabel._OBMolAtomIter_swigregister
_OBMolAtomIter_swigregister(_OBMolAtomIter)

class _OBMolAtomDFSIter(object):
    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):
        _openbabel._OBMolAtomDFSIter_swiginit(self, _openbabel.new__OBMolAtomDFSIter(*args))
    __swig_destroy__ = _openbabel.delete__OBMolAtomDFSIter

    def __nonzero__(self):
        return _openbabel._OBMolAtomDFSIter___nonzero__(self)
    __bool__ = __nonzero__


    Visit = _swig_property(_openbabel._OBMolAtomDFSIter_Visit_get, _openbabel._OBMolAtomDFSIter_Visit_set)
_OBMolAtomDFSIter.inc = new_instancemethod(_openbabel._OBMolAtomDFSIter_inc, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.__deref__ = new_instancemethod(_openbabel._OBMolAtomDFSIter___deref__, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.__ref__ = new_instancemethod(_openbabel._OBMolAtomDFSIter___ref__, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.next = new_instancemethod(_openbabel._OBMolAtomDFSIter_next, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.__eq__ = new_instancemethod(_openbabel._OBMolAtomDFSIter___eq__, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.Duplicate = new_instancemethod(_openbabel._OBMolAtomDFSIter_Duplicate, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetIdx = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetIdx, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetId = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetId, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetHyb = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetHyb, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetAtomicNum = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetAtomicNum, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetIsotope = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetIsotope, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetImplicitValence = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetImplicitValence, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IncrementImplicitValence = new_instancemethod(_openbabel._OBMolAtomDFSIter_IncrementImplicitValence, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.DecrementImplicitValence = new_instancemethod(_openbabel._OBMolAtomDFSIter_DecrementImplicitValence, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetFormalCharge = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetFormalCharge, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetSpinMultiplicity = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetSpinMultiplicity, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetType = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetType, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetPartialCharge = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetPartialCharge, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetVector = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetVector, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetCoordPtr = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetCoordPtr, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetResidue = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetResidue, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetParent = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetParent, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetAromatic = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetAromatic, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.UnsetAromatic = new_instancemethod(_openbabel._OBMolAtomDFSIter_UnsetAromatic, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetClockwiseStereo = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetClockwiseStereo, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetAntiClockwiseStereo = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetAntiClockwiseStereo, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetPositiveStereo = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetPositiveStereo, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetNegativeStereo = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetNegativeStereo, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.UnsetStereo = new_instancemethod(_openbabel._OBMolAtomDFSIter_UnsetStereo, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetInRing = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetInRing, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetChiral = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetChiral, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.ClearCoordPtr = new_instancemethod(_openbabel._OBMolAtomDFSIter_ClearCoordPtr, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetFormalCharge = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetFormalCharge, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetAtomicNum = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetAtomicNum, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetIsotope = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetIsotope, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetSpinMultiplicity = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetSpinMultiplicity, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetAtomicMass = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetAtomicMass, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetExactMass = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetExactMass, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetIdx = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetIdx, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetIndex = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetIndex, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetId = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetId, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetCoordinateIdx = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetCoordinateIdx, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetCIdx = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetCIdx, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetValence = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetValence, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetHyb = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetHyb, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetImplicitValence = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetImplicitValence, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetHvyValence = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetHvyValence, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetHeteroValence = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetHeteroValence, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetType = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetType, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetX = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetX, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetY = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetY, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetZ = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetZ, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.x = new_instancemethod(_openbabel._OBMolAtomDFSIter_x, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.y = new_instancemethod(_openbabel._OBMolAtomDFSIter_y, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.z = new_instancemethod(_openbabel._OBMolAtomDFSIter_z, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetCoordinate = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetCoordinate, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetVector = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetVector, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetPartialCharge = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetPartialCharge, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetResidue = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetResidue, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetParent = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetParent, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetNewBondVector = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetNewBondVector, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetBond = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetBond, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetNextAtom = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetNextAtom, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.BeginBonds = new_instancemethod(_openbabel._OBMolAtomDFSIter_BeginBonds, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.EndBonds = new_instancemethod(_openbabel._OBMolAtomDFSIter_EndBonds, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.BeginBond = new_instancemethod(_openbabel._OBMolAtomDFSIter_BeginBond, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.NextBond = new_instancemethod(_openbabel._OBMolAtomDFSIter_NextBond, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.BeginNbrAtom = new_instancemethod(_openbabel._OBMolAtomDFSIter_BeginNbrAtom, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.NextNbrAtom = new_instancemethod(_openbabel._OBMolAtomDFSIter_NextNbrAtom, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetDistance = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetDistance, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetAngle = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetAngle, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.NewResidue = new_instancemethod(_openbabel._OBMolAtomDFSIter_NewResidue, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.AddResidue = new_instancemethod(_openbabel._OBMolAtomDFSIter_AddResidue, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.DeleteResidue = new_instancemethod(_openbabel._OBMolAtomDFSIter_DeleteResidue, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.AddBond = new_instancemethod(_openbabel._OBMolAtomDFSIter_AddBond, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.InsertBond = new_instancemethod(_openbabel._OBMolAtomDFSIter_InsertBond, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.DeleteBond = new_instancemethod(_openbabel._OBMolAtomDFSIter_DeleteBond, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.ClearBond = new_instancemethod(_openbabel._OBMolAtomDFSIter_ClearBond, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.HtoMethyl = new_instancemethod(_openbabel._OBMolAtomDFSIter_HtoMethyl, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetHybAndGeom = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetHybAndGeom, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.ForceNoH = new_instancemethod(_openbabel._OBMolAtomDFSIter_ForceNoH, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.HasNoHForced = new_instancemethod(_openbabel._OBMolAtomDFSIter_HasNoHForced, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.ForceImplH = new_instancemethod(_openbabel._OBMolAtomDFSIter_ForceImplH, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.HasImplHForced = new_instancemethod(_openbabel._OBMolAtomDFSIter_HasImplHForced, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.CountFreeOxygens = new_instancemethod(_openbabel._OBMolAtomDFSIter_CountFreeOxygens, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.ImplicitHydrogenCount = new_instancemethod(_openbabel._OBMolAtomDFSIter_ImplicitHydrogenCount, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.ExplicitHydrogenCount = new_instancemethod(_openbabel._OBMolAtomDFSIter_ExplicitHydrogenCount, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.MemberOfRingCount = new_instancemethod(_openbabel._OBMolAtomDFSIter_MemberOfRingCount, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.MemberOfRingSize = new_instancemethod(_openbabel._OBMolAtomDFSIter_MemberOfRingSize, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.CountRingBonds = new_instancemethod(_openbabel._OBMolAtomDFSIter_CountRingBonds, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SmallestBondAngle = new_instancemethod(_openbabel._OBMolAtomDFSIter_SmallestBondAngle, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.AverageBondAngle = new_instancemethod(_openbabel._OBMolAtomDFSIter_AverageBondAngle, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.BOSum = new_instancemethod(_openbabel._OBMolAtomDFSIter_BOSum, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.KBOSum = new_instancemethod(_openbabel._OBMolAtomDFSIter_KBOSum, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.HasResidue = new_instancemethod(_openbabel._OBMolAtomDFSIter_HasResidue, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsHydrogen = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsHydrogen, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsCarbon = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsCarbon, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsNitrogen = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsNitrogen, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsOxygen = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsOxygen, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsSulfur = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsSulfur, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsPhosphorus = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsPhosphorus, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsAromatic = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsAromatic, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsInRing = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsInRing, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsInRingSize = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsInRingSize, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsHeteroatom = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsHeteroatom, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsNotCorH = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsNotCorH, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsConnected = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsConnected, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsOneThree = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsOneThree, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsOneFour = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsOneFour, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsCarboxylOxygen = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsCarboxylOxygen, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsPhosphateOxygen = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsPhosphateOxygen, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsSulfateOxygen = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsSulfateOxygen, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsNitroOxygen = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsNitroOxygen, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsAmideNitrogen = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsAmideNitrogen, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsPolarHydrogen = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsPolarHydrogen, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsNonPolarHydrogen = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsNonPolarHydrogen, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsAromaticNOxide = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsAromaticNOxide, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsChiral = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsChiral, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsAxial = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsAxial, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsClockwise = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsClockwise, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsAntiClockwise = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsAntiClockwise, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsPositiveStereo = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsPositiveStereo, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsNegativeStereo = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsNegativeStereo, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.HasChiralitySpecified = new_instancemethod(_openbabel._OBMolAtomDFSIter_HasChiralitySpecified, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.HasChiralVolume = new_instancemethod(_openbabel._OBMolAtomDFSIter_HasChiralVolume, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsHbondAcceptor = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsHbondAcceptor, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsHbondDonor = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsHbondDonor, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.IsHbondDonorH = new_instancemethod(_openbabel._OBMolAtomDFSIter_IsHbondDonorH, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.HasAlphaBetaUnsat = new_instancemethod(_openbabel._OBMolAtomDFSIter_HasAlphaBetaUnsat, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.HasBondOfOrder = new_instancemethod(_openbabel._OBMolAtomDFSIter_HasBondOfOrder, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.CountBondsOfOrder = new_instancemethod(_openbabel._OBMolAtomDFSIter_CountBondsOfOrder, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.HasNonSingleBond = new_instancemethod(_openbabel._OBMolAtomDFSIter_HasNonSingleBond, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.HasSingleBond = new_instancemethod(_openbabel._OBMolAtomDFSIter_HasSingleBond, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.HasDoubleBond = new_instancemethod(_openbabel._OBMolAtomDFSIter_HasDoubleBond, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.HasAromaticBond = new_instancemethod(_openbabel._OBMolAtomDFSIter_HasAromaticBond, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.MatchesSMARTS = new_instancemethod(_openbabel._OBMolAtomDFSIter_MatchesSMARTS, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.Clear = new_instancemethod(_openbabel._OBMolAtomDFSIter_Clear, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.DoTransformations = new_instancemethod(_openbabel._OBMolAtomDFSIter_DoTransformations, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.ClassDescription = new_instancemethod(_openbabel._OBMolAtomDFSIter_ClassDescription, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetTitle = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetTitle, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.SetTitle = new_instancemethod(_openbabel._OBMolAtomDFSIter_SetTitle, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.HasData = new_instancemethod(_openbabel._OBMolAtomDFSIter_HasData, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.DeleteData = new_instancemethod(_openbabel._OBMolAtomDFSIter_DeleteData, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.CloneData = new_instancemethod(_openbabel._OBMolAtomDFSIter_CloneData, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.DataSize = new_instancemethod(_openbabel._OBMolAtomDFSIter_DataSize, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetData = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetData, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.GetAllData = new_instancemethod(_openbabel._OBMolAtomDFSIter_GetAllData, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.BeginData = new_instancemethod(_openbabel._OBMolAtomDFSIter_BeginData, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter.EndData = new_instancemethod(_openbabel._OBMolAtomDFSIter_EndData, None, _OBMolAtomDFSIter)
_OBMolAtomDFSIter_swigregister = _openbabel._OBMolAtomDFSIter_swigregister
_OBMolAtomDFSIter_swigregister(_OBMolAtomDFSIter)

class _OBMolAtomBFSIter(object):
    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):
        _openbabel._OBMolAtomBFSIter_swiginit(self, _openbabel.new__OBMolAtomBFSIter(*args))
    __swig_destroy__ = _openbabel.delete__OBMolAtomBFSIter

    def __nonzero__(self):
        return _openbabel._OBMolAtomBFSIter___nonzero__(self)
    __bool__ = __nonzero__


    Visit = _swig_property(_openbabel._OBMolAtomBFSIter_Visit_get, _openbabel._OBMolAtomBFSIter_Visit_set)
_OBMolAtomBFSIter.inc = new_instancemethod(_openbabel._OBMolAtomBFSIter_inc, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.__deref__ = new_instancemethod(_openbabel._OBMolAtomBFSIter___deref__, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.__ref__ = new_instancemethod(_openbabel._OBMolAtomBFSIter___ref__, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.CurrentDepth = new_instancemethod(_openbabel._OBMolAtomBFSIter_CurrentDepth, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.__eq__ = new_instancemethod(_openbabel._OBMolAtomBFSIter___eq__, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.Duplicate = new_instancemethod(_openbabel._OBMolAtomBFSIter_Duplicate, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetIdx = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetIdx, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetId = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetId, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetHyb = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetHyb, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetAtomicNum = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetAtomicNum, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetIsotope = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetIsotope, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetImplicitValence = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetImplicitValence, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IncrementImplicitValence = new_instancemethod(_openbabel._OBMolAtomBFSIter_IncrementImplicitValence, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.DecrementImplicitValence = new_instancemethod(_openbabel._OBMolAtomBFSIter_DecrementImplicitValence, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetFormalCharge = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetFormalCharge, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetSpinMultiplicity = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetSpinMultiplicity, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetType = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetType, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetPartialCharge = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetPartialCharge, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetVector = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetVector, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetCoordPtr = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetCoordPtr, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetResidue = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetResidue, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetParent = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetParent, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetAromatic = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetAromatic, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.UnsetAromatic = new_instancemethod(_openbabel._OBMolAtomBFSIter_UnsetAromatic, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetClockwiseStereo = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetClockwiseStereo, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetAntiClockwiseStereo = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetAntiClockwiseStereo, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetPositiveStereo = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetPositiveStereo, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetNegativeStereo = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetNegativeStereo, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.UnsetStereo = new_instancemethod(_openbabel._OBMolAtomBFSIter_UnsetStereo, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetInRing = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetInRing, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetChiral = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetChiral, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.ClearCoordPtr = new_instancemethod(_openbabel._OBMolAtomBFSIter_ClearCoordPtr, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetFormalCharge = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetFormalCharge, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetAtomicNum = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetAtomicNum, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetIsotope = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetIsotope, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetSpinMultiplicity = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetSpinMultiplicity, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetAtomicMass = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetAtomicMass, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetExactMass = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetExactMass, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetIdx = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetIdx, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetIndex = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetIndex, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetId = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetId, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetCoordinateIdx = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetCoordinateIdx, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetCIdx = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetCIdx, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetValence = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetValence, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetHyb = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetHyb, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetImplicitValence = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetImplicitValence, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetHvyValence = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetHvyValence, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetHeteroValence = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetHeteroValence, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetType = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetType, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetX = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetX, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetY = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetY, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetZ = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetZ, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.x = new_instancemethod(_openbabel._OBMolAtomBFSIter_x, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.y = new_instancemethod(_openbabel._OBMolAtomBFSIter_y, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.z = new_instancemethod(_openbabel._OBMolAtomBFSIter_z, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetCoordinate = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetCoordinate, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetVector = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetVector, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetPartialCharge = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetPartialCharge, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetResidue = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetResidue, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetParent = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetParent, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetNewBondVector = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetNewBondVector, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetBond = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetBond, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetNextAtom = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetNextAtom, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.BeginBonds = new_instancemethod(_openbabel._OBMolAtomBFSIter_BeginBonds, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.EndBonds = new_instancemethod(_openbabel._OBMolAtomBFSIter_EndBonds, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.BeginBond = new_instancemethod(_openbabel._OBMolAtomBFSIter_BeginBond, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.NextBond = new_instancemethod(_openbabel._OBMolAtomBFSIter_NextBond, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.BeginNbrAtom = new_instancemethod(_openbabel._OBMolAtomBFSIter_BeginNbrAtom, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.NextNbrAtom = new_instancemethod(_openbabel._OBMolAtomBFSIter_NextNbrAtom, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetDistance = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetDistance, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetAngle = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetAngle, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.NewResidue = new_instancemethod(_openbabel._OBMolAtomBFSIter_NewResidue, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.AddResidue = new_instancemethod(_openbabel._OBMolAtomBFSIter_AddResidue, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.DeleteResidue = new_instancemethod(_openbabel._OBMolAtomBFSIter_DeleteResidue, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.AddBond = new_instancemethod(_openbabel._OBMolAtomBFSIter_AddBond, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.InsertBond = new_instancemethod(_openbabel._OBMolAtomBFSIter_InsertBond, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.DeleteBond = new_instancemethod(_openbabel._OBMolAtomBFSIter_DeleteBond, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.ClearBond = new_instancemethod(_openbabel._OBMolAtomBFSIter_ClearBond, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.HtoMethyl = new_instancemethod(_openbabel._OBMolAtomBFSIter_HtoMethyl, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetHybAndGeom = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetHybAndGeom, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.ForceNoH = new_instancemethod(_openbabel._OBMolAtomBFSIter_ForceNoH, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.HasNoHForced = new_instancemethod(_openbabel._OBMolAtomBFSIter_HasNoHForced, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.ForceImplH = new_instancemethod(_openbabel._OBMolAtomBFSIter_ForceImplH, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.HasImplHForced = new_instancemethod(_openbabel._OBMolAtomBFSIter_HasImplHForced, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.CountFreeOxygens = new_instancemethod(_openbabel._OBMolAtomBFSIter_CountFreeOxygens, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.ImplicitHydrogenCount = new_instancemethod(_openbabel._OBMolAtomBFSIter_ImplicitHydrogenCount, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.ExplicitHydrogenCount = new_instancemethod(_openbabel._OBMolAtomBFSIter_ExplicitHydrogenCount, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.MemberOfRingCount = new_instancemethod(_openbabel._OBMolAtomBFSIter_MemberOfRingCount, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.MemberOfRingSize = new_instancemethod(_openbabel._OBMolAtomBFSIter_MemberOfRingSize, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.CountRingBonds = new_instancemethod(_openbabel._OBMolAtomBFSIter_CountRingBonds, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SmallestBondAngle = new_instancemethod(_openbabel._OBMolAtomBFSIter_SmallestBondAngle, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.AverageBondAngle = new_instancemethod(_openbabel._OBMolAtomBFSIter_AverageBondAngle, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.BOSum = new_instancemethod(_openbabel._OBMolAtomBFSIter_BOSum, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.KBOSum = new_instancemethod(_openbabel._OBMolAtomBFSIter_KBOSum, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.HasResidue = new_instancemethod(_openbabel._OBMolAtomBFSIter_HasResidue, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsHydrogen = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsHydrogen, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsCarbon = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsCarbon, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsNitrogen = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsNitrogen, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsOxygen = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsOxygen, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsSulfur = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsSulfur, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsPhosphorus = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsPhosphorus, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsAromatic = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsAromatic, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsInRing = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsInRing, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsInRingSize = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsInRingSize, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsHeteroatom = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsHeteroatom, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsNotCorH = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsNotCorH, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsConnected = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsConnected, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsOneThree = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsOneThree, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsOneFour = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsOneFour, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsCarboxylOxygen = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsCarboxylOxygen, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsPhosphateOxygen = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsPhosphateOxygen, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsSulfateOxygen = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsSulfateOxygen, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsNitroOxygen = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsNitroOxygen, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsAmideNitrogen = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsAmideNitrogen, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsPolarHydrogen = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsPolarHydrogen, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsNonPolarHydrogen = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsNonPolarHydrogen, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsAromaticNOxide = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsAromaticNOxide, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsChiral = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsChiral, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsAxial = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsAxial, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsClockwise = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsClockwise, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsAntiClockwise = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsAntiClockwise, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsPositiveStereo = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsPositiveStereo, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsNegativeStereo = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsNegativeStereo, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.HasChiralitySpecified = new_instancemethod(_openbabel._OBMolAtomBFSIter_HasChiralitySpecified, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.HasChiralVolume = new_instancemethod(_openbabel._OBMolAtomBFSIter_HasChiralVolume, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsHbondAcceptor = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsHbondAcceptor, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsHbondDonor = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsHbondDonor, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.IsHbondDonorH = new_instancemethod(_openbabel._OBMolAtomBFSIter_IsHbondDonorH, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.HasAlphaBetaUnsat = new_instancemethod(_openbabel._OBMolAtomBFSIter_HasAlphaBetaUnsat, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.HasBondOfOrder = new_instancemethod(_openbabel._OBMolAtomBFSIter_HasBondOfOrder, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.CountBondsOfOrder = new_instancemethod(_openbabel._OBMolAtomBFSIter_CountBondsOfOrder, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.HasNonSingleBond = new_instancemethod(_openbabel._OBMolAtomBFSIter_HasNonSingleBond, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.HasSingleBond = new_instancemethod(_openbabel._OBMolAtomBFSIter_HasSingleBond, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.HasDoubleBond = new_instancemethod(_openbabel._OBMolAtomBFSIter_HasDoubleBond, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.HasAromaticBond = new_instancemethod(_openbabel._OBMolAtomBFSIter_HasAromaticBond, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.MatchesSMARTS = new_instancemethod(_openbabel._OBMolAtomBFSIter_MatchesSMARTS, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.Clear = new_instancemethod(_openbabel._OBMolAtomBFSIter_Clear, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.DoTransformations = new_instancemethod(_openbabel._OBMolAtomBFSIter_DoTransformations, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.ClassDescription = new_instancemethod(_openbabel._OBMolAtomBFSIter_ClassDescription, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetTitle = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetTitle, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.SetTitle = new_instancemethod(_openbabel._OBMolAtomBFSIter_SetTitle, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.HasData = new_instancemethod(_openbabel._OBMolAtomBFSIter_HasData, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.DeleteData = new_instancemethod(_openbabel._OBMolAtomBFSIter_DeleteData, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.CloneData = new_instancemethod(_openbabel._OBMolAtomBFSIter_CloneData, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.DataSize = new_instancemethod(_openbabel._OBMolAtomBFSIter_DataSize, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetData = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetData, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.GetAllData = new_instancemethod(_openbabel._OBMolAtomBFSIter_GetAllData, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.BeginData = new_instancemethod(_openbabel._OBMolAtomBFSIter_BeginData, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter.EndData = new_instancemethod(_openbabel._OBMolAtomBFSIter_EndData, None, _OBMolAtomBFSIter)
_OBMolAtomBFSIter_swigregister = _openbabel._OBMolAtomBFSIter_swigregister
_OBMolAtomBFSIter_swigregister(_OBMolAtomBFSIter)

class OBMolBondBFSIter(object):
    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):
        _openbabel.OBMolBondBFSIter_swiginit(self, _openbabel.new_OBMolBondBFSIter(*args))
    __swig_destroy__ = _openbabel.delete_OBMolBondBFSIter

    def __nonzero__(self):
        return _openbabel.OBMolBondBFSIter___nonzero__(self)
    __bool__ = __nonzero__


    Visit = _swig_property(_openbabel.OBMolBondBFSIter_Visit_get, _openbabel.OBMolBondBFSIter_Visit_set)
OBMolBondBFSIter.inc = new_instancemethod(_openbabel.OBMolBondBFSIter_inc, None, OBMolBondBFSIter)
OBMolBondBFSIter.__deref__ = new_instancemethod(_openbabel.OBMolBondBFSIter___deref__, None, OBMolBondBFSIter)
OBMolBondBFSIter.__ref__ = new_instancemethod(_openbabel.OBMolBondBFSIter___ref__, None, OBMolBondBFSIter)
OBMolBondBFSIter.CurrentDepth = new_instancemethod(_openbabel.OBMolBondBFSIter_CurrentDepth, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetIdx = new_instancemethod(_openbabel.OBMolBondBFSIter_SetIdx, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetId = new_instancemethod(_openbabel.OBMolBondBFSIter_SetId, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetBO = new_instancemethod(_openbabel.OBMolBondBFSIter_SetBO, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetBondOrder = new_instancemethod(_openbabel.OBMolBondBFSIter_SetBondOrder, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetBegin = new_instancemethod(_openbabel.OBMolBondBFSIter_SetBegin, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetEnd = new_instancemethod(_openbabel.OBMolBondBFSIter_SetEnd, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetParent = new_instancemethod(_openbabel.OBMolBondBFSIter_SetParent, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetLength = new_instancemethod(_openbabel.OBMolBondBFSIter_SetLength, None, OBMolBondBFSIter)
OBMolBondBFSIter.Set = new_instancemethod(_openbabel.OBMolBondBFSIter_Set, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetKSingle = new_instancemethod(_openbabel.OBMolBondBFSIter_SetKSingle, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetKDouble = new_instancemethod(_openbabel.OBMolBondBFSIter_SetKDouble, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetKTriple = new_instancemethod(_openbabel.OBMolBondBFSIter_SetKTriple, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetAromatic = new_instancemethod(_openbabel.OBMolBondBFSIter_SetAromatic, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetWedge = new_instancemethod(_openbabel.OBMolBondBFSIter_SetWedge, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetHash = new_instancemethod(_openbabel.OBMolBondBFSIter_SetHash, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetWedgeOrHash = new_instancemethod(_openbabel.OBMolBondBFSIter_SetWedgeOrHash, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetUp = new_instancemethod(_openbabel.OBMolBondBFSIter_SetUp, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetDown = new_instancemethod(_openbabel.OBMolBondBFSIter_SetDown, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetInRing = new_instancemethod(_openbabel.OBMolBondBFSIter_SetInRing, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetClosure = new_instancemethod(_openbabel.OBMolBondBFSIter_SetClosure, None, OBMolBondBFSIter)
OBMolBondBFSIter.UnsetHash = new_instancemethod(_openbabel.OBMolBondBFSIter_UnsetHash, None, OBMolBondBFSIter)
OBMolBondBFSIter.UnsetWedge = new_instancemethod(_openbabel.OBMolBondBFSIter_UnsetWedge, None, OBMolBondBFSIter)
OBMolBondBFSIter.UnsetUp = new_instancemethod(_openbabel.OBMolBondBFSIter_UnsetUp, None, OBMolBondBFSIter)
OBMolBondBFSIter.UnsetDown = new_instancemethod(_openbabel.OBMolBondBFSIter_UnsetDown, None, OBMolBondBFSIter)
OBMolBondBFSIter.UnsetAromatic = new_instancemethod(_openbabel.OBMolBondBFSIter_UnsetAromatic, None, OBMolBondBFSIter)
OBMolBondBFSIter.UnsetKekule = new_instancemethod(_openbabel.OBMolBondBFSIter_UnsetKekule, None, OBMolBondBFSIter)
OBMolBondBFSIter.GetIdx = new_instancemethod(_openbabel.OBMolBondBFSIter_GetIdx, None, OBMolBondBFSIter)
OBMolBondBFSIter.GetId = new_instancemethod(_openbabel.OBMolBondBFSIter_GetId, None, OBMolBondBFSIter)
OBMolBondBFSIter.GetBO = new_instancemethod(_openbabel.OBMolBondBFSIter_GetBO, None, OBMolBondBFSIter)
OBMolBondBFSIter.GetBondOrder = new_instancemethod(_openbabel.OBMolBondBFSIter_GetBondOrder, None, OBMolBondBFSIter)
OBMolBondBFSIter.GetFlags = new_instancemethod(_openbabel.OBMolBondBFSIter_GetFlags, None, OBMolBondBFSIter)
OBMolBondBFSIter.GetBeginAtomIdx = new_instancemethod(_openbabel.OBMolBondBFSIter_GetBeginAtomIdx, None, OBMolBondBFSIter)
OBMolBondBFSIter.GetEndAtomIdx = new_instancemethod(_openbabel.OBMolBondBFSIter_GetEndAtomIdx, None, OBMolBondBFSIter)
OBMolBondBFSIter.GetBeginAtom = new_instancemethod(_openbabel.OBMolBondBFSIter_GetBeginAtom, None, OBMolBondBFSIter)
OBMolBondBFSIter.GetEndAtom = new_instancemethod(_openbabel.OBMolBondBFSIter_GetEndAtom, None, OBMolBondBFSIter)
OBMolBondBFSIter.GetNbrAtom = new_instancemethod(_openbabel.OBMolBondBFSIter_GetNbrAtom, None, OBMolBondBFSIter)
OBMolBondBFSIter.GetParent = new_instancemethod(_openbabel.OBMolBondBFSIter_GetParent, None, OBMolBondBFSIter)
OBMolBondBFSIter.GetEquibLength = new_instancemethod(_openbabel.OBMolBondBFSIter_GetEquibLength, None, OBMolBondBFSIter)
OBMolBondBFSIter.GetLength = new_instancemethod(_openbabel.OBMolBondBFSIter_GetLength, None, OBMolBondBFSIter)
OBMolBondBFSIter.GetNbrAtomIdx = new_instancemethod(_openbabel.OBMolBondBFSIter_GetNbrAtomIdx, None, OBMolBondBFSIter)
OBMolBondBFSIter.FindSmallestRing = new_instancemethod(_openbabel.OBMolBondBFSIter_FindSmallestRing, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsAromatic = new_instancemethod(_openbabel.OBMolBondBFSIter_IsAromatic, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsInRing = new_instancemethod(_openbabel.OBMolBondBFSIter_IsInRing, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsRotor = new_instancemethod(_openbabel.OBMolBondBFSIter_IsRotor, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsAmide = new_instancemethod(_openbabel.OBMolBondBFSIter_IsAmide, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsPrimaryAmide = new_instancemethod(_openbabel.OBMolBondBFSIter_IsPrimaryAmide, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsSecondaryAmide = new_instancemethod(_openbabel.OBMolBondBFSIter_IsSecondaryAmide, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsTertiaryAmide = new_instancemethod(_openbabel.OBMolBondBFSIter_IsTertiaryAmide, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsEster = new_instancemethod(_openbabel.OBMolBondBFSIter_IsEster, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsCarbonyl = new_instancemethod(_openbabel.OBMolBondBFSIter_IsCarbonyl, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsSingle = new_instancemethod(_openbabel.OBMolBondBFSIter_IsSingle, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsDouble = new_instancemethod(_openbabel.OBMolBondBFSIter_IsDouble, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsTriple = new_instancemethod(_openbabel.OBMolBondBFSIter_IsTriple, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsKSingle = new_instancemethod(_openbabel.OBMolBondBFSIter_IsKSingle, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsKDouble = new_instancemethod(_openbabel.OBMolBondBFSIter_IsKDouble, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsKTriple = new_instancemethod(_openbabel.OBMolBondBFSIter_IsKTriple, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsClosure = new_instancemethod(_openbabel.OBMolBondBFSIter_IsClosure, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsUp = new_instancemethod(_openbabel.OBMolBondBFSIter_IsUp, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsDown = new_instancemethod(_openbabel.OBMolBondBFSIter_IsDown, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsWedge = new_instancemethod(_openbabel.OBMolBondBFSIter_IsWedge, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsHash = new_instancemethod(_openbabel.OBMolBondBFSIter_IsHash, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsWedgeOrHash = new_instancemethod(_openbabel.OBMolBondBFSIter_IsWedgeOrHash, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsCisOrTrans = new_instancemethod(_openbabel.OBMolBondBFSIter_IsCisOrTrans, None, OBMolBondBFSIter)
OBMolBondBFSIter.IsDoubleBondGeometry = new_instancemethod(_openbabel.OBMolBondBFSIter_IsDoubleBondGeometry, None, OBMolBondBFSIter)
OBMolBondBFSIter.Clear = new_instancemethod(_openbabel.OBMolBondBFSIter_Clear, None, OBMolBondBFSIter)
OBMolBondBFSIter.DoTransformations = new_instancemethod(_openbabel.OBMolBondBFSIter_DoTransformations, None, OBMolBondBFSIter)
OBMolBondBFSIter.ClassDescription = new_instancemethod(_openbabel.OBMolBondBFSIter_ClassDescription, None, OBMolBondBFSIter)
OBMolBondBFSIter.GetTitle = new_instancemethod(_openbabel.OBMolBondBFSIter_GetTitle, None, OBMolBondBFSIter)
OBMolBondBFSIter.SetTitle = new_instancemethod(_openbabel.OBMolBondBFSIter_SetTitle, None, OBMolBondBFSIter)
OBMolBondBFSIter.HasData = new_instancemethod(_openbabel.OBMolBondBFSIter_HasData, None, OBMolBondBFSIter)
OBMolBondBFSIter.DeleteData = new_instancemethod(_openbabel.OBMolBondBFSIter_DeleteData, None, OBMolBondBFSIter)
OBMolBondBFSIter.CloneData = new_instancemethod(_openbabel.OBMolBondBFSIter_CloneData, None, OBMolBondBFSIter)
OBMolBondBFSIter.DataSize = new_instancemethod(_openbabel.OBMolBondBFSIter_DataSize, None, OBMolBondBFSIter)
OBMolBondBFSIter.GetData = new_instancemethod(_openbabel.OBMolBondBFSIter_GetData, None, OBMolBondBFSIter)
OBMolBondBFSIter.GetAllData = new_instancemethod(_openbabel.OBMolBondBFSIter_GetAllData, None, OBMolBondBFSIter)
OBMolBondBFSIter.BeginData = new_instancemethod(_openbabel.OBMolBondBFSIter_BeginData, None, OBMolBondBFSIter)
OBMolBondBFSIter.EndData = new_instancemethod(_openbabel.OBMolBondBFSIter_EndData, None, OBMolBondBFSIter)
OBMolBondBFSIter_swigregister = _openbabel.OBMolBondBFSIter_swigregister
OBMolBondBFSIter_swigregister(OBMolBondBFSIter)

class _OBMolBondIter(object):
    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):
        _openbabel._OBMolBondIter_swiginit(self, _openbabel.new__OBMolBondIter(*args))
    __swig_destroy__ = _openbabel.delete__OBMolBondIter

    def __nonzero__(self):
        return _openbabel._OBMolBondIter___nonzero__(self)
    __bool__ = __nonzero__


    Visit = _swig_property(_openbabel._OBMolBondIter_Visit_get, _openbabel._OBMolBondIter_Visit_set)
_OBMolBondIter.inc = new_instancemethod(_openbabel._OBMolBondIter_inc, None, _OBMolBondIter)
_OBMolBondIter.__deref__ = new_instancemethod(_openbabel._OBMolBondIter___deref__, None, _OBMolBondIter)
_OBMolBondIter.__ref__ = new_instancemethod(_openbabel._OBMolBondIter___ref__, None, _OBMolBondIter)
_OBMolBondIter.SetIdx = new_instancemethod(_openbabel._OBMolBondIter_SetIdx, None, _OBMolBondIter)
_OBMolBondIter.SetId = new_instancemethod(_openbabel._OBMolBondIter_SetId, None, _OBMolBondIter)
_OBMolBondIter.SetBO = new_instancemethod(_openbabel._OBMolBondIter_SetBO, None, _OBMolBondIter)
_OBMolBondIter.SetBondOrder = new_instancemethod(_openbabel._OBMolBondIter_SetBondOrder, None, _OBMolBondIter)
_OBMolBondIter.SetBegin = new_instancemethod(_openbabel._OBMolBondIter_SetBegin, None, _OBMolBondIter)
_OBMolBondIter.SetEnd = new_instancemethod(_openbabel._OBMolBondIter_SetEnd, None, _OBMolBondIter)
_OBMolBondIter.SetParent = new_instancemethod(_openbabel._OBMolBondIter_SetParent, None, _OBMolBondIter)
_OBMolBondIter.SetLength = new_instancemethod(_openbabel._OBMolBondIter_SetLength, None, _OBMolBondIter)
_OBMolBondIter.Set = new_instancemethod(_openbabel._OBMolBondIter_Set, None, _OBMolBondIter)
_OBMolBondIter.SetKSingle = new_instancemethod(_openbabel._OBMolBondIter_SetKSingle, None, _OBMolBondIter)
_OBMolBondIter.SetKDouble = new_instancemethod(_openbabel._OBMolBondIter_SetKDouble, None, _OBMolBondIter)
_OBMolBondIter.SetKTriple = new_instancemethod(_openbabel._OBMolBondIter_SetKTriple, None, _OBMolBondIter)
_OBMolBondIter.SetAromatic = new_instancemethod(_openbabel._OBMolBondIter_SetAromatic, None, _OBMolBondIter)
_OBMolBondIter.SetWedge = new_instancemethod(_openbabel._OBMolBondIter_SetWedge, None, _OBMolBondIter)
_OBMolBondIter.SetHash = new_instancemethod(_openbabel._OBMolBondIter_SetHash, None, _OBMolBondIter)
_OBMolBondIter.SetWedgeOrHash = new_instancemethod(_openbabel._OBMolBondIter_SetWedgeOrHash, None, _OBMolBondIter)
_OBMolBondIter.SetUp = new_instancemethod(_openbabel._OBMolBondIter_SetUp, None, _OBMolBondIter)
_OBMolBondIter.SetDown = new_instancemethod(_openbabel._OBMolBondIter_SetDown, None, _OBMolBondIter)
_OBMolBondIter.SetInRing = new_instancemethod(_openbabel._OBMolBondIter_SetInRing, None, _OBMolBondIter)
_OBMolBondIter.SetClosure = new_instancemethod(_openbabel._OBMolBondIter_SetClosure, None, _OBMolBondIter)
_OBMolBondIter.UnsetHash = new_instancemethod(_openbabel._OBMolBondIter_UnsetHash, None, _OBMolBondIter)
_OBMolBondIter.UnsetWedge = new_instancemethod(_openbabel._OBMolBondIter_UnsetWedge, None, _OBMolBondIter)
_OBMolBondIter.UnsetUp = new_instancemethod(_openbabel._OBMolBondIter_UnsetUp, None, _OBMolBondIter)
_OBMolBondIter.UnsetDown = new_instancemethod(_openbabel._OBMolBondIter_UnsetDown, None, _OBMolBondIter)
_OBMolBondIter.UnsetAromatic = new_instancemethod(_openbabel._OBMolBondIter_UnsetAromatic, None, _OBMolBondIter)
_OBMolBondIter.UnsetKekule = new_instancemethod(_openbabel._OBMolBondIter_UnsetKekule, None, _OBMolBondIter)
_OBMolBondIter.GetIdx = new_instancemethod(_openbabel._OBMolBondIter_GetIdx, None, _OBMolBondIter)
_OBMolBondIter.GetId = new_instancemethod(_openbabel._OBMolBondIter_GetId, None, _OBMolBondIter)
_OBMolBondIter.GetBO = new_instancemethod(_openbabel._OBMolBondIter_GetBO, None, _OBMolBondIter)
_OBMolBondIter.GetBondOrder = new_instancemethod(_openbabel._OBMolBondIter_GetBondOrder, None, _OBMolBondIter)
_OBMolBondIter.GetFlags = new_instancemethod(_openbabel._OBMolBondIter_GetFlags, None, _OBMolBondIter)
_OBMolBondIter.GetBeginAtomIdx = new_instancemethod(_openbabel._OBMolBondIter_GetBeginAtomIdx, None, _OBMolBondIter)
_OBMolBondIter.GetEndAtomIdx = new_instancemethod(_openbabel._OBMolBondIter_GetEndAtomIdx, None, _OBMolBondIter)
_OBMolBondIter.GetBeginAtom = new_instancemethod(_openbabel._OBMolBondIter_GetBeginAtom, None, _OBMolBondIter)
_OBMolBondIter.GetEndAtom = new_instancemethod(_openbabel._OBMolBondIter_GetEndAtom, None, _OBMolBondIter)
_OBMolBondIter.GetNbrAtom = new_instancemethod(_openbabel._OBMolBondIter_GetNbrAtom, None, _OBMolBondIter)
_OBMolBondIter.GetParent = new_instancemethod(_openbabel._OBMolBondIter_GetParent, None, _OBMolBondIter)
_OBMolBondIter.GetEquibLength = new_instancemethod(_openbabel._OBMolBondIter_GetEquibLength, None, _OBMolBondIter)
_OBMolBondIter.GetLength = new_instancemethod(_openbabel._OBMolBondIter_GetLength, None, _OBMolBondIter)
_OBMolBondIter.GetNbrAtomIdx = new_instancemethod(_openbabel._OBMolBondIter_GetNbrAtomIdx, None, _OBMolBondIter)
_OBMolBondIter.FindSmallestRing = new_instancemethod(_openbabel._OBMolBondIter_FindSmallestRing, None, _OBMolBondIter)
_OBMolBondIter.IsAromatic = new_instancemethod(_openbabel._OBMolBondIter_IsAromatic, None, _OBMolBondIter)
_OBMolBondIter.IsInRing = new_instancemethod(_openbabel._OBMolBondIter_IsInRing, None, _OBMolBondIter)
_OBMolBondIter.IsRotor = new_instancemethod(_openbabel._OBMolBondIter_IsRotor, None, _OBMolBondIter)
_OBMolBondIter.IsAmide = new_instancemethod(_openbabel._OBMolBondIter_IsAmide, None, _OBMolBondIter)
_OBMolBondIter.IsPrimaryAmide = new_instancemethod(_openbabel._OBMolBondIter_IsPrimaryAmide, None, _OBMolBondIter)
_OBMolBondIter.IsSecondaryAmide = new_instancemethod(_openbabel._OBMolBondIter_IsSecondaryAmide, None, _OBMolBondIter)
_OBMolBondIter.IsTertiaryAmide = new_instancemethod(_openbabel._OBMolBondIter_IsTertiaryAmide, None, _OBMolBondIter)
_OBMolBondIter.IsEster = new_instancemethod(_openbabel._OBMolBondIter_IsEster, None, _OBMolBondIter)
_OBMolBondIter.IsCarbonyl = new_instancemethod(_openbabel._OBMolBondIter_IsCarbonyl, None, _OBMolBondIter)
_OBMolBondIter.IsSingle = new_instancemethod(_openbabel._OBMolBondIter_IsSingle, None, _OBMolBondIter)
_OBMolBondIter.IsDouble = new_instancemethod(_openbabel._OBMolBondIter_IsDouble, None, _OBMolBondIter)
_OBMolBondIter.IsTriple = new_instancemethod(_openbabel._OBMolBondIter_IsTriple, None, _OBMolBondIter)
_OBMolBondIter.IsKSingle = new_instancemethod(_openbabel._OBMolBondIter_IsKSingle, None, _OBMolBondIter)
_OBMolBondIter.IsKDouble = new_instancemethod(_openbabel._OBMolBondIter_IsKDouble, None, _OBMolBondIter)
_OBMolBondIter.IsKTriple = new_instancemethod(_openbabel._OBMolBondIter_IsKTriple, None, _OBMolBondIter)
_OBMolBondIter.IsClosure = new_instancemethod(_openbabel._OBMolBondIter_IsClosure, None, _OBMolBondIter)
_OBMolBondIter.IsUp = new_instancemethod(_openbabel._OBMolBondIter_IsUp, None, _OBMolBondIter)
_OBMolBondIter.IsDown = new_instancemethod(_openbabel._OBMolBondIter_IsDown, None, _OBMolBondIter)
_OBMolBondIter.IsWedge = new_instancemethod(_openbabel._OBMolBondIter_IsWedge, None, _OBMolBondIter)
_OBMolBondIter.IsHash = new_instancemethod(_openbabel._OBMolBondIter_IsHash, None, _OBMolBondIter)
_OBMolBondIter.IsWedgeOrHash = new_instancemethod(_openbabel._OBMolBondIter_IsWedgeOrHash, None, _OBMolBondIter)
_OBMolBondIter.IsCisOrTrans = new_instancemethod(_openbabel._OBMolBondIter_IsCisOrTrans, None, _OBMolBondIter)
_OBMolBondIter.IsDoubleBondGeometry = new_instancemethod(_openbabel._OBMolBondIter_IsDoubleBondGeometry, None, _OBMolBondIter)
_OBMolBondIter.Clear = new_instancemethod(_openbabel._OBMolBondIter_Clear, None, _OBMolBondIter)
_OBMolBondIter.DoTransformations = new_instancemethod(_openbabel._OBMolBondIter_DoTransformations, None, _OBMolBondIter)
_OBMolBondIter.ClassDescription = new_instancemethod(_openbabel._OBMolBondIter_ClassDescription, None, _OBMolBondIter)
_OBMolBondIter.GetTitle = new_instancemethod(_openbabel._OBMolBondIter_GetTitle, None, _OBMolBondIter)
_OBMolBondIter.SetTitle = new_instancemethod(_openbabel._OBMolBondIter_SetTitle, None, _OBMolBondIter)
_OBMolBondIter.HasData = new_instancemethod(_openbabel._OBMolBondIter_HasData, None, _OBMolBondIter)
_OBMolBondIter.DeleteData = new_instancemethod(_openbabel._OBMolBondIter_DeleteData, None, _OBMolBondIter)
_OBMolBondIter.CloneData = new_instancemethod(_openbabel._OBMolBondIter_CloneData, None, _OBMolBondIter)
_OBMolBondIter.DataSize = new_instancemethod(_openbabel._OBMolBondIter_DataSize, None, _OBMolBondIter)
_OBMolBondIter.GetData = new_instancemethod(_openbabel._OBMolBondIter_GetData, None, _OBMolBondIter)
_OBMolBondIter.GetAllData = new_instancemethod(_openbabel._OBMolBondIter_GetAllData, None, _OBMolBondIter)
_OBMolBondIter.BeginData = new_instancemethod(_openbabel._OBMolBondIter_BeginData, None, _OBMolBondIter)
_OBMolBondIter.EndData = new_instancemethod(_openbabel._OBMolBondIter_EndData, None, _OBMolBondIter)
_OBMolBondIter_swigregister = _openbabel._OBMolBondIter_swigregister
_OBMolBondIter_swigregister(_OBMolBondIter)

class _OBAtomAtomIter(object):
    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):
        _openbabel._OBAtomAtomIter_swiginit(self, _openbabel.new__OBAtomAtomIter(*args))
    __swig_destroy__ = _openbabel.delete__OBAtomAtomIter

    def __nonzero__(self):
        return _openbabel._OBAtomAtomIter___nonzero__(self)
    __bool__ = __nonzero__


    Visit = _swig_property(_openbabel._OBAtomAtomIter_Visit_get, _openbabel._OBAtomAtomIter_Visit_set)
_OBAtomAtomIter.inc = new_instancemethod(_openbabel._OBAtomAtomIter_inc, None, _OBAtomAtomIter)
_OBAtomAtomIter.__deref__ = new_instancemethod(_openbabel._OBAtomAtomIter___deref__, None, _OBAtomAtomIter)
_OBAtomAtomIter.__ref__ = new_instancemethod(_openbabel._OBAtomAtomIter___ref__, None, _OBAtomAtomIter)
_OBAtomAtomIter.__eq__ = new_instancemethod(_openbabel._OBAtomAtomIter___eq__, None, _OBAtomAtomIter)
_OBAtomAtomIter.Duplicate = new_instancemethod(_openbabel._OBAtomAtomIter_Duplicate, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetIdx = new_instancemethod(_openbabel._OBAtomAtomIter_SetIdx, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetId = new_instancemethod(_openbabel._OBAtomAtomIter_SetId, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetHyb = new_instancemethod(_openbabel._OBAtomAtomIter_SetHyb, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetAtomicNum = new_instancemethod(_openbabel._OBAtomAtomIter_SetAtomicNum, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetIsotope = new_instancemethod(_openbabel._OBAtomAtomIter_SetIsotope, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetImplicitValence = new_instancemethod(_openbabel._OBAtomAtomIter_SetImplicitValence, None, _OBAtomAtomIter)
_OBAtomAtomIter.IncrementImplicitValence = new_instancemethod(_openbabel._OBAtomAtomIter_IncrementImplicitValence, None, _OBAtomAtomIter)
_OBAtomAtomIter.DecrementImplicitValence = new_instancemethod(_openbabel._OBAtomAtomIter_DecrementImplicitValence, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetFormalCharge = new_instancemethod(_openbabel._OBAtomAtomIter_SetFormalCharge, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetSpinMultiplicity = new_instancemethod(_openbabel._OBAtomAtomIter_SetSpinMultiplicity, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetType = new_instancemethod(_openbabel._OBAtomAtomIter_SetType, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetPartialCharge = new_instancemethod(_openbabel._OBAtomAtomIter_SetPartialCharge, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetVector = new_instancemethod(_openbabel._OBAtomAtomIter_SetVector, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetCoordPtr = new_instancemethod(_openbabel._OBAtomAtomIter_SetCoordPtr, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetResidue = new_instancemethod(_openbabel._OBAtomAtomIter_SetResidue, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetParent = new_instancemethod(_openbabel._OBAtomAtomIter_SetParent, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetAromatic = new_instancemethod(_openbabel._OBAtomAtomIter_SetAromatic, None, _OBAtomAtomIter)
_OBAtomAtomIter.UnsetAromatic = new_instancemethod(_openbabel._OBAtomAtomIter_UnsetAromatic, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetClockwiseStereo = new_instancemethod(_openbabel._OBAtomAtomIter_SetClockwiseStereo, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetAntiClockwiseStereo = new_instancemethod(_openbabel._OBAtomAtomIter_SetAntiClockwiseStereo, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetPositiveStereo = new_instancemethod(_openbabel._OBAtomAtomIter_SetPositiveStereo, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetNegativeStereo = new_instancemethod(_openbabel._OBAtomAtomIter_SetNegativeStereo, None, _OBAtomAtomIter)
_OBAtomAtomIter.UnsetStereo = new_instancemethod(_openbabel._OBAtomAtomIter_UnsetStereo, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetInRing = new_instancemethod(_openbabel._OBAtomAtomIter_SetInRing, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetChiral = new_instancemethod(_openbabel._OBAtomAtomIter_SetChiral, None, _OBAtomAtomIter)
_OBAtomAtomIter.ClearCoordPtr = new_instancemethod(_openbabel._OBAtomAtomIter_ClearCoordPtr, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetFormalCharge = new_instancemethod(_openbabel._OBAtomAtomIter_GetFormalCharge, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetAtomicNum = new_instancemethod(_openbabel._OBAtomAtomIter_GetAtomicNum, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetIsotope = new_instancemethod(_openbabel._OBAtomAtomIter_GetIsotope, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetSpinMultiplicity = new_instancemethod(_openbabel._OBAtomAtomIter_GetSpinMultiplicity, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetAtomicMass = new_instancemethod(_openbabel._OBAtomAtomIter_GetAtomicMass, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetExactMass = new_instancemethod(_openbabel._OBAtomAtomIter_GetExactMass, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetIdx = new_instancemethod(_openbabel._OBAtomAtomIter_GetIdx, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetIndex = new_instancemethod(_openbabel._OBAtomAtomIter_GetIndex, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetId = new_instancemethod(_openbabel._OBAtomAtomIter_GetId, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetCoordinateIdx = new_instancemethod(_openbabel._OBAtomAtomIter_GetCoordinateIdx, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetCIdx = new_instancemethod(_openbabel._OBAtomAtomIter_GetCIdx, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetValence = new_instancemethod(_openbabel._OBAtomAtomIter_GetValence, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetHyb = new_instancemethod(_openbabel._OBAtomAtomIter_GetHyb, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetImplicitValence = new_instancemethod(_openbabel._OBAtomAtomIter_GetImplicitValence, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetHvyValence = new_instancemethod(_openbabel._OBAtomAtomIter_GetHvyValence, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetHeteroValence = new_instancemethod(_openbabel._OBAtomAtomIter_GetHeteroValence, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetType = new_instancemethod(_openbabel._OBAtomAtomIter_GetType, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetX = new_instancemethod(_openbabel._OBAtomAtomIter_GetX, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetY = new_instancemethod(_openbabel._OBAtomAtomIter_GetY, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetZ = new_instancemethod(_openbabel._OBAtomAtomIter_GetZ, None, _OBAtomAtomIter)
_OBAtomAtomIter.x = new_instancemethod(_openbabel._OBAtomAtomIter_x, None, _OBAtomAtomIter)
_OBAtomAtomIter.y = new_instancemethod(_openbabel._OBAtomAtomIter_y, None, _OBAtomAtomIter)
_OBAtomAtomIter.z = new_instancemethod(_openbabel._OBAtomAtomIter_z, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetCoordinate = new_instancemethod(_openbabel._OBAtomAtomIter_GetCoordinate, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetVector = new_instancemethod(_openbabel._OBAtomAtomIter_GetVector, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetPartialCharge = new_instancemethod(_openbabel._OBAtomAtomIter_GetPartialCharge, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetResidue = new_instancemethod(_openbabel._OBAtomAtomIter_GetResidue, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetParent = new_instancemethod(_openbabel._OBAtomAtomIter_GetParent, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetNewBondVector = new_instancemethod(_openbabel._OBAtomAtomIter_GetNewBondVector, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetBond = new_instancemethod(_openbabel._OBAtomAtomIter_GetBond, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetNextAtom = new_instancemethod(_openbabel._OBAtomAtomIter_GetNextAtom, None, _OBAtomAtomIter)
_OBAtomAtomIter.BeginBonds = new_instancemethod(_openbabel._OBAtomAtomIter_BeginBonds, None, _OBAtomAtomIter)
_OBAtomAtomIter.EndBonds = new_instancemethod(_openbabel._OBAtomAtomIter_EndBonds, None, _OBAtomAtomIter)
_OBAtomAtomIter.BeginBond = new_instancemethod(_openbabel._OBAtomAtomIter_BeginBond, None, _OBAtomAtomIter)
_OBAtomAtomIter.NextBond = new_instancemethod(_openbabel._OBAtomAtomIter_NextBond, None, _OBAtomAtomIter)
_OBAtomAtomIter.BeginNbrAtom = new_instancemethod(_openbabel._OBAtomAtomIter_BeginNbrAtom, None, _OBAtomAtomIter)
_OBAtomAtomIter.NextNbrAtom = new_instancemethod(_openbabel._OBAtomAtomIter_NextNbrAtom, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetDistance = new_instancemethod(_openbabel._OBAtomAtomIter_GetDistance, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetAngle = new_instancemethod(_openbabel._OBAtomAtomIter_GetAngle, None, _OBAtomAtomIter)
_OBAtomAtomIter.NewResidue = new_instancemethod(_openbabel._OBAtomAtomIter_NewResidue, None, _OBAtomAtomIter)
_OBAtomAtomIter.AddResidue = new_instancemethod(_openbabel._OBAtomAtomIter_AddResidue, None, _OBAtomAtomIter)
_OBAtomAtomIter.DeleteResidue = new_instancemethod(_openbabel._OBAtomAtomIter_DeleteResidue, None, _OBAtomAtomIter)
_OBAtomAtomIter.AddBond = new_instancemethod(_openbabel._OBAtomAtomIter_AddBond, None, _OBAtomAtomIter)
_OBAtomAtomIter.InsertBond = new_instancemethod(_openbabel._OBAtomAtomIter_InsertBond, None, _OBAtomAtomIter)
_OBAtomAtomIter.DeleteBond = new_instancemethod(_openbabel._OBAtomAtomIter_DeleteBond, None, _OBAtomAtomIter)
_OBAtomAtomIter.ClearBond = new_instancemethod(_openbabel._OBAtomAtomIter_ClearBond, None, _OBAtomAtomIter)
_OBAtomAtomIter.HtoMethyl = new_instancemethod(_openbabel._OBAtomAtomIter_HtoMethyl, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetHybAndGeom = new_instancemethod(_openbabel._OBAtomAtomIter_SetHybAndGeom, None, _OBAtomAtomIter)
_OBAtomAtomIter.ForceNoH = new_instancemethod(_openbabel._OBAtomAtomIter_ForceNoH, None, _OBAtomAtomIter)
_OBAtomAtomIter.HasNoHForced = new_instancemethod(_openbabel._OBAtomAtomIter_HasNoHForced, None, _OBAtomAtomIter)
_OBAtomAtomIter.ForceImplH = new_instancemethod(_openbabel._OBAtomAtomIter_ForceImplH, None, _OBAtomAtomIter)
_OBAtomAtomIter.HasImplHForced = new_instancemethod(_openbabel._OBAtomAtomIter_HasImplHForced, None, _OBAtomAtomIter)
_OBAtomAtomIter.CountFreeOxygens = new_instancemethod(_openbabel._OBAtomAtomIter_CountFreeOxygens, None, _OBAtomAtomIter)
_OBAtomAtomIter.ImplicitHydrogenCount = new_instancemethod(_openbabel._OBAtomAtomIter_ImplicitHydrogenCount, None, _OBAtomAtomIter)
_OBAtomAtomIter.ExplicitHydrogenCount = new_instancemethod(_openbabel._OBAtomAtomIter_ExplicitHydrogenCount, None, _OBAtomAtomIter)
_OBAtomAtomIter.MemberOfRingCount = new_instancemethod(_openbabel._OBAtomAtomIter_MemberOfRingCount, None, _OBAtomAtomIter)
_OBAtomAtomIter.MemberOfRingSize = new_instancemethod(_openbabel._OBAtomAtomIter_MemberOfRingSize, None, _OBAtomAtomIter)
_OBAtomAtomIter.CountRingBonds = new_instancemethod(_openbabel._OBAtomAtomIter_CountRingBonds, None, _OBAtomAtomIter)
_OBAtomAtomIter.SmallestBondAngle = new_instancemethod(_openbabel._OBAtomAtomIter_SmallestBondAngle, None, _OBAtomAtomIter)
_OBAtomAtomIter.AverageBondAngle = new_instancemethod(_openbabel._OBAtomAtomIter_AverageBondAngle, None, _OBAtomAtomIter)
_OBAtomAtomIter.BOSum = new_instancemethod(_openbabel._OBAtomAtomIter_BOSum, None, _OBAtomAtomIter)
_OBAtomAtomIter.KBOSum = new_instancemethod(_openbabel._OBAtomAtomIter_KBOSum, None, _OBAtomAtomIter)
_OBAtomAtomIter.HasResidue = new_instancemethod(_openbabel._OBAtomAtomIter_HasResidue, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsHydrogen = new_instancemethod(_openbabel._OBAtomAtomIter_IsHydrogen, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsCarbon = new_instancemethod(_openbabel._OBAtomAtomIter_IsCarbon, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsNitrogen = new_instancemethod(_openbabel._OBAtomAtomIter_IsNitrogen, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsOxygen = new_instancemethod(_openbabel._OBAtomAtomIter_IsOxygen, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsSulfur = new_instancemethod(_openbabel._OBAtomAtomIter_IsSulfur, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsPhosphorus = new_instancemethod(_openbabel._OBAtomAtomIter_IsPhosphorus, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsAromatic = new_instancemethod(_openbabel._OBAtomAtomIter_IsAromatic, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsInRing = new_instancemethod(_openbabel._OBAtomAtomIter_IsInRing, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsInRingSize = new_instancemethod(_openbabel._OBAtomAtomIter_IsInRingSize, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsHeteroatom = new_instancemethod(_openbabel._OBAtomAtomIter_IsHeteroatom, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsNotCorH = new_instancemethod(_openbabel._OBAtomAtomIter_IsNotCorH, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsConnected = new_instancemethod(_openbabel._OBAtomAtomIter_IsConnected, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsOneThree = new_instancemethod(_openbabel._OBAtomAtomIter_IsOneThree, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsOneFour = new_instancemethod(_openbabel._OBAtomAtomIter_IsOneFour, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsCarboxylOxygen = new_instancemethod(_openbabel._OBAtomAtomIter_IsCarboxylOxygen, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsPhosphateOxygen = new_instancemethod(_openbabel._OBAtomAtomIter_IsPhosphateOxygen, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsSulfateOxygen = new_instancemethod(_openbabel._OBAtomAtomIter_IsSulfateOxygen, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsNitroOxygen = new_instancemethod(_openbabel._OBAtomAtomIter_IsNitroOxygen, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsAmideNitrogen = new_instancemethod(_openbabel._OBAtomAtomIter_IsAmideNitrogen, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsPolarHydrogen = new_instancemethod(_openbabel._OBAtomAtomIter_IsPolarHydrogen, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsNonPolarHydrogen = new_instancemethod(_openbabel._OBAtomAtomIter_IsNonPolarHydrogen, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsAromaticNOxide = new_instancemethod(_openbabel._OBAtomAtomIter_IsAromaticNOxide, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsChiral = new_instancemethod(_openbabel._OBAtomAtomIter_IsChiral, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsAxial = new_instancemethod(_openbabel._OBAtomAtomIter_IsAxial, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsClockwise = new_instancemethod(_openbabel._OBAtomAtomIter_IsClockwise, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsAntiClockwise = new_instancemethod(_openbabel._OBAtomAtomIter_IsAntiClockwise, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsPositiveStereo = new_instancemethod(_openbabel._OBAtomAtomIter_IsPositiveStereo, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsNegativeStereo = new_instancemethod(_openbabel._OBAtomAtomIter_IsNegativeStereo, None, _OBAtomAtomIter)
_OBAtomAtomIter.HasChiralitySpecified = new_instancemethod(_openbabel._OBAtomAtomIter_HasChiralitySpecified, None, _OBAtomAtomIter)
_OBAtomAtomIter.HasChiralVolume = new_instancemethod(_openbabel._OBAtomAtomIter_HasChiralVolume, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsHbondAcceptor = new_instancemethod(_openbabel._OBAtomAtomIter_IsHbondAcceptor, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsHbondDonor = new_instancemethod(_openbabel._OBAtomAtomIter_IsHbondDonor, None, _OBAtomAtomIter)
_OBAtomAtomIter.IsHbondDonorH = new_instancemethod(_openbabel._OBAtomAtomIter_IsHbondDonorH, None, _OBAtomAtomIter)
_OBAtomAtomIter.HasAlphaBetaUnsat = new_instancemethod(_openbabel._OBAtomAtomIter_HasAlphaBetaUnsat, None, _OBAtomAtomIter)
_OBAtomAtomIter.HasBondOfOrder = new_instancemethod(_openbabel._OBAtomAtomIter_HasBondOfOrder, None, _OBAtomAtomIter)
_OBAtomAtomIter.CountBondsOfOrder = new_instancemethod(_openbabel._OBAtomAtomIter_CountBondsOfOrder, None, _OBAtomAtomIter)
_OBAtomAtomIter.HasNonSingleBond = new_instancemethod(_openbabel._OBAtomAtomIter_HasNonSingleBond, None, _OBAtomAtomIter)
_OBAtomAtomIter.HasSingleBond = new_instancemethod(_openbabel._OBAtomAtomIter_HasSingleBond, None, _OBAtomAtomIter)
_OBAtomAtomIter.HasDoubleBond = new_instancemethod(_openbabel._OBAtomAtomIter_HasDoubleBond, None, _OBAtomAtomIter)
_OBAtomAtomIter.HasAromaticBond = new_instancemethod(_openbabel._OBAtomAtomIter_HasAromaticBond, None, _OBAtomAtomIter)
_OBAtomAtomIter.MatchesSMARTS = new_instancemethod(_openbabel._OBAtomAtomIter_MatchesSMARTS, None, _OBAtomAtomIter)
_OBAtomAtomIter.Clear = new_instancemethod(_openbabel._OBAtomAtomIter_Clear, None, _OBAtomAtomIter)
_OBAtomAtomIter.DoTransformations = new_instancemethod(_openbabel._OBAtomAtomIter_DoTransformations, None, _OBAtomAtomIter)
_OBAtomAtomIter.ClassDescription = new_instancemethod(_openbabel._OBAtomAtomIter_ClassDescription, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetTitle = new_instancemethod(_openbabel._OBAtomAtomIter_GetTitle, None, _OBAtomAtomIter)
_OBAtomAtomIter.SetTitle = new_instancemethod(_openbabel._OBAtomAtomIter_SetTitle, None, _OBAtomAtomIter)
_OBAtomAtomIter.HasData = new_instancemethod(_openbabel._OBAtomAtomIter_HasData, None, _OBAtomAtomIter)
_OBAtomAtomIter.DeleteData = new_instancemethod(_openbabel._OBAtomAtomIter_DeleteData, None, _OBAtomAtomIter)
_OBAtomAtomIter.CloneData = new_instancemethod(_openbabel._OBAtomAtomIter_CloneData, None, _OBAtomAtomIter)
_OBAtomAtomIter.DataSize = new_instancemethod(_openbabel._OBAtomAtomIter_DataSize, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetData = new_instancemethod(_openbabel._OBAtomAtomIter_GetData, None, _OBAtomAtomIter)
_OBAtomAtomIter.GetAllData = new_instancemethod(_openbabel._OBAtomAtomIter_GetAllData, None, _OBAtomAtomIter)
_OBAtomAtomIter.BeginData = new_instancemethod(_openbabel._OBAtomAtomIter_BeginData, None, _OBAtomAtomIter)
_OBAtomAtomIter.EndData = new_instancemethod(_openbabel._OBAtomAtomIter_EndData, None, _OBAtomAtomIter)
_OBAtomAtomIter_swigregister = _openbabel._OBAtomAtomIter_swigregister
_OBAtomAtomIter_swigregister(_OBAtomAtomIter)

class _OBAtomBondIter(object):
    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):
        _openbabel._OBAtomBondIter_swiginit(self, _openbabel.new__OBAtomBondIter(*args))
    __swig_destroy__ = _openbabel.delete__OBAtomBondIter

    def __nonzero__(self):
        return _openbabel._OBAtomBondIter___nonzero__(self)
    __bool__ = __nonzero__


    Visit = _swig_property(_openbabel._OBAtomBondIter_Visit_get, _openbabel._OBAtomBondIter_Visit_set)
_OBAtomBondIter.inc = new_instancemethod(_openbabel._OBAtomBondIter_inc, None, _OBAtomBondIter)
_OBAtomBondIter.__deref__ = new_instancemethod(_openbabel._OBAtomBondIter___deref__, None, _OBAtomBondIter)
_OBAtomBondIter.__ref__ = new_instancemethod(_openbabel._OBAtomBondIter___ref__, None, _OBAtomBondIter)
_OBAtomBondIter.SetIdx = new_instancemethod(_openbabel._OBAtomBondIter_SetIdx, None, _OBAtomBondIter)
_OBAtomBondIter.SetId = new_instancemethod(_openbabel._OBAtomBondIter_SetId, None, _OBAtomBondIter)
_OBAtomBondIter.SetBO = new_instancemethod(_openbabel._OBAtomBondIter_SetBO, None, _OBAtomBondIter)
_OBAtomBondIter.SetBondOrder = new_instancemethod(_openbabel._OBAtomBondIter_SetBondOrder, None, _OBAtomBondIter)
_OBAtomBondIter.SetBegin = new_instancemethod(_openbabel._OBAtomBondIter_SetBegin, None, _OBAtomBondIter)
_OBAtomBondIter.SetEnd = new_instancemethod(_openbabel._OBAtomBondIter_SetEnd, None, _OBAtomBondIter)
_OBAtomBondIter.SetParent = new_instancemethod(_openbabel._OBAtomBondIter_SetParent, None, _OBAtomBondIter)
_OBAtomBondIter.SetLength = new_instancemethod(_openbabel._OBAtomBondIter_SetLength, None, _OBAtomBondIter)
_OBAtomBondIter.Set = new_instancemethod(_openbabel._OBAtomBondIter_Set, None, _OBAtomBondIter)
_OBAtomBondIter.SetKSingle = new_instancemethod(_openbabel._OBAtomBondIter_SetKSingle, None, _OBAtomBondIter)
_OBAtomBondIter.SetKDouble = new_instancemethod(_openbabel._OBAtomBondIter_SetKDouble, None, _OBAtomBondIter)
_OBAtomBondIter.SetKTriple = new_instancemethod(_openbabel._OBAtomBondIter_SetKTriple, None, _OBAtomBondIter)
_OBAtomBondIter.SetAromatic = new_instancemethod(_openbabel._OBAtomBondIter_SetAromatic, None, _OBAtomBondIter)
_OBAtomBondIter.SetWedge = new_instancemethod(_openbabel._OBAtomBondIter_SetWedge, None, _OBAtomBondIter)
_OBAtomBondIter.SetHash = new_instancemethod(_openbabel._OBAtomBondIter_SetHash, None, _OBAtomBondIter)
_OBAtomBondIter.SetWedgeOrHash = new_instancemethod(_openbabel._OBAtomBondIter_SetWedgeOrHash, None, _OBAtomBondIter)
_OBAtomBondIter.SetUp = new_instancemethod(_openbabel._OBAtomBondIter_SetUp, None, _OBAtomBondIter)
_OBAtomBondIter.SetDown = new_instancemethod(_openbabel._OBAtomBondIter_SetDown, None, _OBAtomBondIter)
_OBAtomBondIter.SetInRing = new_instancemethod(_openbabel._OBAtomBondIter_SetInRing, None, _OBAtomBondIter)
_OBAtomBondIter.SetClosure = new_instancemethod(_openbabel._OBAtomBondIter_SetClosure, None, _OBAtomBondIter)
_OBAtomBondIter.UnsetHash = new_instancemethod(_openbabel._OBAtomBondIter_UnsetHash, None, _OBAtomBondIter)
_OBAtomBondIter.UnsetWedge = new_instancemethod(_openbabel._OBAtomBondIter_UnsetWedge, None, _OBAtomBondIter)
_OBAtomBondIter.UnsetUp = new_instancemethod(_openbabel._OBAtomBondIter_UnsetUp, None, _OBAtomBondIter)
_OBAtomBondIter.UnsetDown = new_instancemethod(_openbabel._OBAtomBondIter_UnsetDown, None, _OBAtomBondIter)
_OBAtomBondIter.UnsetAromatic = new_instancemethod(_openbabel._OBAtomBondIter_UnsetAromatic, None, _OBAtomBondIter)
_OBAtomBondIter.UnsetKekule = new_instancemethod(_openbabel._OBAtomBondIter_UnsetKekule, None, _OBAtomBondIter)
_OBAtomBondIter.GetIdx = new_instancemethod(_openbabel._OBAtomBondIter_GetIdx, None, _OBAtomBondIter)
_OBAtomBondIter.GetId = new_instancemethod(_openbabel._OBAtomBondIter_GetId, None, _OBAtomBondIter)
_OBAtomBondIter.GetBO = new_instancemethod(_openbabel._OBAtomBondIter_GetBO, None, _OBAtomBondIter)
_OBAtomBondIter.GetBondOrder = new_instancemethod(_openbabel._OBAtomBondIter_GetBondOrder, None, _OBAtomBondIter)
_OBAtomBondIter.GetFlags = new_instancemethod(_openbabel._OBAtomBondIter_GetFlags, None, _OBAtomBondIter)
_OBAtomBondIter.GetBeginAtomIdx = new_instancemethod(_openbabel._OBAtomBondIter_GetBeginAtomIdx, None, _OBAtomBondIter)
_OBAtomBondIter.GetEndAtomIdx = new_instancemethod(_openbabel._OBAtomBondIter_GetEndAtomIdx, None, _OBAtomBondIter)
_OBAtomBondIter.GetBeginAtom = new_instancemethod(_openbabel._OBAtomBondIter_GetBeginAtom, None, _OBAtomBondIter)
_OBAtomBondIter.GetEndAtom = new_instancemethod(_openbabel._OBAtomBondIter_GetEndAtom, None, _OBAtomBondIter)
_OBAtomBondIter.GetNbrAtom = new_instancemethod(_openbabel._OBAtomBondIter_GetNbrAtom, None, _OBAtomBondIter)
_OBAtomBondIter.GetParent = new_instancemethod(_openbabel._OBAtomBondIter_GetParent, None, _OBAtomBondIter)
_OBAtomBondIter.GetEquibLength = new_instancemethod(_openbabel._OBAtomBondIter_GetEquibLength, None, _OBAtomBondIter)
_OBAtomBondIter.GetLength = new_instancemethod(_openbabel._OBAtomBondIter_GetLength, None, _OBAtomBondIter)
_OBAtomBondIter.GetNbrAtomIdx = new_instancemethod(_openbabel._OBAtomBondIter_GetNbrAtomIdx, None, _OBAtomBondIter)
_OBAtomBondIter.FindSmallestRing = new_instancemethod(_openbabel._OBAtomBondIter_FindSmallestRing, None, _OBAtomBondIter)
_OBAtomBondIter.IsAromatic = new_instancemethod(_openbabel._OBAtomBondIter_IsAromatic, None, _OBAtomBondIter)
_OBAtomBondIter.IsInRing = new_instancemethod(_openbabel._OBAtomBondIter_IsInRing, None, _OBAtomBondIter)
_OBAtomBondIter.IsRotor = new_instancemethod(_openbabel._OBAtomBondIter_IsRotor, None, _OBAtomBondIter)
_OBAtomBondIter.IsAmide = new_instancemethod(_openbabel._OBAtomBondIter_IsAmide, None, _OBAtomBondIter)
_OBAtomBondIter.IsPrimaryAmide = new_instancemethod(_openbabel._OBAtomBondIter_IsPrimaryAmide, None, _OBAtomBondIter)
_OBAtomBondIter.IsSecondaryAmide = new_instancemethod(_openbabel._OBAtomBondIter_IsSecondaryAmide, None, _OBAtomBondIter)
_OBAtomBondIter.IsTertiaryAmide = new_instancemethod(_openbabel._OBAtomBondIter_IsTertiaryAmide, None, _OBAtomBondIter)
_OBAtomBondIter.IsEster = new_instancemethod(_openbabel._OBAtomBondIter_IsEster, None, _OBAtomBondIter)
_OBAtomBondIter.IsCarbonyl = new_instancemethod(_openbabel._OBAtomBondIter_IsCarbonyl, None, _OBAtomBondIter)
_OBAtomBondIter.IsSingle = new_instancemethod(_openbabel._OBAtomBondIter_IsSingle, None, _OBAtomBondIter)
_OBAtomBondIter.IsDouble = new_instancemethod(_openbabel._OBAtomBondIter_IsDouble, None, _OBAtomBondIter)
_OBAtomBondIter.IsTriple = new_instancemethod(_openbabel._OBAtomBondIter_IsTriple, None, _OBAtomBondIter)
_OBAtomBondIter.IsKSingle = new_instancemethod(_openbabel._OBAtomBondIter_IsKSingle, None, _OBAtomBondIter)
_OBAtomBondIter.IsKDouble = new_instancemethod(_openbabel._OBAtomBondIter_IsKDouble, None, _OBAtomBondIter)
_OBAtomBondIter.IsKTriple = new_instancemethod(_openbabel._OBAtomBondIter_IsKTriple, None, _OBAtomBondIter)
_OBAtomBondIter.IsClosure = new_instancemethod(_openbabel._OBAtomBondIter_IsClosure, None, _OBAtomBondIter)
_OBAtomBondIter.IsUp = new_instancemethod(_openbabel._OBAtomBondIter_IsUp, None, _OBAtomBondIter)
_OBAtomBondIter.IsDown = new_instancemethod(_openbabel._OBAtomBondIter_IsDown, None, _OBAtomBondIter)
_OBAtomBondIter.IsWedge = new_instancemethod(_openbabel._OBAtomBondIter_IsWedge, None, _OBAtomBondIter)
_OBAtomBondIter.IsHash = new_instancemethod(_openbabel._OBAtomBondIter_IsHash, None, _OBAtomBondIter)
_OBAtomBondIter.IsWedgeOrHash = new_instancemethod(_openbabel._OBAtomBondIter_IsWedgeOrHash, None, _OBAtomBondIter)
_OBAtomBondIter.IsCisOrTrans = new_instancemethod(_openbabel._OBAtomBondIter_IsCisOrTrans, None, _OBAtomBondIter)
_OBAtomBondIter.IsDoubleBondGeometry = new_instancemethod(_openbabel._OBAtomBondIter_IsDoubleBondGeometry, None, _OBAtomBondIter)
_OBAtomBondIter.Clear = new_instancemethod(_openbabel._OBAtomBondIter_Clear, None, _OBAtomBondIter)
_OBAtomBondIter.DoTransformations = new_instancemethod(_openbabel._OBAtomBondIter_DoTransformations, None, _OBAtomBondIter)
_OBAtomBondIter.ClassDescription = new_instancemethod(_openbabel._OBAtomBondIter_ClassDescription, None, _OBAtomBondIter)
_OBAtomBondIter.GetTitle = new_instancemethod(_openbabel._OBAtomBondIter_GetTitle, None, _OBAtomBondIter)
_OBAtomBondIter.SetTitle = new_instancemethod(_openbabel._OBAtomBondIter_SetTitle, None, _OBAtomBondIter)
_OBAtomBondIter.HasData = new_instancemethod(_openbabel._OBAtomBondIter_HasData, None, _OBAtomBondIter)
_OBAtomBondIter.DeleteData = new_instancemethod(_openbabel._OBAtomBondIter_DeleteData, None, _OBAtomBondIter)
_OBAtomBondIter.CloneData = new_instancemethod(_openbabel._OBAtomBondIter_CloneData, None, _OBAtomBondIter)
_OBAtomBondIter.DataSize = new_instancemethod(_openbabel._OBAtomBondIter_DataSize, None, _OBAtomBondIter)
_OBAtomBondIter.GetData = new_instancemethod(_openbabel._OBAtomBondIter_GetData, None, _OBAtomBondIter)
_OBAtomBondIter.GetAllData = new_instancemethod(_openbabel._OBAtomBondIter_GetAllData, None, _OBAtomBondIter)
_OBAtomBondIter.BeginData = new_instancemethod(_openbabel._OBAtomBondIter_BeginData, None, _OBAtomBondIter)
_OBAtomBondIter.EndData = new_instancemethod(_openbabel._OBAtomBondIter_EndData, None, _OBAtomBondIter)
_OBAtomBondIter_swigregister = _openbabel._OBAtomBondIter_swigregister
_OBAtomBondIter_swigregister(_OBAtomBondIter)

class _OBResidueIter(object):
    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):
        _openbabel._OBResidueIter_swiginit(self, _openbabel.new__OBResidueIter(*args))
    __swig_destroy__ = _openbabel.delete__OBResidueIter

    def __nonzero__(self):
        return _openbabel._OBResidueIter___nonzero__(self)
    __bool__ = __nonzero__


_OBResidueIter.inc = new_instancemethod(_openbabel._OBResidueIter_inc, None, _OBResidueIter)
_OBResidueIter.__deref__ = new_instancemethod(_openbabel._OBResidueIter___deref__, None, _OBResidueIter)
_OBResidueIter.__ref__ = new_instancemethod(_openbabel._OBResidueIter___ref__, None, _OBResidueIter)
_OBResidueIter.AddAtom = new_instancemethod(_openbabel._OBResidueIter_AddAtom, None, _OBResidueIter)
_OBResidueIter.InsertAtom = new_instancemethod(_openbabel._OBResidueIter_InsertAtom, None, _OBResidueIter)
_OBResidueIter.RemoveAtom = new_instancemethod(_openbabel._OBResidueIter_RemoveAtom, None, _OBResidueIter)
_OBResidueIter.SetName = new_instancemethod(_openbabel._OBResidueIter_SetName, None, _OBResidueIter)
_OBResidueIter.SetNum = new_instancemethod(_openbabel._OBResidueIter_SetNum, None, _OBResidueIter)
_OBResidueIter.SetChain = new_instancemethod(_openbabel._OBResidueIter_SetChain, None, _OBResidueIter)
_OBResidueIter.SetChainNum = new_instancemethod(_openbabel._OBResidueIter_SetChainNum, None, _OBResidueIter)
_OBResidueIter.SetIdx = new_instancemethod(_openbabel._OBResidueIter_SetIdx, None, _OBResidueIter)
_OBResidueIter.SetAtomID = new_instancemethod(_openbabel._OBResidueIter_SetAtomID, None, _OBResidueIter)
_OBResidueIter.SetHetAtom = new_instancemethod(_openbabel._OBResidueIter_SetHetAtom, None, _OBResidueIter)
_OBResidueIter.SetSerialNum = new_instancemethod(_openbabel._OBResidueIter_SetSerialNum, None, _OBResidueIter)
_OBResidueIter.GetName = new_instancemethod(_openbabel._OBResidueIter_GetName, None, _OBResidueIter)
_OBResidueIter.GetNum = new_instancemethod(_openbabel._OBResidueIter_GetNum, None, _OBResidueIter)
_OBResidueIter.GetNumString = new_instancemethod(_openbabel._OBResidueIter_GetNumString, None, _OBResidueIter)
_OBResidueIter.GetNumAtoms = new_instancemethod(_openbabel._OBResidueIter_GetNumAtoms, None, _OBResidueIter)
_OBResidueIter.GetChain = new_instancemethod(_openbabel._OBResidueIter_GetChain, None, _OBResidueIter)
_OBResidueIter.GetChainNum = new_instancemethod(_openbabel._OBResidueIter_GetChainNum, None, _OBResidueIter)
_OBResidueIter.GetIdx = new_instancemethod(_openbabel._OBResidueIter_GetIdx, None, _OBResidueIter)
_OBResidueIter.GetResKey = new_instancemethod(_openbabel._OBResidueIter_GetResKey, None, _OBResidueIter)
_OBResidueIter.GetAtoms = new_instancemethod(_openbabel._OBResidueIter_GetAtoms, None, _OBResidueIter)
_OBResidueIter.GetBonds = new_instancemethod(_openbabel._OBResidueIter_GetBonds, None, _OBResidueIter)
_OBResidueIter.GetAtomID = new_instancemethod(_openbabel._OBResidueIter_GetAtomID, None, _OBResidueIter)
_OBResidueIter.GetSerialNum = new_instancemethod(_openbabel._OBResidueIter_GetSerialNum, None, _OBResidueIter)
_OBResidueIter.GetAminoAcidProperty = new_instancemethod(_openbabel._OBResidueIter_GetAminoAcidProperty, None, _OBResidueIter)
_OBResidueIter.GetAtomProperty = new_instancemethod(_openbabel._OBResidueIter_GetAtomProperty, None, _OBResidueIter)
_OBResidueIter.GetResidueProperty = new_instancemethod(_openbabel._OBResidueIter_GetResidueProperty, None, _OBResidueIter)
_OBResidueIter.IsHetAtom = new_instancemethod(_openbabel._OBResidueIter_IsHetAtom, None, _OBResidueIter)
_OBResidueIter.IsResidueType = new_instancemethod(_openbabel._OBResidueIter_IsResidueType, None, _OBResidueIter)
_OBResidueIter.BeginAtoms = new_instancemethod(_openbabel._OBResidueIter_BeginAtoms, None, _OBResidueIter)
_OBResidueIter.EndAtoms = new_instancemethod(_openbabel._OBResidueIter_EndAtoms, None, _OBResidueIter)
_OBResidueIter.BeginAtom = new_instancemethod(_openbabel._OBResidueIter_BeginAtom, None, _OBResidueIter)
_OBResidueIter.NextAtom = new_instancemethod(_openbabel._OBResidueIter_NextAtom, None, _OBResidueIter)
_OBResidueIter.Clear = new_instancemethod(_openbabel._OBResidueIter_Clear, None, _OBResidueIter)
_OBResidueIter.DoTransformations = new_instancemethod(_openbabel._OBResidueIter_DoTransformations, None, _OBResidueIter)
_OBResidueIter.ClassDescription = new_instancemethod(_openbabel._OBResidueIter_ClassDescription, None, _OBResidueIter)
_OBResidueIter.GetTitle = new_instancemethod(_openbabel._OBResidueIter_GetTitle, None, _OBResidueIter)
_OBResidueIter.SetTitle = new_instancemethod(_openbabel._OBResidueIter_SetTitle, None, _OBResidueIter)
_OBResidueIter.HasData = new_instancemethod(_openbabel._OBResidueIter_HasData, None, _OBResidueIter)
_OBResidueIter.DeleteData = new_instancemethod(_openbabel._OBResidueIter_DeleteData, None, _OBResidueIter)
_OBResidueIter.CloneData = new_instancemethod(_openbabel._OBResidueIter_CloneData, None, _OBResidueIter)
_OBResidueIter.DataSize = new_instancemethod(_openbabel._OBResidueIter_DataSize, None, _OBResidueIter)
_OBResidueIter.GetData = new_instancemethod(_openbabel._OBResidueIter_GetData, None, _OBResidueIter)
_OBResidueIter.GetAllData = new_instancemethod(_openbabel._OBResidueIter_GetAllData, None, _OBResidueIter)
_OBResidueIter.BeginData = new_instancemethod(_openbabel._OBResidueIter_BeginData, None, _OBResidueIter)
_OBResidueIter.EndData = new_instancemethod(_openbabel._OBResidueIter_EndData, None, _OBResidueIter)
_OBResidueIter_swigregister = _openbabel._OBResidueIter_swigregister
_OBResidueIter_swigregister(_OBResidueIter)

class _OBResidueAtomIter(object):
    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):
        _openbabel._OBResidueAtomIter_swiginit(self, _openbabel.new__OBResidueAtomIter(*args))
    __swig_destroy__ = _openbabel.delete__OBResidueAtomIter

    def __nonzero__(self):
        return _openbabel._OBResidueAtomIter___nonzero__(self)
    __bool__ = __nonzero__


    Visit = _swig_property(_openbabel._OBResidueAtomIter_Visit_get, _openbabel._OBResidueAtomIter_Visit_set)
_OBResidueAtomIter.inc = new_instancemethod(_openbabel._OBResidueAtomIter_inc, None, _OBResidueAtomIter)
_OBResidueAtomIter.__deref__ = new_instancemethod(_openbabel._OBResidueAtomIter___deref__, None, _OBResidueAtomIter)
_OBResidueAtomIter.__ref__ = new_instancemethod(_openbabel._OBResidueAtomIter___ref__, None, _OBResidueAtomIter)
_OBResidueAtomIter.__eq__ = new_instancemethod(_openbabel._OBResidueAtomIter___eq__, None, _OBResidueAtomIter)
_OBResidueAtomIter.Duplicate = new_instancemethod(_openbabel._OBResidueAtomIter_Duplicate, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetIdx = new_instancemethod(_openbabel._OBResidueAtomIter_SetIdx, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetId = new_instancemethod(_openbabel._OBResidueAtomIter_SetId, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetHyb = new_instancemethod(_openbabel._OBResidueAtomIter_SetHyb, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetAtomicNum = new_instancemethod(_openbabel._OBResidueAtomIter_SetAtomicNum, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetIsotope = new_instancemethod(_openbabel._OBResidueAtomIter_SetIsotope, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetImplicitValence = new_instancemethod(_openbabel._OBResidueAtomIter_SetImplicitValence, None, _OBResidueAtomIter)
_OBResidueAtomIter.IncrementImplicitValence = new_instancemethod(_openbabel._OBResidueAtomIter_IncrementImplicitValence, None, _OBResidueAtomIter)
_OBResidueAtomIter.DecrementImplicitValence = new_instancemethod(_openbabel._OBResidueAtomIter_DecrementImplicitValence, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetFormalCharge = new_instancemethod(_openbabel._OBResidueAtomIter_SetFormalCharge, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetSpinMultiplicity = new_instancemethod(_openbabel._OBResidueAtomIter_SetSpinMultiplicity, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetType = new_instancemethod(_openbabel._OBResidueAtomIter_SetType, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetPartialCharge = new_instancemethod(_openbabel._OBResidueAtomIter_SetPartialCharge, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetVector = new_instancemethod(_openbabel._OBResidueAtomIter_SetVector, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetCoordPtr = new_instancemethod(_openbabel._OBResidueAtomIter_SetCoordPtr, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetResidue = new_instancemethod(_openbabel._OBResidueAtomIter_SetResidue, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetParent = new_instancemethod(_openbabel._OBResidueAtomIter_SetParent, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetAromatic = new_instancemethod(_openbabel._OBResidueAtomIter_SetAromatic, None, _OBResidueAtomIter)
_OBResidueAtomIter.UnsetAromatic = new_instancemethod(_openbabel._OBResidueAtomIter_UnsetAromatic, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetClockwiseStereo = new_instancemethod(_openbabel._OBResidueAtomIter_SetClockwiseStereo, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetAntiClockwiseStereo = new_instancemethod(_openbabel._OBResidueAtomIter_SetAntiClockwiseStereo, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetPositiveStereo = new_instancemethod(_openbabel._OBResidueAtomIter_SetPositiveStereo, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetNegativeStereo = new_instancemethod(_openbabel._OBResidueAtomIter_SetNegativeStereo, None, _OBResidueAtomIter)
_OBResidueAtomIter.UnsetStereo = new_instancemethod(_openbabel._OBResidueAtomIter_UnsetStereo, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetInRing = new_instancemethod(_openbabel._OBResidueAtomIter_SetInRing, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetChiral = new_instancemethod(_openbabel._OBResidueAtomIter_SetChiral, None, _OBResidueAtomIter)
_OBResidueAtomIter.ClearCoordPtr = new_instancemethod(_openbabel._OBResidueAtomIter_ClearCoordPtr, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetFormalCharge = new_instancemethod(_openbabel._OBResidueAtomIter_GetFormalCharge, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetAtomicNum = new_instancemethod(_openbabel._OBResidueAtomIter_GetAtomicNum, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetIsotope = new_instancemethod(_openbabel._OBResidueAtomIter_GetIsotope, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetSpinMultiplicity = new_instancemethod(_openbabel._OBResidueAtomIter_GetSpinMultiplicity, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetAtomicMass = new_instancemethod(_openbabel._OBResidueAtomIter_GetAtomicMass, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetExactMass = new_instancemethod(_openbabel._OBResidueAtomIter_GetExactMass, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetIdx = new_instancemethod(_openbabel._OBResidueAtomIter_GetIdx, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetIndex = new_instancemethod(_openbabel._OBResidueAtomIter_GetIndex, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetId = new_instancemethod(_openbabel._OBResidueAtomIter_GetId, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetCoordinateIdx = new_instancemethod(_openbabel._OBResidueAtomIter_GetCoordinateIdx, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetCIdx = new_instancemethod(_openbabel._OBResidueAtomIter_GetCIdx, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetValence = new_instancemethod(_openbabel._OBResidueAtomIter_GetValence, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetHyb = new_instancemethod(_openbabel._OBResidueAtomIter_GetHyb, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetImplicitValence = new_instancemethod(_openbabel._OBResidueAtomIter_GetImplicitValence, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetHvyValence = new_instancemethod(_openbabel._OBResidueAtomIter_GetHvyValence, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetHeteroValence = new_instancemethod(_openbabel._OBResidueAtomIter_GetHeteroValence, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetType = new_instancemethod(_openbabel._OBResidueAtomIter_GetType, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetX = new_instancemethod(_openbabel._OBResidueAtomIter_GetX, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetY = new_instancemethod(_openbabel._OBResidueAtomIter_GetY, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetZ = new_instancemethod(_openbabel._OBResidueAtomIter_GetZ, None, _OBResidueAtomIter)
_OBResidueAtomIter.x = new_instancemethod(_openbabel._OBResidueAtomIter_x, None, _OBResidueAtomIter)
_OBResidueAtomIter.y = new_instancemethod(_openbabel._OBResidueAtomIter_y, None, _OBResidueAtomIter)
_OBResidueAtomIter.z = new_instancemethod(_openbabel._OBResidueAtomIter_z, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetCoordinate = new_instancemethod(_openbabel._OBResidueAtomIter_GetCoordinate, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetVector = new_instancemethod(_openbabel._OBResidueAtomIter_GetVector, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetPartialCharge = new_instancemethod(_openbabel._OBResidueAtomIter_GetPartialCharge, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetResidue = new_instancemethod(_openbabel._OBResidueAtomIter_GetResidue, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetParent = new_instancemethod(_openbabel._OBResidueAtomIter_GetParent, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetNewBondVector = new_instancemethod(_openbabel._OBResidueAtomIter_GetNewBondVector, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetBond = new_instancemethod(_openbabel._OBResidueAtomIter_GetBond, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetNextAtom = new_instancemethod(_openbabel._OBResidueAtomIter_GetNextAtom, None, _OBResidueAtomIter)
_OBResidueAtomIter.BeginBonds = new_instancemethod(_openbabel._OBResidueAtomIter_BeginBonds, None, _OBResidueAtomIter)
_OBResidueAtomIter.EndBonds = new_instancemethod(_openbabel._OBResidueAtomIter_EndBonds, None, _OBResidueAtomIter)
_OBResidueAtomIter.BeginBond = new_instancemethod(_openbabel._OBResidueAtomIter_BeginBond, None, _OBResidueAtomIter)
_OBResidueAtomIter.NextBond = new_instancemethod(_openbabel._OBResidueAtomIter_NextBond, None, _OBResidueAtomIter)
_OBResidueAtomIter.BeginNbrAtom = new_instancemethod(_openbabel._OBResidueAtomIter_BeginNbrAtom, None, _OBResidueAtomIter)
_OBResidueAtomIter.NextNbrAtom = new_instancemethod(_openbabel._OBResidueAtomIter_NextNbrAtom, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetDistance = new_instancemethod(_openbabel._OBResidueAtomIter_GetDistance, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetAngle = new_instancemethod(_openbabel._OBResidueAtomIter_GetAngle, None, _OBResidueAtomIter)
_OBResidueAtomIter.NewResidue = new_instancemethod(_openbabel._OBResidueAtomIter_NewResidue, None, _OBResidueAtomIter)
_OBResidueAtomIter.AddResidue = new_instancemethod(_openbabel._OBResidueAtomIter_AddResidue, None, _OBResidueAtomIter)
_OBResidueAtomIter.DeleteResidue = new_instancemethod(_openbabel._OBResidueAtomIter_DeleteResidue, None, _OBResidueAtomIter)
_OBResidueAtomIter.AddBond = new_instancemethod(_openbabel._OBResidueAtomIter_AddBond, None, _OBResidueAtomIter)
_OBResidueAtomIter.InsertBond = new_instancemethod(_openbabel._OBResidueAtomIter_InsertBond, None, _OBResidueAtomIter)
_OBResidueAtomIter.DeleteBond = new_instancemethod(_openbabel._OBResidueAtomIter_DeleteBond, None, _OBResidueAtomIter)
_OBResidueAtomIter.ClearBond = new_instancemethod(_openbabel._OBResidueAtomIter_ClearBond, None, _OBResidueAtomIter)
_OBResidueAtomIter.HtoMethyl = new_instancemethod(_openbabel._OBResidueAtomIter_HtoMethyl, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetHybAndGeom = new_instancemethod(_openbabel._OBResidueAtomIter_SetHybAndGeom, None, _OBResidueAtomIter)
_OBResidueAtomIter.ForceNoH = new_instancemethod(_openbabel._OBResidueAtomIter_ForceNoH, None, _OBResidueAtomIter)
_OBResidueAtomIter.HasNoHForced = new_instancemethod(_openbabel._OBResidueAtomIter_HasNoHForced, None, _OBResidueAtomIter)
_OBResidueAtomIter.ForceImplH = new_instancemethod(_openbabel._OBResidueAtomIter_ForceImplH, None, _OBResidueAtomIter)
_OBResidueAtomIter.HasImplHForced = new_instancemethod(_openbabel._OBResidueAtomIter_HasImplHForced, None, _OBResidueAtomIter)
_OBResidueAtomIter.CountFreeOxygens = new_instancemethod(_openbabel._OBResidueAtomIter_CountFreeOxygens, None, _OBResidueAtomIter)
_OBResidueAtomIter.ImplicitHydrogenCount = new_instancemethod(_openbabel._OBResidueAtomIter_ImplicitHydrogenCount, None, _OBResidueAtomIter)
_OBResidueAtomIter.ExplicitHydrogenCount = new_instancemethod(_openbabel._OBResidueAtomIter_ExplicitHydrogenCount, None, _OBResidueAtomIter)
_OBResidueAtomIter.MemberOfRingCount = new_instancemethod(_openbabel._OBResidueAtomIter_MemberOfRingCount, None, _OBResidueAtomIter)
_OBResidueAtomIter.MemberOfRingSize = new_instancemethod(_openbabel._OBResidueAtomIter_MemberOfRingSize, None, _OBResidueAtomIter)
_OBResidueAtomIter.CountRingBonds = new_instancemethod(_openbabel._OBResidueAtomIter_CountRingBonds, None, _OBResidueAtomIter)
_OBResidueAtomIter.SmallestBondAngle = new_instancemethod(_openbabel._OBResidueAtomIter_SmallestBondAngle, None, _OBResidueAtomIter)
_OBResidueAtomIter.AverageBondAngle = new_instancemethod(_openbabel._OBResidueAtomIter_AverageBondAngle, None, _OBResidueAtomIter)
_OBResidueAtomIter.BOSum = new_instancemethod(_openbabel._OBResidueAtomIter_BOSum, None, _OBResidueAtomIter)
_OBResidueAtomIter.KBOSum = new_instancemethod(_openbabel._OBResidueAtomIter_KBOSum, None, _OBResidueAtomIter)
_OBResidueAtomIter.HasResidue = new_instancemethod(_openbabel._OBResidueAtomIter_HasResidue, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsHydrogen = new_instancemethod(_openbabel._OBResidueAtomIter_IsHydrogen, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsCarbon = new_instancemethod(_openbabel._OBResidueAtomIter_IsCarbon, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsNitrogen = new_instancemethod(_openbabel._OBResidueAtomIter_IsNitrogen, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsOxygen = new_instancemethod(_openbabel._OBResidueAtomIter_IsOxygen, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsSulfur = new_instancemethod(_openbabel._OBResidueAtomIter_IsSulfur, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsPhosphorus = new_instancemethod(_openbabel._OBResidueAtomIter_IsPhosphorus, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsAromatic = new_instancemethod(_openbabel._OBResidueAtomIter_IsAromatic, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsInRing = new_instancemethod(_openbabel._OBResidueAtomIter_IsInRing, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsInRingSize = new_instancemethod(_openbabel._OBResidueAtomIter_IsInRingSize, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsHeteroatom = new_instancemethod(_openbabel._OBResidueAtomIter_IsHeteroatom, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsNotCorH = new_instancemethod(_openbabel._OBResidueAtomIter_IsNotCorH, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsConnected = new_instancemethod(_openbabel._OBResidueAtomIter_IsConnected, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsOneThree = new_instancemethod(_openbabel._OBResidueAtomIter_IsOneThree, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsOneFour = new_instancemethod(_openbabel._OBResidueAtomIter_IsOneFour, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsCarboxylOxygen = new_instancemethod(_openbabel._OBResidueAtomIter_IsCarboxylOxygen, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsPhosphateOxygen = new_instancemethod(_openbabel._OBResidueAtomIter_IsPhosphateOxygen, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsSulfateOxygen = new_instancemethod(_openbabel._OBResidueAtomIter_IsSulfateOxygen, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsNitroOxygen = new_instancemethod(_openbabel._OBResidueAtomIter_IsNitroOxygen, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsAmideNitrogen = new_instancemethod(_openbabel._OBResidueAtomIter_IsAmideNitrogen, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsPolarHydrogen = new_instancemethod(_openbabel._OBResidueAtomIter_IsPolarHydrogen, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsNonPolarHydrogen = new_instancemethod(_openbabel._OBResidueAtomIter_IsNonPolarHydrogen, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsAromaticNOxide = new_instancemethod(_openbabel._OBResidueAtomIter_IsAromaticNOxide, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsChiral = new_instancemethod(_openbabel._OBResidueAtomIter_IsChiral, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsAxial = new_instancemethod(_openbabel._OBResidueAtomIter_IsAxial, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsClockwise = new_instancemethod(_openbabel._OBResidueAtomIter_IsClockwise, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsAntiClockwise = new_instancemethod(_openbabel._OBResidueAtomIter_IsAntiClockwise, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsPositiveStereo = new_instancemethod(_openbabel._OBResidueAtomIter_IsPositiveStereo, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsNegativeStereo = new_instancemethod(_openbabel._OBResidueAtomIter_IsNegativeStereo, None, _OBResidueAtomIter)
_OBResidueAtomIter.HasChiralitySpecified = new_instancemethod(_openbabel._OBResidueAtomIter_HasChiralitySpecified, None, _OBResidueAtomIter)
_OBResidueAtomIter.HasChiralVolume = new_instancemethod(_openbabel._OBResidueAtomIter_HasChiralVolume, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsHbondAcceptor = new_instancemethod(_openbabel._OBResidueAtomIter_IsHbondAcceptor, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsHbondDonor = new_instancemethod(_openbabel._OBResidueAtomIter_IsHbondDonor, None, _OBResidueAtomIter)
_OBResidueAtomIter.IsHbondDonorH = new_instancemethod(_openbabel._OBResidueAtomIter_IsHbondDonorH, None, _OBResidueAtomIter)
_OBResidueAtomIter.HasAlphaBetaUnsat = new_instancemethod(_openbabel._OBResidueAtomIter_HasAlphaBetaUnsat, None, _OBResidueAtomIter)
_OBResidueAtomIter.HasBondOfOrder = new_instancemethod(_openbabel._OBResidueAtomIter_HasBondOfOrder, None, _OBResidueAtomIter)
_OBResidueAtomIter.CountBondsOfOrder = new_instancemethod(_openbabel._OBResidueAtomIter_CountBondsOfOrder, None, _OBResidueAtomIter)
_OBResidueAtomIter.HasNonSingleBond = new_instancemethod(_openbabel._OBResidueAtomIter_HasNonSingleBond, None, _OBResidueAtomIter)
_OBResidueAtomIter.HasSingleBond = new_instancemethod(_openbabel._OBResidueAtomIter_HasSingleBond, None, _OBResidueAtomIter)
_OBResidueAtomIter.HasDoubleBond = new_instancemethod(_openbabel._OBResidueAtomIter_HasDoubleBond, None, _OBResidueAtomIter)
_OBResidueAtomIter.HasAromaticBond = new_instancemethod(_openbabel._OBResidueAtomIter_HasAromaticBond, None, _OBResidueAtomIter)
_OBResidueAtomIter.MatchesSMARTS = new_instancemethod(_openbabel._OBResidueAtomIter_MatchesSMARTS, None, _OBResidueAtomIter)
_OBResidueAtomIter.Clear = new_instancemethod(_openbabel._OBResidueAtomIter_Clear, None, _OBResidueAtomIter)
_OBResidueAtomIter.DoTransformations = new_instancemethod(_openbabel._OBResidueAtomIter_DoTransformations, None, _OBResidueAtomIter)
_OBResidueAtomIter.ClassDescription = new_instancemethod(_openbabel._OBResidueAtomIter_ClassDescription, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetTitle = new_instancemethod(_openbabel._OBResidueAtomIter_GetTitle, None, _OBResidueAtomIter)
_OBResidueAtomIter.SetTitle = new_instancemethod(_openbabel._OBResidueAtomIter_SetTitle, None, _OBResidueAtomIter)
_OBResidueAtomIter.HasData = new_instancemethod(_openbabel._OBResidueAtomIter_HasData, None, _OBResidueAtomIter)
_OBResidueAtomIter.DeleteData = new_instancemethod(_openbabel._OBResidueAtomIter_DeleteData, None, _OBResidueAtomIter)
_OBResidueAtomIter.CloneData = new_instancemethod(_openbabel._OBResidueAtomIter_CloneData, None, _OBResidueAtomIter)
_OBResidueAtomIter.DataSize = new_instancemethod(_openbabel._OBResidueAtomIter_DataSize, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetData = new_instancemethod(_openbabel._OBResidueAtomIter_GetData, None, _OBResidueAtomIter)
_OBResidueAtomIter.GetAllData = new_instancemethod(_openbabel._OBResidueAtomIter_GetAllData, None, _OBResidueAtomIter)
_OBResidueAtomIter.BeginData = new_instancemethod(_openbabel._OBResidueAtomIter_BeginData, None, _OBResidueAtomIter)
_OBResidueAtomIter.EndData = new_instancemethod(_openbabel._OBResidueAtomIter_EndData, None, _OBResidueAtomIter)
_OBResidueAtomIter_swigregister = _openbabel._OBResidueAtomIter_swigregister
_OBResidueAtomIter_swigregister(_OBResidueAtomIter)

class _OBMolAngleIter(object):
    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):
        _openbabel._OBMolAngleIter_swiginit(self, _openbabel.new__OBMolAngleIter(*args))
    __swig_destroy__ = _openbabel.delete__OBMolAngleIter

    def __nonzero__(self):
        return _openbabel._OBMolAngleIter___nonzero__(self)
    __bool__ = __nonzero__


_OBMolAngleIter.inc = new_instancemethod(_openbabel._OBMolAngleIter_inc, None, _OBMolAngleIter)
_OBMolAngleIter.__ref__ = new_instancemethod(_openbabel._OBMolAngleIter___ref__, None, _OBMolAngleIter)
_OBMolAngleIter_swigregister = _openbabel._OBMolAngleIter_swigregister
_OBMolAngleIter_swigregister(_OBMolAngleIter)

class _OBMolTorsionIter(object):
    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):
        _openbabel._OBMolTorsionIter_swiginit(self, _openbabel.new__OBMolTorsionIter(*args))
    __swig_destroy__ = _openbabel.delete__OBMolTorsionIter

    def __nonzero__(self):
        return _openbabel._OBMolTorsionIter___nonzero__(self)
    __bool__ = __nonzero__


_OBMolTorsionIter.inc = new_instancemethod(_openbabel._OBMolTorsionIter_inc, None, _OBMolTorsionIter)
_OBMolTorsionIter.__ref__ = new_instancemethod(_openbabel._OBMolTorsionIter___ref__, None, _OBMolTorsionIter)
_OBMolTorsionIter_swigregister = _openbabel._OBMolTorsionIter_swigregister
_OBMolTorsionIter_swigregister(_OBMolTorsionIter)

class _OBMolPairIter(object):
    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):
        _openbabel._OBMolPairIter_swiginit(self, _openbabel.new__OBMolPairIter(*args))
    __swig_destroy__ = _openbabel.delete__OBMolPairIter

    def __nonzero__(self):
        return _openbabel._OBMolPairIter___nonzero__(self)
    __bool__ = __nonzero__


_OBMolPairIter.inc = new_instancemethod(_openbabel._OBMolPairIter_inc, None, _OBMolPairIter)
_OBMolPairIter.__ref__ = new_instancemethod(_openbabel._OBMolPairIter___ref__, None, _OBMolPairIter)
_OBMolPairIter_swigregister = _openbabel._OBMolPairIter_swigregister
_OBMolPairIter_swigregister(_OBMolPairIter)

class _OBMolRingIter(object):
    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):
        _openbabel._OBMolRingIter_swiginit(self, _openbabel.new__OBMolRingIter(*args))
    __swig_destroy__ = _openbabel.delete__OBMolRingIter

    def __nonzero__(self):
        return _openbabel._OBMolRingIter___nonzero__(self)
    __bool__ = __nonzero__


    ring_id = _swig_property(_openbabel._OBMolRingIter_ring_id_get, _openbabel._OBMolRingIter_ring_id_set)
    _path = _swig_property(_openbabel._OBMolRingIter__path_get, _openbabel._OBMolRingIter__path_set)
    _pathset = _swig_property(_openbabel._OBMolRingIter__pathset_get, _openbabel._OBMolRingIter__pathset_set)
_OBMolRingIter.inc = new_instancemethod(_openbabel._OBMolRingIter_inc, None, _OBMolRingIter)
_OBMolRingIter.__deref__ = new_instancemethod(_openbabel._OBMolRingIter___deref__, None, _OBMolRingIter)
_OBMolRingIter.__ref__ = new_instancemethod(_openbabel._OBMolRingIter___ref__, None, _OBMolRingIter)
_OBMolRingIter.Size = new_instancemethod(_openbabel._OBMolRingIter_Size, None, _OBMolRingIter)
_OBMolRingIter.PathSize = new_instancemethod(_openbabel._OBMolRingIter_PathSize, None, _OBMolRingIter)
_OBMolRingIter.IsAromatic = new_instancemethod(_openbabel._OBMolRingIter_IsAromatic, None, _OBMolRingIter)
_OBMolRingIter.SetType = new_instancemethod(_openbabel._OBMolRingIter_SetType, None, _OBMolRingIter)
_OBMolRingIter.GetType = new_instancemethod(_openbabel._OBMolRingIter_GetType, None, _OBMolRingIter)
_OBMolRingIter.GetRootAtom = new_instancemethod(_openbabel._OBMolRingIter_GetRootAtom, None, _OBMolRingIter)
_OBMolRingIter.IsMember = new_instancemethod(_openbabel._OBMolRingIter_IsMember, None, _OBMolRingIter)
_OBMolRingIter.IsInRing = new_instancemethod(_openbabel._OBMolRingIter_IsInRing, None, _OBMolRingIter)
_OBMolRingIter.SetParent = new_instancemethod(_openbabel._OBMolRingIter_SetParent, None, _OBMolRingIter)
_OBMolRingIter.GetParent = new_instancemethod(_openbabel._OBMolRingIter_GetParent, None, _OBMolRingIter)
_OBMolRingIter.findCenterAndNormal = new_instancemethod(_openbabel._OBMolRingIter_findCenterAndNormal, None, _OBMolRingIter)
_OBMolRingIter_swigregister = _openbabel._OBMolRingIter_swigregister
_OBMolRingIter_swigregister(_OBMolRingIter)


class OBIter(object):
    OBiterator = None # This is defined by the subclasses

    def __init__(self, *params):
        self.iter = self.OBiterator(*params)
        self.finished = False
        if not self.iter.__bool__():
            self.finished = True

    def __iter__(self):
        return self

    def __next__(self):
        return self.next()

    def next(self):
        if not self.finished:
            b = self.iter.__ref__()
            self.iter.inc()
            if not self.iter.__bool__():
# There is nothing left to iterate over
                self.finished = True
            return b
        else:
            raise StopIteration

class OBIterWithDepth(OBIter):
    def next(self):
        if not self.finished:
            b = self.iter.__ref__()
            depth = self.iter.CurrentDepth()
            self.iter.inc()
            if not self.iter.__bool__():
# There is nothing left to iterate over
                self.finished = True
            return b, depth
        else:
            raise StopIteration

class OBAtomAtomIter(OBIter):
    """Iterator over the atoms attached to an atom."""
    OBiterator = _OBAtomAtomIter
class OBAtomBondIter(OBIter):
    """Iterator over the bonds attached to an atom."""
    OBiterator = _OBAtomBondIter
class OBMolAngleIter(OBIter):
    """Iterator over the angles in a molecule."""
    OBiterator = _OBMolAngleIter
class OBMolAtomIter(OBIter):
    """Iterator over the atoms in a molecule."""
    OBiterator = _OBMolAtomIter
class OBMolAtomBFSIter(OBIterWithDepth):
    """Iterator over the atoms in a molecule in a breadth-first manner."""
    OBiterator = _OBMolAtomBFSIter
class OBMolAtomDFSIter(OBIter):
    """Iterator over the atoms in a molecule in a depth-first manner."""
    OBiterator = _OBMolAtomDFSIter
class OBMolBondIter(OBIter):
    """Iterator over the bonds in a molecule."""
    OBiterator = _OBMolBondIter
class OBMolPairIter(OBIter):
    """Iterator over pairs of atoms in a molecule."""
    OBiterator = _OBMolPairIter
class OBMolRingIter(OBIter):
    """Iterator over the rings in a molecule."""
    OBiterator = _OBMolRingIter
class OBMolTorsionIter(OBIter):
    """Iterator over the torsion angles in a molecule."""
    OBiterator = _OBMolTorsionIter
class OBResidueIter(OBIter):
    """Iterator over the residues in a molecule."""
    OBiterator = _OBResidueIter
class OBResidueAtomIter(OBIter):
    """Iterator over the atoms in a residue."""
    OBiterator = _OBResidueAtomIter

class doubleArray(object):
    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, nelements: 'size_t'):
        _openbabel.doubleArray_swiginit(self, _openbabel.new_doubleArray(nelements))
    __swig_destroy__ = _openbabel.delete_doubleArray
    frompointer = staticmethod(_openbabel.doubleArray_frompointer)
doubleArray.__getitem__ = new_instancemethod(_openbabel.doubleArray___getitem__, None, doubleArray)
doubleArray.__setitem__ = new_instancemethod(_openbabel.doubleArray___setitem__, None, doubleArray)
doubleArray.cast = new_instancemethod(_openbabel.doubleArray_cast, None, doubleArray)
doubleArray_swigregister = _openbabel.doubleArray_swigregister
doubleArray_swigregister(doubleArray)

def doubleArray_frompointer(t: 'double *') -> "doubleArray *":
    return _openbabel.doubleArray_frompointer(t)
doubleArray_frompointer = _openbabel.doubleArray_frompointer


def double_array(mylist):
    """Create a C array of doubles from a list."""
    c = doubleArray(len(mylist))
    for i,v in enumerate(mylist):
        c[i] = v
    return c


obErrorLog = cvar.obErrorLog
ttab = cvar.ttab
etab = cvar.etab
isotab = cvar.isotab
atomtyper = cvar.atomtyper
aromtyper = cvar.aromtyper


def exception(*args):
    raise Exception("Use OBMol.CloneData instead. OBMol.SetData is only for use from C++.")
OBMol.SetData = exception

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

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

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

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

class OBTetrahedralStereo(OBTetraNonPlanarStereo):
    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, mol: 'OBMol'):
        _openbabel.OBTetrahedralStereo_swiginit(self, _openbabel.new_OBTetrahedralStereo(mol))
    __swig_destroy__ = _openbabel.delete_OBTetrahedralStereo
OBTetrahedralStereo.IsValid = new_instancemethod(_openbabel.OBTetrahedralStereo_IsValid, None, OBTetrahedralStereo)
OBTetrahedralStereo.__eq__ = new_instancemethod(_openbabel.OBTetrahedralStereo___eq__, None, OBTetrahedralStereo)
OBTetrahedralStereo.__ne__ = new_instancemethod(_openbabel.OBTetrahedralStereo___ne__, None, OBTetrahedralStereo)
OBTetrahedralStereo.SetConfig = new_instancemethod(_openbabel.OBTetrahedralStereo_SetConfig, None, OBTetrahedralStereo)
OBTetrahedralStereo.GetConfig = new_instancemethod(_openbabel.OBTetrahedralStereo_GetConfig, None, OBTetrahedralStereo)
OBTetrahedralStereo_swigregister = _openbabel.OBTetrahedralStereo_swigregister
OBTetrahedralStereo_swigregister(OBTetrahedralStereo)

class OBCisTransStereo(OBTetraPlanarStereo):
    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, mol: 'OBMol'):
        _openbabel.OBCisTransStereo_swiginit(self, _openbabel.new_OBCisTransStereo(mol))
    __swig_destroy__ = _openbabel.delete_OBCisTransStereo
OBCisTransStereo.IsValid = new_instancemethod(_openbabel.OBCisTransStereo_IsValid, None, OBCisTransStereo)
OBCisTransStereo.__eq__ = new_instancemethod(_openbabel.OBCisTransStereo___eq__, None, OBCisTransStereo)
OBCisTransStereo.__ne__ = new_instancemethod(_openbabel.OBCisTransStereo___ne__, None, OBCisTransStereo)
OBCisTransStereo.IsOnSameAtom = new_instancemethod(_openbabel.OBCisTransStereo_IsOnSameAtom, None, OBCisTransStereo)
OBCisTransStereo.IsTrans = new_instancemethod(_openbabel.OBCisTransStereo_IsTrans, None, OBCisTransStereo)
OBCisTransStereo.IsCis = new_instancemethod(_openbabel.OBCisTransStereo_IsCis, None, OBCisTransStereo)
OBCisTransStereo.GetTransRef = new_instancemethod(_openbabel.OBCisTransStereo_GetTransRef, None, OBCisTransStereo)
OBCisTransStereo.GetCisRef = new_instancemethod(_openbabel.OBCisTransStereo_GetCisRef, None, OBCisTransStereo)
OBCisTransStereo.SetConfig = new_instancemethod(_openbabel.OBCisTransStereo_SetConfig, None, OBCisTransStereo)
OBCisTransStereo.GetConfig = new_instancemethod(_openbabel.OBCisTransStereo_GetConfig, None, OBCisTransStereo)
OBCisTransStereo_swigregister = _openbabel.OBCisTransStereo_swigregister
OBCisTransStereo_swigregister(OBCisTransStereo)

class OBSquarePlanarStereo(OBTetraPlanarStereo):
    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, mol: 'OBMol'):
        _openbabel.OBSquarePlanarStereo_swiginit(self, _openbabel.new_OBSquarePlanarStereo(mol))
    __swig_destroy__ = _openbabel.delete_OBSquarePlanarStereo
OBSquarePlanarStereo.IsValid = new_instancemethod(_openbabel.OBSquarePlanarStereo_IsValid, None, OBSquarePlanarStereo)
OBSquarePlanarStereo.__eq__ = new_instancemethod(_openbabel.OBSquarePlanarStereo___eq__, None, OBSquarePlanarStereo)
OBSquarePlanarStereo.__ne__ = new_instancemethod(_openbabel.OBSquarePlanarStereo___ne__, None, OBSquarePlanarStereo)
OBSquarePlanarStereo.IsTrans = new_instancemethod(_openbabel.OBSquarePlanarStereo_IsTrans, None, OBSquarePlanarStereo)
OBSquarePlanarStereo.IsCis = new_instancemethod(_openbabel.OBSquarePlanarStereo_IsCis, None, OBSquarePlanarStereo)
OBSquarePlanarStereo.GetTransRef = new_instancemethod(_openbabel.OBSquarePlanarStereo_GetTransRef, None, OBSquarePlanarStereo)
OBSquarePlanarStereo.GetCisRefs = new_instancemethod(_openbabel.OBSquarePlanarStereo_GetCisRefs, None, OBSquarePlanarStereo)
OBSquarePlanarStereo.SetConfig = new_instancemethod(_openbabel.OBSquarePlanarStereo_SetConfig, None, OBSquarePlanarStereo)
OBSquarePlanarStereo.GetConfig = new_instancemethod(_openbabel.OBSquarePlanarStereo_GetConfig, None, OBSquarePlanarStereo)
OBSquarePlanarStereo_swigregister = _openbabel.OBSquarePlanarStereo_swigregister
OBSquarePlanarStereo_swigregister(OBSquarePlanarStereo)

class OBTetrahedralConfig(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    center = _swig_property(_openbabel.OBTetrahedralConfig_center_get, _openbabel.OBTetrahedralConfig_center_set)
    from_or_towards = _swig_property(_openbabel.OBTetrahedralConfig_from_or_towards_get, _openbabel.OBTetrahedralConfig_from_or_towards_set)
    refs = _swig_property(_openbabel.OBTetrahedralConfig_refs_get, _openbabel.OBTetrahedralConfig_refs_set)
    winding = _swig_property(_openbabel.OBTetrahedralConfig_winding_get, _openbabel.OBTetrahedralConfig_winding_set)
    view = _swig_property(_openbabel.OBTetrahedralConfig_view_get, _openbabel.OBTetrahedralConfig_view_set)
    specified = _swig_property(_openbabel.OBTetrahedralConfig_specified_get, _openbabel.OBTetrahedralConfig_specified_set)

    def __init__(self):
        _openbabel.OBTetrahedralConfig_swiginit(self, _openbabel.new_OBTetrahedralConfig())
    __swig_destroy__ = _openbabel.delete_OBTetrahedralConfig
OBTetrahedralConfig.__eq__ = new_instancemethod(_openbabel.OBTetrahedralConfig___eq__, None, OBTetrahedralConfig)
OBTetrahedralConfig.__ne__ = new_instancemethod(_openbabel.OBTetrahedralConfig___ne__, None, OBTetrahedralConfig)
OBTetrahedralConfig_swigregister = _openbabel.OBTetrahedralConfig_swigregister
OBTetrahedralConfig_swigregister(OBTetrahedralConfig)

class OBCisTransConfig(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    begin = _swig_property(_openbabel.OBCisTransConfig_begin_get, _openbabel.OBCisTransConfig_begin_set)
    end = _swig_property(_openbabel.OBCisTransConfig_end_get, _openbabel.OBCisTransConfig_end_set)
    refs = _swig_property(_openbabel.OBCisTransConfig_refs_get, _openbabel.OBCisTransConfig_refs_set)
    shape = _swig_property(_openbabel.OBCisTransConfig_shape_get, _openbabel.OBCisTransConfig_shape_set)
    specified = _swig_property(_openbabel.OBCisTransConfig_specified_get, _openbabel.OBCisTransConfig_specified_set)

    def __init__(self):
        _openbabel.OBCisTransConfig_swiginit(self, _openbabel.new_OBCisTransConfig())
    __swig_destroy__ = _openbabel.delete_OBCisTransConfig
OBCisTransConfig.__eq__ = new_instancemethod(_openbabel.OBCisTransConfig___eq__, None, OBCisTransConfig)
OBCisTransConfig.__ne__ = new_instancemethod(_openbabel.OBCisTransConfig___ne__, None, OBCisTransConfig)
OBCisTransConfig_swigregister = _openbabel.OBCisTransConfig_swigregister
OBCisTransConfig_swigregister(OBCisTransConfig)

class OBSquarePlanarConfig(object):
    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    center = _swig_property(_openbabel.OBSquarePlanarConfig_center_get, _openbabel.OBSquarePlanarConfig_center_set)
    refs = _swig_property(_openbabel.OBSquarePlanarConfig_refs_get, _openbabel.OBSquarePlanarConfig_refs_set)
    shape = _swig_property(_openbabel.OBSquarePlanarConfig_shape_get, _openbabel.OBSquarePlanarConfig_shape_set)
    specified = _swig_property(_openbabel.OBSquarePlanarConfig_specified_get, _openbabel.OBSquarePlanarConfig_specified_set)

    def __init__(self):
        _openbabel.OBSquarePlanarConfig_swiginit(self, _openbabel.new_OBSquarePlanarConfig())
    __swig_destroy__ = _openbabel.delete_OBSquarePlanarConfig
OBSquarePlanarConfig.__eq__ = new_instancemethod(_openbabel.OBSquarePlanarConfig___eq__, None, OBSquarePlanarConfig)
OBSquarePlanarConfig.__ne__ = new_instancemethod(_openbabel.OBSquarePlanarConfig___ne__, None, OBSquarePlanarConfig)
OBSquarePlanarConfig_swigregister = _openbabel.OBSquarePlanarConfig_swigregister
OBSquarePlanarConfig_swigregister(OBSquarePlanarConfig)



