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


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

from sys import version_info as _swig_python_version_info

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

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

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

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

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

    _oeomega = libs.OEGetModule('_oeomega4006')
    return _oeomega

_oeomega = swig_import_helper()
del swig_import_helper
del _swig_python_version_info

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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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


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


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


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


def _swig_setattr_nondynamic_method(set):
    def set_attr(self, name, value):
        if (name == "thisown"):
            return self.this.own(value)
        if hasattr(self, name) or (name == "this"):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add attributes to %s" % self)
    return set_attr


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



def SwigNumber_Check(o: 'PyObject *') -> "double":
    return _oeomega.SwigNumber_Check(o)
SwigNumber_Check = _oeomega.SwigNumber_Check

def SwigNumber_AsDouble(o: 'PyObject *') -> "double":
    return _oeomega.SwigNumber_AsDouble(o)
SwigNumber_AsDouble = _oeomega.SwigNumber_AsDouble

def no_op(*args) -> "void":
    return _oeomega.no_op(*args)
no_op = _oeomega.no_op
import openeye.oechem as oechem
OEOmegaReturnCode_Success = _oeomega.OEOmegaReturnCode_Success
OEOmegaReturnCode_InvalidOptions = _oeomega.OEOmegaReturnCode_InvalidOptions
OEOmegaReturnCode_No3DFromCT = _oeomega.OEOmegaReturnCode_No3DFromCT
OEOmegaReturnCode_TooManyRotors = _oeomega.OEOmegaReturnCode_TooManyRotors
OEOmegaReturnCode_UnspecifiedStereo = _oeomega.OEOmegaReturnCode_UnspecifiedStereo
OEOmegaReturnCode_ExplicitHydrogens = _oeomega.OEOmegaReturnCode_ExplicitHydrogens
OEOmegaReturnCode_MissingFFParams = _oeomega.OEOmegaReturnCode_MissingFFParams
OEOmegaReturnCode_FailedCTBuild = _oeomega.OEOmegaReturnCode_FailedCTBuild
OEOmegaReturnCode_FailedTorDrive = _oeomega.OEOmegaReturnCode_FailedTorDrive
OEOmegaReturnCode_ExceedsAtomDegree4 = _oeomega.OEOmegaReturnCode_ExceedsAtomDegree4
OEOmegaReturnCode_FailedDupSetup = _oeomega.OEOmegaReturnCode_FailedDupSetup
OEOmegaReturnCode_FailedDGConfGen = _oeomega.OEOmegaReturnCode_FailedDGConfGen
OEOmegaReturnCode_FailedTorAssign = _oeomega.OEOmegaReturnCode_FailedTorAssign
OEOmegaReturnCode_FailedSmartMatch = _oeomega.OEOmegaReturnCode_FailedSmartMatch
OEOmegaReturnCode_FailedFixMatch = _oeomega.OEOmegaReturnCode_FailedFixMatch
OEOmegaReturnCode_NoFixedFragment = _oeomega.OEOmegaReturnCode_NoFixedFragment
OEOmegaReturnCode_NoValidConfs = _oeomega.OEOmegaReturnCode_NoValidConfs
OEOmegaReturnCode_No3DTorDrive = _oeomega.OEOmegaReturnCode_No3DTorDrive
OEOmegaReturnCode_Failed = _oeomega.OEOmegaReturnCode_Failed
OEOmegaForceFieldType_MMFF = _oeomega.OEOmegaForceFieldType_MMFF
OEOmegaForceFieldType_MMFF_NOESTAT = _oeomega.OEOmegaForceFieldType_MMFF_NOESTAT
OEOmegaForceFieldType_MMFF_TRUNC = _oeomega.OEOmegaForceFieldType_MMFF_TRUNC
OEOmegaForceFieldType_MMFF_SHEFF = _oeomega.OEOmegaForceFieldType_MMFF_SHEFF
OEOmegaForceFieldType_MMFF94S = _oeomega.OEOmegaForceFieldType_MMFF94S
OEOmegaForceFieldType_MMFF94S_NOESTAT = _oeomega.OEOmegaForceFieldType_MMFF94S_NOESTAT
OEOmegaForceFieldType_MMFF94S_TRUNC = _oeomega.OEOmegaForceFieldType_MMFF94S_TRUNC
OEOmegaForceFieldType_MMFF94S_SHEFF = _oeomega.OEOmegaForceFieldType_MMFF94S_SHEFF
OEOmegaForceFieldType_MMFF94Smod = _oeomega.OEOmegaForceFieldType_MMFF94Smod
OEOmegaForceFieldType_MMFF94Smod_NOESTAT = _oeomega.OEOmegaForceFieldType_MMFF94Smod_NOESTAT
OEOmegaForceFieldType_MMFF94Smod_TRUNC = _oeomega.OEOmegaForceFieldType_MMFF94Smod_TRUNC
OEOmegaForceFieldType_MMFF94Smod_SHEFF = _oeomega.OEOmegaForceFieldType_MMFF94Smod_SHEFF
OENitrogenEnumeration_Off = _oeomega.OENitrogenEnumeration_Off
OENitrogenEnumeration_All = _oeomega.OENitrogenEnumeration_All
OENitrogenEnumeration_Unspecified = _oeomega.OENitrogenEnumeration_Unspecified
OEOmegaSampling_Sparse = _oeomega.OEOmegaSampling_Sparse
OEOmegaSampling_Dense = _oeomega.OEOmegaSampling_Dense
OEOmegaSampling_Pose = _oeomega.OEOmegaSampling_Pose
OEOmegaSampling_ROCS = _oeomega.OEOmegaSampling_ROCS
OEOmegaSampling_FastROCS = _oeomega.OEOmegaSampling_FastROCS
OESliceEnsembleDefaults_RMS = _oeomega.OESliceEnsembleDefaults_RMS
OESliceEnsembleDefaults_EWindow = _oeomega.OESliceEnsembleDefaults_EWindow
OESliceEnsembleDefaults_MaxConfs = _oeomega.OESliceEnsembleDefaults_MaxConfs
OETorLibType_Original = _oeomega.OETorLibType_Original
OETorLibType_GubaV21 = _oeomega.OETorLibType_GubaV21

OETorLibType_Default = OETorLibType_Original

OEFragBuilderMode_Fast = _oeomega.OEFragBuilderMode_Fast
OEFragBuilderMode_Strict = _oeomega.OEFragBuilderMode_Strict
OEFragBuilderMode_Dense = _oeomega.OEFragBuilderMode_Dense

OEFragBuilderMode_Default = OEFragBuilderMode_Fast

class OEFragOptions(oechem.OEOptions):
    """Proxy of C++ OEConfGen::OEFragOptions class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OEFragOptions self) -> OEFragOptions
        __init__(OEConfGen::OEFragOptions self, OEFragOptions arg2) -> OEFragOptions
        """
        this = _oeomega.new_OEFragOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OEFragOptions
    __del__ = lambda self: None

    def GetEnergyWindow(self) -> "double":
        """GetEnergyWindow(OEFragOptions self) -> double"""
        return _oeomega.OEFragOptions_GetEnergyWindow(self)


    def SetEnergyWindow(self, value: 'double const') -> "bool":
        """SetEnergyWindow(OEFragOptions self, double const value) -> bool"""
        return _oeomega.OEFragOptions_SetEnergyWindow(self, value)


    def GetRMS(self) -> "double":
        """GetRMS(OEFragOptions self) -> double"""
        return _oeomega.OEFragOptions_GetRMS(self)


    def SetRMS(self, value: 'double const') -> "bool":
        """SetRMS(OEFragOptions self, double const value) -> bool"""
        return _oeomega.OEFragOptions_SetRMS(self, value)


    def GetTimeLimit(self) -> "double":
        """GetTimeLimit(OEFragOptions self) -> double"""
        return _oeomega.OEFragOptions_GetTimeLimit(self)


    def SetTimeLimit(self, value: 'double const') -> "bool":
        """SetTimeLimit(OEFragOptions self, double const value) -> bool"""
        return _oeomega.OEFragOptions_SetTimeLimit(self, value)


    def GetFragGen(self) -> "unsigned int":
        """GetFragGen(OEFragOptions self) -> unsigned int"""
        return _oeomega.OEFragOptions_GetFragGen(self)


    def SetFragGen(self, value: 'unsigned int const') -> "bool":
        """SetFragGen(OEFragOptions self, unsigned int const value) -> bool"""
        return _oeomega.OEFragOptions_SetFragGen(self, value)


    def GetFragKeep(self) -> "unsigned int":
        """GetFragKeep(OEFragOptions self) -> unsigned int"""
        return _oeomega.OEFragOptions_GetFragKeep(self)


    def SetFragKeep(self, value: 'unsigned int const') -> "bool":
        """SetFragKeep(OEFragOptions self, unsigned int const value) -> bool"""
        return _oeomega.OEFragOptions_SetFragKeep(self, value)


    def CreateCopy(self) -> "OEConfGen::OEFragOptions *":
        """CreateCopy(OEFragOptions self) -> OEFragOptions"""
        return _oeomega.OEFragOptions_CreateCopy(self)

OEFragOptions_swigregister = _oeomega.OEFragOptions_swigregister
OEFragOptions_swigregister(OEFragOptions)

class OERingFragOptions(OEFragOptions):
    """Proxy of C++ OEConfGen::OERingFragOptions class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OERingFragOptions self) -> OERingFragOptions
        __init__(OEConfGen::OERingFragOptions self, OERingFragOptions arg2) -> OERingFragOptions
        """
        this = _oeomega.new_OERingFragOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OERingFragOptions
    __del__ = lambda self: None

    def GetStartFactor(self) -> "unsigned int":
        """GetStartFactor(OERingFragOptions self) -> unsigned int"""
        return _oeomega.OERingFragOptions_GetStartFactor(self)


    def SetStartFactor(self, value: 'unsigned int const') -> "bool":
        """SetStartFactor(OERingFragOptions self, unsigned int const value) -> bool"""
        return _oeomega.OERingFragOptions_SetStartFactor(self, value)


    def CreateCopy(self) -> "OEConfGen::OERingFragOptions *":
        """CreateCopy(OERingFragOptions self) -> OERingFragOptions"""
        return _oeomega.OERingFragOptions_CreateCopy(self)

OERingFragOptions_swigregister = _oeomega.OERingFragOptions_swigregister
OERingFragOptions_swigregister(OERingFragOptions)

class OEFragBuilderOptions(oechem.OEOptions):
    """Proxy of C++ OEConfGen::OEFragBuilderOptions class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OEFragBuilderOptions self, unsigned int const argMode) -> OEFragBuilderOptions
        __init__(OEConfGen::OEFragBuilderOptions self) -> OEFragBuilderOptions
        __init__(OEConfGen::OEFragBuilderOptions self, OEFragBuilderOptions arg2) -> OEFragBuilderOptions
        """
        this = _oeomega.new_OEFragBuilderOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OEFragBuilderOptions
    __del__ = lambda self: None

    def GetForceField(self) -> "OEMolPotential::OEForceField const *":
        """GetForceField(OEFragBuilderOptions self) -> OEMolPotential::OEForceField const *"""
        return _oeomega.OEFragBuilderOptions_GetForceField(self)


    def GetForceFieldType(self) -> "unsigned int":
        """GetForceFieldType(OEFragBuilderOptions self) -> unsigned int"""
        return _oeomega.OEFragBuilderOptions_GetForceFieldType(self)


    def SetForceField(self, *args) -> "bool":
        """
        SetForceField(OEFragBuilderOptions self, unsigned int const value) -> bool
        SetForceField(OEFragBuilderOptions self, std::string const & value) -> bool
        SetForceField(OEFragBuilderOptions self, OEMolPotential::OEForceField const & value) -> bool
        """
        return _oeomega.OEFragBuilderOptions_SetForceField(self, *args)


    def SetNonRingOptions(self, opts: 'OEFragOptions') -> "void":
        """SetNonRingOptions(OEFragBuilderOptions self, OEFragOptions opts)"""
        return _oeomega.OEFragBuilderOptions_SetNonRingOptions(self, opts)


    def GetNonRingOptions(self, *args) -> "OEConfGen::OEFragOptions const &":
        """
        GetNonRingOptions(OEFragBuilderOptions self) -> OEFragOptions
        GetNonRingOptions(OEFragBuilderOptions self) -> OEFragOptions
        """
        return _oeomega.OEFragBuilderOptions_GetNonRingOptions(self, *args)


    def SetRingOptions(self, opts: 'OERingFragOptions') -> "void":
        """SetRingOptions(OEFragBuilderOptions self, OERingFragOptions opts)"""
        return _oeomega.OEFragBuilderOptions_SetRingOptions(self, opts)


    def GetRingOptions(self, *args) -> "OEConfGen::OERingFragOptions const &":
        """
        GetRingOptions(OEFragBuilderOptions self) -> OERingFragOptions
        GetRingOptions(OEFragBuilderOptions self) -> OERingFragOptions
        """
        return _oeomega.OEFragBuilderOptions_GetRingOptions(self, *args)


    def SetMacroCycOptions(self, opts: 'OEFragOptions') -> "void":
        """SetMacroCycOptions(OEFragBuilderOptions self, OEFragOptions opts)"""
        return _oeomega.OEFragBuilderOptions_SetMacroCycOptions(self, opts)


    def GetMacroCycOptions(self, *args) -> "OEConfGen::OEFragOptions const &":
        """
        GetMacroCycOptions(OEFragBuilderOptions self) -> OEFragOptions
        GetMacroCycOptions(OEFragBuilderOptions self) -> OEFragOptions
        """
        return _oeomega.OEFragBuilderOptions_GetMacroCycOptions(self, *args)


    def CreateCopy(self) -> "OEConfGen::OEFragBuilderOptions *":
        """CreateCopy(OEFragBuilderOptions self) -> OEFragBuilderOptions"""
        return _oeomega.OEFragBuilderOptions_CreateCopy(self)

