/* ----------------------------------------------------------------------------
 * 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;

class openbabelPINVOKE {

  protected class SWIGExceptionHelper {

    public delegate void ExceptionDelegate(string message);
    public delegate void ExceptionArgumentDelegate(string message, string paramName);

    static ExceptionDelegate applicationDelegate = new ExceptionDelegate(SetPendingApplicationException);
    static ExceptionDelegate arithmeticDelegate = new ExceptionDelegate(SetPendingArithmeticException);
    static ExceptionDelegate divideByZeroDelegate = new ExceptionDelegate(SetPendingDivideByZeroException);
    static ExceptionDelegate indexOutOfRangeDelegate = new ExceptionDelegate(SetPendingIndexOutOfRangeException);
    static ExceptionDelegate invalidCastDelegate = new ExceptionDelegate(SetPendingInvalidCastException);
    static ExceptionDelegate invalidOperationDelegate = new ExceptionDelegate(SetPendingInvalidOperationException);
    static ExceptionDelegate ioDelegate = new ExceptionDelegate(SetPendingIOException);
    static ExceptionDelegate nullReferenceDelegate = new ExceptionDelegate(SetPendingNullReferenceException);
    static ExceptionDelegate outOfMemoryDelegate = new ExceptionDelegate(SetPendingOutOfMemoryException);
    static ExceptionDelegate overflowDelegate = new ExceptionDelegate(SetPendingOverflowException);
    static ExceptionDelegate systemDelegate = new ExceptionDelegate(SetPendingSystemException);

    static ExceptionArgumentDelegate argumentDelegate = new ExceptionArgumentDelegate(SetPendingArgumentException);
    static ExceptionArgumentDelegate argumentNullDelegate = new ExceptionArgumentDelegate(SetPendingArgumentNullException);
    static ExceptionArgumentDelegate argumentOutOfRangeDelegate = new ExceptionArgumentDelegate(SetPendingArgumentOutOfRangeException);

    [DllImport("openbabel", EntryPoint="SWIGRegisterExceptionCallbacks_openbabel")]
    public static extern void SWIGRegisterExceptionCallbacks_openbabel(
                                ExceptionDelegate applicationDelegate,
                                ExceptionDelegate arithmeticDelegate,
                                ExceptionDelegate divideByZeroDelegate, 
                                ExceptionDelegate indexOutOfRangeDelegate, 
                                ExceptionDelegate invalidCastDelegate,
                                ExceptionDelegate invalidOperationDelegate,
                                ExceptionDelegate ioDelegate,
                                ExceptionDelegate nullReferenceDelegate,
                                ExceptionDelegate outOfMemoryDelegate, 
                                ExceptionDelegate overflowDelegate, 
                                ExceptionDelegate systemExceptionDelegate);

    [DllImport("openbabel", EntryPoint="SWIGRegisterExceptionArgumentCallbacks_openbabel")]
    public static extern void SWIGRegisterExceptionCallbacksArgument_openbabel(
                                ExceptionArgumentDelegate argumentDelegate,
                                ExceptionArgumentDelegate argumentNullDelegate,
                                ExceptionArgumentDelegate argumentOutOfRangeDelegate);

    static void SetPendingApplicationException(string message) {
      SWIGPendingException.Set(new System.ApplicationException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingArithmeticException(string message) {
      SWIGPendingException.Set(new System.ArithmeticException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingDivideByZeroException(string message) {
      SWIGPendingException.Set(new System.DivideByZeroException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingIndexOutOfRangeException(string message) {
      SWIGPendingException.Set(new System.IndexOutOfRangeException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingInvalidCastException(string message) {
      SWIGPendingException.Set(new System.InvalidCastException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingInvalidOperationException(string message) {
      SWIGPendingException.Set(new System.InvalidOperationException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingIOException(string message) {
      SWIGPendingException.Set(new System.IO.IOException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingNullReferenceException(string message) {
      SWIGPendingException.Set(new System.NullReferenceException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingOutOfMemoryException(string message) {
      SWIGPendingException.Set(new System.OutOfMemoryException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingOverflowException(string message) {
      SWIGPendingException.Set(new System.OverflowException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingSystemException(string message) {
      SWIGPendingException.Set(new System.SystemException(message, SWIGPendingException.Retrieve()));
    }

    static void SetPendingArgumentException(string message, string paramName) {
      SWIGPendingException.Set(new System.ArgumentException(message, paramName, SWIGPendingException.Retrieve()));
    }
    static void SetPendingArgumentNullException(string message, string paramName) {
      Exception e = SWIGPendingException.Retrieve();
      if (e != null) message = message + " Inner Exception: " + e.Message;
      SWIGPendingException.Set(new System.ArgumentNullException(paramName, message));
    }
    static void SetPendingArgumentOutOfRangeException(string message, string paramName) {
      Exception e = SWIGPendingException.Retrieve();
      if (e != null) message = message + " Inner Exception: " + e.Message;
      SWIGPendingException.Set(new System.ArgumentOutOfRangeException(paramName, message));
    }

    static SWIGExceptionHelper() {
      SWIGRegisterExceptionCallbacks_openbabel(
                                applicationDelegate,
                                arithmeticDelegate,
                                divideByZeroDelegate,
                                indexOutOfRangeDelegate,
                                invalidCastDelegate,
                                invalidOperationDelegate,
                                ioDelegate,
                                nullReferenceDelegate,
                                outOfMemoryDelegate,
                                overflowDelegate,
                                systemDelegate);

      SWIGRegisterExceptionCallbacksArgument_openbabel(
                                argumentDelegate,
                                argumentNullDelegate,
                                argumentOutOfRangeDelegate);
    }
  }

  protected static SWIGExceptionHelper swigExceptionHelper = new SWIGExceptionHelper();

  public class SWIGPendingException {
    [ThreadStatic]
    private static Exception pendingException = null;
    private static int numExceptionsPending = 0;

    public static bool Pending {
      get {
        bool pending = false;
        if (numExceptionsPending > 0)
          if (pendingException != null)
            pending = true;
        return pending;
      } 
    }

    public static void Set(Exception e) {
      if (pendingException != null)
        throw new ApplicationException("FATAL: An earlier pending exception from unmanaged code was missed and thus not thrown (" + pendingException.ToString() + ")", e);
      pendingException = e;
      lock(typeof(openbabelPINVOKE)) {
        numExceptionsPending++;
      }
    }

    public static Exception Retrieve() {
      Exception e = null;
      if (numExceptionsPending > 0) {
        if (pendingException != null) {
          e = pendingException;
          pendingException = null;
          lock(typeof(openbabelPINVOKE)) {
            numExceptionsPending--;
          }
        }
      }
      return e;
    }
  }


  protected class SWIGStringHelper {

    public delegate string SWIGStringDelegate(string message);
    static SWIGStringDelegate stringDelegate = new SWIGStringDelegate(CreateString);

    [DllImport("openbabel", EntryPoint="SWIGRegisterStringCallback_openbabel")]
    public static extern void SWIGRegisterStringCallback_openbabel(SWIGStringDelegate stringDelegate);

    static string CreateString(string cString) {
      return cString;
    }

    static SWIGStringHelper() {
      SWIGRegisterStringCallback_openbabel(stringDelegate);
    }
  }

  static protected SWIGStringHelper swigStringHelper = new SWIGStringHelper();


  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_Clear")]
  public static extern void vectorInt_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_Add")]
  public static extern void vectorInt_Add(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_size")]
  public static extern uint vectorInt_size(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_capacity")]
  public static extern uint vectorInt_capacity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_reserve")]
  public static extern void vectorInt_reserve(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorInt__SWIG_0")]
  public static extern IntPtr new_vectorInt__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorInt__SWIG_1")]
  public static extern IntPtr new_vectorInt__SWIG_1(int jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_getitemcopy")]
  public static extern int vectorInt_getitemcopy(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_getitem")]
  public static extern int vectorInt_getitem(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_setitem")]
  public static extern void vectorInt_setitem(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_AddRange")]
  public static extern void vectorInt_AddRange(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_GetRange")]
  public static extern IntPtr vectorInt_GetRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_Insert")]
  public static extern void vectorInt_Insert(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_InsertRange")]
  public static extern void vectorInt_InsertRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_RemoveAt")]
  public static extern void vectorInt_RemoveAt(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_RemoveRange")]
  public static extern void vectorInt_RemoveRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_Repeat")]
  public static extern IntPtr vectorInt_Repeat(int jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_Reverse__SWIG_0")]
  public static extern void vectorInt_Reverse__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_Reverse__SWIG_1")]
  public static extern void vectorInt_Reverse__SWIG_1(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_SetRange")]
  public static extern void vectorInt_SetRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_Contains")]
  public static extern bool vectorInt_Contains(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_IndexOf")]
  public static extern int vectorInt_IndexOf(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_LastIndexOf")]
  public static extern int vectorInt_LastIndexOf(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorInt_Remove")]
  public static extern void vectorInt_Remove(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_delete_vectorInt")]
  public static extern void delete_vectorInt(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_Clear")]
  public static extern void vectorUnsignedInt_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_Add")]
  public static extern void vectorUnsignedInt_Add(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_size")]
  public static extern uint vectorUnsignedInt_size(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_capacity")]
  public static extern uint vectorUnsignedInt_capacity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_reserve")]
  public static extern void vectorUnsignedInt_reserve(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorUnsignedInt__SWIG_0")]
  public static extern IntPtr new_vectorUnsignedInt__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorUnsignedInt__SWIG_1")]
  public static extern IntPtr new_vectorUnsignedInt__SWIG_1(int jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_getitemcopy")]
  public static extern uint vectorUnsignedInt_getitemcopy(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_getitem")]
  public static extern uint vectorUnsignedInt_getitem(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_setitem")]
  public static extern void vectorUnsignedInt_setitem(HandleRef jarg1, int jarg2, uint jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_AddRange")]
  public static extern void vectorUnsignedInt_AddRange(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_GetRange")]
  public static extern IntPtr vectorUnsignedInt_GetRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_Insert")]
  public static extern void vectorUnsignedInt_Insert(HandleRef jarg1, int jarg2, uint jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_InsertRange")]
  public static extern void vectorUnsignedInt_InsertRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_RemoveAt")]
  public static extern void vectorUnsignedInt_RemoveAt(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_RemoveRange")]
  public static extern void vectorUnsignedInt_RemoveRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_Repeat")]
  public static extern IntPtr vectorUnsignedInt_Repeat(uint jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_Reverse__SWIG_0")]
  public static extern void vectorUnsignedInt_Reverse__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_Reverse__SWIG_1")]
  public static extern void vectorUnsignedInt_Reverse__SWIG_1(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_SetRange")]
  public static extern void vectorUnsignedInt_SetRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_Contains")]
  public static extern bool vectorUnsignedInt_Contains(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_IndexOf")]
  public static extern int vectorUnsignedInt_IndexOf(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_LastIndexOf")]
  public static extern int vectorUnsignedInt_LastIndexOf(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorUnsignedInt_Remove")]
  public static extern void vectorUnsignedInt_Remove(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_delete_vectorUnsignedInt")]
  public static extern void delete_vectorUnsignedInt(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_Clear")]
  public static extern void vectorDouble_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_Add")]
  public static extern void vectorDouble_Add(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_size")]
  public static extern uint vectorDouble_size(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_capacity")]
  public static extern uint vectorDouble_capacity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_reserve")]
  public static extern void vectorDouble_reserve(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorDouble__SWIG_0")]
  public static extern IntPtr new_vectorDouble__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorDouble__SWIG_1")]
  public static extern IntPtr new_vectorDouble__SWIG_1(int jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_getitemcopy")]
  public static extern double vectorDouble_getitemcopy(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_getitem")]
  public static extern double vectorDouble_getitem(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_setitem")]
  public static extern void vectorDouble_setitem(HandleRef jarg1, int jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_AddRange")]
  public static extern void vectorDouble_AddRange(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_GetRange")]
  public static extern IntPtr vectorDouble_GetRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_Insert")]
  public static extern void vectorDouble_Insert(HandleRef jarg1, int jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_InsertRange")]
  public static extern void vectorDouble_InsertRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_RemoveAt")]
  public static extern void vectorDouble_RemoveAt(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_RemoveRange")]
  public static extern void vectorDouble_RemoveRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_Repeat")]
  public static extern IntPtr vectorDouble_Repeat(double jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_Reverse__SWIG_0")]
  public static extern void vectorDouble_Reverse__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_Reverse__SWIG_1")]
  public static extern void vectorDouble_Reverse__SWIG_1(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_SetRange")]
  public static extern void vectorDouble_SetRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_Contains")]
  public static extern bool vectorDouble_Contains(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_IndexOf")]
  public static extern int vectorDouble_IndexOf(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_LastIndexOf")]
  public static extern int vectorDouble_LastIndexOf(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorDouble_Remove")]
  public static extern void vectorDouble_Remove(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_delete_vectorDouble")]
  public static extern void delete_vectorDouble(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_Clear")]
  public static extern void vectorString_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_Add")]
  public static extern void vectorString_Add(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_size")]
  public static extern uint vectorString_size(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_capacity")]
  public static extern uint vectorString_capacity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_reserve")]
  public static extern void vectorString_reserve(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorString__SWIG_0")]
  public static extern IntPtr new_vectorString__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorString__SWIG_1")]
  public static extern IntPtr new_vectorString__SWIG_1(int jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_getitemcopy")]
  public static extern string vectorString_getitemcopy(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_getitem")]
  public static extern string vectorString_getitem(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_setitem")]
  public static extern void vectorString_setitem(HandleRef jarg1, int jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_AddRange")]
  public static extern void vectorString_AddRange(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_GetRange")]
  public static extern IntPtr vectorString_GetRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_Insert")]
  public static extern void vectorString_Insert(HandleRef jarg1, int jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_InsertRange")]
  public static extern void vectorString_InsertRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_RemoveAt")]
  public static extern void vectorString_RemoveAt(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_RemoveRange")]
  public static extern void vectorString_RemoveRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_Repeat")]
  public static extern IntPtr vectorString_Repeat(string jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_Reverse__SWIG_0")]
  public static extern void vectorString_Reverse__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_Reverse__SWIG_1")]
  public static extern void vectorString_Reverse__SWIG_1(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_SetRange")]
  public static extern void vectorString_SetRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_Contains")]
  public static extern bool vectorString_Contains(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_IndexOf")]
  public static extern int vectorString_IndexOf(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_LastIndexOf")]
  public static extern int vectorString_LastIndexOf(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorString_Remove")]
  public static extern void vectorString_Remove(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_delete_vectorString")]
  public static extern void delete_vectorString(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vVector3_Clear")]
  public static extern void vVector3_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vVector3_Add")]
  public static extern void vVector3_Add(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vVector3_size")]
  public static extern uint vVector3_size(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vVector3_capacity")]
  public static extern uint vVector3_capacity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vVector3_reserve")]
  public static extern void vVector3_reserve(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_vVector3__SWIG_0")]
  public static extern IntPtr new_vVector3__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_vVector3__SWIG_1")]
  public static extern IntPtr new_vVector3__SWIG_1(int jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vVector3_getitemcopy")]
  public static extern IntPtr vVector3_getitemcopy(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vVector3_getitem")]
  public static extern IntPtr vVector3_getitem(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vVector3_setitem")]
  public static extern void vVector3_setitem(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vVector3_AddRange")]
  public static extern void vVector3_AddRange(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vVector3_GetRange")]
  public static extern IntPtr vVector3_GetRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vVector3_Insert")]
  public static extern void vVector3_Insert(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vVector3_InsertRange")]
  public static extern void vVector3_InsertRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vVector3_RemoveAt")]
  public static extern void vVector3_RemoveAt(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vVector3_RemoveRange")]
  public static extern void vVector3_RemoveRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vVector3_Repeat")]
  public static extern IntPtr vVector3_Repeat(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vVector3_Reverse__SWIG_0")]
  public static extern void vVector3_Reverse__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vVector3_Reverse__SWIG_1")]
  public static extern void vVector3_Reverse__SWIG_1(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vVector3_SetRange")]
  public static extern void vVector3_SetRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_delete_vVector3")]
  public static extern void delete_vVector3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorMol_Clear")]
  public static extern void vectorMol_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorMol_Add")]
  public static extern void vectorMol_Add(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorMol_size")]
  public static extern uint vectorMol_size(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorMol_capacity")]
  public static extern uint vectorMol_capacity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorMol_reserve")]
  public static extern void vectorMol_reserve(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorMol__SWIG_0")]
  public static extern IntPtr new_vectorMol__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorMol__SWIG_1")]
  public static extern IntPtr new_vectorMol__SWIG_1(int jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorMol_getitemcopy")]
  public static extern IntPtr vectorMol_getitemcopy(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorMol_getitem")]
  public static extern IntPtr vectorMol_getitem(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorMol_setitem")]
  public static extern void vectorMol_setitem(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorMol_AddRange")]
  public static extern void vectorMol_AddRange(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorMol_GetRange")]
  public static extern IntPtr vectorMol_GetRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorMol_Insert")]
  public static extern void vectorMol_Insert(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorMol_InsertRange")]
  public static extern void vectorMol_InsertRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorMol_RemoveAt")]
  public static extern void vectorMol_RemoveAt(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorMol_RemoveRange")]
  public static extern void vectorMol_RemoveRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorMol_Repeat")]
  public static extern IntPtr vectorMol_Repeat(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorMol_Reverse__SWIG_0")]
  public static extern void vectorMol_Reverse__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorMol_Reverse__SWIG_1")]
  public static extern void vectorMol_Reverse__SWIG_1(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorMol_SetRange")]
  public static extern void vectorMol_SetRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_delete_vectorMol")]
  public static extern void delete_vectorMol(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorBond_Clear")]
  public static extern void vectorBond_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorBond_Add")]
  public static extern void vectorBond_Add(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorBond_size")]
  public static extern uint vectorBond_size(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorBond_capacity")]
  public static extern uint vectorBond_capacity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorBond_reserve")]
  public static extern void vectorBond_reserve(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorBond__SWIG_0")]
  public static extern IntPtr new_vectorBond__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorBond__SWIG_1")]
  public static extern IntPtr new_vectorBond__SWIG_1(int jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorBond_getitemcopy")]
  public static extern IntPtr vectorBond_getitemcopy(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorBond_getitem")]
  public static extern IntPtr vectorBond_getitem(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorBond_setitem")]
  public static extern void vectorBond_setitem(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorBond_AddRange")]
  public static extern void vectorBond_AddRange(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorBond_GetRange")]
  public static extern IntPtr vectorBond_GetRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorBond_Insert")]
  public static extern void vectorBond_Insert(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorBond_InsertRange")]
  public static extern void vectorBond_InsertRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorBond_RemoveAt")]
  public static extern void vectorBond_RemoveAt(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorBond_RemoveRange")]
  public static extern void vectorBond_RemoveRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorBond_Repeat")]
  public static extern IntPtr vectorBond_Repeat(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorBond_Reverse__SWIG_0")]
  public static extern void vectorBond_Reverse__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorBond_Reverse__SWIG_1")]
  public static extern void vectorBond_Reverse__SWIG_1(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorBond_SetRange")]
  public static extern void vectorBond_SetRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_delete_vectorBond")]
  public static extern void delete_vectorBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorResidue_Clear")]
  public static extern void vectorResidue_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorResidue_Add")]
  public static extern void vectorResidue_Add(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorResidue_size")]
  public static extern uint vectorResidue_size(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorResidue_capacity")]
  public static extern uint vectorResidue_capacity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorResidue_reserve")]
  public static extern void vectorResidue_reserve(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorResidue__SWIG_0")]
  public static extern IntPtr new_vectorResidue__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorResidue__SWIG_1")]
  public static extern IntPtr new_vectorResidue__SWIG_1(int jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorResidue_getitemcopy")]
  public static extern IntPtr vectorResidue_getitemcopy(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorResidue_getitem")]
  public static extern IntPtr vectorResidue_getitem(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorResidue_setitem")]
  public static extern void vectorResidue_setitem(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorResidue_AddRange")]
  public static extern void vectorResidue_AddRange(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorResidue_GetRange")]
  public static extern IntPtr vectorResidue_GetRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorResidue_Insert")]
  public static extern void vectorResidue_Insert(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorResidue_InsertRange")]
  public static extern void vectorResidue_InsertRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorResidue_RemoveAt")]
  public static extern void vectorResidue_RemoveAt(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorResidue_RemoveRange")]
  public static extern void vectorResidue_RemoveRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorResidue_Repeat")]
  public static extern IntPtr vectorResidue_Repeat(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorResidue_Reverse__SWIG_0")]
  public static extern void vectorResidue_Reverse__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorResidue_Reverse__SWIG_1")]
  public static extern void vectorResidue_Reverse__SWIG_1(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorResidue_SetRange")]
  public static extern void vectorResidue_SetRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_delete_vectorResidue")]
  public static extern void delete_vectorResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorRing_Clear")]
  public static extern void vectorRing_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorRing_Add")]
  public static extern void vectorRing_Add(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorRing_size")]
  public static extern uint vectorRing_size(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorRing_capacity")]
  public static extern uint vectorRing_capacity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorRing_reserve")]
  public static extern void vectorRing_reserve(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorRing__SWIG_0")]
  public static extern IntPtr new_vectorRing__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorRing__SWIG_1")]
  public static extern IntPtr new_vectorRing__SWIG_1(int jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorRing_getitemcopy")]
  public static extern IntPtr vectorRing_getitemcopy(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorRing_getitem")]
  public static extern IntPtr vectorRing_getitem(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorRing_setitem")]
  public static extern void vectorRing_setitem(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorRing_AddRange")]
  public static extern void vectorRing_AddRange(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorRing_GetRange")]
  public static extern IntPtr vectorRing_GetRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorRing_Insert")]
  public static extern void vectorRing_Insert(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorRing_InsertRange")]
  public static extern void vectorRing_InsertRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorRing_RemoveAt")]
  public static extern void vectorRing_RemoveAt(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorRing_RemoveRange")]
  public static extern void vectorRing_RemoveRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorRing_Repeat")]
  public static extern IntPtr vectorRing_Repeat(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorRing_Reverse__SWIG_0")]
  public static extern void vectorRing_Reverse__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorRing_Reverse__SWIG_1")]
  public static extern void vectorRing_Reverse__SWIG_1(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorRing_SetRange")]
  public static extern void vectorRing_SetRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_delete_vectorRing")]
  public static extern void delete_vectorRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorpRing_Clear")]
  public static extern void vectorpRing_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorpRing_Add")]
  public static extern void vectorpRing_Add(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorpRing_size")]
  public static extern uint vectorpRing_size(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorpRing_capacity")]
  public static extern uint vectorpRing_capacity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorpRing_reserve")]
  public static extern void vectorpRing_reserve(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorpRing__SWIG_0")]
  public static extern IntPtr new_vectorpRing__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorpRing__SWIG_1")]
  public static extern IntPtr new_vectorpRing__SWIG_1(int jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorpRing_getitemcopy")]
  public static extern IntPtr vectorpRing_getitemcopy(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorpRing_getitem")]
  public static extern IntPtr vectorpRing_getitem(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorpRing_setitem")]
  public static extern void vectorpRing_setitem(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorpRing_AddRange")]
  public static extern void vectorpRing_AddRange(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorpRing_GetRange")]
  public static extern IntPtr vectorpRing_GetRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorpRing_Insert")]
  public static extern void vectorpRing_Insert(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorpRing_InsertRange")]
  public static extern void vectorpRing_InsertRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorpRing_RemoveAt")]
  public static extern void vectorpRing_RemoveAt(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorpRing_RemoveRange")]
  public static extern void vectorpRing_RemoveRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorpRing_Repeat")]
  public static extern IntPtr vectorpRing_Repeat(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorpRing_Reverse__SWIG_0")]
  public static extern void vectorpRing_Reverse__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorpRing_Reverse__SWIG_1")]
  public static extern void vectorpRing_Reverse__SWIG_1(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorpRing_SetRange")]
  public static extern void vectorpRing_SetRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_delete_vectorpRing")]
  public static extern void delete_vectorpRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorData_Clear")]
  public static extern void vectorData_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorData_Add")]
  public static extern void vectorData_Add(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorData_size")]
  public static extern uint vectorData_size(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorData_capacity")]
  public static extern uint vectorData_capacity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorData_reserve")]
  public static extern void vectorData_reserve(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorData__SWIG_0")]
  public static extern IntPtr new_vectorData__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_vectorData__SWIG_1")]
  public static extern IntPtr new_vectorData__SWIG_1(int jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorData_getitemcopy")]
  public static extern IntPtr vectorData_getitemcopy(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorData_getitem")]
  public static extern IntPtr vectorData_getitem(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorData_setitem")]
  public static extern void vectorData_setitem(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorData_AddRange")]
  public static extern void vectorData_AddRange(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorData_GetRange")]
  public static extern IntPtr vectorData_GetRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorData_Insert")]
  public static extern void vectorData_Insert(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorData_InsertRange")]
  public static extern void vectorData_InsertRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorData_RemoveAt")]
  public static extern void vectorData_RemoveAt(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorData_RemoveRange")]
  public static extern void vectorData_RemoveRange(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorData_Repeat")]
  public static extern IntPtr vectorData_Repeat(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorData_Reverse__SWIG_0")]
  public static extern void vectorData_Reverse__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vectorData_Reverse__SWIG_1")]
  public static extern void vectorData_Reverse__SWIG_1(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vectorData_SetRange")]
  public static extern void vectorData_SetRange(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_delete_vectorData")]
  public static extern void delete_vectorData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBGlobalDataBase")]
  public static extern IntPtr new_OBGlobalDataBase();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBGlobalDataBase")]
  public static extern void delete_OBGlobalDataBase(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGlobalDataBase_Init")]
  public static extern void OBGlobalDataBase_Init(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGlobalDataBase_GetSize")]
  public static extern uint OBGlobalDataBase_GetSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGlobalDataBase_SetReadDirectory")]
  public static extern void OBGlobalDataBase_SetReadDirectory(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBGlobalDataBase_SetEnvironmentVariable")]
  public static extern void OBGlobalDataBase_SetEnvironmentVariable(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBGlobalDataBase_ParseLine")]
  public static extern void OBGlobalDataBase_ParseLine(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBElement__SWIG_0")]
  public static extern IntPtr new_OBElement__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBElement__SWIG_1")]
  public static extern IntPtr new_OBElement__SWIG_1(int jarg1, string jarg2, double jarg3, double jarg4, double jarg5, int jarg6, double jarg7, double jarg8, double jarg9, double jarg10, double jarg11, double jarg12, double jarg13, string jarg14);

  [DllImport("openbabel", EntryPoint="CSharp_OBElement_GetAtomicNum")]
  public static extern int OBElement_GetAtomicNum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBElement_GetSymbol")]
  public static extern string OBElement_GetSymbol(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBElement_GetCovalentRad")]
  public static extern double OBElement_GetCovalentRad(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBElement_GetVdwRad")]
  public static extern double OBElement_GetVdwRad(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBElement_GetMass")]
  public static extern double OBElement_GetMass(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBElement_GetMaxBonds")]
  public static extern int OBElement_GetMaxBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBElement_GetElectroNeg")]
  public static extern double OBElement_GetElectroNeg(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBElement_GetAllredRochowElectroNeg")]
  public static extern double OBElement_GetAllredRochowElectroNeg(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBElement_GetIonization")]
  public static extern double OBElement_GetIonization(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBElement_GetElectronAffinity")]
  public static extern double OBElement_GetElectronAffinity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBElement_GetName")]
  public static extern string OBElement_GetName(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBElement_GetRed")]
  public static extern double OBElement_GetRed(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBElement_GetGreen")]
  public static extern double OBElement_GetGreen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBElement_GetBlue")]
  public static extern double OBElement_GetBlue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBElement")]
  public static extern void delete_OBElement(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBElementTable")]
  public static extern IntPtr new_OBElementTable();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBElementTable")]
  public static extern void delete_OBElementTable(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTable_GetNumberOfElements")]
  public static extern uint OBElementTable_GetNumberOfElements(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTable_GetAtomicNum__SWIG_0")]
  public static extern int OBElementTable_GetAtomicNum__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTable_GetAtomicNum__SWIG_1")]
  public static extern int OBElementTable_GetAtomicNum__SWIG_1(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTable_GetSymbol")]
  public static extern string OBElementTable_GetSymbol(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTable_GetVdwRad")]
  public static extern double OBElementTable_GetVdwRad(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTable_GetCovalentRad")]
  public static extern double OBElementTable_GetCovalentRad(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTable_GetMass")]
  public static extern double OBElementTable_GetMass(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTable_CorrectedBondRad__SWIG_0")]
  public static extern double OBElementTable_CorrectedBondRad__SWIG_0(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTable_CorrectedBondRad__SWIG_1")]
  public static extern double OBElementTable_CorrectedBondRad__SWIG_1(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTable_CorrectedVdwRad__SWIG_0")]
  public static extern double OBElementTable_CorrectedVdwRad__SWIG_0(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTable_CorrectedVdwRad__SWIG_1")]
  public static extern double OBElementTable_CorrectedVdwRad__SWIG_1(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTable_GetMaxBonds")]
  public static extern int OBElementTable_GetMaxBonds(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTable_GetElectroNeg")]
  public static extern double OBElementTable_GetElectroNeg(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTable_GetAllredRochowElectroNeg")]
  public static extern double OBElementTable_GetAllredRochowElectroNeg(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTable_GetIonization")]
  public static extern double OBElementTable_GetIonization(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTable_GetElectronAffinity")]
  public static extern double OBElementTable_GetElectronAffinity(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTable_GetRGB")]
  public static extern IntPtr OBElementTable_GetRGB(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTable_GetName")]
  public static extern string OBElementTable_GetName(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBIsotopeTable")]
  public static extern IntPtr new_OBIsotopeTable();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBIsotopeTable")]
  public static extern void delete_OBIsotopeTable(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBIsotopeTable_GetExactMass__SWIG_0")]
  public static extern double OBIsotopeTable_GetExactMass__SWIG_0(HandleRef jarg1, uint jarg2, uint jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBIsotopeTable_GetExactMass__SWIG_1")]
  public static extern double OBIsotopeTable_GetExactMass__SWIG_1(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBTypeTable")]
  public static extern IntPtr new_OBTypeTable();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBTypeTable")]
  public static extern void delete_OBTypeTable(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBTypeTable_SetFromType")]
  public static extern bool OBTypeTable_SetFromType(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBTypeTable_SetToType")]
  public static extern bool OBTypeTable_SetToType(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBTypeTable_Translate__SWIG_0")]
  public static extern bool OBTypeTable_Translate__SWIG_0(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBTypeTable_Translate__SWIG_1")]
  public static extern bool OBTypeTable_Translate__SWIG_1(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBTypeTable_Translate__SWIG_2")]
  public static extern string OBTypeTable_Translate__SWIG_2(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBTypeTable_GetFromType")]
  public static extern string OBTypeTable_GetFromType(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBTypeTable_GetToType")]
  public static extern string OBTypeTable_GetToType(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBResidueData")]
  public static extern IntPtr new_OBResidueData();

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueData_SetResName")]
  public static extern bool OBResidueData_SetResName(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueData_LookupBO__SWIG_0")]
  public static extern int OBResidueData_LookupBO__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueData_LookupBO__SWIG_1")]
  public static extern int OBResidueData_LookupBO__SWIG_1(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueData_LookupType")]
  public static extern bool OBResidueData_LookupType(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueData_AssignBonds")]
  public static extern bool OBResidueData_AssignBonds(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBResidueData")]
  public static extern void delete_OBResidueData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_DoubleType_hi_set")]
  public static extern void DoubleType_hi_set(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_DoubleType_hi_get")]
  public static extern uint DoubleType_hi_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_DoubleType_lo_set")]
  public static extern void DoubleType_lo_set(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_DoubleType_lo_get")]
  public static extern uint DoubleType_lo_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_DoubleType")]
  public static extern IntPtr new_DoubleType();

  [DllImport("openbabel", EntryPoint="CSharp_delete_DoubleType")]
  public static extern void delete_DoubleType(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_DoubleMultiply")]
  public static extern void DoubleMultiply(uint jarg1, uint jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_DoubleAdd")]
  public static extern void DoubleAdd(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_DoubleModulus")]
  public static extern uint DoubleModulus(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBRandom__SWIG_0")]
  public static extern IntPtr new_OBRandom__SWIG_0(bool jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBRandom__SWIG_1")]
  public static extern IntPtr new_OBRandom__SWIG_1();

  [DllImport("openbabel", EntryPoint="CSharp_OBRandom_Seed")]
  public static extern void OBRandom_Seed(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBRandom_TimeSeed")]
  public static extern void OBRandom_TimeSeed(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRandom_NextInt")]
  public static extern int OBRandom_NextInt(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRandom_NextFloat")]
  public static extern double OBRandom_NextFloat(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBRandom")]
  public static extern void delete_OBRandom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_M_PI_get")]
  public static extern double M_PI_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBStopwatch_Start")]
  public static extern void OBStopwatch_Start(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBStopwatch_Lap")]
  public static extern double OBStopwatch_Lap(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBStopwatch_Elapsed")]
  public static extern double OBStopwatch_Elapsed(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBStopwatch")]
  public static extern IntPtr new_OBStopwatch();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBStopwatch")]
  public static extern void delete_OBStopwatch(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBSqrtTbl__SWIG_0")]
  public static extern IntPtr new_OBSqrtTbl__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBSqrtTbl__SWIG_1")]
  public static extern IntPtr new_OBSqrtTbl__SWIG_1(double jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBSqrtTbl")]
  public static extern void delete_OBSqrtTbl(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSqrtTbl_Sqrt")]
  public static extern double OBSqrtTbl_Sqrt(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBSqrtTbl_Init")]
  public static extern void OBSqrtTbl_Init(HandleRef jarg1, double jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_RAD_TO_DEG_get")]
  public static extern double RAD_TO_DEG_get();

  [DllImport("openbabel", EntryPoint="CSharp_DEG_TO_RAD_get")]
  public static extern double DEG_TO_RAD_get();

  [DllImport("openbabel", EntryPoint="CSharp_new_vector3__SWIG_0")]
  public static extern IntPtr new_vector3__SWIG_0(double jarg1, double jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_new_vector3__SWIG_1")]
  public static extern IntPtr new_vector3__SWIG_1(double jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_vector3__SWIG_2")]
  public static extern IntPtr new_vector3__SWIG_2(double jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_vector3__SWIG_3")]
  public static extern IntPtr new_vector3__SWIG_3();

  [DllImport("openbabel", EntryPoint="CSharp_new_vector3__SWIG_4")]
  public static extern IntPtr new_vector3__SWIG_4(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_vector3__SWIG_5")]
  public static extern IntPtr new_vector3__SWIG_5(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_vector3")]
  public static extern void delete_vector3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_Set__SWIG_0")]
  public static extern void vector3_Set__SWIG_0(HandleRef jarg1, double jarg2, double jarg3, double jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_Set__SWIG_1")]
  public static extern void vector3_Set__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_SetX")]
  public static extern void vector3_SetX(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_SetY")]
  public static extern void vector3_SetY(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_SetZ")]
  public static extern void vector3_SetZ(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_Get")]
  public static extern void vector3_Get(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_AsArray")]
  public static extern IntPtr vector3_AsArray(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_randomUnitVector__SWIG_0")]
  public static extern void vector3_randomUnitVector__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_randomUnitVector__SWIG_1")]
  public static extern void vector3_randomUnitVector__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_normalize")]
  public static extern IntPtr vector3_normalize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_CanBeNormalized")]
  public static extern bool vector3_CanBeNormalized(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_length_2")]
  public static extern double vector3_length_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_length")]
  public static extern double vector3_length(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_x__SWIG_0")]
  public static extern double vector3_x__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_y__SWIG_0")]
  public static extern double vector3_y__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_z__SWIG_0")]
  public static extern double vector3_z__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_IsApprox")]
  public static extern bool vector3_IsApprox(HandleRef jarg1, HandleRef jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_distSq")]
  public static extern double vector3_distSq(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vector3_createOrthoVector")]
  public static extern bool vector3_createOrthoVector(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_dot")]
  public static extern double dot(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_cross")]
  public static extern IntPtr cross(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_vectorAngle")]
  public static extern double vectorAngle(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_CalcTorsionAngle")]
  public static extern double CalcTorsionAngle(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_Point2Plane")]
  public static extern double Point2Plane(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_Point2PlaneAngle")]
  public static extern double Point2PlaneAngle(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_VZero_get")]
  public static extern IntPtr VZero_get();

  [DllImport("openbabel", EntryPoint="CSharp_VX_get")]
  public static extern IntPtr VX_get();

  [DllImport("openbabel", EntryPoint="CSharp_VY_get")]
  public static extern IntPtr VY_get();

  [DllImport("openbabel", EntryPoint="CSharp_VZ_get")]
  public static extern IntPtr VZ_get();

  [DllImport("openbabel", EntryPoint="CSharp_new_matrix3x3__SWIG_0")]
  public static extern IntPtr new_matrix3x3__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_matrix3x3__SWIG_1")]
  public static extern IntPtr new_matrix3x3__SWIG_1(double jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_matrix3x3__SWIG_2")]
  public static extern IntPtr new_matrix3x3__SWIG_2(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_new_matrix3x3__SWIG_3")]
  public static extern IntPtr new_matrix3x3__SWIG_3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_matrix3x3")]
  public static extern void delete_matrix3x3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_GetArray")]
  public static extern void matrix3x3_GetArray(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_inverse")]
  public static extern IntPtr matrix3x3_inverse(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_transpose")]
  public static extern IntPtr matrix3x3_transpose(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_randomRotation")]
  public static extern void matrix3x3_randomRotation(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_determinant")]
  public static extern double matrix3x3_determinant(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_isSymmetric")]
  public static extern bool matrix3x3_isSymmetric(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_isOrthogonal")]
  public static extern bool matrix3x3_isOrthogonal(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_isDiagonal")]
  public static extern bool matrix3x3_isDiagonal(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_isUnitMatrix")]
  public static extern bool matrix3x3_isUnitMatrix(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_Get")]
  public static extern double matrix3x3_Get(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_Set")]
  public static extern void matrix3x3_Set(HandleRef jarg1, int jarg2, int jarg3, double jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_SetColumn")]
  public static extern void matrix3x3_SetColumn(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_SetRow")]
  public static extern void matrix3x3_SetRow(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_GetColumn")]
  public static extern IntPtr matrix3x3_GetColumn(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_GetRow")]
  public static extern IntPtr matrix3x3_GetRow(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_SetupRotMat")]
  public static extern void matrix3x3_SetupRotMat(HandleRef jarg1, double jarg2, double jarg3, double jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_PlaneReflection")]
  public static extern void matrix3x3_PlaneReflection(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_RotAboutAxisByAngle")]
  public static extern void matrix3x3_RotAboutAxisByAngle(HandleRef jarg1, HandleRef jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_FillOrth")]
  public static extern void matrix3x3_FillOrth(HandleRef jarg1, double jarg2, double jarg3, double jarg4, double jarg5, double jarg6, double jarg7);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_findEigenvectorsIfSymmetric")]
  public static extern IntPtr matrix3x3_findEigenvectorsIfSymmetric(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_matrix3x3_jacobi")]
  public static extern void matrix3x3_jacobi(uint jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_new_transform3d__SWIG_0")]
  public static extern IntPtr new_transform3d__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_transform3d__SWIG_1")]
  public static extern IntPtr new_transform3d__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_transform3d__SWIG_2")]
  public static extern IntPtr new_transform3d__SWIG_2(double jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_transform3d__SWIG_3")]
  public static extern IntPtr new_transform3d__SWIG_3(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_new_transform3d__SWIG_4")]
  public static extern IntPtr new_transform3d__SWIG_4(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_transform3d_DescribeAsString")]
  public static extern string transform3d_DescribeAsString(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_transform3d_DescribeAsValues")]
  public static extern string transform3d_DescribeAsValues(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_transform3d_Normalize")]
  public static extern void transform3d_Normalize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_transform3d")]
  public static extern void delete_transform3d(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_SpaceGroup")]
  public static extern IntPtr new_SpaceGroup();

  [DllImport("openbabel", EntryPoint="CSharp_delete_SpaceGroup")]
  public static extern void delete_SpaceGroup(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_SpaceGroup_SetHMName__SWIG_0")]
  public static extern void SpaceGroup_SetHMName__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_SpaceGroup_SetHallName__SWIG_0")]
  public static extern void SpaceGroup_SetHallName__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_SpaceGroup_SetId")]
  public static extern void SpaceGroup_SetId(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_SpaceGroup_AddTransform")]
  public static extern void SpaceGroup_AddTransform(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_SpaceGroup_GetHMName")]
  public static extern string SpaceGroup_GetHMName(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_SpaceGroup_GetHallName")]
  public static extern string SpaceGroup_GetHallName(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_SpaceGroup_GetId")]
  public static extern uint SpaceGroup_GetId(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_SpaceGroup_Transform")]
  public static extern IntPtr SpaceGroup_Transform(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_SpaceGroup_BeginTransform")]
  public static extern IntPtr SpaceGroup_BeginTransform(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_SpaceGroup_NextTransform")]
  public static extern IntPtr SpaceGroup_NextTransform(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_SpaceGroup_GetSpaceGroup__SWIG_0")]
  public static extern IntPtr SpaceGroup_GetSpaceGroup__SWIG_0(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_SpaceGroup_GetSpaceGroup__SWIG_2")]
  public static extern IntPtr SpaceGroup_GetSpaceGroup__SWIG_2(uint jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_SpaceGroup_Find")]
  public static extern IntPtr SpaceGroup_Find(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_SpaceGroup_IsValid")]
  public static extern bool SpaceGroup_IsValid(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_UndefinedData_get")]
  public static extern int UndefinedData_get();

  [DllImport("openbabel", EntryPoint="CSharp_PairData_get")]
  public static extern int PairData_get();

  [DllImport("openbabel", EntryPoint="CSharp_EnergyData_get")]
  public static extern int EnergyData_get();

  [DllImport("openbabel", EntryPoint="CSharp_CommentData_get")]
  public static extern int CommentData_get();

  [DllImport("openbabel", EntryPoint="CSharp_ConformerData_get")]
  public static extern int ConformerData_get();

  [DllImport("openbabel", EntryPoint="CSharp_ExternalBondData_get")]
  public static extern int ExternalBondData_get();

  [DllImport("openbabel", EntryPoint="CSharp_RotamerList_get")]
  public static extern int RotamerList_get();

  [DllImport("openbabel", EntryPoint="CSharp_VirtualBondData_get")]
  public static extern int VirtualBondData_get();

  [DllImport("openbabel", EntryPoint="CSharp_RingData_get")]
  public static extern int RingData_get();

  [DllImport("openbabel", EntryPoint="CSharp_TorsionData_get")]
  public static extern int TorsionData_get();

  [DllImport("openbabel", EntryPoint="CSharp_AngleData_get")]
  public static extern int AngleData_get();

  [DllImport("openbabel", EntryPoint="CSharp_SerialNums_get")]
  public static extern int SerialNums_get();

  [DllImport("openbabel", EntryPoint="CSharp_UnitCell_get")]
  public static extern int UnitCell_get();

  [DllImport("openbabel", EntryPoint="CSharp_SpinData_get")]
  public static extern int SpinData_get();

  [DllImport("openbabel", EntryPoint="CSharp_ChargeData_get")]
  public static extern int ChargeData_get();

  [DllImport("openbabel", EntryPoint="CSharp_SymmetryData_get")]
  public static extern int SymmetryData_get();

  [DllImport("openbabel", EntryPoint="CSharp_ChiralData_get")]
  public static extern int ChiralData_get();

  [DllImport("openbabel", EntryPoint="CSharp_OccupationData_get")]
  public static extern int OccupationData_get();

  [DllImport("openbabel", EntryPoint="CSharp_DensityData_get")]
  public static extern int DensityData_get();

  [DllImport("openbabel", EntryPoint="CSharp_ElectronicData_get")]
  public static extern int ElectronicData_get();

  [DllImport("openbabel", EntryPoint="CSharp_VibrationData_get")]
  public static extern int VibrationData_get();

  [DllImport("openbabel", EntryPoint="CSharp_RotationData_get")]
  public static extern int RotationData_get();

  [DllImport("openbabel", EntryPoint="CSharp_NuclearData_get")]
  public static extern int NuclearData_get();

  [DllImport("openbabel", EntryPoint="CSharp_SetData_get")]
  public static extern int SetData_get();

  [DllImport("openbabel", EntryPoint="CSharp_GridData_get")]
  public static extern int GridData_get();

  [DllImport("openbabel", EntryPoint="CSharp_VectorData_get")]
  public static extern int VectorData_get();

  [DllImport("openbabel", EntryPoint="CSharp_MatrixData_get")]
  public static extern int MatrixData_get();

  [DllImport("openbabel", EntryPoint="CSharp_CustomData0_get")]
  public static extern int CustomData0_get();

  [DllImport("openbabel", EntryPoint="CSharp_CustomData1_get")]
  public static extern int CustomData1_get();

  [DllImport("openbabel", EntryPoint="CSharp_CustomData2_get")]
  public static extern int CustomData2_get();

  [DllImport("openbabel", EntryPoint="CSharp_CustomData3_get")]
  public static extern int CustomData3_get();

  [DllImport("openbabel", EntryPoint="CSharp_CustomData4_get")]
  public static extern int CustomData4_get();

  [DllImport("openbabel", EntryPoint="CSharp_CustomData5_get")]
  public static extern int CustomData5_get();

  [DllImport("openbabel", EntryPoint="CSharp_CustomData6_get")]
  public static extern int CustomData6_get();

  [DllImport("openbabel", EntryPoint="CSharp_CustomData7_get")]
  public static extern int CustomData7_get();

  [DllImport("openbabel", EntryPoint="CSharp_CustomData8_get")]
  public static extern int CustomData8_get();

  [DllImport("openbabel", EntryPoint="CSharp_CustomData9_get")]
  public static extern int CustomData9_get();

  [DllImport("openbabel", EntryPoint="CSharp_CustomData10_get")]
  public static extern int CustomData10_get();

  [DllImport("openbabel", EntryPoint="CSharp_CustomData11_get")]
  public static extern int CustomData11_get();

  [DllImport("openbabel", EntryPoint="CSharp_CustomData12_get")]
  public static extern int CustomData12_get();

  [DllImport("openbabel", EntryPoint="CSharp_CustomData13_get")]
  public static extern int CustomData13_get();

  [DllImport("openbabel", EntryPoint="CSharp_CustomData14_get")]
  public static extern int CustomData14_get();

  [DllImport("openbabel", EntryPoint="CSharp_CustomData15_get")]
  public static extern int CustomData15_get();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBGenericData__SWIG_0")]
  public static extern IntPtr new_OBGenericData__SWIG_0(string jarg1, uint jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBGenericData__SWIG_1")]
  public static extern IntPtr new_OBGenericData__SWIG_1(string jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBGenericData__SWIG_2")]
  public static extern IntPtr new_OBGenericData__SWIG_2(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBGenericData__SWIG_3")]
  public static extern IntPtr new_OBGenericData__SWIG_3();

  [DllImport("openbabel", EntryPoint="CSharp_OBGenericData_Clone")]
  public static extern IntPtr OBGenericData_Clone(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBGenericData")]
  public static extern void delete_OBGenericData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGenericData_SetAttribute")]
  public static extern void OBGenericData_SetAttribute(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBGenericData_SetOrigin")]
  public static extern void OBGenericData_SetOrigin(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBGenericData_GetAttribute")]
  public static extern string OBGenericData_GetAttribute(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGenericData_GetDataType")]
  public static extern uint OBGenericData_GetDataType(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGenericData_GetValue")]
  public static extern string OBGenericData_GetValue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGenericData_GetOrigin")]
  public static extern int OBGenericData_GetOrigin(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBBase")]
  public static extern void delete_OBBase(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_Clear")]
  public static extern bool OBBase_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_DoTransformations")]
  public static extern IntPtr OBBase_DoTransformations(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_ClassDescription")]
  public static extern string OBBase_ClassDescription();

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_HasData__SWIG_0")]
  public static extern bool OBBase_HasData__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_HasData__SWIG_2")]
  public static extern bool OBBase_HasData__SWIG_2(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_DeleteData__SWIG_0")]
  public static extern void OBBase_DeleteData__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_DeleteData__SWIG_1")]
  public static extern void OBBase_DeleteData__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_DeleteData__SWIG_2")]
  public static extern void OBBase_DeleteData__SWIG_2(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_DeleteData__SWIG_3")]
  public static extern bool OBBase_DeleteData__SWIG_3(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_SetData")]
  public static extern void OBBase_SetData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_CloneData")]
  public static extern void OBBase_CloneData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_DataSize")]
  public static extern uint OBBase_DataSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_GetData__SWIG_0")]
  public static extern IntPtr OBBase_GetData__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_GetData__SWIG_1")]
  public static extern IntPtr OBBase_GetData__SWIG_1(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_GetAllData")]
  public static extern IntPtr OBBase_GetAllData(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_GetData__SWIG_3")]
  public static extern IntPtr OBBase_GetData__SWIG_3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_GetData__SWIG_4")]
  public static extern IntPtr OBBase_GetData__SWIG_4(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_BeginData")]
  public static extern IntPtr OBBase_BeginData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBase_EndData")]
  public static extern IntPtr OBBase_EndData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBBase")]
  public static extern IntPtr new_OBBase();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBCommentData__SWIG_0")]
  public static extern IntPtr new_OBCommentData__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBCommentData__SWIG_1")]
  public static extern IntPtr new_OBCommentData__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBCommentData_SetData__SWIG_0")]
  public static extern void OBCommentData_SetData__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBCommentData_GetData")]
  public static extern string OBCommentData_GetData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBCommentData")]
  public static extern void delete_OBCommentData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBExternalBond__SWIG_0")]
  public static extern IntPtr new_OBExternalBond__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBExternalBond__SWIG_1")]
  public static extern IntPtr new_OBExternalBond__SWIG_1(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBExternalBond__SWIG_2")]
  public static extern IntPtr new_OBExternalBond__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBExternalBond")]
  public static extern void delete_OBExternalBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBExternalBond_GetIdx")]
  public static extern int OBExternalBond_GetIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBExternalBond_GetAtom")]
  public static extern IntPtr OBExternalBond_GetAtom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBExternalBond_GetBond")]
  public static extern IntPtr OBExternalBond_GetBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBExternalBond_SetIdx")]
  public static extern void OBExternalBond_SetIdx(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBExternalBond_SetAtom")]
  public static extern void OBExternalBond_SetAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBExternalBond_SetBond")]
  public static extern void OBExternalBond_SetBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBExternalBondData")]
  public static extern IntPtr new_OBExternalBondData();

  [DllImport("openbabel", EntryPoint="CSharp_OBExternalBondData_SetData")]
  public static extern void OBExternalBondData_SetData(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, int jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBExternalBondData_GetData")]
  public static extern IntPtr OBExternalBondData_GetData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBExternalBondData")]
  public static extern void delete_OBExternalBondData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBPairData")]
  public static extern IntPtr new_OBPairData();

  [DllImport("openbabel", EntryPoint="CSharp_OBPairData_SetValue__SWIG_0")]
  public static extern void OBPairData_SetValue__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBPairData")]
  public static extern void delete_OBPairData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBSetData")]
  public static extern IntPtr new_OBSetData();

  [DllImport("openbabel", EntryPoint="CSharp_OBSetData_AddData")]
  public static extern void OBSetData_AddData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBSetData_SetData")]
  public static extern void OBSetData_SetData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBSetData_GetData__SWIG_0")]
  public static extern IntPtr OBSetData_GetData__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBSetData_GetData__SWIG_2")]
  public static extern IntPtr OBSetData_GetData__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSetData_GetBegin")]
  public static extern IntPtr OBSetData_GetBegin(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSetData_GetEnd")]
  public static extern IntPtr OBSetData_GetEnd(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSetData_DeleteData")]
  public static extern void OBSetData_DeleteData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBSetData")]
  public static extern void delete_OBSetData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBVirtualBond__SWIG_0")]
  public static extern IntPtr new_OBVirtualBond__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBVirtualBond__SWIG_1")]
  public static extern IntPtr new_OBVirtualBond__SWIG_1(int jarg1, int jarg2, int jarg3, int jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBVirtualBond__SWIG_2")]
  public static extern IntPtr new_OBVirtualBond__SWIG_2(int jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBVirtualBond_GetBgn")]
  public static extern int OBVirtualBond_GetBgn(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBVirtualBond_GetEnd")]
  public static extern int OBVirtualBond_GetEnd(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBVirtualBond_GetOrder")]
  public static extern int OBVirtualBond_GetOrder(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBVirtualBond_GetStereo")]
  public static extern int OBVirtualBond_GetStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBVirtualBond")]
  public static extern void delete_OBVirtualBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBRingData__SWIG_0")]
  public static extern IntPtr new_OBRingData__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBRingData__SWIG_1")]
  public static extern IntPtr new_OBRingData__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBRingData")]
  public static extern void delete_OBRingData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRingData_SetData")]
  public static extern void OBRingData_SetData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBRingData_PushBack")]
  public static extern void OBRingData_PushBack(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBRingData_GetData")]
  public static extern IntPtr OBRingData_GetData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRingData_BeginRings")]
  public static extern IntPtr OBRingData_BeginRings(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRingData_EndRings")]
  public static extern IntPtr OBRingData_EndRings(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRingData_BeginRing")]
  public static extern IntPtr OBRingData_BeginRing(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBRingData_NextRing")]
  public static extern IntPtr OBRingData_NextRing(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBUnitCell__SWIG_0")]
  public static extern IntPtr new_OBUnitCell__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBUnitCell__SWIG_1")]
  public static extern IntPtr new_OBUnitCell__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBUnitCell")]
  public static extern void delete_OBUnitCell(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_SetData__SWIG_0")]
  public static extern void OBUnitCell_SetData__SWIG_0(HandleRef jarg1, double jarg2, double jarg3, double jarg4, double jarg5, double jarg6, double jarg7);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_SetData__SWIG_1")]
  public static extern void OBUnitCell_SetData__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_SetOffset")]
  public static extern void OBUnitCell_SetOffset(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_SetSpaceGroup__SWIG_0")]
  public static extern void OBUnitCell_SetSpaceGroup__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_SetSpaceGroup__SWIG_1")]
  public static extern void OBUnitCell_SetSpaceGroup__SWIG_1(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_SetSpaceGroup__SWIG_2")]
  public static extern void OBUnitCell_SetSpaceGroup__SWIG_2(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_SetLatticeType")]
  public static extern void OBUnitCell_SetLatticeType(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_FillUnitCell")]
  public static extern void OBUnitCell_FillUnitCell(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_GetA")]
  public static extern double OBUnitCell_GetA(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_GetB")]
  public static extern double OBUnitCell_GetB(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_GetC")]
  public static extern double OBUnitCell_GetC(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_GetAlpha")]
  public static extern double OBUnitCell_GetAlpha(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_GetBeta")]
  public static extern double OBUnitCell_GetBeta(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_GetGamma")]
  public static extern double OBUnitCell_GetGamma(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_GetOffset")]
  public static extern IntPtr OBUnitCell_GetOffset(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_GetSpaceGroup")]
  public static extern IntPtr OBUnitCell_GetSpaceGroup(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_GetSpaceGroupName")]
  public static extern string OBUnitCell_GetSpaceGroupName(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_GetLatticeType__SWIG_0")]
  public static extern int OBUnitCell_GetLatticeType__SWIG_0(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_GetLatticeType__SWIG_1")]
  public static extern int OBUnitCell_GetLatticeType__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_GetCellVectors")]
  public static extern IntPtr OBUnitCell_GetCellVectors(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_GetCellMatrix")]
  public static extern IntPtr OBUnitCell_GetCellMatrix(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_GetOrthoMatrix")]
  public static extern IntPtr OBUnitCell_GetOrthoMatrix(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_GetFractionalMatrix")]
  public static extern IntPtr OBUnitCell_GetFractionalMatrix(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_GetSpaceGroupNumber__SWIG_0")]
  public static extern int OBUnitCell_GetSpaceGroupNumber__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_GetSpaceGroupNumber__SWIG_1")]
  public static extern int OBUnitCell_GetSpaceGroupNumber__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCell_GetCellVolume")]
  public static extern double OBUnitCell_GetCellVolume(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBConformerData__SWIG_0")]
  public static extern IntPtr new_OBConformerData__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBConformerData__SWIG_1")]
  public static extern IntPtr new_OBConformerData__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBConformerData")]
  public static extern void delete_OBConformerData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConformerData_SetDimension")]
  public static extern void OBConformerData_SetDimension(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConformerData_SetEnergies")]
  public static extern void OBConformerData_SetEnergies(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConformerData_SetForces")]
  public static extern void OBConformerData_SetForces(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConformerData_SetVelocities")]
  public static extern void OBConformerData_SetVelocities(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConformerData_SetDisplacements")]
  public static extern void OBConformerData_SetDisplacements(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConformerData_SetData")]
  public static extern void OBConformerData_SetData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConformerData_GetDimension")]
  public static extern IntPtr OBConformerData_GetDimension(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConformerData_GetEnergies")]
  public static extern IntPtr OBConformerData_GetEnergies(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConformerData_GetForces")]
  public static extern IntPtr OBConformerData_GetForces(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConformerData_GetVelocities")]
  public static extern IntPtr OBConformerData_GetVelocities(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConformerData_GetDisplacements")]
  public static extern IntPtr OBConformerData_GetDisplacements(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConformerData_GetData")]
  public static extern IntPtr OBConformerData_GetData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBSymmetryData__SWIG_0")]
  public static extern IntPtr new_OBSymmetryData__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBSymmetryData__SWIG_1")]
  public static extern IntPtr new_OBSymmetryData__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBSymmetryData")]
  public static extern void delete_OBSymmetryData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSymmetryData_SetData__SWIG_0")]
  public static extern void OBSymmetryData_SetData__SWIG_0(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBSymmetryData_SetData__SWIG_1")]
  public static extern void OBSymmetryData_SetData__SWIG_1(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBSymmetryData_SetPointGroup")]
  public static extern void OBSymmetryData_SetPointGroup(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBSymmetryData_SetSpaceGroup")]
  public static extern void OBSymmetryData_SetSpaceGroup(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBSymmetryData_GetPointGroup")]
  public static extern string OBSymmetryData_GetPointGroup(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSymmetryData_GetSpaceGroup")]
  public static extern string OBSymmetryData_GetSpaceGroup(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBTorsion__SWIG_2")]
  public static extern IntPtr new_OBTorsion__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBTorsion")]
  public static extern void delete_OBTorsion(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsion_Clear")]
  public static extern void OBTorsion_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsion_Empty")]
  public static extern bool OBTorsion_Empty(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsion_AddTorsion__SWIG_0")]
  public static extern bool OBTorsion_AddTorsion__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsion_AddTorsion__SWIG_1")]
  public static extern bool OBTorsion_AddTorsion__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsion_SetAngle__SWIG_0")]
  public static extern bool OBTorsion_SetAngle__SWIG_0(HandleRef jarg1, double jarg2, uint jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsion_SetAngle__SWIG_1")]
  public static extern bool OBTorsion_SetAngle__SWIG_1(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsion_SetData")]
  public static extern bool OBTorsion_SetData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsion_GetAngle__SWIG_0")]
  public static extern bool OBTorsion_GetAngle__SWIG_0(HandleRef jarg1, HandleRef jarg2, uint jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsion_GetAngle__SWIG_1")]
  public static extern bool OBTorsion_GetAngle__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsion_GetBondIdx")]
  public static extern uint OBTorsion_GetBondIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsion_GetSize")]
  public static extern uint OBTorsion_GetSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsion_GetBC")]
  public static extern IntPtr OBTorsion_GetBC(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsion_GetADs")]
  public static extern IntPtr OBTorsion_GetADs(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsion_IsProtonRotor")]
  public static extern bool OBTorsion_IsProtonRotor(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsionData_Clear")]
  public static extern void OBTorsionData_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsionData_GetData")]
  public static extern IntPtr OBTorsionData_GetData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsionData_GetSize")]
  public static extern uint OBTorsionData_GetSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsionData_SetData")]
  public static extern void OBTorsionData_SetData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsionData_FillTorsionArray")]
  public static extern bool OBTorsionData_FillTorsionArray(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBTorsionData")]
  public static extern void delete_OBTorsionData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBAngle__SWIG_2")]
  public static extern IntPtr new_OBAngle__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBAngle")]
  public static extern void delete_OBAngle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAngle_Clear")]
  public static extern void OBAngle_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAngle_GetAngle")]
  public static extern double OBAngle_GetAngle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAngle_SetAngle")]
  public static extern void OBAngle_SetAngle(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAngle_SetAtoms__SWIG_0")]
  public static extern void OBAngle_SetAtoms__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBAngle_SetAtoms__SWIG_1")]
  public static extern void OBAngle_SetAtoms__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAngleData_Clear")]
  public static extern void OBAngleData_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAngleData_FillAngleArray__SWIG_0")]
  public static extern uint OBAngleData_FillAngleArray__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBAngleData_FillAngleArray__SWIG_1")]
  public static extern bool OBAngleData_FillAngleArray__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAngleData_SetData")]
  public static extern void OBAngleData_SetData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAngleData_GetSize")]
  public static extern uint OBAngleData_GetSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBAngleData")]
  public static extern void delete_OBAngleData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBChiralData__SWIG_0")]
  public static extern IntPtr new_OBChiralData__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBChiralData__SWIG_1")]
  public static extern IntPtr new_OBChiralData__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBChiralData")]
  public static extern void delete_OBChiralData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBChiralData_Clear")]
  public static extern void OBChiralData_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBChiralData_GetAtom4Refs")]
  public static extern IntPtr OBChiralData_GetAtom4Refs(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBChiralData_GetAtomRef")]
  public static extern uint OBChiralData_GetAtomRef(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBChiralData_SetAtom4Refs")]
  public static extern bool OBChiralData_SetAtom4Refs(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBChiralData_AddAtomRef")]
  public static extern int OBChiralData_AddAtomRef(HandleRef jarg1, uint jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBChiralData_GetSize")]
  public static extern uint OBChiralData_GetSize(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBSerialNums__SWIG_0")]
  public static extern IntPtr new_OBSerialNums__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBSerialNums__SWIG_1")]
  public static extern IntPtr new_OBSerialNums__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSerialNums_GetData")]
  public static extern IntPtr OBSerialNums_GetData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSerialNums_SetData")]
  public static extern void OBSerialNums_SetData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBSerialNums")]
  public static extern void delete_OBSerialNums(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBVibrationData")]
  public static extern IntPtr new_OBVibrationData();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBVibrationData")]
  public static extern void delete_OBVibrationData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBVibrationData_SetData")]
  public static extern void OBVibrationData_SetData(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBVibrationData_GetLx")]
  public static extern IntPtr OBVibrationData_GetLx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBVibrationData_GetFrequencies")]
  public static extern IntPtr OBVibrationData_GetFrequencies(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBVibrationData_GetIntensities")]
  public static extern IntPtr OBVibrationData_GetIntensities(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBVibrationData_GetNumberOfFrequencies")]
  public static extern uint OBVibrationData_GetNumberOfFrequencies(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBRotationData")]
  public static extern IntPtr new_OBRotationData();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBRotationData")]
  public static extern void delete_OBRotationData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRotationData_SetData")]
  public static extern void OBRotationData_SetData(HandleRef jarg1, int jarg2, HandleRef jarg3, int jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBRotationData_GetRotConsts")]
  public static extern IntPtr OBRotationData_GetRotConsts(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRotationData_GetSymmetryNumber")]
  public static extern int OBRotationData_GetSymmetryNumber(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRotationData_GetRotorType")]
  public static extern int OBRotationData_GetRotorType(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBVectorData")]
  public static extern IntPtr new_OBVectorData();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBVectorData")]
  public static extern void delete_OBVectorData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBVectorData_SetData__SWIG_0")]
  public static extern void OBVectorData_SetData__SWIG_0(HandleRef jarg1, double jarg2, double jarg3, double jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBVectorData_SetData__SWIG_1")]
  public static extern void OBVectorData_SetData__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBVectorData_GetData")]
  public static extern IntPtr OBVectorData_GetData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMatrixData")]
  public static extern IntPtr new_OBMatrixData();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBMatrixData")]
  public static extern void delete_OBMatrixData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMatrixData_SetData")]
  public static extern void OBMatrixData_SetData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMatrixData_GetData")]
  public static extern IntPtr OBMatrixData_GetData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBGridData")]
  public static extern IntPtr new_OBGridData();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBGridData")]
  public static extern void delete_OBGridData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetAxes__SWIG_0")]
  public static extern void OBGridData_GetAxes__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetXAxis")]
  public static extern IntPtr OBGridData_GetXAxis(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetYAxis")]
  public static extern IntPtr OBGridData_GetYAxis(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetZAxis")]
  public static extern IntPtr OBGridData_GetZAxis(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetAxes__SWIG_1")]
  public static extern void OBGridData_GetAxes__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetNumberOfPoints__SWIG_0")]
  public static extern void OBGridData_GetNumberOfPoints__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetNumberOfPoints__SWIG_1")]
  public static extern int OBGridData_GetNumberOfPoints__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetNumberOfSteps")]
  public static extern void OBGridData_GetNumberOfSteps(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetValues")]
  public static extern IntPtr OBGridData_GetValues(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetValue__SWIG_0")]
  public static extern double OBGridData_GetValue__SWIG_0(HandleRef jarg1, int jarg2, int jarg3, int jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetValue__SWIG_1")]
  public static extern double OBGridData_GetValue__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetUnit")]
  public static extern int OBGridData_GetUnit(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetMinValue")]
  public static extern double OBGridData_GetMinValue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetMaxValue")]
  public static extern double OBGridData_GetMaxValue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetOriginVector__SWIG_0")]
  public static extern IntPtr OBGridData_GetOriginVector__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetOriginVector__SWIG_1")]
  public static extern void OBGridData_GetOriginVector__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetMaxVector")]
  public static extern IntPtr OBGridData_GetMaxVector(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetUnrestricted")]
  public static extern bool OBGridData_GetUnrestricted(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_GetNumSymmetries")]
  public static extern int OBGridData_GetNumSymmetries(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_SetNumberOfPoints")]
  public static extern void OBGridData_SetNumberOfPoints(HandleRef jarg1, int jarg2, int jarg3, int jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_SetLimits__SWIG_0")]
  public static extern void OBGridData_SetLimits__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_SetLimits__SWIG_1")]
  public static extern void OBGridData_SetLimits__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_SetValue")]
  public static extern bool OBGridData_SetValue(HandleRef jarg1, int jarg2, int jarg3, int jarg4, double jarg5);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_SetValues")]
  public static extern void OBGridData_SetValues(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_SetUnit")]
  public static extern void OBGridData_SetUnit(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_SetUnrestricted")]
  public static extern void OBGridData_SetUnrestricted(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridData_SetNumSymmetries")]
  public static extern void OBGridData_SetNumSymmetries(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_MaxMonoAtom_get")]
  public static extern int MaxMonoAtom_get();

  [DllImport("openbabel", EntryPoint="CSharp_MaxMonoBond_get")]
  public static extern int MaxMonoBond_get();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBChainsParser")]
  public static extern IntPtr new_OBChainsParser();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBChainsParser")]
  public static extern void delete_OBChainsParser(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBChainsParser_PerceiveChains__SWIG_0")]
  public static extern bool OBChainsParser_PerceiveChains__SWIG_0(HandleRef jarg1, HandleRef jarg2, bool jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBChainsParser_PerceiveChains__SWIG_1")]
  public static extern bool OBChainsParser_PerceiveChains__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBAtomTyper")]
  public static extern IntPtr new_OBAtomTyper();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBAtomTyper")]
  public static extern void delete_OBAtomTyper(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomTyper_AssignHyb")]
  public static extern void OBAtomTyper_AssignHyb(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomTyper_AssignTypes")]
  public static extern void OBAtomTyper_AssignTypes(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomTyper_AssignImplicitValence")]
  public static extern void OBAtomTyper_AssignImplicitValence(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomTyper_CorrectAromaticNitrogens")]
  public static extern void OBAtomTyper_CorrectAromaticNitrogens(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBAromaticTyper")]
  public static extern IntPtr new_OBAromaticTyper();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBAromaticTyper")]
  public static extern void delete_OBAromaticTyper(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAromaticTyper_AssignAromaticFlags")]
  public static extern void OBAromaticTyper_AssignAromaticFlags(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAromaticTyper_PropagatePotentialAromatic")]
  public static extern void OBAromaticTyper_PropagatePotentialAromatic(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAromaticTyper_SelectRootAtoms__SWIG_0")]
  public static extern void OBAromaticTyper_SelectRootAtoms__SWIG_0(HandleRef jarg1, HandleRef jarg2, bool jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBAromaticTyper_SelectRootAtoms__SWIG_1")]
  public static extern void OBAromaticTyper_SelectRootAtoms__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAromaticTyper_ExcludeSmallRing")]
  public static extern void OBAromaticTyper_ExcludeSmallRing(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAromaticTyper_CheckAromaticity")]
  public static extern void OBAromaticTyper_CheckAromaticity(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBAromaticTyper_TraverseCycle")]
  public static extern bool OBAromaticTyper_TraverseCycle(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, int jarg6);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBRingTyper")]
  public static extern IntPtr new_OBRingTyper();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBRingTyper")]
  public static extern void delete_OBRingTyper(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRingTyper_AssignTypes")]
  public static extern void OBRingTyper_AssignTypes(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_CharPtrLess")]
  public static extern IntPtr new_CharPtrLess();

  [DllImport("openbabel", EntryPoint="CSharp_delete_CharPtrLess")]
  public static extern void delete_CharPtrLess(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBPlugin")]
  public static extern void delete_OBPlugin(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBPlugin_Description")]
  public static extern string OBPlugin_Description(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBPlugin_Display__SWIG_0")]
  public static extern bool OBPlugin_Display__SWIG_0(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBPlugin_Display__SWIG_1")]
  public static extern bool OBPlugin_Display__SWIG_1(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBPlugin_MakeInstance")]
  public static extern IntPtr OBPlugin_MakeInstance(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBPlugin_GetPlugin")]
  public static extern IntPtr OBPlugin_GetPlugin(string jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBPlugin_GetID")]
  public static extern string OBPlugin_GetID(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBPlugin_ListAsVector")]
  public static extern bool OBPlugin_ListAsVector(string jarg1, string jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBPlugin_List__SWIG_0")]
  public static extern void OBPlugin_List__SWIG_0(string jarg1, string jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBPlugin_List__SWIG_1")]
  public static extern void OBPlugin_List__SWIG_1(string jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBPlugin_List__SWIG_2")]
  public static extern void OBPlugin_List__SWIG_2(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBPlugin_ListAsString__SWIG_0")]
  public static extern string OBPlugin_ListAsString__SWIG_0(string jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBPlugin_ListAsString__SWIG_1")]
  public static extern string OBPlugin_ListAsString__SWIG_1(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBPlugin_FirstLine")]
  public static extern string OBPlugin_FirstLine(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBPlugin_Begin")]
  public static extern IntPtr OBPlugin_Begin(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBPlugin_End")]
  public static extern IntPtr OBPlugin_End(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBPlugin_GetMap")]
  public static extern IntPtr OBPlugin_GetMap(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBError__SWIG_0")]
  public static extern IntPtr new_OBError__SWIG_0(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5, int jarg6);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBError__SWIG_1")]
  public static extern IntPtr new_OBError__SWIG_1(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBError__SWIG_2")]
  public static extern IntPtr new_OBError__SWIG_2(string jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBError__SWIG_3")]
  public static extern IntPtr new_OBError__SWIG_3(string jarg1, string jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBError__SWIG_4")]
  public static extern IntPtr new_OBError__SWIG_4(string jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBError__SWIG_5")]
  public static extern IntPtr new_OBError__SWIG_5(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBError__SWIG_6")]
  public static extern IntPtr new_OBError__SWIG_6();

  [DllImport("openbabel", EntryPoint="CSharp_OBError_message")]
  public static extern string OBError_message(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBError_GetMethod")]
  public static extern string OBError_GetMethod(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBError_GetError")]
  public static extern string OBError_GetError(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBError_GetExplanation")]
  public static extern string OBError_GetExplanation(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBError_GetPossibleCause")]
  public static extern string OBError_GetPossibleCause(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBError_GetSuggestedRemedy")]
  public static extern string OBError_GetSuggestedRemedy(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBError_GetLevel")]
  public static extern int OBError_GetLevel(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBError")]
  public static extern void delete_OBError(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMessageHandler")]
  public static extern IntPtr new_OBMessageHandler();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBMessageHandler")]
  public static extern void delete_OBMessageHandler(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_ThrowError__SWIG_0")]
  public static extern void OBMessageHandler_ThrowError__SWIG_0(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_ThrowError__SWIG_1")]
  public static extern void OBMessageHandler_ThrowError__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_ThrowError__SWIG_2")]
  public static extern void OBMessageHandler_ThrowError__SWIG_2(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_ThrowError__SWIG_3")]
  public static extern void OBMessageHandler_ThrowError__SWIG_3(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_ThrowError__SWIG_4")]
  public static extern void OBMessageHandler_ThrowError__SWIG_4(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_GetMessagesOfLevel")]
  public static extern IntPtr OBMessageHandler_GetMessagesOfLevel(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_StartLogging")]
  public static extern void OBMessageHandler_StartLogging(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_StopLogging")]
  public static extern void OBMessageHandler_StopLogging(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_SetMaxLogEntries")]
  public static extern void OBMessageHandler_SetMaxLogEntries(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_GetMaxLogEntries")]
  public static extern uint OBMessageHandler_GetMaxLogEntries(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_ClearLog")]
  public static extern void OBMessageHandler_ClearLog(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_SetOutputLevel")]
  public static extern void OBMessageHandler_SetOutputLevel(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_GetOutputLevel")]
  public static extern int OBMessageHandler_GetOutputLevel(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_SetOutputStream")]
  public static extern void OBMessageHandler_SetOutputStream(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_GetOutputStream")]
  public static extern IntPtr OBMessageHandler_GetOutputStream(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_StartErrorWrap")]
  public static extern bool OBMessageHandler_StartErrorWrap(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_StopErrorWrap")]
  public static extern bool OBMessageHandler_StopErrorWrap(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_GetErrorMessageCount")]
  public static extern uint OBMessageHandler_GetErrorMessageCount(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_GetWarningMessageCount")]
  public static extern uint OBMessageHandler_GetWarningMessageCount(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_GetInfoMessageCount")]
  public static extern uint OBMessageHandler_GetInfoMessageCount(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_GetAuditMessageCount")]
  public static extern uint OBMessageHandler_GetAuditMessageCount(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_GetDebugMessageCount")]
  public static extern uint OBMessageHandler_GetDebugMessageCount(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMessageHandler_GetMessageSummary")]
  public static extern string OBMessageHandler_GetMessageSummary(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_obErrorLog_set")]
  public static extern void obErrorLog_set(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_obErrorLog_get")]
  public static extern IntPtr obErrorLog_get();

  [DllImport("openbabel", EntryPoint="CSharp_delete_obLogBuf")]
  public static extern void delete_obLogBuf(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_obLogBuf")]
  public static extern IntPtr new_obLogBuf();

  [DllImport("openbabel", EntryPoint="CSharp_NOTREADABLE_get")]
  public static extern int NOTREADABLE_get();

  [DllImport("openbabel", EntryPoint="CSharp_READONEONLY_get")]
  public static extern int READONEONLY_get();

  [DllImport("openbabel", EntryPoint="CSharp_READBINARY_get")]
  public static extern int READBINARY_get();

  [DllImport("openbabel", EntryPoint="CSharp_ZEROATOMSOK_get")]
  public static extern int ZEROATOMSOK_get();

  [DllImport("openbabel", EntryPoint="CSharp_NOTWRITABLE_get")]
  public static extern int NOTWRITABLE_get();

  [DllImport("openbabel", EntryPoint="CSharp_WRITEONEONLY_get")]
  public static extern int WRITEONEONLY_get();

  [DllImport("openbabel", EntryPoint="CSharp_WRITEBINARY_get")]
  public static extern int WRITEBINARY_get();

  [DllImport("openbabel", EntryPoint="CSharp_READXML_get")]
  public static extern int READXML_get();

  [DllImport("openbabel", EntryPoint="CSharp_DEFAULTFORMAT_get")]
  public static extern int DEFAULTFORMAT_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_Default")]
  public static extern IntPtr OBFormat_Default();

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_FindType")]
  public static extern IntPtr OBFormat_FindType(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_TypeID")]
  public static extern string OBFormat_TypeID(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_ReadMolecule")]
  public static extern bool OBFormat_ReadMolecule(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_ReadChemObject")]
  public static extern bool OBFormat_ReadChemObject(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_WriteMolecule")]
  public static extern bool OBFormat_WriteMolecule(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_WriteChemObject")]
  public static extern bool OBFormat_WriteChemObject(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_TargetClassDescription")]
  public static extern string OBFormat_TargetClassDescription(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_GetType")]
  public static extern IntPtr OBFormat_GetType(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_SpecificationURL")]
  public static extern string OBFormat_SpecificationURL(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_GetMIMEType")]
  public static extern string OBFormat_GetMIMEType(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_Flags")]
  public static extern uint OBFormat_Flags(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_SkipObjects")]
  public static extern int OBFormat_SkipObjects(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_MakeNewInstance")]
  public static extern IntPtr OBFormat_MakeNewInstance(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_RegisterFormat__SWIG_0")]
  public static extern int OBFormat_RegisterFormat__SWIG_0(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_RegisterFormat__SWIG_1")]
  public static extern int OBFormat_RegisterFormat__SWIG_1(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_Display__SWIG_0")]
  public static extern bool OBFormat_Display__SWIG_0(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_Display__SWIG_1")]
  public static extern bool OBFormat_Display__SWIG_1(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBFormat_FormatFromMIME")]
  public static extern IntPtr OBFormat_FormatFromMIME(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBFormat")]
  public static extern void delete_OBFormat(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBConversion__SWIG_0")]
  public static extern IntPtr new_OBConversion__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBConversion__SWIG_1")]
  public static extern IntPtr new_OBConversion__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBConversion__SWIG_2")]
  public static extern IntPtr new_OBConversion__SWIG_2();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBConversion__SWIG_3")]
  public static extern IntPtr new_OBConversion__SWIG_3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBConversion")]
  public static extern void delete_OBConversion(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_RegisterFormat__SWIG_0")]
  public static extern int OBConversion_RegisterFormat__SWIG_0(string jarg1, HandleRef jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_RegisterFormat__SWIG_1")]
  public static extern int OBConversion_RegisterFormat__SWIG_1(string jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_FindFormat")]
  public static extern IntPtr OBConversion_FindFormat(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_FormatFromExt")]
  public static extern IntPtr OBConversion_FormatFromExt(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_FormatFromMIME")]
  public static extern IntPtr OBConversion_FormatFromMIME(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_GetNextFormat")]
  public static extern bool OBConversion_GetNextFormat(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_Description")]
  public static extern string OBConversion_Description();

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_GetInStream")]
  public static extern IntPtr OBConversion_GetInStream(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_GetOutStream")]
  public static extern IntPtr OBConversion_GetOutStream(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_SetInStream")]
  public static extern void OBConversion_SetInStream(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_SetOutStream")]
  public static extern void OBConversion_SetOutStream(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_SetInAndOutFormats__SWIG_0")]
  public static extern bool OBConversion_SetInAndOutFormats__SWIG_0(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_SetInAndOutFormats__SWIG_1")]
  public static extern bool OBConversion_SetInAndOutFormats__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_SetInFormat__SWIG_0")]
  public static extern bool OBConversion_SetInFormat__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_SetInFormat__SWIG_1")]
  public static extern bool OBConversion_SetInFormat__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_SetOutFormat__SWIG_0")]
  public static extern bool OBConversion_SetOutFormat__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_SetOutFormat__SWIG_1")]
  public static extern bool OBConversion_SetOutFormat__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_GetInFormat")]
  public static extern IntPtr OBConversion_GetInFormat(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_GetOutFormat")]
  public static extern IntPtr OBConversion_GetOutFormat(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_GetInFilename")]
  public static extern string OBConversion_GetInFilename(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_GetInPos")]
  public static extern IntPtr OBConversion_GetInPos(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_GetInLen")]
  public static extern uint OBConversion_GetInLen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_GetTitle")]
  public static extern string OBConversion_GetTitle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_GetAuxConv")]
  public static extern IntPtr OBConversion_GetAuxConv(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_SetAuxConv")]
  public static extern void OBConversion_SetAuxConv(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_IsOption__SWIG_0")]
  public static extern string OBConversion_IsOption__SWIG_0(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_IsOption__SWIG_1")]
  public static extern string OBConversion_IsOption__SWIG_1(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_GetOptions")]
  public static extern IntPtr OBConversion_GetOptions(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_AddOption__SWIG_0")]
  public static extern void OBConversion_AddOption__SWIG_0(HandleRef jarg1, string jarg2, int jarg3, string jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_AddOption__SWIG_1")]
  public static extern void OBConversion_AddOption__SWIG_1(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_AddOption__SWIG_2")]
  public static extern void OBConversion_AddOption__SWIG_2(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_RemoveOption")]
  public static extern bool OBConversion_RemoveOption(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_SetOptions")]
  public static extern void OBConversion_SetOptions(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_RegisterOptionParam__SWIG_0")]
  public static extern void OBConversion_RegisterOptionParam__SWIG_0(string jarg1, HandleRef jarg2, int jarg3, int jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_RegisterOptionParam__SWIG_1")]
  public static extern void OBConversion_RegisterOptionParam__SWIG_1(string jarg1, HandleRef jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_RegisterOptionParam__SWIG_2")]
  public static extern void OBConversion_RegisterOptionParam__SWIG_2(string jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_GetOptionParams")]
  public static extern int OBConversion_GetOptionParams(string jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_CopyOptions__SWIG_0")]
  public static extern void OBConversion_CopyOptions__SWIG_0(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_CopyOptions__SWIG_1")]
  public static extern void OBConversion_CopyOptions__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_GetSupportedInputFormat")]
  public static extern IntPtr OBConversion_GetSupportedInputFormat(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_GetSupportedOutputFormat")]
  public static extern IntPtr OBConversion_GetSupportedOutputFormat(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_Convert__SWIG_0")]
  public static extern int OBConversion_Convert__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_Convert__SWIG_1")]
  public static extern int OBConversion_Convert__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_FullConvert")]
  public static extern int OBConversion_FullConvert(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_AddChemObject")]
  public static extern int OBConversion_AddChemObject(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_GetChemObject")]
  public static extern IntPtr OBConversion_GetChemObject(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_IsLast")]
  public static extern bool OBConversion_IsLast(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_IsFirstInput")]
  public static extern bool OBConversion_IsFirstInput(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_SetFirstInput__SWIG_0")]
  public static extern void OBConversion_SetFirstInput__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_SetFirstInput__SWIG_1")]
  public static extern void OBConversion_SetFirstInput__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_GetOutputIndex")]
  public static extern int OBConversion_GetOutputIndex(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_SetOutputIndex")]
  public static extern void OBConversion_SetOutputIndex(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_SetMoreFilesToCome")]
  public static extern void OBConversion_SetMoreFilesToCome(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_SetOneObjectOnly__SWIG_0")]
  public static extern void OBConversion_SetOneObjectOnly__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_SetOneObjectOnly__SWIG_1")]
  public static extern void OBConversion_SetOneObjectOnly__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_SetLast")]
  public static extern void OBConversion_SetLast(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_IsLastFile")]
  public static extern bool OBConversion_IsLastFile(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_GetDefaultFormat")]
  public static extern IntPtr OBConversion_GetDefaultFormat();

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_Write__SWIG_0")]
  public static extern bool OBConversion_Write__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_Write__SWIG_1")]
  public static extern bool OBConversion_Write__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_WriteString__SWIG_0")]
  public static extern string OBConversion_WriteString__SWIG_0(HandleRef jarg1, HandleRef jarg2, bool jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_WriteString__SWIG_1")]
  public static extern string OBConversion_WriteString__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_WriteFile")]
  public static extern bool OBConversion_WriteFile(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_CloseOutFile")]
  public static extern void OBConversion_CloseOutFile(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_Read__SWIG_0")]
  public static extern bool OBConversion_Read__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_Read__SWIG_1")]
  public static extern bool OBConversion_Read__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_ReadString")]
  public static extern bool OBConversion_ReadString(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_ReadFile")]
  public static extern bool OBConversion_ReadFile(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_OpenInAndOutFiles")]
  public static extern bool OBConversion_OpenInAndOutFiles(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_ReportNumberConverted__SWIG_0")]
  public static extern void OBConversion_ReportNumberConverted__SWIG_0(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBConversion_ReportNumberConverted__SWIG_1")]
  public static extern void OBConversion_ReportNumberConverted__SWIG_1(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBResidue__SWIG_0")]
  public static extern IntPtr new_OBResidue__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBResidue__SWIG_1")]
  public static extern IntPtr new_OBResidue__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBResidue")]
  public static extern void delete_OBResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_AddAtom")]
  public static extern void OBResidue_AddAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_InsertAtom")]
  public static extern void OBResidue_InsertAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_RemoveAtom")]
  public static extern void OBResidue_RemoveAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_SetName")]
  public static extern void OBResidue_SetName(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_SetNum__SWIG_0")]
  public static extern void OBResidue_SetNum__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_SetNum__SWIG_1")]
  public static extern void OBResidue_SetNum__SWIG_1(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_SetChain")]
  public static extern void OBResidue_SetChain(HandleRef jarg1, char jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_SetChainNum")]
  public static extern void OBResidue_SetChainNum(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_SetIdx")]
  public static extern void OBResidue_SetIdx(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_SetAtomID")]
  public static extern void OBResidue_SetAtomID(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_SetHetAtom")]
  public static extern void OBResidue_SetHetAtom(HandleRef jarg1, HandleRef jarg2, bool jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_SetSerialNum")]
  public static extern void OBResidue_SetSerialNum(HandleRef jarg1, HandleRef jarg2, uint jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_GetName")]
  public static extern string OBResidue_GetName(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_GetNum")]
  public static extern uint OBResidue_GetNum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_GetNumString")]
  public static extern string OBResidue_GetNumString(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_GetNumAtoms")]
  public static extern uint OBResidue_GetNumAtoms(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_GetChain")]
  public static extern char OBResidue_GetChain(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_GetChainNum")]
  public static extern uint OBResidue_GetChainNum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_GetIdx")]
  public static extern uint OBResidue_GetIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_GetResKey")]
  public static extern uint OBResidue_GetResKey(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_GetAtoms")]
  public static extern IntPtr OBResidue_GetAtoms(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_GetBonds__SWIG_0")]
  public static extern IntPtr OBResidue_GetBonds__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_GetBonds__SWIG_1")]
  public static extern IntPtr OBResidue_GetBonds__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_GetAtomID")]
  public static extern string OBResidue_GetAtomID(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_GetSerialNum")]
  public static extern uint OBResidue_GetSerialNum(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_GetAminoAcidProperty")]
  public static extern bool OBResidue_GetAminoAcidProperty(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_GetAtomProperty")]
  public static extern bool OBResidue_GetAtomProperty(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_GetResidueProperty")]
  public static extern bool OBResidue_GetResidueProperty(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_IsHetAtom")]
  public static extern bool OBResidue_IsHetAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_IsResidueType")]
  public static extern bool OBResidue_IsResidueType(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_BeginAtoms")]
  public static extern IntPtr OBResidue_BeginAtoms(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_EndAtoms")]
  public static extern IntPtr OBResidue_EndAtoms(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_BeginAtom")]
  public static extern IntPtr OBResidue_BeginAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidue_NextAtom")]
  public static extern IntPtr OBResidue_NextAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_MAXSETNO_get")]
  public static extern int MAXSETNO_get();

  [DllImport("openbabel", EntryPoint="CSharp_MAXELEM_get")]
  public static extern int MAXELEM_get();

  [DllImport("openbabel", EntryPoint="CSharp_MINELEM_get")]
  public static extern int MINELEM_get();

  [DllImport("openbabel", EntryPoint="CSharp_MAXRES_get")]
  public static extern int MAXRES_get();

  [DllImport("openbabel", EntryPoint="CSharp_MINRES_get")]
  public static extern int MINRES_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_ALA_get")]
  public static extern int AA_ALA_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_GLY_get")]
  public static extern int AA_GLY_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_LEU_get")]
  public static extern int AA_LEU_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_SER_get")]
  public static extern int AA_SER_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_VAL_get")]
  public static extern int AA_VAL_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_THR_get")]
  public static extern int AA_THR_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_LYS_get")]
  public static extern int AA_LYS_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_ASP_get")]
  public static extern int AA_ASP_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_ILE_get")]
  public static extern int AA_ILE_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_ASN_get")]
  public static extern int AA_ASN_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_GLU_get")]
  public static extern int AA_GLU_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_PRO_get")]
  public static extern int AA_PRO_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_ARG_get")]
  public static extern int AA_ARG_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_PHE_get")]
  public static extern int AA_PHE_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_GLN_get")]
  public static extern int AA_GLN_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_TYR_get")]
  public static extern int AA_TYR_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_HIS_get")]
  public static extern int AA_HIS_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_CYS_get")]
  public static extern int AA_CYS_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_MET_get")]
  public static extern int AA_MET_get();

  [DllImport("openbabel", EntryPoint="CSharp_AA_TRP_get")]
  public static extern int AA_TRP_get();

  [DllImport("openbabel", EntryPoint="CSharp_ACIDIC_get")]
  public static extern int ACIDIC_get();

  [DllImport("openbabel", EntryPoint="CSharp_ACYCLIC_get")]
  public static extern int ACYCLIC_get();

  [DllImport("openbabel", EntryPoint="CSharp_ALIPHATIC_get")]
  public static extern int ALIPHATIC_get();

  [DllImport("openbabel", EntryPoint="CSharp_AROMATIC_get")]
  public static extern int AROMATIC_get();

  [DllImport("openbabel", EntryPoint="CSharp_BASIC_get")]
  public static extern int BASIC_get();

  [DllImport("openbabel", EntryPoint="CSharp_BURIED_get")]
  public static extern int BURIED_get();

  [DllImport("openbabel", EntryPoint="CSharp_CHARGED_get")]
  public static extern int CHARGED_get();

  [DllImport("openbabel", EntryPoint="CSharp_CYCLIC_get")]
  public static extern int CYCLIC_get();

  [DllImport("openbabel", EntryPoint="CSharp_HYDROPHOBIC_get")]
  public static extern int HYDROPHOBIC_get();

  [DllImport("openbabel", EntryPoint="CSharp_LARGE_get")]
  public static extern int LARGE_get();

  [DllImport("openbabel", EntryPoint="CSharp_MEDIUM_get")]
  public static extern int MEDIUM_get();

  [DllImport("openbabel", EntryPoint="CSharp_NEGATIVE_get")]
  public static extern int NEGATIVE_get();

  [DllImport("openbabel", EntryPoint="CSharp_NEUTRAL_get")]
  public static extern int NEUTRAL_get();

  [DllImport("openbabel", EntryPoint="CSharp_POLAR_get")]
  public static extern int POLAR_get();

  [DllImport("openbabel", EntryPoint="CSharp_POSITIVE_get")]
  public static extern int POSITIVE_get();

  [DllImport("openbabel", EntryPoint="CSharp_SMALL_get")]
  public static extern int SMALL_get();

  [DllImport("openbabel", EntryPoint="CSharp_SURFACE_get")]
  public static extern int SURFACE_get();

  [DllImport("openbabel", EntryPoint="CSharp_ALPHA_CARBON_get")]
  public static extern int ALPHA_CARBON_get();

  [DllImport("openbabel", EntryPoint="CSharp_AMINO_BACKBONE_get")]
  public static extern int AMINO_BACKBONE_get();

  [DllImport("openbabel", EntryPoint="CSharp_BACKBONE_get")]
  public static extern int BACKBONE_get();

  [DllImport("openbabel", EntryPoint="CSharp_CYSTEINE_SULPHUR_get")]
  public static extern int CYSTEINE_SULPHUR_get();

  [DllImport("openbabel", EntryPoint="CSharp_LIGAND_get")]
  public static extern int LIGAND_get();

  [DllImport("openbabel", EntryPoint="CSharp_NUCLEIC_BACKBONE_get")]
  public static extern int NUCLEIC_BACKBONE_get();

  [DllImport("openbabel", EntryPoint="CSharp_SHAPELY_BACKBONE_get")]
  public static extern int SHAPELY_BACKBONE_get();

  [DllImport("openbabel", EntryPoint="CSharp_SHAPELY_SPECIAL_get")]
  public static extern int SHAPELY_SPECIAL_get();

  [DllImport("openbabel", EntryPoint="CSharp_SIDECHAIN_get")]
  public static extern int SIDECHAIN_get();

  [DllImport("openbabel", EntryPoint="CSharp_SUGAR_PHOSPHATE_get")]
  public static extern int SUGAR_PHOSPHATE_get();

  [DllImport("openbabel", EntryPoint="CSharp_ALA_get")]
  public static extern int ALA_get();

  [DllImport("openbabel", EntryPoint="CSharp_GLY_get")]
  public static extern int GLY_get();

  [DllImport("openbabel", EntryPoint="CSharp_LEU_get")]
  public static extern int LEU_get();

  [DllImport("openbabel", EntryPoint="CSharp_SER_get")]
  public static extern int SER_get();

  [DllImport("openbabel", EntryPoint="CSharp_VAL_get")]
  public static extern int VAL_get();

  [DllImport("openbabel", EntryPoint="CSharp_THR_get")]
  public static extern int THR_get();

  [DllImport("openbabel", EntryPoint="CSharp_LYS_get")]
  public static extern int LYS_get();

  [DllImport("openbabel", EntryPoint="CSharp_ASP_get")]
  public static extern int ASP_get();

  [DllImport("openbabel", EntryPoint="CSharp_ILE_get")]
  public static extern int ILE_get();

  [DllImport("openbabel", EntryPoint="CSharp_ASN_get")]
  public static extern int ASN_get();

  [DllImport("openbabel", EntryPoint="CSharp_GLU_get")]
  public static extern int GLU_get();

  [DllImport("openbabel", EntryPoint="CSharp_PRO_get")]
  public static extern int PRO_get();

  [DllImport("openbabel", EntryPoint="CSharp_ARG_get")]
  public static extern int ARG_get();

  [DllImport("openbabel", EntryPoint="CSharp_PHE_get")]
  public static extern int PHE_get();

  [DllImport("openbabel", EntryPoint="CSharp_GLN_get")]
  public static extern int GLN_get();

  [DllImport("openbabel", EntryPoint="CSharp_TYR_get")]
  public static extern int TYR_get();

  [DllImport("openbabel", EntryPoint="CSharp_HIS_get")]
  public static extern int HIS_get();

  [DllImport("openbabel", EntryPoint="CSharp_CYS_get")]
  public static extern int CYS_get();

  [DllImport("openbabel", EntryPoint="CSharp_MET_get")]
  public static extern int MET_get();

  [DllImport("openbabel", EntryPoint="CSharp_TRP_get")]
  public static extern int TRP_get();

  [DllImport("openbabel", EntryPoint="CSharp_ASX_get")]
  public static extern int ASX_get();

  [DllImport("openbabel", EntryPoint="CSharp_GLX_get")]
  public static extern int GLX_get();

  [DllImport("openbabel", EntryPoint="CSharp_PCA_get")]
  public static extern int PCA_get();

  [DllImport("openbabel", EntryPoint="CSharp_HYP_get")]
  public static extern int HYP_get();

  [DllImport("openbabel", EntryPoint="CSharp_A_get")]
  public static extern int A_get();

  [DllImport("openbabel", EntryPoint="CSharp_C_get")]
  public static extern int C_get();

  [DllImport("openbabel", EntryPoint="CSharp_G_get")]
  public static extern int G_get();

  [DllImport("openbabel", EntryPoint="CSharp_T_get")]
  public static extern int T_get();

  [DllImport("openbabel", EntryPoint="CSharp_U_get")]
  public static extern int U_get();

  [DllImport("openbabel", EntryPoint="CSharp_UPLUS_get")]
  public static extern int UPLUS_get();

  [DllImport("openbabel", EntryPoint="CSharp_I_get")]
  public static extern int I_get();

  [DllImport("openbabel", EntryPoint="CSharp__1MA_get")]
  public static extern int _1MA_get();

  [DllImport("openbabel", EntryPoint="CSharp__5MC_get")]
  public static extern int _5MC_get();

  [DllImport("openbabel", EntryPoint="CSharp_OMC_get")]
  public static extern int OMC_get();

  [DllImport("openbabel", EntryPoint="CSharp__1MG_get")]
  public static extern int _1MG_get();

  [DllImport("openbabel", EntryPoint="CSharp__2MG_get")]
  public static extern int _2MG_get();

  [DllImport("openbabel", EntryPoint="CSharp_M2G_get")]
  public static extern int M2G_get();

  [DllImport("openbabel", EntryPoint="CSharp__7MG_get")]
  public static extern int _7MG_get();

  [DllImport("openbabel", EntryPoint="CSharp_OMG_get")]
  public static extern int OMG_get();

  [DllImport("openbabel", EntryPoint="CSharp_YG_get")]
  public static extern int YG_get();

  [DllImport("openbabel", EntryPoint="CSharp_H2U_get")]
  public static extern int H2U_get();

  [DllImport("openbabel", EntryPoint="CSharp__5MU_get")]
  public static extern int _5MU_get();

  [DllImport("openbabel", EntryPoint="CSharp_PSU_get")]
  public static extern int PSU_get();

  [DllImport("openbabel", EntryPoint="CSharp_UNK_get")]
  public static extern int UNK_get();

  [DllImport("openbabel", EntryPoint="CSharp_ACE_get")]
  public static extern int ACE_get();

  [DllImport("openbabel", EntryPoint="CSharp_FOR_get")]
  public static extern int FOR_get();

  [DllImport("openbabel", EntryPoint="CSharp_HOH_get")]
  public static extern int HOH_get();

  [DllImport("openbabel", EntryPoint="CSharp_DOD_get")]
  public static extern int DOD_get();

  [DllImport("openbabel", EntryPoint="CSharp_SO4_get")]
  public static extern int SO4_get();

  [DllImport("openbabel", EntryPoint="CSharp_PO4_get")]
  public static extern int PO4_get();

  [DllImport("openbabel", EntryPoint="CSharp_NAD_get")]
  public static extern int NAD_get();

  [DllImport("openbabel", EntryPoint="CSharp_COA_get")]
  public static extern int COA_get();

  [DllImport("openbabel", EntryPoint="CSharp_NAP_get")]
  public static extern int NAP_get();

  [DllImport("openbabel", EntryPoint="CSharp_NDP_get")]
  public static extern int NDP_get();

  [DllImport("openbabel", EntryPoint="CSharp_AMINO_get")]
  public static extern int AMINO_get();

  [DllImport("openbabel", EntryPoint="CSharp_AMINO_NUCLEO_get")]
  public static extern int AMINO_NUCLEO_get();

  [DllImport("openbabel", EntryPoint="CSharp_COENZYME_get")]
  public static extern int COENZYME_get();

  [DllImport("openbabel", EntryPoint="CSharp_ION_get")]
  public static extern int ION_get();

  [DllImport("openbabel", EntryPoint="CSharp_NUCLEO_get")]
  public static extern int NUCLEO_get();

  [DllImport("openbabel", EntryPoint="CSharp_PROTEIN_get")]
  public static extern int PROTEIN_get();

  [DllImport("openbabel", EntryPoint="CSharp_PURINE_get")]
  public static extern int PURINE_get();

  [DllImport("openbabel", EntryPoint="CSharp_PYRIMIDINE_get")]
  public static extern int PYRIMIDINE_get();

  [DllImport("openbabel", EntryPoint="CSharp_SOLVENT_get")]
  public static extern int SOLVENT_get();

  [DllImport("openbabel", EntryPoint="CSharp_WATER_get")]
  public static extern int WATER_get();

  [DllImport("openbabel", EntryPoint="CSharp_Residue_set")]
  public static extern void Residue_set(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_Residue_get")]
  public static extern IntPtr Residue_get();

  [DllImport("openbabel", EntryPoint="CSharp_ElemDesc_set")]
  public static extern void ElemDesc_set(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_ElemDesc_get")]
  public static extern IntPtr ElemDesc_get();

  [DllImport("openbabel", EntryPoint="CSharp_ResNo_set")]
  public static extern void ResNo_set(uint jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_ResNo_get")]
  public static extern uint ResNo_get();

  [DllImport("openbabel", EntryPoint="CSharp_ElemNo_set")]
  public static extern void ElemNo_set(uint jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_ElemNo_get")]
  public static extern uint ElemNo_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBInternalCoord__a_set")]
  public static extern void OBInternalCoord__a_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBInternalCoord__a_get")]
  public static extern IntPtr OBInternalCoord__a_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBInternalCoord__b_set")]
  public static extern void OBInternalCoord__b_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBInternalCoord__b_get")]
  public static extern IntPtr OBInternalCoord__b_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBInternalCoord__c_set")]
  public static extern void OBInternalCoord__c_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBInternalCoord__c_get")]
  public static extern IntPtr OBInternalCoord__c_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBInternalCoord__dst_set")]
  public static extern void OBInternalCoord__dst_set(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBInternalCoord__dst_get")]
  public static extern double OBInternalCoord__dst_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBInternalCoord__ang_set")]
  public static extern void OBInternalCoord__ang_set(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBInternalCoord__ang_get")]
  public static extern double OBInternalCoord__ang_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBInternalCoord__tor_set")]
  public static extern void OBInternalCoord__tor_set(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBInternalCoord__tor_get")]
  public static extern double OBInternalCoord__tor_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBInternalCoord__SWIG_0")]
  public static extern IntPtr new_OBInternalCoord__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, double jarg4, double jarg5, double jarg6);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBInternalCoord__SWIG_1")]
  public static extern IntPtr new_OBInternalCoord__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, double jarg4, double jarg5);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBInternalCoord__SWIG_2")]
  public static extern IntPtr new_OBInternalCoord__SWIG_2(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, double jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBInternalCoord__SWIG_3")]
  public static extern IntPtr new_OBInternalCoord__SWIG_3(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBInternalCoord__SWIG_4")]
  public static extern IntPtr new_OBInternalCoord__SWIG_4(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBInternalCoord__SWIG_5")]
  public static extern IntPtr new_OBInternalCoord__SWIG_5(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBInternalCoord__SWIG_6")]
  public static extern IntPtr new_OBInternalCoord__SWIG_6();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBInternalCoord")]
  public static extern void delete_OBInternalCoord(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OB_4RING_ATOM_get")]
  public static extern int OB_4RING_ATOM_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_3RING_ATOM_get")]
  public static extern int OB_3RING_ATOM_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_AROMATIC_ATOM_get")]
  public static extern int OB_AROMATIC_ATOM_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_RING_ATOM_get")]
  public static extern int OB_RING_ATOM_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_CSTEREO_ATOM_get")]
  public static extern int OB_CSTEREO_ATOM_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_ACSTEREO_ATOM_get")]
  public static extern int OB_ACSTEREO_ATOM_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_DONOR_ATOM_get")]
  public static extern int OB_DONOR_ATOM_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_ACCEPTOR_ATOM_get")]
  public static extern int OB_ACCEPTOR_ATOM_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_CHIRAL_ATOM_get")]
  public static extern int OB_CHIRAL_ATOM_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_POS_CHIRAL_ATOM_get")]
  public static extern int OB_POS_CHIRAL_ATOM_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_NEG_CHIRAL_ATOM_get")]
  public static extern int OB_NEG_CHIRAL_ATOM_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_ATOM_HAS_NO_H_get")]
  public static extern int OB_ATOM_HAS_NO_H_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_ATOM_NOT_H_DEFICIENT_get")]
  public static extern int OB_ATOM_NOT_H_DEFICIENT_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_Visit_set")]
  public static extern void OBAtom_Visit_set(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_Visit_get")]
  public static extern bool OBAtom_Visit_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBAtom")]
  public static extern IntPtr new_OBAtom();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBAtom")]
  public static extern void delete_OBAtom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_Duplicate")]
  public static extern void OBAtom_Duplicate(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetIdx")]
  public static extern void OBAtom_SetIdx(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetHyb")]
  public static extern void OBAtom_SetHyb(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetAtomicNum")]
  public static extern void OBAtom_SetAtomicNum(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetIsotope")]
  public static extern void OBAtom_SetIsotope(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetImplicitValence")]
  public static extern void OBAtom_SetImplicitValence(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IncrementImplicitValence")]
  public static extern void OBAtom_IncrementImplicitValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_DecrementImplicitValence")]
  public static extern void OBAtom_DecrementImplicitValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetFormalCharge")]
  public static extern void OBAtom_SetFormalCharge(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetSpinMultiplicity")]
  public static extern void OBAtom_SetSpinMultiplicity(HandleRef jarg1, short jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetType__SWIG_0")]
  public static extern void OBAtom_SetType__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetPartialCharge")]
  public static extern void OBAtom_SetPartialCharge(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetVector__SWIG_0")]
  public static extern void OBAtom_SetVector__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetVector__SWIG_1")]
  public static extern void OBAtom_SetVector__SWIG_1(HandleRef jarg1, double jarg2, double jarg3, double jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetCoordPtr")]
  public static extern void OBAtom_SetCoordPtr(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetVector__SWIG_2")]
  public static extern void OBAtom_SetVector__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetResidue")]
  public static extern void OBAtom_SetResidue(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetParent")]
  public static extern void OBAtom_SetParent(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetAromatic")]
  public static extern void OBAtom_SetAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_UnsetAromatic")]
  public static extern void OBAtom_UnsetAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetClockwiseStereo")]
  public static extern void OBAtom_SetClockwiseStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetAntiClockwiseStereo")]
  public static extern void OBAtom_SetAntiClockwiseStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetPositiveStereo")]
  public static extern void OBAtom_SetPositiveStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetNegativeStereo")]
  public static extern void OBAtom_SetNegativeStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_UnsetStereo")]
  public static extern void OBAtom_UnsetStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetInRing")]
  public static extern void OBAtom_SetInRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetChiral")]
  public static extern void OBAtom_SetChiral(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_ClearCoordPtr")]
  public static extern void OBAtom_ClearCoordPtr(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetFormalCharge")]
  public static extern int OBAtom_GetFormalCharge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetAtomicNum")]
  public static extern uint OBAtom_GetAtomicNum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetIsotope")]
  public static extern ushort OBAtom_GetIsotope(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetSpinMultiplicity")]
  public static extern int OBAtom_GetSpinMultiplicity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetAtomicMass")]
  public static extern double OBAtom_GetAtomicMass(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetExactMass")]
  public static extern double OBAtom_GetExactMass(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetIdx")]
  public static extern uint OBAtom_GetIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetCoordinateIdx")]
  public static extern uint OBAtom_GetCoordinateIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetCIdx")]
  public static extern uint OBAtom_GetCIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetValence")]
  public static extern uint OBAtom_GetValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetHyb")]
  public static extern uint OBAtom_GetHyb(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetImplicitValence")]
  public static extern uint OBAtom_GetImplicitValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetHvyValence")]
  public static extern uint OBAtom_GetHvyValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetHeteroValence")]
  public static extern uint OBAtom_GetHeteroValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetType")]
  public static extern string OBAtom_GetType(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetX")]
  public static extern double OBAtom_GetX(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetY")]
  public static extern double OBAtom_GetY(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetZ")]
  public static extern double OBAtom_GetZ(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_x")]
  public static extern double OBAtom_x(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_y")]
  public static extern double OBAtom_y(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_z")]
  public static extern double OBAtom_z(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetCoordinate")]
  public static extern IntPtr OBAtom_GetCoordinate(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetVector__SWIG_0")]
  public static extern IntPtr OBAtom_GetVector__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetPartialCharge")]
  public static extern double OBAtom_GetPartialCharge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetResidue__SWIG_0")]
  public static extern IntPtr OBAtom_GetResidue__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetResidue__SWIG_1")]
  public static extern IntPtr OBAtom_GetResidue__SWIG_1(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetParent")]
  public static extern IntPtr OBAtom_GetParent(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetNewBondVector")]
  public static extern bool OBAtom_GetNewBondVector(HandleRef jarg1, HandleRef jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetBond")]
  public static extern IntPtr OBAtom_GetBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetNextAtom")]
  public static extern IntPtr OBAtom_GetNextAtom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_BeginBonds")]
  public static extern IntPtr OBAtom_BeginBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_EndBonds")]
  public static extern IntPtr OBAtom_EndBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_BeginBond")]
  public static extern IntPtr OBAtom_BeginBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_NextBond")]
  public static extern IntPtr OBAtom_NextBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_BeginNbrAtom")]
  public static extern IntPtr OBAtom_BeginNbrAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_NextNbrAtom")]
  public static extern IntPtr OBAtom_NextNbrAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetDistance__SWIG_0")]
  public static extern double OBAtom_GetDistance__SWIG_0(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetDistance__SWIG_1")]
  public static extern double OBAtom_GetDistance__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetAngle__SWIG_0")]
  public static extern double OBAtom_GetAngle__SWIG_0(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_GetAngle__SWIG_1")]
  public static extern double OBAtom_GetAngle__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_NewResidue")]
  public static extern void OBAtom_NewResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_AddResidue")]
  public static extern void OBAtom_AddResidue(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_DeleteResidue")]
  public static extern void OBAtom_DeleteResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_AddBond")]
  public static extern void OBAtom_AddBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_InsertBond")]
  public static extern void OBAtom_InsertBond(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_DeleteBond")]
  public static extern bool OBAtom_DeleteBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_ClearBond")]
  public static extern void OBAtom_ClearBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_HtoMethyl")]
  public static extern bool OBAtom_HtoMethyl(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SetHybAndGeom")]
  public static extern bool OBAtom_SetHybAndGeom(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_ForceNoH")]
  public static extern void OBAtom_ForceNoH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_HasNoHForced")]
  public static extern bool OBAtom_HasNoHForced(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_ForceImplH")]
  public static extern void OBAtom_ForceImplH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_HasImplHForced")]
  public static extern bool OBAtom_HasImplHForced(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_CountFreeOxygens")]
  public static extern uint OBAtom_CountFreeOxygens(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_ImplicitHydrogenCount")]
  public static extern uint OBAtom_ImplicitHydrogenCount(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_ExplicitHydrogenCount__SWIG_0")]
  public static extern uint OBAtom_ExplicitHydrogenCount__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_ExplicitHydrogenCount__SWIG_1")]
  public static extern uint OBAtom_ExplicitHydrogenCount__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_MemberOfRingCount")]
  public static extern uint OBAtom_MemberOfRingCount(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_MemberOfRingSize")]
  public static extern uint OBAtom_MemberOfRingSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_CountRingBonds")]
  public static extern uint OBAtom_CountRingBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_SmallestBondAngle")]
  public static extern double OBAtom_SmallestBondAngle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_AverageBondAngle")]
  public static extern double OBAtom_AverageBondAngle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_BOSum")]
  public static extern uint OBAtom_BOSum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_KBOSum")]
  public static extern uint OBAtom_KBOSum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_HasResidue")]
  public static extern bool OBAtom_HasResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsHydrogen")]
  public static extern bool OBAtom_IsHydrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsCarbon")]
  public static extern bool OBAtom_IsCarbon(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsNitrogen")]
  public static extern bool OBAtom_IsNitrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsOxygen")]
  public static extern bool OBAtom_IsOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsSulfur")]
  public static extern bool OBAtom_IsSulfur(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsPhosphorus")]
  public static extern bool OBAtom_IsPhosphorus(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsAromatic")]
  public static extern bool OBAtom_IsAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsInRing")]
  public static extern bool OBAtom_IsInRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsInRingSize")]
  public static extern bool OBAtom_IsInRingSize(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsHeteroatom")]
  public static extern bool OBAtom_IsHeteroatom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsNotCorH")]
  public static extern bool OBAtom_IsNotCorH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsConnected")]
  public static extern bool OBAtom_IsConnected(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsOneThree")]
  public static extern bool OBAtom_IsOneThree(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsOneFour")]
  public static extern bool OBAtom_IsOneFour(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsCarboxylOxygen")]
  public static extern bool OBAtom_IsCarboxylOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsPhosphateOxygen")]
  public static extern bool OBAtom_IsPhosphateOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsSulfateOxygen")]
  public static extern bool OBAtom_IsSulfateOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsNitroOxygen")]
  public static extern bool OBAtom_IsNitroOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsAmideNitrogen")]
  public static extern bool OBAtom_IsAmideNitrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsPolarHydrogen")]
  public static extern bool OBAtom_IsPolarHydrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsNonPolarHydrogen")]
  public static extern bool OBAtom_IsNonPolarHydrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsAromaticNOxide")]
  public static extern bool OBAtom_IsAromaticNOxide(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsChiral")]
  public static extern bool OBAtom_IsChiral(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsAxial")]
  public static extern bool OBAtom_IsAxial(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsClockwise")]
  public static extern bool OBAtom_IsClockwise(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsAntiClockwise")]
  public static extern bool OBAtom_IsAntiClockwise(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsPositiveStereo")]
  public static extern bool OBAtom_IsPositiveStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsNegativeStereo")]
  public static extern bool OBAtom_IsNegativeStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_HasChiralitySpecified")]
  public static extern bool OBAtom_HasChiralitySpecified(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_HasChiralVolume")]
  public static extern bool OBAtom_HasChiralVolume(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsHbondAcceptor")]
  public static extern bool OBAtom_IsHbondAcceptor(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsHbondDonor")]
  public static extern bool OBAtom_IsHbondDonor(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_IsHbondDonorH")]
  public static extern bool OBAtom_IsHbondDonorH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_HasAlphaBetaUnsat__SWIG_0")]
  public static extern bool OBAtom_HasAlphaBetaUnsat__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_HasAlphaBetaUnsat__SWIG_1")]
  public static extern bool OBAtom_HasAlphaBetaUnsat__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_HasBondOfOrder")]
  public static extern bool OBAtom_HasBondOfOrder(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_CountBondsOfOrder")]
  public static extern int OBAtom_CountBondsOfOrder(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_HasNonSingleBond")]
  public static extern bool OBAtom_HasNonSingleBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_HasSingleBond")]
  public static extern bool OBAtom_HasSingleBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_HasDoubleBond")]
  public static extern bool OBAtom_HasDoubleBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_HasAromaticBond")]
  public static extern bool OBAtom_HasAromaticBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtom_MatchesSMARTS")]
  public static extern bool OBAtom_MatchesSMARTS(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OB_AROMATIC_BOND_get")]
  public static extern int OB_AROMATIC_BOND_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_WEDGE_BOND_get")]
  public static extern int OB_WEDGE_BOND_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_HASH_BOND_get")]
  public static extern int OB_HASH_BOND_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_RING_BOND_get")]
  public static extern int OB_RING_BOND_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_TORUP_BOND_get")]
  public static extern int OB_TORUP_BOND_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_TORDOWN_BOND_get")]
  public static extern int OB_TORDOWN_BOND_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_KSINGLE_BOND_get")]
  public static extern int OB_KSINGLE_BOND_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_KDOUBLE_BOND_get")]
  public static extern int OB_KDOUBLE_BOND_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_KTRIPLE_BOND_get")]
  public static extern int OB_KTRIPLE_BOND_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_CLOSURE_BOND_get")]
  public static extern int OB_CLOSURE_BOND_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_Visit_set")]
  public static extern void OBBond_Visit_set(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_Visit_get")]
  public static extern bool OBBond_Visit_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBBond")]
  public static extern IntPtr new_OBBond();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBBond")]
  public static extern void delete_OBBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_SetIdx")]
  public static extern void OBBond_SetIdx(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_SetBO")]
  public static extern void OBBond_SetBO(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_SetBondOrder")]
  public static extern void OBBond_SetBondOrder(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_SetBegin")]
  public static extern void OBBond_SetBegin(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_SetEnd")]
  public static extern void OBBond_SetEnd(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_SetParent")]
  public static extern void OBBond_SetParent(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_SetLength__SWIG_0")]
  public static extern void OBBond_SetLength__SWIG_0(HandleRef jarg1, HandleRef jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_SetLength__SWIG_1")]
  public static extern void OBBond_SetLength__SWIG_1(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_Set")]
  public static extern void OBBond_Set(HandleRef jarg1, int jarg2, HandleRef jarg3, HandleRef jarg4, int jarg5, int jarg6);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_SetKSingle")]
  public static extern void OBBond_SetKSingle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_SetKDouble")]
  public static extern void OBBond_SetKDouble(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_SetKTriple")]
  public static extern void OBBond_SetKTriple(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_SetAromatic")]
  public static extern void OBBond_SetAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_SetHash")]
  public static extern void OBBond_SetHash(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_SetWedge")]
  public static extern void OBBond_SetWedge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_SetUp")]
  public static extern void OBBond_SetUp(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_SetDown")]
  public static extern void OBBond_SetDown(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_SetInRing")]
  public static extern void OBBond_SetInRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_SetClosure")]
  public static extern void OBBond_SetClosure(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_UnsetHash")]
  public static extern void OBBond_UnsetHash(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_UnsetWedge")]
  public static extern void OBBond_UnsetWedge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_UnsetUp")]
  public static extern void OBBond_UnsetUp(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_UnsetDown")]
  public static extern void OBBond_UnsetDown(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_UnsetAromatic")]
  public static extern void OBBond_UnsetAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_UnsetKekule")]
  public static extern void OBBond_UnsetKekule(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_GetIdx")]
  public static extern uint OBBond_GetIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_GetBO")]
  public static extern uint OBBond_GetBO(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_GetBondOrder")]
  public static extern uint OBBond_GetBondOrder(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_GetFlags")]
  public static extern uint OBBond_GetFlags(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_GetBeginAtomIdx")]
  public static extern uint OBBond_GetBeginAtomIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_GetEndAtomIdx")]
  public static extern uint OBBond_GetEndAtomIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_GetBeginAtom__SWIG_0")]
  public static extern IntPtr OBBond_GetBeginAtom__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_GetEndAtom__SWIG_0")]
  public static extern IntPtr OBBond_GetEndAtom__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_GetNbrAtom")]
  public static extern IntPtr OBBond_GetNbrAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_GetParent")]
  public static extern IntPtr OBBond_GetParent(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_GetEquibLength")]
  public static extern double OBBond_GetEquibLength(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_GetLength")]
  public static extern double OBBond_GetLength(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_GetNbrAtomIdx")]
  public static extern uint OBBond_GetNbrAtomIdx(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsAromatic")]
  public static extern bool OBBond_IsAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsInRing")]
  public static extern bool OBBond_IsInRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsRotor")]
  public static extern bool OBBond_IsRotor(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsAmide")]
  public static extern bool OBBond_IsAmide(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsPrimaryAmide")]
  public static extern bool OBBond_IsPrimaryAmide(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsSecondaryAmide")]
  public static extern bool OBBond_IsSecondaryAmide(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsEster")]
  public static extern bool OBBond_IsEster(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsCarbonyl")]
  public static extern bool OBBond_IsCarbonyl(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsSingle")]
  public static extern bool OBBond_IsSingle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsDouble")]
  public static extern bool OBBond_IsDouble(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsTriple")]
  public static extern bool OBBond_IsTriple(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsKSingle")]
  public static extern bool OBBond_IsKSingle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsKDouble")]
  public static extern bool OBBond_IsKDouble(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsKTriple")]
  public static extern bool OBBond_IsKTriple(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsClosure")]
  public static extern bool OBBond_IsClosure(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsUp")]
  public static extern bool OBBond_IsUp(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsDown")]
  public static extern bool OBBond_IsDown(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsWedge")]
  public static extern bool OBBond_IsWedge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsHash")]
  public static extern bool OBBond_IsHash(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBond_IsDoubleBondGeometry")]
  public static extern bool OBBond_IsDoubleBondGeometry(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OB_SSSR_MOL_get")]
  public static extern int OB_SSSR_MOL_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_RINGFLAGS_MOL_get")]
  public static extern int OB_RINGFLAGS_MOL_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_AROMATIC_MOL_get")]
  public static extern int OB_AROMATIC_MOL_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_ATOMTYPES_MOL_get")]
  public static extern int OB_ATOMTYPES_MOL_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_CHIRALITY_MOL_get")]
  public static extern int OB_CHIRALITY_MOL_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_PCHARGE_MOL_get")]
  public static extern int OB_PCHARGE_MOL_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_HYBRID_MOL_get")]
  public static extern int OB_HYBRID_MOL_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_IMPVAL_MOL_get")]
  public static extern int OB_IMPVAL_MOL_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_KEKULE_MOL_get")]
  public static extern int OB_KEKULE_MOL_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_CLOSURE_MOL_get")]
  public static extern int OB_CLOSURE_MOL_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_H_ADDED_MOL_get")]
  public static extern int OB_H_ADDED_MOL_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_PH_CORRECTED_MOL_get")]
  public static extern int OB_PH_CORRECTED_MOL_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_AROM_CORRECTED_MOL_get")]
  public static extern int OB_AROM_CORRECTED_MOL_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_CHAINS_MOL_get")]
  public static extern int OB_CHAINS_MOL_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_TCHARGE_MOL_get")]
  public static extern int OB_TCHARGE_MOL_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_TSPIN_MOL_get")]
  public static extern int OB_TSPIN_MOL_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_RINGTYPES_MOL_get")]
  public static extern int OB_RINGTYPES_MOL_get();

  [DllImport("openbabel", EntryPoint="CSharp_OB_CURRENT_CONFORMER_get")]
  public static extern int OB_CURRENT_CONFORMER_get();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMol__SWIG_0")]
  public static extern IntPtr new_OBMol__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMol__SWIG_1")]
  public static extern IntPtr new_OBMol__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBMol")]
  public static extern void delete_OBMol(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_ReserveAtoms")]
  public static extern void OBMol_ReserveAtoms(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_CreateAtom")]
  public static extern IntPtr OBMol_CreateAtom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_CreateBond")]
  public static extern IntPtr OBMol_CreateBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_CreateResidue")]
  public static extern IntPtr OBMol_CreateResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_DestroyAtom")]
  public static extern void OBMol_DestroyAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_DestroyBond")]
  public static extern void OBMol_DestroyBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_DestroyResidue")]
  public static extern void OBMol_DestroyResidue(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_AddAtom")]
  public static extern bool OBMol_AddAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_InsertAtom")]
  public static extern bool OBMol_InsertAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_AddBond__SWIG_0")]
  public static extern bool OBMol_AddBond__SWIG_0(HandleRef jarg1, int jarg2, int jarg3, int jarg4, int jarg5, int jarg6);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_AddBond__SWIG_1")]
  public static extern bool OBMol_AddBond__SWIG_1(HandleRef jarg1, int jarg2, int jarg3, int jarg4, int jarg5);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_AddBond__SWIG_2")]
  public static extern bool OBMol_AddBond__SWIG_2(HandleRef jarg1, int jarg2, int jarg3, int jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_AddBond__SWIG_3")]
  public static extern bool OBMol_AddBond__SWIG_3(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_AddResidue")]
  public static extern bool OBMol_AddResidue(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_NewAtom")]
  public static extern IntPtr OBMol_NewAtom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_NewBond")]
  public static extern IntPtr OBMol_NewBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_NewResidue")]
  public static extern IntPtr OBMol_NewResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_DeleteAtom__SWIG_0")]
  public static extern bool OBMol_DeleteAtom__SWIG_0(HandleRef jarg1, HandleRef jarg2, bool jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_DeleteAtom__SWIG_1")]
  public static extern bool OBMol_DeleteAtom__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_DeleteBond__SWIG_0")]
  public static extern bool OBMol_DeleteBond__SWIG_0(HandleRef jarg1, HandleRef jarg2, bool jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_DeleteBond__SWIG_1")]
  public static extern bool OBMol_DeleteBond__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_DeleteResidue__SWIG_0")]
  public static extern bool OBMol_DeleteResidue__SWIG_0(HandleRef jarg1, HandleRef jarg2, bool jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_DeleteResidue__SWIG_1")]
  public static extern bool OBMol_DeleteResidue__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_BeginModify")]
  public static extern void OBMol_BeginModify(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_EndModify__SWIG_0")]
  public static extern void OBMol_EndModify__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_EndModify__SWIG_1")]
  public static extern void OBMol_EndModify__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetMod")]
  public static extern int OBMol_GetMod(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_IncrementMod")]
  public static extern void OBMol_IncrementMod(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_DecrementMod")]
  public static extern void OBMol_DecrementMod(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetFlags")]
  public static extern int OBMol_GetFlags(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetTitle__SWIG_0")]
  public static extern string OBMol_GetTitle__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetTitle__SWIG_1")]
  public static extern string OBMol_GetTitle__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_NumAtoms")]
  public static extern uint OBMol_NumAtoms(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_NumBonds")]
  public static extern uint OBMol_NumBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_NumHvyAtoms")]
  public static extern uint OBMol_NumHvyAtoms(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_NumResidues")]
  public static extern uint OBMol_NumResidues(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_NumRotors")]
  public static extern uint OBMol_NumRotors(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetAtom")]
  public static extern IntPtr OBMol_GetAtom(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetFirstAtom")]
  public static extern IntPtr OBMol_GetFirstAtom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetBond__SWIG_0")]
  public static extern IntPtr OBMol_GetBond__SWIG_0(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetBond__SWIG_1")]
  public static extern IntPtr OBMol_GetBond__SWIG_1(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetBond__SWIG_2")]
  public static extern IntPtr OBMol_GetBond__SWIG_2(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetResidue")]
  public static extern IntPtr OBMol_GetResidue(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetInternalCoord")]
  public static extern IntPtr OBMol_GetInternalCoord(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetTorsion__SWIG_0")]
  public static extern double OBMol_GetTorsion__SWIG_0(HandleRef jarg1, int jarg2, int jarg3, int jarg4, int jarg5);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetTorsion__SWIG_1")]
  public static extern double OBMol_GetTorsion__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetAngle")]
  public static extern double OBMol_GetAngle(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetFormula")]
  public static extern string OBMol_GetFormula(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetSpacedFormula__SWIG_0")]
  public static extern string OBMol_GetSpacedFormula__SWIG_0(HandleRef jarg1, int jarg2, string jarg3, bool jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetSpacedFormula__SWIG_1")]
  public static extern string OBMol_GetSpacedFormula__SWIG_1(HandleRef jarg1, int jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetSpacedFormula__SWIG_2")]
  public static extern string OBMol_GetSpacedFormula__SWIG_2(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetSpacedFormula__SWIG_3")]
  public static extern string OBMol_GetSpacedFormula__SWIG_3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetEnergy__SWIG_0")]
  public static extern double OBMol_GetEnergy__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetMolWt__SWIG_0")]
  public static extern double OBMol_GetMolWt__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetMolWt__SWIG_1")]
  public static extern double OBMol_GetMolWt__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetExactMass__SWIG_0")]
  public static extern double OBMol_GetExactMass__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetExactMass__SWIG_1")]
  public static extern double OBMol_GetExactMass__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetTotalCharge")]
  public static extern int OBMol_GetTotalCharge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetTotalSpinMultiplicity")]
  public static extern uint OBMol_GetTotalSpinMultiplicity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetDimension")]
  public static extern ushort OBMol_GetDimension(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetCoordinates")]
  public static extern IntPtr OBMol_GetCoordinates(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetSSSR")]
  public static extern IntPtr OBMol_GetSSSR(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_AutomaticFormalCharge")]
  public static extern bool OBMol_AutomaticFormalCharge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_AutomaticPartialCharge")]
  public static extern bool OBMol_AutomaticPartialCharge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetTitle__SWIG_0")]
  public static extern void OBMol_SetTitle__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetTitle__SWIG_1")]
  public static extern void OBMol_SetTitle__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetFormula")]
  public static extern void OBMol_SetFormula(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetEnergy")]
  public static extern void OBMol_SetEnergy(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetDimension")]
  public static extern void OBMol_SetDimension(HandleRef jarg1, ushort jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetTotalCharge")]
  public static extern void OBMol_SetTotalCharge(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetTotalSpinMultiplicity")]
  public static extern void OBMol_SetTotalSpinMultiplicity(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetInternalCoord")]
  public static extern void OBMol_SetInternalCoord(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetAutomaticFormalCharge")]
  public static extern void OBMol_SetAutomaticFormalCharge(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetAutomaticPartialCharge")]
  public static extern void OBMol_SetAutomaticPartialCharge(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetAromaticPerceived")]
  public static extern void OBMol_SetAromaticPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetSSSRPerceived")]
  public static extern void OBMol_SetSSSRPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetRingAtomsAndBondsPerceived")]
  public static extern void OBMol_SetRingAtomsAndBondsPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetAtomTypesPerceived")]
  public static extern void OBMol_SetAtomTypesPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetRingTypesPerceived")]
  public static extern void OBMol_SetRingTypesPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetChainsPerceived")]
  public static extern void OBMol_SetChainsPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetChiralityPerceived")]
  public static extern void OBMol_SetChiralityPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetPartialChargesPerceived")]
  public static extern void OBMol_SetPartialChargesPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetHybridizationPerceived")]
  public static extern void OBMol_SetHybridizationPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetImplicitValencePerceived")]
  public static extern void OBMol_SetImplicitValencePerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetKekulePerceived")]
  public static extern void OBMol_SetKekulePerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetClosureBondsPerceived")]
  public static extern void OBMol_SetClosureBondsPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetHydrogensAdded")]
  public static extern void OBMol_SetHydrogensAdded(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetCorrectedForPH")]
  public static extern void OBMol_SetCorrectedForPH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetAromaticCorrected")]
  public static extern void OBMol_SetAromaticCorrected(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetSpinMultiplicityAssigned")]
  public static extern void OBMol_SetSpinMultiplicityAssigned(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetFlags")]
  public static extern void OBMol_SetFlags(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_UnsetAromaticPerceived")]
  public static extern void OBMol_UnsetAromaticPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_UnsetSSSRPerceived")]
  public static extern void OBMol_UnsetSSSRPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_UnsetRingTypesPerceived")]
  public static extern void OBMol_UnsetRingTypesPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_UnsetPartialChargesPerceived")]
  public static extern void OBMol_UnsetPartialChargesPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_UnsetImplicitValencePerceived")]
  public static extern void OBMol_UnsetImplicitValencePerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_UnsetHydrogensAdded")]
  public static extern void OBMol_UnsetHydrogensAdded(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_UnsetFlag")]
  public static extern void OBMol_UnsetFlag(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_ClassDescription")]
  public static extern string OBMol_ClassDescription();

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_RenumberAtoms")]
  public static extern void OBMol_RenumberAtoms(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetCoordinates")]
  public static extern void OBMol_SetCoordinates(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_ToInertialFrame__SWIG_0")]
  public static extern void OBMol_ToInertialFrame__SWIG_0(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_ToInertialFrame__SWIG_1")]
  public static extern void OBMol_ToInertialFrame__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_Translate__SWIG_0")]
  public static extern void OBMol_Translate__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_Translate__SWIG_1")]
  public static extern void OBMol_Translate__SWIG_1(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_Rotate__SWIG_0")]
  public static extern void OBMol_Rotate__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_Rotate__SWIG_1")]
  public static extern void OBMol_Rotate__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_Rotate__SWIG_2")]
  public static extern void OBMol_Rotate__SWIG_2(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_Center__SWIG_0")]
  public static extern void OBMol_Center__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_Kekulize")]
  public static extern bool OBMol_Kekulize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_PerceiveKekuleBonds")]
  public static extern bool OBMol_PerceiveKekuleBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_NewPerceiveKekuleBonds")]
  public static extern void OBMol_NewPerceiveKekuleBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_DeleteHydrogens__SWIG_0")]
  public static extern bool OBMol_DeleteHydrogens__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_DeleteHydrogens__SWIG_1")]
  public static extern bool OBMol_DeleteHydrogens__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_DeleteNonPolarHydrogens")]
  public static extern bool OBMol_DeleteNonPolarHydrogens(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_DeleteHydrogen")]
  public static extern bool OBMol_DeleteHydrogen(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_AddHydrogens__SWIG_0")]
  public static extern bool OBMol_AddHydrogens__SWIG_0(HandleRef jarg1, bool jarg2, bool jarg3, double jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_AddHydrogens__SWIG_1")]
  public static extern bool OBMol_AddHydrogens__SWIG_1(HandleRef jarg1, bool jarg2, bool jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_AddHydrogens__SWIG_2")]
  public static extern bool OBMol_AddHydrogens__SWIG_2(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_AddHydrogens__SWIG_3")]
  public static extern bool OBMol_AddHydrogens__SWIG_3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_AddHydrogens__SWIG_4")]
  public static extern bool OBMol_AddHydrogens__SWIG_4(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_AddPolarHydrogens")]
  public static extern bool OBMol_AddPolarHydrogens(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_StripSalts")]
  public static extern bool OBMol_StripSalts(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_Separate__SWIG_0")]
  public static extern IntPtr OBMol_Separate__SWIG_0(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_Separate__SWIG_1")]
  public static extern IntPtr OBMol_Separate__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetNextFragment")]
  public static extern bool OBMol_GetNextFragment(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_ConvertDativeBonds")]
  public static extern bool OBMol_ConvertDativeBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_CorrectForPH__SWIG_0")]
  public static extern bool OBMol_CorrectForPH__SWIG_0(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_CorrectForPH__SWIG_1")]
  public static extern bool OBMol_CorrectForPH__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_AssignSpinMultiplicity__SWIG_0")]
  public static extern bool OBMol_AssignSpinMultiplicity__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_AssignSpinMultiplicity__SWIG_1")]
  public static extern bool OBMol_AssignSpinMultiplicity__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_Center__SWIG_1")]
  public static extern IntPtr OBMol_Center__SWIG_1(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetTorsion")]
  public static extern void OBMol_SetTorsion(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, double jarg6);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_FindSSSR")]
  public static extern void OBMol_FindSSSR(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_FindRingAtomsAndBonds")]
  public static extern void OBMol_FindRingAtomsAndBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_FindChiralCenters")]
  public static extern void OBMol_FindChiralCenters(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_FindChildren__SWIG_0")]
  public static extern void OBMol_FindChildren__SWIG_0(HandleRef jarg1, HandleRef jarg2, int jarg3, int jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_FindChildren__SWIG_1")]
  public static extern void OBMol_FindChildren__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_FindLargestFragment")]
  public static extern void OBMol_FindLargestFragment(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_ContigFragList")]
  public static extern void OBMol_ContigFragList(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_Align")]
  public static extern void OBMol_Align(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_ConnectTheDots")]
  public static extern void OBMol_ConnectTheDots(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_PerceiveBondOrders")]
  public static extern void OBMol_PerceiveBondOrders(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_FindAngles")]
  public static extern void OBMol_FindAngles(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_FindTorsions")]
  public static extern void OBMol_FindTorsions(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetGTDVector")]
  public static extern bool OBMol_GetGTDVector(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetGIVector")]
  public static extern void OBMol_GetGIVector(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetGIDVector")]
  public static extern void OBMol_GetGIDVector(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_Has2D")]
  public static extern bool OBMol_Has2D(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_Has3D")]
  public static extern bool OBMol_Has3D(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_HasNonZeroCoords")]
  public static extern bool OBMol_HasNonZeroCoords(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_HasAromaticPerceived")]
  public static extern bool OBMol_HasAromaticPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_HasSSSRPerceived")]
  public static extern bool OBMol_HasSSSRPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_HasRingAtomsAndBondsPerceived")]
  public static extern bool OBMol_HasRingAtomsAndBondsPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_HasAtomTypesPerceived")]
  public static extern bool OBMol_HasAtomTypesPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_HasRingTypesPerceived")]
  public static extern bool OBMol_HasRingTypesPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_HasChiralityPerceived")]
  public static extern bool OBMol_HasChiralityPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_HasPartialChargesPerceived")]
  public static extern bool OBMol_HasPartialChargesPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_HasHybridizationPerceived")]
  public static extern bool OBMol_HasHybridizationPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_HasImplicitValencePerceived")]
  public static extern bool OBMol_HasImplicitValencePerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_HasKekulePerceived")]
  public static extern bool OBMol_HasKekulePerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_HasClosureBondsPerceived")]
  public static extern bool OBMol_HasClosureBondsPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_HasChainsPerceived")]
  public static extern bool OBMol_HasChainsPerceived(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_HasHydrogensAdded")]
  public static extern bool OBMol_HasHydrogensAdded(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_HasAromaticCorrected")]
  public static extern bool OBMol_HasAromaticCorrected(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_IsCorrectedForPH")]
  public static extern bool OBMol_IsCorrectedForPH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_HasSpinMultiplicityAssigned")]
  public static extern bool OBMol_HasSpinMultiplicityAssigned(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_IsChiral")]
  public static extern bool OBMol_IsChiral(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_Empty")]
  public static extern bool OBMol_Empty(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_NumConformers")]
  public static extern int OBMol_NumConformers(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetConformers")]
  public static extern void OBMol_SetConformers(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_AddConformer")]
  public static extern void OBMol_AddConformer(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetConformer")]
  public static extern void OBMol_SetConformer(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_CopyConformer")]
  public static extern void OBMol_CopyConformer(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_DeleteConformer")]
  public static extern void OBMol_DeleteConformer(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetConformer")]
  public static extern IntPtr OBMol_GetConformer(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_SetEnergies")]
  public static extern void OBMol_SetEnergies(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetEnergies")]
  public static extern IntPtr OBMol_GetEnergies(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetEnergy__SWIG_1")]
  public static extern double OBMol_GetEnergy__SWIG_1(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_BeginConformer")]
  public static extern IntPtr OBMol_BeginConformer(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_NextConformer")]
  public static extern IntPtr OBMol_NextConformer(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_GetConformers")]
  public static extern IntPtr OBMol_GetConformers(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_BeginAtoms")]
  public static extern IntPtr OBMol_BeginAtoms(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_EndAtoms")]
  public static extern IntPtr OBMol_EndAtoms(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_BeginBonds")]
  public static extern IntPtr OBMol_BeginBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_EndBonds")]
  public static extern IntPtr OBMol_EndBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_BeginResidues")]
  public static extern IntPtr OBMol_BeginResidues(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_EndResidues")]
  public static extern IntPtr OBMol_EndResidues(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_BeginAtom")]
  public static extern IntPtr OBMol_BeginAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_NextAtom")]
  public static extern IntPtr OBMol_NextAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_BeginBond")]
  public static extern IntPtr OBMol_BeginBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_NextBond")]
  public static extern IntPtr OBMol_NextBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_BeginResidue")]
  public static extern IntPtr OBMol_BeginResidue(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_NextResidue")]
  public static extern IntPtr OBMol_NextResidue(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_BeginInternalCoord")]
  public static extern IntPtr OBMol_BeginInternalCoord(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMol_NextInternalCoord")]
  public static extern IntPtr OBMol_NextInternalCoord(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_ThrowError__SWIG_0")]
  public static extern void ThrowError__SWIG_0(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_ThrowError__SWIG_1")]
  public static extern void ThrowError__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_CartesianToInternal")]
  public static extern void CartesianToInternal(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_InternalToCartesian")]
  public static extern void InternalToCartesian(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_NewExtension")]
  public static extern string NewExtension(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_etab_set")]
  public static extern void etab_set(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_etab_get")]
  public static extern IntPtr etab_get();

  [DllImport("openbabel", EntryPoint="CSharp_ttab_set")]
  public static extern void ttab_set(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_ttab_get")]
  public static extern IntPtr ttab_get();

  [DllImport("openbabel", EntryPoint="CSharp_isotab_set")]
  public static extern void isotab_set(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_isotab_get")]
  public static extern IntPtr isotab_get();

  [DllImport("openbabel", EntryPoint="CSharp_aromtyper_set")]
  public static extern void aromtyper_set(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_aromtyper_get")]
  public static extern IntPtr aromtyper_get();

  [DllImport("openbabel", EntryPoint="CSharp_atomtyper_set")]
  public static extern void atomtyper_set(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_atomtyper_get")]
  public static extern IntPtr atomtyper_get();

  [DllImport("openbabel", EntryPoint="CSharp_chainsparser_set")]
  public static extern void chainsparser_set(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_chainsparser_get")]
  public static extern IntPtr chainsparser_get();

  [DllImport("openbabel", EntryPoint="CSharp_resdat_set")]
  public static extern void resdat_set(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_resdat_get")]
  public static extern IntPtr resdat_get();

  [DllImport("openbabel", EntryPoint="CSharp_BUFF_SIZE_get")]
  public static extern int BUFF_SIZE_get();

  [DllImport("openbabel", EntryPoint="CSharp_get_rmat")]
  public static extern void get_rmat(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, int jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_ob_make_rmat")]
  public static extern void ob_make_rmat(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_qtrfit")]
  public static extern void qtrfit(HandleRef jarg1, HandleRef jarg2, int jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_superimpose")]
  public static extern double superimpose(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBRing__path_set")]
  public static extern void OBRing__path_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBRing__path_get")]
  public static extern IntPtr OBRing__path_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRing__pathset_set")]
  public static extern void OBRing__pathset_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBRing__pathset_get")]
  public static extern IntPtr OBRing__pathset_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBRing__SWIG_0")]
  public static extern IntPtr new_OBRing__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBRing__SWIG_1")]
  public static extern IntPtr new_OBRing__SWIG_1(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBRing__SWIG_2")]
  public static extern IntPtr new_OBRing__SWIG_2(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBRing__SWIG_3")]
  public static extern IntPtr new_OBRing__SWIG_3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRing_Size")]
  public static extern int OBRing_Size(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRing_PathSize")]
  public static extern int OBRing_PathSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRing_IsAromatic")]
  public static extern bool OBRing_IsAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRing_SetType__SWIG_0")]
  public static extern void OBRing_SetType__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBRing_SetType__SWIG_1")]
  public static extern void OBRing_SetType__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBRing_GetType")]
  public static extern string OBRing_GetType(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRing_GetRootAtom")]
  public static extern uint OBRing_GetRootAtom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRing_IsMember__SWIG_0")]
  public static extern bool OBRing_IsMember__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBRing_IsMember__SWIG_1")]
  public static extern bool OBRing_IsMember__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBRing_IsInRing")]
  public static extern bool OBRing_IsInRing(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBRing_SetParent")]
  public static extern void OBRing_SetParent(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBRing_GetParent")]
  public static extern IntPtr OBRing_GetParent(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRing_findCenterAndNormal")]
  public static extern bool OBRing_findCenterAndNormal(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBRing")]
  public static extern void delete_OBRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_CompareRingSize")]
  public static extern bool CompareRingSize(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBRingSearch")]
  public static extern IntPtr new_OBRingSearch();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBRingSearch")]
  public static extern void delete_OBRingSearch(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRingSearch_SortRings")]
  public static extern void OBRingSearch_SortRings(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRingSearch_RemoveRedundant")]
  public static extern void OBRingSearch_RemoveRedundant(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBRingSearch_AddRingFromClosure")]
  public static extern void OBRingSearch_AddRingFromClosure(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBRingSearch_SaveUniqueRing")]
  public static extern bool OBRingSearch_SaveUniqueRing(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBRingSearch_WriteRings")]
  public static extern void OBRingSearch_WriteRings(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRingSearch_BeginRings")]
  public static extern IntPtr OBRingSearch_BeginRings(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRingSearch_EndRings")]
  public static extern IntPtr OBRingSearch_EndRings(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBRTree")]
  public static extern IntPtr new_OBRTree(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBRTree")]
  public static extern void delete_OBRTree(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRTree_GetAtomIdx")]
  public static extern int OBRTree_GetAtomIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBRTree_PathToRoot")]
  public static extern void OBRTree_PathToRoot(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBSmartsPattern__SWIG_0")]
  public static extern IntPtr new_OBSmartsPattern__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBSmartsPattern")]
  public static extern void delete_OBSmartsPattern(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBSmartsPattern__SWIG_1")]
  public static extern IntPtr new_OBSmartsPattern__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_Init__SWIG_0")]
  public static extern bool OBSmartsPattern_Init__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_GetSMARTS__SWIG_0")]
  public static extern string OBSmartsPattern_GetSMARTS__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_Empty")]
  public static extern bool OBSmartsPattern_Empty(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_IsValid")]
  public static extern bool OBSmartsPattern_IsValid(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_NumAtoms")]
  public static extern uint OBSmartsPattern_NumAtoms(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_NumBonds")]
  public static extern uint OBSmartsPattern_NumBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_GetBond")]
  public static extern void OBSmartsPattern_GetBond(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, int jarg5);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_GetAtomicNum")]
  public static extern int OBSmartsPattern_GetAtomicNum(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_GetCharge")]
  public static extern int OBSmartsPattern_GetCharge(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_GetVectorBinding")]
  public static extern int OBSmartsPattern_GetVectorBinding(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_Match__SWIG_0")]
  public static extern bool OBSmartsPattern_Match__SWIG_0(HandleRef jarg1, HandleRef jarg2, bool jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_Match__SWIG_1")]
  public static extern bool OBSmartsPattern_Match__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_RestrictedMatch__SWIG_0")]
  public static extern bool OBSmartsPattern_RestrictedMatch__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, bool jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_RestrictedMatch__SWIG_1")]
  public static extern bool OBSmartsPattern_RestrictedMatch__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_RestrictedMatch__SWIG_2")]
  public static extern bool OBSmartsPattern_RestrictedMatch__SWIG_2(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, bool jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_RestrictedMatch__SWIG_3")]
  public static extern bool OBSmartsPattern_RestrictedMatch__SWIG_3(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_NumMatches")]
  public static extern uint OBSmartsPattern_NumMatches(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_GetMapList")]
  public static extern IntPtr OBSmartsPattern_GetMapList(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_BeginMList")]
  public static extern IntPtr OBSmartsPattern_BeginMList(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_EndMList")]
  public static extern IntPtr OBSmartsPattern_EndMList(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_GetUMapList")]
  public static extern IntPtr OBSmartsPattern_GetUMapList(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSmartsPattern_WriteMapList")]
  public static extern void OBSmartsPattern_WriteMapList(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBSSMatch")]
  public static extern IntPtr new_OBSSMatch(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBSSMatch")]
  public static extern void delete_OBSSMatch(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBSSMatch_Match__SWIG_0")]
  public static extern void OBSSMatch_Match__SWIG_0(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBSSMatch_Match__SWIG_1")]
  public static extern void OBSSMatch_Match__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_SmartsLexReplace")]
  public static extern void SmartsLexReplace(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_AliasDataType_get")]
  public static extern uint AliasDataType_get();

  [DllImport("openbabel", EntryPoint="CSharp_new_AliasData")]
  public static extern IntPtr new_AliasData();

  [DllImport("openbabel", EntryPoint="CSharp_AliasData_SetAlias__SWIG_0")]
  public static extern void AliasData_SetAlias__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_AliasData_GetAlias")]
  public static extern string AliasData_GetAlias(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_AliasData_SetExpandedAtoms")]
  public static extern void AliasData_SetExpandedAtoms(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_AliasData_GetExpandedAtoms")]
  public static extern IntPtr AliasData_GetExpandedAtoms(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_AliasData_IsExpanded")]
  public static extern bool AliasData_IsExpanded(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_AliasData_Expand")]
  public static extern bool AliasData_Expand(HandleRef jarg1, HandleRef jarg2, uint jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_delete_AliasData")]
  public static extern void delete_AliasData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBAtomClassData")]
  public static extern IntPtr new_OBAtomClassData();

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomClassData_Clear")]
  public static extern void OBAtomClassData_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomClassData_Add")]
  public static extern void OBAtomClassData_Add(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomClassData_HasClass")]
  public static extern bool OBAtomClassData_HasClass(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomClassData_GetClass")]
  public static extern int OBAtomClassData_GetClass(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomClassData_GetClassString")]
  public static extern string OBAtomClassData_GetClassString(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomClassData_size")]
  public static extern int OBAtomClassData_size(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBAtomClassData")]
  public static extern void delete_OBAtomClassData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFingerprint_Default")]
  public static extern IntPtr OBFingerprint_Default();

  [DllImport("openbabel", EntryPoint="CSharp_OBFingerprint_FindType")]
  public static extern IntPtr OBFingerprint_FindType(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFingerprint_TypeID")]
  public static extern string OBFingerprint_TypeID(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBFingerprint")]
  public static extern void delete_OBFingerprint(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFingerprint_SetBit")]
  public static extern void OBFingerprint_SetBit(HandleRef jarg1, HandleRef jarg2, uint jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBFingerprint_GetBit")]
  public static extern bool OBFingerprint_GetBit(HandleRef jarg1, HandleRef jarg2, uint jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBFingerprint_Fold")]
  public static extern void OBFingerprint_Fold(HandleRef jarg1, HandleRef jarg2, uint jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBFingerprint_GetFingerprint__SWIG_0")]
  public static extern bool OBFingerprint_GetFingerprint__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, int jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBFingerprint_GetFingerprint__SWIG_1")]
  public static extern bool OBFingerprint_GetFingerprint__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBFingerprint_Flags")]
  public static extern uint OBFingerprint_Flags(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFingerprint_DescribeBits__SWIG_0")]
  public static extern string OBFingerprint_DescribeBits__SWIG_0(HandleRef jarg1, HandleRef jarg2, bool jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBFingerprint_DescribeBits__SWIG_1")]
  public static extern string OBFingerprint_DescribeBits__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFingerprint_Tanimoto__SWIG_0")]
  public static extern double OBFingerprint_Tanimoto__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFingerprint_Tanimoto__SWIG_1")]
  public static extern double OBFingerprint_Tanimoto__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFingerprint_Getbitsperint")]
  public static extern uint OBFingerprint_Getbitsperint();

  [DllImport("openbabel", EntryPoint="CSharp_OBFingerprint_FindFingerprint")]
  public static extern IntPtr OBFingerprint_FindFingerprint(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_FptIndexHeader_headerlength_set")]
  public static extern void FptIndexHeader_headerlength_set(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_FptIndexHeader_headerlength_get")]
  public static extern uint FptIndexHeader_headerlength_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_FptIndexHeader_nEntries_set")]
  public static extern void FptIndexHeader_nEntries_set(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_FptIndexHeader_nEntries_get")]
  public static extern uint FptIndexHeader_nEntries_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_FptIndexHeader_words_set")]
  public static extern void FptIndexHeader_words_set(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_FptIndexHeader_words_get")]
  public static extern uint FptIndexHeader_words_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_FptIndexHeader_fpid_set")]
  public static extern void FptIndexHeader_fpid_set(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_FptIndexHeader_fpid_get")]
  public static extern string FptIndexHeader_fpid_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_FptIndexHeader_datafilename_set")]
  public static extern void FptIndexHeader_datafilename_set(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_FptIndexHeader_datafilename_get")]
  public static extern string FptIndexHeader_datafilename_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_FptIndexHeader")]
  public static extern IntPtr new_FptIndexHeader();

  [DllImport("openbabel", EntryPoint="CSharp_delete_FptIndexHeader")]
  public static extern void delete_FptIndexHeader(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_FptIndex_header_set")]
  public static extern void FptIndex_header_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_FptIndex_header_get")]
  public static extern IntPtr FptIndex_header_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_FptIndex_fptdata_set")]
  public static extern void FptIndex_fptdata_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_FptIndex_fptdata_get")]
  public static extern IntPtr FptIndex_fptdata_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_FptIndex_seekdata_set")]
  public static extern void FptIndex_seekdata_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_FptIndex_seekdata_get")]
  public static extern IntPtr FptIndex_seekdata_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_FptIndex_Read")]
  public static extern bool FptIndex_Read(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_FptIndex_CheckFP")]
  public static extern IntPtr FptIndex_CheckFP(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_FptIndex")]
  public static extern IntPtr new_FptIndex();

  [DllImport("openbabel", EntryPoint="CSharp_delete_FptIndex")]
  public static extern void delete_FptIndex(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_FastSearch_ReadIndexFile")]
  public static extern string FastSearch_ReadIndexFile(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_FastSearch_ReadIndex")]
  public static extern string FastSearch_ReadIndex(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_delete_FastSearch")]
  public static extern void delete_FastSearch(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_FastSearch_Find")]
  public static extern bool FastSearch_Find(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_FastSearch_FindMatch")]
  public static extern bool FastSearch_FindMatch(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_FastSearch_FindSimilar__SWIG_0")]
  public static extern bool FastSearch_FindSimilar__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, double jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_FastSearch_FindSimilar__SWIG_1")]
  public static extern bool FastSearch_FindSimilar__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, int jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_FastSearch_FindSimilar__SWIG_2")]
  public static extern bool FastSearch_FindSimilar__SWIG_2(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_FastSearch_GetFingerprint")]
  public static extern IntPtr FastSearch_GetFingerprint(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_FastSearch_GetIndexHeader")]
  public static extern IntPtr FastSearch_GetIndexHeader(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_FastSearch")]
  public static extern IntPtr new_FastSearch();

  [DllImport("openbabel", EntryPoint="CSharp_new_FastSearchIndexer__SWIG_0")]
  public static extern IntPtr new_FastSearchIndexer__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, int jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_new_FastSearchIndexer__SWIG_1")]
  public static extern IntPtr new_FastSearchIndexer__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_new_FastSearchIndexer__SWIG_2")]
  public static extern IntPtr new_FastSearchIndexer__SWIG_2(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_delete_FastSearchIndexer")]
  public static extern void delete_FastSearchIndexer(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_FastSearchIndexer_Add")]
  public static extern bool FastSearchIndexer_Add(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBDescriptor_Default")]
  public static extern IntPtr OBDescriptor_Default();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBDescriptor__SWIG_0")]
  public static extern IntPtr new_OBDescriptor__SWIG_0(string jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBDescriptor__SWIG_1")]
  public static extern IntPtr new_OBDescriptor__SWIG_1(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBDescriptor_FindType")]
  public static extern IntPtr OBDescriptor_FindType(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBDescriptor_TypeID")]
  public static extern string OBDescriptor_TypeID(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBDescriptor_Predict")]
  public static extern double OBDescriptor_Predict(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBDescriptor_PredictAndSave")]
  public static extern double OBDescriptor_PredictAndSave(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBDescriptor_GetStringValue")]
  public static extern double OBDescriptor_GetStringValue(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBDescriptor_Compare")]
  public static extern bool OBDescriptor_Compare(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, bool jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBDescriptor_Display__SWIG_0")]
  public static extern bool OBDescriptor_Display__SWIG_0(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBDescriptor_Display__SWIG_1")]
  public static extern bool OBDescriptor_Display__SWIG_1(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBDescriptor_FilterCompare")]
  public static extern bool OBDescriptor_FilterCompare(HandleRef jarg1, HandleRef jarg2, bool jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBDescriptor_AddProperties")]
  public static extern void OBDescriptor_AddProperties(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBDescriptor_DeleteProperties")]
  public static extern void OBDescriptor_DeleteProperties(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBDescriptor_GetValues")]
  public static extern string OBDescriptor_GetValues(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBDescriptor")]
  public static extern void delete_OBDescriptor(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_LOGLVL_NONE_get")]
  public static extern int OBFF_LOGLVL_NONE_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_LOGLVL_LOW_get")]
  public static extern int OBFF_LOGLVL_LOW_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_LOGLVL_MEDIUM_get")]
  public static extern int OBFF_LOGLVL_MEDIUM_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_LOGLVL_HIGH_get")]
  public static extern int OBFF_LOGLVL_HIGH_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_ENERGY_get")]
  public static extern int OBFF_ENERGY_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_EBOND_get")]
  public static extern int OBFF_EBOND_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_EANGLE_get")]
  public static extern int OBFF_EANGLE_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_ESTRBND_get")]
  public static extern int OBFF_ESTRBND_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_ETORSION_get")]
  public static extern int OBFF_ETORSION_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_EOOP_get")]
  public static extern int OBFF_EOOP_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_EVDW_get")]
  public static extern int OBFF_EVDW_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_EELECTROSTATIC_get")]
  public static extern int OBFF_EELECTROSTATIC_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_CONST_IGNORE_get")]
  public static extern int OBFF_CONST_IGNORE_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_CONST_ATOM_get")]
  public static extern int OBFF_CONST_ATOM_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_CONST_ATOM_X_get")]
  public static extern int OBFF_CONST_ATOM_X_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_CONST_ATOM_Y_get")]
  public static extern int OBFF_CONST_ATOM_Y_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_CONST_ATOM_Z_get")]
  public static extern int OBFF_CONST_ATOM_Z_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_CONST_DISTANCE_get")]
  public static extern int OBFF_CONST_DISTANCE_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_CONST_ANGLE_get")]
  public static extern int OBFF_CONST_ANGLE_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_CONST_TORSION_get")]
  public static extern int OBFF_CONST_TORSION_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_CONST_CHIRAL_get")]
  public static extern int OBFF_CONST_CHIRAL_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_NUMERICAL_GRADIENT_get")]
  public static extern int OBFF_NUMERICAL_GRADIENT_get();

  [DllImport("openbabel", EntryPoint="CSharp_OBFF_ANALYTICAL_GRADIENT_get")]
  public static extern int OBFF_ANALYTICAL_GRADIENT_get();

  [DllImport("openbabel", EntryPoint="CSharp_KCAL_TO_KJ_get")]
  public static extern double KCAL_TO_KJ_get();

  [DllImport("openbabel", EntryPoint="CSharp_LineSearchType_Simple_get")]
  public static extern int LineSearchType_Simple_get();

  [DllImport("openbabel", EntryPoint="CSharp_LineSearchType_Newton2Num_get")]
  public static extern int LineSearchType_Newton2Num_get();

  [DllImport("openbabel", EntryPoint="CSharp_new_LineSearchType")]
  public static extern IntPtr new_LineSearchType();

  [DllImport("openbabel", EntryPoint="CSharp_delete_LineSearchType")]
  public static extern void delete_LineSearchType(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter_a_set")]
  public static extern void OBFFParameter_a_set(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter_a_get")]
  public static extern int OBFFParameter_a_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter_b_set")]
  public static extern void OBFFParameter_b_set(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter_b_get")]
  public static extern int OBFFParameter_b_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter_c_set")]
  public static extern void OBFFParameter_c_set(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter_c_get")]
  public static extern int OBFFParameter_c_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter_d_set")]
  public static extern void OBFFParameter_d_set(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter_d_get")]
  public static extern int OBFFParameter_d_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter__a_set")]
  public static extern void OBFFParameter__a_set(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter__a_get")]
  public static extern string OBFFParameter__a_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter__b_set")]
  public static extern void OBFFParameter__b_set(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter__b_get")]
  public static extern string OBFFParameter__b_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter__c_set")]
  public static extern void OBFFParameter__c_set(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter__c_get")]
  public static extern string OBFFParameter__c_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter__d_set")]
  public static extern void OBFFParameter__d_set(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter__d_get")]
  public static extern string OBFFParameter__d_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter__ipar_set")]
  public static extern void OBFFParameter__ipar_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter__ipar_get")]
  public static extern IntPtr OBFFParameter__ipar_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter__dpar_set")]
  public static extern void OBFFParameter__dpar_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter__dpar_get")]
  public static extern IntPtr OBFFParameter__dpar_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFParameter_clear")]
  public static extern void OBFFParameter_clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBFFParameter")]
  public static extern IntPtr new_OBFFParameter();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBFFParameter")]
  public static extern void delete_OBFFParameter(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_energy_set")]
  public static extern void OBFFCalculation2_energy_set(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_energy_get")]
  public static extern double OBFFCalculation2_energy_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_a_set")]
  public static extern void OBFFCalculation2_a_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_a_get")]
  public static extern IntPtr OBFFCalculation2_a_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_b_set")]
  public static extern void OBFFCalculation2_b_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_b_get")]
  public static extern IntPtr OBFFCalculation2_b_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_idx_a_set")]
  public static extern void OBFFCalculation2_idx_a_set(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_idx_a_get")]
  public static extern int OBFFCalculation2_idx_a_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_idx_b_set")]
  public static extern void OBFFCalculation2_idx_b_set(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_idx_b_get")]
  public static extern int OBFFCalculation2_idx_b_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_pos_a_set")]
  public static extern void OBFFCalculation2_pos_a_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_pos_a_get")]
  public static extern IntPtr OBFFCalculation2_pos_a_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_pos_b_set")]
  public static extern void OBFFCalculation2_pos_b_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_pos_b_get")]
  public static extern IntPtr OBFFCalculation2_pos_b_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_force_a_set")]
  public static extern void OBFFCalculation2_force_a_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_force_a_get")]
  public static extern IntPtr OBFFCalculation2_force_a_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_force_b_set")]
  public static extern void OBFFCalculation2_force_b_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_force_b_get")]
  public static extern IntPtr OBFFCalculation2_force_b_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBFFCalculation2")]
  public static extern void delete_OBFFCalculation2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation2_SetupPointers")]
  public static extern void OBFFCalculation2_SetupPointers(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBFFCalculation2")]
  public static extern IntPtr new_OBFFCalculation2();

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation3_c_set")]
  public static extern void OBFFCalculation3_c_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation3_c_get")]
  public static extern IntPtr OBFFCalculation3_c_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation3_idx_c_set")]
  public static extern void OBFFCalculation3_idx_c_set(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation3_idx_c_get")]
  public static extern int OBFFCalculation3_idx_c_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation3_pos_c_set")]
  public static extern void OBFFCalculation3_pos_c_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation3_pos_c_get")]
  public static extern IntPtr OBFFCalculation3_pos_c_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation3_force_c_set")]
  public static extern void OBFFCalculation3_force_c_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation3_force_c_get")]
  public static extern IntPtr OBFFCalculation3_force_c_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBFFCalculation3")]
  public static extern void delete_OBFFCalculation3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBFFCalculation3")]
  public static extern IntPtr new_OBFFCalculation3();

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation4_d_set")]
  public static extern void OBFFCalculation4_d_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation4_d_get")]
  public static extern IntPtr OBFFCalculation4_d_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation4_idx_d_set")]
  public static extern void OBFFCalculation4_idx_d_set(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation4_idx_d_get")]
  public static extern int OBFFCalculation4_idx_d_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation4_pos_d_set")]
  public static extern void OBFFCalculation4_pos_d_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation4_pos_d_get")]
  public static extern IntPtr OBFFCalculation4_pos_d_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation4_force_d_set")]
  public static extern void OBFFCalculation4_force_d_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation4_force_d_get")]
  public static extern IntPtr OBFFCalculation4_force_d_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBFFCalculation4")]
  public static extern void delete_OBFFCalculation4(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBFFCalculation4")]
  public static extern IntPtr new_OBFFCalculation4();

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_factor_set")]
  public static extern void OBFFConstraint_factor_set(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_factor_get")]
  public static extern double OBFFConstraint_factor_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_constraint_value_set")]
  public static extern void OBFFConstraint_constraint_value_set(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_constraint_value_get")]
  public static extern double OBFFConstraint_constraint_value_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_rab0_set")]
  public static extern void OBFFConstraint_rab0_set(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_rab0_get")]
  public static extern double OBFFConstraint_rab0_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_rbc0_set")]
  public static extern void OBFFConstraint_rbc0_set(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_rbc0_get")]
  public static extern double OBFFConstraint_rbc0_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_type_set")]
  public static extern void OBFFConstraint_type_set(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_type_get")]
  public static extern int OBFFConstraint_type_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_ia_set")]
  public static extern void OBFFConstraint_ia_set(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_ia_get")]
  public static extern int OBFFConstraint_ia_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_ib_set")]
  public static extern void OBFFConstraint_ib_set(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_ib_get")]
  public static extern int OBFFConstraint_ib_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_ic_set")]
  public static extern void OBFFConstraint_ic_set(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_ic_get")]
  public static extern int OBFFConstraint_ic_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_id_set")]
  public static extern void OBFFConstraint_id_set(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_id_get")]
  public static extern int OBFFConstraint_id_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_a_set")]
  public static extern void OBFFConstraint_a_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_a_get")]
  public static extern IntPtr OBFFConstraint_a_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_b_set")]
  public static extern void OBFFConstraint_b_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_b_get")]
  public static extern IntPtr OBFFConstraint_b_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_c_set")]
  public static extern void OBFFConstraint_c_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_c_get")]
  public static extern IntPtr OBFFConstraint_c_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_d_set")]
  public static extern void OBFFConstraint_d_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_d_get")]
  public static extern IntPtr OBFFConstraint_d_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_grada_set")]
  public static extern void OBFFConstraint_grada_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_grada_get")]
  public static extern IntPtr OBFFConstraint_grada_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_gradb_set")]
  public static extern void OBFFConstraint_gradb_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_gradb_get")]
  public static extern IntPtr OBFFConstraint_gradb_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_gradc_set")]
  public static extern void OBFFConstraint_gradc_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_gradc_get")]
  public static extern IntPtr OBFFConstraint_gradc_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_gradd_set")]
  public static extern void OBFFConstraint_gradd_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_gradd_get")]
  public static extern IntPtr OBFFConstraint_gradd_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBFFConstraint")]
  public static extern IntPtr new_OBFFConstraint();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBFFConstraint")]
  public static extern void delete_OBFFConstraint(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraint_GetGradient")]
  public static extern IntPtr OBFFConstraint_GetGradient(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBFFConstraints")]
  public static extern IntPtr new_OBFFConstraints();

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBFFConstraints")]
  public static extern void delete_OBFFConstraints(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_Clear")]
  public static extern void OBFFConstraints_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_GetConstraintEnergy")]
  public static extern double OBFFConstraints_GetConstraintEnergy(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_GetGradient")]
  public static extern IntPtr OBFFConstraints_GetGradient(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_Setup")]
  public static extern void OBFFConstraints_Setup(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_SetFactor")]
  public static extern void OBFFConstraints_SetFactor(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_AddIgnore")]
  public static extern void OBFFConstraints_AddIgnore(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_AddAtomConstraint")]
  public static extern void OBFFConstraints_AddAtomConstraint(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_AddAtomXConstraint")]
  public static extern void OBFFConstraints_AddAtomXConstraint(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_AddAtomYConstraint")]
  public static extern void OBFFConstraints_AddAtomYConstraint(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_AddAtomZConstraint")]
  public static extern void OBFFConstraints_AddAtomZConstraint(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_AddDistanceConstraint")]
  public static extern void OBFFConstraints_AddDistanceConstraint(HandleRef jarg1, int jarg2, int jarg3, double jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_AddAngleConstraint")]
  public static extern void OBFFConstraints_AddAngleConstraint(HandleRef jarg1, int jarg2, int jarg3, int jarg4, double jarg5);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_AddTorsionConstraint")]
  public static extern void OBFFConstraints_AddTorsionConstraint(HandleRef jarg1, int jarg2, int jarg3, int jarg4, int jarg5, double jarg6);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_DeleteConstraint")]
  public static extern void OBFFConstraints_DeleteConstraint(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_GetFactor")]
  public static extern double OBFFConstraints_GetFactor(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_Size")]
  public static extern int OBFFConstraints_Size(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_GetConstraintType")]
  public static extern int OBFFConstraints_GetConstraintType(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_GetConstraintValue")]
  public static extern double OBFFConstraints_GetConstraintValue(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_GetConstraintAtomA")]
  public static extern int OBFFConstraints_GetConstraintAtomA(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_GetConstraintAtomB")]
  public static extern int OBFFConstraints_GetConstraintAtomB(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_GetConstraintAtomC")]
  public static extern int OBFFConstraints_GetConstraintAtomC(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_GetConstraintAtomD")]
  public static extern int OBFFConstraints_GetConstraintAtomD(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_IsIgnored")]
  public static extern bool OBFFConstraints_IsIgnored(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_IsFixed")]
  public static extern bool OBFFConstraints_IsFixed(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_IsXFixed")]
  public static extern bool OBFFConstraints_IsXFixed(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_IsYFixed")]
  public static extern bool OBFFConstraints_IsYFixed(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_IsZFixed")]
  public static extern bool OBFFConstraints_IsZFixed(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFConstraints_GetIgnoredBitVec")]
  public static extern IntPtr OBFFConstraints_GetIgnoredBitVec(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_Default")]
  public static extern IntPtr OBForceField_Default();

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_FindType")]
  public static extern IntPtr OBForceField_FindType(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_MakeNewInstance")]
  public static extern IntPtr OBForceField_MakeNewInstance(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBForceField")]
  public static extern void delete_OBForceField(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_TypeID")]
  public static extern string OBForceField_TypeID(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_FindForceField__SWIG_0")]
  public static extern IntPtr OBForceField_FindForceField__SWIG_0(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SetParameterFile")]
  public static extern void OBForceField_SetParameterFile(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_GetUnit")]
  public static extern string OBForceField_GetUnit(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_HasAnalyticalGradients")]
  public static extern bool OBForceField_HasAnalyticalGradients(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_Setup__SWIG_0")]
  public static extern bool OBForceField_Setup__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_Setup__SWIG_1")]
  public static extern bool OBForceField_Setup__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_ParseParamFile")]
  public static extern bool OBForceField_ParseParamFile(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SetTypes")]
  public static extern bool OBForceField_SetTypes(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SetFormalCharges")]
  public static extern bool OBForceField_SetFormalCharges(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SetPartialCharges")]
  public static extern bool OBForceField_SetPartialCharges(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SetupCalculations")]
  public static extern bool OBForceField_SetupCalculations(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SetupPointers")]
  public static extern bool OBForceField_SetupPointers(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_IsSetupNeeded")]
  public static extern bool OBForceField_IsSetupNeeded(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_GetAtomTypes")]
  public static extern bool OBForceField_GetAtomTypes(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_GetPartialCharges")]
  public static extern bool OBForceField_GetPartialCharges(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_GetCoordinates")]
  public static extern bool OBForceField_GetCoordinates(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_UpdateCoordinates")]
  public static extern bool OBForceField_UpdateCoordinates(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_GetConformers")]
  public static extern bool OBForceField_GetConformers(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_UpdateConformers")]
  public static extern bool OBForceField_UpdateConformers(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SetCoordinates")]
  public static extern bool OBForceField_SetCoordinates(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SetConformers")]
  public static extern bool OBForceField_SetConformers(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_GetGrid")]
  public static extern IntPtr OBForceField_GetGrid(HandleRef jarg1, double jarg2, double jarg3, string jarg4, double jarg5);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_AddIntraGroup")]
  public static extern void OBForceField_AddIntraGroup(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_AddInterGroup")]
  public static extern void OBForceField_AddInterGroup(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_AddInterGroups")]
  public static extern void OBForceField_AddInterGroups(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_ClearGroups")]
  public static extern void OBForceField_ClearGroups(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_HasGroups")]
  public static extern bool OBForceField_HasGroups(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_EnableCutOff")]
  public static extern void OBForceField_EnableCutOff(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_IsCutOffEnabled")]
  public static extern bool OBForceField_IsCutOffEnabled(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SetVDWCutOff")]
  public static extern void OBForceField_SetVDWCutOff(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_GetVDWCutOff")]
  public static extern double OBForceField_GetVDWCutOff(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SetElectrostaticCutOff")]
  public static extern void OBForceField_SetElectrostaticCutOff(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_GetElectrostaticCutOff")]
  public static extern double OBForceField_GetElectrostaticCutOff(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SetUpdateFrequency")]
  public static extern void OBForceField_SetUpdateFrequency(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_GetUpdateFrequency")]
  public static extern int OBForceField_GetUpdateFrequency(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_UpdatePairsSimple")]
  public static extern void OBForceField_UpdatePairsSimple(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_GetNumPairs")]
  public static extern uint OBForceField_GetNumPairs(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_EnableAllPairs")]
  public static extern void OBForceField_EnableAllPairs(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_Energy__SWIG_0")]
  public static extern double OBForceField_Energy__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_Energy__SWIG_1")]
  public static extern double OBForceField_Energy__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_E_Bond__SWIG_0")]
  public static extern double OBForceField_E_Bond__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_E_Bond__SWIG_1")]
  public static extern double OBForceField_E_Bond__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_E_Angle__SWIG_0")]
  public static extern double OBForceField_E_Angle__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_E_Angle__SWIG_1")]
  public static extern double OBForceField_E_Angle__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_E_StrBnd__SWIG_0")]
  public static extern double OBForceField_E_StrBnd__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_E_StrBnd__SWIG_1")]
  public static extern double OBForceField_E_StrBnd__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_E_Torsion__SWIG_0")]
  public static extern double OBForceField_E_Torsion__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_E_Torsion__SWIG_1")]
  public static extern double OBForceField_E_Torsion__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_E_OOP__SWIG_0")]
  public static extern double OBForceField_E_OOP__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_E_OOP__SWIG_1")]
  public static extern double OBForceField_E_OOP__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_E_VDW__SWIG_0")]
  public static extern double OBForceField_E_VDW__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_E_VDW__SWIG_1")]
  public static extern double OBForceField_E_VDW__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_E_Electrostatic__SWIG_0")]
  public static extern double OBForceField_E_Electrostatic__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_E_Electrostatic__SWIG_1")]
  public static extern double OBForceField_E_Electrostatic__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_PrintTypes")]
  public static extern void OBForceField_PrintTypes(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_PrintFormalCharges")]
  public static extern void OBForceField_PrintFormalCharges(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_PrintPartialCharges")]
  public static extern void OBForceField_PrintPartialCharges(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_PrintVelocities")]
  public static extern void OBForceField_PrintVelocities(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SetLogFile")]
  public static extern bool OBForceField_SetLogFile(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SetLogLevel")]
  public static extern bool OBForceField_SetLogLevel(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_GetLogLevel")]
  public static extern int OBForceField_GetLogLevel(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_OBFFLog__SWIG_0")]
  public static extern void OBForceField_OBFFLog__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_DistanceGeometry")]
  public static extern void OBForceField_DistanceGeometry(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SystematicRotorSearch__SWIG_0")]
  public static extern void OBForceField_SystematicRotorSearch__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SystematicRotorSearch__SWIG_1")]
  public static extern void OBForceField_SystematicRotorSearch__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SystematicRotorSearchInitialize__SWIG_0")]
  public static extern int OBForceField_SystematicRotorSearchInitialize__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SystematicRotorSearchInitialize__SWIG_1")]
  public static extern int OBForceField_SystematicRotorSearchInitialize__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SystematicRotorSearchNextConformer__SWIG_0")]
  public static extern bool OBForceField_SystematicRotorSearchNextConformer__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SystematicRotorSearchNextConformer__SWIG_1")]
  public static extern bool OBForceField_SystematicRotorSearchNextConformer__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_RandomRotorSearch__SWIG_0")]
  public static extern void OBForceField_RandomRotorSearch__SWIG_0(HandleRef jarg1, uint jarg2, uint jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_RandomRotorSearch__SWIG_1")]
  public static extern void OBForceField_RandomRotorSearch__SWIG_1(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_RandomRotorSearchInitialize__SWIG_0")]
  public static extern void OBForceField_RandomRotorSearchInitialize__SWIG_0(HandleRef jarg1, uint jarg2, uint jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_RandomRotorSearchInitialize__SWIG_1")]
  public static extern void OBForceField_RandomRotorSearchInitialize__SWIG_1(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_RandomRotorSearchNextConformer__SWIG_0")]
  public static extern bool OBForceField_RandomRotorSearchNextConformer__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_RandomRotorSearchNextConformer__SWIG_1")]
  public static extern bool OBForceField_RandomRotorSearchNextConformer__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_WeightedRotorSearch")]
  public static extern void OBForceField_WeightedRotorSearch(HandleRef jarg1, uint jarg2, uint jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SetLineSearchType")]
  public static extern void OBForceField_SetLineSearchType(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_GetLineSearchType")]
  public static extern int OBForceField_GetLineSearchType(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_LineSearch__SWIG_0")]
  public static extern IntPtr OBForceField_LineSearch__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_LineSearch__SWIG_1")]
  public static extern double OBForceField_LineSearch__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_Newton2NumLineSearch")]
  public static extern double OBForceField_Newton2NumLineSearch(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_LineSearchTakeStep")]
  public static extern void OBForceField_LineSearchTakeStep(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, double jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SteepestDescent__SWIG_0")]
  public static extern void OBForceField_SteepestDescent__SWIG_0(HandleRef jarg1, int jarg2, double jarg3, int jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SteepestDescent__SWIG_1")]
  public static extern void OBForceField_SteepestDescent__SWIG_1(HandleRef jarg1, int jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SteepestDescent__SWIG_2")]
  public static extern void OBForceField_SteepestDescent__SWIG_2(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SteepestDescentInitialize__SWIG_0")]
  public static extern void OBForceField_SteepestDescentInitialize__SWIG_0(HandleRef jarg1, int jarg2, double jarg3, int jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SteepestDescentInitialize__SWIG_1")]
  public static extern void OBForceField_SteepestDescentInitialize__SWIG_1(HandleRef jarg1, int jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SteepestDescentInitialize__SWIG_2")]
  public static extern void OBForceField_SteepestDescentInitialize__SWIG_2(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SteepestDescentInitialize__SWIG_3")]
  public static extern void OBForceField_SteepestDescentInitialize__SWIG_3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SteepestDescentTakeNSteps")]
  public static extern bool OBForceField_SteepestDescentTakeNSteps(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_ConjugateGradients__SWIG_0")]
  public static extern void OBForceField_ConjugateGradients__SWIG_0(HandleRef jarg1, int jarg2, double jarg3, int jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_ConjugateGradients__SWIG_1")]
  public static extern void OBForceField_ConjugateGradients__SWIG_1(HandleRef jarg1, int jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_ConjugateGradients__SWIG_2")]
  public static extern void OBForceField_ConjugateGradients__SWIG_2(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_ConjugateGradientsInitialize__SWIG_0")]
  public static extern void OBForceField_ConjugateGradientsInitialize__SWIG_0(HandleRef jarg1, int jarg2, double jarg3, int jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_ConjugateGradientsInitialize__SWIG_1")]
  public static extern void OBForceField_ConjugateGradientsInitialize__SWIG_1(HandleRef jarg1, int jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_ConjugateGradientsInitialize__SWIG_2")]
  public static extern void OBForceField_ConjugateGradientsInitialize__SWIG_2(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_ConjugateGradientsInitialize__SWIG_3")]
  public static extern void OBForceField_ConjugateGradientsInitialize__SWIG_3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_ConjugateGradientsTakeNSteps")]
  public static extern bool OBForceField_ConjugateGradientsTakeNSteps(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_GenerateVelocities")]
  public static extern void OBForceField_GenerateVelocities(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_CorrectVelocities")]
  public static extern void OBForceField_CorrectVelocities(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_MolecularDynamicsTakeNSteps__SWIG_0")]
  public static extern void OBForceField_MolecularDynamicsTakeNSteps__SWIG_0(HandleRef jarg1, int jarg2, double jarg3, double jarg4, int jarg5);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_MolecularDynamicsTakeNSteps__SWIG_1")]
  public static extern void OBForceField_MolecularDynamicsTakeNSteps__SWIG_1(HandleRef jarg1, int jarg2, double jarg3, double jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_MolecularDynamicsTakeNSteps__SWIG_2")]
  public static extern void OBForceField_MolecularDynamicsTakeNSteps__SWIG_2(HandleRef jarg1, int jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_GetConstraints")]
  public static extern IntPtr OBForceField_GetConstraints(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SetConstraints")]
  public static extern void OBForceField_SetConstraints(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SetFixAtom")]
  public static extern void OBForceField_SetFixAtom(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_UnsetFixAtom")]
  public static extern void OBForceField_UnsetFixAtom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_SetIgnoreAtom")]
  public static extern void OBForceField_SetIgnoreAtom(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_UnsetIgnoreAtom")]
  public static extern void OBForceField_UnsetIgnoreAtom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_IgnoreCalculation__SWIG_0")]
  public static extern bool OBForceField_IgnoreCalculation__SWIG_0(int jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_IgnoreCalculation__SWIG_1")]
  public static extern bool OBForceField_IgnoreCalculation__SWIG_1(int jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_IgnoreCalculation__SWIG_2")]
  public static extern bool OBForceField_IgnoreCalculation__SWIG_2(int jarg1, int jarg2, int jarg3, int jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_DetectExplosion")]
  public static extern bool OBForceField_DetectExplosion(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_ValidateLineSearch")]
  public static extern IntPtr OBForceField_ValidateLineSearch(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_ValidateSteepestDescent")]
  public static extern void OBForceField_ValidateSteepestDescent(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_ValidateConjugateGradients")]
  public static extern void OBForceField_ValidateConjugateGradients(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_Validate")]
  public static extern bool OBForceField_Validate(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_ValidateGradients")]
  public static extern bool OBForceField_ValidateGradients(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_ValidateGradientError")]
  public static extern IntPtr OBForceField_ValidateGradientError(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorBondDerivative")]
  public static extern double OBForceField_VectorBondDerivative(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorDistanceDerivative")]
  public static extern double OBForceField_VectorDistanceDerivative(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorLengthDerivative")]
  public static extern double OBForceField_VectorLengthDerivative(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorAngleDerivative__SWIG_0")]
  public static extern double OBForceField_VectorAngleDerivative__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorAngleDerivative__SWIG_1")]
  public static extern double OBForceField_VectorAngleDerivative__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorOOPDerivative__SWIG_0")]
  public static extern double OBForceField_VectorOOPDerivative__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorOOPDerivative__SWIG_1")]
  public static extern double OBForceField_VectorOOPDerivative__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorTorsionDerivative__SWIG_0")]
  public static extern double OBForceField_VectorTorsionDerivative__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorTorsionDerivative__SWIG_1")]
  public static extern double OBForceField_VectorTorsionDerivative__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorSubtract__SWIG_0")]
  public static extern void OBForceField_VectorSubtract__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorAdd")]
  public static extern void OBForceField_VectorAdd(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorDivide")]
  public static extern void OBForceField_VectorDivide(HandleRef jarg1, double jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorMultiply__SWIG_0")]
  public static extern void OBForceField_VectorMultiply__SWIG_0(HandleRef jarg1, double jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorSelfMultiply")]
  public static extern void OBForceField_VectorSelfMultiply(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorNormalize")]
  public static extern void OBForceField_VectorNormalize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorCopy")]
  public static extern void OBForceField_VectorCopy(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorLength")]
  public static extern double OBForceField_VectorLength(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorDistance")]
  public static extern double OBForceField_VectorDistance(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorAngle")]
  public static extern double OBForceField_VectorAngle(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorTorsion")]
  public static extern double OBForceField_VectorTorsion(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorOOP")]
  public static extern double OBForceField_VectorOOP(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorClear")]
  public static extern void OBForceField_VectorClear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorDot")]
  public static extern double OBForceField_VectorDot(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_VectorCross")]
  public static extern void OBForceField_VectorCross(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceField_PrintVector")]
  public static extern void OBForceField_PrintVector(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBOp_Default")]
  public static extern IntPtr OBOp_Default();

  [DllImport("openbabel", EntryPoint="CSharp_OBOp_FindType")]
  public static extern IntPtr OBOp_FindType(string jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBOp_TypeID")]
  public static extern string OBOp_TypeID(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBOp_Do__SWIG_0")]
  public static extern bool OBOp_Do__SWIG_0(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, string jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBOp_Do__SWIG_1")]
  public static extern bool OBOp_Do__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBOp_Do__SWIG_2")]
  public static extern bool OBOp_Do__SWIG_2(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBOp_WorksWith")]
  public static extern bool OBOp_WorksWith(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBOp_OpOptions")]
  public static extern string OBOp_OpOptions(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBOp_DoOps")]
  public static extern bool OBOp_DoOps(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBOp")]
  public static extern void delete_OBOp(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_SETWORD_get")]
  public static extern int SETWORD_get();

  [DllImport("openbabel", EntryPoint="CSharp_WORDROLL_get")]
  public static extern int WORDROLL_get();

  [DllImport("openbabel", EntryPoint="CSharp_WORDMASK_get")]
  public static extern int WORDMASK_get();

  [DllImport("openbabel", EntryPoint="CSharp_STARTWORDS_get")]
  public static extern int STARTWORDS_get();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBBitVec__SWIG_0")]
  public static extern IntPtr new_OBBitVec__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBBitVec__SWIG_1")]
  public static extern IntPtr new_OBBitVec__SWIG_1(uint jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBBitVec__SWIG_2")]
  public static extern IntPtr new_OBBitVec__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_SetBitOn")]
  public static extern void OBBitVec_SetBitOn(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_SetBitOff")]
  public static extern void OBBitVec_SetBitOff(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_SetRangeOn")]
  public static extern void OBBitVec_SetRangeOn(HandleRef jarg1, uint jarg2, uint jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_SetRangeOff")]
  public static extern void OBBitVec_SetRangeOff(HandleRef jarg1, uint jarg2, uint jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_Fold")]
  public static extern void OBBitVec_Fold(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_FirstBit__SWIG_0")]
  public static extern int OBBitVec_FirstBit__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_FirstBit__SWIG_1")]
  public static extern int OBBitVec_FirstBit__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_NextBit")]
  public static extern int OBBitVec_NextBit(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_EndBit")]
  public static extern int OBBitVec_EndBit(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_GetSize")]
  public static extern uint OBBitVec_GetSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_CountBits")]
  public static extern uint OBBitVec_CountBits(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_Empty")]
  public static extern bool OBBitVec_Empty(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_IsEmpty")]
  public static extern bool OBBitVec_IsEmpty(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_Resize")]
  public static extern bool OBBitVec_Resize(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_ResizeWords")]
  public static extern bool OBBitVec_ResizeWords(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_BitIsSet")]
  public static extern bool OBBitVec_BitIsSet(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_BitIsOn")]
  public static extern bool OBBitVec_BitIsOn(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_FromVecInt")]
  public static extern void OBBitVec_FromVecInt(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_FromString")]
  public static extern void OBBitVec_FromString(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_ToVecInt")]
  public static extern void OBBitVec_ToVecInt(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_Clear")]
  public static extern void OBBitVec_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_Negate")]
  public static extern void OBBitVec_Negate(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBBitVec_GetWords")]
  public static extern void OBBitVec_GetWords(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBBitVec")]
  public static extern void delete_OBBitVec(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_Tanimoto")]
  public static extern double Tanimoto(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolAtomIter__SWIG_0")]
  public static extern IntPtr new_OBMolAtomIter__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolAtomIter__SWIG_1")]
  public static extern IntPtr new_OBMolAtomIter__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolAtomIter__SWIG_2")]
  public static extern IntPtr new_OBMolAtomIter__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBMolAtomIter")]
  public static extern void delete_OBMolAtomIter(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter___deref__")]
  public static extern IntPtr OBMolAtomIter___deref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter___ref__")]
  public static extern IntPtr OBMolAtomIter___ref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_Visit_set")]
  public static extern void OBMolAtomIter_Visit_set(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_Visit_get")]
  public static extern bool OBMolAtomIter_Visit_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_Duplicate")]
  public static extern void OBMolAtomIter_Duplicate(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetIdx")]
  public static extern void OBMolAtomIter_SetIdx(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetHyb")]
  public static extern void OBMolAtomIter_SetHyb(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetAtomicNum")]
  public static extern void OBMolAtomIter_SetAtomicNum(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetIsotope")]
  public static extern void OBMolAtomIter_SetIsotope(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetImplicitValence")]
  public static extern void OBMolAtomIter_SetImplicitValence(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IncrementImplicitValence")]
  public static extern void OBMolAtomIter_IncrementImplicitValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_DecrementImplicitValence")]
  public static extern void OBMolAtomIter_DecrementImplicitValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetFormalCharge")]
  public static extern void OBMolAtomIter_SetFormalCharge(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetSpinMultiplicity")]
  public static extern void OBMolAtomIter_SetSpinMultiplicity(HandleRef jarg1, short jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetType__SWIG_0")]
  public static extern void OBMolAtomIter_SetType__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetPartialCharge")]
  public static extern void OBMolAtomIter_SetPartialCharge(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetVector__SWIG_0")]
  public static extern void OBMolAtomIter_SetVector__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetVector__SWIG_1")]
  public static extern void OBMolAtomIter_SetVector__SWIG_1(HandleRef jarg1, double jarg2, double jarg3, double jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetVector__SWIG_2")]
  public static extern void OBMolAtomIter_SetVector__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetCoordPtr")]
  public static extern void OBMolAtomIter_SetCoordPtr(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetResidue")]
  public static extern void OBMolAtomIter_SetResidue(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetParent")]
  public static extern void OBMolAtomIter_SetParent(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetAromatic")]
  public static extern void OBMolAtomIter_SetAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_UnsetAromatic")]
  public static extern void OBMolAtomIter_UnsetAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetClockwiseStereo")]
  public static extern void OBMolAtomIter_SetClockwiseStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetAntiClockwiseStereo")]
  public static extern void OBMolAtomIter_SetAntiClockwiseStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetPositiveStereo")]
  public static extern void OBMolAtomIter_SetPositiveStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetNegativeStereo")]
  public static extern void OBMolAtomIter_SetNegativeStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_UnsetStereo")]
  public static extern void OBMolAtomIter_UnsetStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetInRing")]
  public static extern void OBMolAtomIter_SetInRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetChiral")]
  public static extern void OBMolAtomIter_SetChiral(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_ClearCoordPtr")]
  public static extern void OBMolAtomIter_ClearCoordPtr(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetFormalCharge")]
  public static extern int OBMolAtomIter_GetFormalCharge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetAtomicNum")]
  public static extern uint OBMolAtomIter_GetAtomicNum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetIsotope")]
  public static extern ushort OBMolAtomIter_GetIsotope(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetSpinMultiplicity")]
  public static extern int OBMolAtomIter_GetSpinMultiplicity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetAtomicMass")]
  public static extern double OBMolAtomIter_GetAtomicMass(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetExactMass")]
  public static extern double OBMolAtomIter_GetExactMass(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetIdx")]
  public static extern uint OBMolAtomIter_GetIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetCoordinateIdx")]
  public static extern uint OBMolAtomIter_GetCoordinateIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetCIdx")]
  public static extern uint OBMolAtomIter_GetCIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetValence")]
  public static extern uint OBMolAtomIter_GetValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetHyb")]
  public static extern uint OBMolAtomIter_GetHyb(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetImplicitValence")]
  public static extern uint OBMolAtomIter_GetImplicitValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetHvyValence")]
  public static extern uint OBMolAtomIter_GetHvyValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetHeteroValence")]
  public static extern uint OBMolAtomIter_GetHeteroValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetType")]
  public static extern string OBMolAtomIter_GetType(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetX")]
  public static extern double OBMolAtomIter_GetX(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetY")]
  public static extern double OBMolAtomIter_GetY(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetZ")]
  public static extern double OBMolAtomIter_GetZ(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_x")]
  public static extern double OBMolAtomIter_x(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_y")]
  public static extern double OBMolAtomIter_y(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_z")]
  public static extern double OBMolAtomIter_z(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetCoordinate")]
  public static extern IntPtr OBMolAtomIter_GetCoordinate(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetVector__SWIG_0")]
  public static extern IntPtr OBMolAtomIter_GetVector__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetPartialCharge")]
  public static extern double OBMolAtomIter_GetPartialCharge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetResidue__SWIG_0")]
  public static extern IntPtr OBMolAtomIter_GetResidue__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetResidue__SWIG_1")]
  public static extern IntPtr OBMolAtomIter_GetResidue__SWIG_1(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetParent")]
  public static extern IntPtr OBMolAtomIter_GetParent(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetNewBondVector")]
  public static extern bool OBMolAtomIter_GetNewBondVector(HandleRef jarg1, HandleRef jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetBond")]
  public static extern IntPtr OBMolAtomIter_GetBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetNextAtom")]
  public static extern IntPtr OBMolAtomIter_GetNextAtom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_BeginBonds")]
  public static extern IntPtr OBMolAtomIter_BeginBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_EndBonds")]
  public static extern IntPtr OBMolAtomIter_EndBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_BeginBond")]
  public static extern IntPtr OBMolAtomIter_BeginBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_NextBond")]
  public static extern IntPtr OBMolAtomIter_NextBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_BeginNbrAtom")]
  public static extern IntPtr OBMolAtomIter_BeginNbrAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_NextNbrAtom")]
  public static extern IntPtr OBMolAtomIter_NextNbrAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetDistance__SWIG_0")]
  public static extern double OBMolAtomIter_GetDistance__SWIG_0(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetDistance__SWIG_1")]
  public static extern double OBMolAtomIter_GetDistance__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetAngle__SWIG_0")]
  public static extern double OBMolAtomIter_GetAngle__SWIG_0(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetAngle__SWIG_1")]
  public static extern double OBMolAtomIter_GetAngle__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_NewResidue")]
  public static extern void OBMolAtomIter_NewResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_AddResidue")]
  public static extern void OBMolAtomIter_AddResidue(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_DeleteResidue")]
  public static extern void OBMolAtomIter_DeleteResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_AddBond")]
  public static extern void OBMolAtomIter_AddBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_InsertBond")]
  public static extern void OBMolAtomIter_InsertBond(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_DeleteBond")]
  public static extern bool OBMolAtomIter_DeleteBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_ClearBond")]
  public static extern void OBMolAtomIter_ClearBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_HtoMethyl")]
  public static extern bool OBMolAtomIter_HtoMethyl(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetHybAndGeom")]
  public static extern bool OBMolAtomIter_SetHybAndGeom(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_ForceNoH")]
  public static extern void OBMolAtomIter_ForceNoH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_HasNoHForced")]
  public static extern bool OBMolAtomIter_HasNoHForced(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_ForceImplH")]
  public static extern void OBMolAtomIter_ForceImplH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_HasImplHForced")]
  public static extern bool OBMolAtomIter_HasImplHForced(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_CountFreeOxygens")]
  public static extern uint OBMolAtomIter_CountFreeOxygens(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_ImplicitHydrogenCount")]
  public static extern uint OBMolAtomIter_ImplicitHydrogenCount(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_ExplicitHydrogenCount__SWIG_0")]
  public static extern uint OBMolAtomIter_ExplicitHydrogenCount__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_ExplicitHydrogenCount__SWIG_1")]
  public static extern uint OBMolAtomIter_ExplicitHydrogenCount__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_MemberOfRingCount")]
  public static extern uint OBMolAtomIter_MemberOfRingCount(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_MemberOfRingSize")]
  public static extern uint OBMolAtomIter_MemberOfRingSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_CountRingBonds")]
  public static extern uint OBMolAtomIter_CountRingBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SmallestBondAngle")]
  public static extern double OBMolAtomIter_SmallestBondAngle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_AverageBondAngle")]
  public static extern double OBMolAtomIter_AverageBondAngle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_BOSum")]
  public static extern uint OBMolAtomIter_BOSum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_KBOSum")]
  public static extern uint OBMolAtomIter_KBOSum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_HasResidue")]
  public static extern bool OBMolAtomIter_HasResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsHydrogen")]
  public static extern bool OBMolAtomIter_IsHydrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsCarbon")]
  public static extern bool OBMolAtomIter_IsCarbon(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsNitrogen")]
  public static extern bool OBMolAtomIter_IsNitrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsOxygen")]
  public static extern bool OBMolAtomIter_IsOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsSulfur")]
  public static extern bool OBMolAtomIter_IsSulfur(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsPhosphorus")]
  public static extern bool OBMolAtomIter_IsPhosphorus(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsAromatic")]
  public static extern bool OBMolAtomIter_IsAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsInRing")]
  public static extern bool OBMolAtomIter_IsInRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsInRingSize")]
  public static extern bool OBMolAtomIter_IsInRingSize(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsHeteroatom")]
  public static extern bool OBMolAtomIter_IsHeteroatom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsNotCorH")]
  public static extern bool OBMolAtomIter_IsNotCorH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsConnected")]
  public static extern bool OBMolAtomIter_IsConnected(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsOneThree")]
  public static extern bool OBMolAtomIter_IsOneThree(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsOneFour")]
  public static extern bool OBMolAtomIter_IsOneFour(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsCarboxylOxygen")]
  public static extern bool OBMolAtomIter_IsCarboxylOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsPhosphateOxygen")]
  public static extern bool OBMolAtomIter_IsPhosphateOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsSulfateOxygen")]
  public static extern bool OBMolAtomIter_IsSulfateOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsNitroOxygen")]
  public static extern bool OBMolAtomIter_IsNitroOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsAmideNitrogen")]
  public static extern bool OBMolAtomIter_IsAmideNitrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsPolarHydrogen")]
  public static extern bool OBMolAtomIter_IsPolarHydrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsNonPolarHydrogen")]
  public static extern bool OBMolAtomIter_IsNonPolarHydrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsAromaticNOxide")]
  public static extern bool OBMolAtomIter_IsAromaticNOxide(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsChiral")]
  public static extern bool OBMolAtomIter_IsChiral(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsAxial")]
  public static extern bool OBMolAtomIter_IsAxial(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsClockwise")]
  public static extern bool OBMolAtomIter_IsClockwise(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsAntiClockwise")]
  public static extern bool OBMolAtomIter_IsAntiClockwise(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsPositiveStereo")]
  public static extern bool OBMolAtomIter_IsPositiveStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsNegativeStereo")]
  public static extern bool OBMolAtomIter_IsNegativeStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_HasChiralitySpecified")]
  public static extern bool OBMolAtomIter_HasChiralitySpecified(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_HasChiralVolume")]
  public static extern bool OBMolAtomIter_HasChiralVolume(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsHbondAcceptor")]
  public static extern bool OBMolAtomIter_IsHbondAcceptor(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsHbondDonor")]
  public static extern bool OBMolAtomIter_IsHbondDonor(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_IsHbondDonorH")]
  public static extern bool OBMolAtomIter_IsHbondDonorH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_HasAlphaBetaUnsat__SWIG_0")]
  public static extern bool OBMolAtomIter_HasAlphaBetaUnsat__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_HasAlphaBetaUnsat__SWIG_1")]
  public static extern bool OBMolAtomIter_HasAlphaBetaUnsat__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_HasBondOfOrder")]
  public static extern bool OBMolAtomIter_HasBondOfOrder(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_CountBondsOfOrder")]
  public static extern int OBMolAtomIter_CountBondsOfOrder(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_HasNonSingleBond")]
  public static extern bool OBMolAtomIter_HasNonSingleBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_HasSingleBond")]
  public static extern bool OBMolAtomIter_HasSingleBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_HasDoubleBond")]
  public static extern bool OBMolAtomIter_HasDoubleBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_HasAromaticBond")]
  public static extern bool OBMolAtomIter_HasAromaticBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_MatchesSMARTS")]
  public static extern bool OBMolAtomIter_MatchesSMARTS(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_Clear")]
  public static extern bool OBMolAtomIter_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_DoTransformations")]
  public static extern IntPtr OBMolAtomIter_DoTransformations(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_ClassDescription")]
  public static extern string OBMolAtomIter_ClassDescription(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_HasData__SWIG_2")]
  public static extern bool OBMolAtomIter_HasData__SWIG_2(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_DeleteData__SWIG_0")]
  public static extern void OBMolAtomIter_DeleteData__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_DeleteData__SWIG_1")]
  public static extern void OBMolAtomIter_DeleteData__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_DeleteData__SWIG_2")]
  public static extern void OBMolAtomIter_DeleteData__SWIG_2(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_DeleteData__SWIG_3")]
  public static extern bool OBMolAtomIter_DeleteData__SWIG_3(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_SetData")]
  public static extern void OBMolAtomIter_SetData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_CloneData")]
  public static extern void OBMolAtomIter_CloneData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_DataSize")]
  public static extern uint OBMolAtomIter_DataSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetData__SWIG_0")]
  public static extern IntPtr OBMolAtomIter_GetData__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetData__SWIG_3")]
  public static extern IntPtr OBMolAtomIter_GetData__SWIG_3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetData__SWIG_4")]
  public static extern IntPtr OBMolAtomIter_GetData__SWIG_4(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_GetAllData")]
  public static extern IntPtr OBMolAtomIter_GetAllData(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_BeginData")]
  public static extern IntPtr OBMolAtomIter_BeginData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomIter_EndData")]
  public static extern IntPtr OBMolAtomIter_EndData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolAtomDFSIter__SWIG_0")]
  public static extern IntPtr new_OBMolAtomDFSIter__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolAtomDFSIter__SWIG_1")]
  public static extern IntPtr new_OBMolAtomDFSIter__SWIG_1(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolAtomDFSIter__SWIG_2")]
  public static extern IntPtr new_OBMolAtomDFSIter__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolAtomDFSIter__SWIG_4")]
  public static extern IntPtr new_OBMolAtomDFSIter__SWIG_4(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBMolAtomDFSIter")]
  public static extern void delete_OBMolAtomDFSIter(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter___deref__")]
  public static extern IntPtr OBMolAtomDFSIter___deref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter___ref__")]
  public static extern IntPtr OBMolAtomDFSIter___ref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_next")]
  public static extern IntPtr OBMolAtomDFSIter_next(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_Visit_set")]
  public static extern void OBMolAtomDFSIter_Visit_set(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_Visit_get")]
  public static extern bool OBMolAtomDFSIter_Visit_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_Duplicate")]
  public static extern void OBMolAtomDFSIter_Duplicate(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetIdx")]
  public static extern void OBMolAtomDFSIter_SetIdx(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetHyb")]
  public static extern void OBMolAtomDFSIter_SetHyb(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetAtomicNum")]
  public static extern void OBMolAtomDFSIter_SetAtomicNum(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetIsotope")]
  public static extern void OBMolAtomDFSIter_SetIsotope(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetImplicitValence")]
  public static extern void OBMolAtomDFSIter_SetImplicitValence(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IncrementImplicitValence")]
  public static extern void OBMolAtomDFSIter_IncrementImplicitValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_DecrementImplicitValence")]
  public static extern void OBMolAtomDFSIter_DecrementImplicitValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetFormalCharge")]
  public static extern void OBMolAtomDFSIter_SetFormalCharge(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetSpinMultiplicity")]
  public static extern void OBMolAtomDFSIter_SetSpinMultiplicity(HandleRef jarg1, short jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetType__SWIG_0")]
  public static extern void OBMolAtomDFSIter_SetType__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetPartialCharge")]
  public static extern void OBMolAtomDFSIter_SetPartialCharge(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetVector__SWIG_0")]
  public static extern void OBMolAtomDFSIter_SetVector__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetVector__SWIG_1")]
  public static extern void OBMolAtomDFSIter_SetVector__SWIG_1(HandleRef jarg1, double jarg2, double jarg3, double jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetVector__SWIG_2")]
  public static extern void OBMolAtomDFSIter_SetVector__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetCoordPtr")]
  public static extern void OBMolAtomDFSIter_SetCoordPtr(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetResidue")]
  public static extern void OBMolAtomDFSIter_SetResidue(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetParent")]
  public static extern void OBMolAtomDFSIter_SetParent(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetAromatic")]
  public static extern void OBMolAtomDFSIter_SetAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_UnsetAromatic")]
  public static extern void OBMolAtomDFSIter_UnsetAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetClockwiseStereo")]
  public static extern void OBMolAtomDFSIter_SetClockwiseStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetAntiClockwiseStereo")]
  public static extern void OBMolAtomDFSIter_SetAntiClockwiseStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetPositiveStereo")]
  public static extern void OBMolAtomDFSIter_SetPositiveStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetNegativeStereo")]
  public static extern void OBMolAtomDFSIter_SetNegativeStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_UnsetStereo")]
  public static extern void OBMolAtomDFSIter_UnsetStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetInRing")]
  public static extern void OBMolAtomDFSIter_SetInRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetChiral")]
  public static extern void OBMolAtomDFSIter_SetChiral(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_ClearCoordPtr")]
  public static extern void OBMolAtomDFSIter_ClearCoordPtr(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetFormalCharge")]
  public static extern int OBMolAtomDFSIter_GetFormalCharge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetAtomicNum")]
  public static extern uint OBMolAtomDFSIter_GetAtomicNum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetIsotope")]
  public static extern ushort OBMolAtomDFSIter_GetIsotope(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetSpinMultiplicity")]
  public static extern int OBMolAtomDFSIter_GetSpinMultiplicity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetAtomicMass")]
  public static extern double OBMolAtomDFSIter_GetAtomicMass(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetExactMass")]
  public static extern double OBMolAtomDFSIter_GetExactMass(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetIdx")]
  public static extern uint OBMolAtomDFSIter_GetIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetCoordinateIdx")]
  public static extern uint OBMolAtomDFSIter_GetCoordinateIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetCIdx")]
  public static extern uint OBMolAtomDFSIter_GetCIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetValence")]
  public static extern uint OBMolAtomDFSIter_GetValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetHyb")]
  public static extern uint OBMolAtomDFSIter_GetHyb(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetImplicitValence")]
  public static extern uint OBMolAtomDFSIter_GetImplicitValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetHvyValence")]
  public static extern uint OBMolAtomDFSIter_GetHvyValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetHeteroValence")]
  public static extern uint OBMolAtomDFSIter_GetHeteroValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetType")]
  public static extern string OBMolAtomDFSIter_GetType(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetX")]
  public static extern double OBMolAtomDFSIter_GetX(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetY")]
  public static extern double OBMolAtomDFSIter_GetY(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetZ")]
  public static extern double OBMolAtomDFSIter_GetZ(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_x")]
  public static extern double OBMolAtomDFSIter_x(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_y")]
  public static extern double OBMolAtomDFSIter_y(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_z")]
  public static extern double OBMolAtomDFSIter_z(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetCoordinate")]
  public static extern IntPtr OBMolAtomDFSIter_GetCoordinate(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetVector__SWIG_0")]
  public static extern IntPtr OBMolAtomDFSIter_GetVector__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetPartialCharge")]
  public static extern double OBMolAtomDFSIter_GetPartialCharge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetResidue__SWIG_0")]
  public static extern IntPtr OBMolAtomDFSIter_GetResidue__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetResidue__SWIG_1")]
  public static extern IntPtr OBMolAtomDFSIter_GetResidue__SWIG_1(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetParent")]
  public static extern IntPtr OBMolAtomDFSIter_GetParent(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetNewBondVector")]
  public static extern bool OBMolAtomDFSIter_GetNewBondVector(HandleRef jarg1, HandleRef jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetBond")]
  public static extern IntPtr OBMolAtomDFSIter_GetBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetNextAtom")]
  public static extern IntPtr OBMolAtomDFSIter_GetNextAtom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_BeginBonds")]
  public static extern IntPtr OBMolAtomDFSIter_BeginBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_EndBonds")]
  public static extern IntPtr OBMolAtomDFSIter_EndBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_BeginBond")]
  public static extern IntPtr OBMolAtomDFSIter_BeginBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_NextBond")]
  public static extern IntPtr OBMolAtomDFSIter_NextBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_BeginNbrAtom")]
  public static extern IntPtr OBMolAtomDFSIter_BeginNbrAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_NextNbrAtom")]
  public static extern IntPtr OBMolAtomDFSIter_NextNbrAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetDistance__SWIG_0")]
  public static extern double OBMolAtomDFSIter_GetDistance__SWIG_0(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetDistance__SWIG_1")]
  public static extern double OBMolAtomDFSIter_GetDistance__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetAngle__SWIG_0")]
  public static extern double OBMolAtomDFSIter_GetAngle__SWIG_0(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetAngle__SWIG_1")]
  public static extern double OBMolAtomDFSIter_GetAngle__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_NewResidue")]
  public static extern void OBMolAtomDFSIter_NewResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_AddResidue")]
  public static extern void OBMolAtomDFSIter_AddResidue(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_DeleteResidue")]
  public static extern void OBMolAtomDFSIter_DeleteResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_AddBond")]
  public static extern void OBMolAtomDFSIter_AddBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_InsertBond")]
  public static extern void OBMolAtomDFSIter_InsertBond(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_DeleteBond")]
  public static extern bool OBMolAtomDFSIter_DeleteBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_ClearBond")]
  public static extern void OBMolAtomDFSIter_ClearBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_HtoMethyl")]
  public static extern bool OBMolAtomDFSIter_HtoMethyl(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetHybAndGeom")]
  public static extern bool OBMolAtomDFSIter_SetHybAndGeom(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_ForceNoH")]
  public static extern void OBMolAtomDFSIter_ForceNoH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_HasNoHForced")]
  public static extern bool OBMolAtomDFSIter_HasNoHForced(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_ForceImplH")]
  public static extern void OBMolAtomDFSIter_ForceImplH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_HasImplHForced")]
  public static extern bool OBMolAtomDFSIter_HasImplHForced(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_CountFreeOxygens")]
  public static extern uint OBMolAtomDFSIter_CountFreeOxygens(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_ImplicitHydrogenCount")]
  public static extern uint OBMolAtomDFSIter_ImplicitHydrogenCount(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_ExplicitHydrogenCount__SWIG_0")]
  public static extern uint OBMolAtomDFSIter_ExplicitHydrogenCount__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_ExplicitHydrogenCount__SWIG_1")]
  public static extern uint OBMolAtomDFSIter_ExplicitHydrogenCount__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_MemberOfRingCount")]
  public static extern uint OBMolAtomDFSIter_MemberOfRingCount(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_MemberOfRingSize")]
  public static extern uint OBMolAtomDFSIter_MemberOfRingSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_CountRingBonds")]
  public static extern uint OBMolAtomDFSIter_CountRingBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SmallestBondAngle")]
  public static extern double OBMolAtomDFSIter_SmallestBondAngle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_AverageBondAngle")]
  public static extern double OBMolAtomDFSIter_AverageBondAngle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_BOSum")]
  public static extern uint OBMolAtomDFSIter_BOSum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_KBOSum")]
  public static extern uint OBMolAtomDFSIter_KBOSum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_HasResidue")]
  public static extern bool OBMolAtomDFSIter_HasResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsHydrogen")]
  public static extern bool OBMolAtomDFSIter_IsHydrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsCarbon")]
  public static extern bool OBMolAtomDFSIter_IsCarbon(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsNitrogen")]
  public static extern bool OBMolAtomDFSIter_IsNitrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsOxygen")]
  public static extern bool OBMolAtomDFSIter_IsOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsSulfur")]
  public static extern bool OBMolAtomDFSIter_IsSulfur(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsPhosphorus")]
  public static extern bool OBMolAtomDFSIter_IsPhosphorus(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsAromatic")]
  public static extern bool OBMolAtomDFSIter_IsAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsInRing")]
  public static extern bool OBMolAtomDFSIter_IsInRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsInRingSize")]
  public static extern bool OBMolAtomDFSIter_IsInRingSize(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsHeteroatom")]
  public static extern bool OBMolAtomDFSIter_IsHeteroatom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsNotCorH")]
  public static extern bool OBMolAtomDFSIter_IsNotCorH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsConnected")]
  public static extern bool OBMolAtomDFSIter_IsConnected(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsOneThree")]
  public static extern bool OBMolAtomDFSIter_IsOneThree(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsOneFour")]
  public static extern bool OBMolAtomDFSIter_IsOneFour(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsCarboxylOxygen")]
  public static extern bool OBMolAtomDFSIter_IsCarboxylOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsPhosphateOxygen")]
  public static extern bool OBMolAtomDFSIter_IsPhosphateOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsSulfateOxygen")]
  public static extern bool OBMolAtomDFSIter_IsSulfateOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsNitroOxygen")]
  public static extern bool OBMolAtomDFSIter_IsNitroOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsAmideNitrogen")]
  public static extern bool OBMolAtomDFSIter_IsAmideNitrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsPolarHydrogen")]
  public static extern bool OBMolAtomDFSIter_IsPolarHydrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsNonPolarHydrogen")]
  public static extern bool OBMolAtomDFSIter_IsNonPolarHydrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsAromaticNOxide")]
  public static extern bool OBMolAtomDFSIter_IsAromaticNOxide(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsChiral")]
  public static extern bool OBMolAtomDFSIter_IsChiral(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsAxial")]
  public static extern bool OBMolAtomDFSIter_IsAxial(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsClockwise")]
  public static extern bool OBMolAtomDFSIter_IsClockwise(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsAntiClockwise")]
  public static extern bool OBMolAtomDFSIter_IsAntiClockwise(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsPositiveStereo")]
  public static extern bool OBMolAtomDFSIter_IsPositiveStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsNegativeStereo")]
  public static extern bool OBMolAtomDFSIter_IsNegativeStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_HasChiralitySpecified")]
  public static extern bool OBMolAtomDFSIter_HasChiralitySpecified(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_HasChiralVolume")]
  public static extern bool OBMolAtomDFSIter_HasChiralVolume(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsHbondAcceptor")]
  public static extern bool OBMolAtomDFSIter_IsHbondAcceptor(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsHbondDonor")]
  public static extern bool OBMolAtomDFSIter_IsHbondDonor(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_IsHbondDonorH")]
  public static extern bool OBMolAtomDFSIter_IsHbondDonorH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_HasAlphaBetaUnsat__SWIG_0")]
  public static extern bool OBMolAtomDFSIter_HasAlphaBetaUnsat__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_HasAlphaBetaUnsat__SWIG_1")]
  public static extern bool OBMolAtomDFSIter_HasAlphaBetaUnsat__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_HasBondOfOrder")]
  public static extern bool OBMolAtomDFSIter_HasBondOfOrder(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_CountBondsOfOrder")]
  public static extern int OBMolAtomDFSIter_CountBondsOfOrder(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_HasNonSingleBond")]
  public static extern bool OBMolAtomDFSIter_HasNonSingleBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_HasSingleBond")]
  public static extern bool OBMolAtomDFSIter_HasSingleBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_HasDoubleBond")]
  public static extern bool OBMolAtomDFSIter_HasDoubleBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_HasAromaticBond")]
  public static extern bool OBMolAtomDFSIter_HasAromaticBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_MatchesSMARTS")]
  public static extern bool OBMolAtomDFSIter_MatchesSMARTS(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_Clear")]
  public static extern bool OBMolAtomDFSIter_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_DoTransformations")]
  public static extern IntPtr OBMolAtomDFSIter_DoTransformations(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_ClassDescription")]
  public static extern string OBMolAtomDFSIter_ClassDescription(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_HasData__SWIG_2")]
  public static extern bool OBMolAtomDFSIter_HasData__SWIG_2(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_DeleteData__SWIG_0")]
  public static extern void OBMolAtomDFSIter_DeleteData__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_DeleteData__SWIG_1")]
  public static extern void OBMolAtomDFSIter_DeleteData__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_DeleteData__SWIG_2")]
  public static extern void OBMolAtomDFSIter_DeleteData__SWIG_2(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_DeleteData__SWIG_3")]
  public static extern bool OBMolAtomDFSIter_DeleteData__SWIG_3(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_SetData")]
  public static extern void OBMolAtomDFSIter_SetData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_CloneData")]
  public static extern void OBMolAtomDFSIter_CloneData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_DataSize")]
  public static extern uint OBMolAtomDFSIter_DataSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetData__SWIG_0")]
  public static extern IntPtr OBMolAtomDFSIter_GetData__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetData__SWIG_3")]
  public static extern IntPtr OBMolAtomDFSIter_GetData__SWIG_3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetData__SWIG_4")]
  public static extern IntPtr OBMolAtomDFSIter_GetData__SWIG_4(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_GetAllData")]
  public static extern IntPtr OBMolAtomDFSIter_GetAllData(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_BeginData")]
  public static extern IntPtr OBMolAtomDFSIter_BeginData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomDFSIter_EndData")]
  public static extern IntPtr OBMolAtomDFSIter_EndData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolAtomBFSIter__SWIG_0")]
  public static extern IntPtr new_OBMolAtomBFSIter__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolAtomBFSIter__SWIG_1")]
  public static extern IntPtr new_OBMolAtomBFSIter__SWIG_1(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolAtomBFSIter__SWIG_2")]
  public static extern IntPtr new_OBMolAtomBFSIter__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolAtomBFSIter__SWIG_4")]
  public static extern IntPtr new_OBMolAtomBFSIter__SWIG_4(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBMolAtomBFSIter")]
  public static extern void delete_OBMolAtomBFSIter(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter___deref__")]
  public static extern IntPtr OBMolAtomBFSIter___deref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter___ref__")]
  public static extern IntPtr OBMolAtomBFSIter___ref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_CurrentDepth")]
  public static extern int OBMolAtomBFSIter_CurrentDepth(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_Visit_set")]
  public static extern void OBMolAtomBFSIter_Visit_set(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_Visit_get")]
  public static extern bool OBMolAtomBFSIter_Visit_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_Duplicate")]
  public static extern void OBMolAtomBFSIter_Duplicate(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetIdx")]
  public static extern void OBMolAtomBFSIter_SetIdx(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetHyb")]
  public static extern void OBMolAtomBFSIter_SetHyb(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetAtomicNum")]
  public static extern void OBMolAtomBFSIter_SetAtomicNum(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetIsotope")]
  public static extern void OBMolAtomBFSIter_SetIsotope(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetImplicitValence")]
  public static extern void OBMolAtomBFSIter_SetImplicitValence(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IncrementImplicitValence")]
  public static extern void OBMolAtomBFSIter_IncrementImplicitValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_DecrementImplicitValence")]
  public static extern void OBMolAtomBFSIter_DecrementImplicitValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetFormalCharge")]
  public static extern void OBMolAtomBFSIter_SetFormalCharge(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetSpinMultiplicity")]
  public static extern void OBMolAtomBFSIter_SetSpinMultiplicity(HandleRef jarg1, short jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetType__SWIG_0")]
  public static extern void OBMolAtomBFSIter_SetType__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetPartialCharge")]
  public static extern void OBMolAtomBFSIter_SetPartialCharge(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetVector__SWIG_0")]
  public static extern void OBMolAtomBFSIter_SetVector__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetVector__SWIG_1")]
  public static extern void OBMolAtomBFSIter_SetVector__SWIG_1(HandleRef jarg1, double jarg2, double jarg3, double jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetVector__SWIG_2")]
  public static extern void OBMolAtomBFSIter_SetVector__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetCoordPtr")]
  public static extern void OBMolAtomBFSIter_SetCoordPtr(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetResidue")]
  public static extern void OBMolAtomBFSIter_SetResidue(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetParent")]
  public static extern void OBMolAtomBFSIter_SetParent(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetAromatic")]
  public static extern void OBMolAtomBFSIter_SetAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_UnsetAromatic")]
  public static extern void OBMolAtomBFSIter_UnsetAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetClockwiseStereo")]
  public static extern void OBMolAtomBFSIter_SetClockwiseStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetAntiClockwiseStereo")]
  public static extern void OBMolAtomBFSIter_SetAntiClockwiseStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetPositiveStereo")]
  public static extern void OBMolAtomBFSIter_SetPositiveStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetNegativeStereo")]
  public static extern void OBMolAtomBFSIter_SetNegativeStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_UnsetStereo")]
  public static extern void OBMolAtomBFSIter_UnsetStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetInRing")]
  public static extern void OBMolAtomBFSIter_SetInRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetChiral")]
  public static extern void OBMolAtomBFSIter_SetChiral(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_ClearCoordPtr")]
  public static extern void OBMolAtomBFSIter_ClearCoordPtr(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetFormalCharge")]
  public static extern int OBMolAtomBFSIter_GetFormalCharge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetAtomicNum")]
  public static extern uint OBMolAtomBFSIter_GetAtomicNum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetIsotope")]
  public static extern ushort OBMolAtomBFSIter_GetIsotope(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetSpinMultiplicity")]
  public static extern int OBMolAtomBFSIter_GetSpinMultiplicity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetAtomicMass")]
  public static extern double OBMolAtomBFSIter_GetAtomicMass(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetExactMass")]
  public static extern double OBMolAtomBFSIter_GetExactMass(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetIdx")]
  public static extern uint OBMolAtomBFSIter_GetIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetCoordinateIdx")]
  public static extern uint OBMolAtomBFSIter_GetCoordinateIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetCIdx")]
  public static extern uint OBMolAtomBFSIter_GetCIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetValence")]
  public static extern uint OBMolAtomBFSIter_GetValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetHyb")]
  public static extern uint OBMolAtomBFSIter_GetHyb(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetImplicitValence")]
  public static extern uint OBMolAtomBFSIter_GetImplicitValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetHvyValence")]
  public static extern uint OBMolAtomBFSIter_GetHvyValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetHeteroValence")]
  public static extern uint OBMolAtomBFSIter_GetHeteroValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetType")]
  public static extern string OBMolAtomBFSIter_GetType(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetX")]
  public static extern double OBMolAtomBFSIter_GetX(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetY")]
  public static extern double OBMolAtomBFSIter_GetY(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetZ")]
  public static extern double OBMolAtomBFSIter_GetZ(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_x")]
  public static extern double OBMolAtomBFSIter_x(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_y")]
  public static extern double OBMolAtomBFSIter_y(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_z")]
  public static extern double OBMolAtomBFSIter_z(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetCoordinate")]
  public static extern IntPtr OBMolAtomBFSIter_GetCoordinate(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetVector__SWIG_0")]
  public static extern IntPtr OBMolAtomBFSIter_GetVector__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetPartialCharge")]
  public static extern double OBMolAtomBFSIter_GetPartialCharge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetResidue__SWIG_0")]
  public static extern IntPtr OBMolAtomBFSIter_GetResidue__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetResidue__SWIG_1")]
  public static extern IntPtr OBMolAtomBFSIter_GetResidue__SWIG_1(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetParent")]
  public static extern IntPtr OBMolAtomBFSIter_GetParent(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetNewBondVector")]
  public static extern bool OBMolAtomBFSIter_GetNewBondVector(HandleRef jarg1, HandleRef jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetBond")]
  public static extern IntPtr OBMolAtomBFSIter_GetBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetNextAtom")]
  public static extern IntPtr OBMolAtomBFSIter_GetNextAtom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_BeginBonds")]
  public static extern IntPtr OBMolAtomBFSIter_BeginBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_EndBonds")]
  public static extern IntPtr OBMolAtomBFSIter_EndBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_BeginBond")]
  public static extern IntPtr OBMolAtomBFSIter_BeginBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_NextBond")]
  public static extern IntPtr OBMolAtomBFSIter_NextBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_BeginNbrAtom")]
  public static extern IntPtr OBMolAtomBFSIter_BeginNbrAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_NextNbrAtom")]
  public static extern IntPtr OBMolAtomBFSIter_NextNbrAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetDistance__SWIG_0")]
  public static extern double OBMolAtomBFSIter_GetDistance__SWIG_0(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetDistance__SWIG_1")]
  public static extern double OBMolAtomBFSIter_GetDistance__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetAngle__SWIG_0")]
  public static extern double OBMolAtomBFSIter_GetAngle__SWIG_0(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetAngle__SWIG_1")]
  public static extern double OBMolAtomBFSIter_GetAngle__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_NewResidue")]
  public static extern void OBMolAtomBFSIter_NewResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_AddResidue")]
  public static extern void OBMolAtomBFSIter_AddResidue(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_DeleteResidue")]
  public static extern void OBMolAtomBFSIter_DeleteResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_AddBond")]
  public static extern void OBMolAtomBFSIter_AddBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_InsertBond")]
  public static extern void OBMolAtomBFSIter_InsertBond(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_DeleteBond")]
  public static extern bool OBMolAtomBFSIter_DeleteBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_ClearBond")]
  public static extern void OBMolAtomBFSIter_ClearBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_HtoMethyl")]
  public static extern bool OBMolAtomBFSIter_HtoMethyl(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetHybAndGeom")]
  public static extern bool OBMolAtomBFSIter_SetHybAndGeom(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_ForceNoH")]
  public static extern void OBMolAtomBFSIter_ForceNoH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_HasNoHForced")]
  public static extern bool OBMolAtomBFSIter_HasNoHForced(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_ForceImplH")]
  public static extern void OBMolAtomBFSIter_ForceImplH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_HasImplHForced")]
  public static extern bool OBMolAtomBFSIter_HasImplHForced(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_CountFreeOxygens")]
  public static extern uint OBMolAtomBFSIter_CountFreeOxygens(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_ImplicitHydrogenCount")]
  public static extern uint OBMolAtomBFSIter_ImplicitHydrogenCount(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_ExplicitHydrogenCount__SWIG_0")]
  public static extern uint OBMolAtomBFSIter_ExplicitHydrogenCount__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_ExplicitHydrogenCount__SWIG_1")]
  public static extern uint OBMolAtomBFSIter_ExplicitHydrogenCount__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_MemberOfRingCount")]
  public static extern uint OBMolAtomBFSIter_MemberOfRingCount(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_MemberOfRingSize")]
  public static extern uint OBMolAtomBFSIter_MemberOfRingSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_CountRingBonds")]
  public static extern uint OBMolAtomBFSIter_CountRingBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SmallestBondAngle")]
  public static extern double OBMolAtomBFSIter_SmallestBondAngle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_AverageBondAngle")]
  public static extern double OBMolAtomBFSIter_AverageBondAngle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_BOSum")]
  public static extern uint OBMolAtomBFSIter_BOSum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_KBOSum")]
  public static extern uint OBMolAtomBFSIter_KBOSum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_HasResidue")]
  public static extern bool OBMolAtomBFSIter_HasResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsHydrogen")]
  public static extern bool OBMolAtomBFSIter_IsHydrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsCarbon")]
  public static extern bool OBMolAtomBFSIter_IsCarbon(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsNitrogen")]
  public static extern bool OBMolAtomBFSIter_IsNitrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsOxygen")]
  public static extern bool OBMolAtomBFSIter_IsOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsSulfur")]
  public static extern bool OBMolAtomBFSIter_IsSulfur(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsPhosphorus")]
  public static extern bool OBMolAtomBFSIter_IsPhosphorus(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsAromatic")]
  public static extern bool OBMolAtomBFSIter_IsAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsInRing")]
  public static extern bool OBMolAtomBFSIter_IsInRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsInRingSize")]
  public static extern bool OBMolAtomBFSIter_IsInRingSize(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsHeteroatom")]
  public static extern bool OBMolAtomBFSIter_IsHeteroatom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsNotCorH")]
  public static extern bool OBMolAtomBFSIter_IsNotCorH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsConnected")]
  public static extern bool OBMolAtomBFSIter_IsConnected(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsOneThree")]
  public static extern bool OBMolAtomBFSIter_IsOneThree(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsOneFour")]
  public static extern bool OBMolAtomBFSIter_IsOneFour(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsCarboxylOxygen")]
  public static extern bool OBMolAtomBFSIter_IsCarboxylOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsPhosphateOxygen")]
  public static extern bool OBMolAtomBFSIter_IsPhosphateOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsSulfateOxygen")]
  public static extern bool OBMolAtomBFSIter_IsSulfateOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsNitroOxygen")]
  public static extern bool OBMolAtomBFSIter_IsNitroOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsAmideNitrogen")]
  public static extern bool OBMolAtomBFSIter_IsAmideNitrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsPolarHydrogen")]
  public static extern bool OBMolAtomBFSIter_IsPolarHydrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsNonPolarHydrogen")]
  public static extern bool OBMolAtomBFSIter_IsNonPolarHydrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsAromaticNOxide")]
  public static extern bool OBMolAtomBFSIter_IsAromaticNOxide(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsChiral")]
  public static extern bool OBMolAtomBFSIter_IsChiral(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsAxial")]
  public static extern bool OBMolAtomBFSIter_IsAxial(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsClockwise")]
  public static extern bool OBMolAtomBFSIter_IsClockwise(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsAntiClockwise")]
  public static extern bool OBMolAtomBFSIter_IsAntiClockwise(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsPositiveStereo")]
  public static extern bool OBMolAtomBFSIter_IsPositiveStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsNegativeStereo")]
  public static extern bool OBMolAtomBFSIter_IsNegativeStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_HasChiralitySpecified")]
  public static extern bool OBMolAtomBFSIter_HasChiralitySpecified(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_HasChiralVolume")]
  public static extern bool OBMolAtomBFSIter_HasChiralVolume(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsHbondAcceptor")]
  public static extern bool OBMolAtomBFSIter_IsHbondAcceptor(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsHbondDonor")]
  public static extern bool OBMolAtomBFSIter_IsHbondDonor(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_IsHbondDonorH")]
  public static extern bool OBMolAtomBFSIter_IsHbondDonorH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_HasAlphaBetaUnsat__SWIG_0")]
  public static extern bool OBMolAtomBFSIter_HasAlphaBetaUnsat__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_HasAlphaBetaUnsat__SWIG_1")]
  public static extern bool OBMolAtomBFSIter_HasAlphaBetaUnsat__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_HasBondOfOrder")]
  public static extern bool OBMolAtomBFSIter_HasBondOfOrder(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_CountBondsOfOrder")]
  public static extern int OBMolAtomBFSIter_CountBondsOfOrder(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_HasNonSingleBond")]
  public static extern bool OBMolAtomBFSIter_HasNonSingleBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_HasSingleBond")]
  public static extern bool OBMolAtomBFSIter_HasSingleBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_HasDoubleBond")]
  public static extern bool OBMolAtomBFSIter_HasDoubleBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_HasAromaticBond")]
  public static extern bool OBMolAtomBFSIter_HasAromaticBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_MatchesSMARTS")]
  public static extern bool OBMolAtomBFSIter_MatchesSMARTS(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_Clear")]
  public static extern bool OBMolAtomBFSIter_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_DoTransformations")]
  public static extern IntPtr OBMolAtomBFSIter_DoTransformations(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_ClassDescription")]
  public static extern string OBMolAtomBFSIter_ClassDescription(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_HasData__SWIG_2")]
  public static extern bool OBMolAtomBFSIter_HasData__SWIG_2(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_DeleteData__SWIG_0")]
  public static extern void OBMolAtomBFSIter_DeleteData__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_DeleteData__SWIG_1")]
  public static extern void OBMolAtomBFSIter_DeleteData__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_DeleteData__SWIG_2")]
  public static extern void OBMolAtomBFSIter_DeleteData__SWIG_2(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_DeleteData__SWIG_3")]
  public static extern bool OBMolAtomBFSIter_DeleteData__SWIG_3(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_SetData")]
  public static extern void OBMolAtomBFSIter_SetData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_CloneData")]
  public static extern void OBMolAtomBFSIter_CloneData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_DataSize")]
  public static extern uint OBMolAtomBFSIter_DataSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetData__SWIG_0")]
  public static extern IntPtr OBMolAtomBFSIter_GetData__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetData__SWIG_3")]
  public static extern IntPtr OBMolAtomBFSIter_GetData__SWIG_3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetData__SWIG_4")]
  public static extern IntPtr OBMolAtomBFSIter_GetData__SWIG_4(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_GetAllData")]
  public static extern IntPtr OBMolAtomBFSIter_GetAllData(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_BeginData")]
  public static extern IntPtr OBMolAtomBFSIter_BeginData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAtomBFSIter_EndData")]
  public static extern IntPtr OBMolAtomBFSIter_EndData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolBondIter__SWIG_0")]
  public static extern IntPtr new_OBMolBondIter__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolBondIter__SWIG_1")]
  public static extern IntPtr new_OBMolBondIter__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolBondIter__SWIG_2")]
  public static extern IntPtr new_OBMolBondIter__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBMolBondIter")]
  public static extern void delete_OBMolBondIter(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter___deref__")]
  public static extern IntPtr OBMolBondIter___deref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter___ref__")]
  public static extern IntPtr OBMolBondIter___ref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_Visit_set")]
  public static extern void OBMolBondIter_Visit_set(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_Visit_get")]
  public static extern bool OBMolBondIter_Visit_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetIdx")]
  public static extern void OBMolBondIter_SetIdx(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetBO")]
  public static extern void OBMolBondIter_SetBO(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetBondOrder")]
  public static extern void OBMolBondIter_SetBondOrder(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetBegin")]
  public static extern void OBMolBondIter_SetBegin(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetEnd")]
  public static extern void OBMolBondIter_SetEnd(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetParent")]
  public static extern void OBMolBondIter_SetParent(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetLength__SWIG_0")]
  public static extern void OBMolBondIter_SetLength__SWIG_0(HandleRef jarg1, HandleRef jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetLength__SWIG_1")]
  public static extern void OBMolBondIter_SetLength__SWIG_1(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_Set")]
  public static extern void OBMolBondIter_Set(HandleRef jarg1, int jarg2, HandleRef jarg3, HandleRef jarg4, int jarg5, int jarg6);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetKSingle")]
  public static extern void OBMolBondIter_SetKSingle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetKDouble")]
  public static extern void OBMolBondIter_SetKDouble(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetKTriple")]
  public static extern void OBMolBondIter_SetKTriple(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetAromatic")]
  public static extern void OBMolBondIter_SetAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetHash")]
  public static extern void OBMolBondIter_SetHash(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetWedge")]
  public static extern void OBMolBondIter_SetWedge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetUp")]
  public static extern void OBMolBondIter_SetUp(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetDown")]
  public static extern void OBMolBondIter_SetDown(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetInRing")]
  public static extern void OBMolBondIter_SetInRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetClosure")]
  public static extern void OBMolBondIter_SetClosure(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_UnsetHash")]
  public static extern void OBMolBondIter_UnsetHash(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_UnsetWedge")]
  public static extern void OBMolBondIter_UnsetWedge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_UnsetUp")]
  public static extern void OBMolBondIter_UnsetUp(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_UnsetDown")]
  public static extern void OBMolBondIter_UnsetDown(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_UnsetAromatic")]
  public static extern void OBMolBondIter_UnsetAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_UnsetKekule")]
  public static extern void OBMolBondIter_UnsetKekule(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_GetIdx")]
  public static extern uint OBMolBondIter_GetIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_GetBO")]
  public static extern uint OBMolBondIter_GetBO(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_GetBondOrder")]
  public static extern uint OBMolBondIter_GetBondOrder(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_GetFlags")]
  public static extern uint OBMolBondIter_GetFlags(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_GetBeginAtomIdx")]
  public static extern uint OBMolBondIter_GetBeginAtomIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_GetEndAtomIdx")]
  public static extern uint OBMolBondIter_GetEndAtomIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_GetBeginAtom__SWIG_0")]
  public static extern IntPtr OBMolBondIter_GetBeginAtom__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_GetEndAtom__SWIG_0")]
  public static extern IntPtr OBMolBondIter_GetEndAtom__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_GetNbrAtom")]
  public static extern IntPtr OBMolBondIter_GetNbrAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_GetParent")]
  public static extern IntPtr OBMolBondIter_GetParent(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_GetEquibLength")]
  public static extern double OBMolBondIter_GetEquibLength(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_GetLength")]
  public static extern double OBMolBondIter_GetLength(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_GetNbrAtomIdx")]
  public static extern uint OBMolBondIter_GetNbrAtomIdx(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsAromatic")]
  public static extern bool OBMolBondIter_IsAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsInRing")]
  public static extern bool OBMolBondIter_IsInRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsRotor")]
  public static extern bool OBMolBondIter_IsRotor(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsAmide")]
  public static extern bool OBMolBondIter_IsAmide(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsPrimaryAmide")]
  public static extern bool OBMolBondIter_IsPrimaryAmide(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsSecondaryAmide")]
  public static extern bool OBMolBondIter_IsSecondaryAmide(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsEster")]
  public static extern bool OBMolBondIter_IsEster(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsCarbonyl")]
  public static extern bool OBMolBondIter_IsCarbonyl(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsSingle")]
  public static extern bool OBMolBondIter_IsSingle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsDouble")]
  public static extern bool OBMolBondIter_IsDouble(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsTriple")]
  public static extern bool OBMolBondIter_IsTriple(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsKSingle")]
  public static extern bool OBMolBondIter_IsKSingle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsKDouble")]
  public static extern bool OBMolBondIter_IsKDouble(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsKTriple")]
  public static extern bool OBMolBondIter_IsKTriple(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsClosure")]
  public static extern bool OBMolBondIter_IsClosure(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsUp")]
  public static extern bool OBMolBondIter_IsUp(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsDown")]
  public static extern bool OBMolBondIter_IsDown(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsWedge")]
  public static extern bool OBMolBondIter_IsWedge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsHash")]
  public static extern bool OBMolBondIter_IsHash(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_IsDoubleBondGeometry")]
  public static extern bool OBMolBondIter_IsDoubleBondGeometry(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_Clear")]
  public static extern bool OBMolBondIter_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_DoTransformations")]
  public static extern IntPtr OBMolBondIter_DoTransformations(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_ClassDescription")]
  public static extern string OBMolBondIter_ClassDescription(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_HasData__SWIG_2")]
  public static extern bool OBMolBondIter_HasData__SWIG_2(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_DeleteData__SWIG_0")]
  public static extern void OBMolBondIter_DeleteData__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_DeleteData__SWIG_1")]
  public static extern void OBMolBondIter_DeleteData__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_DeleteData__SWIG_2")]
  public static extern void OBMolBondIter_DeleteData__SWIG_2(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_DeleteData__SWIG_3")]
  public static extern bool OBMolBondIter_DeleteData__SWIG_3(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_SetData")]
  public static extern void OBMolBondIter_SetData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_CloneData")]
  public static extern void OBMolBondIter_CloneData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_DataSize")]
  public static extern uint OBMolBondIter_DataSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_GetData__SWIG_0")]
  public static extern IntPtr OBMolBondIter_GetData__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_GetData__SWIG_3")]
  public static extern IntPtr OBMolBondIter_GetData__SWIG_3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_GetData__SWIG_4")]
  public static extern IntPtr OBMolBondIter_GetData__SWIG_4(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_GetAllData")]
  public static extern IntPtr OBMolBondIter_GetAllData(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_BeginData")]
  public static extern IntPtr OBMolBondIter_BeginData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolBondIter_EndData")]
  public static extern IntPtr OBMolBondIter_EndData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBAtomAtomIter__SWIG_0")]
  public static extern IntPtr new_OBAtomAtomIter__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBAtomAtomIter__SWIG_1")]
  public static extern IntPtr new_OBAtomAtomIter__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBAtomAtomIter__SWIG_2")]
  public static extern IntPtr new_OBAtomAtomIter__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBAtomAtomIter")]
  public static extern void delete_OBAtomAtomIter(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter___deref__")]
  public static extern IntPtr OBAtomAtomIter___deref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter___ref__")]
  public static extern IntPtr OBAtomAtomIter___ref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_Visit_set")]
  public static extern void OBAtomAtomIter_Visit_set(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_Visit_get")]
  public static extern bool OBAtomAtomIter_Visit_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_Duplicate")]
  public static extern void OBAtomAtomIter_Duplicate(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetIdx")]
  public static extern void OBAtomAtomIter_SetIdx(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetHyb")]
  public static extern void OBAtomAtomIter_SetHyb(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetAtomicNum")]
  public static extern void OBAtomAtomIter_SetAtomicNum(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetIsotope")]
  public static extern void OBAtomAtomIter_SetIsotope(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetImplicitValence")]
  public static extern void OBAtomAtomIter_SetImplicitValence(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IncrementImplicitValence")]
  public static extern void OBAtomAtomIter_IncrementImplicitValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_DecrementImplicitValence")]
  public static extern void OBAtomAtomIter_DecrementImplicitValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetFormalCharge")]
  public static extern void OBAtomAtomIter_SetFormalCharge(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetSpinMultiplicity")]
  public static extern void OBAtomAtomIter_SetSpinMultiplicity(HandleRef jarg1, short jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetType__SWIG_0")]
  public static extern void OBAtomAtomIter_SetType__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetPartialCharge")]
  public static extern void OBAtomAtomIter_SetPartialCharge(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetVector__SWIG_0")]
  public static extern void OBAtomAtomIter_SetVector__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetVector__SWIG_1")]
  public static extern void OBAtomAtomIter_SetVector__SWIG_1(HandleRef jarg1, double jarg2, double jarg3, double jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetVector__SWIG_2")]
  public static extern void OBAtomAtomIter_SetVector__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetCoordPtr")]
  public static extern void OBAtomAtomIter_SetCoordPtr(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetResidue")]
  public static extern void OBAtomAtomIter_SetResidue(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetParent")]
  public static extern void OBAtomAtomIter_SetParent(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetAromatic")]
  public static extern void OBAtomAtomIter_SetAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_UnsetAromatic")]
  public static extern void OBAtomAtomIter_UnsetAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetClockwiseStereo")]
  public static extern void OBAtomAtomIter_SetClockwiseStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetAntiClockwiseStereo")]
  public static extern void OBAtomAtomIter_SetAntiClockwiseStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetPositiveStereo")]
  public static extern void OBAtomAtomIter_SetPositiveStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetNegativeStereo")]
  public static extern void OBAtomAtomIter_SetNegativeStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_UnsetStereo")]
  public static extern void OBAtomAtomIter_UnsetStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetInRing")]
  public static extern void OBAtomAtomIter_SetInRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetChiral")]
  public static extern void OBAtomAtomIter_SetChiral(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_ClearCoordPtr")]
  public static extern void OBAtomAtomIter_ClearCoordPtr(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetFormalCharge")]
  public static extern int OBAtomAtomIter_GetFormalCharge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetAtomicNum")]
  public static extern uint OBAtomAtomIter_GetAtomicNum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetIsotope")]
  public static extern ushort OBAtomAtomIter_GetIsotope(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetSpinMultiplicity")]
  public static extern int OBAtomAtomIter_GetSpinMultiplicity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetAtomicMass")]
  public static extern double OBAtomAtomIter_GetAtomicMass(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetExactMass")]
  public static extern double OBAtomAtomIter_GetExactMass(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetIdx")]
  public static extern uint OBAtomAtomIter_GetIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetCoordinateIdx")]
  public static extern uint OBAtomAtomIter_GetCoordinateIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetCIdx")]
  public static extern uint OBAtomAtomIter_GetCIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetValence")]
  public static extern uint OBAtomAtomIter_GetValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetHyb")]
  public static extern uint OBAtomAtomIter_GetHyb(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetImplicitValence")]
  public static extern uint OBAtomAtomIter_GetImplicitValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetHvyValence")]
  public static extern uint OBAtomAtomIter_GetHvyValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetHeteroValence")]
  public static extern uint OBAtomAtomIter_GetHeteroValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetType")]
  public static extern string OBAtomAtomIter_GetType(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetX")]
  public static extern double OBAtomAtomIter_GetX(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetY")]
  public static extern double OBAtomAtomIter_GetY(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetZ")]
  public static extern double OBAtomAtomIter_GetZ(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_x")]
  public static extern double OBAtomAtomIter_x(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_y")]
  public static extern double OBAtomAtomIter_y(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_z")]
  public static extern double OBAtomAtomIter_z(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetCoordinate")]
  public static extern IntPtr OBAtomAtomIter_GetCoordinate(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetVector__SWIG_0")]
  public static extern IntPtr OBAtomAtomIter_GetVector__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetPartialCharge")]
  public static extern double OBAtomAtomIter_GetPartialCharge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetResidue__SWIG_0")]
  public static extern IntPtr OBAtomAtomIter_GetResidue__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetResidue__SWIG_1")]
  public static extern IntPtr OBAtomAtomIter_GetResidue__SWIG_1(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetParent")]
  public static extern IntPtr OBAtomAtomIter_GetParent(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetNewBondVector")]
  public static extern bool OBAtomAtomIter_GetNewBondVector(HandleRef jarg1, HandleRef jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetBond")]
  public static extern IntPtr OBAtomAtomIter_GetBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetNextAtom")]
  public static extern IntPtr OBAtomAtomIter_GetNextAtom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_BeginBonds")]
  public static extern IntPtr OBAtomAtomIter_BeginBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_EndBonds")]
  public static extern IntPtr OBAtomAtomIter_EndBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_BeginBond")]
  public static extern IntPtr OBAtomAtomIter_BeginBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_NextBond")]
  public static extern IntPtr OBAtomAtomIter_NextBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_BeginNbrAtom")]
  public static extern IntPtr OBAtomAtomIter_BeginNbrAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_NextNbrAtom")]
  public static extern IntPtr OBAtomAtomIter_NextNbrAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetDistance__SWIG_0")]
  public static extern double OBAtomAtomIter_GetDistance__SWIG_0(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetDistance__SWIG_1")]
  public static extern double OBAtomAtomIter_GetDistance__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetAngle__SWIG_0")]
  public static extern double OBAtomAtomIter_GetAngle__SWIG_0(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetAngle__SWIG_1")]
  public static extern double OBAtomAtomIter_GetAngle__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_NewResidue")]
  public static extern void OBAtomAtomIter_NewResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_AddResidue")]
  public static extern void OBAtomAtomIter_AddResidue(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_DeleteResidue")]
  public static extern void OBAtomAtomIter_DeleteResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_AddBond")]
  public static extern void OBAtomAtomIter_AddBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_InsertBond")]
  public static extern void OBAtomAtomIter_InsertBond(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_DeleteBond")]
  public static extern bool OBAtomAtomIter_DeleteBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_ClearBond")]
  public static extern void OBAtomAtomIter_ClearBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_HtoMethyl")]
  public static extern bool OBAtomAtomIter_HtoMethyl(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetHybAndGeom")]
  public static extern bool OBAtomAtomIter_SetHybAndGeom(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_ForceNoH")]
  public static extern void OBAtomAtomIter_ForceNoH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_HasNoHForced")]
  public static extern bool OBAtomAtomIter_HasNoHForced(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_ForceImplH")]
  public static extern void OBAtomAtomIter_ForceImplH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_HasImplHForced")]
  public static extern bool OBAtomAtomIter_HasImplHForced(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_CountFreeOxygens")]
  public static extern uint OBAtomAtomIter_CountFreeOxygens(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_ImplicitHydrogenCount")]
  public static extern uint OBAtomAtomIter_ImplicitHydrogenCount(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_ExplicitHydrogenCount__SWIG_0")]
  public static extern uint OBAtomAtomIter_ExplicitHydrogenCount__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_ExplicitHydrogenCount__SWIG_1")]
  public static extern uint OBAtomAtomIter_ExplicitHydrogenCount__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_MemberOfRingCount")]
  public static extern uint OBAtomAtomIter_MemberOfRingCount(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_MemberOfRingSize")]
  public static extern uint OBAtomAtomIter_MemberOfRingSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_CountRingBonds")]
  public static extern uint OBAtomAtomIter_CountRingBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SmallestBondAngle")]
  public static extern double OBAtomAtomIter_SmallestBondAngle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_AverageBondAngle")]
  public static extern double OBAtomAtomIter_AverageBondAngle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_BOSum")]
  public static extern uint OBAtomAtomIter_BOSum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_KBOSum")]
  public static extern uint OBAtomAtomIter_KBOSum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_HasResidue")]
  public static extern bool OBAtomAtomIter_HasResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsHydrogen")]
  public static extern bool OBAtomAtomIter_IsHydrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsCarbon")]
  public static extern bool OBAtomAtomIter_IsCarbon(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsNitrogen")]
  public static extern bool OBAtomAtomIter_IsNitrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsOxygen")]
  public static extern bool OBAtomAtomIter_IsOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsSulfur")]
  public static extern bool OBAtomAtomIter_IsSulfur(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsPhosphorus")]
  public static extern bool OBAtomAtomIter_IsPhosphorus(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsAromatic")]
  public static extern bool OBAtomAtomIter_IsAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsInRing")]
  public static extern bool OBAtomAtomIter_IsInRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsInRingSize")]
  public static extern bool OBAtomAtomIter_IsInRingSize(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsHeteroatom")]
  public static extern bool OBAtomAtomIter_IsHeteroatom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsNotCorH")]
  public static extern bool OBAtomAtomIter_IsNotCorH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsConnected")]
  public static extern bool OBAtomAtomIter_IsConnected(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsOneThree")]
  public static extern bool OBAtomAtomIter_IsOneThree(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsOneFour")]
  public static extern bool OBAtomAtomIter_IsOneFour(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsCarboxylOxygen")]
  public static extern bool OBAtomAtomIter_IsCarboxylOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsPhosphateOxygen")]
  public static extern bool OBAtomAtomIter_IsPhosphateOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsSulfateOxygen")]
  public static extern bool OBAtomAtomIter_IsSulfateOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsNitroOxygen")]
  public static extern bool OBAtomAtomIter_IsNitroOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsAmideNitrogen")]
  public static extern bool OBAtomAtomIter_IsAmideNitrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsPolarHydrogen")]
  public static extern bool OBAtomAtomIter_IsPolarHydrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsNonPolarHydrogen")]
  public static extern bool OBAtomAtomIter_IsNonPolarHydrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsAromaticNOxide")]
  public static extern bool OBAtomAtomIter_IsAromaticNOxide(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsChiral")]
  public static extern bool OBAtomAtomIter_IsChiral(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsAxial")]
  public static extern bool OBAtomAtomIter_IsAxial(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsClockwise")]
  public static extern bool OBAtomAtomIter_IsClockwise(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsAntiClockwise")]
  public static extern bool OBAtomAtomIter_IsAntiClockwise(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsPositiveStereo")]
  public static extern bool OBAtomAtomIter_IsPositiveStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsNegativeStereo")]
  public static extern bool OBAtomAtomIter_IsNegativeStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_HasChiralitySpecified")]
  public static extern bool OBAtomAtomIter_HasChiralitySpecified(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_HasChiralVolume")]
  public static extern bool OBAtomAtomIter_HasChiralVolume(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsHbondAcceptor")]
  public static extern bool OBAtomAtomIter_IsHbondAcceptor(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsHbondDonor")]
  public static extern bool OBAtomAtomIter_IsHbondDonor(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_IsHbondDonorH")]
  public static extern bool OBAtomAtomIter_IsHbondDonorH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_HasAlphaBetaUnsat__SWIG_0")]
  public static extern bool OBAtomAtomIter_HasAlphaBetaUnsat__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_HasAlphaBetaUnsat__SWIG_1")]
  public static extern bool OBAtomAtomIter_HasAlphaBetaUnsat__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_HasBondOfOrder")]
  public static extern bool OBAtomAtomIter_HasBondOfOrder(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_CountBondsOfOrder")]
  public static extern int OBAtomAtomIter_CountBondsOfOrder(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_HasNonSingleBond")]
  public static extern bool OBAtomAtomIter_HasNonSingleBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_HasSingleBond")]
  public static extern bool OBAtomAtomIter_HasSingleBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_HasDoubleBond")]
  public static extern bool OBAtomAtomIter_HasDoubleBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_HasAromaticBond")]
  public static extern bool OBAtomAtomIter_HasAromaticBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_MatchesSMARTS")]
  public static extern bool OBAtomAtomIter_MatchesSMARTS(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_Clear")]
  public static extern bool OBAtomAtomIter_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_DoTransformations")]
  public static extern IntPtr OBAtomAtomIter_DoTransformations(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_ClassDescription")]
  public static extern string OBAtomAtomIter_ClassDescription(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_HasData__SWIG_2")]
  public static extern bool OBAtomAtomIter_HasData__SWIG_2(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_DeleteData__SWIG_0")]
  public static extern void OBAtomAtomIter_DeleteData__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_DeleteData__SWIG_1")]
  public static extern void OBAtomAtomIter_DeleteData__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_DeleteData__SWIG_2")]
  public static extern void OBAtomAtomIter_DeleteData__SWIG_2(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_DeleteData__SWIG_3")]
  public static extern bool OBAtomAtomIter_DeleteData__SWIG_3(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_SetData")]
  public static extern void OBAtomAtomIter_SetData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_CloneData")]
  public static extern void OBAtomAtomIter_CloneData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_DataSize")]
  public static extern uint OBAtomAtomIter_DataSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetData__SWIG_0")]
  public static extern IntPtr OBAtomAtomIter_GetData__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetData__SWIG_3")]
  public static extern IntPtr OBAtomAtomIter_GetData__SWIG_3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetData__SWIG_4")]
  public static extern IntPtr OBAtomAtomIter_GetData__SWIG_4(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_GetAllData")]
  public static extern IntPtr OBAtomAtomIter_GetAllData(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_BeginData")]
  public static extern IntPtr OBAtomAtomIter_BeginData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomAtomIter_EndData")]
  public static extern IntPtr OBAtomAtomIter_EndData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBAtomBondIter__SWIG_0")]
  public static extern IntPtr new_OBAtomBondIter__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBAtomBondIter__SWIG_1")]
  public static extern IntPtr new_OBAtomBondIter__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBAtomBondIter__SWIG_2")]
  public static extern IntPtr new_OBAtomBondIter__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBAtomBondIter")]
  public static extern void delete_OBAtomBondIter(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter___deref__")]
  public static extern IntPtr OBAtomBondIter___deref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter___ref__")]
  public static extern IntPtr OBAtomBondIter___ref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_Visit_set")]
  public static extern void OBAtomBondIter_Visit_set(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_Visit_get")]
  public static extern bool OBAtomBondIter_Visit_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetIdx")]
  public static extern void OBAtomBondIter_SetIdx(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetBO")]
  public static extern void OBAtomBondIter_SetBO(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetBondOrder")]
  public static extern void OBAtomBondIter_SetBondOrder(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetBegin")]
  public static extern void OBAtomBondIter_SetBegin(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetEnd")]
  public static extern void OBAtomBondIter_SetEnd(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetParent")]
  public static extern void OBAtomBondIter_SetParent(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetLength__SWIG_0")]
  public static extern void OBAtomBondIter_SetLength__SWIG_0(HandleRef jarg1, HandleRef jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetLength__SWIG_1")]
  public static extern void OBAtomBondIter_SetLength__SWIG_1(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_Set")]
  public static extern void OBAtomBondIter_Set(HandleRef jarg1, int jarg2, HandleRef jarg3, HandleRef jarg4, int jarg5, int jarg6);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetKSingle")]
  public static extern void OBAtomBondIter_SetKSingle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetKDouble")]
  public static extern void OBAtomBondIter_SetKDouble(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetKTriple")]
  public static extern void OBAtomBondIter_SetKTriple(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetAromatic")]
  public static extern void OBAtomBondIter_SetAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetHash")]
  public static extern void OBAtomBondIter_SetHash(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetWedge")]
  public static extern void OBAtomBondIter_SetWedge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetUp")]
  public static extern void OBAtomBondIter_SetUp(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetDown")]
  public static extern void OBAtomBondIter_SetDown(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetInRing")]
  public static extern void OBAtomBondIter_SetInRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetClosure")]
  public static extern void OBAtomBondIter_SetClosure(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_UnsetHash")]
  public static extern void OBAtomBondIter_UnsetHash(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_UnsetWedge")]
  public static extern void OBAtomBondIter_UnsetWedge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_UnsetUp")]
  public static extern void OBAtomBondIter_UnsetUp(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_UnsetDown")]
  public static extern void OBAtomBondIter_UnsetDown(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_UnsetAromatic")]
  public static extern void OBAtomBondIter_UnsetAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_UnsetKekule")]
  public static extern void OBAtomBondIter_UnsetKekule(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_GetIdx")]
  public static extern uint OBAtomBondIter_GetIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_GetBO")]
  public static extern uint OBAtomBondIter_GetBO(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_GetBondOrder")]
  public static extern uint OBAtomBondIter_GetBondOrder(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_GetFlags")]
  public static extern uint OBAtomBondIter_GetFlags(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_GetBeginAtomIdx")]
  public static extern uint OBAtomBondIter_GetBeginAtomIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_GetEndAtomIdx")]
  public static extern uint OBAtomBondIter_GetEndAtomIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_GetBeginAtom__SWIG_0")]
  public static extern IntPtr OBAtomBondIter_GetBeginAtom__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_GetEndAtom__SWIG_0")]
  public static extern IntPtr OBAtomBondIter_GetEndAtom__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_GetNbrAtom")]
  public static extern IntPtr OBAtomBondIter_GetNbrAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_GetParent")]
  public static extern IntPtr OBAtomBondIter_GetParent(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_GetEquibLength")]
  public static extern double OBAtomBondIter_GetEquibLength(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_GetLength")]
  public static extern double OBAtomBondIter_GetLength(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_GetNbrAtomIdx")]
  public static extern uint OBAtomBondIter_GetNbrAtomIdx(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsAromatic")]
  public static extern bool OBAtomBondIter_IsAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsInRing")]
  public static extern bool OBAtomBondIter_IsInRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsRotor")]
  public static extern bool OBAtomBondIter_IsRotor(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsAmide")]
  public static extern bool OBAtomBondIter_IsAmide(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsPrimaryAmide")]
  public static extern bool OBAtomBondIter_IsPrimaryAmide(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsSecondaryAmide")]
  public static extern bool OBAtomBondIter_IsSecondaryAmide(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsEster")]
  public static extern bool OBAtomBondIter_IsEster(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsCarbonyl")]
  public static extern bool OBAtomBondIter_IsCarbonyl(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsSingle")]
  public static extern bool OBAtomBondIter_IsSingle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsDouble")]
  public static extern bool OBAtomBondIter_IsDouble(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsTriple")]
  public static extern bool OBAtomBondIter_IsTriple(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsKSingle")]
  public static extern bool OBAtomBondIter_IsKSingle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsKDouble")]
  public static extern bool OBAtomBondIter_IsKDouble(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsKTriple")]
  public static extern bool OBAtomBondIter_IsKTriple(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsClosure")]
  public static extern bool OBAtomBondIter_IsClosure(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsUp")]
  public static extern bool OBAtomBondIter_IsUp(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsDown")]
  public static extern bool OBAtomBondIter_IsDown(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsWedge")]
  public static extern bool OBAtomBondIter_IsWedge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsHash")]
  public static extern bool OBAtomBondIter_IsHash(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_IsDoubleBondGeometry")]
  public static extern bool OBAtomBondIter_IsDoubleBondGeometry(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_Clear")]
  public static extern bool OBAtomBondIter_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_DoTransformations")]
  public static extern IntPtr OBAtomBondIter_DoTransformations(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_ClassDescription")]
  public static extern string OBAtomBondIter_ClassDescription(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_HasData__SWIG_2")]
  public static extern bool OBAtomBondIter_HasData__SWIG_2(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_DeleteData__SWIG_0")]
  public static extern void OBAtomBondIter_DeleteData__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_DeleteData__SWIG_1")]
  public static extern void OBAtomBondIter_DeleteData__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_DeleteData__SWIG_2")]
  public static extern void OBAtomBondIter_DeleteData__SWIG_2(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_DeleteData__SWIG_3")]
  public static extern bool OBAtomBondIter_DeleteData__SWIG_3(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_SetData")]
  public static extern void OBAtomBondIter_SetData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_CloneData")]
  public static extern void OBAtomBondIter_CloneData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_DataSize")]
  public static extern uint OBAtomBondIter_DataSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_GetData__SWIG_0")]
  public static extern IntPtr OBAtomBondIter_GetData__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_GetData__SWIG_3")]
  public static extern IntPtr OBAtomBondIter_GetData__SWIG_3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_GetData__SWIG_4")]
  public static extern IntPtr OBAtomBondIter_GetData__SWIG_4(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_GetAllData")]
  public static extern IntPtr OBAtomBondIter_GetAllData(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_BeginData")]
  public static extern IntPtr OBAtomBondIter_BeginData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomBondIter_EndData")]
  public static extern IntPtr OBAtomBondIter_EndData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBResidueIter__SWIG_0")]
  public static extern IntPtr new_OBResidueIter__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBResidueIter__SWIG_1")]
  public static extern IntPtr new_OBResidueIter__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBResidueIter__SWIG_2")]
  public static extern IntPtr new_OBResidueIter__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBResidueIter")]
  public static extern void delete_OBResidueIter(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter___deref__")]
  public static extern IntPtr OBResidueIter___deref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter___ref__")]
  public static extern IntPtr OBResidueIter___ref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_AddAtom")]
  public static extern void OBResidueIter_AddAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_InsertAtom")]
  public static extern void OBResidueIter_InsertAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_RemoveAtom")]
  public static extern void OBResidueIter_RemoveAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_SetName")]
  public static extern void OBResidueIter_SetName(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_SetNum__SWIG_0")]
  public static extern void OBResidueIter_SetNum__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_SetNum__SWIG_1")]
  public static extern void OBResidueIter_SetNum__SWIG_1(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_SetChain")]
  public static extern void OBResidueIter_SetChain(HandleRef jarg1, char jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_SetChainNum")]
  public static extern void OBResidueIter_SetChainNum(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_SetIdx")]
  public static extern void OBResidueIter_SetIdx(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_SetAtomID")]
  public static extern void OBResidueIter_SetAtomID(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_SetHetAtom")]
  public static extern void OBResidueIter_SetHetAtom(HandleRef jarg1, HandleRef jarg2, bool jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_SetSerialNum")]
  public static extern void OBResidueIter_SetSerialNum(HandleRef jarg1, HandleRef jarg2, uint jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetName")]
  public static extern string OBResidueIter_GetName(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetNum")]
  public static extern uint OBResidueIter_GetNum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetNumString")]
  public static extern string OBResidueIter_GetNumString(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetNumAtoms")]
  public static extern uint OBResidueIter_GetNumAtoms(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetChain")]
  public static extern char OBResidueIter_GetChain(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetChainNum")]
  public static extern uint OBResidueIter_GetChainNum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetIdx")]
  public static extern uint OBResidueIter_GetIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetResKey")]
  public static extern uint OBResidueIter_GetResKey(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetAtoms")]
  public static extern IntPtr OBResidueIter_GetAtoms(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetBonds__SWIG_0")]
  public static extern IntPtr OBResidueIter_GetBonds__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetBonds__SWIG_1")]
  public static extern IntPtr OBResidueIter_GetBonds__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetAtomID")]
  public static extern string OBResidueIter_GetAtomID(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetSerialNum")]
  public static extern uint OBResidueIter_GetSerialNum(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetAminoAcidProperty")]
  public static extern bool OBResidueIter_GetAminoAcidProperty(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetAtomProperty")]
  public static extern bool OBResidueIter_GetAtomProperty(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetResidueProperty")]
  public static extern bool OBResidueIter_GetResidueProperty(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_IsHetAtom")]
  public static extern bool OBResidueIter_IsHetAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_IsResidueType")]
  public static extern bool OBResidueIter_IsResidueType(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_BeginAtoms")]
  public static extern IntPtr OBResidueIter_BeginAtoms(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_EndAtoms")]
  public static extern IntPtr OBResidueIter_EndAtoms(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_BeginAtom")]
  public static extern IntPtr OBResidueIter_BeginAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_NextAtom")]
  public static extern IntPtr OBResidueIter_NextAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_Clear")]
  public static extern bool OBResidueIter_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_DoTransformations")]
  public static extern IntPtr OBResidueIter_DoTransformations(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_ClassDescription")]
  public static extern string OBResidueIter_ClassDescription(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_HasData__SWIG_2")]
  public static extern bool OBResidueIter_HasData__SWIG_2(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_DeleteData__SWIG_0")]
  public static extern void OBResidueIter_DeleteData__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_DeleteData__SWIG_1")]
  public static extern void OBResidueIter_DeleteData__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_DeleteData__SWIG_2")]
  public static extern void OBResidueIter_DeleteData__SWIG_2(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_DeleteData__SWIG_3")]
  public static extern bool OBResidueIter_DeleteData__SWIG_3(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_SetData")]
  public static extern void OBResidueIter_SetData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_CloneData")]
  public static extern void OBResidueIter_CloneData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_DataSize")]
  public static extern uint OBResidueIter_DataSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetData__SWIG_0")]
  public static extern IntPtr OBResidueIter_GetData__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetData__SWIG_3")]
  public static extern IntPtr OBResidueIter_GetData__SWIG_3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetData__SWIG_4")]
  public static extern IntPtr OBResidueIter_GetData__SWIG_4(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_GetAllData")]
  public static extern IntPtr OBResidueIter_GetAllData(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_BeginData")]
  public static extern IntPtr OBResidueIter_BeginData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueIter_EndData")]
  public static extern IntPtr OBResidueIter_EndData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBResidueAtomIter__SWIG_0")]
  public static extern IntPtr new_OBResidueAtomIter__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBResidueAtomIter__SWIG_1")]
  public static extern IntPtr new_OBResidueAtomIter__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBResidueAtomIter__SWIG_2")]
  public static extern IntPtr new_OBResidueAtomIter__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBResidueAtomIter")]
  public static extern void delete_OBResidueAtomIter(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter___deref__")]
  public static extern IntPtr OBResidueAtomIter___deref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter___ref__")]
  public static extern IntPtr OBResidueAtomIter___ref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_Visit_set")]
  public static extern void OBResidueAtomIter_Visit_set(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_Visit_get")]
  public static extern bool OBResidueAtomIter_Visit_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_Duplicate")]
  public static extern void OBResidueAtomIter_Duplicate(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetIdx")]
  public static extern void OBResidueAtomIter_SetIdx(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetHyb")]
  public static extern void OBResidueAtomIter_SetHyb(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetAtomicNum")]
  public static extern void OBResidueAtomIter_SetAtomicNum(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetIsotope")]
  public static extern void OBResidueAtomIter_SetIsotope(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetImplicitValence")]
  public static extern void OBResidueAtomIter_SetImplicitValence(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IncrementImplicitValence")]
  public static extern void OBResidueAtomIter_IncrementImplicitValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_DecrementImplicitValence")]
  public static extern void OBResidueAtomIter_DecrementImplicitValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetFormalCharge")]
  public static extern void OBResidueAtomIter_SetFormalCharge(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetSpinMultiplicity")]
  public static extern void OBResidueAtomIter_SetSpinMultiplicity(HandleRef jarg1, short jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetType__SWIG_0")]
  public static extern void OBResidueAtomIter_SetType__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetPartialCharge")]
  public static extern void OBResidueAtomIter_SetPartialCharge(HandleRef jarg1, double jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetVector__SWIG_0")]
  public static extern void OBResidueAtomIter_SetVector__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetVector__SWIG_1")]
  public static extern void OBResidueAtomIter_SetVector__SWIG_1(HandleRef jarg1, double jarg2, double jarg3, double jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetVector__SWIG_2")]
  public static extern void OBResidueAtomIter_SetVector__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetCoordPtr")]
  public static extern void OBResidueAtomIter_SetCoordPtr(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetResidue")]
  public static extern void OBResidueAtomIter_SetResidue(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetParent")]
  public static extern void OBResidueAtomIter_SetParent(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetAromatic")]
  public static extern void OBResidueAtomIter_SetAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_UnsetAromatic")]
  public static extern void OBResidueAtomIter_UnsetAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetClockwiseStereo")]
  public static extern void OBResidueAtomIter_SetClockwiseStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetAntiClockwiseStereo")]
  public static extern void OBResidueAtomIter_SetAntiClockwiseStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetPositiveStereo")]
  public static extern void OBResidueAtomIter_SetPositiveStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetNegativeStereo")]
  public static extern void OBResidueAtomIter_SetNegativeStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_UnsetStereo")]
  public static extern void OBResidueAtomIter_UnsetStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetInRing")]
  public static extern void OBResidueAtomIter_SetInRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetChiral")]
  public static extern void OBResidueAtomIter_SetChiral(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_ClearCoordPtr")]
  public static extern void OBResidueAtomIter_ClearCoordPtr(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetFormalCharge")]
  public static extern int OBResidueAtomIter_GetFormalCharge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetAtomicNum")]
  public static extern uint OBResidueAtomIter_GetAtomicNum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetIsotope")]
  public static extern ushort OBResidueAtomIter_GetIsotope(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetSpinMultiplicity")]
  public static extern int OBResidueAtomIter_GetSpinMultiplicity(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetAtomicMass")]
  public static extern double OBResidueAtomIter_GetAtomicMass(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetExactMass")]
  public static extern double OBResidueAtomIter_GetExactMass(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetIdx")]
  public static extern uint OBResidueAtomIter_GetIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetCoordinateIdx")]
  public static extern uint OBResidueAtomIter_GetCoordinateIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetCIdx")]
  public static extern uint OBResidueAtomIter_GetCIdx(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetValence")]
  public static extern uint OBResidueAtomIter_GetValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetHyb")]
  public static extern uint OBResidueAtomIter_GetHyb(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetImplicitValence")]
  public static extern uint OBResidueAtomIter_GetImplicitValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetHvyValence")]
  public static extern uint OBResidueAtomIter_GetHvyValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetHeteroValence")]
  public static extern uint OBResidueAtomIter_GetHeteroValence(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetType")]
  public static extern string OBResidueAtomIter_GetType(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetX")]
  public static extern double OBResidueAtomIter_GetX(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetY")]
  public static extern double OBResidueAtomIter_GetY(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetZ")]
  public static extern double OBResidueAtomIter_GetZ(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_x")]
  public static extern double OBResidueAtomIter_x(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_y")]
  public static extern double OBResidueAtomIter_y(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_z")]
  public static extern double OBResidueAtomIter_z(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetCoordinate")]
  public static extern IntPtr OBResidueAtomIter_GetCoordinate(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetVector__SWIG_0")]
  public static extern IntPtr OBResidueAtomIter_GetVector__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetPartialCharge")]
  public static extern double OBResidueAtomIter_GetPartialCharge(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetResidue__SWIG_0")]
  public static extern IntPtr OBResidueAtomIter_GetResidue__SWIG_0(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetResidue__SWIG_1")]
  public static extern IntPtr OBResidueAtomIter_GetResidue__SWIG_1(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetParent")]
  public static extern IntPtr OBResidueAtomIter_GetParent(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetNewBondVector")]
  public static extern bool OBResidueAtomIter_GetNewBondVector(HandleRef jarg1, HandleRef jarg2, double jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetBond")]
  public static extern IntPtr OBResidueAtomIter_GetBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetNextAtom")]
  public static extern IntPtr OBResidueAtomIter_GetNextAtom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_BeginBonds")]
  public static extern IntPtr OBResidueAtomIter_BeginBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_EndBonds")]
  public static extern IntPtr OBResidueAtomIter_EndBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_BeginBond")]
  public static extern IntPtr OBResidueAtomIter_BeginBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_NextBond")]
  public static extern IntPtr OBResidueAtomIter_NextBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_BeginNbrAtom")]
  public static extern IntPtr OBResidueAtomIter_BeginNbrAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_NextNbrAtom")]
  public static extern IntPtr OBResidueAtomIter_NextNbrAtom(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetDistance__SWIG_0")]
  public static extern double OBResidueAtomIter_GetDistance__SWIG_0(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetDistance__SWIG_1")]
  public static extern double OBResidueAtomIter_GetDistance__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetAngle__SWIG_0")]
  public static extern double OBResidueAtomIter_GetAngle__SWIG_0(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetAngle__SWIG_1")]
  public static extern double OBResidueAtomIter_GetAngle__SWIG_1(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_NewResidue")]
  public static extern void OBResidueAtomIter_NewResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_AddResidue")]
  public static extern void OBResidueAtomIter_AddResidue(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_DeleteResidue")]
  public static extern void OBResidueAtomIter_DeleteResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_AddBond")]
  public static extern void OBResidueAtomIter_AddBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_InsertBond")]
  public static extern void OBResidueAtomIter_InsertBond(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_DeleteBond")]
  public static extern bool OBResidueAtomIter_DeleteBond(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_ClearBond")]
  public static extern void OBResidueAtomIter_ClearBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_HtoMethyl")]
  public static extern bool OBResidueAtomIter_HtoMethyl(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetHybAndGeom")]
  public static extern bool OBResidueAtomIter_SetHybAndGeom(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_ForceNoH")]
  public static extern void OBResidueAtomIter_ForceNoH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_HasNoHForced")]
  public static extern bool OBResidueAtomIter_HasNoHForced(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_ForceImplH")]
  public static extern void OBResidueAtomIter_ForceImplH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_HasImplHForced")]
  public static extern bool OBResidueAtomIter_HasImplHForced(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_CountFreeOxygens")]
  public static extern uint OBResidueAtomIter_CountFreeOxygens(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_ImplicitHydrogenCount")]
  public static extern uint OBResidueAtomIter_ImplicitHydrogenCount(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_ExplicitHydrogenCount__SWIG_0")]
  public static extern uint OBResidueAtomIter_ExplicitHydrogenCount__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_ExplicitHydrogenCount__SWIG_1")]
  public static extern uint OBResidueAtomIter_ExplicitHydrogenCount__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_MemberOfRingCount")]
  public static extern uint OBResidueAtomIter_MemberOfRingCount(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_MemberOfRingSize")]
  public static extern uint OBResidueAtomIter_MemberOfRingSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_CountRingBonds")]
  public static extern uint OBResidueAtomIter_CountRingBonds(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SmallestBondAngle")]
  public static extern double OBResidueAtomIter_SmallestBondAngle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_AverageBondAngle")]
  public static extern double OBResidueAtomIter_AverageBondAngle(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_BOSum")]
  public static extern uint OBResidueAtomIter_BOSum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_KBOSum")]
  public static extern uint OBResidueAtomIter_KBOSum(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_HasResidue")]
  public static extern bool OBResidueAtomIter_HasResidue(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsHydrogen")]
  public static extern bool OBResidueAtomIter_IsHydrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsCarbon")]
  public static extern bool OBResidueAtomIter_IsCarbon(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsNitrogen")]
  public static extern bool OBResidueAtomIter_IsNitrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsOxygen")]
  public static extern bool OBResidueAtomIter_IsOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsSulfur")]
  public static extern bool OBResidueAtomIter_IsSulfur(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsPhosphorus")]
  public static extern bool OBResidueAtomIter_IsPhosphorus(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsAromatic")]
  public static extern bool OBResidueAtomIter_IsAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsInRing")]
  public static extern bool OBResidueAtomIter_IsInRing(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsInRingSize")]
  public static extern bool OBResidueAtomIter_IsInRingSize(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsHeteroatom")]
  public static extern bool OBResidueAtomIter_IsHeteroatom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsNotCorH")]
  public static extern bool OBResidueAtomIter_IsNotCorH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsConnected")]
  public static extern bool OBResidueAtomIter_IsConnected(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsOneThree")]
  public static extern bool OBResidueAtomIter_IsOneThree(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsOneFour")]
  public static extern bool OBResidueAtomIter_IsOneFour(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsCarboxylOxygen")]
  public static extern bool OBResidueAtomIter_IsCarboxylOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsPhosphateOxygen")]
  public static extern bool OBResidueAtomIter_IsPhosphateOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsSulfateOxygen")]
  public static extern bool OBResidueAtomIter_IsSulfateOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsNitroOxygen")]
  public static extern bool OBResidueAtomIter_IsNitroOxygen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsAmideNitrogen")]
  public static extern bool OBResidueAtomIter_IsAmideNitrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsPolarHydrogen")]
  public static extern bool OBResidueAtomIter_IsPolarHydrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsNonPolarHydrogen")]
  public static extern bool OBResidueAtomIter_IsNonPolarHydrogen(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsAromaticNOxide")]
  public static extern bool OBResidueAtomIter_IsAromaticNOxide(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsChiral")]
  public static extern bool OBResidueAtomIter_IsChiral(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsAxial")]
  public static extern bool OBResidueAtomIter_IsAxial(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsClockwise")]
  public static extern bool OBResidueAtomIter_IsClockwise(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsAntiClockwise")]
  public static extern bool OBResidueAtomIter_IsAntiClockwise(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsPositiveStereo")]
  public static extern bool OBResidueAtomIter_IsPositiveStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsNegativeStereo")]
  public static extern bool OBResidueAtomIter_IsNegativeStereo(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_HasChiralitySpecified")]
  public static extern bool OBResidueAtomIter_HasChiralitySpecified(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_HasChiralVolume")]
  public static extern bool OBResidueAtomIter_HasChiralVolume(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsHbondAcceptor")]
  public static extern bool OBResidueAtomIter_IsHbondAcceptor(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsHbondDonor")]
  public static extern bool OBResidueAtomIter_IsHbondDonor(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_IsHbondDonorH")]
  public static extern bool OBResidueAtomIter_IsHbondDonorH(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_HasAlphaBetaUnsat__SWIG_0")]
  public static extern bool OBResidueAtomIter_HasAlphaBetaUnsat__SWIG_0(HandleRef jarg1, bool jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_HasAlphaBetaUnsat__SWIG_1")]
  public static extern bool OBResidueAtomIter_HasAlphaBetaUnsat__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_HasBondOfOrder")]
  public static extern bool OBResidueAtomIter_HasBondOfOrder(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_CountBondsOfOrder")]
  public static extern int OBResidueAtomIter_CountBondsOfOrder(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_HasNonSingleBond")]
  public static extern bool OBResidueAtomIter_HasNonSingleBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_HasSingleBond")]
  public static extern bool OBResidueAtomIter_HasSingleBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_HasDoubleBond")]
  public static extern bool OBResidueAtomIter_HasDoubleBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_HasAromaticBond")]
  public static extern bool OBResidueAtomIter_HasAromaticBond(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_MatchesSMARTS")]
  public static extern bool OBResidueAtomIter_MatchesSMARTS(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_Clear")]
  public static extern bool OBResidueAtomIter_Clear(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_DoTransformations")]
  public static extern IntPtr OBResidueAtomIter_DoTransformations(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_ClassDescription")]
  public static extern string OBResidueAtomIter_ClassDescription(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_HasData__SWIG_2")]
  public static extern bool OBResidueAtomIter_HasData__SWIG_2(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_DeleteData__SWIG_0")]
  public static extern void OBResidueAtomIter_DeleteData__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_DeleteData__SWIG_1")]
  public static extern void OBResidueAtomIter_DeleteData__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_DeleteData__SWIG_2")]
  public static extern void OBResidueAtomIter_DeleteData__SWIG_2(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_DeleteData__SWIG_3")]
  public static extern bool OBResidueAtomIter_DeleteData__SWIG_3(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_SetData")]
  public static extern void OBResidueAtomIter_SetData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_CloneData")]
  public static extern void OBResidueAtomIter_CloneData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_DataSize")]
  public static extern uint OBResidueAtomIter_DataSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetData__SWIG_0")]
  public static extern IntPtr OBResidueAtomIter_GetData__SWIG_0(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetData__SWIG_3")]
  public static extern IntPtr OBResidueAtomIter_GetData__SWIG_3(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetData__SWIG_4")]
  public static extern IntPtr OBResidueAtomIter_GetData__SWIG_4(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_GetAllData")]
  public static extern IntPtr OBResidueAtomIter_GetAllData(HandleRef jarg1, uint jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_BeginData")]
  public static extern IntPtr OBResidueAtomIter_BeginData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueAtomIter_EndData")]
  public static extern IntPtr OBResidueAtomIter_EndData(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolAngleIter__SWIG_0")]
  public static extern IntPtr new_OBMolAngleIter__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolAngleIter__SWIG_1")]
  public static extern IntPtr new_OBMolAngleIter__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolAngleIter__SWIG_2")]
  public static extern IntPtr new_OBMolAngleIter__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBMolAngleIter")]
  public static extern void delete_OBMolAngleIter(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolAngleIter___ref__")]
  public static extern IntPtr OBMolAngleIter___ref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolTorsionIter__SWIG_0")]
  public static extern IntPtr new_OBMolTorsionIter__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolTorsionIter__SWIG_1")]
  public static extern IntPtr new_OBMolTorsionIter__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolTorsionIter__SWIG_2")]
  public static extern IntPtr new_OBMolTorsionIter__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBMolTorsionIter")]
  public static extern void delete_OBMolTorsionIter(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolTorsionIter___ref__")]
  public static extern IntPtr OBMolTorsionIter___ref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolPairIter__SWIG_0")]
  public static extern IntPtr new_OBMolPairIter__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolPairIter__SWIG_1")]
  public static extern IntPtr new_OBMolPairIter__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolPairIter__SWIG_2")]
  public static extern IntPtr new_OBMolPairIter__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBMolPairIter")]
  public static extern void delete_OBMolPairIter(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolPairIter___ref__")]
  public static extern IntPtr OBMolPairIter___ref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolRingIter__SWIG_0")]
  public static extern IntPtr new_OBMolRingIter__SWIG_0();

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolRingIter__SWIG_1")]
  public static extern IntPtr new_OBMolRingIter__SWIG_1(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_new_OBMolRingIter__SWIG_2")]
  public static extern IntPtr new_OBMolRingIter__SWIG_2(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_delete_OBMolRingIter")]
  public static extern void delete_OBMolRingIter(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter___deref__")]
  public static extern IntPtr OBMolRingIter___deref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter___ref__")]
  public static extern IntPtr OBMolRingIter___ref__(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter__path_set")]
  public static extern IntPtr OBMolRingIter__path_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter__path_get")]
  public static extern IntPtr OBMolRingIter__path_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter__pathset_set")]
  public static extern IntPtr OBMolRingIter__pathset_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter__pathset_get")]
  public static extern IntPtr OBMolRingIter__pathset_get(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter_Size")]
  public static extern int OBMolRingIter_Size(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter_PathSize")]
  public static extern int OBMolRingIter_PathSize(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter_IsAromatic")]
  public static extern bool OBMolRingIter_IsAromatic(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter_SetType__SWIG_0")]
  public static extern void OBMolRingIter_SetType__SWIG_0(HandleRef jarg1, string jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter_SetType__SWIG_1")]
  public static extern void OBMolRingIter_SetType__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter_GetType")]
  public static extern string OBMolRingIter_GetType(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter_GetRootAtom")]
  public static extern uint OBMolRingIter_GetRootAtom(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter_IsMember__SWIG_0")]
  public static extern bool OBMolRingIter_IsMember__SWIG_0(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter_IsMember__SWIG_1")]
  public static extern bool OBMolRingIter_IsMember__SWIG_1(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter_IsInRing")]
  public static extern bool OBMolRingIter_IsInRing(HandleRef jarg1, int jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter_SetParent")]
  public static extern void OBMolRingIter_SetParent(HandleRef jarg1, HandleRef jarg2);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter_GetParent")]
  public static extern IntPtr OBMolRingIter_GetParent(HandleRef jarg1);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolRingIter_findCenterAndNormal")]
  public static extern bool OBMolRingIter_findCenterAndNormal(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("openbabel", EntryPoint="CSharp_OBElementTableUpcast")]
  public static extern IntPtr OBElementTableUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBIsotopeTableUpcast")]
  public static extern IntPtr OBIsotopeTableUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBTypeTableUpcast")]
  public static extern IntPtr OBTypeTableUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueDataUpcast")]
  public static extern IntPtr OBResidueDataUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBCommentDataUpcast")]
  public static extern IntPtr OBCommentDataUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBExternalBondDataUpcast")]
  public static extern IntPtr OBExternalBondDataUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBPairDataUpcast")]
  public static extern IntPtr OBPairDataUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBSetDataUpcast")]
  public static extern IntPtr OBSetDataUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBVirtualBondUpcast")]
  public static extern IntPtr OBVirtualBondUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBRingDataUpcast")]
  public static extern IntPtr OBRingDataUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBUnitCellUpcast")]
  public static extern IntPtr OBUnitCellUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBConformerDataUpcast")]
  public static extern IntPtr OBConformerDataUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBSymmetryDataUpcast")]
  public static extern IntPtr OBSymmetryDataUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBTorsionDataUpcast")]
  public static extern IntPtr OBTorsionDataUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBAngleDataUpcast")]
  public static extern IntPtr OBAngleDataUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBChiralDataUpcast")]
  public static extern IntPtr OBChiralDataUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBSerialNumsUpcast")]
  public static extern IntPtr OBSerialNumsUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBVibrationDataUpcast")]
  public static extern IntPtr OBVibrationDataUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBRotationDataUpcast")]
  public static extern IntPtr OBRotationDataUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBVectorDataUpcast")]
  public static extern IntPtr OBVectorDataUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBMatrixDataUpcast")]
  public static extern IntPtr OBMatrixDataUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBGridDataUpcast")]
  public static extern IntPtr OBGridDataUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomTyperUpcast")]
  public static extern IntPtr OBAtomTyperUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBAromaticTyperUpcast")]
  public static extern IntPtr OBAromaticTyperUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBRingTyperUpcast")]
  public static extern IntPtr OBRingTyperUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBFormatUpcast")]
  public static extern IntPtr OBFormatUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBResidueUpcast")]
  public static extern IntPtr OBResidueUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomUpcast")]
  public static extern IntPtr OBAtomUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBBondUpcast")]
  public static extern IntPtr OBBondUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBMolUpcast")]
  public static extern IntPtr OBMolUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_AliasDataUpcast")]
  public static extern IntPtr AliasDataUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBAtomClassDataUpcast")]
  public static extern IntPtr OBAtomClassDataUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBFingerprintUpcast")]
  public static extern IntPtr OBFingerprintUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBDescriptorUpcast")]
  public static extern IntPtr OBDescriptorUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation3Upcast")]
  public static extern IntPtr OBFFCalculation3Upcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBFFCalculation4Upcast")]
  public static extern IntPtr OBFFCalculation4Upcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBForceFieldUpcast")]
  public static extern IntPtr OBForceFieldUpcast(IntPtr objectRef);

  [DllImport("openbabel", EntryPoint="CSharp_OBOpUpcast")]
  public static extern IntPtr OBOpUpcast(IntPtr objectRef);
}
