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


using System;
using System.Runtime.InteropServices;

public class openbabel {
  public static void DoubleMultiply(uint arg0, uint arg1, DoubleType arg2) {
    openbabelPINVOKE.DoubleMultiply(arg0, arg1, DoubleType.getCPtr(arg2));
  }

  public static void DoubleAdd(DoubleType arg0, uint arg1) {
    openbabelPINVOKE.DoubleAdd(DoubleType.getCPtr(arg0), arg1);
  }

  public static uint DoubleModulus(DoubleType arg0, uint arg1) {
    uint ret = openbabelPINVOKE.DoubleModulus(DoubleType.getCPtr(arg0), arg1);
    return ret;
  }

  public static double dot(vector3 v1, vector3 v2) {
    double ret = openbabelPINVOKE.dot(vector3.getCPtr(v1), vector3.getCPtr(v2));
    if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static vector3 cross(vector3 arg0, vector3 arg1) {
    vector3 ret = new vector3(openbabelPINVOKE.cross(vector3.getCPtr(arg0), vector3.getCPtr(arg1)), true);
    if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static double vectorAngle(vector3 v1, vector3 v2) {
    double ret = openbabelPINVOKE.vectorAngle(vector3.getCPtr(v1), vector3.getCPtr(v2));
    if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static double CalcTorsionAngle(vector3 a, vector3 b, vector3 c, vector3 d) {
    double ret = openbabelPINVOKE.CalcTorsionAngle(vector3.getCPtr(a), vector3.getCPtr(b), vector3.getCPtr(c), vector3.getCPtr(d));
    if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static double Point2Plane(vector3 a, vector3 b, vector3 c, vector3 d) {
    double ret = openbabelPINVOKE.Point2Plane(vector3.getCPtr(a), vector3.getCPtr(b), vector3.getCPtr(c), vector3.getCPtr(d));
    if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static double Point2PlaneAngle(vector3 a, vector3 b, vector3 c, vector3 d) {
    double ret = openbabelPINVOKE.Point2PlaneAngle(vector3.getCPtr(a), vector3.getCPtr(b), vector3.getCPtr(c), vector3.getCPtr(d));
    if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static vector3 VZero {
    get {
      vector3 ret = new vector3(openbabelPINVOKE.VZero_get(), false);
      return ret;
    } 
  }

  public static vector3 VX {
    get {
      vector3 ret = new vector3(openbabelPINVOKE.VX_get(), false);
      return ret;
    } 
  }

  public static vector3 VY {
    get {
      vector3 ret = new vector3(openbabelPINVOKE.VY_get(), false);
      return ret;
    } 
  }

  public static vector3 VZ {
    get {
      vector3 ret = new vector3(openbabelPINVOKE.VZ_get(), false);
      return ret;
    } 
  }

  public static OBMessageHandler obErrorLog {
    set {
      openbabelPINVOKE.obErrorLog_set(OBMessageHandler.getCPtr(value));
      if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      OBMessageHandler ret = new OBMessageHandler(openbabelPINVOKE.obErrorLog_get(), false);
      if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public static SWIGTYPE_p_a_4__char Residue {
    set {
      openbabelPINVOKE.Residue_set(SWIGTYPE_p_a_4__char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = openbabelPINVOKE.Residue_get();
      SWIGTYPE_p_a_4__char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_a_4__char(cPtr, false);
      return ret;
    } 
  }

  public static SWIGTYPE_p_a_4__char ElemDesc {
    set {
      openbabelPINVOKE.ElemDesc_set(SWIGTYPE_p_a_4__char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = openbabelPINVOKE.ElemDesc_get();
      SWIGTYPE_p_a_4__char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_a_4__char(cPtr, false);
      return ret;
    } 
  }

  public static uint ResNo {
    set {
      openbabelPINVOKE.ResNo_set(value);
    } 
    get {
      uint ret = openbabelPINVOKE.ResNo_get();
      return ret;
    } 
  }

  public static uint ElemNo {
    set {
      openbabelPINVOKE.ElemNo_set(value);
    } 
    get {
      uint ret = openbabelPINVOKE.ElemNo_get();
      return ret;
    } 
  }

  public static void ThrowError(string str) {
    openbabelPINVOKE.ThrowError__SWIG_0(str);
  }

  public static void ThrowError(SWIGTYPE_p_std__string str) {
    openbabelPINVOKE.ThrowError__SWIG_1(SWIGTYPE_p_std__string.getCPtr(str));
    if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void CartesianToInternal(SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_t arg0, OBMol arg1) {
    openbabelPINVOKE.CartesianToInternal(SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_t.getCPtr(arg0), OBMol.getCPtr(arg1));
    if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void InternalToCartesian(SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_t arg0, OBMol arg1) {
    openbabelPINVOKE.InternalToCartesian(SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_t.getCPtr(arg0), OBMol.getCPtr(arg1));
    if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
  }

  public static string NewExtension(SWIGTYPE_p_std__string arg0, string arg1) {
    string ret = openbabelPINVOKE.NewExtension(SWIGTYPE_p_std__string.getCPtr(arg0), arg1);
    if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static OBElementTable etab {
    set {
      openbabelPINVOKE.etab_set(OBElementTable.getCPtr(value));
      if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      OBElementTable ret = new OBElementTable(openbabelPINVOKE.etab_get(), false);
      if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public static OBTypeTable ttab {
    set {
      openbabelPINVOKE.ttab_set(OBTypeTable.getCPtr(value));
      if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      OBTypeTable ret = new OBTypeTable(openbabelPINVOKE.ttab_get(), false);
      if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public static OBIsotopeTable isotab {
    set {
      openbabelPINVOKE.isotab_set(OBIsotopeTable.getCPtr(value));
      if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      OBIsotopeTable ret = new OBIsotopeTable(openbabelPINVOKE.isotab_get(), false);
      if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public static OBAromaticTyper aromtyper {
    set {
      openbabelPINVOKE.aromtyper_set(OBAromaticTyper.getCPtr(value));
      if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      OBAromaticTyper ret = new OBAromaticTyper(openbabelPINVOKE.aromtyper_get(), false);
      if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public static OBAtomTyper atomtyper {
    set {
      openbabelPINVOKE.atomtyper_set(OBAtomTyper.getCPtr(value));
      if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      OBAtomTyper ret = new OBAtomTyper(openbabelPINVOKE.atomtyper_get(), false);
      if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public static OBChainsParser chainsparser {
    set {
      openbabelPINVOKE.chainsparser_set(OBChainsParser.getCPtr(value));
      if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      OBChainsParser ret = new OBChainsParser(openbabelPINVOKE.chainsparser_get(), false);
      if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public static OBResidueData resdat {
    set {
      openbabelPINVOKE.resdat_set(OBResidueData.getCPtr(value));
      if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      OBResidueData ret = new OBResidueData(openbabelPINVOKE.resdat_get(), false);
      if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public static void get_rmat(SWIGTYPE_p_double arg0, SWIGTYPE_p_double arg1, SWIGTYPE_p_double arg2, int arg3) {
    openbabelPINVOKE.get_rmat(SWIGTYPE_p_double.getCPtr(arg0), SWIGTYPE_p_double.getCPtr(arg1), SWIGTYPE_p_double.getCPtr(arg2), arg3);
  }

  public static void ob_make_rmat(SWIGTYPE_p_a_3__double mat, SWIGTYPE_p_double rmat) {
    openbabelPINVOKE.ob_make_rmat(SWIGTYPE_p_a_3__double.getCPtr(mat), SWIGTYPE_p_double.getCPtr(rmat));
  }

  public static void qtrfit(SWIGTYPE_p_double r, SWIGTYPE_p_double f, int size, SWIGTYPE_p_a_3__double u) {
    openbabelPINVOKE.qtrfit(SWIGTYPE_p_double.getCPtr(r), SWIGTYPE_p_double.getCPtr(f), size, SWIGTYPE_p_a_3__double.getCPtr(u));
  }

  public static double superimpose(SWIGTYPE_p_double arg0, SWIGTYPE_p_double arg1, int arg2) {
    double ret = openbabelPINVOKE.superimpose(SWIGTYPE_p_double.getCPtr(arg0), SWIGTYPE_p_double.getCPtr(arg1), arg2);
    return ret;
  }

  public static bool CompareRingSize(OBRing arg0, OBRing arg1) {
    bool ret = openbabelPINVOKE.CompareRingSize(OBRing.getCPtr(arg0), OBRing.getCPtr(arg1));
    return ret;
  }

  public static void SmartsLexReplace(SWIGTYPE_p_std__string arg0, SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t arg1) {
    openbabelPINVOKE.SmartsLexReplace(SWIGTYPE_p_std__string.getCPtr(arg0), SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t.getCPtr(arg1));
    if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
  }

  public static uint AliasDataType {
    get {
      uint ret = openbabelPINVOKE.AliasDataType_get();
      return ret;
    } 
  }

  public static double Tanimoto(OBBitVec bv1, OBBitVec bv2) {
    double ret = openbabelPINVOKE.Tanimoto(OBBitVec.getCPtr(bv1), OBBitVec.getCPtr(bv2));
    if (openbabelPINVOKE.SWIGPendingException.Pending) throw openbabelPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static readonly double M_PI = openbabelPINVOKE.M_PI_get();
  public static readonly double RAD_TO_DEG = openbabelPINVOKE.RAD_TO_DEG_get();
  public static readonly double DEG_TO_RAD = openbabelPINVOKE.DEG_TO_RAD_get();
  public static readonly int UndefinedData = openbabelPINVOKE.UndefinedData_get();
  public static readonly int PairData = openbabelPINVOKE.PairData_get();
  public static readonly int EnergyData = openbabelPINVOKE.EnergyData_get();
  public static readonly int CommentData = openbabelPINVOKE.CommentData_get();
  public static readonly int ConformerData = openbabelPINVOKE.ConformerData_get();
  public static readonly int ExternalBondData = openbabelPINVOKE.ExternalBondData_get();
  public static readonly int RotamerList = openbabelPINVOKE.RotamerList_get();
  public static readonly int VirtualBondData = openbabelPINVOKE.VirtualBondData_get();
  public static readonly int RingData = openbabelPINVOKE.RingData_get();
  public static readonly int TorsionData = openbabelPINVOKE.TorsionData_get();
  public static readonly int AngleData = openbabelPINVOKE.AngleData_get();
  public static readonly int SerialNums = openbabelPINVOKE.SerialNums_get();
  public static readonly int UnitCell = openbabelPINVOKE.UnitCell_get();
  public static readonly int SpinData = openbabelPINVOKE.SpinData_get();
  public static readonly int ChargeData = openbabelPINVOKE.ChargeData_get();
  public static readonly int SymmetryData = openbabelPINVOKE.SymmetryData_get();
  public static readonly int ChiralData = openbabelPINVOKE.ChiralData_get();
  public static readonly int OccupationData = openbabelPINVOKE.OccupationData_get();
  public static readonly int DensityData = openbabelPINVOKE.DensityData_get();
  public static readonly int ElectronicData = openbabelPINVOKE.ElectronicData_get();
  public static readonly int VibrationData = openbabelPINVOKE.VibrationData_get();
  public static readonly int RotationData = openbabelPINVOKE.RotationData_get();
  public static readonly int NuclearData = openbabelPINVOKE.NuclearData_get();
  public static readonly int SetData = openbabelPINVOKE.SetData_get();
  public static readonly int GridData = openbabelPINVOKE.GridData_get();
  public static readonly int VectorData = openbabelPINVOKE.VectorData_get();
  public static readonly int MatrixData = openbabelPINVOKE.MatrixData_get();
  public static readonly int CustomData0 = openbabelPINVOKE.CustomData0_get();
  public static readonly int CustomData1 = openbabelPINVOKE.CustomData1_get();
  public static readonly int CustomData2 = openbabelPINVOKE.CustomData2_get();
  public static readonly int CustomData3 = openbabelPINVOKE.CustomData3_get();
  public static readonly int CustomData4 = openbabelPINVOKE.CustomData4_get();
  public static readonly int CustomData5 = openbabelPINVOKE.CustomData5_get();
  public static readonly int CustomData6 = openbabelPINVOKE.CustomData6_get();
  public static readonly int CustomData7 = openbabelPINVOKE.CustomData7_get();
  public static readonly int CustomData8 = openbabelPINVOKE.CustomData8_get();
  public static readonly int CustomData9 = openbabelPINVOKE.CustomData9_get();
  public static readonly int CustomData10 = openbabelPINVOKE.CustomData10_get();
  public static readonly int CustomData11 = openbabelPINVOKE.CustomData11_get();
  public static readonly int CustomData12 = openbabelPINVOKE.CustomData12_get();
  public static readonly int CustomData13 = openbabelPINVOKE.CustomData13_get();
  public static readonly int CustomData14 = openbabelPINVOKE.CustomData14_get();
  public static readonly int CustomData15 = openbabelPINVOKE.CustomData15_get();

  public static readonly int MaxMonoAtom = openbabelPINVOKE.MaxMonoAtom_get();
  public static readonly int MaxMonoBond = openbabelPINVOKE.MaxMonoBond_get();
  public static readonly int NOTREADABLE = openbabelPINVOKE.NOTREADABLE_get();
  public static readonly int READONEONLY = openbabelPINVOKE.READONEONLY_get();
  public static readonly int READBINARY = openbabelPINVOKE.READBINARY_get();
  public static readonly int ZEROATOMSOK = openbabelPINVOKE.ZEROATOMSOK_get();
  public static readonly int NOTWRITABLE = openbabelPINVOKE.NOTWRITABLE_get();
  public static readonly int WRITEONEONLY = openbabelPINVOKE.WRITEONEONLY_get();
  public static readonly int WRITEBINARY = openbabelPINVOKE.WRITEBINARY_get();
  public static readonly int READXML = openbabelPINVOKE.READXML_get();
  public static readonly int DEFAULTFORMAT = openbabelPINVOKE.DEFAULTFORMAT_get();
  public static readonly int MAXSETNO = openbabelPINVOKE.MAXSETNO_get();
  public static readonly int MAXELEM = openbabelPINVOKE.MAXELEM_get();
  public static readonly int MINELEM = openbabelPINVOKE.MINELEM_get();
  public static readonly int MAXRES = openbabelPINVOKE.MAXRES_get();
  public static readonly int MINRES = openbabelPINVOKE.MINRES_get();
  public static readonly int AA_ALA = openbabelPINVOKE.AA_ALA_get();
  public static readonly int AA_GLY = openbabelPINVOKE.AA_GLY_get();
  public static readonly int AA_LEU = openbabelPINVOKE.AA_LEU_get();
  public static readonly int AA_SER = openbabelPINVOKE.AA_SER_get();
  public static readonly int AA_VAL = openbabelPINVOKE.AA_VAL_get();
  public static readonly int AA_THR = openbabelPINVOKE.AA_THR_get();
  public static readonly int AA_LYS = openbabelPINVOKE.AA_LYS_get();
  public static readonly int AA_ASP = openbabelPINVOKE.AA_ASP_get();
  public static readonly int AA_ILE = openbabelPINVOKE.AA_ILE_get();
  public static readonly int AA_ASN = openbabelPINVOKE.AA_ASN_get();
  public static readonly int AA_GLU = openbabelPINVOKE.AA_GLU_get();
  public static readonly int AA_PRO = openbabelPINVOKE.AA_PRO_get();
  public static readonly int AA_ARG = openbabelPINVOKE.AA_ARG_get();
  public static readonly int AA_PHE = openbabelPINVOKE.AA_PHE_get();
  public static readonly int AA_GLN = openbabelPINVOKE.AA_GLN_get();
  public static readonly int AA_TYR = openbabelPINVOKE.AA_TYR_get();
  public static readonly int AA_HIS = openbabelPINVOKE.AA_HIS_get();
  public static readonly int AA_CYS = openbabelPINVOKE.AA_CYS_get();
  public static readonly int AA_MET = openbabelPINVOKE.AA_MET_get();
  public static readonly int AA_TRP = openbabelPINVOKE.AA_TRP_get();
  public static readonly int ACIDIC = openbabelPINVOKE.ACIDIC_get();
  public static readonly int ACYCLIC = openbabelPINVOKE.ACYCLIC_get();
  public static readonly int ALIPHATIC = openbabelPINVOKE.ALIPHATIC_get();
  public static readonly int AROMATIC = openbabelPINVOKE.AROMATIC_get();
  public static readonly int BASIC = openbabelPINVOKE.BASIC_get();
  public static readonly int BURIED = openbabelPINVOKE.BURIED_get();
  public static readonly int CHARGED = openbabelPINVOKE.CHARGED_get();
  public static readonly int CYCLIC = openbabelPINVOKE.CYCLIC_get();
  public static readonly int HYDROPHOBIC = openbabelPINVOKE.HYDROPHOBIC_get();
  public static readonly int LARGE = openbabelPINVOKE.LARGE_get();
  public static readonly int MEDIUM = openbabelPINVOKE.MEDIUM_get();
  public static readonly int NEGATIVE = openbabelPINVOKE.NEGATIVE_get();
  public static readonly int NEUTRAL = openbabelPINVOKE.NEUTRAL_get();
  public static readonly int POLAR = openbabelPINVOKE.POLAR_get();
  public static readonly int POSITIVE = openbabelPINVOKE.POSITIVE_get();
  public static readonly int SMALL = openbabelPINVOKE.SMALL_get();
  public static readonly int SURFACE = openbabelPINVOKE.SURFACE_get();

  public static readonly int ALPHA_CARBON = openbabelPINVOKE.ALPHA_CARBON_get();
  public static readonly int AMINO_BACKBONE = openbabelPINVOKE.AMINO_BACKBONE_get();
  public static readonly int BACKBONE = openbabelPINVOKE.BACKBONE_get();
  public static readonly int CYSTEINE_SULPHUR = openbabelPINVOKE.CYSTEINE_SULPHUR_get();
  public static readonly int LIGAND = openbabelPINVOKE.LIGAND_get();
  public static readonly int NUCLEIC_BACKBONE = openbabelPINVOKE.NUCLEIC_BACKBONE_get();
  public static readonly int SHAPELY_BACKBONE = openbabelPINVOKE.SHAPELY_BACKBONE_get();
  public static readonly int SHAPELY_SPECIAL = openbabelPINVOKE.SHAPELY_SPECIAL_get();
  public static readonly int SIDECHAIN = openbabelPINVOKE.SIDECHAIN_get();
  public static readonly int SUGAR_PHOSPHATE = openbabelPINVOKE.SUGAR_PHOSPHATE_get();

  public static readonly int ALA = openbabelPINVOKE.ALA_get();
  public static readonly int GLY = openbabelPINVOKE.GLY_get();
  public static readonly int LEU = openbabelPINVOKE.LEU_get();
  public static readonly int SER = openbabelPINVOKE.SER_get();
  public static readonly int VAL = openbabelPINVOKE.VAL_get();
  public static readonly int THR = openbabelPINVOKE.THR_get();
  public static readonly int LYS = openbabelPINVOKE.LYS_get();
  public static readonly int ASP = openbabelPINVOKE.ASP_get();
  public static readonly int ILE = openbabelPINVOKE.ILE_get();
  public static readonly int ASN = openbabelPINVOKE.ASN_get();
  public static readonly int GLU = openbabelPINVOKE.GLU_get();
  public static readonly int PRO = openbabelPINVOKE.PRO_get();
  public static readonly int ARG = openbabelPINVOKE.ARG_get();
  public static readonly int PHE = openbabelPINVOKE.PHE_get();
  public static readonly int GLN = openbabelPINVOKE.GLN_get();
  public static readonly int TYR = openbabelPINVOKE.TYR_get();
  public static readonly int HIS = openbabelPINVOKE.HIS_get();
  public static readonly int CYS = openbabelPINVOKE.CYS_get();
  public static readonly int MET = openbabelPINVOKE.MET_get();
  public static readonly int TRP = openbabelPINVOKE.TRP_get();
  public static readonly int ASX = openbabelPINVOKE.ASX_get();
  public static readonly int GLX = openbabelPINVOKE.GLX_get();
  public static readonly int PCA = openbabelPINVOKE.PCA_get();
  public static readonly int HYP = openbabelPINVOKE.HYP_get();
  public static readonly int A = openbabelPINVOKE.A_get();
  public static readonly int C = openbabelPINVOKE.C_get();
  public static readonly int G = openbabelPINVOKE.G_get();
  public static readonly int T = openbabelPINVOKE.T_get();
  public static readonly int U = openbabelPINVOKE.U_get();
  public static readonly int UPLUS = openbabelPINVOKE.UPLUS_get();
  public static readonly int I = openbabelPINVOKE.I_get();
  public static readonly int _1MA = openbabelPINVOKE._1MA_get();
  public static readonly int _5MC = openbabelPINVOKE._5MC_get();
  public static readonly int OMC = openbabelPINVOKE.OMC_get();
  public static readonly int _1MG = openbabelPINVOKE._1MG_get();
  public static readonly int _2MG = openbabelPINVOKE._2MG_get();
  public static readonly int M2G = openbabelPINVOKE.M2G_get();
  public static readonly int _7MG = openbabelPINVOKE._7MG_get();
  public static readonly int OMG = openbabelPINVOKE.OMG_get();
  public static readonly int YG = openbabelPINVOKE.YG_get();
  public static readonly int H2U = openbabelPINVOKE.H2U_get();
  public static readonly int _5MU = openbabelPINVOKE._5MU_get();
  public static readonly int PSU = openbabelPINVOKE.PSU_get();
  public static readonly int UNK = openbabelPINVOKE.UNK_get();
  public static readonly int ACE = openbabelPINVOKE.ACE_get();
  public static readonly int FOR = openbabelPINVOKE.FOR_get();
  public static readonly int HOH = openbabelPINVOKE.HOH_get();
  public static readonly int DOD = openbabelPINVOKE.DOD_get();
  public static readonly int SO4 = openbabelPINVOKE.SO4_get();
  public static readonly int PO4 = openbabelPINVOKE.PO4_get();
  public static readonly int NAD = openbabelPINVOKE.NAD_get();
  public static readonly int COA = openbabelPINVOKE.COA_get();
  public static readonly int NAP = openbabelPINVOKE.NAP_get();
  public static readonly int NDP = openbabelPINVOKE.NDP_get();

  public static readonly int AMINO = openbabelPINVOKE.AMINO_get();
  public static readonly int AMINO_NUCLEO = openbabelPINVOKE.AMINO_NUCLEO_get();
  public static readonly int COENZYME = openbabelPINVOKE.COENZYME_get();
  public static readonly int ION = openbabelPINVOKE.ION_get();
  public static readonly int NUCLEO = openbabelPINVOKE.NUCLEO_get();
  public static readonly int PROTEIN = openbabelPINVOKE.PROTEIN_get();
  public static readonly int PURINE = openbabelPINVOKE.PURINE_get();
  public static readonly int PYRIMIDINE = openbabelPINVOKE.PYRIMIDINE_get();
  public static readonly int SOLVENT = openbabelPINVOKE.SOLVENT_get();
  public static readonly int WATER = openbabelPINVOKE.WATER_get();

  public static readonly int OB_4RING_ATOM = openbabelPINVOKE.OB_4RING_ATOM_get();
  public static readonly int OB_3RING_ATOM = openbabelPINVOKE.OB_3RING_ATOM_get();
  public static readonly int OB_AROMATIC_ATOM = openbabelPINVOKE.OB_AROMATIC_ATOM_get();
  public static readonly int OB_RING_ATOM = openbabelPINVOKE.OB_RING_ATOM_get();
  public static readonly int OB_CSTEREO_ATOM = openbabelPINVOKE.OB_CSTEREO_ATOM_get();
  public static readonly int OB_ACSTEREO_ATOM = openbabelPINVOKE.OB_ACSTEREO_ATOM_get();
  public static readonly int OB_DONOR_ATOM = openbabelPINVOKE.OB_DONOR_ATOM_get();
  public static readonly int OB_ACCEPTOR_ATOM = openbabelPINVOKE.OB_ACCEPTOR_ATOM_get();
  public static readonly int OB_CHIRAL_ATOM = openbabelPINVOKE.OB_CHIRAL_ATOM_get();
  public static readonly int OB_POS_CHIRAL_ATOM = openbabelPINVOKE.OB_POS_CHIRAL_ATOM_get();
  public static readonly int OB_NEG_CHIRAL_ATOM = openbabelPINVOKE.OB_NEG_CHIRAL_ATOM_get();
  public static readonly int OB_ATOM_HAS_NO_H = openbabelPINVOKE.OB_ATOM_HAS_NO_H_get();
  public static readonly int OB_ATOM_NOT_H_DEFICIENT = openbabelPINVOKE.OB_ATOM_NOT_H_DEFICIENT_get();
  public static readonly int OB_AROMATIC_BOND = openbabelPINVOKE.OB_AROMATIC_BOND_get();
  public static readonly int OB_WEDGE_BOND = openbabelPINVOKE.OB_WEDGE_BOND_get();
  public static readonly int OB_HASH_BOND = openbabelPINVOKE.OB_HASH_BOND_get();
  public static readonly int OB_RING_BOND = openbabelPINVOKE.OB_RING_BOND_get();
  public static readonly int OB_TORUP_BOND = openbabelPINVOKE.OB_TORUP_BOND_get();
  public static readonly int OB_TORDOWN_BOND = openbabelPINVOKE.OB_TORDOWN_BOND_get();
  public static readonly int OB_KSINGLE_BOND = openbabelPINVOKE.OB_KSINGLE_BOND_get();
  public static readonly int OB_KDOUBLE_BOND = openbabelPINVOKE.OB_KDOUBLE_BOND_get();
  public static readonly int OB_KTRIPLE_BOND = openbabelPINVOKE.OB_KTRIPLE_BOND_get();
  public static readonly int OB_CLOSURE_BOND = openbabelPINVOKE.OB_CLOSURE_BOND_get();
  public static readonly int OB_SSSR_MOL = openbabelPINVOKE.OB_SSSR_MOL_get();
  public static readonly int OB_RINGFLAGS_MOL = openbabelPINVOKE.OB_RINGFLAGS_MOL_get();
  public static readonly int OB_AROMATIC_MOL = openbabelPINVOKE.OB_AROMATIC_MOL_get();
  public static readonly int OB_ATOMTYPES_MOL = openbabelPINVOKE.OB_ATOMTYPES_MOL_get();
  public static readonly int OB_CHIRALITY_MOL = openbabelPINVOKE.OB_CHIRALITY_MOL_get();
  public static readonly int OB_PCHARGE_MOL = openbabelPINVOKE.OB_PCHARGE_MOL_get();
  public static readonly int OB_HYBRID_MOL = openbabelPINVOKE.OB_HYBRID_MOL_get();
  public static readonly int OB_IMPVAL_MOL = openbabelPINVOKE.OB_IMPVAL_MOL_get();
  public static readonly int OB_KEKULE_MOL = openbabelPINVOKE.OB_KEKULE_MOL_get();
  public static readonly int OB_CLOSURE_MOL = openbabelPINVOKE.OB_CLOSURE_MOL_get();
  public static readonly int OB_H_ADDED_MOL = openbabelPINVOKE.OB_H_ADDED_MOL_get();
  public static readonly int OB_PH_CORRECTED_MOL = openbabelPINVOKE.OB_PH_CORRECTED_MOL_get();
  public static readonly int OB_AROM_CORRECTED_MOL = openbabelPINVOKE.OB_AROM_CORRECTED_MOL_get();
  public static readonly int OB_CHAINS_MOL = openbabelPINVOKE.OB_CHAINS_MOL_get();
  public static readonly int OB_TCHARGE_MOL = openbabelPINVOKE.OB_TCHARGE_MOL_get();
  public static readonly int OB_TSPIN_MOL = openbabelPINVOKE.OB_TSPIN_MOL_get();
  public static readonly int OB_RINGTYPES_MOL = openbabelPINVOKE.OB_RINGTYPES_MOL_get();
  public static readonly int OB_CURRENT_CONFORMER = openbabelPINVOKE.OB_CURRENT_CONFORMER_get();
  public static readonly int BUFF_SIZE = openbabelPINVOKE.BUFF_SIZE_get();
  public static readonly int OBFF_LOGLVL_NONE = openbabelPINVOKE.OBFF_LOGLVL_NONE_get();
  public static readonly int OBFF_LOGLVL_LOW = openbabelPINVOKE.OBFF_LOGLVL_LOW_get();
  public static readonly int OBFF_LOGLVL_MEDIUM = openbabelPINVOKE.OBFF_LOGLVL_MEDIUM_get();
  public static readonly int OBFF_LOGLVL_HIGH = openbabelPINVOKE.OBFF_LOGLVL_HIGH_get();
  public static readonly int OBFF_ENERGY = openbabelPINVOKE.OBFF_ENERGY_get();
  public static readonly int OBFF_EBOND = openbabelPINVOKE.OBFF_EBOND_get();
  public static readonly int OBFF_EANGLE = openbabelPINVOKE.OBFF_EANGLE_get();
  public static readonly int OBFF_ESTRBND = openbabelPINVOKE.OBFF_ESTRBND_get();
  public static readonly int OBFF_ETORSION = openbabelPINVOKE.OBFF_ETORSION_get();
  public static readonly int OBFF_EOOP = openbabelPINVOKE.OBFF_EOOP_get();
  public static readonly int OBFF_EVDW = openbabelPINVOKE.OBFF_EVDW_get();
  public static readonly int OBFF_EELECTROSTATIC = openbabelPINVOKE.OBFF_EELECTROSTATIC_get();
  public static readonly int OBFF_CONST_IGNORE = openbabelPINVOKE.OBFF_CONST_IGNORE_get();
  public static readonly int OBFF_CONST_ATOM = openbabelPINVOKE.OBFF_CONST_ATOM_get();
  public static readonly int OBFF_CONST_ATOM_X = openbabelPINVOKE.OBFF_CONST_ATOM_X_get();
  public static readonly int OBFF_CONST_ATOM_Y = openbabelPINVOKE.OBFF_CONST_ATOM_Y_get();
  public static readonly int OBFF_CONST_ATOM_Z = openbabelPINVOKE.OBFF_CONST_ATOM_Z_get();
  public static readonly int OBFF_CONST_DISTANCE = openbabelPINVOKE.OBFF_CONST_DISTANCE_get();
  public static readonly int OBFF_CONST_ANGLE = openbabelPINVOKE.OBFF_CONST_ANGLE_get();
  public static readonly int OBFF_CONST_TORSION = openbabelPINVOKE.OBFF_CONST_TORSION_get();
  public static readonly int OBFF_CONST_CHIRAL = openbabelPINVOKE.OBFF_CONST_CHIRAL_get();
  public static readonly int OBFF_NUMERICAL_GRADIENT = openbabelPINVOKE.OBFF_NUMERICAL_GRADIENT_get();
  public static readonly int OBFF_ANALYTICAL_GRADIENT = openbabelPINVOKE.OBFF_ANALYTICAL_GRADIENT_get();
  public static readonly double KCAL_TO_KJ = openbabelPINVOKE.KCAL_TO_KJ_get();
  public static readonly int SETWORD = openbabelPINVOKE.SETWORD_get();
  public static readonly int WORDROLL = openbabelPINVOKE.WORDROLL_get();
  public static readonly int WORDMASK = openbabelPINVOKE.WORDMASK_get();
  public static readonly int STARTWORDS = openbabelPINVOKE.STARTWORDS_get();
}