OEFragBuilderOptions_swigregister = _oeomega.OEFragBuilderOptions_swigregister
OEFragBuilderOptions_swigregister(OEFragBuilderOptions)

class OEMolBuilderOptions(oechem.OEOptions):
    """Proxy of C++ OEConfGen::OEMolBuilderOptions class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OEMolBuilderOptions self) -> OEMolBuilderOptions
        __init__(OEConfGen::OEMolBuilderOptions self, OEMolBuilderOptions arg2) -> OEMolBuilderOptions
        """
        this = _oeomega.new_OEMolBuilderOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OEMolBuilderOptions
    __del__ = lambda self: None

    def GetCanonOrder(self) -> "bool":
        """GetCanonOrder(OEMolBuilderOptions self) -> bool"""
        return _oeomega.OEMolBuilderOptions_GetCanonOrder(self)


    def SetCanonOrder(self, value: 'bool const') -> "bool":
        """SetCanonOrder(OEMolBuilderOptions self, bool const value) -> bool"""
        return _oeomega.OEMolBuilderOptions_SetCanonOrder(self, value)


    def GetUseFragLib(self) -> "bool":
        """GetUseFragLib(OEMolBuilderOptions self) -> bool"""
        return _oeomega.OEMolBuilderOptions_GetUseFragLib(self)


    def SetUseFragLib(self, value: 'bool const') -> "bool":
        """SetUseFragLib(OEMolBuilderOptions self, bool const value) -> bool"""
        return _oeomega.OEMolBuilderOptions_SetUseFragLib(self, value)


    def GetFromCT(self) -> "bool":
        """GetFromCT(OEMolBuilderOptions self) -> bool"""
        return _oeomega.OEMolBuilderOptions_GetFromCT(self)


    def SetFromCT(self, value: 'bool const') -> "bool":
        """SetFromCT(OEMolBuilderOptions self, bool const value) -> bool"""
        return _oeomega.OEMolBuilderOptions_SetFromCT(self, value)


    def GetStrictAtomTypes(self) -> "bool":
        """GetStrictAtomTypes(OEMolBuilderOptions self) -> bool"""
        return _oeomega.OEMolBuilderOptions_GetStrictAtomTypes(self)


    def SetStrictAtomTypes(self, value: 'bool const') -> "bool":
        """SetStrictAtomTypes(OEMolBuilderOptions self, bool const value) -> bool"""
        return _oeomega.OEMolBuilderOptions_SetStrictAtomTypes(self, value)


    def GetEnumRing(self) -> "bool":
        """GetEnumRing(OEMolBuilderOptions self) -> bool"""
        return _oeomega.OEMolBuilderOptions_GetEnumRing(self)


    def SetEnumRing(self, value: 'bool const') -> "bool":
        """SetEnumRing(OEMolBuilderOptions self, bool const value) -> bool"""
        return _oeomega.OEMolBuilderOptions_SetEnumRing(self, value)


    def GetSampleHydrogens(self) -> "bool":
        """GetSampleHydrogens(OEMolBuilderOptions self) -> bool"""
        return _oeomega.OEMolBuilderOptions_GetSampleHydrogens(self)


    def SetSampleHydrogens(self, value: 'bool const') -> "bool":
        """SetSampleHydrogens(OEMolBuilderOptions self, bool const value) -> bool"""
        return _oeomega.OEMolBuilderOptions_SetSampleHydrogens(self, value)


    def GetEnumNitrogen(self) -> "unsigned int":
        """GetEnumNitrogen(OEMolBuilderOptions self) -> unsigned int"""
        return _oeomega.OEMolBuilderOptions_GetEnumNitrogen(self)


    def SetEnumNitrogen(self, value: 'unsigned int const') -> "bool":
        """SetEnumNitrogen(OEMolBuilderOptions self, unsigned int const value) -> bool"""
        return _oeomega.OEMolBuilderOptions_SetEnumNitrogen(self, value)


    def SetFragBuilderOptions(self, opts: 'OEFragBuilderOptions') -> "void":
        """SetFragBuilderOptions(OEMolBuilderOptions self, OEFragBuilderOptions opts)"""
        return _oeomega.OEMolBuilderOptions_SetFragBuilderOptions(self, opts)


    def GetFragBuilderOptions(self, *args) -> "OEConfGen::OEFragBuilderOptions const &":
        """
        GetFragBuilderOptions(OEMolBuilderOptions self) -> OEFragBuilderOptions
        GetFragBuilderOptions(OEMolBuilderOptions self) -> OEFragBuilderOptions
        """
        return _oeomega.OEMolBuilderOptions_GetFragBuilderOptions(self, *args)


    def CreateCopy(self) -> "OEConfGen::OEMolBuilderOptions *":
        """CreateCopy(OEMolBuilderOptions self) -> OEMolBuilderOptions"""
        return _oeomega.OEMolBuilderOptions_CreateCopy(self)

OEMolBuilderOptions_swigregister = _oeomega.OEMolBuilderOptions_swigregister
OEMolBuilderOptions_swigregister(OEMolBuilderOptions)

class OETorLib(object):
    """Proxy of C++ OEConfGen::OETorLib class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OETorLib self, unsigned int type) -> OETorLib
        __init__(OEConfGen::OETorLib self) -> OETorLib
        __init__(OEConfGen::OETorLib self, OETorLib arg2) -> OETorLib
        """
        this = _oeomega.new_OETorLib(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OETorLib
    __del__ = lambda self: None

    def GetTorRules(self) -> "OESystem::OEIterBase< OEChem::OESubSearch > *":
        """GetTorRules(OETorLib self) -> OESystem::OEIterBase< OEChem::OESubSearch > *"""
        return _oeomega.OETorLib_GetTorRules(self)


    def GetTorRule(self, mol: 'OEMolBase', bond: 'OEBondBase') -> "OEChem::OESubSearch const *":
        """GetTorRule(OETorLib self, OEMolBase mol, OEBondBase bond) -> OESubSearch"""
        return _oeomega.OETorLib_GetTorRule(self, mol, bond)


    def HasTorRule(self, mol: 'OEMolBase', bond: 'OEBondBase') -> "bool":
        """HasTorRule(OETorLib self, OEMolBase mol, OEBondBase bond) -> bool"""
        return _oeomega.OETorLib_HasTorRule(self, mol, bond)


    def IsValid(self):
      return _oeomega.OETorLib___nonzero__(self)



    def ClearTorsionLibrary(self) -> "void":
        """ClearTorsionLibrary(OETorLib self)"""
        return _oeomega.OETorLib_ClearTorsionLibrary(self)


    def ResetTorsionLibrary(self) -> "bool":
        """ResetTorsionLibrary(OETorLib self) -> bool"""
        return _oeomega.OETorLib_ResetTorsionLibrary(self)


    def SetTorsionLibrary(self, *args) -> "bool":
        """
        SetTorsionLibrary(OETorLib self, unsigned int type) -> bool
        SetTorsionLibrary(OETorLib self, std::string const & arg2) -> bool
        SetTorsionLibrary(OETorLib self, oeistream arg2) -> bool
        """
        return _oeomega.OETorLib_SetTorsionLibrary(self, *args)


    def AddTorsionLibrary(self, *args) -> "bool":
        """
        AddTorsionLibrary(OETorLib self, std::string const & arg2) -> bool
        AddTorsionLibrary(OETorLib self, oeistream arg2) -> bool
        """
        return _oeomega.OETorLib_AddTorsionLibrary(self, *args)


    def AddTorsionRule(self, *args) -> "bool":
        """
        AddTorsionRule(OETorLib self, OEQMolBase qmol, OEIntVector degrees) -> bool
        AddTorsionRule(OETorLib self, std::string const & arg2) -> bool
        """
        return _oeomega.OETorLib_AddTorsionRule(self, *args)


    def CreateCopy(self) -> "OEConfGen::OETorLib *":
        """CreateCopy(OETorLib self) -> OETorLib"""
        return _oeomega.OETorLib_CreateCopy(self)

OETorLib_swigregister = _oeomega.OETorLib_swigregister
OETorLib_swigregister(OETorLib)

class OETorLibParameter(object):
    """Proxy of C++ OEConfGen::OETorLibParameter class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OETorLibParameter self, std::string const & name) -> OETorLibParameter
        __init__(OEConfGen::OETorLibParameter self) -> OETorLibParameter
        __init__(OEConfGen::OETorLibParameter self, OETorLibParameter arg2) -> OETorLibParameter
        """
        this = _oeomega.new_OETorLibParameter(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OETorLibParameter
    __del__ = lambda self: None

    def CreateCopy(self) -> "OESystem::OEParameter *":
        """CreateCopy(OETorLibParameter self) -> OEParameter"""
        return _oeomega.OETorLibParameter_CreateCopy(self)

OETorLibParameter_swigregister = _oeomega.OETorLibParameter_swigregister
OETorLibParameter_swigregister(OETorLibParameter)

class OESliceEnsembleOptions(oechem.OEOptions):
    """Proxy of C++ OEConfGen::OESliceEnsembleOptions class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OESliceEnsembleOptions self) -> OESliceEnsembleOptions
        __init__(OEConfGen::OESliceEnsembleOptions self, OESliceEnsembleOptions arg2) -> OESliceEnsembleOptions
        """
        this = _oeomega.new_OESliceEnsembleOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OESliceEnsembleOptions
    __del__ = lambda self: None

    def GetRangeIncrement(self) -> "unsigned int":
        """GetRangeIncrement(OESliceEnsembleOptions self) -> unsigned int"""
        return _oeomega.OESliceEnsembleOptions_GetRangeIncrement(self)


    def SetRangeIncrement(self, value: 'unsigned int const') -> "bool":
        """SetRangeIncrement(OESliceEnsembleOptions self, unsigned int const value) -> bool"""
        return _oeomega.OESliceEnsembleOptions_SetRangeIncrement(self, value)


    def SetMaxConfs(self, value: 'unsigned int const') -> "bool":
        """SetMaxConfs(OESliceEnsembleOptions self, unsigned int const value) -> bool"""
        return _oeomega.OESliceEnsembleOptions_SetMaxConfs(self, value)


    def GetMaxTerminalHeavy(self) -> "unsigned int":
        """GetMaxTerminalHeavy(OESliceEnsembleOptions self) -> unsigned int"""
        return _oeomega.OESliceEnsembleOptions_GetMaxTerminalHeavy(self)


    def SetMaxTerminalHeavy(self, value: 'unsigned int const') -> "bool":
        """SetMaxTerminalHeavy(OESliceEnsembleOptions self, unsigned int const value) -> bool"""
        return _oeomega.OESliceEnsembleOptions_SetMaxTerminalHeavy(self, value)


    def GetEnergyWindow(self) -> "double":
        """GetEnergyWindow(OESliceEnsembleOptions self) -> double"""
        return _oeomega.OESliceEnsembleOptions_GetEnergyWindow(self)


    def SetEnergyWindow(self, value: 'double const') -> "bool":
        """SetEnergyWindow(OESliceEnsembleOptions self, double const value) -> bool"""
        return _oeomega.OESliceEnsembleOptions_SetEnergyWindow(self, value)


    def GetRMSThreshold(self) -> "double":
        """GetRMSThreshold(OESliceEnsembleOptions self) -> double"""
        return _oeomega.OESliceEnsembleOptions_GetRMSThreshold(self)


    def SetRMSThreshold(self, value: 'double const') -> "bool":
        """SetRMSThreshold(OESliceEnsembleOptions self, double const value) -> bool"""
        return _oeomega.OESliceEnsembleOptions_SetRMSThreshold(self, value)


    def GetEnergyRange(self) -> "std::vector< double,std::allocator< double > >":
        """GetEnergyRange(OESliceEnsembleOptions self) -> OEDoubleVector"""
        return _oeomega.OESliceEnsembleOptions_GetEnergyRange(self)


    def SetEnergyRange(self, *args) -> "bool":
        """
        SetEnergyRange(OESliceEnsembleOptions self, OEDoubleVector value) -> bool
        SetEnergyRange(OESliceEnsembleOptions self, std::string const & value) -> bool
        """
        return _oeomega.OESliceEnsembleOptions_SetEnergyRange(self, *args)


    def GetMaxConfRange(self) -> "std::vector< unsigned int,std::allocator< unsigned int > >":
        """GetMaxConfRange(OESliceEnsembleOptions self) -> OEUIntVector"""
        return _oeomega.OESliceEnsembleOptions_GetMaxConfRange(self)


    def SetMaxConfRange(self, *args) -> "bool":
        """
        SetMaxConfRange(OESliceEnsembleOptions self, OEUIntVector value) -> bool
        SetMaxConfRange(OESliceEnsembleOptions self, std::string const & value) -> bool
        """
        return _oeomega.OESliceEnsembleOptions_SetMaxConfRange(self, *args)


    def GetRMSRange(self) -> "std::vector< double,std::allocator< double > >":
        """GetRMSRange(OESliceEnsembleOptions self) -> OEDoubleVector"""
        return _oeomega.OESliceEnsembleOptions_GetRMSRange(self)


    def SetRMSRange(self, *args) -> "bool":
        """
        SetRMSRange(OESliceEnsembleOptions self, OEDoubleVector value) -> bool
        SetRMSRange(OESliceEnsembleOptions self, std::string const & value) -> bool
        """
        return _oeomega.OESliceEnsembleOptions_SetRMSRange(self, *args)


    def GetMaxConfs(self, *args) -> "unsigned int":
        """
        GetMaxConfs(OESliceEnsembleOptions self) -> unsigned int
        GetMaxConfs(OESliceEnsembleOptions self, unsigned int const argNumRotors) -> unsigned int
        """
        return _oeomega.OESliceEnsembleOptions_GetMaxConfs(self, *args)


    def GetRMSCutoff(self, argNumRotors: 'unsigned int const') -> "double":
        """GetRMSCutoff(OESliceEnsembleOptions self, unsigned int const argNumRotors) -> double"""
        return _oeomega.OESliceEnsembleOptions_GetRMSCutoff(self, argNumRotors)


    def GetEneWindow(self, argNumRotors: 'unsigned int const') -> "double":
        """GetEneWindow(OESliceEnsembleOptions self, unsigned int const argNumRotors) -> double"""
        return _oeomega.OESliceEnsembleOptions_GetEneWindow(self, argNumRotors)


    def CreateCopy(self) -> "OEConfGen::OESliceEnsembleOptions *":
        """CreateCopy(OESliceEnsembleOptions self) -> OESliceEnsembleOptions"""
        return _oeomega.OESliceEnsembleOptions_CreateCopy(self)

OESliceEnsembleOptions_swigregister = _oeomega.OESliceEnsembleOptions_swigregister
OESliceEnsembleOptions_swigregister(OESliceEnsembleOptions)

class OEConfFixOptions(oechem.OEOptions):
    """Proxy of C++ OEConfGen::OEConfFixOptions class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OEConfFixOptions self) -> OEConfFixOptions
        __init__(OEConfGen::OEConfFixOptions self, OEConfFixOptions arg2) -> OEConfFixOptions
        """
        this = _oeomega.new_OEConfFixOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OEConfFixOptions
    __del__ = lambda self: None

    def Validate(self) -> "bool":
        """Validate(OEConfFixOptions self) -> bool"""
        return _oeomega.OEConfFixOptions_Validate(self)


    def GetFixDeleteH(self) -> "bool":
        """GetFixDeleteH(OEConfFixOptions self) -> bool"""
        return _oeomega.OEConfFixOptions_GetFixDeleteH(self)


    def SetFixDeleteH(self, value: 'bool const') -> "bool":
        """SetFixDeleteH(OEConfFixOptions self, bool const value) -> bool"""
        return _oeomega.OEConfFixOptions_SetFixDeleteH(self, value)


    def GetFixUniqueMatch(self) -> "bool":
        """GetFixUniqueMatch(OEConfFixOptions self) -> bool"""
        return _oeomega.OEConfFixOptions_GetFixUniqueMatch(self)


    def SetFixUniqueMatch(self, value: 'bool const') -> "bool":
        """SetFixUniqueMatch(OEConfFixOptions self, bool const value) -> bool"""
        return _oeomega.OEConfFixOptions_SetFixUniqueMatch(self, value)


    def GetFixRMS(self) -> "double":
        """GetFixRMS(OEConfFixOptions self) -> double"""
        return _oeomega.OEConfFixOptions_GetFixRMS(self)


    def SetFixRMS(self, value: 'double const') -> "bool":
        """SetFixRMS(OEConfFixOptions self, double const value) -> bool"""
        return _oeomega.OEConfFixOptions_SetFixRMS(self, value)


    def GetFixMaxMatch(self) -> "unsigned int":
        """GetFixMaxMatch(OEConfFixOptions self) -> unsigned int"""
        return _oeomega.OEConfFixOptions_GetFixMaxMatch(self)


    def SetFixMaxMatch(self, value: 'unsigned int const') -> "bool":
        """SetFixMaxMatch(OEConfFixOptions self, unsigned int const value) -> bool"""
        return _oeomega.OEConfFixOptions_SetFixMaxMatch(self, value)


    def SetFixSubSearch(self, value: 'OESubSearch') -> "bool":
        """SetFixSubSearch(OEConfFixOptions self, OESubSearch value) -> bool"""
        return _oeomega.OEConfFixOptions_SetFixSubSearch(self, value)


    def GetFixSmarts(self) -> "std::string":
        """GetFixSmarts(OEConfFixOptions self) -> std::string"""
        return _oeomega.OEConfFixOptions_GetFixSmarts(self)


    def SetFixSmarts(self, value: 'std::string const') -> "bool":
        """SetFixSmarts(OEConfFixOptions self, std::string const value) -> bool"""
        return _oeomega.OEConfFixOptions_SetFixSmarts(self, value)


    def GetAtomExpr(self) -> "unsigned int":
        """GetAtomExpr(OEConfFixOptions self) -> unsigned int"""
        return _oeomega.OEConfFixOptions_GetAtomExpr(self)


    def SetAtomExpr(self, value: 'unsigned int const') -> "bool":
        """SetAtomExpr(OEConfFixOptions self, unsigned int const value) -> bool"""
        return _oeomega.OEConfFixOptions_SetAtomExpr(self, value)


    def GetBondExpr(self) -> "unsigned int":
        """GetBondExpr(OEConfFixOptions self) -> unsigned int"""
        return _oeomega.OEConfFixOptions_GetBondExpr(self)


    def SetBondExpr(self, value: 'unsigned int const') -> "bool":
        """SetBondExpr(OEConfFixOptions self, unsigned int const value) -> bool"""
        return _oeomega.OEConfFixOptions_SetBondExpr(self, value)


    def GetFixMol(self) -> "OEChem::OEMolBase const &":
        """GetFixMol(OEConfFixOptions self) -> OEMolBase"""
        return _oeomega.OEConfFixOptions_GetFixMol(self)


    def GetFixPredicate(self) -> "OESystem::OEUnaryPredicate< OEChem::OEAtomBase > const *":
        """GetFixPredicate(OEConfFixOptions self) -> OEUnaryAtomPred"""
        return _oeomega.OEConfFixOptions_GetFixPredicate(self)


    def SetFixPredicate(self, value: 'OEUnaryAtomPred') -> "bool":
        """SetFixPredicate(OEConfFixOptions self, OEUnaryAtomPred value) -> bool"""
        return _oeomega.OEConfFixOptions_SetFixPredicate(self, value)


    def SetFixMol(self, *args) -> "bool":
        """
        SetFixMol(OEConfFixOptions self, OEMolBase value) -> bool
        SetFixMol(OEConfFixOptions self, oemolistream fstream) -> bool
        """
        return _oeomega.OEConfFixOptions_SetFixMol(self, *args)


    def HasFixPattern(self) -> "bool":
        """HasFixPattern(OEConfFixOptions self) -> bool"""
        return _oeomega.OEConfFixOptions_HasFixPattern(self)


    def GetFixSubSearch(self, *args) -> "OEChem::OESubSearch":
        """
        GetFixSubSearch(OEConfFixOptions self) -> OESubSearch
        GetFixSubSearch(OEConfFixOptions self, OEMCMolBase mol) -> OESubSearch
        """
        return _oeomega.OEConfFixOptions_GetFixSubSearch(self, *args)


    def CreateCopy(self) -> "OEConfGen::OEConfFixOptions *":
        """CreateCopy(OEConfFixOptions self) -> OEConfFixOptions"""
        return _oeomega.OEConfFixOptions_CreateCopy(self)

OEConfFixOptions_swigregister = _oeomega.OEConfFixOptions_swigregister
OEConfFixOptions_swigregister(OEConfFixOptions)

class OETorDriveOptions(oechem.OEOptions):
    """Proxy of C++ OEConfGen::OETorDriveOptions class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OETorDriveOptions self) -> OETorDriveOptions
        __init__(OEConfGen::OETorDriveOptions self, OETorDriveOptions arg2) -> OETorDriveOptions
        """
        this = _oeomega.new_OETorDriveOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OETorDriveOptions
    __del__ = lambda self: None

    def Validate(self) -> "bool":
        """Validate(OETorDriveOptions self) -> bool"""
        return _oeomega.OETorDriveOptions_Validate(self)


    def GetCommentEnergy(self) -> "bool":
        """GetCommentEnergy(OETorDriveOptions self) -> bool"""
        return _oeomega.OETorDriveOptions_GetCommentEnergy(self)


    def SetCommentEnergy(self, value: 'bool const') -> "bool":
        """SetCommentEnergy(OETorDriveOptions self, bool const value) -> bool"""
        return _oeomega.OETorDriveOptions_SetCommentEnergy(self, value)


    def GetSDEnergy(self) -> "bool":
        """GetSDEnergy(OETorDriveOptions self) -> bool"""
        return _oeomega.OETorDriveOptions_GetSDEnergy(self)


    def SetSDEnergy(self, value: 'bool const') -> "bool":
        """SetSDEnergy(OETorDriveOptions self, bool const value) -> bool"""
        return _oeomega.OETorDriveOptions_SetSDEnergy(self, value)


    def GetRotorOffset(self) -> "bool":
        """GetRotorOffset(OETorDriveOptions self) -> bool"""
        return _oeomega.OETorDriveOptions_GetRotorOffset(self)


    def SetRotorOffset(self, value: 'bool const') -> "bool":
        """SetRotorOffset(OETorDriveOptions self, bool const value) -> bool"""
        return _oeomega.OETorDriveOptions_SetRotorOffset(self, value)


    def GetUseGPU(self) -> "bool":
        """GetUseGPU(OETorDriveOptions self) -> bool"""
        return _oeomega.OETorDriveOptions_GetUseGPU(self)


    def SetUseGPU(self, value: 'bool const') -> "bool":
        """SetUseGPU(OETorDriveOptions self, bool const value) -> bool"""
        return _oeomega.OETorDriveOptions_SetUseGPU(self, value)


    def GetTimings(self) -> "bool":
        """GetTimings(OETorDriveOptions self) -> bool"""
        return _oeomega.OETorDriveOptions_GetTimings(self)


    def SetTimings(self, value: 'bool const') -> "bool":
        """SetTimings(OETorDriveOptions self, bool const value) -> bool"""
        return _oeomega.OETorDriveOptions_SetTimings(self, value)


    def GetMaxSearchTime(self) -> "double":
        """GetMaxSearchTime(OETorDriveOptions self) -> double"""
        return _oeomega.OETorDriveOptions_GetMaxSearchTime(self)


    def SetMaxSearchTime(self, value: 'double const') -> "bool":
        """SetMaxSearchTime(OETorDriveOptions self, double const value) -> bool"""
        return _oeomega.OETorDriveOptions_SetMaxSearchTime(self, value)


    def GetMaxRotors(self) -> "unsigned int":
        """GetMaxRotors(OETorDriveOptions self) -> unsigned int"""
        return _oeomega.OETorDriveOptions_GetMaxRotors(self)


    def SetMaxRotors(self, value: 'unsigned int const') -> "bool":
        """SetMaxRotors(OETorDriveOptions self, unsigned int const value) -> bool"""
        return _oeomega.OETorDriveOptions_SetMaxRotors(self, value)


    def GetRotorPredicate(self) -> "OESystem::OEUnaryPredicate< OEChem::OEBondBase > const *":
        """GetRotorPredicate(OETorDriveOptions self) -> OEUnaryBondPred"""
        return _oeomega.OETorDriveOptions_GetRotorPredicate(self)


    def SetRotorPredicate(self, value: 'OEUnaryBondPred') -> "bool":
        """SetRotorPredicate(OETorDriveOptions self, OEUnaryBondPred value) -> bool"""
        return _oeomega.OETorDriveOptions_SetRotorPredicate(self, value)


    def GetForceField(self) -> "OEMolPotential::OEForceField const *":
        """GetForceField(OETorDriveOptions self) -> OEMolPotential::OEForceField const *"""
        return _oeomega.OETorDriveOptions_GetForceField(self)


    def GetForceFieldType(self) -> "unsigned int":
        """GetForceFieldType(OETorDriveOptions self) -> unsigned int"""
        return _oeomega.OETorDriveOptions_GetForceFieldType(self)


    def SetForceField(self, *args) -> "bool":
        """
        SetForceField(OETorDriveOptions self, unsigned int const value) -> bool
        SetForceField(OETorDriveOptions self, std::string const & value) -> bool
        SetForceField(OETorDriveOptions self, OEMolPotential::OEForceField const & value) -> bool
        """
        return _oeomega.OETorDriveOptions_SetForceField(self, *args)


    def GetTorLib(self) -> "OEConfGen::OETorLib const *":
        """GetTorLib(OETorDriveOptions self) -> OETorLib"""
        return _oeomega.OETorDriveOptions_GetTorLib(self)


    def GetTorLibType(self) -> "unsigned int":
        """GetTorLibType(OETorDriveOptions self) -> unsigned int"""
        return _oeomega.OETorDriveOptions_GetTorLibType(self)


    def SetTorLib(self, *args) -> "bool":
        """
        SetTorLib(OETorDriveOptions self, unsigned int const value) -> bool
        SetTorLib(OETorDriveOptions self, std::string const & value) -> bool
        SetTorLib(OETorDriveOptions self, OETorLib value) -> bool
        """
        return _oeomega.OETorDriveOptions_SetTorLib(self, *args)


    def ExceedsMaxRotors(self, argMol: 'OEMolBase') -> "bool":
        """ExceedsMaxRotors(OETorDriveOptions self, OEMolBase argMol) -> bool"""
        return _oeomega.OETorDriveOptions_ExceedsMaxRotors(self, argMol)


    def CreateCopy(self) -> "OEConfGen::OETorDriveOptions *":
        """CreateCopy(OETorDriveOptions self) -> OETorDriveOptions"""
        return _oeomega.OETorDriveOptions_CreateCopy(self)

OETorDriveOptions_swigregister = _oeomega.OETorDriveOptions_swigregister
OETorDriveOptions_swigregister(OETorDriveOptions)

class OEOmegaOptions(oechem.OEOptions):
    """Proxy of C++ OEConfGen::OEOmegaOptions class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OEOmegaOptions self, unsigned int const type) -> OEOmegaOptions
        __init__(OEConfGen::OEOmegaOptions self) -> OEOmegaOptions
        __init__(OEConfGen::OEOmegaOptions self, OEOmegaOptions arg2) -> OEOmegaOptions
        """
        this = _oeomega.new_OEOmegaOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OEOmegaOptions
    __del__ = lambda self: None

    def Validate(self) -> "bool":
        """Validate(OEOmegaOptions self) -> bool"""
        return _oeomega.OEOmegaOptions_Validate(self)


    def GetWarts(self) -> "bool":
        """GetWarts(OEOmegaOptions self) -> bool"""
        return _oeomega.OEOmegaOptions_GetWarts(self)


    def SetWarts(self, value: 'bool const') -> "bool":
        """SetWarts(OEOmegaOptions self, bool const value) -> bool"""
        return _oeomega.OEOmegaOptions_SetWarts(self, value)


    def GetIncludeInput(self) -> "bool":
        """GetIncludeInput(OEOmegaOptions self) -> bool"""
        return _oeomega.OEOmegaOptions_GetIncludeInput(self)


    def SetIncludeInput(self, value: 'bool const') -> "bool":
        """SetIncludeInput(OEOmegaOptions self, bool const value) -> bool"""
        return _oeomega.OEOmegaOptions_SetIncludeInput(self, value)


    def GetStrictStereo(self) -> "bool":
        """GetStrictStereo(OEOmegaOptions self) -> bool"""
        return _oeomega.OEOmegaOptions_GetStrictStereo(self)


    def SetStrictStereo(self, value: 'bool const') -> "bool":
        """SetStrictStereo(OEOmegaOptions self, bool const value) -> bool"""
        return _oeomega.OEOmegaOptions_SetStrictStereo(self, value)


    def GetTorsionDrive(self) -> "bool":
        """GetTorsionDrive(OEOmegaOptions self) -> bool"""
        return _oeomega.OEOmegaOptions_GetTorsionDrive(self)


    def SetTorsionDrive(self, value: 'bool const') -> "bool":
        """SetTorsionDrive(OEOmegaOptions self, bool const value) -> bool"""
        return _oeomega.OEOmegaOptions_SetTorsionDrive(self, value)


    def SetTorDriveOptions(self, opts: 'OETorDriveOptions') -> "void":
        """SetTorDriveOptions(OEOmegaOptions self, OETorDriveOptions opts)"""
        return _oeomega.OEOmegaOptions_SetTorDriveOptions(self, opts)


    def GetTorDriveOptions(self, *args) -> "OEConfGen::OETorDriveOptions const &":
        """
        GetTorDriveOptions(OEOmegaOptions self) -> OETorDriveOptions
        GetTorDriveOptions(OEOmegaOptions self) -> OETorDriveOptions
        """
        return _oeomega.OEOmegaOptions_GetTorDriveOptions(self, *args)


    def SetSliceEnsembleOptions(self, opts: 'OESliceEnsembleOptions') -> "void":
        """SetSliceEnsembleOptions(OEOmegaOptions self, OESliceEnsembleOptions opts)"""
        return _oeomega.OEOmegaOptions_SetSliceEnsembleOptions(self, opts)


    def GetSliceEnsembleOptions(self, *args) -> "OEConfGen::OESliceEnsembleOptions const &":
        """
        GetSliceEnsembleOptions(OEOmegaOptions self) -> OESliceEnsembleOptions
        GetSliceEnsembleOptions(OEOmegaOptions self) -> OESliceEnsembleOptions
        """
        return _oeomega.OEOmegaOptions_GetSliceEnsembleOptions(self, *args)


    def SetConfFixOptions(self, opts: 'OEConfFixOptions') -> "void":
        """SetConfFixOptions(OEOmegaOptions self, OEConfFixOptions opts)"""
        return _oeomega.OEOmegaOptions_SetConfFixOptions(self, opts)


    def GetConfFixOptions(self, *args) -> "OEConfGen::OEConfFixOptions const &":
        """
        GetConfFixOptions(OEOmegaOptions self) -> OEConfFixOptions
        GetConfFixOptions(OEOmegaOptions self) -> OEConfFixOptions
        """
        return _oeomega.OEOmegaOptions_GetConfFixOptions(self, *args)


    def SetMolBuilderOptions(self, opts: 'OEMolBuilderOptions') -> "void":
        """SetMolBuilderOptions(OEOmegaOptions self, OEMolBuilderOptions opts)"""
        return _oeomega.OEOmegaOptions_SetMolBuilderOptions(self, opts)


    def GetMolBuilderOptions(self, *args) -> "OEConfGen::OEMolBuilderOptions const &":
        """
        GetMolBuilderOptions(OEOmegaOptions self) -> OEMolBuilderOptions
        GetMolBuilderOptions(OEOmegaOptions self) -> OEMolBuilderOptions
        """
        return _oeomega.OEOmegaOptions_GetMolBuilderOptions(self, *args)


    def CreateCopy(self) -> "OEConfGen::OEOmegaOptions *":
        """CreateCopy(OEOmegaOptions self) -> OEOmegaOptions"""
        return _oeomega.OEOmegaOptions_CreateCopy(self)


    def GetMaxConfs(self) -> "unsigned int":
        """GetMaxConfs(OEOmegaOptions self) -> unsigned int"""
        return _oeomega.OEOmegaOptions_GetMaxConfs(self)


    def SetMaxConfs(self, value: 'unsigned int const') -> "bool":
        """SetMaxConfs(OEOmegaOptions self, unsigned int const value) -> bool"""
        return _oeomega.OEOmegaOptions_SetMaxConfs(self, value)


    def GetEnergyWindow(self) -> "double":
        """GetEnergyWindow(OEOmegaOptions self) -> double"""
        return _oeomega.OEOmegaOptions_GetEnergyWindow(self)


    def SetEnergyWindow(self, value: 'double const') -> "bool":
        """SetEnergyWindow(OEOmegaOptions self, double const value) -> bool"""
        return _oeomega.OEOmegaOptions_SetEnergyWindow(self, value)


    def SetCommentEnergy(self, value: 'bool const') -> "void":
        """SetCommentEnergy(OEOmegaOptions self, bool const value)"""
        return _oeomega.OEOmegaOptions_SetCommentEnergy(self, value)


    def GetCommentEnergy(self) -> "bool":
        """GetCommentEnergy(OEOmegaOptions self) -> bool"""
        return _oeomega.OEOmegaOptions_GetCommentEnergy(self)


    def SetSDEnergy(self, value: 'bool const') -> "void":
        """SetSDEnergy(OEOmegaOptions self, bool const value)"""
        return _oeomega.OEOmegaOptions_SetSDEnergy(self, value)


    def GetSDEnergy(self) -> "bool":
        """GetSDEnergy(OEOmegaOptions self) -> bool"""
        return _oeomega.OEOmegaOptions_GetSDEnergy(self)


    def SetRotorOffset(self, value: 'bool const') -> "void":
        """SetRotorOffset(OEOmegaOptions self, bool const value)"""
        return _oeomega.OEOmegaOptions_SetRotorOffset(self, value)


    def GetRotorOffset(self) -> "bool":
        """GetRotorOffset(OEOmegaOptions self) -> bool"""
        return _oeomega.OEOmegaOptions_GetRotorOffset(self)


    def GetMaxSearchTime(self) -> "double":
        """GetMaxSearchTime(OEOmegaOptions self) -> double"""
        return _oeomega.OEOmegaOptions_GetMaxSearchTime(self)


    def SetMaxSearchTime(self, value: 'double const') -> "void":
        """SetMaxSearchTime(OEOmegaOptions self, double const value)"""
        return _oeomega.OEOmegaOptions_SetMaxSearchTime(self, value)


    def SetMaxRotors(self, value: 'unsigned int const') -> "void":
        """SetMaxRotors(OEOmegaOptions self, unsigned int const value)"""
        return _oeomega.OEOmegaOptions_SetMaxRotors(self, value)


    def GetMaxRotors(self) -> "unsigned int":
        """GetMaxRotors(OEOmegaOptions self) -> unsigned int"""
        return _oeomega.OEOmegaOptions_GetMaxRotors(self)


    def GetBuildForceField(self) -> "unsigned int":
        """GetBuildForceField(OEOmegaOptions self) -> unsigned int"""
        return _oeomega.OEOmegaOptions_GetBuildForceField(self)


    def SetBuildForceField(self, value: 'unsigned int const') -> "bool":
        """SetBuildForceField(OEOmegaOptions self, unsigned int const value) -> bool"""
        return _oeomega.OEOmegaOptions_SetBuildForceField(self, value)


    def GetFromCT(self) -> "bool":
        """GetFromCT(OEOmegaOptions self) -> bool"""
        return _oeomega.OEOmegaOptions_GetFromCT(self)


    def SetFromCT(self, value: 'bool const') -> "void":
        """SetFromCT(OEOmegaOptions self, bool const value)"""
        return _oeomega.OEOmegaOptions_SetFromCT(self, value)


    def GetStrictAtomTypes(self) -> "bool":
        """GetStrictAtomTypes(OEOmegaOptions self) -> bool"""
        return _oeomega.OEOmegaOptions_GetStrictAtomTypes(self)


    def SetStrictAtomTypes(self, value: 'bool const') -> "void":
        """SetStrictAtomTypes(OEOmegaOptions self, bool const value)"""
        return _oeomega.OEOmegaOptions_SetStrictAtomTypes(self, value)


    def GetCanonOrder(self) -> "bool":
        """GetCanonOrder(OEOmegaOptions self) -> bool"""
        return _oeomega.OEOmegaOptions_GetCanonOrder(self)


    def SetCanonOrder(self, value: 'bool const') -> "void":
        """SetCanonOrder(OEOmegaOptions self, bool const value)"""
        return _oeomega.OEOmegaOptions_SetCanonOrder(self, value)


    def GetFixDeleteH(self) -> "bool":
        """GetFixDeleteH(OEOmegaOptions self) -> bool"""
        return _oeomega.OEOmegaOptions_GetFixDeleteH(self)


    def SetFixDeleteH(self, value: 'bool const') -> "void":
        """SetFixDeleteH(OEOmegaOptions self, bool const value)"""
        return _oeomega.OEOmegaOptions_SetFixDeleteH(self, value)


    def GetFixUniqueMatch(self) -> "bool":
        """GetFixUniqueMatch(OEOmegaOptions self) -> bool"""
        return _oeomega.OEOmegaOptions_GetFixUniqueMatch(self)


    def SetFixUniqueMatch(self, value: 'bool const') -> "void":
        """SetFixUniqueMatch(OEOmegaOptions self, bool const value)"""
        return _oeomega.OEOmegaOptions_SetFixUniqueMatch(self, value)


    def GetFixRMS(self) -> "double":
        """GetFixRMS(OEOmegaOptions self) -> double"""
        return _oeomega.OEOmegaOptions_GetFixRMS(self)


    def SetFixRMS(self, value: 'double const') -> "void":
        """SetFixRMS(OEOmegaOptions self, double const value)"""
        return _oeomega.OEOmegaOptions_SetFixRMS(self, value)


    def GetFixMaxMatch(self) -> "unsigned int":
        """GetFixMaxMatch(OEOmegaOptions self) -> unsigned int"""
        return _oeomega.OEOmegaOptions_GetFixMaxMatch(self)


    def SetFixMaxMatch(self, value: 'unsigned int const') -> "void":
        """SetFixMaxMatch(OEOmegaOptions self, unsigned int const value)"""
        return _oeomega.OEOmegaOptions_SetFixMaxMatch(self, value)


    def GetEnumNitrogen(self) -> "unsigned int":
        """GetEnumNitrogen(OEOmegaOptions self) -> unsigned int"""
        return _oeomega.OEOmegaOptions_GetEnumNitrogen(self)


    def SetEnumNitrogen(self, value: 'unsigned int const') -> "bool":
        """SetEnumNitrogen(OEOmegaOptions self, unsigned int const value) -> bool"""
        return _oeomega.OEOmegaOptions_SetEnumNitrogen(self, value)


    def GetEnumRing(self) -> "bool":
        """GetEnumRing(OEOmegaOptions self) -> bool"""
        return _oeomega.OEOmegaOptions_GetEnumRing(self)


    def SetEnumRing(self, value: 'bool const') -> "void":
        """SetEnumRing(OEOmegaOptions self, bool const value)"""
        return _oeomega.OEOmegaOptions_SetEnumRing(self, value)


    def GetSampleHydrogens(self) -> "bool":
        """GetSampleHydrogens(OEOmegaOptions self) -> bool"""
        return _oeomega.OEOmegaOptions_GetSampleHydrogens(self)


    def SetSampleHydrogens(self, value: 'bool const') -> "void":
        """SetSampleHydrogens(OEOmegaOptions self, bool const value)"""
        return _oeomega.OEOmegaOptions_SetSampleHydrogens(self, value)


    def GetSearchForceField(self) -> "unsigned int":
        """GetSearchForceField(OEOmegaOptions self) -> unsigned int"""
        return _oeomega.OEOmegaOptions_GetSearchForceField(self)


    def SetSearchForceField(self, value: 'unsigned int const') -> "bool":
        """SetSearchForceField(OEOmegaOptions self, unsigned int const value) -> bool"""
        return _oeomega.OEOmegaOptions_SetSearchForceField(self, value)


    def GetDielectric(self) -> "double":
        """GetDielectric(OEOmegaOptions self) -> double"""
        return _oeomega.OEOmegaOptions_GetDielectric(self)


    def SetDielectric(self, arg2: 'double const') -> "void":
        """SetDielectric(OEOmegaOptions self, double const arg2)"""
        return _oeomega.OEOmegaOptions_SetDielectric(self, arg2)


    def GetExponent(self) -> "double":
        """GetExponent(OEOmegaOptions self) -> double"""
        return _oeomega.OEOmegaOptions_GetExponent(self)


    def SetExponent(self, arg2: 'double const') -> "void":
        """SetExponent(OEOmegaOptions self, double const arg2)"""
        return _oeomega.OEOmegaOptions_SetExponent(self, arg2)


    def GetRMSThreshold(self) -> "double":
        """GetRMSThreshold(OEOmegaOptions self) -> double"""
        return _oeomega.OEOmegaOptions_GetRMSThreshold(self)


    def SetRMSThreshold(self, value: 'double const') -> "void":
        """SetRMSThreshold(OEOmegaOptions self, double const value)"""
        return _oeomega.OEOmegaOptions_SetRMSThreshold(self, value)


    def GetRangeIncrement(self) -> "unsigned int":
        """GetRangeIncrement(OEOmegaOptions self) -> unsigned int"""
        return _oeomega.OEOmegaOptions_GetRangeIncrement(self)


    def SetRangeIncrement(self, value: 'unsigned int const') -> "void":
        """SetRangeIncrement(OEOmegaOptions self, unsigned int const value)"""
        return _oeomega.OEOmegaOptions_SetRangeIncrement(self, value)


    def GetEnergyRange(self) -> "std::vector< double,std::allocator< double > >":
        """GetEnergyRange(OEOmegaOptions self) -> OEDoubleVector"""
        return _oeomega.OEOmegaOptions_GetEnergyRange(self)


    def GetMaxConfRange(self) -> "std::vector< unsigned int,std::allocator< unsigned int > >":
        """GetMaxConfRange(OEOmegaOptions self) -> OEUIntVector"""
        return _oeomega.OEOmegaOptions_GetMaxConfRange(self)


    def GetRMSRange(self) -> "std::vector< double,std::allocator< double > >":
        """GetRMSRange(OEOmegaOptions self) -> OEDoubleVector"""
        return _oeomega.OEOmegaOptions_GetRMSRange(self)


    def SetEnergyRange(self, *args) -> "bool":
        """
        SetEnergyRange(OEOmegaOptions self, OEDoubleVector range)
        SetEnergyRange(OEOmegaOptions self, std::string const & range) -> bool
        """
        return _oeomega.OEOmegaOptions_SetEnergyRange(self, *args)


    def SetMaxConfRange(self, *args) -> "bool":
        """
        SetMaxConfRange(OEOmegaOptions self, OEUIntVector range)
        SetMaxConfRange(OEOmegaOptions self, std::string const & range) -> bool
        """
        return _oeomega.OEOmegaOptions_SetMaxConfRange(self, *args)


    def SetRMSRange(self, *args) -> "bool":
        """
        SetRMSRange(OEOmegaOptions self, OEDoubleVector range)
        SetRMSRange(OEOmegaOptions self, std::string const & range) -> bool
        """
        return _oeomega.OEOmegaOptions_SetRMSRange(self, *args)


    def GetFixMol(self) -> "OEChem::OEMolBase const &":
        """GetFixMol(OEOmegaOptions self) -> OEMolBase"""
        return _oeomega.OEOmegaOptions_GetFixMol(self)


    def GetFixSubSearch(self) -> "OEChem::OESubSearch":
        """GetFixSubSearch(OEOmegaOptions self) -> OESubSearch"""
        return _oeomega.OEOmegaOptions_GetFixSubSearch(self)


    def ClearFixFile(self) -> "void":
        """ClearFixFile(OEOmegaOptions self)"""
        return _oeomega.OEOmegaOptions_ClearFixFile(self)


    def SetFixFile(self, *args) -> "void":
        """
        SetFixFile(OEOmegaOptions self, oemolistream argStream, unsigned int argAtomOpts, unsigned int argBondOpts)
        SetFixFile(OEOmegaOptions self, oemolistream argStream, unsigned int argAtomOpts)
        SetFixFile(OEOmegaOptions self, oemolistream argStream)
        """
        return _oeomega.OEOmegaOptions_SetFixFile(self, *args)


    def SetFixMol(self, *args) -> "void":
        """
        SetFixMol(OEOmegaOptions self, OEMolBase argMol, unsigned int argAtomOpts, unsigned int argBondOpts)
        SetFixMol(OEOmegaOptions self, OEMolBase argMol, unsigned int argAtomOpts)
        SetFixMol(OEOmegaOptions self, OEMolBase argMol)
        """
        return _oeomega.OEOmegaOptions_SetFixMol(self, *args)


    def SetFixQuery(self, argSubSearch: 'OESubSearch') -> "void":
        """SetFixQuery(OEOmegaOptions self, OESubSearch argSubSearch)"""
        return _oeomega.OEOmegaOptions_SetFixQuery(self, argSubSearch)


    def SetFixSmarts(self, argSmarts: 'std::string const &') -> "void":
        """SetFixSmarts(OEOmegaOptions self, std::string const & argSmarts)"""
        return _oeomega.OEOmegaOptions_SetFixSmarts(self, argSmarts)


    def SetRotorPredicate(self, argPredicate: 'OEUnaryBondPred') -> "void":
        """SetRotorPredicate(OEOmegaOptions self, OEUnaryBondPred argPredicate)"""
        return _oeomega.OEOmegaOptions_SetRotorPredicate(self, argPredicate)


    def SetStrictFrags(self, argStrict: 'bool const') -> "void":
        """SetStrictFrags(OEOmegaOptions self, bool const argStrict)"""
        return _oeomega.OEOmegaOptions_SetStrictFrags(self, argStrict)


    def GetTorLib(self) -> "OEConfGen::OETorLib const &":
        """GetTorLib(OEOmegaOptions self) -> OETorLib"""
        return _oeomega.OEOmegaOptions_GetTorLib(self)


    def SetTorLib(self, argLib: 'OETorLib') -> "void":
        """SetTorLib(OEOmegaOptions self, OETorLib argLib)"""
        return _oeomega.OEOmegaOptions_SetTorLib(self, argLib)


    def SetTorLibType(self, type: 'std::string const &') -> "void":
        """SetTorLibType(OEOmegaOptions self, std::string const & type)"""
        return _oeomega.OEOmegaOptions_SetTorLibType(self, type)

OEOmegaOptions_swigregister = _oeomega.OEOmegaOptions_swigregister
OEOmegaOptions_swigregister(OEOmegaOptions)


def OEGetOmegaError(code: 'unsigned int const') -> "std::string":
    """OEGetOmegaError(unsigned int const code) -> std::string"""
    return _oeomega.OEGetOmegaError(code)

def OEGetTorValues(torrule: 'OESubSearch', values: 'OEDoubleVector') -> "bool":
    """OEGetTorValues(OESubSearch torrule, OEDoubleVector values) -> bool"""
    return _oeomega.OEGetTorValues(torrule, values)
class OEOmegaBase(object):
    """Proxy of C++ OEConfGen::OEOmegaBase class."""

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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
OEOmegaBase_swigregister = _oeomega.OEOmegaBase_swigregister
OEOmegaBase_swigregister(OEOmegaBase)

class OEOmega(OEOmegaBase):
    """Proxy of C++ OEConfGen::OEOmega class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OEOmega self, oeistream torlib=None) -> OEOmega
        __init__(OEConfGen::OEOmega self) -> OEOmega
        __init__(OEConfGen::OEOmega self, OEOmegaOptions argOpts) -> OEOmega
        __init__(OEConfGen::OEOmega self, OEOmega arg2) -> OEOmega
        """
        this = _oeomega.new_OEOmega(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OEOmega
    __del__ = lambda self: None

    def SetOptions(self, argOpts: 'OEOmegaOptions') -> "void":
        """SetOptions(OEOmega self, OEOmegaOptions argOpts)"""
        return _oeomega.OEOmega_SetOptions(self, argOpts)


    def GetOptions(self) -> "OEConfGen::OEOmegaOptions const &":
        """GetOptions(OEOmega self) -> OEOmegaOptions"""
        return _oeomega.OEOmega_GetOptions(self)


    def __call__(self, mol: 'OEMCMolBase', fixed: 'OEUnaryAtomPred'=None) -> "bool":
        """
        __call__(OEOmega self, OEMCMolBase mol, OEUnaryAtomPred fixed=None) -> bool
        __call__(OEOmega self, OEMCMolBase mol) -> bool
        """
        return _oeomega.OEOmega___call__(self, mol, fixed)


    def IsValid(self):
      return _oeomega.OEOmega___nonzero__(self)



    def Build(self, mol: 'OEMCMolBase') -> "unsigned int":
        """Build(OEOmega self, OEMCMolBase mol) -> unsigned int"""
        return _oeomega.OEOmega_Build(self, mol)


    def AddFragLib(self, *args) -> "void":
        """
        AddFragLib(OEOmega self, std::string const & arg2)
        AddFragLib(OEOmega self, oeistream arg2)
        """
        return _oeomega.OEOmega_AddFragLib(self, *args)


    def ClearFragLibs(self) -> "void":
        """ClearFragLibs(OEOmega self)"""
        return _oeomega.OEOmega_ClearFragLibs(self)


    def GetCommentEnergy(self) -> "bool":
        """GetCommentEnergy(OEOmega self) -> bool"""
        return _oeomega.OEOmega_GetCommentEnergy(self)


    def GetIncludeInput(self) -> "bool":
        """GetIncludeInput(OEOmega self) -> bool"""
        return _oeomega.OEOmega_GetIncludeInput(self)


    def GetRotorOffset(self) -> "bool":
        """GetRotorOffset(OEOmega self) -> bool"""
        return _oeomega.OEOmega_GetRotorOffset(self)


    def GetSDEnergy(self) -> "bool":
        """GetSDEnergy(OEOmega self) -> bool"""
        return _oeomega.OEOmega_GetSDEnergy(self)


    def GetWarts(self) -> "bool":
        """GetWarts(OEOmega self) -> bool"""
        return _oeomega.OEOmega_GetWarts(self)


    def SetCommentEnergy(self, arg2: 'bool') -> "void":
        """SetCommentEnergy(OEOmega self, bool arg2)"""
        return _oeomega.OEOmega_SetCommentEnergy(self, arg2)


    def SetIncludeInput(self, arg2: 'bool') -> "void":
        """SetIncludeInput(OEOmega self, bool arg2)"""
        return _oeomega.OEOmega_SetIncludeInput(self, arg2)


    def SetRotorOffset(self, arg2: 'bool') -> "void":
        """SetRotorOffset(OEOmega self, bool arg2)"""
        return _oeomega.OEOmega_SetRotorOffset(self, arg2)


    def SetSDEnergy(self, arg2: 'bool') -> "void":
        """SetSDEnergy(OEOmega self, bool arg2)"""
        return _oeomega.OEOmega_SetSDEnergy(self, arg2)


    def SetWarts(self, arg2: 'bool') -> "void":
        """SetWarts(OEOmega self, bool arg2)"""
        return _oeomega.OEOmega_SetWarts(self, arg2)


    def GetBuildForceField(self) -> "std::string":
        """GetBuildForceField(OEOmega self) -> std::string"""
        return _oeomega.OEOmega_GetBuildForceField(self)


    def GetCanonOrder(self) -> "bool":
        """GetCanonOrder(OEOmega self) -> bool"""
        return _oeomega.OEOmega_GetCanonOrder(self)


    def GetFromCT(self) -> "bool":
        """GetFromCT(OEOmega self) -> bool"""
        return _oeomega.OEOmega_GetFromCT(self)


    def GetFixRMS(self) -> "double":
        """GetFixRMS(OEOmega self) -> double"""
        return _oeomega.OEOmega_GetFixRMS(self)


    def GetFixDeleteH(self) -> "bool":
        """GetFixDeleteH(OEOmega self) -> bool"""
        return _oeomega.OEOmega_GetFixDeleteH(self)


    def GetFixUniqueMatch(self) -> "bool":
        """GetFixUniqueMatch(OEOmega self) -> bool"""
        return _oeomega.OEOmega_GetFixUniqueMatch(self)


    def GetFixMaxMatch(self) -> "unsigned int":
        """GetFixMaxMatch(OEOmega self) -> unsigned int"""
        return _oeomega.OEOmega_GetFixMaxMatch(self)


    def SetBuildForceField(self, arg2: 'std::string const &') -> "bool":
        """SetBuildForceField(OEOmega self, std::string const & arg2) -> bool"""
        return _oeomega.OEOmega_SetBuildForceField(self, arg2)


    def SetCanonOrder(self, arg2: 'bool') -> "void":
        """SetCanonOrder(OEOmega self, bool arg2)"""
        return _oeomega.OEOmega_SetCanonOrder(self, arg2)


    def SetFromCT(self, arg2: 'bool') -> "void":
        """SetFromCT(OEOmega self, bool arg2)"""
        return _oeomega.OEOmega_SetFromCT(self, arg2)


    def SetFixRMS(self, arg2: 'double') -> "void":
        """SetFixRMS(OEOmega self, double arg2)"""
        return _oeomega.OEOmega_SetFixRMS(self, arg2)


    def SetFixDeleteH(self, arg2: 'bool') -> "void":
        """SetFixDeleteH(OEOmega self, bool arg2)"""
        return _oeomega.OEOmega_SetFixDeleteH(self, arg2)


    def SetFixUniqueMatch(self, arg2: 'bool') -> "void":
        """SetFixUniqueMatch(OEOmega self, bool arg2)"""
        return _oeomega.OEOmega_SetFixUniqueMatch(self, arg2)


    def SetFixMaxMatch(self, arg2: 'unsigned int') -> "void":
        """SetFixMaxMatch(OEOmega self, unsigned int arg2)"""
        return _oeomega.OEOmega_SetFixMaxMatch(self, arg2)


    def UseStrictAtomTypes(self, strict: 'bool'=True) -> "void":
        """
        UseStrictAtomTypes(OEOmega self, bool strict=True)
        UseStrictAtomTypes(OEOmega self)
        """
        return _oeomega.OEOmega_UseStrictAtomTypes(self, strict)


    def SetStrictAtomTypes(self, strict: 'bool'=True) -> "void":
        """
        SetStrictAtomTypes(OEOmega self, bool strict=True)
        SetStrictAtomTypes(OEOmega self)
        """
        return _oeomega.OEOmega_SetStrictAtomTypes(self, strict)


    def SetStrictStereo(self, strict: 'bool'=True) -> "void":
        """
        SetStrictStereo(OEOmega self, bool strict=True)
        SetStrictStereo(OEOmega self)
        """
        return _oeomega.OEOmega_SetStrictStereo(self, strict)


    def SetStrictFrags(self, strict: 'bool'=True) -> "void":
        """
        SetStrictFrags(OEOmega self, bool strict=True)
        SetStrictFrags(OEOmega self)
        """
        return _oeomega.OEOmega_SetStrictFrags(self, strict)


    def GetStrictAtomTypes(self) -> "bool":
        """GetStrictAtomTypes(OEOmega self) -> bool"""
        return _oeomega.OEOmega_GetStrictAtomTypes(self)


    def GetStrictStereo(self) -> "bool":
        """GetStrictStereo(OEOmega self) -> bool"""
        return _oeomega.OEOmega_GetStrictStereo(self)


    def GetStrictFrags(self) -> "bool":
        """GetStrictFrags(OEOmega self) -> bool"""
        return _oeomega.OEOmega_GetStrictFrags(self)


    def GetEnumNitrogen(self) -> "unsigned int":
        """GetEnumNitrogen(OEOmega self) -> unsigned int"""
        return _oeomega.OEOmega_GetEnumNitrogen(self)


    def GetEnumRing(self) -> "bool":
        """GetEnumRing(OEOmega self) -> bool"""
        return _oeomega.OEOmega_GetEnumRing(self)


    def GetSampleHydrogens(self) -> "bool":
        """GetSampleHydrogens(OEOmega self) -> bool"""
        return _oeomega.OEOmega_GetSampleHydrogens(self)


    def SetEnumNitrogen(self, arg2: 'unsigned int') -> "void":
        """SetEnumNitrogen(OEOmega self, unsigned int arg2)"""
        return _oeomega.OEOmega_SetEnumNitrogen(self, arg2)


    def SetEnumRing(self, arg2: 'bool') -> "void":
        """SetEnumRing(OEOmega self, bool arg2)"""
        return _oeomega.OEOmega_SetEnumRing(self, arg2)


    def SetSampleHydrogens(self, arg2: 'bool') -> "void":
        """SetSampleHydrogens(OEOmega self, bool arg2)"""
        return _oeomega.OEOmega_SetSampleHydrogens(self, arg2)


    def GetEnergyWindow(self) -> "double":
        """GetEnergyWindow(OEOmega self) -> double"""
        return _oeomega.OEOmega_GetEnergyWindow(self)


    def GetEnergyRange(self) -> "std::vector< double,std::allocator< double > >":
        """GetEnergyRange(OEOmega self) -> OEDoubleVector"""
        return _oeomega.OEOmega_GetEnergyRange(self)


    def GetMaxConfs(self) -> "unsigned int":
        """GetMaxConfs(OEOmega self) -> unsigned int"""
        return _oeomega.OEOmega_GetMaxConfs(self)


    def GetMaxConfRange(self) -> "std::vector< unsigned int,std::allocator< unsigned int > >":
        """GetMaxConfRange(OEOmega self) -> OEUIntVector"""
        return _oeomega.OEOmega_GetMaxConfRange(self)


    def GetMaxRotors(self) -> "int":
        """GetMaxRotors(OEOmega self) -> int"""
        return _oeomega.OEOmega_GetMaxRotors(self)


    def GetMaxSearchTime(self) -> "double":
        """GetMaxSearchTime(OEOmega self) -> double"""
        return _oeomega.OEOmega_GetMaxSearchTime(self)


    def GetRangeIncrement(self) -> "unsigned int":
        """GetRangeIncrement(OEOmega self) -> unsigned int"""
        return _oeomega.OEOmega_GetRangeIncrement(self)


    def GetRMSRange(self) -> "std::vector< double,std::allocator< double > >":
        """GetRMSRange(OEOmega self) -> OEDoubleVector"""
        return _oeomega.OEOmega_GetRMSRange(self)


    def GetRMSThreshold(self) -> "double":
        """GetRMSThreshold(OEOmega self) -> double"""
        return _oeomega.OEOmega_GetRMSThreshold(self)


    def GetSearchForceField(self) -> "std::string":
        """GetSearchForceField(OEOmega self) -> std::string"""
        return _oeomega.OEOmega_GetSearchForceField(self)


    def GetTorsionDrive(self) -> "bool":
        """GetTorsionDrive(OEOmega self) -> bool"""
        return _oeomega.OEOmega_GetTorsionDrive(self)


    def GetDielectric(self) -> "double":
        """GetDielectric(OEOmega self) -> double"""
        return _oeomega.OEOmega_GetDielectric(self)


    def GetExponent(self) -> "double":
        """GetExponent(OEOmega self) -> double"""
        return _oeomega.OEOmega_GetExponent(self)


    def SetEnergyWindow(self, arg2: 'double') -> "void":
        """SetEnergyWindow(OEOmega self, double arg2)"""
        return _oeomega.OEOmega_SetEnergyWindow(self, arg2)


    def SetEnergyRange(self, *args) -> "bool":
        """
        SetEnergyRange(OEOmega self, OEDoubleVector arg2)
        SetEnergyRange(OEOmega self, std::string const & rangeString) -> bool
        """
        return _oeomega.OEOmega_SetEnergyRange(self, *args)


    def SetMaxConfs(self, arg2: 'unsigned int') -> "bool":
        """SetMaxConfs(OEOmega self, unsigned int arg2) -> bool"""
        return _oeomega.OEOmega_SetMaxConfs(self, arg2)


    def SetMaxConfRange(self, *args) -> "bool":
        """
        SetMaxConfRange(OEOmega self, OEUIntVector arg2)
        SetMaxConfRange(OEOmega self, std::string const & rangeString) -> bool
        """
        return _oeomega.OEOmega_SetMaxConfRange(self, *args)


    def SetMaxRotors(self, arg2: 'int') -> "void":
        """SetMaxRotors(OEOmega self, int arg2)"""
        return _oeomega.OEOmega_SetMaxRotors(self, arg2)


    def SetMaxSearchTime(self, arg2: 'double') -> "void":
        """SetMaxSearchTime(OEOmega self, double arg2)"""
        return _oeomega.OEOmega_SetMaxSearchTime(self, arg2)


    def SetRangeIncrement(self, arg2: 'unsigned int') -> "void":
        """SetRangeIncrement(OEOmega self, unsigned int arg2)"""
        return _oeomega.OEOmega_SetRangeIncrement(self, arg2)


    def SetRMSRange(self, *args) -> "bool":
        """
        SetRMSRange(OEOmega self, OEDoubleVector arg2)
        SetRMSRange(OEOmega self, std::string const & rangeString) -> bool
        """
        return _oeomega.OEOmega_SetRMSRange(self, *args)


    def SetRMSThreshold(self, arg2: 'double') -> "void":
        """SetRMSThreshold(OEOmega self, double arg2)"""
        return _oeomega.OEOmega_SetRMSThreshold(self, arg2)


    def SetSearchForceField(self, arg2: 'std::string const &') -> "bool":
        """SetSearchForceField(OEOmega self, std::string const & arg2) -> bool"""
        return _oeomega.OEOmega_SetSearchForceField(self, arg2)


    def SetTorsionDrive(self, arg2: 'bool') -> "void":
        """SetTorsionDrive(OEOmega self, bool arg2)"""
        return _oeomega.OEOmega_SetTorsionDrive(self, arg2)


    def SetDielectric(self, dielectric: 'double') -> "void":
        """SetDielectric(OEOmega self, double dielectric)"""
        return _oeomega.OEOmega_SetDielectric(self, dielectric)


    def SetExponent(self, exponent: 'double') -> "void":
        """SetExponent(OEOmega self, double exponent)"""
        return _oeomega.OEOmega_SetExponent(self, exponent)


    def GetFixMol(self) -> "OEChem::OEMolBase const &":
        """GetFixMol(OEOmega self) -> OEMolBase"""
        return _oeomega.OEOmega_GetFixMol(self)


    def GetFixSubSearch(self) -> "OEChem::OESubSearch":
        """GetFixSubSearch(OEOmega self) -> OESubSearch"""
        return _oeomega.OEOmega_GetFixSubSearch(self)


    def ClearFixFile(self) -> "void":
        """ClearFixFile(OEOmega self)"""
        return _oeomega.OEOmega_ClearFixFile(self)


    def SetFixFile(self, *args) -> "void":
        """
        SetFixFile(OEOmega self, oemolistream arg2, unsigned int aopts, unsigned int bopts)
        SetFixFile(OEOmega self, oemolistream arg2, unsigned int aopts)
        SetFixFile(OEOmega self, oemolistream arg2)
        """
        return _oeomega.OEOmega_SetFixFile(self, *args)


    def SetFixMol(self, *args) -> "void":
        """
        SetFixMol(OEOmega self, OEMolBase arg2, unsigned int aopts, unsigned int bopts)
        SetFixMol(OEOmega self, OEMolBase arg2, unsigned int aopts)
        SetFixMol(OEOmega self, OEMolBase arg2)
        """
        return _oeomega.OEOmega_SetFixMol(self, *args)


    def SetFixQuery(self, arg2: 'OESubSearch') -> "void":
        """SetFixQuery(OEOmega self, OESubSearch arg2)"""
        return _oeomega.OEOmega_SetFixQuery(self, arg2)


    def SetFixSmarts(self, arg2: 'std::string const &') -> "void":
        """SetFixSmarts(OEOmega self, std::string const & arg2)"""
        return _oeomega.OEOmega_SetFixSmarts(self, arg2)


    def SetRotorPredicate(self, pred: 'OEUnaryBondPred') -> "void":
        """SetRotorPredicate(OEOmega self, OEUnaryBondPred pred)"""
        return _oeomega.OEOmega_SetRotorPredicate(self, pred)


    def SetTorsionLibrary(self, *args) -> "void":
        """
        SetTorsionLibrary(OEOmega self, std::string const & arg2)
        SetTorsionLibrary(OEOmega self, oeistream arg2)
        """
        return _oeomega.OEOmega_SetTorsionLibrary(self, *args)


    def GetTorLib(self, *args) -> "OEConfGen::OETorLib const &":
        """
        GetTorLib(OEOmega self) -> OETorLib
        GetTorLib(OEOmega self) -> OETorLib
        """
        return _oeomega.OEOmega_GetTorLib(self, *args)


    def SetTorLib(self, torlib: 'OETorLib') -> "bool":
        """SetTorLib(OEOmega self, OETorLib torlib) -> bool"""
        return _oeomega.OEOmega_SetTorLib(self, torlib)


    def SetTorLibType(self, type: 'std::string const &') -> "bool":
        """SetTorLibType(OEOmega self, std::string const & type) -> bool"""
        return _oeomega.OEOmega_SetTorLibType(self, type)


    def GetMaxConfGen(self) -> "unsigned int":
        """GetMaxConfGen(OEOmega self) -> unsigned int"""
        return _oeomega.OEOmega_GetMaxConfGen(self)


    def GetMaxPoolSize(self) -> "unsigned int":
        """GetMaxPoolSize(OEOmega self) -> unsigned int"""
        return _oeomega.OEOmega_GetMaxPoolSize(self)


    def SetMaxConfGen(self, arg2: 'unsigned int') -> "void":
        """SetMaxConfGen(OEOmega self, unsigned int arg2)"""
        return _oeomega.OEOmega_SetMaxConfGen(self, arg2)


    def SetMaxPoolSize(self, arg2: 'unsigned int') -> "void":
        """SetMaxPoolSize(OEOmega self, unsigned int arg2)"""
        return _oeomega.OEOmega_SetMaxPoolSize(self, arg2)

OEOmega_swigregister = _oeomega.OEOmega_swigregister
OEOmega_swigregister(OEOmega)

class OEConformerBuilder(OEOmegaBase):
    """Proxy of C++ OEConfGen::OEConformerBuilder class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OEConformerBuilder self) -> OEConformerBuilder
        __init__(OEConfGen::OEConformerBuilder self, OEConformerBuilder arg2) -> OEConformerBuilder
        """
        this = _oeomega.new_OEConformerBuilder(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OEConformerBuilder
    __del__ = lambda self: None

    def Build(self, *args) -> "unsigned int":
        """
        Build(OEConformerBuilder self, OEMolBase mol) -> unsigned int
        Build(OEConformerBuilder self, OEMCMolBase mol) -> unsigned int
        """
        return _oeomega.OEConformerBuilder_Build(self, *args)

OEConformerBuilder_swigregister = _oeomega.OEConformerBuilder_swigregister
OEConformerBuilder_swigregister(OEConformerBuilder)


def OEAddGlobalFragLib(fraglib_filename: 'std::string const &', replace: 'bool'=True) -> "bool":
    """
    OEAddGlobalFragLib(std::string const & fraglib_filename, bool replace=True) -> bool
    OEAddGlobalFragLib(std::string const & fraglib_filename) -> bool
    """
    return _oeomega.OEAddGlobalFragLib(fraglib_filename, replace)

def OEClearGlobalFragLib() -> "void":
    """OEClearGlobalFragLib()"""
    return _oeomega.OEClearGlobalFragLib()

def OEOmegaGetLibraryRelease() -> "char const *":
    """OEOmegaGetLibraryRelease() -> char const *"""
    return _oeomega.OEOmegaGetLibraryRelease()

def OEOmegaGetLibraryVersion() -> "unsigned int":
    """OEOmegaGetLibraryVersion() -> unsigned int"""
    return _oeomega.OEOmegaGetLibraryVersion()

def OEOmegaIsGPUReady() -> "bool":
    """OEOmegaIsGPUReady() -> bool"""
    return _oeomega.OEOmegaIsGPUReady()

def OEFlipper(*args) -> "OESystem::OEIterBase< OEChem::OEMolBase > *":
    """
    OEFlipper(OEMolBase mol, unsigned int maxcenters=12, bool forceFlip=False, bool enumNitrogen=False, bool warts=False) -> OESystem::OEIterBase< OEChem::OEMolBase >
    OEFlipper(OEMolBase mol, unsigned int maxcenters=12, bool forceFlip=False, bool enumNitrogen=False) -> OESystem::OEIterBase< OEChem::OEMolBase >
    OEFlipper(OEMolBase mol, unsigned int maxcenters=12, bool forceFlip=False) -> OESystem::OEIterBase< OEChem::OEMolBase >
    OEFlipper(OEMolBase mol, unsigned int maxcenters=12) -> OESystem::OEIterBase< OEChem::OEMolBase >
    OEFlipper(OEMolBase mol) -> OESystem::OEIterBase< OEChem::OEMolBase >
    OEFlipper(OEMCMolBase mol, unsigned int maxcenters=12, bool forceFlip=False, bool enumNitrogen=False, bool warts=False) -> OESystem::OEIterBase< OEChem::OEMolBase >
    OEFlipper(OEMCMolBase mol, unsigned int maxcenters=12, bool forceFlip=False, bool enumNitrogen=False) -> OESystem::OEIterBase< OEChem::OEMolBase >
    OEFlipper(OEMCMolBase mol, unsigned int maxcenters=12, bool forceFlip=False) -> OESystem::OEIterBase< OEChem::OEMolBase >
    OEFlipper(OEMCMolBase mol, unsigned int maxcenters=12) -> OESystem::OEIterBase< OEChem::OEMolBase >
    OEFlipper(OEMCMolBase mol) -> OESystem::OEIterBase< OEChem::OEMolBase > *
    """
    return _oeomega.OEFlipper(*args)
class OEBuilderBase(object):
    """Proxy of C++ OEConfGen::OEBuilderBase class."""

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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    def AddFragLib(self, *args) -> "bool":
        """
        AddFragLib(OEBuilderBase self) -> bool
        AddFragLib(OEBuilderBase self, std::string const & arg2) -> bool
        AddFragLib(OEBuilderBase self, oeistream arg2) -> bool
        """
        return _oeomega.OEBuilderBase_AddFragLib(self, *args)


    def ClearFragLibs(self) -> "void":
        """ClearFragLibs(OEBuilderBase self)"""
        return _oeomega.OEBuilderBase_ClearFragLibs(self)

OEBuilderBase_swigregister = _oeomega.OEBuilderBase_swigregister
OEBuilderBase_swigregister(OEBuilderBase)

class OEMolBuilder(OEBuilderBase):
    """Proxy of C++ OEConfGen::OEMolBuilder class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OEMolBuilder self, OEMolBuilderOptions argOpts) -> OEMolBuilder
        __init__(OEConfGen::OEMolBuilder self) -> OEMolBuilder
        __init__(OEConfGen::OEMolBuilder self, OEMolBuilder arg2) -> OEMolBuilder
        """
        this = _oeomega.new_OEMolBuilder(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OEMolBuilder
    __del__ = lambda self: None

    def SetOptions(self, argOpts: 'OEMolBuilderOptions') -> "void":
        """SetOptions(OEMolBuilder self, OEMolBuilderOptions argOpts)"""
        return _oeomega.OEMolBuilder_SetOptions(self, argOpts)


    def GetOptions(self) -> "OEConfGen::OEMolBuilderOptions const &":
        """GetOptions(OEMolBuilder self) -> OEMolBuilderOptions"""
        return _oeomega.OEMolBuilder_GetOptions(self)


    def Build(self, *args) -> "unsigned int":
        """
        Build(OEMolBuilder self, OEMCMolBase mol, OEConfFixOptions fixOpts) -> unsigned int
        Build(OEMolBuilder self, OEMCMolBase mol) -> unsigned int
        """
        return _oeomega.OEMolBuilder_Build(self, *args)


    def Prep(self, mol: 'OEMCMolBase') -> "unsigned int":
        """Prep(OEMolBuilder self, OEMCMolBase mol) -> unsigned int"""
        return _oeomega.OEMolBuilder_Prep(self, mol)

OEMolBuilder_swigregister = _oeomega.OEMolBuilder_swigregister
OEMolBuilder_swigregister(OEMolBuilder)

class OEMakeFragLib(OEBuilderBase):
    """Proxy of C++ OEConfGen::OEMakeFragLib class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OEMakeFragLib self, OEFragBuilderOptions argOpts) -> OEMakeFragLib
        __init__(OEConfGen::OEMakeFragLib self) -> OEMakeFragLib
        __init__(OEConfGen::OEMakeFragLib self, OEMakeFragLib arg2) -> OEMakeFragLib
        """
        this = _oeomega.new_OEMakeFragLib(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OEMakeFragLib
    __del__ = lambda self: None

    def GenerateMissingFrags(self, *args) -> "void":
        """
        GenerateMissingFrags(OEMakeFragLib self, oemolistream infile, oemolostream outfile)
        GenerateMissingFrags(OEMakeFragLib self, OEMolBase mol, oemolostream outfile)
        """
        return _oeomega.OEMakeFragLib_GenerateMissingFrags(self, *args)


    def GetMissingFrags(self, *args) -> "OESystem::OEIterBase< OEChem::OEMCMolBase > *":
        """
        GetMissingFrags(OEMakeFragLib self, oemolistream infile) -> OESystem::OEIterBase< OEChem::OEMCMolBase >
        GetMissingFrags(OEMakeFragLib self, OEMolBase mol) -> OESystem::OEIterBase< OEChem::OEMCMolBase > *
        """
        return _oeomega.OEMakeFragLib_GetMissingFrags(self, *args)


    def AddFrag(self, arg2: 'OEMCMolBase') -> "void":
        """AddFrag(OEMakeFragLib self, OEMCMolBase arg2)"""
        return _oeomega.OEMakeFragLib_AddFrag(self, arg2)

OEMakeFragLib_swigregister = _oeomega.OEMakeFragLib_swigregister
OEMakeFragLib_swigregister(OEMakeFragLib)

class OEFragBuilder(object):
    """Proxy of C++ OEConfGen::OEFragBuilder class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OEFragBuilder self, OEFragBuilderOptions argOpts) -> OEFragBuilder
        __init__(OEConfGen::OEFragBuilder self) -> OEFragBuilder
        __init__(OEConfGen::OEFragBuilder self, OEFragBuilder arg2) -> OEFragBuilder
        """
        this = _oeomega.new_OEFragBuilder(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OEFragBuilder
    __del__ = lambda self: None

    def SetOptions(self, argOpts: 'OEFragBuilderOptions') -> "void":
        """SetOptions(OEFragBuilder self, OEFragBuilderOptions argOpts)"""
        return _oeomega.OEFragBuilder_SetOptions(self, argOpts)


    def GetOptions(self) -> "OEConfGen::OEFragBuilderOptions const &":
        """GetOptions(OEFragBuilder self) -> OEFragBuilderOptions"""
        return _oeomega.OEFragBuilder_GetOptions(self)


    def SetForceField(self, argFF: 'OEMolPotential::OEForceField &') -> "void":
        """SetForceField(OEFragBuilder self, OEMolPotential::OEForceField & argFF)"""
        return _oeomega.OEFragBuilder_SetForceField(self, argFF)


    def GetForceField(self) -> "OEMolPotential::OEForceField const &":
        """GetForceField(OEFragBuilder self) -> OEMolPotential::OEForceField const &"""
        return _oeomega.OEFragBuilder_GetForceField(self)


    def Build(self, mol: 'OEMCMolBase') -> "unsigned int":
        """Build(OEFragBuilder self, OEMCMolBase mol) -> unsigned int"""
        return _oeomega.OEFragBuilder_Build(self, mol)

OEFragBuilder_swigregister = _oeomega.OEFragBuilder_swigregister
OEFragBuilder_swigregister(OEFragBuilder)


def OEIsMacrocycle(mol: 'OEMolBase', minSize: 'unsigned int const'=10) -> "bool":
    """
    OEIsMacrocycle(OEMolBase mol, unsigned int const minSize=10) -> bool
    OEIsMacrocycle(OEMolBase mol) -> bool
    """
    return _oeomega.OEIsMacrocycle(mol, minSize)
class OEMacrocycleBuilderOptions(oechem.OEOptions):
    """Proxy of C++ OEConfGen::OEMacrocycleBuilderOptions class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OEMacrocycleBuilderOptions self) -> OEMacrocycleBuilderOptions
        __init__(OEConfGen::OEMacrocycleBuilderOptions self, OEMacrocycleBuilderOptions arg2) -> OEMacrocycleBuilderOptions
        """
        this = _oeomega.new_OEMacrocycleBuilderOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OEMacrocycleBuilderOptions
    __del__ = lambda self: None

    def GetSkipRefinement(self) -> "bool":
        """GetSkipRefinement(OEMacrocycleBuilderOptions self) -> bool"""
        return _oeomega.OEMacrocycleBuilderOptions_GetSkipRefinement(self)


    def SetSkipRefinement(self, value: 'bool const') -> "bool":
        """SetSkipRefinement(OEMacrocycleBuilderOptions self, bool const value) -> bool"""
        return _oeomega.OEMacrocycleBuilderOptions_SetSkipRefinement(self, value)


    def GetRefTolerance(self) -> "double":
        """GetRefTolerance(OEMacrocycleBuilderOptions self) -> double"""
        return _oeomega.OEMacrocycleBuilderOptions_GetRefTolerance(self)


    def SetRefTolerance(self, value: 'double const') -> "bool":
        """SetRefTolerance(OEMacrocycleBuilderOptions self, double const value) -> bool"""
        return _oeomega.OEMacrocycleBuilderOptions_SetRefTolerance(self, value)


    def GetDielectricConst(self) -> "double":
        """GetDielectricConst(OEMacrocycleBuilderOptions self) -> double"""
        return _oeomega.OEMacrocycleBuilderOptions_GetDielectricConst(self)


    def SetDielectricConst(self, value: 'double const') -> "bool":
        """SetDielectricConst(OEMacrocycleBuilderOptions self, double const value) -> bool"""
        return _oeomega.OEMacrocycleBuilderOptions_SetDielectricConst(self, value)


    def GetRandomSeed(self) -> "unsigned int":
        """GetRandomSeed(OEMacrocycleBuilderOptions self) -> unsigned int"""
        return _oeomega.OEMacrocycleBuilderOptions_GetRandomSeed(self)


    def SetRandomSeed(self, value: 'unsigned int const') -> "bool":
        """SetRandomSeed(OEMacrocycleBuilderOptions self, unsigned int const value) -> bool"""
        return _oeomega.OEMacrocycleBuilderOptions_SetRandomSeed(self, value)


    def CreateCopy(self) -> "OEConfGen::OEMacrocycleBuilderOptions *":
        """CreateCopy(OEMacrocycleBuilderOptions self) -> OEMacrocycleBuilderOptions"""
        return _oeomega.OEMacrocycleBuilderOptions_CreateCopy(self)

OEMacrocycleBuilderOptions_swigregister = _oeomega.OEMacrocycleBuilderOptions_swigregister
OEMacrocycleBuilderOptions_swigregister(OEMacrocycleBuilderOptions)

class OEMacrocycleOmegaOptions(oechem.OEOptions):
    """Proxy of C++ OEConfGen::OEMacrocycleOmegaOptions class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OEMacrocycleOmegaOptions self) -> OEMacrocycleOmegaOptions
        __init__(OEConfGen::OEMacrocycleOmegaOptions self, OEMacrocycleOmegaOptions arg2) -> OEMacrocycleOmegaOptions
        """
        this = _oeomega.new_OEMacrocycleOmegaOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OEMacrocycleOmegaOptions
    __del__ = lambda self: None

    def GetIterCycleSize(self) -> "unsigned int":
        """GetIterCycleSize(OEMacrocycleOmegaOptions self) -> unsigned int"""
        return _oeomega.OEMacrocycleOmegaOptions_GetIterCycleSize(self)


    def SetIterCycleSize(self, value: 'unsigned int const') -> "bool":
        """SetIterCycleSize(OEMacrocycleOmegaOptions self, unsigned int const value) -> bool"""
        return _oeomega.OEMacrocycleOmegaOptions_SetIterCycleSize(self, value)


    def GetMaxIter(self) -> "unsigned int":
        """GetMaxIter(OEMacrocycleOmegaOptions self) -> unsigned int"""
        return _oeomega.OEMacrocycleOmegaOptions_GetMaxIter(self)


    def SetMaxIter(self, value: 'unsigned int const') -> "bool":
        """SetMaxIter(OEMacrocycleOmegaOptions self, unsigned int const value) -> bool"""
        return _oeomega.OEMacrocycleOmegaOptions_SetMaxIter(self, value)


    def SetMacrocycleBuilderOptions(self, opts: 'OEMacrocycleBuilderOptions') -> "void":
        """SetMacrocycleBuilderOptions(OEMacrocycleOmegaOptions self, OEMacrocycleBuilderOptions opts)"""
        return _oeomega.OEMacrocycleOmegaOptions_SetMacrocycleBuilderOptions(self, opts)


    def GetMacrocycleBuilderOptions(self, *args) -> "OEConfGen::OEMacrocycleBuilderOptions const &":
        """
        GetMacrocycleBuilderOptions(OEMacrocycleOmegaOptions self) -> OEMacrocycleBuilderOptions
        GetMacrocycleBuilderOptions(OEMacrocycleOmegaOptions self) -> OEMacrocycleBuilderOptions
        """
        return _oeomega.OEMacrocycleOmegaOptions_GetMacrocycleBuilderOptions(self, *args)


    def SetSliceEnsembleOptions(self, opts: 'OESliceEnsembleOptions') -> "void":
        """SetSliceEnsembleOptions(OEMacrocycleOmegaOptions self, OESliceEnsembleOptions opts)"""
        return _oeomega.OEMacrocycleOmegaOptions_SetSliceEnsembleOptions(self, opts)


    def GetSliceEnsembleOptions(self, *args) -> "OEConfGen::OESliceEnsembleOptions const &":
        """
        GetSliceEnsembleOptions(OEMacrocycleOmegaOptions self) -> OESliceEnsembleOptions
        GetSliceEnsembleOptions(OEMacrocycleOmegaOptions self) -> OESliceEnsembleOptions
        """
        return _oeomega.OEMacrocycleOmegaOptions_GetSliceEnsembleOptions(self, *args)


    def CreateCopy(self) -> "OEConfGen::OEMacrocycleOmegaOptions *":
        """CreateCopy(OEMacrocycleOmegaOptions self) -> OEMacrocycleOmegaOptions"""
        return _oeomega.OEMacrocycleOmegaOptions_CreateCopy(self)


    def GetMaxConfs(self) -> "unsigned int":
        """GetMaxConfs(OEMacrocycleOmegaOptions self) -> unsigned int"""
        return _oeomega.OEMacrocycleOmegaOptions_GetMaxConfs(self)


    def SetMaxConfs(self, value: 'unsigned int const') -> "bool":
        """SetMaxConfs(OEMacrocycleOmegaOptions self, unsigned int const value) -> bool"""
        return _oeomega.OEMacrocycleOmegaOptions_SetMaxConfs(self, value)


    def GetEnergyWindow(self) -> "double":
        """GetEnergyWindow(OEMacrocycleOmegaOptions self) -> double"""
        return _oeomega.OEMacrocycleOmegaOptions_GetEnergyWindow(self)


    def SetEnergyWindow(self, value: 'double const') -> "bool":
        """SetEnergyWindow(OEMacrocycleOmegaOptions self, double const value) -> bool"""
        return _oeomega.OEMacrocycleOmegaOptions_SetEnergyWindow(self, value)

OEMacrocycleOmegaOptions_swigregister = _oeomega.OEMacrocycleOmegaOptions_swigregister
OEMacrocycleOmegaOptions_swigregister(OEMacrocycleOmegaOptions)

class OEMacrocycleBuilder(object):
    """Proxy of C++ OEConfGen::OEMacrocycleBuilder class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OEMacrocycleBuilder self, OEMacrocycleBuilderOptions argOpts) -> OEMacrocycleBuilder
        __init__(OEConfGen::OEMacrocycleBuilder self) -> OEMacrocycleBuilder
        __init__(OEConfGen::OEMacrocycleBuilder self, OEMacrocycleBuilder arg2) -> OEMacrocycleBuilder
        """
        this = _oeomega.new_OEMacrocycleBuilder(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OEMacrocycleBuilder
    __del__ = lambda self: None

    def SetOptions(self, argOpts: 'OEMacrocycleBuilderOptions') -> "void":
        """SetOptions(OEMacrocycleBuilder self, OEMacrocycleBuilderOptions argOpts)"""
        return _oeomega.OEMacrocycleBuilder_SetOptions(self, argOpts)


    def GetOptions(self, *args) -> "OEConfGen::OEMacrocycleBuilderOptions &":
        """
        GetOptions(OEMacrocycleBuilder self) -> OEMacrocycleBuilderOptions
        GetOptions(OEMacrocycleBuilder self) -> OEMacrocycleBuilderOptions
        """
        return _oeomega.OEMacrocycleBuilder_GetOptions(self, *args)


    def Build(self, *args) -> "unsigned int":
        """
        Build(OEMacrocycleBuilder self, OEMolBase mol) -> unsigned int
        Build(OEMacrocycleBuilder self, OEMCMolBase mol) -> unsigned int
        """
        return _oeomega.OEMacrocycleBuilder_Build(self, *args)


    def Prep(self, mol: 'OEMolBase') -> "unsigned int":
        """Prep(OEMacrocycleBuilder self, OEMolBase mol) -> unsigned int"""
        return _oeomega.OEMacrocycleBuilder_Prep(self, mol)

OEMacrocycleBuilder_swigregister = _oeomega.OEMacrocycleBuilder_swigregister
OEMacrocycleBuilder_swigregister(OEMacrocycleBuilder)

class OEMacrocycleOmega(object):
    """Proxy of C++ OEConfGen::OEMacrocycleOmega class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OEMacrocycleOmega self, OEMacrocycleOmegaOptions argOpts) -> OEMacrocycleOmega
        __init__(OEConfGen::OEMacrocycleOmega self) -> OEMacrocycleOmega
        __init__(OEConfGen::OEMacrocycleOmega self, OEMacrocycleOmega arg2) -> OEMacrocycleOmega
        """
        this = _oeomega.new_OEMacrocycleOmega(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OEMacrocycleOmega
    __del__ = lambda self: None

    def SetOptions(self, argOpts: 'OEMacrocycleOmegaOptions') -> "void":
        """SetOptions(OEMacrocycleOmega self, OEMacrocycleOmegaOptions argOpts)"""
        return _oeomega.OEMacrocycleOmega_SetOptions(self, argOpts)


    def GetOptions(self) -> "OEConfGen::OEMacrocycleOmegaOptions const &":
        """GetOptions(OEMacrocycleOmega self) -> OEMacrocycleOmegaOptions"""
        return _oeomega.OEMacrocycleOmega_GetOptions(self)


    def Build(self, mol: 'OEMCMolBase') -> "unsigned int":
        """Build(OEMacrocycleOmega self, OEMCMolBase mol) -> unsigned int"""
        return _oeomega.OEMacrocycleOmega_Build(self, mol)

OEMacrocycleOmega_swigregister = _oeomega.OEMacrocycleOmega_swigregister
OEMacrocycleOmega_swigregister(OEMacrocycleOmega)

class OEConfSlicer(object):
    """Proxy of C++ OEConfGen::OEConfSlicer class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OEConfSlicer self, OESliceEnsembleOptions opts) -> OEConfSlicer
        __init__(OEConfGen::OEConfSlicer self) -> OEConfSlicer
        """
        this = _oeomega.new_OEConfSlicer(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OEConfSlicer
    __del__ = lambda self: None

    def Slice(self, mol: 'OEMCMolBase') -> "bool":
        """Slice(OEConfSlicer self, OEMCMolBase mol) -> bool"""
        return _oeomega.OEConfSlicer_Slice(self, mol)

OEConfSlicer_swigregister = _oeomega.OEConfSlicer_swigregister
OEConfSlicer_swigregister(OEConfSlicer)


def OESliceEnsemble(*args) -> "bool":
    """
    OESliceEnsemble(OEMCMolBase argMol, double argRms, double argEWindow, unsigned int argMaxConfs) -> bool
    OESliceEnsemble(OEMCMolBase argMol, double argRms, double argEWindow) -> bool
    OESliceEnsemble(OEMCMolBase argMol, double argRms) -> bool
    OESliceEnsemble(OEMCMolBase argMol) -> bool
    OESliceEnsemble(OEMCMolBase argMol, OESliceEnsembleOptions argSlicerOpts) -> bool
    """
    return _oeomega.OESliceEnsemble(*args)
class OETorDriver(object):
    """Proxy of C++ OEConfGen::OETorDriver class."""

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

    def __init__(self, *args):
        """
        __init__(OEConfGen::OETorDriver self, OETorDriveOptions argTorOpts, OESliceEnsembleOptions argSlicerOpts) -> OETorDriver
        __init__(OEConfGen::OETorDriver self, OETorDriveOptions argTorOpts) -> OETorDriver
        __init__(OEConfGen::OETorDriver self) -> OETorDriver
        __init__(OEConfGen::OETorDriver self, OETorDriver rhs) -> OETorDriver
        """
        this = _oeomega.new_OETorDriver(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oeomega.delete_OETorDriver
    __del__ = lambda self: None

    def SetTorDriveOptions(self, argOpts: 'OETorDriveOptions') -> "void":
        """SetTorDriveOptions(OETorDriver self, OETorDriveOptions argOpts)"""
        return _oeomega.OETorDriver_SetTorDriveOptions(self, argOpts)


    def GetTorDriveOptions(self) -> "OEConfGen::OETorDriveOptions const &":
        """GetTorDriveOptions(OETorDriver self) -> OETorDriveOptions"""
        return _oeomega.OETorDriver_GetTorDriveOptions(self)


    def SetSliceEnsembleOptions(self, argOpts: 'OESliceEnsembleOptions') -> "void":
        """SetSliceEnsembleOptions(OETorDriver self, OESliceEnsembleOptions argOpts)"""
        return _oeomega.OETorDriver_SetSliceEnsembleOptions(self, argOpts)


    def GetSliceEnsembleOptions(self) -> "OEConfGen::OESliceEnsembleOptions const &":
        """GetSliceEnsembleOptions(OETorDriver self) -> OESliceEnsembleOptions"""
        return _oeomega.OETorDriver_GetSliceEnsembleOptions(self)


    def GenerateConfs(self, *args) -> "unsigned int":
        """
        GenerateConfs(OETorDriver self, OEMCMolBase argMol, OEConfFixOptions argOpts) -> unsigned int
        GenerateConfs(OETorDriver self, OEMCMolBase argMol) -> unsigned int
        """
        return _oeomega.OETorDriver_GenerateConfs(self, *args)

OETorDriver_swigregister = _oeomega.OETorDriver_swigregister
OETorDriver_swigregister(OETorDriver)


def CountNumRotors(mol: 'OEMolBase') -> "unsigned int":
    """CountNumRotors(OEMolBase mol) -> unsigned int"""
    return _oeomega.CountNumRotors(mol)
OE_OEOMEGA2_VERSION = _oeomega.OE_OEOMEGA2_VERSION

def OEOmegaGetRelease() -> "char const *":
    """OEOmegaGetRelease() -> char const *"""
    return _oeomega.OEOmegaGetRelease()

def OEOmegaGetVersion() -> "unsigned int":
    """OEOmegaGetVersion() -> unsigned int"""
    return _oeomega.OEOmegaGetVersion()

def OEOmegaGetArch() -> "char const *":
    """OEOmegaGetArch() -> char const *"""
    return _oeomega.OEOmegaGetArch()

def OEOmegaGetPlatform() -> "char const *":
    """OEOmegaGetPlatform() -> char const *"""
    return _oeomega.OEOmegaGetPlatform()

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

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

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


